]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
[grub2.git] / ChangeLog
CommitLineData
ddb3efc9
VS
12013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
4 at compile time that enough of scratch size is available.
5
4e42521d
VS
62013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
9 Previously we misaligned stack by 8 in startup.S and compensated
10 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
11 right behaviour is to align stack in startup.S and keep it aligned
12 in callwrap.S. startup.S part was committed few commits before. This
13 takes care of callwrap.S.
14 Reported by: Gary Lin.
15
054efe54
VS
162013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
19 .data and .bss. May happen if compiler and assembly use different
20 alignment.
21
a0e1befb
VS
222013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
23
24 On MIPS handle got16 relocations to local symbols in an ABI-compliant
25 way.
26
c36c73f6
VS
272013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
28
29 Add support for a new magic symbol _gp_disp on mips to handle PIC
30 binaries.
31
6f4a19f5
VS
322013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
33
34 Use $t9 for indirect calls from asm to C as PIC ABI requires.
35
0d8f04cd
VS
362013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
37
38 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
39 when rest of GRUB is compiled for hisher stepping. Instead use
40 .set mips3/.set mips1 around cache and sync opcodes.
41
49060520
VS
422013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
43
44 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
45 do essentially the same thing, do it in similar way.
46
c6a823e2
CW
472013-11-21 Colin Watson <cjwatson@ubuntu.com>
48
49 * util/grub-mkrescue.c (main): If a source directory is not
50 specified, read platform-specific files from subdirectories of
51 pkglibdir, not pkgdatadir.
52
b7f9aedf
CW
532013-11-21 Colin Watson <cjwatson@ubuntu.com>
54
55 * grub-core/normal/progress.c: Remove unused file.
56
7dd0a303
VS
572013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
60 array.
61
ca120e31
VS
622013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
65 than grub.cfg.
66
48eb35cd
VS
672013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * coreboot.cfg: Add missing file.
70
7f20dbbc
VS
712013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * Makefile.am: Allow STRIP to be empty when creating windowszip.
74
55e706c9
AK
752013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
76
77 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
78 selectively skipping systems.
79
4e7d433d
CW
802013-11-19 Colin Watson <cjwatson@ubuntu.com>
81
82 * Makefile.util.def (grub-mkimage): Add
83 grub-core/osdep/aros/config.c to extra_dist.
84 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
85 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
86 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
87 grub-core/gnulib-no-gets.diff.
88
7d44ff7d
VS
892013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
90
91 Add automated filesystem checking based on scripts I've used now for
92 quite some time locally. Most of the test require root so they are
93 skipped when run without necessarry privelegies.
94
a8c3e5e3
CW
952013-11-19 Colin Watson <cjwatson@ubuntu.com>
96
97 * util/grub-install.c (main): Adjust info messages to match
98 installed paths of grub-bios-setup and grub-sparc64-setup.
99
4402db3e
CW
1002013-11-19 Colin Watson <cjwatson@ubuntu.com>
101
102 * util/grub-install-common.c (copy_locales): Consistently use
103 grub_util_get_localedir () rather than LOCALEDIR.
104 (grub_install_copy_files): Likewise.
105
7960d3e1
JT
1062013-11-19 Josh Triplett <josh@joshtriplett.org>
107
108 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
109 16-byte boundary, as required by the x86-64 ABI, before calling
110 grub_main. In some cases, GCC emits code that assumes this
111 alignment, which crashes if not aligned. The EFI firmware is also
112 entitled to assume that stack alignment without checking.
113
d53f4900
JT
1142013-11-18 Josh Triplett <josh@joshtriplett.org>
115
116 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
117 4k page boundaries as expected by firmware rather than 1k
118 boundaries.
119 (grub_mmap_malign_and_register): Likewise.
120
bb2b275b
VS
1212013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
124 fragmentation 512M is enough.
125
45bf8b3a
VS
1262013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
129 pointer to 32K. This is the size of cache element which is the most
130 common allocation >1K. This way the pointer is always around blocks
131 of 32K and so we keep performance while decreasing fragmentation.
132
39ff43c5
VS
1332013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
136 current memory when allocating large chunks. This significantly
137 decreases memory fragmentation.
138
60870be8
CW
1392013-11-18 Colin Watson <cjwatson@ubuntu.com>
140
141 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
142 but for symmetry).
143 * tests/lzocompress_test.in: Skip if lzop is not installed.
144 * tests/xzcompress_test.in: Skip if xz is not installed.
145
a1f00cc5
CW
1462013-11-18 Colin Watson <cjwatson@ubuntu.com>
147
148 * util/grub-mkrescue.c (main): Fix typo.
149
74e632fe
VS
1502013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
153 clock frequency to 200 MHz,
154
efb8de49
VS
1552013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * tests/util/grub-shell.in: Increase console size to 1024x1024.
158
b7526e78
VS
1592013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * Makefile.am (default_payload.elf): Add pata to loaded modules.
162 Load config file from (cbfsdisk)/etc/grub.cfg.
163
b40ce651
VS
1642013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * util/grub-install-common.c (grub_install_copy_files): Fix module
167 destination directory.
168
1e8e2e78
CW
1692013-11-18 Colin Watson <cjwatson@ubuntu.com>
170
171 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
172 files have not been built.
173
3bf4088b
CW
1742013-11-18 Colin Watson <cjwatson@ubuntu.com>
175
176 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
177 Handle errors from mkstemp.
178 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
179
35c2851c
VS
1802013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
183 on primary master on pseries.
184
ea7c1a7d
VS
1852013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
188 already loaded. This saves memory needed for tests,
189
96adefdb
VS
1902013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
193 work again.
194
5e3cb8a7
VS
1952013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
198 work again.
199
256ee7ac
VS
2002013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
203 master since with some combinations of qemu and firmware only primary
204 IDE channel is available.
205
f8b4c3b6
VS
2062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
209 low-memory platforms where we don't have enough memory for them.
210 * grub-core/tests/videotest_checksum.c: Likewise.
211
4bf70320
VS
2122013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
215 already loaded. This saves memory needed for tests,
216
a284320e
VS
2172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
218
219 Fix handling of install lists.
220
2df8f43d
VS
2212013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
224
6f1bc8bc
VS
2252013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
226
227 On i386-ieee1275 we run in paged mode. So we need to explicitly map
228 the devices before accessing them.
229
04f39f6d
VS
2302013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
233 as file argument.
234
35d4761c
VS
2352013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
238
33d02a42
VS
2392013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
242 (grub_file_close): Free file->name.
243
7bbb60cf
VS
2442013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/commands/verify.c (free_pk): Plug memory leak.
247 (grub_load_public_key): Likewise.
248 (grub_verify_signature_real): Likewise.
249 (grub_cmd_verify_signature): Likewise.
250
da93d675
VS
2512013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
254 memory leak.
255
59c943ec
VS
2562013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
259 (grub_longjmp): Restore r31.
260 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
261
4336b5d8
VS
2622013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
265 modules to be in line with make_image_abs.
266
44ce3a93
VS
2672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
270
271 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
272
7d400406
IC
2732013-11-17 Ian Campbell <ijc@hellion.org.uk>
274
275 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
276
77dae919
VS
2772013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
280 to leave some memory to firmware.
281
0ab8e025
VS
2822013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
285 of loading gfxterm as gfxterm is embed in kernel on some platforms.
286 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
287 Load gfxmenu.
288
b80c2d6d
VS
2892013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
292 now needs full arguments.
293
6aa6077b
VS
2942013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * util/grub-mkrescue.c (main): Add trailing \n in
297 .disk_label.contentDetails to be in line with previous shell script.
298
66c00cb1
VS
2992013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
302
3a129dba
VS
3032013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * util/grub-install-common.c (grub_install_parse): Recognize
306 --compress=none like shell script did.
307
8df6eff6
VS
3082013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * include/grub/misc.h: Replace check for __sparc64__ with one for
311 __sparc__ as __sparc64__ isn't actually defined.
312
889ebe92
VS
3132013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
316 counterpart of fixing the naming of escc ports.
317
d4d55b29
VS
3182013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * util/grub-install-common.c (platforms): Fix the order of entries and
321 remove useless field val.
322
55e2c84f
VS
3232013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * util/grub-install.c: Add new option --no-bootsector to skip
326 installing of bootsector. Accept --grub-setup=/bin/true as
327 backwards-compatible synonym.
328
cd46aa6c
VS
3292013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
330
331 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
332 order of qsort arguments (number of elements vs. element size).
333
3342013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
335
336 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
337 the function of these files exceeds what can be sanely handled in shell
338 in posix-comaptible way. Also writing it in C extends the functionality
339 to non-UNIX-like OS and minimal environments.
340
9ef81064
VS
3412013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
344 compiling to thumb2.
345 * grub-core/kern/arm/cache_armv7.S: Likewise.
346 * grub-core/lib/arm/setjmp.S: Likewise.
347
11a77932
LL
3482013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
349
350 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
351 in grub_uboot_syscall
352
080603f0
VS
3532013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
354
355 Decrease stack usage in lexer.
356
357 We have only 92K of stack and using over 4K per frame is wasteful
358
359 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
360 as macros so that compiler would remove useless structure on stack.
361 Better solution would be to fix flex not to put this structure on
362 the stack but flex is external program.
363
4f84ae0e
VS
3642013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
365
366 Decrease stack usage in signature verification.
367
368 We have only 92K of stack and using over 4K per frame is wasteful
369
370 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
371 rather than stack.
372 (grub_verify_signature_real): Likewise.
373
e6a6182d
VS
3742013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
375
376 Decrease stack usage in mdraid 0.9x.
377
378 We have only 92K of stack and using over 4K per frame is wasteful
379
380 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
381 rather than stack.
382
1a454efe
VS
3832013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
384
385 Decrease stack usage in BtrFS.
386
387 We have only 92K of stack and using over 4K per frame is wasteful
388
389 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
390 rather than stack.
391
7b5d51d8
VS
3922013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
393
394 Decrease stack usage in JFS.
395
396 We have only 92K of stack and using over 4K per frame is wasteful
397
398 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
399 stack. Note: this function is recursive.
400 (grub_jfs_read_inode): Read only part we care about.
401
593865b9
LL
4022013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
403
404 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
405 handling
7b5d51d8 406
31c0cd43
AB
4072013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
408
409 * configure.ac: Restore -nostdlib for libgcc symbols tests.
410
c2fdb331
AB
4112013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
412
413 * docs/grub.texi (Environment): Document cmdpath.
414
9e18dfe2
AB
4152013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
416
417 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
418 Remove "unused" attribute from arguments, they are used.
419
59ba9d14
CW
4202013-11-15 Colin Watson <cjwatson@debian.org>
421
422 * .gitignore: Only ignore grub-mk* at the top level.
423
23012db9
CW
4242013-11-15 Colin Watson <cjwatson@ubuntu.com>
425
426 * util/grub-reboot.in (usage): Fix a typo.
427
6fcec439
VS
4282013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
429
430 Replace libgcc version of ctz with our own.
431
432 On upcoming arm64 port libgcc ctz* are not usable in standalone
433 environment. Since we need ctz* for this case and implementation is
434 in C we may as well use it on all concerned platforms.
435
a9f25a08
VS
4362013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * configure.ac: Probe for linking format rather than guessing it based
439 on target_os.
440
c7995256
VS
4412013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
444 "1" prior to handoff.
445
446 Reported by: M A Young.
447
e1aa5b66
VS
4482013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
451 \0 to all files.
452
453 Reported by: M A Young.
454
da5ed5cf
VS
4552013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
458 compilation on NetBSD.
459
5757a93e
VS
4602013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * acinclude.m4: Don't add -P on initial nm test.
463
464 Note: even though this patch postdates Andrey's it bears 14 Nov as
465 date due to timezone difference.
466
a5986276
AB
4672013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
468
469 * grub-core/Makefile.core.def (signature_test): Add missing
470 tests/signatures.h.
471
0de172a0
CW
4722013-11-14 Colin Watson <cjwatson@ubuntu.com>
473
474 * util/grub-install_header: Set localedir here, since this file is
475 where it's used.
476 * util/grub-install.in: Remove setting of localedir.
477 * util/grub-mkrescue.in: Likewise.
478
da45f43c
VS
4792013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
482
20aea949
VS
4832013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * configure.ac: Move nm checks to the end.
486 Call grub_PROG_NM_WORKS.
487 * acinclude.m4: New check grub_PROG_NM_WORKS.
488 Use $TARGET_CFLAGS -c when compiling test binary.
489
1326b9ae
CW
4902013-11-14 Colin Watson <cjwatson@ubuntu.com>
491
492 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
493 unused variables.
494
1fe26ab4
MG
4952013-11-14 Matthew Garrett <mjg@redhat.com>
496
497 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
498 cmdpath to firmware directory.
499
83e9c273
VS
5002013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
503 at the start of second iteration.
504
ec525c18
VS
5052013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
508
93fcc7ad
VS
5092013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * Makefile.am (default_payload.elf): New target for easier coreboot
512 build.
513
57ffe934
VS
5142013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
517 clang (not necessarry with -no-integrated-as).
518 * include/grub/symbol.h [__arm__]: Likewise.
519
2312f06c
VS
5202013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * configure.ac: Use -no-integrated-as on arm with clang.
523 * INSTALL: Mention ARM compilation with clang.
524
2416415c
VS
5252013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
528 -mthumb-interwork.
529
5da55172
CW
5302013-11-14 Colin Watson <cjwatson@ubuntu.com>
531
532 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
533 code for indirect block handling.
534
535 Saves 185 bytes on compressed image.
536
da770328
PFS
5372013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
538
539 Fix make clean.
540
541 * Makefile.am: Remove build-grub-* in make clean.
542
f02e6b56
PFS
5432013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
544
545 New files to gitignore.
546
547 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
548 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
549
035a26c1
LL
5502013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
551
552 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
553
bc8a6137
LL
5542013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
555
556 * .gitignore: fix rules for .dep* and add *.a post git migration
557
6fe506b0
CW
5582013-11-13 Colin Watson <cjwatson@ubuntu.com>
559
560 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
561 to match INSTALL.
562
81a2e438
CW
5632013-11-13 Colin Watson <cjwatson@ubuntu.com>
564
565 * grub-core/kern/misc.c: Don't redirect divisions in the
566 GRUB_UTIL case.
567 * include/grub/misc.h: Likewise.
568
9b45c073
CW
5692013-11-13 Colin Watson <cjwatson@ubuntu.com>
570
571 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
572 systems that require checking the return value of write.
573
11b2a9b7
CW
5742013-11-13 Colin Watson <cjwatson@ubuntu.com>
575
576 * util/grub-install.in (efi_quiet): Fix inverted logic: make
577 efibootmgr quiet when --debug is not used, rather than when it is.
578
d743d22d
CW
5792013-11-13 Colin Watson <cjwatson@ubuntu.com>
580
581 * gentpl.py (define_macro_for_platform_dependencies): Remove
582 first (and thus unused) of two definitions for this function.
583 (platform_dependencies): Likewise.
584
11da14b5
CW
5852013-11-13 Colin Watson <cjwatson@ubuntu.com>
586
587 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
588 functions, we only need to check this for the target, not the host.
589 * configure.ac (grub_apple_cc): Likewise.
590
2bdd0719
VS
5912013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
594 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
595 asm to stay in arm even if surrounding is thumb.
596
5e77d9cf
VS
5972013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
600 helper functions are needed for thumb.
601
7d511625
VS
6022013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
605 level / 3 division explicitly unsigned. Saves few bytes.
606
81023dbd
VS
6072013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
610
b2e9294f
VS
6112013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
614 division.
615
16a22c38
VS
6162013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
619 grub_uboot_boot_data to asm part.
620
c9cd02c9
VS
6212013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
624 literal load.
625 (grub_uboot_syscall): Save/restore r9 and align stack.
626
81498615
VS
6272013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
630
ea57de18
VS
6312013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
634 occurencies with END.
635
d0d1e3da
CW
6362013-11-13 Colin Watson <cjwatson@ubuntu.com>
637
638 * util/grub-editenv.c (help_filter, argp): Document how to delete
639 the whole environment block.
640 Reported by Dan Jacobson. Fixes Debian bug #726265.
641
3809f016
CW
6422013-11-13 Colin Watson <cjwatson@ubuntu.com>
643
644 * docs/grub.texi (Internationalisation, Supported kernels): Fix
645 sectioning.
646
46d8a203
JT
6472013-11-13 Josh Triplett <josh@joshtriplett.org>
648
649 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
650 increment/decrement.
651
513eeb61
VS
6522013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
655 compiling with clang.
656
bc379c1a
VS
6572013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
660 ".".
661
6622013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 663
16057d6b
VS
664 Redirect all divisions to grub_divmod64.
665
f649a6a8
VS
6662013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
669
ef28ee8b
VS
6702013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
671
672 Add missing includes of loader.h.
673
300f48c5
VS
6742013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * configure.ac: Allow disabling themes.
677
2d357558
LS
6782013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
679
680 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
681
0c62a5b2
VS
6822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
685 until it becomes operational.
686
b0720b49
VS
6872013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * grub-core/Makefile.core.def (legacy_password_test): Disable
690 on platforms where no legacycfg is compiled.
691 * grub-core/tests/lib/functional_test.c: Tolerate failure to
692 load legacy_password_test.
693
d5bab2c0
VS
6942013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
697
3ea0ccb3
VS
6982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/efiemu/prepare.c: Remove variable length arrays.
701
08772054
VS
7022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
705 strict-aliasing warning.
706 (fsync): Silence cast warning.
707
1dcb2715
VS
7082013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * grub-core/commands/verify.c: Remove variable length arrays.
711 Load gcry_dsa/gcry_rsa automatically.
712
61c22fdf
VS
7132013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/tests/signature_test.c: New test.
716
431e57a7
VS
7172013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
720 API.
721
b521bb81
VS
7222013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/tests/legacy_password_test.c (vectors): Make static.
725 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
726
7d06b24e
VS
7272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
730
3bbeade4
VS
7312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/fs/proc.c: Allow \0 in proc files.
734
ba82db7a
VS
7352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
738
801564c8
VS
7392013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
742
ac8cac1d
VS
7432013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/fs/ext2.c: Remove variable length arrays.
746
4b85f122
VS
7472013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
750 length arrays.
751
c35fcdc0
VS
7522013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
755 * grub-core/disk/cryptodisk.c: Likewise.
756 * grub-core/disk/geli.c: Likewise.
757 * grub-core/disk/luks.c: Likewise.
758
15decd26
VS
7592013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/tests/legacy_password_test.c: New test.
762 * grub-core/commands/legacycfg.c: Remove variable length arrays.
763
9c6482b8
VS
7642013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
767
41f26e0e
VS
7682013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * grub-core/tests/pbkdf2_test.c: New test.
771
2def6616
VS
7722013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
775
9e34a34e
VS
7762013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * grub-core/io/lzopio.c: Remove variable length arrays.
779
5ccaf904
VS
7802013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * include/grub/crypto.h: Add maximums on hash size and cipher block
783 size.
784
44a387e0
VS
7852013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
788
a388e255
VS
7892013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/tests/xnu_uuid_test.c: New test.
792
a1ef7718
VS
7932013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
796 covers it).
797
65ddb300
VS
7982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/commands/hashsum.c: Remove variable length arrays.
801
31747dd5
VS
8022013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
805 condition.
806 * tests/grub_func_test.in: Increase memory allocation.
807
6a74c4df
VS
8082013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
811 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
812 sys/mount.h.
813
394c3e0a
VS
8142013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
817 (grub_util_get_fd_size_os): ...this.
818 (grub_hostdisk_flush_initial_buffer): New empty function.
819
60d31116
VS
8202013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * grub-core/gensyminfo.sh.in: Handle the case of portable output
823 without --defined-only.
824
8445b011
VS
8252013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
828 rip-relative addressing in prologue.
829
8506a641
VS
8302013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
833 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
834
66acd9d6
VS
8352013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
838 Add missing semicolon.
839
348d0535
VS
8402013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
843
0d2d30bb
VS
8442013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * configure.ac: Check for lzma.h for enabling liblzma and allow
847 manual disabling.
848
631187be
VS
8492013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
850
851 Add missing includes of loader.h.
852
e756ec82
FZ
8532013-11-11 Fam Zheng <famcool@gmail.com>
854
855 * util/grub.d/30_os-prober.in: Add minix entry.
856
87d62d7d
VS
8572013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
860 right buffer for temporary load.
861
5460cfeb
VS
8622013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
865
89977306
VS
8662013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
869 payload.
870
3617c59b
VS
8712013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
874 not Types.h.
875 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
876 environment.
877 (LzmaDec_InitDicAndState): Make static.
878
881c6a10
VS
8792013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
882
2024ade2
VS
8832013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
886
887 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
888
674ad4f6
VS
8892013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * docs/grub-dev.texi: Replace bzr references with git ones.
892
5b99970e
AB
8932013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
894
895 * docs/grub.texi (Simple configuration): Remove reference to
896 grub-reboot from saved default entry description - grub-default
897 does not use it anymore.
898
3c2304d5
VS
8992013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * configure.ac: Make efiemu test cflags match the cflags efiemu is
902 compiled with.
903
80cfd940
AB
9042013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
905
906 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
907
33690255
VS
9082013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
909
910 Fix grub_machine_fini bitrot.
911
912 Reported by: Glenn Washburn.
913
c61471fc
VS
9142013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
917
54da019f
VS
9182013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
921 -DELF.
922 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
923 instead of ELF*.
924
9252013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
926
927 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
928 Add -march=core2 when testing compile of efiemu64.
929
930 Thanks Andrey Borzenkov for spotting this.
931
9612ebc0
VS
9322013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
933
934 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
935 XEN PV environment and load kernels.
936
1a46a3a4
VS
9372013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
940 * grub-core/loader/multiboot_mbi2.c: Likewise.
941
2df12551
VS
9422013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
945 handling.
946
3c980381
VS
9472013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
948
949 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
950
951 Tested by: Denis 'GNUtoo' Carikli.
952
800f63d3
VS
9532013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
956
9f8acdaa
VS
9572013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
958
5620eb53
VS
959 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
960 Use to get rounded angle rather than truncated.
961
9622013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
965 RTS/CTS flow control.
966
2dc1eb6c
VS
9672013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
970 divisions.
971
b9563c94
VS
9722013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
975 Use grub_fatal rather than divide by zero.
976 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
977
d6d8e9a9
VS
9782013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
981 truncate.
982 (grub_fixed_fsf_divide): Likewise.
983
d06de6c8
VS
9842013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
987 division by-zero and senseless negative divisions.
988
6af7d49b
VS
9892013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
992 division by-zero and senseless negative divisions.
993 (circprog_set_property): Don't accept negative num_ticks.
994
bcfa6d72
VS
9952013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
998 division by-zero and senseless negative divisions.
999
dd7f792c
VS
10002013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 * configure.ac: Use elf_*_fbsd on kfreebsd.
1003
d061fda7
VS
10042013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/tests/div_test.c: New test.
1007
4db22500
VT
10082013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1009
1010 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1011 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1012 * grub-core/gfxmenu/view.c: Likewise.
1013 * grub-core/video/fb/video_fb.c: Introduce new functions:
1014 grub_video_set_area_status, grub_video_get_area_status,
1015 grub_video_set_region, grub_video_get_region.
1016 * grub-core/video/bochs.c: Likewise.
1017 * grub-core/video/capture.c: Likewise.
1018 * grub-core/video/video.c: Likewise.
1019 * grub-core/video/cirrus.c: Likewise.
1020 * grub-core/video/efi_gop.c: Likewise.
1021 * grub-core/video/efi_uga.c: Likewise.
1022 * grub-core/video/emu/sdl.c: Likewise.
1023 * grub-core/video/radeon_fuloong2e.c: Likewise.
1024 * grub-core/video/sis315pro.c: Likewise.
1025 * grub-core/video/sm712.c: Likewise.
1026 * grub-core/video/i386/pc/vbe.c: Likewise.
1027 * grub-core/video/i386/pc/vga.c: Likewise.
1028 * grub-core/video/ieee1275.c: Likewise.
1029 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1030 * include/grub/video.h: Likewise.
1031 * include/grub/video_fb.h: Likewise.
1032 * include/grub/fbfill.h: Updated render_target structure.
1033 grub_video_rect_t viewport, region, area
1034 int area_offset_x, area_offset_y, area_enabled
1035 * include/grub/gui.h: New helper function
1036 grub_video_bounds_inside_region.
1037 * docs/grub-dev.texi: Added information about new functions.
1038
c6b755df
VS
10392013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1042 for alignment.
1043
e2a68100
VS
10442013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1047 missing attribute.
1048 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1049
c4f11a2a
VS
10502013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1053 simple division on arm and ia64.
1054
e0a7bffa
VS
10552013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1058 link with libgcc.
1059
38b864ea
VS
10602013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1063
12359faf
VS
10642013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1067 prefix symbol, not @.
1068
9fdc64a9
VS
10692013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * INSTALL: Add note about older gcc and clang.
1072
665c575b
VS
10732013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1076
47dcf7b1
VS
10772013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1080 NULL pointer dereference.
1081
d59849b2
VS
10822013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1085 clang.
1086
7a3f4a18
VS
10872013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1090 warnings.
1091
7f084087
VS
10922013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1095 function.
1096 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1097 * grub-core/disk/geli.c (ascii2hex): Likewise.
1098
d5524ca8
VS
10992013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 * configure.ac: Run linker tests without -Werror.
1102 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1103 Change all occurences of -static-libgcc resp -lgcc to
1104 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1105
390cd7ca
VS
11062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1109
60375a88
VS
11102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 Allow compiling with clang (not really supported though).
1113
1114 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1115 unconditionally.
1116 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1117 Add -mrtd -mregparm=3 on i386 when not using clang.
1118 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1119
dd07e0c4
VS
11202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1123 bindings.
1124 * grub-core/lib/reed_solomon.c: Likewise.
1125 * include/grub/i386/gdb.h: Likewise.
1126 * include/grub/i386/pc/int.h: Likewise.
1127 * include/grub/i386/pc/pxe.h: Likewise.
1128 * include/grub/ieee1275/ieee1275.h: Likewise.
1129
9d3ae8ec
VS
11302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 Import libgcrypt 1.5.3.
1133
c12936c5
VS
11342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * configure.ac: Don't add -Wcast-align on x86.
1137
cdc17f60
VS
11382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * configure.ac: Add -freg-struct-return on all platforms that
1141 support it.
1142
b35ec299
VS
11432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * acinclude.m4: Use -Werror on parameter tests.
1146 * configure.ac: Likewise.
1147
05f3a0d7
VS
11482013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1151
c966a489
VS
11522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * configure.ac: Check that -malign-loops works rather than assuming that
1155 either -falign-loops or -malign-loops work.
1156
bb0c57ec
VS
11572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1160
24f4e57c
VS
11612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * configure.ac: Prevent cflags leaking to subsequent tests by always
1164 resetting cflags to target_cflags in target tests.
1165
ac319fbc
VS
11662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1169 function.
1170
4bfe934c
VS
11712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1174
40a5bfde
VS
11752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1178
a67c755e
VS
11792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/normal/cmdline.c (grub_cmdline_get):
1182 Remove nested functions.
1183
87a04a2d
VS
11842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * tests/test_sha512sum.in: Make it work on emu.
1187
c03995d2
VS
11882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1191 functions.
1192 (grub_bidi_line_logical_to_visual): Likewise.
1193
ec0ebb3f
VS
11942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 Remove vestiges of -Wunsafe-loop-optimisations.
1197
1198 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1199 -Wno-unsafe-loop-optimisations.
1200 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1201 pragma.
1202 * grub-core/io/gzio.c: Likewise.
1203 * grub-core/script/parser.y: Likewise.
1204 * grub-core/script/yylex.l: Likewise.
1205 * util/grub-mkfont.c: Likewise.
1206
6ab537e3
VS
12072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * util/grub-mkfont.c (process_cursive): Remove nested function.
1210
e6c368d4
VS
12112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1214 (grub_boot_time): Likewise.
1215
4f1cfd22
VS
12162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * include/grub/symbol.h (FUNCTION): Use @function rather than
1219 "function".
1220 (VARIABLE): Likewise.
1221
6d5a4cee
VS
12222013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1225
f06c2172
VS
12262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1229 (parse_dhcp_vendor): Likewise.
1230
7cb24eb5
VS
12312013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1234
f30c692c
VS
12352013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1238 Define after defining type and not before.
1239
8b66bb5d
VS
12402013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1243 type.
1244 (grub_gcm_decrypt): Likewise.
1245 (algo_decrypt): Likewise.
1246 (grub_zfs_decrypt_real): Transform error type.
1247
5d17fd0f
VS
12482013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1251
ac35a0f7
VS
12522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1255 (grub_usbms_cbi_reset): Likewise.
1256 (grub_usbms_bo_reset): Likewise.
1257 (grub_usbms_reset): Likewise.
1258 (grub_usbms_attach): Likewise.
1259 (grub_usbms_transfer_cbi): Likewise.
1260
3ee08697
VS
12612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1264 "checksum = checksum;".
1265
70bb6c85
VS
12662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1269 entry_type.
1270
c7f34744
VS
12712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1274 BIOS disk check.
1275
3f63b4d8
VS
12762013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1279 type.
1280 (grub_ehci_fini_hw): Likewise.
1281 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1282
dac6ce73
VS
12832013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1286 return grub_usb_err_t for cosistency. All users updated.
1287
5701750c
VS
12882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1291 assigning to itself.
1292
9e236169
GLD
12932013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
12942013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1295
1296 Issue separate DNS queries for ipv4 and ipv6
1297
1298 Adding multiple questions on a single DNS query is not supportted by
1299 most DNS servers. This patch issues two separate DNS queries
1300 sequentially for ipv4 and then for ipv6.
1301
1302 Fixes: https://savannah.gnu.org/bugs/?39710
1303
1304 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1305 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1306 * (grub_net_dns_lookup): Now using separated dns packages.
1307 * (grub_cmd_nslookup): Add error condition.
1308 * (grub_cmd_list_dns): Print DNS option.
1309 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1310 --prefer-ipv4, and --prefer-ipv6.
1311 * include/grub/net.h (grub_dns_option_t): New enum.
1312 * (grub_net_network_level_address): option added.
1313
339eacce
VT
13142013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1315
1316 * grub-core/video/fb/video_fb.c: Merge two blit functions
1317 into one.
1318
810f991b
VS
13192013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * grub-core/term/terminfo.c: Add sequences for home and end.
1322
386571a2
VS
13232013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1326 graphics console.
1327
3fe63754
VS
13282013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1331 add mode 0x12.
1332
76681e71
VS
13332013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1336 e-mail by Per Öberg.
1337
46522fb7
VS
13382013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1341 name.
1342
e7d09ac4
AB
13432013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1344
1345 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1346 emu platforms.
1347 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1348
67508925
VS
13492013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * docs/grub.texi: Document usage of menuentry id.
1352
0c62124e
VS
13532013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1356
9b5d4eed
PL
13572013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1358
1359 * grub-core/commands/i386/nthibr.c: New command.
1360
79054c1d
VS
13612013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1364
44d47bbe
VS
13652013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1368 coordinate.
1369
323de05b
VS
13702013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 Support GRUB_DISABLE_SUBMENU config.
1373
1374 Inspired by patch from Prarit Bhargava.
1375
5a01722e
VS
13762013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * docs/grub.texi: Mention RSA support.
1379
1106c3f0
VS
13802013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/commands/verify.c: Add RSA support.
1383
a1dcc2cb
VS
13842013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1387 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1388 device is known to be ATAPI.
1389
ee7fb780
MF
13902013-11-03 Mike Frysinger <vapier>
1391
1392 * configure.ac: Don't add target-prefix.
1393
5ade4a42
VS
13942013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1397 variables.
1398
6cd66043
VS
13992013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1402 if language is English.
1403
090d7c81
VS
14042013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1407
dd614590
VS
14082013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * configure.ac: Don't add -m32/-m64 on emu.
1411
a8686589 14122013-11-02 neil
1413
1414 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1415 broken linux headers.
1416
fb9f12a0
VS
14172013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1420
e25f8e1f
VS
14212013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1424 Reed-Solomon recovery if more than half of redundancy info is 0.
1425
4685200f
VS
14262013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * util/grub-mount.c: Handle symlinks to directories.
1429
1397f0b5
VS
14302013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1433 find_file recursively for symlink.
1434
8b3e6eb6
VS
14352013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * tests/util/grub-shell.in: Copy themes.
1438
a0c9d5c6
VS
14392013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1442
5cf9459c
VS
14432013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * configure.ac: Use 0x8000 for address instead of 8000.
1446
e7b66a28
VS
14472013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1450 signature.
1451
203f53fb
VS
14522013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1455 variable.
1456
02663ee9
VS
14572013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1460
f169f65e
VS
14612013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1464 file_progress_read_hook.
1465 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1466
2855a0fc
VS
14672013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1470 and double.
1471
bf0f3a8c
VS
14722013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1475
cb72aa18
VS
14762013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 Rewrite blocklist functions in order to get progress when
1479 reading large extents and decrease amount of blocklist hook calls.
1480
896f9135
VS
14812013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1484 of SI suffixes.
1485
89295a06
VS
14862013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 Support --base-clock for serial command to handle weird cards with
1489 non-standard base clock.
1490
eb03ede0
VS
14912013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1494 strncpy.
1495 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1496 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1497 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1498 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1499 + strcpy rather than strncpy.
1500
8fbe5c7d
VS
15012013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1504 (check_pool_label): Likewise. Fixes overflow.
1505 (nvlist_find_value): Fix comparison.
1506
e54b8f53
VS
15072013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1510 more appropriate functions.
1511
fa9b3dca
VS
15122013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1515 realloc.
1516
9a021c55
VS
15172013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1520
80e8b13a
VS
15212013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1524 on core size.
1525
b61599ac
VS
15262013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1529
a602dc54
VS
15302013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1533 (initialize_tables): reset tl and td to NULL after freeing.
1534
93c12075
VS
15352013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1538
1ca4b75e
VS
15392013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1542 of supported tags.
1543
329550c4
VS
15442013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1547
00bfa988
VS
15482013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1551 quirks.
1552
81afc5cc
VS
15532013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1556 a page in protected space.
1557
cb3c4a47
VS
15582013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1561 allocate space for zero-sized modules.
1562
954f7bf5
VS
15632013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1566
526d3d25
FL
15672013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1568
1569 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1570
74124c34
VS
15712013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1574 safeguards. Fixes a crash with i386/pc/console.c.
1575
5177391e
VS
15762013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1579 and grub_hostfs_init.
1580
64db14b0
VS
15812013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1584 windows method on other platforms without good stat as well.
1585
effe2036
VS
15862013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1589
82591fa6 15902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1591
82591fa6
VS
1592 Make / in btrfs refer to real root, not the default volume.
1593 Modify mkrelpath to work even if device is mounted with subvolid option.
1594
15952013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1596
1597 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1598 extra_dist.
1599 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1600 extra_dist.
1601
30fd7198
VS
16022013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1605 fails.
1606
8d179dae
BC
16072013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1608
1609 * docs/autoiso.cfg: New file.
1610
3bc9c8cf
VS
16112013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1614 COND_GRUB_PE2ELF conditions.
1615
8b46b0ea
VS
16162013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1619 "vnd", "rd" and "fd" disks.
1620
442b86de
VS
16212013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 Move grub_disk_write out of kernel into disk.mod.
1624
04dea7e6
VS
16252013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1628 handling.
1629
16302013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1631
1632 * grub-core/kern/misc.c (grub_abort): Make static
1633
04dea7e6 16342013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1635
1636 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1637 transform invalid unicode codepoints.
1638
04dea7e6 16392013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1640
1641 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1642 \0 checking.
1643
03dcac7f
VS
16442013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1647
c81acb7f
VS
16482013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 Consolidate cpuid code.
1651
c1bee646
VS
16522013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 Move cpuid code to cpuid.h and TSC code to tsc.c.
1655
f37bf9c7
GS
16562013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1657
1658 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1659
4021132b
GS
16602013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1661
1662 * util/grub-mkconfig.in: Replace $0 with $self.
1663 * util/grub-reboot.in: Likewise.
1664 * util/grub-set-default.in: Likewise.
1665
3ace8d75
BC
16662013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1667
1668 * docs/osdetect.cfg: New file.
1669
1e6ad6a6
BC
16702013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1671
1672 * tests/util/grub-shell.in: Add new --debug option.
1673
188929eb
BC
16742013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1675
1676 * tests/test_unset.in: New test.
1677
7994a09a
BC
16782013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1679
1680 * tests/test_sha512sum.in: New test.
1681
2a8a7585
VS
16822013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1685 * include/grub/misc.h: Remove strncat.
1686 * grub-core/lib/posix_wrap/string.h: Likewise.
1687
cf8d6bbd
VS
16882013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1691 Try to handle more than 0xFFFF packets.
1692 Reported by: Bernhard Übelacker <bernhardu>.
1693 He also spotted few overflows in first version of this patch.
1694
6d1fc99a
VS
16952013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * tests/date_unit_test.c: New test.
1698
10bafa1c
VS
16992013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1702 of first three years after start of validity of unixtime.
1703
b1c6d037
VS
17042013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1707 division as the one making more sense.
1708 (update_screen): Likewise.
1709 (complete): Likewise.
1710
5f4028d4
VS
17112013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1714
a2856736
VS
17152013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 Make char and string width grub_size_t rather than grub_ssize_t.
1718
0a7e52b2
VS
17192013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1722 unsigned.
1723 (grub_history_replace): Likewise.
1724
42829573
VS
17252013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1728 appropriate.
1729
3523b8d8
VS
17302013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1733 appropriate.
1734
d43c6489
VS
17352013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1738 Use unsigned divisions rather than signed variants.
1739
f690f8b0
VS
17402013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1743 unsigned arithmetics.
1744 Add missing break.
1745
74ff2c05
VS
17462013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1749
fb56391e
VS
17502013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1753 rather than signed one.
1754 (recovery): Likewise.
1755
40f29060
VS
17562013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1759
c64577a5
VS
17602013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1763 than signed.
1764
c16535a8
JM
17652013-10-25 Jon McCune <jonmccune@google.com>
1766
1767 * docs/grub.texi: Cleanup security documentation around signatures.
1768
6673d8e7
VS
17692013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1772
a105d375
VS
17732013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1776 than int.
1777
af81ed88
VS
17782013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1781 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1782 functions when compiling for kernel.
1783
ea899a57
VS
17842013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1787 unsigned long long when using %llu.
1788
c6dc6fa1
VS
17892013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1792 terminal after updating progress.
1793
ad2dc003
VS
17942013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1797 argument. We don't disable Gate A20 in this code.
1798
b46684ae
VS
17992013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1802 Conceptually based on change in branch "vbe-on-coreboot".
1803
f70d5c07
RM
18042013-10-24 Robert Millan <rmh@gnu.org>
1805
1806 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1807 numeric constants with their symbolic equivalent.
1808 Taken from branch "vbe-on-coreboot".
1809
bca274b4
VS
18102013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1813
238f0489
VS
18142013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1817 divmod64 for offset division.
1818
863c590b
PFS
18192013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1820
1821 Rename .bzrignore to .gitignore. Add "*.o" rule.
1822
1823 * .bzrignore: Renamed to...
1824 * .gitignore: ...this.
1825
84a0e969
PFS
18262013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1827
1828 Add new progress module that displays the load progress of files.
1829
1830 * grub-core/lib/progress.c: New file.
1831 * grub-core/Makefile.core.def (progress): New module.
1832 * grub-core/kern/file.c (grub_file_open): File name added.
1833 * (grub_file_read): Progress hook added.
1834 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1835 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1836 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
1837 * include/grub/file.h (struct grub_file): Add progress module members.
1838 * include/grub/term.h (struct grub_term_output): Likewise.
1839 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
1840 Terminal velocity added.
1841 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
1842 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
1843 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
1844 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
1845 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
1846 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
1847 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
1848 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
1849 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
1850 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
1851 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
1852 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
1853
0d711431
VS
18542013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 Verify signatures of signatures unless --skip-sig is specified.
1857
f8401f76
VS
18582013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1861 \0 checking.
1862
1863 Saves 70 bytes on compressed image.
1864
ac1feb61
VS
18652013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
1868 check.
1869
1870 Saves 10 bytes on compressed image.
1871
00f72e89
VS
18722013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * grub-core/kern/misc.c (grub_isprint): Move to ...
1875 * include/grub/misc.h (grub_isprint): ... here. Make inline.
1876
1877 Saves 20 bytes on compressed image due to remving exporting.
1878
067e6ae7
VS
18792013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
1882
1883 Saves 5 bytes on compressed image.
1884
64a6c791
VS
18852013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
1888 function get_utf8.
1889
1890 Saves 379 bytes on compressed image.
1891
979d9f52
VS
18922013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
1895
1437da54
VS
18962013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
1899
1900 Saves 40 bytes on compressed image.
1901
d9ee2269
VS
19022013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
1905 mask rather than 64-bit type.
1906
1907 Saves 20 bytes on compressed image.
1908
63efa602
VS
19092013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
1912 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
1913
47601ffe
VS
1914 Saves 273 bytes on compressed image.
1915
2cc679ad
VS
19162013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
1919 variable length arrays.
1920
1921 Saves 50 bytes on compressed image.
1922
2e4659b8
VS
19232013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1926
2a40badf
VS
19272013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/fs/ufs.c: Remove variable length arrays.
1930
1ba6b9b9
VS
19312013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
1934
f3e39341
VS
19352013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * grub-core/fs/zfs.c: Remove variable length arrays.
1938 Reduces zfs.mod by 160 bytes (208 compressed).
1939
71523935
VS
19402013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
1943
28153eb8
VS
19442013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/net/arp.c: Remove variable length arrays.
1947 * grub-core/net/bootp.c: Likewise.
1948 * grub-core/net/dns.c: Likewise.
1949 * grub-core/net/icmp6.c: Likewise.
1950 * grub-core/net/net.c: Likewise.
1951
88ce4cd7
VS
19522013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/fs/ntfs.c: Remove variable length arrays.
1955 Increases ntfs.mod by 64 bytes (but decreases by 3 when
1956 compressed).
1957
66123940
VS
19582013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/fs/hfs.c: Remove variable length arrays.
1961 Reduces hfs.mod by 8 bytes (52 compressed).
1962
0927e5bd
VS
19632013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 1966 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
1967 compressed).
1968
9c12ac97
VS
19692013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 1972 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
1973 compressed).
1974
97ec2d71
VS
19752013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 1978 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
1979 compressed).
1980
156e4ea0
VS
19812013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/fs/xfs.c: Remove variable length arrays.
1984 Reduces xfs.mod by 40 bytes (43 compressed).
1985
3b502c29
VS
19862013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/fs/fshelp.c: Remove variable length arrays.
1989 Reduces fshelp.mod by 116 bytes (23 compressed).
1990
c7037f1d
VS
19912013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * grub-core/normal/completion.c: Remove variable length arrays.
1994 * grub-core/normal/menu_entry.c: Likewise.
1995
1996 Reduces normal.mod by 496 bytes.
1997
a07e6ad0
VS
19982013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2001 by 356 bytes (158 compressed).
2002
2359bf88
VS
20032013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2006 by 364 bytes (169 compressed).
2007
d28e1163
VS
20082013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2011 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2012 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2013
e89c2d48
VS
20142013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2017 bitmasks to small structures of size chosen to fit in registers.
2018
7abdac8e
VS
20192013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * conf/Makefile.common: Use -freg-struct-return on i386. This
2022 decreases code size and improves performance.
2023
518864c0
VS
20242013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2027
bbd2b539
VS
20282013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2031 "(null)" string.
2032 Simplify expressions to save around 256 bytes in kernel.img.
2033 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2034
99519c15
VS
20352013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2038 Use GRUB_UTIL_FD_O_* rather than O_*.
2039
20285765
VS
20402013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Add haiku-specific functions.
2043
887c0bb6
VS
20442013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2047
cd78a56f
VS
20482013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 Move stat () and device mode checking into OS-dependent files as
2051 long as performance doesn't suffer.
2052
a4012f07
VS
20532013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 Split make_system_path_relative_to_its_root into separate file
2056 relpath.c from getroot.c as it's common between unix and haiku
2057 but otherwise haiku doesn't use any functions from unix getroot.c.
2058
31de274d
VS
20592013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2062 New function.
2063 (grub_util_is_special_file): Likewise.
2064
40346de6
VS
20652013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2068 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2069
d3923ab9
VS
20702013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2073 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2074
663f6eb1
VS
20752013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2078 (load_image): Likewise.
2079
44d1c20a
VS
20802013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * util/grub-render-label.c: Move backend part to ...
2083 * util/render-label.c: ... here.
2084
d0a116ee
VS
20852013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2088 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2089
b47fcae6
VS
20902013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2093
0f7c00c1
VS
20942013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2097 CD-ROM in case when it's declared as having subpartitions.
2098
29013cba
VS
20992013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 Don't add -lm on haiku.
2102
2103 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2104 and empty on haiku.
2105 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2106 -lm.
2107
e8559d24
VS
21082013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * configure.ac: Use -melf_*_haiku as target on haiku.
2111
8104063c
VS
21122013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * Makefile.util.def: Add util/setup.c to extra_dist.
2115
fc3182c7
VS
21162013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2119 unknown types through.
2120
f90a3cc0
VS
21212013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2124 (grub_util_check_char_device): Likewise.
2125 * include/grub/emu/getroot.h: Likewise.
2126
1e3e7419
VS
21272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2130 memset rather than inline static function.
2131
92c88fc8
VS
21322013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2135 not doing embedded decompressor.
2136
3cd910a2
VS
21372013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2140 shadowing.
2141 * grub-core/kern/disk.c: Likewise.
2142 * grub-core/kern/misc.c: Likewise.
2143 * include/grub/parser.h: Likewise.
2144 * include/grub/script_sh.h: Likewise.
2145 * include/grub/zfs/zfs.h: Likewise.
2146
7b3aca00
VS
21472013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2150
97dfe7e4
VS
21512013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2154 defined before trying to use it.
2155
bf919aa9
VS
21562013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2159 warning.
2160
f4ccf29d
VS
21612013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2164 Use __unused__ rather than __used__ on gcc < 3.2.
2165
0d3a6f85
VS
21662013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2169 gcc < 4.0.
2170 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2171
757e3eb7
VS
21722013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2175
fb320faf
VS
21762013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2179 * include/grub/emu/misc.h: Likewise.
2180
ea73acd2
VS
21812013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2184 cur_color.
2185
71237a6f
VT
21862013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2187
2188 * grub-core/tests/checksums.h: Regenerated due to progress bar
2189 get_minimal_size changes.
2190
3d46c22f
BC
21912013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2192
2193 Added `tr' command support.
2194
2195 * grub-core/commands/tr.c: New file.
2196 * grub-core/Makefile.core.def: Build rules for new module.
2197
2198 * tests/grub_cmd_tr.in: New test.
2199 * Makefile.util.def: Build rules for new test.
2200
47e0a61f
VT
22012013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2202
2203 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2204
946fd073
VT
22052013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2206
2207 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2208 * docs/gurb.texi: Likewise.
2209
9c13c576
VT
22102013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2211
2212 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2213 Pixmap highlighted section with east and west slices was displayed
2214 incorrectly due to negative width of the central slice.
2215
ad543f12
VT
22162013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2217
2218 * docs/grub.texi: Graphical options information update.
2219 Removed outdated. Updated current. Inserted missed.
2220
6176a0cd
VS
22212013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * docs/grub.texi: Mention few new platform-specific commands.
2224
9688cae2
VS
22252013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2228 currently used so this doesn't really have any effect.
2229 Reported by: Douglas Ray <dougray>
2230
f7b69a3f
VS
22312013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2234 compilation but prevents gcc from displaying messages in non-Latin
2235 alphabets.
2236 * conf/Makefile.common: Likewise.
2237
ceca6ddf
HY
22382013-10-16 Hiroyuki YAMAMORI
2239
2240 Handle Japanese special keys.
2241 Reported by: Hiroyuki YAMAMORI.
2242 Codes supplied by: Hiroyuki YAMAMORI.
2243
ac48d334
VT
22442013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2245
2246 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2247
b2b71bff
VT
22482013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2249
2250 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2251 * docs/grub.texi: Likewise.
2252
669fc449
VS
22532013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2256 value in case of incomplete read.
2257 (grub_util_fd_write): Likewise.
2258
59381678
VS
22592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2262
bacfefbb
VS
22632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * util/grub-editenv.c (create_envblk_file): More from here ...
2266 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2267
f7c49570
VS
22682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2271 canonicalize file name before doing the rest.
2272
7b83ca44
VS
22732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2276 mingw32.
2277
df1e64c9
VS
22782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 Define grub_util_is_directory/regular/special_file and
2281 use OS-dependent versions rather than to rely on stat().
2282
ec16e026
VS
22832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * util/grub-mkimage.c: Move backend part to ...
2286 * util/mkimage.c: ... here.
2287
4b4eeb3c
VS
22882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 Allow compilation with mingw64 albeit with warnings due to lack of
2291 %llx/%llu.
2292
2293 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2294 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2295 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2296 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2297 on mingw64.
2298 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2299
f4e0adc0
VS
23002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 Remove leftover references to some of the system headers.
2303
e0127364
VS
23042013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2307 read.
2308
20d53541
VS
23092013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2312 of strerror.
2313
5a869940
VS
23142013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 Split out blocklist retrieving from setup.c to
2317 grub-core/osdep/blocklist.c and add windows implementation since
2318 generic version doesn't work on NTFS on Windows due to aggressive
2319 unflushable cache.
2320
c06c7520
VS
23212013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2324 files.
2325
8f53bb3f
VS
23262013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2329 Cut tailing newline. Remove arbitrary limitation. Always use
2330 grub_util_tchar_to_utf8.
2331
148f1007
VS
23322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2335 * tests/printf_unit_test.c (printf_test): Add %% tests.
2336 Reported by: Paulo Flabiano Smorigo.
2337
af3b06be
VS
23382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2341 implement fsync.
2342
27f9d02e
VS
23432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2346 use nvlist_lookup_string and don't use nvlist_print.
2347
f6a81f0a
VS
23482013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2351 closedir to handle filename charset translation.
2352
d7750b32
VS
23532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * include/grub/emu/hostdisk.h: Move file operations to
2356 * include/grub/emu/hostfile.h: ... here.
2357
2859196e
VS
23582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2361 unicode path.
2362
c018c968
VS
23632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2366
7e45abce
VS
23672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2370 and remove export.h.
2371
23934da2
VS
23722013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/kern/emu/error.c: Removed.
2375 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2376 explicitly as it's already in libgnu.a.
2377
c11ebcc8
VS
23782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2381 config-util.h include.
2382
70671037
VS
23832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 Split emunet into platform-dependent and GRUB-binding parts. Keep
2386 platform-dependent part in kernel for easy access to OS functions.
2387
25ac643a
VS
23882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2391 open/read/write.
2392
69ca5876
VS
23932013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/osdep/windows/emuconsole.c: New file.
2396
d9d68ef0
AB
23972013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2398
2399 * conf/Makefile.extra-dist: Add osdep/*/init.c
2400
58e211cc
VS
24012013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2404
588744d0
VS
24052013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * util/grub-probe.c (probe): Separate different drives in hint-str
2408 by spaces and not newlines.
2409 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2410
44016e52
AB
24112013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2412
2413 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2414 Handle CD-ROMs.
2415
6de9ee86
VS
24162013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 Pass-through unknown E820 types. It required reorganisation of mmap
2419 module.
2420
f8f3f155
AB
24212013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2422
2423 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2424
b73249d2
VS
24252013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2428 fseeko.
2429
dac86b18 24302013-10-14 qwertial <qwertial>
2431
2432 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2433
17614b84
JM
24342013-10-14 Jon McCune <jonmccune@google.com>
2435
2436 * docs/grub.texi: Document new signatures possibility.
2437
6de292cb
VS
24382013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2441
84379b61
VS
24422013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2445 missing prototype.
2446 (grub_util_tchar_to_utf8): Likewise.
2447
21d85db1
VS
24482013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2451 * grub-core/kern/emu/main.c: Add missing include.
2452 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2453 Don't call grub_util_init_nls.
2454 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2455 Likewise.
2456
66a1b3ee
VS
24572013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2460 stat.
2461
e19bec17
VS
24622013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2465
ee8c1b29
VS
24662013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2469
bb338aaf
VS
24702013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 Add a wrapper for fopen. On unix-like systems just pass-through. On
2473 windows use unicode version.
2474
ae5540d3
VS
24752013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 Move set_program_name and init_nls to host_init. On windows
2478 fix in this fuction console and argument charset as well.
2479
4cd3c4fe
AB
24802013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2481
2482 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2483 GRUB_ENABLE_CRYPTODISK.
2484
2485 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2486 GRUB_ENABLE_CRYPTODISK.
2487 * util/grub-mkconfig_lib.in: Likewise.
2488
78170f3e
CCZ
24892013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2490
2491 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2492
3414b6c0
MC
24932013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2494
2495 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2496 error when enabling debug.
2497
6d0740e8
IB
24982013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2499
2500 * configure.ac: Use -melf_*_obsd on openbsd.
2501
ff2d4dc4
VS
25022013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2505
eac6ae82
VS
25062013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * include/grub/misc.h: Use gnu_printf rather than printf as format
2509 template since our functions are independent of libc.
2510
ba9baabe
VS
25112013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * util/grub-setup.c (setup): Move copying of partition table as
2514 futher up as possible to avoid possible overwrite by floppy routines.
2515
25162013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2517
2518 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2519
145e2369
VT
25202013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2521
2522 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2523 * docs/grub.texi: Likewise.
2524
3530bc9d
VS
25252013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2528 it's mostly unused. Move vestiges to the callers.
2529
fb9f59c3
VS
25302013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2533 version of salt and hash. Use grub_snprintf rather than snprintf.
2534
9be1c255
VS
25352013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * docs/grub.texi: Fix problem with braces.
2538
ed8c0887
VS
25392013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * conf/Makefile.extra-dist: Fix extra-dist list.
2542 * grub-core/Makefile.core.def: Likewise.
2543
f72ab14e
VS
25442013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * docs/grub.texi: Document disk names used on Windows and AROS.
2547
2fe53a22
VS
25482013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2551 with AROS devs.
2552 * grub-core/osdep/aros/hostdisk.c: Likewise.
2553
71c1d67a
VS
25542013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 Avoid including hostfile.h when not necessarry as it pulls
2557 in OS-specific headers which may redefine generic names
2558 like "far".
2559
ad297ec7
VT
25602013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2561
2562 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2563 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2564 scrollbar_bottom_pad
2565 * docs/grub.texi: Likewise.
2566
6e9e5dc9
VT
25672013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2568
2569 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2570
761c718b
VS
25712013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2574
37149a2f
VS
25752013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2578 Removed.
2579 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2580 Made static.
2581
3837a151
VS
25822013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2585 leftover.
2586
caca1c70
VS
25872013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 Move OS-specific driver configuration to grub_util_fd_open. This
2590 moves OS-dependent parts from kern/emu/hostdisk.c to
2591 grub-core/osdep/*/hostdisk.c.
2592
f7676b70
VS
25932013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * util/grub-mkimage.c (generate_image): Use size_t instead of
2596 grub_size_t.
2597 * util/grub-mkimagexx.c (locate_sections): Likewise.
2598 (load_image): Likewise.
2599
22f98db2
VS
26002013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2603 size_t.
2604 (grub_util_write_image): Likewise.
2605
b102ce69
VS
26062013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2609 get random when no RNG is available.
2610 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2611
acbbe5cb
VS
26122013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * include/grub/util/lvm.h: Removed.
2615
2112fb3f
VS
26162013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2619 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2620
79f78fbf
VS
26212013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2624
c2e6f705
VS
26252013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2628
aabe433a
VS
26292013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/net/drivers/emu/emunet.c: Move to ..
2632 * grub-core/osdep/linux/emunet.c: ..here.
2633
9a2c903f
VS
26342013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * util/ieee1275/ofpath.c: Move to ...
2637 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2638 * grub-core/osdep/basic/ofpath.c: ..here.
2639
4a445f58
VS
26402013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 Move password-querying (util-version) routines to grub-core/osdep.
2643
c1ca4244
VS
26442013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 Move sleep routines to grub-core/osdep.
2647
672fa55e
VS
26482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 Move OS-dependent files to grub-core/osdep and document it.
2651
a5b0365a
VS
26522013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2655 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2656
29072e99
VS
26572013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2660
f8772ea7
VS
26612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * util/misc.c: Remove leftover inclusion of malloc.h.
2664
a1a315e7
VS
26652013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * include/grub/setjmp.h: Remove leftover GRUBOF.
2668
cef86fef
VS
26692013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * util/raid.c: Fold into ...
2672 * util/getroot_linux.c: ... here. Make all functions static.
2673
c4cf25ee
VS
26742013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2677 macros to GRUB ones.
2678
53a5f5c2
VT
26792013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2680
2681 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2682 occasional bug. If there are too many boot entries or too low
2683 scrollbar height then we need to use another formula to calculate
2684 the position and size of the scrollbar thumb.
2685
de300af2
VS
26862013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2687
c4cf25ee 2688 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2689
c5827364
VT
26902013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2691
2692 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2693 * docs/grub.texi: Likewise.
2694
dd2ed8b0
VT
26952013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2696
2697 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2698 viewport.
2699
7286c384
VT
27002013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2701
ffdfc1f3
VT
2702 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2703 minimal width calculations.
7286c384 2704
ea547e14
VS
27052013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * docs/grub.texi: Update note on colors on emu console.
2708
b726be76
VS
27092013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2712 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2713 it's FS and not GRUB limitation.
2714
a5f6ade6
VS
27152013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2718
3b0f3aa2
VS
27192013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2722
1db38304
ST
27232013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2724
2725 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2726 kernels by version order.
2727
fb295fc0
VS
27282013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2731
47345010
VS
27322013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 Add AROS hostdisk and getroot routines.
2735
bf25f879
VS
27362013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 Make cryptodisk and diskfilter probe data retrievable programmatically
2739 and not just printable.
2740
24ca4512
VS
27412013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 Split random retrieving code into separate files.
2744
c7c177f0
VS
27452013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2748 R_ARM_V4BX.
2749
d71b45ae
VS
27502013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2753 condition.
2754 * grub-core/tests/fake_input.c: Likewise.
2755 * grub-core/tests/cmdline_cat_test.c: Likewise.
2756
e44b9a83
VS
27572013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/video/capture.c: Do not do finalization when .fini
2760 is called as there is explicit capture_end.
2761
4fa60739
VS
27622013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2765 changing windows to avoid crash.
2766
17c8bc37
VS
27672013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2770
9d4d7977
VS
27712013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * po/exclude.pot: Add several strings to exclude.
2774
0caa407c
VS
27752013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2778
9ae393da
VS
27792013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2782 ./util/grub-gen-asciih.c to exclude list.
2783
498d5033
VS
27842013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2787 and don't mark error strings for translation.
2788
7d93298f
VS
27892013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2792 properly in case of missing block size.
2793
b2cae20c
VS
27942013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * grub-core/lib/arm/setjmp.S: Add missing license section.
2797
3896d6b4
VS
27982013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * po/swiss.sed: Add replacement for key names and for term computer.
2801
ebc1da55
VT
28022013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2803
2804 * grub-core/gfxmenu/theme_loader.c: New global options for the
2805 theme background image handling. desktop-image-scale-method,
2806 desktop-image-h-align, desktop-image-v-align.
2807 * grub-core/gfxmenu/view.c: Likewise.
2808 * include/gfxmenu_view.h: Likewise.
2809 * include/bitmap_scale.h: Proportional scale functions introduced.
2810 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2811 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2812 cases of unexpected input variables for scale functions.
2813 * docs/grub.texi: Updated documentation for new options.
2814
c5739143
VS
28152013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2818
be74aeb3
VT
28192013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2820
2821 * grub-core/tests/checksums.h: Corrected due to changes in
2822 bilinear interpolation function.
2823
d999ac72
VT
28242013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2825
2826 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2827 to eliminate artefacts in bilinear interpolation.
2828
2b131610
VS
28292013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * grub-core/video/readers/tga.c: Support paletted tga.
2832
de6e5ff8
VS
28332013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2836 incorrect cbcr setting when in color mode.
2837
fa31ee9c
VS
28382013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * grub-core/video/readers/png.c: Support paletted images and clean up
2841 greyscale support.
2842
e84f8188
VS
28432013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
2846 usage of wrong table which resulted in mishandling of 4-byte
2847 sequences.
2848
28492013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
2850
2851 * grub-core/term/terminfo.c: Add Home and End key sequences.
2852
d72bff09
VS
28532013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 * grub-core/video/readers/png.c (grub_png_decode_image_header):
2856 Fix formula for computing total number of bytes.
2857
29648c5d
VS
28582013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
2861 image processing, fix big-endian and support grayscale.
2862
4a876492
VS
28632013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
2866 Correctly will with maximum transparency when using index color.
2867
3ccf16df
VS
28682013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/video/readers/png.c: Support grayscale
2871
28722013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
2873
2874 * grub-core/video/readers/jpeg.c: Support grayscale.
2875
3ccf16df 28762013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
2877
2878 * grub-core/commands/loadenv.c: Support skipping signature check
2879 and variable names filtering.
2880
30b7f58f
VS
28812013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
2884 * grub-core/kern/emu/hostfs.c: Likewise.
2885 * util/getroot_unix.c: Likewise.
2886
bab7b1eb
VS
28872013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
2890 Migrate all explicit defines to this new one.
2891
43b1c99d
VS
28922013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
2895 grub_util_fd_strerror when using grub_util_fd_*.
2896 (grub_util_fd_open_device): Likewise.
2897 (grub_util_biosdisk_read): Likewise.
2898 (grub_util_biosdisk_write): Likewise.
2899 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
2900 (grub_util_fd_strerror): Likewise.
2901 (grub_util_fd_sync): Likewise.
2902 (grub_util_fd_close): Likewise.
2903 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
2904 (grub_util_fd_close): Likewise.
2905 (grub_util_fd_strerror): Likewise.
2906 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
2907 function proto rather than macro.
2908 (grub_util_fd_sync): Likewise.
2909 (grub_util_fd_open): Likewise.
2910 (grub_util_fd_strerror): New proto.
2911
e8fd80bc
VS
29122013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
2915 platforms on which it doesn't work.
2916
bf645fda
VS
29172013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
2920 stat immediately to where it's used.
2921
5177ba14
VS
29222013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * util/getroot.c (grub_util_check_block_device): Move to ...
2925 * util/getroot_unix.c (grub_util_check_block_device): ... here.
2926 * util/getroot.c (grub_util_check_char_device): Move to ...
2927 * util/getroot_unix.c (grub_util_check_char_device): ... here.
2928
9db826e1
VS
29292013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
2932 disk closing logic.
2933
49120085
AB
29342013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2935
2936 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
2937
b3328b68
AB
29382013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2939
2940 * docs/grub.texi (File name syntax): Document ZFS filenames
2941 (/volume@snapshot/...).
2942
3fff48ab
VS
29432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
2946 Always return full path. Fixes a problem with mkrelpath.
2947
39cfdaa9
PFS
29482013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2949
2950 * util/grub-install.in: Add GPT PReP support.
2951 * util/grub-probe.c (probe): Support GPT partition type.
2952 (main): Support -t gpt_parttype.
2953
7c680e1f 29542013-09-23 Aleš Nesrsta <starous@volny.cz>
2955
2956 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
2957
890bdabe
MM
29582013-09-23 Massimo Maggi <me@massimo-maggi.eu>
2959
2960 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
2961
9c262ff9
TH
29622013-09-23 Tim Hardeck <thardeck>
2963
2964 * util/grub.d/10_hurd.in: Filter out character for the class.
2965 * util/grub.d/10_kfreebsd.in: Likewise.
2966 * util/grub.d/10_linux.in: Likewise.
2967 * util/grub.d/20_linux_xen.in: Likewise.
2968
d755342a
MC
29692013-09-23 Melki Christian <Christian.melki@saabgroup.com>
2970
2971 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
2972 "changed".
2973
68b77707
JT
29742013-09-23 Josh Triplett <josh@joshtriplett.org>
2975
2976 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
2977 boot partition.
2978
efa68bfa
VS
29792013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
2982 doesn't use posix_wrap. Keep literal -fno-builtin however.
2983
d9104204
VS
29842013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
2987
c248781a 29882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
29892013-09-23 neil
2990
5830df88 2991 * configure.ac: Do not enable -Wmissing-noreturn as its
2992 usefulness is limited and creates problems on some OS notably with
2993 code generated by bison.
2994
29952013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
29962013-09-23 neil
2997
2998 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 2999 supported by all gcc and when it is, it's already enabled by -Wall.
3000
621bed69
VS
30012013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3004 desactivated use of EDID at all.
3005
71764dc8 30062013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30072013-09-23 neil
3008
3009 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3010 video if no text is available.
3011
affce7d4 30122013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
30132013-09-23 neil
3014
3015 * configure.ac: Substitute TARGET_RANLIB.
3016
30172013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30182013-09-23 neil
affce7d4
VS
3019
3020 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3021
3022 Based on patches from AROS.
3023
0e8daad0 30242013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 30252013-09-23 neil
0e8daad0
VS
3026
3027 * grub-core/Makefile.am: Override STRIP and RANLIB.
3028 * configure.ac: compute TARGET_RANLIB.
3029 * INSTALL: Document TARGET_RANLIB
3030
3031 Based on patches from AROS.
3032
3f7d9c82
VS
30332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3036 that floppies are unpartitioned.
3037
bca8873a
VS
30382013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3041 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3042
30432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3046 less nice but more portable.
3047 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3048
a47a78be
VS
30492013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3052 for cheat_fd.
3053 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3054 functions.
3055 (grub_cryptodisk_cheat_insert): Likewise.
3056 (grub_cryptodisk_close): Likewise.
3057
e85a5d5c
VS
30582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3061 Use windows path for DEFAULT_DIRECTORY.
3062
dad9fa6b
VS
30632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3066 difference was likely just gcc version, not anything mingw-related.
3067
7e518ca8
VS
30682013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 Use Winapi on both cygwin and mingw32 to share more code between both.
3071
d68d0157
AB
30722013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3073
3074 * util/grub-install.in: Add --grub-editenv option.
3075 * util/grub-install_header (grub_compress_file): Explicitly check for
3076 plain file to avoid cp error.
3077
775b284d
AB
30782013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3079
3080 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3081 names; fix LVM driver name (lvm, not lv).
3082 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3083 names.
3084
3ff4063d
VS
30852013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3088 files rather than one file with loads of #if's.
3089 * util/getroot.c: Likewise.
3090
287faafe
VS
30912013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3094
d1983764
VS
30952013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3098 GNU/Hurd to the list of checked PRNG.
3099
15ce95c4
VS
31002013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3103
207862dd 31042013-09-21 Ales Nesrsta <starous@volny.cz>
3105
7c680e1f 3106 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3107
63653cfd
VS
31082013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3111 * grub-core/disk/lvm.c: Add LVM UUIDs.
3112 * util/getroot.c: Use LVM UUIDs whenever possible.
3113
f5d3e7ef
AB
31142013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3115
3116 * docs/grub.texi (Networking commands): Add documentation for
3117 network related commands.
3118
53c6b7d6
VS
31192013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3122 to determine if device is handled by devmapper.
3123 (convert_system_partition_to_system_disk): Likewise.
3124 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3125 already done in grub_util_open_dm.
3126
e70d6736
LL
31272013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3128
3129 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3130 Clean up stack manipulation (sync_caches_armv*)
3131
90379808
VS
31322013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * util/lvm.c: Remove since unused. Remove remaining references.
3135
386701a8
VS
31362013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 Handle the case of partitioned LVM properly.
3139
3140 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3141 Stop on meeting LVM, mpath or DMRAID.
3142 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3143 (read_device_map): Likewise.
3144 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3145 device is full disk rather than erroring out on LVM and similar cases.
3146
53070787
VS
31472013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3150
1bc783bd
VS
31512013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3154 4K before the end.
3155 Reported by: Leif Lindholm
3156
436ad5c3
PW
31572013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
31582013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3161 codes.
3162
607319c9
CW
31632013-09-18 Colin Watson <cjwatson@ubuntu.com>
3164
3165 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3166 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3167
d404d154
DR
31682013-09-18 Douglas Ray <dougray@cpan.org>
3169
3170 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3171 as secure.
3172
28851ef6
AN
31732013-09-18 Aleš Nesrsta <starous@volny.cz>
3174
3175 * docs/grub.texi: Fix broken link.
3176
897c3bc6
MC
31772013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3178
3179 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3180 to break endless loop.
3181
f1630459
VS
31822013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * util/grub-fstest.c: Fix several printf formats.
3185 * util/grub-mkimage.c: Likewise.
3186 * util/grub-mkimagexx.c: Likewise.
3187 * util/grub-script-check.c: Likewise.
3188
64463dfd
VS
31892013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3192 error.
3193
48972495
VS
31942013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3197
5dd5e64b
VS
31982013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3201 removed in current versions cygwin_conv_*.
3202
1c1f31e5
VS
32032013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * configure.ac: Disable efiemu runtime on cygwin.
3206
c546a259
VS
32072013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3210 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3211
81690478
VS
32122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3215 error message.
3216
6b87c10a
VS
32172013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3220 windows variant.
3221 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3222 data.
3223
8f0baaac
VS
32242013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3227 when on x86 and not cygwin.
3228 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3229 -Wl,-melf_x86_64.
3230
b224c266
VS
32312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * configure.ac: Set CPP to build one when checkoing for freetype for
3234 build.
3235
506b336b
VS
32362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3239 [!GRUB_BUILD]: Remove has_argument.
3240
8c8c87b7
VS
32412013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3244 Replace with a dummy.
3245
7dc5ca13
VS
32462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * configure.ac: Don't change host_os from mingw to cygwin.
3249
c3302aa5
VS
32502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * configure.ac: Change target_os from windows to cygwin.
3253
7b780018
VS
32542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3257
3258 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3259 (build-grub-gen-asciih): Likewise.
3260 (build-grub-gen-widthspec): Likewise.
3261 * Makefile.util.def (grub-pe2elf): Remove.
3262 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3263 * configure.ac: Separate tests for build.
3264 Move ./build-grub-pe2elf to grub-core.
3265 Fix typo.
3266 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3267 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3268 defined.
3269 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3270 constants.
3271 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3272 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3273 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3274
984cfd8a
VS
32752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3278 mingw32 as well based on grub_util_get_disk_size.
3279 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3280 grub_util_get_fd_size.
3281 (sync): Removed.
3282 (fsync): Moved to ...
3283 * grub-core/kern/emu/misc.c (fsync): ... here.
3284
f82d79c9
VS
32852013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * include/grub/mm.h (grub_extend_alloc): Remove.
3288 * grub-core/loader/i386/pc/plan9.c: Use own version of
3289 grub_extend_alloc with appropriate types.
3290
fd7dd66d
VS
32912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3294
43ffba7c
VS
32952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3298
3c7eac44
VS
32992013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 Fix dependencies on cygwin.
3302
3303 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3304 dependencies when used and defined.
3305 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3306
bdb5ba47
VS
33072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3310 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3311
ed7fbf43
VS
33122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3315 implementation available to cause compile-time rather than runtime
3316 error.
3317
fc46e9fc
VS
33182013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * util/grub-fstest.c: Don't check for symlinks on windows.
3321
7f68269a
VS
33222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * INSTALL: Mention unavailability of man pages when cross-compiling.
3325
8ed358e0
VS
33262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3329 and gcry_log_bug.
3330 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3331
fc97214f
VS
33322013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * INSTALL: Document cross-compilation.
3335 * acinclude.m4: Determine whether nm support -P and --defined-only.
3336 * configure.ac: Add TARGET_ to all variables pertaining to target
3337 that don't have it yet.
3338 * gentpl.py: Likewise.
3339 * grub-core/Makefile.am: Likewise.
3340 * grub-core/genmod.sh.in: Likewise.
3341 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3342 as well.
3343
ca1fb563
IB
33442013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3345
3346 * configure.ac: Remove -Wempty-body. It's not essential and needs
3347 recent gcc.
3348
0031b229
IB
33492013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3350
3351 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3352 * util/getroot.c: Likewise.
3353
54ea2f44
VS
33542013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * grub-core/disk/ahci.c: Add needed explicit cast.
3357 * grub-core/lib/backtrace.c: Likewise.
3358 * grub-core/net/ip.c: Likewise.
3359 * grub-core/net/tcp.c: Likewise.
3360 * grub-core/net/udp.c: Likewise.
3361
3c601f8c
VS
33622013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3365
1d679dda
VS
33662013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * util/import_gcry.py: Add final newline in visibility.h.
3369
00c28dd9
VS
33702013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * conf/Makefile.common: Fix typo.
3373
32af299a
VS
33742013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3377
e733cf52
VS
33782013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * Makefile.am (widthspec.h): Fix typo.
3381 * util/grub-gen-widthspec.c: Likewise.
3382
c6b066f2
VS
33832013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 Move ascii.h and widthspec.h generation to a separate build-time-only
3386 tool.
3387
ad1fe3f9 33882013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3389
3390 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3391 Always fill bootdisk info and improve check for NetBSD disklabel.
3392
92a52dd4
VS
33932013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * conf/Makefile.extra-dist: Add util/bin2h.c.
3396 Reported by: floppym.
3397
b2e9d276
VS
33982013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3401
7b966834
VS
34022013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * configure.ac: Disable unifont and starfield if no freetype was found.
3405
d5c1eef1
VS
34062013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3409 on NetBSD and OpenBSD.
3410
66345b50 34112013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3412
3413 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3414
66345b50 34152013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3416
3417 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3418 reduced. Inheritant options are processed during the theme loading.
3419
66345b50 34202013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3421
3422 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3423
369508b3
AS
34242013-08-14 Avik Sil <aviksil@in.ibm.com>
3425
3426 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3427
34282013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3429
3430 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3431 using qemu.
3432
6f27a3f6
PFS
34332013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3434
3435 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3436 remove-potcdate.sed.
3437
c6ed362a
AB
34382013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3439
3440 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3441 unused attribute from pull argument.
3442
5e7d9464
AB
34432013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3444
3445 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3446 memory leak.
3447
dea55e2a
AB
34482013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3449
3450 * util/getroot.c (pull_lvm_by_command): add --separator option
3451 to vgs call to disable padding of output to 10 characters.
3452
f0b94ded
VS
34532013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3456 here ...
3457 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3458 here.
3459
b828fb5d
VS
34602013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3463 length.
3464
7c9d0c39
VS
34652013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3468 full Canadian cross. Tested with build=x86_64, host=arm,
3469 target=ppc-ieee1275.
3470
816719c8
VS
34712013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * configure.ac: Error if no $BUILD_CC could be found.
3474 Reported by: DevHC.
3475
2af2353b
VS
34762013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3479 i386-multiboot.
3480
797abd0a
VS
34812013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3484 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3485
36e87d25
CW
34862013-08-13 Colin Watson <cjwatson@ubuntu.com>
3487
3488 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3489 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3490 falling back to the partition device, otherwise a later call to this
3491 function may fail spuriously.
3492 Reported by Axel Beckert. Fixes Debian bug #708614.
3493
273349fe
GS
34942013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3495
3496 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3497
418f86c6
GS
34982013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3499
3500 Prevent shadowing of stdlib's devname(3) on BSD.
3501
3502 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3503 and devlast to diskname and disklast, respectively.
3504
c137aea0
CW
35052013-08-11 Colin Watson <cjwatson@ubuntu.com>
3506
3507 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3508
272dc8df 35092013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3510
3511 * docs/grub.texi: Introduce terminal window position options:
3512 terminal-left: terminal window's left position
3513 terminal-top: terminal window's top position
3514 terminal-width: terminal window's width
3515 terminal-height: terminal window's height
3516 terminal-border: terminal window's border width
3517 * grub-core/gfxmenu/theme-loader.c: Likewise.
3518 * include/grub/gfxmenu_view.h: Likewise.
3519 * po/exlude.pot: Likewise.
3520 * grub-core/gfxmenu/view.c: Likewise.
3521 Also updated minimal window size.
3522 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3523 * grub-core/tests/checksums.h: Update (terminal window height
3524 is adjusted now for low resolution screen)
b4743461 3525
748a4533
VS
35262013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3529 position).
3530
fca5f944
VS
35312013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * po/exclude.pot: Add few recent exceptions.
3534
4f47d809
VS
35352013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * tests/grub_func_test.in: Add unicode.pf2.
3538
a62ae90c
VS
35392013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3542 standard rather than noral color, in line with other terminals.
3543
4ed41392
VS
35442013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3547 analysis.
3548
3719fbc5
VS
35492013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3552
459b1d91
VS
35532013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3556 inappropriate printf.
3557
f4e1ab9d
AB
35582013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3559
3560 * .bzrignore: Remove grub-core/lib/dtc-grub,
3561 grub-core/Makefile.libfdt.def
3562 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3563
fa471bfa
VS
35642013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 * include/grub/video.h (grub_video_register): Keep double-linked as
3567 well as single-linked invariants.
3568 Reported by: qwertial.
3569
d65be02b
VS
35702013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * grub-core/commands/nativedisk.c (get_uuid): Handle
3573 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3574
ba8bc620
VT
35752013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3576
3577 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3578 maximum of NW, N, NE heights instead of N's height and maximum of
3579 NW, W, SW widths instead of W's width. (So the box will be always
3580 correctly drawn)
3581
4f0ad029
GS
35822013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3583
3584 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3585 Fix misuse of variable count.
3586
43d53b72
LL
35872013-07-18 Leif Lindholm <leif.lindholm@arm.com>
35882013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
35892013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3590
43d53b72
LL
3591 New ports to arm-uboot and arm-efi.
3592 Mostly by Leif Lindholm with some additions from
3593 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3594
88f8d146
VS
35952013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3598 and not before.
3599 Reported by: Leon Drugi.
3600
3f42504c
VS
36012013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3604 Reported by: Paulo Flabiano Smorigo.
3605
d110499b
VT
36062013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3607
3608 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3609
a8674ad3
VT
36102013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3611
3612 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3613
286fe4b3
VS
36142013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3617
1bd57aa3
VS
36182013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3621
7a87d69f
AB
36222013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3623
3624 * grub-core/net/bootp.c: Export net_* variables.
3625 * grub-core/net/net.c: Likewise.
3626
b2182299
VS
36272013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3630
795b3dc0
VS
36312013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3634
68714c43
VS
36352013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3638
af211bab
VS
36392013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3642
0036f02d
MM
36432013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3644
3645 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3646 <= 0.
3647
6d0ddff3
MM
36482013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3649
3650 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3651 functions.
3652
038016f4
MM
36532013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3654
3655 * grub-core/fs/zfs/zfs_lz4.c: New file.
3656 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3657
776bdce2
MM
36582013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3659
3660 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3661
c71dbd40
MM
36622013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3663
3664 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3665 (check_pool_label): Likewise.
3666 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3667
36682013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3669
3670 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3671
8e67b50f
AB
36722013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3673
3674 * docs/grub.texi (Commands): Document postition parameters
3675 for menuentry command.
3676
f5ae3717
AB
36772013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3678
3679 * util/grub-mknetdir.in: Remove stray line from help output.
3680
9c28da2a
VS
36812013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 Remove early sm712 init as there is no reason for it (the "watchdog"
3684 effect was due to wrong GPIO map).
3685
139072b8
VS
36862013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * grub-core/commands/pcidump.c: Remove static variables.
3689
c6a61bda
VS
36902013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3693
51369614
VS
36942013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * configure.ac: Move delimiter after the infos.
3697
efa8640a
VS
36982013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3701
6f80a7b2
VS
37022013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3705 not filling whole 8x16 space.
3706
a2371e19
VS
37072013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3710
64fce2d8
VS
37112013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * configure.ac: Indicate which liblzma is used if any.
3714
eb272d84
PW
37152013-06-21 Paul Wise <pabs3@bonedaddy.net>
37162013-06-21 Craig Sanders <savannah@taz.net.au>
3717
3718 * util/grub-reboot.in: Document submenu usage.
3719
a9e5abee
CW
37202013-06-25 Colin Watson <cjwatson@ubuntu.com>
3721
3722 * .bzrignore: Update with a number of new test-related files.
3723
e639c204
CW
37242013-06-25 Colin Watson <cjwatson@ubuntu.com>
3725
3726 * util/grub-script-check.c: Fail on scripts containing no
3727 commands, to guard against corrupted grub-mkconfig setups that
3728 produce no useful output.
3729 * tests/grub_script_no_commands.in: New test.
3730 * Makefile.util.def (grub_script_no_commands): Add.
3731 Reported by Hans Putter. Fixes Debian bug #713886.
3732
a4c89b17
AB
37332013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3734
3735 * grub-core/disk/diskfilter.c: Forgot to remove comment
3736 from previous commit.
3737
5b06b53c
AB
37382013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3739
3740 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3741 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3742
702da5c9
AB
37432013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3744
3745 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3746
aa62a5b7
AB
37472013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3748
3749 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3750 rescan diskfilter devices until nothing new is found.
3751
4aa237c8
VS
37522013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3755
93d8479b
VS
37562013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 Don't try to detect cbfs on *-emu.
3759
837222cc
VS
37602013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3763
99c971af
VS
37642013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 Add support for processed coreboot payload chainloading.
3767
e6930a45
VS
37682013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Enable coreboot information commands even when not loaded as
3771 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3772
5027af38
VS
37732013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 Support for cbfs. Also factor out the part which is common
3776 for all archives to a separate module. This splits tar from cpio
3777 as they are very different but keeps cpio, cpio_be, odc and newc
3778 together since they're very similar.
3779
a5b55c4b
DM
37802013-06-15 David Michael <fedora.dm0@gmail.com>
3781
3782 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3783 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3784
0301a8b3
VS
37852013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * tests/grub_script_eval.in: Really add the eval test.
3788
3d84cb17
VS
37892013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 Move flavour-specific parts out of common cpio.c file and
3792 rename remaining to cpio_common.c
3793
593e430c
AB
37942013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3795
3796 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3797 off new function grub_script_execute_new_scope. Change callers to use
3798 either of them as appropriate.
3799 * grub-core/commands/eval.c: New command eval.
3800 * docs/grub.texi (Commands): Document it.
3801
63c29849
AB
38022013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3803
3804 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3805 to fetch values when listing.
3806
cc284112
AB
38072013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3808
3809 Fix make dist on non-pc.
3810
38112013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
3812
3813 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3814 without a device name.
3815
69544d1e
VS
38162013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 Remove enable_executable_check as it's not needed anymore.
3819 Reported by: dougray.
3820
96dbe648
VS
38212013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3824 ambigouos RAID before discovering RAIDs on top of it.
3825 Reported by: bodom.
3826
ccfc0bdb
VS
38272013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 Fix typo (failback vs fallback).
3830
f2587088
AB
38312013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3832
3833 * util/grub.d/30_os-prober.in: Add support for probing EFI
3834 System Partition (as of os-prober 1.58).
3835
cec5cf0c
VS
38362013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * configure.ac: Add yet another path to unifont. For parabola.
3839
e40b4596
JT
38402013-05-30 Josh Triplett <josh@joshtriplett.org>
3841
3842 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
3843 handling to copy the killed characters to the kill buffer as
3844 UCS4 stored as grub_uint32_t rather than as 8-bit characters
3845 stored as char. Eliminates UCS4 truncation and corruption
3846 observed when killing characters with Ctrl-u and yanking them
3847 back with Ctrl-y.
3848
fc4c4fdd
VS
38492013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 Detach optional parts of gfxterm and integrate in with coreboot init.
3852
6570b205
VS
38532013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 Move blit and fill dispatcher to appropriate files to decrease export
3856 and relocation overhead.
3857
b8323067
VS
38582013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * grub-core/font/font.c, include/grub/font.h: Inline simple font
3861 functions.
3862
3cc1878f
VS
38632013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * grub-core/Makefile.am: Fix compilation problem with some
3866 automake versions.
3867
4b80e43c
VS
38682013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
3871
57e0c20c
VS
38722013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
3875 automake versions.
3876
4fd42c53
VS
38772013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
3880 SSDT.
3881
1e908b34
RS
38822013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
3883
3884 * grub-core/partmap/dfly.c: New partition map.
3885
1359e474
VS
38862013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
3889 checking.
3890 Reported by: Francesco Lavra.
3891
17806392
AB
38922013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
3893
3894 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
3895 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
3896 false conditions.
3897 * conf/Makefile.common: define dist_grubconf_DATA
3898
cdce14fa
VS
38992013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 Progressively skip menu elements on small terminals rather
3902 than crashing.
3903
c8d6cc3c
VS
39042013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3907 to avoid losing last column.
3908
a73b31ce
VS
39092013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * po/exclude.pot: Add missing string "%C".
3912
1202c764
VS
39132013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
3916 after the test.
3917
50268344
VS
39182013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * util/grub-install.in: Gettextize "Not found" message.
3921
62b15edf
VS
39222013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 Fix distfiles list.
3925 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3926
39272013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
3928
3929 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
3930 present.
3931 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
3932
709ad61b
VS
39332013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
3936
d128901a
VS
39372013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
3940 attribute since structure is not necessarily aligned.
3941
34b22f5c
AB
39422013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
3943
3944 * docs/grub.texi (Device syntax): Clarify description of network
3945 drives.
3946
0f7e980b
VS
39472013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
3950 for vasprintf presence.
3951
30b03dc2
VS
39522013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * util/grub-install.in: Handle efibootmgr presence check.
3955 Reported by: Leif Lindholm.
3956
0dc11c08
VS
39572013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
3960 new strings to translate.
3961
f8024c3f
VS
39622013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
3965 yet another string (pun intended) to translate.
3966
b4c1da62
VS
39672013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * po/POTFILES-shell.in: Autogenerate it.
3970
0ef7478b
VS
39712013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
3974
8200fa15
VS
39752013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
3978 misnomer.
3979
091945b2
AB
39802013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
3981
3982 * docs/grub.texi (Network): Add description of net_default_interface,
3983 net_default_ip and net_default_mac. Rewrite variables description
3984 to emphasize that they are per-interface.
3985
0e7b2e32
VS
39862013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 New test: cmdline and cat.
3989
16f7c8f6
VS
39902013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * grub-core/commands/cat.c: Show UTF-8 characters.
3993
3e912fda
VS
39942013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * conf/Makefile.common: Poison float and double on non-emu.
3997
ee0220bc
VS
39982013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * configure.ac: Don't disable extended registers on emu.
4001
89e0240c
VS
40022013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * configure.ac: Don't use extended registers on x86_64.
4005 Reported by: Peter Jones.
4006
e56d9637
VS
40072013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * grub-core/term/efi/console.c: Fix compile error.
4010
8098f655
VS
40112013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 Compressed HFS+ support.
4014
16940e07
VS
40152013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4018 pixel".
4019
c5dbc13d
VS
40202013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 Menu color test.
4023
011f8ae8
VS
40242013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * grub-core/tests/setjmp_test.c: New test.
4027
2aa072d7
VS
40282013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 New variables 'net_default_*' to determine MAC/IP of default interface.
4031
43fe02cb
VS
40322013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * tests/gettext_strings_test.in: A test to check for strings not
4035 marked for translation.
4036
bed06142
VS
40372013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * autogen.sh: Exclude unused libgcrypt files from translation.
4040
fb2666b5
VS
40412013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 Simplify few strings.
4044
d22840ec
VS
40452013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 Mark few forgotten strings for translation.
4048
e34092fd
VS
40492013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4052 rather than printf.
4053
47cf82b4
VS
40542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4057 rather than printf.
4058 * grub-core/video/readers/tga.c: Likewise.
4059
1eed0e6e
VS
40602013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * tests/priority_queue_unit_test.cc: New test.
4063
c5b7697b
VS
40642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4067 than printf.
4068
5945c2f8
AB
40692013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4070
4071 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4072 variable for one time boot menu entry.
4073
fa292343
B
40742013-05-05 Bean <bean123ch@gmail.com>
4075
4076 * grub-core/commands/testspeed.c: New command testspeed.
4077
310d4214
VS
40782013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 Factor-out human-size printing.
4081
85002bf3
VS
40822013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 Agglomerate more mallocs to speed-up gfxterm.
4085
22b06e96
VS
40862013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 Speed-up gfxterm by slightly agglomerating mallocs.
4089
b7c036bc
VS
40902013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 More video checks.
4093
92323d1f
VS
40942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 Speed-up gfxterm by saving intermediate results in index+alpha
4097 format.
4098
0fb356a3
VS
40992013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4102 test.
4103
44dea3f9
VS
41042013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4107 line of timeout as it may contain the rest of long line.
4108
14af86e4
VS
41092013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 * grub-core/normal/main.c: Fix freed memory dereference.
4112
03f7c8c3
VS
41132013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 Fix several memory leaks.
4116
c686014c
VS
41172013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4120
0788a695
VS
41212013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4124
daf01d61
VS
41252013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 Fix test -a and -o precedence.
4128 Reported by: adrian15.
4129
82ae74d7
VS
41302013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4133
8cec7bd4
AB
41342013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4135
4136 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4137 and add it as source to functional_test module.
4138
aa73d688
VS
41392013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4142
c104b6f9
VS
41432013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 New series of tests for gfxterm and gfxmenu.
4146
7391c4d5
VS
41472013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4150 the theme path relative to $prefix/themes.
4151
cff50118
VS
41522013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4155 Fix order bug.
4156 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4157
7c332bdc
VS
41582013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4161 descriptor.
4162
a4f9a5ff
VS
41632013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4166 grub_gfxmenu_timeout_notifications.
4167 (grub_gfxmenu_view_destroy): Likewise.
4168
b5a2114d
VS
41692013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4172
a8905e8a
VS
41732013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 Several fixes to ieee1275 and big-endian video.
4176
813c1622
VS
41772013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 Add missing exports on mips.
4180
3f3e7326
VS
41812013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4184 if no unifont is found.
4185 Restore original keyboard.
4186
095accd1
VS
41872013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4190 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4191
50361660
VS
41922013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 First automated video test (running videotest and comparing results)
4195
cd0f6eec
VS
41962013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4199 instead of 2 to have full RGB/CMY test pattern.
4200
3f9634e5
VS
42012013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 Add few more tests.
4204
583e5b64
VS
42052013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4208 ARCS. All users updated.
4209
aa7bcb99
VS
42102013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4213
95ef1a54
VS
42142013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4217
46546fc5
VS
42182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4221 Reported by: qwertial.
4222
3476e0ef
VT
42232013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4224
4225 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4226 with syntax "XXX deg"/"XXX °".
4227
96f33fed
VS
42282013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 Make PCI init in i386-qemu port more robust.
4231
42322013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4233
4234 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4235 cached view is reused.
4236 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4237 open boot menus.
4238
c53b4e67
VS
42392013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 Unify more code in grub-install_header.
4242
f7457fb2
VS
42432013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 Add few new tests.
4246
e2f27a8c
VS
42472013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 Enforce disabling of firmware disk drivers when native drivers kick in.
4250
ef9d8cd5
VS
42512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * grub-core/commands/nativedisk.c: Customize the list of modules on
4254 platform. Don't try to search for disks already using native drivers.
4255
f7bf6c31
VS
42562013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4259 platforms.
4260
bdc4add8
VS
42612013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4264 handling of variables containing backslash.
4265
e9e46c9a
VS
42662013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4269 dereference.
4270 Reported by: qwertial.
4271
0e90dee8
VS
42722013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4275
e0aacf24
VS
42762013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4279 dereference.
4280 Reported by: qwertial.
4281
3c0003c3
VS
42822013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4285
adb7d667
VS
42862013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4289
7cd0df84
VS
42902013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 New command `nativedisk'.
4293
02adbb93
VS
42942013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4297 * grub-core/loader/i386/bsd.c: Likewise.
4298
9fb0fd4f
VS
42992013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4302
bd69257a
VS
43032013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4306 grub_get_unaligned16 rather than shifts.
4307
178c2764
VS
43082013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/kern/file.c: Use const char * rather than casting to
4311 non-const.
4312
eadfad24
VS
43132013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/commands/probe.c: Add missing grub_device_close.
4316
9f73ebd4
VS
43172013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * INSTALL: Document linguas.sh.
4320
965fa829
VS
43212013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 Remove POTFILES.in and regenerate it in autogen.sh.
4324
d417ddc4
VS
43252013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 Move --directory/--override-directorry to grub-install_header and unify.
4328
f97ec546
VS
43292013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * grub-core/term/morse.c: Macroify dih and dah.
4332
b2d7470c
PFS
43332013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4334
4335 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4336
141e2a78
VS
43372013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/term/ns8250.c: Systematically probe ports by writing
4340 to SR before using them.
4341
1dd70ebd
PFS
43422013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4343
4344 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4345 disks.
4346 (check_sas): Get sas_adress info.
4347
c796a107
VS
43482013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4351 ports.
4352
43168646
LD
43532013-04-27 Leon Drugi <eyak>
4354
4355 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4356 BSS clearing.
4357
e7b8fd08
VS
43582013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 Core compression test.
4361
17f9fd29
VS
43622013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 Implement grub_machine_get_bootlocation for ARC.
4365
dc2a6c8b
VS
43662013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 Improve AHCI detection and command issuing.
4369
f25a2ba6
VS
43702013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 Fix pseries test.
4373
a6393224
VS
43742013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 Make 'make check' work on emu.
4377
db99fbe8
VS
43782013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 Replace libcurses with our own vt100 handling for the ease of testing
4381 and decreasing prerequisites.
4382
b24ca7cd
VS
43832013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4386
63314aa4
VS
43872013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4390 compile when not needed.
4391
c1b00fff
VS
43922013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * tests/pseries_test.in: New test.
4395
f93e89ef
VS
43962013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 Add test to check that different boot mediums work.
4399
c4b456d3
VS
44002013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4403 ofw limited ISO support.
4404
5fe67f39
VS
44052013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * configure.ac: Fix loongson conditional.
4408
7f63a64f
VS
44092013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 Enable mipsel-arc.
4412
b04b5990
VS
44132013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 Add serial on ARC platform.
4416
88d2f302
VS
44172013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4420 commit.
4421
86eb23bc
VS
44222013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * tests/partmap_test.in: Add missing double semicolon.
4425
eec3bb75
VS
44262013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * util/grub-mkrescue.in: Fix loongson filename.
4429
e0810df3
VS
44302013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * util/grub-mkrescue.in: Move all files that don't have a location
4433 set in stone under /boot/grub. Use ISO hard links rather than copies
4434 to save some space.
4435
65a6b30b
VS
44362013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4439 bogus SLOF values.
4440
6aff0107
VS
44412013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 Make check work on mips-arc.
4444
5e013e56
VS
44452013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 * util/grub-mkrescue.in: Alias sashARCS as sash.
4448
d1989e2e
VS
44492013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4452 it's serial.
4453
1a25e72c
VS
44542013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * util/grub-install.in: Fix target fo qemu_mips.
4457 Fix extension on EFI.
4458
a59a9826
VS
44592013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4462 in front of chosen entry to mark it even if highlighting is lost.
4463
1a40f80c
VS
44642013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4467 gfxpayload=keep if cbfb is active.
4468
e343549c
VS
44692013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4472
45fbd9a2
VS
44732013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 Add missing video ids to coreboot and ieee1275 video.
4476
ab1440bd
VS
44772013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * util/grub-mkrescue.in: Add mips-arc support.
4480
cdeb8324
VS
44812013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4484
8528c879
VS
44852013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 Move mips-arc link address. Previous link address was chosen
4488 in belief that RAM on SGI platforms grows down while in fact it
4489 grows up from an unusual base.
4490
17fca573
VS
44912013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4494 Fix a type which prevented CD-ROM and floppy boot.
4495
d178788e
VS
44962013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 Support coreboot framebuffer.
4499
4500 * grub-core/video/i386/coreboot/cbfb.c: New file.
4501
fe4c3e7e
VS
45022013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4505 detecting too small regions.
4506
ec2dd179
VS
45072013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4510
872dac83
VS
45112013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4514 Remove dprintf.
4515 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4516
90ec4b7f
VS
45172013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4520 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4521 * grub-core/loader/powerpc/ieee1275/linux.c
4522 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4523
f32555dd
VS
45242013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4527 Look for /boot-rom as well as /rom/boot-rom.
4528
38649799
VS
45292013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4532 handling when creating text_layer failed.
4533 * grub-core/video/video.c (grub_video_create_render_target):
4534 Set result to 0 on error.
4535 (grub_video_delete_render_target): Do not dereference NULL.
4536
aeace7f7
VS
45372013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4540 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4541 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4542 (grub_linux_load64): Mask out 2 high bits.
4543
4eafa175
AB
45442013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4545
4546 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4547 more place.
4548
daaa64bd
VS
45492013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 Add support for pseries and other bootinfo machines to grub-mkrescue.
4552
4553 Tested by: Paulo Flabiano Smorigo.
4554
d0d2daa6
VS
45552013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * util/grub-mkrescue.in: Add GPT for EFI boot.
4558
b193e100
VS
45592013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4562 It improves performance in qemu.
4563
a0f8f3ac
VS
45642013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * build-aux/snippet: Add missing gnulib files.
4567
284df0e2
AB
45682013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4569
4570 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4571
740201f3
AB
45722013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4573
4574 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4575
a7e03923
PJ
45762013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
45772013-04-15 Peter Jones <pjones@redhat.com>
4578
4579 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4580 sectors.
4581 Based on patch by Peter Jones.
4582
25fc51a8
VS
45832013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 Fix DMRAID partition handling.
4586
88017d47
VS
45872013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * tests/grub_cmd_date.in: Skip on sparc64.
4590
fa7d914e
VS
45912013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4594 firmware error messages.
4595
cbe57a48
VS
45962013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4599 source and destination differ.
4600
21aecce0
VS
46012013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4604 detection.
4605
25092d29
VS
46062013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4609 match config-util.h to avoid warnings and increase compatibility.
4610
79451522 46112013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 46122013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4613
4614 Add option to compress files on install/image creation.
4615
78b7d77b
VS
46162013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * docs/grub-dev.texi: Rearrange menu to match the section order.
4619 Reported by: Bryan Hundven.
4620
cc2fa5ec
VS
46212013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4624
b49fe879
VS
46252013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 Move GRUB out of system area when using xorriso 1.2.9 or later.
4628
5351da81
VS
46292013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * tests/grub_cmd_date.in: Add missing exit 1.
4632
c9d586ea
VS
46332013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * tests/partmap_test.in: Skip on sparc64.
4636
3f729741
VS
46372013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 Support grub-shell on sparc64.
4640
8ca86b3a
VS
46412013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 Support mkrescue on sparc64.
4644
aa1af9bb
VS
46452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4648 Needed on OpenBIOS due to incomplete device tree.
4649
ac4fea79
VS
46502013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4653 would be otherwise excluded.
4654
46552013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4656
4657 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4658 Inline name defines used only once.
4659
fe22b071
VS
46602013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 Fix memory leaks in ofnet.
4663 Reported by: Francesco Lavra.
4664
9d21381b
VS
46652013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * docs/man/grub-glue-efi.h2m: Add missing file.
4668
07aec23c
VS
46692013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4672
67ab8353
VS
46732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 Better support Apple Intel Macs on CD.
4676
ba44ca6d
VS
46772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 Replace stpcpy with grub_stpcpy in tools.
4680
bbdd6305
VS
46812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 Handle Japanese special keys.
4684 Reported by: Hiroyuki YAMAMORI.
4685 Codes supplied by: Hiroyuki YAMAMORI.
4686
8573d302
VS
46872013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * util/grub-mkimage.c: Document memdisk implying --prefix.
4690
d70dbab7
VS
46912013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4694 much we can do about it anyway.
4695
51a4c3e3
AN
46962013-04-12 Aleš Nesrsta <starous@volny.cz>
4697
4698 Fix handling of split transfers.
4699
92c8f58d
VS
47002013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * grub-core/net/http.c: Fix bad free.
4703
b7d17a49
VS
47042013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4707 than buffer size.
4708
a3d566d4
VS
47092013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4712
a936af56
VS
47132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * tests/util/grub-shell.in: Fix it on powerpc.
4716
51212234
VS
47172013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 Turn off QEMU ACPI-way since new releases don't have shutdown port
4720 anymore.
4721
a21eec9e
VS
47222013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * docs/grub.texi: Update coreboot status info.
4725
e3734b84
VS
47262013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * tests/grub_cmd_date.in: New test for datetime.
4729
f9d40055
VS
47302013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * tests/partmap_test.in: Fix missing qemudisk setting.
4733
dbc56d8f
VS
47342013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 Support i386-ieee1275 grub-mkrescue and make check on it.
4737
a79b8a15
VS
47382013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4741 feature for it.
4742
48f39bb4
VS
47432013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4746 GRUB_CMDLINE_XEN_DEFAULT.
4747 Reported by: Marc Warne (GigaTux) <gigatux>
4748
053cfcdd
VS
47492013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 Import new gnulib.
4752
93cd84df
VS
47532013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 Use ACPI shutdown intests as traditional port was removed.
4756
f4b1fa4f
AB
47572013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4758
4759 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4760 distinction.
4761
49818a59
VS
47622013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4765 Fix few warining messages and leaks while on it.
4766
9277a306
AB
47672013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4768
4769 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4770 links under grub-core/lib/libgcrypt-grub/mpi.
4771
d5e2a158
VS
47722013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 Fix ia64-efi image generation on big-endian machines. Deduplicate
4775 some code while on it.
4776 Reported by: Leif Lindholm.
4777
18866643
AB
47782013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4779
4780 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4781 as extra_dist.
4782
ca53deb8
AB
47832013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4784
4785 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4786
d4c4b8e1
BH
47872013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4788
4789 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4790 texinfo-5.1.
4791
47043f95
VS
47922013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/normal/term.c: Few more fixes for menu entry editor
4795 rendering.
4796 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4797
a3216068
VS
47982013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * grub-core/normal/term.c: Few more fixes for menu entry editor
4801 rendering.
4802 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4803
21026747
AB
48042013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4805
4806 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4807 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4808
59624ca8
AB
48092013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4810
4811 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4812 instead of hardcoding grub.mo.
4813
1f44478c
FN
48142013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4815
4816 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4817
eeada7b1
VS
48182013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4821 grub-core/disk/geli.c.
4822
132867de
VS
48232013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * util/grub-mkfont.c: Prefer enum to #define.
4826
de73de17
VS
48272013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4830
1865baa7
VS
48312013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4834
ce7d92a9
VS
48352013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
4838
52eab656
VS
48392013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
4842
98b23b95
VS
48432013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * include/grub/bsdlabel.h: Use enums.
4846
0467a5dd
VS
48472013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 Move GRUB_CHAR_BIT to types.h.
4850
16cc9f03
AB
48512013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4852
4853 * docs/grub.texi: Document more user commands.
4854
3152aecb
AB
48552013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4856
4857 * docs/grub.texi: Document menuentry --id option.
4858
c506fc30
FL
48592013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
4860
4861 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
4862
aa428238
VS
48632013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 Unify file copying setup across different install scripts. Add
4866 options for performing partial install.
4867
efe0cdda
PJ
48682013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
48692013-04-04 Peter Jones <pjones@redhat.com>
4870
4871 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
4872
f75835bd
VS
48732013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 Use TSC as a possible time source on i386-ieee1275.
4876
2cd5ce6c
VS
48772013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
4880 Init err.
4881
c9625630
VS
48822013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * util/grub-setup.c (setup): Handle some corner cases.
4885
be008941
VS
48862013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
4889
1a78d573
VS
48902013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * grub-core/commands/verify.c: Save verified file to avoid it being
4893 tampered with after verification was done.
4894
db8ff59f
VS
48952013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
4898 reported width by one to compensate for curesor algorithm problem.
4899
91bf46b1
VS
49002013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 Fix screen corruption in menu entry editor and simplify the code
4903 flow while on it.
4904
a7b1d693
AB
49052013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
4906
4907 * util/grub-mount.c (fuse_init): Return error if fuse_main
4908 failed.
4909
31df9ad8
FL
49102013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
4911
4912 * include/grub/elf.h: Add missing ARM relocation codes and fix
4913 existing ones.
4914
07f392eb
VT
49152013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4916
4917 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
4918
9efd73ec 49192013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
49202013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
4923 into account when calculating radius.
4924
49252013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
4926
4927 * grub-core/gfxmenu/view.c: Fix off-by-one error.
4928
4985ddaa
VT
49292013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4930
4931 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
4932
8c3635ff
RS
49332013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4934
4935 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
4936 missing closing bracket.
4937
74a35e69
RS
49382013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4939
4940 * INSTALL: Mention xorriso requirement.
4941
40f1c000
AB
49422013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
4943
4944 * grub-core/commands/verify.c: Fix hash algorithms values for
4945 the first three hashes - they start with 1, not with 0.
4946
e75fdee4
VS
49472013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
4950 Try terminating EFI services several times due to quirks in some
4951 implementations.
4952
33028f4c
CW
49532013-03-26 Colin Watson <cjwatson@ubuntu.com>
4954
4955 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
4956 skipping Event, Device, Processor, PowerRes, ThermalZone, and
4957 BankField extended opcodes.
4958 (get_sleep_type): Add minimal scope handling (just enough to
4959 handle setting the scope to the root path).
4960 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
4961 * include/grub/acpi.h: Add enumeration values for Event, Device,
4962 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
4963
33871a10
VT
49642013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
4965
4966 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
4967 memory leak.
4968
8990963a
VS
49692013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * grub-core/disk/ahci.c: Give more time for AHCI request.
4972
daae8f9e
VS
49732013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
4976 command.
4977
6a7fb94b
VS
49782013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 Replace the region at 0 from coreboot tables to available in BSD
4981 memory map.
4982
ff99babd
VS
49832013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
4986 non-BIOS platforms.
4987
30d6b1b2
VS
49882013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
4991 platforms.
4992
6ccd0b31
VS
49932013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
4996 handling of multi-device filesystems.
4997
23c9cc04
VS
49982013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5001 platforms.
5002
ce50dbd7
VS
50032013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 Add new 'proc' filesystem framework and put luks_script into it.
5006
d975e8d5
VS
50072013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5010 and qemu.
5011
e73ba5e8
VS
50122013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5015
92750e4c
VS
50162013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 Add ability to generate newc additions on runtime.
5019
0ec45a68
VS
50202013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5023 description.
5024
320abd43
VS
50252013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * po/POTFILES.in: Regenerate.
5028
d7a6506e
VS
50292013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * grub-core/commands/verify.c (hashes): Add several hashes
5032 from the spec.
5033
8fe05def
VS
50342013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 Slight improve in USB-related boot-time checkpoints.
5037
524e2766
VS
50382013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * grub-core/commands/boottime.c: Fix copyright header.
5041
cc19857a
VS
50422013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5045 coreboot tables content. Support for cbmemc.
5046
ef8810e9
VS
50472013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 Fix a conflict between ports structures with 2 controllers of
5050 same kind.
5051
e9dabdfa
VS
50522013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * include/grub/boottime.h: Add missing file.
5055
f6df57d2
VS
50562013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 Initialize USB ports in parallel to speed-up boot.
5059
d745dda7
VS
50602013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 Fix USB devices not being detected when requested
5063 due to delayed attach.
5064
e5a2dd7b
VS
50652013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5066
e744219b
VS
5067 Implement boot time analysis framework.
5068
50692013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5072 descriptor to just receive it as argument rather than endpoint
5073 address.
5074
5dd6f587
VS
50752013-03-19 Aleš Nesrsta <starous@volny.cz>
5076
5077 Better estimate the maximum USB transfer size.
5078
2f1071d5
VS
50792013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 Resend a packet if we got the wrong buffer in status.
5082
46ecfc49
VS
50832013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5086 multiplication rather than division.
5087
ea811130
VS
50882013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5091 than divisions.
5092
d2789cf0
VS
50932013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5096 operations to have intended shifts and not divisions.
5097
a9c94590
VS
50982013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5101 intended shifts rather than division.
5102
84cfe81b
VS
51032013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5106 computation for some years before epoch. Avode confusing division
5107 while on it.
5108
21344ef6
VS
51092013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * grub-core/video/i386/pc/vbe.c
5112 (grub_video_vbe_print_adapter_specific_info): Replace division by
5113 shifts.
5114
3f2b4d1a
VS
51152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 Adjust types in gdb module to have intended unsigned shifts rather than
5118 signed divisions.
5119
3dac5878
VS
51202013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5123 maximum size is 4G - 1 on hfs
5124
5341c0fb
VS
51252013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5128
fc3ff2a2
VS
51292013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5132 function.
5133
81455e8e
AB
51342013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5135
5136 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5137 causing gcc error with gcc 4.7.1.
5138
efd4f117
NZ
51392013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5140
5141 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5142 dereference null pointer. While the code is technically correct, gcc
5143 may eliminate a null check if pointer is already dereferenced.
5144
e11645f4
NZ
51452013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5146
5147 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5148 OOM check.
5149 * grub-core/normal/term.c (read_terminal_list): Likewise.
5150
77468368
VS
51512013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 Lift up core size limits on some platforms. Fix potential memory
5154 corruption with big core on small memory systems. Document remaining
5155 limits.
5156
f6b58fe5
VS
51572013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5160 gotoxy to 0,0.
5161
19ce697d
VS
51622013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 Remove all trampoline support. Add -Wtrampolines when
5165 present. Remove symbols used for trampolines to make
5166 link fail if trampolines are present.
5167
73b5d90f
VS
51682013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5171 append out of its parent.
5172
cb758e96
VS
51732013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5176 parent.
5177
3188131f
VS
51782013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5181 all vars to a macro. All users updated.
5182
e42b2514
VS
51832013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5186 i386-ieee1275.
5187
83e1a1a1
VS
51882013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5191
1d5a880f
VS
51922013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5195
6e4146c4
VS
51962013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 Move to more hookless approach in IEEE1275 devices handling.
5199
99fcda8a
VS
52002013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/kern/term.c (grub_term_normal_color),
5203 (grub_term_highlight_color): Add back lost defaults.
5204
73bf57e2
VS
52052013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 Make elfload not use hooks. Opt for flags and iterators instead.
5208
7f8c105f
VS
52092013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5212 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5213
396d4091
VS
52142013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5217
52182013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5221 hook pass-through parameter. All users updated and unnested.
5222
74a27421
VS
52232013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5226 out of its parent.
5227
b46d4213
VS
52282013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 * grub-core/fs/hfs.c: Remove nested functions.
5231
e114c3cc
VS
52322013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5235 the context through.
5236 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5237
f9b7d780
VS
52382013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * util/grub-editenv.c (list_variables): Move print_var out of its
5241 parent.
5242
ca9c2608
VS
52432013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5246 function.
5247
5d983f5f
VS
52482013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/gentrigtables.c: Make tables const.
5251
3056d3e7
VS
52522013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 Remove nested functions from videoinfo iterators.
5255
e2303774
VS
52562013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5259 for 64-bit platforms.
5260
f42e3a2f
VS
52612013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5264 a FOR_CHILDREN macro.
5265
be174e5e
VS
52662013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5269 platform from firmware path.
5270
0789b672
VS
52712013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 Enable linux16 on non-BIOS systems for i.a. memtest.
5274
5275 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5276 correctly.
5277 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5278
005a9c32
VS
52792013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5282 Fix end of table condition.
5283
ff2b3cd9
VS
52842013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5287 out of its parent.
5288
4fc40ff8
VS
52892013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/fs/jfs.c: Remove nested functions.
5292
be42d97a
VS
52932013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/fs/minix.c: Remove nested functions.
5296
99373ce4
VS
52972013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/fs/iso9660.c: Remove nested functions.
5300
5aec2afe
VS
53012013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5304 of parent function.
5305
6c69e691
VS
53062013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * util/grub-fstest.c: Remove nested functions.
5309
43c91882
VS
53102013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * grub-core/loader/machoXX.c: Remove nested functions.
5313
4eb8b756
CW
53142013-02-27 Colin Watson <cjwatson@ubuntu.com>
5315
5316 Remove nested functions from disk and file read hooks.
5317
5318 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5319 (struct grub_disk): Add read_hook_data member.
5320 * include/grub/file.h (struct grub_file): Likewise.
5321 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5322 argument.
5323
5324 Update all callers.
5325
df6da5a5
AB
53262012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5327
5328 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5329 Fix off by one error in enumerating extended partitions.
5330
21aecde5
AB
53312013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5332
5333 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5334 memory leak if device name is not found.
5335
f1a19118
AB
53362013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5337
5338 * grub-core/normal/menu_entry.c (update_screen): remove
5339 unused variable `off' which caused scroll down arrow to be always shown.
5340
958bfd20
AB
53412013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5342
5343 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5344 access to unallocated memory.
5345
b7b78edb
AB
53462013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5347
5348 * Makefile.util.def: Add partmap/msdos.c to common library.
5349 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5350 * grub-core/disk/ldm.c: Check for existence of
5351 GRUB_PC_PARTITION_TYPE_LDM.
5352
28d468d6
VS
53532013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5354
5355 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5356 sizes and display sector size.
5357
d55ffb02
VS
53582013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 Implement new command cmosdump.
5361
b5ea6ce0
VS
53622013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5363
5364 Support Openfirmware disks with non-512B sectors.
5365
5366 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5367 size of the disk.
5368 * (grub_ofdisk_get_block_size): New function.
5369 * (grub_ofdisk_prepare): Use the correct block size.
5370 * (grub_ofdisk_read): Likewise.
5371 * (grub_ofdisk_write): Likewise.
5372 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5373 New proto.
5374
cc0e476f
VS
53752013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5378
c5dbdc33
VS
53792013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5382 on first error.
5383
3f078c0f
VS
53842013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5387 freeing it.
5388
66a93674
VS
53892013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 Implement USBDebug (full USB stack variant).
5392
c9f0c134
VS
53932013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5396 unless they have unexpected values.
5397
cfe1288b
VS
53982013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5401 grub_print_error.
5402
e42b9969
VS
54032013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5406 zero-out of port structure.
5407
cf94fd62
VS
54082013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5411 of extended attributes.
5412
f81ef4b5
AB
54132013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5414
5415 * util/grub-install.in: change misleading comment about
5416 device.map creation
5417
af18fdb4
VS
54182013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5421 when menu highlight color isn't set.
5422
08bcec50
M
54232013-01-27 C. Masloch <pushbx@38.de>
5424
5425 Improve FreeDOS direct loading support compatibility.
5426
5427 * include/grub/i386/relocator.h (grub_relocator16_state):
5428 New member ebp.
5429 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5430 variable.
5431 (grub_relocator16_boot): Handle %ebp.
5432 * grub-core/lib/i386/relocator16.S: Likewise.
5433 * grub-core/loader/i386/pc/freedos.c:
5434 Load BPB to pass kernel which partition to load from.
5435 Check that kernel file is not too large.
5436 Set register dl to BIOS unit number as well.
5437
7782b8a6
CW
54382013-01-22 Colin Watson <cjwatson@ubuntu.com>
5439
5440 * util/grub-reboot.in (usage): Document the need for
5441 GRUB_DEFAULT=saved.
5442 * util/grub-set-default.in (usage): Likewise.
5443 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5444
e661c180
VS
54452013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5448 than defining WORDS_BIGENDIAN manually.
5449
1c22ca9a
VS
54502013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5453 invariants.
5454
d44892fe
CW
54552013-01-21 Colin Watson <cjwatson@ubuntu.com>
5456
5457 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5458 nested.
5459 (blit_comb: add_device_width): Likewise.
5460
5fdbaed1
CW
54612013-01-21 Colin Watson <cjwatson@ubuntu.com>
5462
5463 Remove nested functions from USB iterators.
5464
5465 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5466 (grub_usb_controller_iterate_hook_t): Likewise.
5467 (grub_usb_iterate): Add hook_data argument.
5468 (grub_usb_controller_iterate): Likewise.
5469 (struct grub_usb_controller_dev.iterate): Likewise.
5470
5471 Update all implementations and callers.
5472
4250985a
VS
54732013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5476 margin when not needed.
5477
7d8848f3
VS
54782013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5479
bc136973 5480 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5481
54822013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5483
bc136973
VS
5484 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5485 asterisk.
7d8848f3 5486
ed12a003
CW
54872013-01-21 Colin Watson <cjwatson@ubuntu.com>
5488
5489 Fix powerpc and sparc64 build failures caused by un-nesting memory
5490 map iterators.
5491
6a0db449
CW
54922013-01-21 Colin Watson <cjwatson@ubuntu.com>
5493
5494 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5495 parameter declarations.
5496
ccd86b21
VS
54972013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5500
822b726b
VS
55012013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 Improve spkmomdem reliability by adding a separator between bytes.
5504
115c2cc1
CW
55052013-01-21 Colin Watson <cjwatson@ubuntu.com>
5506
5507 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5508 an Acer registration utility with several sightings in the wild.
5509 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5510
fc524edf
CW
55112013-01-21 Colin Watson <cjwatson@ubuntu.com>
5512
5513 Remove nested functions from filesystem directory iterators.
5514
5515 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5516 (struct grub_fs.dir): Add hook_data argument.
5517
5518 Update all implementations and callers.
5519
53d3e4e3
CW
55202013-01-21 Colin Watson <cjwatson@ubuntu.com>
5521
5522 * docs/grub.texi (Multi-boot manual config): Fix typo for
5523 "recommended".
5524
c821711f
LL
55252013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5526
5527 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5528 until after its use in generate_image.
5529
6a0debbd
CW
55302013-01-20 Colin Watson <cjwatson@ubuntu.com>
5531
5532 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5533 initrd size to addr_min, since the initrd will be allocated after
5534 this address.
5535
f41e08db
AB
55362013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5537
5538 * conf/Makefile.common: Fix autogen rules to pass definition
5539 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5540
77529e0f
LL
55412013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5542
5543 * include/grub/elf.h: Update ARM definitions based on binutils.
5544
b879aa7b
VS
55452013-01-20 Aleš Nesrsta <starous@volny.cz>
5546
5547 Split long USB transfers into short ones.
5548
8eb8284d
AB
55492013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5550
5551 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5552 is interrupted by ESC.
5553
08dad2dc
VS
55542013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * util/grub-script-check.c (main): Uniform the error message.
5557
6c724b85
CW
55582013-01-20 Colin Watson <cjwatson@ubuntu.com>
5559
5560 Remove nested functions from ELF iterators.
5561
25239370
CW
55622013-01-20 Colin Watson <cjwatson@ubuntu.com>
5563
5564 Remove nested functions from device iterators.
5565
5566 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5567 (grub_arc_iterate_devs): Add hook_data argument.
5568 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5569 (struct grub_ata_dev.iterate): Add hook_data argument.
5570 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5571 (grub_device_iterate): Add hook_data argument.
5572 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5573 (struct grub_disk_dev.iterate): Add hook_data argument.
5574 (grub_disk_dev_iterate): Likewise.
5575 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5576 Likewise.
5577 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5578 Likewise.
5579 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5580 type.
5581 (struct grub_partition_map.iterate): Add hook_data argument.
5582 (grub_partition_iterate): Likewise.
5583 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5584 (struct grub_scsi_dev.iterate): Add hook_data argument.
5585
5586 Update all callers.
5587
6c0314d6
CW
55882013-01-20 Colin Watson <cjwatson@ubuntu.com>
5589
5590 Fix typos for "developer" and "development".
5591
600dc5f1
VS
55922013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 Add license header to spkmodem-recv.c.
5595
17334a6b
VS
55962013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 Rewrite spkmodem to use PIT for timing. Double the speed.
5599
7d462559
VS
56002013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 Add new command pcidump.
5603
b78d6c32
VS
56042013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 New terminal outputs using serial: morse and spkmodem.
5607
34f71cb8
VS
56082013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 Improve bidi handling in entry editor.
5611
4542e71b
VS
56122013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5615 argument to prevent name collision.
5616
09fd6d82
CW
56172013-01-15 Colin Watson <cjwatson@ubuntu.com>
5618
5619 Remove nested functions from script reading and parsing.
5620
5621 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5622 getline_data argument, passed to getline.
5623 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5624 getline_data argument, passed to grub_parser_split_cmdline.
5625 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5626 lexerstate->getline_data to lexerstate->getline.
5627 (grub_script_lexer_init): Add getline_data argument, saved in
5628 lexerstate->getline_data.
5629 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5630 argument, passed to grub_script_parse.
5631 * grub-core/script/script.c (grub_script_parse): Add getline_data
5632 argument, passed to grub_script_lexer_init.
5633 * include/grub/parser.h (grub_parser_split_cmdline): Update
5634 prototype. Update all callers to pass appropriate getline data.
5635 (struct grub_parser.parse_line): Likewise.
5636 (grub_rescue_parse_line): Likewise.
5637 * include/grub/reader.h (grub_reader_getline_t): Add void *
5638 argument.
5639 * include/grub/script_sh.h (struct grub_lexer_param): Add
5640 getline_data member.
5641 (grub_script_parse): Update prototype. Update all callers to pass
5642 appropriate getline data.
5643 (grub_script_lexer_init): Likewise.
5644 (grub_normal_parse_line): Likewise.
5645
5646 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5647 data argument.
5648 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5649 static instead of nested. Rename to ...
5650 (grub_parser_execute_getline): ... this.
5651 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5652 data argument.
5653 * grub-core/normal/main.c (read_config_file: getline): Make static
5654 instead of nested. Rename to ...
5655 (read_config_file_getline): ... this.
5656 (grub_normal_read_line): Add unused data argument.
5657 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5658 getline): Make static instead of nested. Rename to ...
5659 (grub_script_execute_sourcecode_getline): ... this.
5660 * util/grub-script-check.c (main: get_config_line): Make static
5661 instead of nested.
5662
d0d4b8a0
CW
56632013-01-15 Colin Watson <cjwatson@ubuntu.com>
5664
5665 Remove nested functions from memory map iterators.
5666
5667 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5668 argument, passed to hook.
5669 * grub-core/kern/i386/coreboot/mmap.c
5670 (grub_linuxbios_table_iterate): Likewise.
5671 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5672 instead of nested.
5673 (grub_machine_mmap_iterate): Add hook_data argument.
5674 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5675 Add hook_data argument, passed to hook.
5676 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5677 Likewise.
5678 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5679 Likewise.
5680 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5681 Likewise.
5682 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5683 Likewise.
5684 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5685 Likewise.
5686 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5687 Likewise.
5688 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5689 (grub_machine_mmap_iterate): Likewise.
5690 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5691 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5692 prototype.
5693 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5694 Remove NESTED_FUNC_ATTR from here and from all users.
5695 (grub_mmap_iterate): Update prototype.
5696 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5697 pass appropriate hook data.
5698 (grub_machine_mmap_iterate): Likewise.
5699
5700 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5701 static instead of nested.
5702 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5703 Rename to ...
5704 (lsmmap_hook): ... this.
5705 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5706 Likewise.
5707 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5708 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5709 heap_init): Likewise.
5710 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5711 Rename to ...
5712 (mmap_iterate_hook): ... this.
5713 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5714 Likewise.
5715 * grub-core/lib/ieee1275/relocator.c
5716 (grub_relocator_firmware_get_max_events: count): Likewise.
5717 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5718 to ...
5719 (grub_relocator_firmware_fill_events_iter): ... this.
5720 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5721 hook): Likewise. Rename to ...
5722 (grub_relocator_alloc_chunk_align_iter): ... this.
5723 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5724 Rename to ...
5725 (generate_e820_mmap_iter): ... this.
5726 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5727 Rename to ...
5728 (count_hook): ... this.
5729 (grub_linux_boot: hook): Likewise. Rename to ...
5730 (grub_linux_boot_mmap_find): ... this.
5731 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5732 (grub_linux_boot_mmap_fill): ... this.
5733 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5734 hook): Likewise. Rename to ...
5735 (grub_fill_multiboot_mmap_iter): ... this.
5736 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5737 hook): Likewise. Rename to ...
5738 (count_hook): ... this.
5739 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5740 hook): Likewise. Rename to ...
5741 (grub_fill_multiboot_mmap_iter): ... this.
5742 * grub-core/loader/powerpc/ieee1275/linux.c
5743 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5744 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5745 Likewise. Rename to ...
5746 (alloc_phys_choose): ... this.
5747 (determine_phys_base: get_physbase): Likewise.
5748 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5749 find_hook): Likewise.
5750 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5751 (malloc_hook: count_hook): Likewise.
5752 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5753 Likewise. Rename to ...
5754 (lower_hook): ... this.
5755 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5756 (upper_hook): ... this.
5757 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5758 (post64_hook): ... this.
5759 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5760 Likewise. Rename to ...
5761 (lower_hook): ... this.
5762 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5763 (upper_hook): ... this.
5764 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5765 (grub_mmap_iterate: fill_hook): Likewise.
5766 (fill_mask): Pass addr and mask within a single struct.
5767 (grub_cmd_badram: hook): Make static instead of nested. Rename
5768 to ...
5769 (badram_iter): ... this.
5770 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5771 (cutmem_iter): ... this.
5772
22099030
VS
57732013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5776 delimit path in strings using quotes.
5777 * util/getroot.c (grub_guess_root_devices): Likewise.
5778 (grub_make_system_path_relative_to_its_root): Likewise.
5779 * util/grub-probe.c (probe): Likewise.
5780 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5781 (xrealpath): Likewise.
5782
4a9950ec
VS
57832013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 Fix compilation with older compilers.
5786
5787 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5788 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5789 declarations.
5790 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5791 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5792 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5793 identifier with b.
5794 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5795 * include/grub/crypto.h: Add type defines.
5796 * util/import_gcrypth.sed: Remove duplicate type defines.
5797
adcc6020
VS
57982013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 New command list_trusted.
5801
5802 * grub-core/commands/verify.c (grub_cmd_list): New function.
5803
a4528937
CW
58042013-01-13 Colin Watson <cjwatson@ubuntu.com>
5805
5806 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5807 info message.
5808
ca3a7446
CW
58092013-01-13 Colin Watson <cjwatson@ubuntu.com>
5810
5811 Remove nested functions from PCI iterators.
5812
5813 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5814 passed to hook. Update all callers to pass appropriate hook data.
5815 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5816 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5817 Remove NESTED_FUNC_ATTR from here and from all users.
5818 (grub_pci_iterate): Update prototype.
5819 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5820 instead of nested. Rename to ...
5821 (grub_cs5536_find_iter): ... this.
5822 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5823 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5824 Likewise.
5825 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5826 Likewise.
5827 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5828 Likewise.
5829 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5830 Likewise.
5831 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5832 * grub-core/video/radeon_fuloong2e.c
5833 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5834 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5835 find_card): Likewise.
5836 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
5837 Likewise.
5838
f8e98fee
VS
58392013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * grub-core/commands/verify.c: Mark messages for translating.
5842
055b36b6
VS
58432013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
5846 fatal.
5847
f7ff879b
VS
58482013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
5851 fatal.
5852
58532013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
5854
5855 * autogen.sh: Do not try to delete nonexistant files.
5856 * util/import_gcrypth.sed: Add some missing header removals.
5857
01323d49
CW
58582013-01-12 Colin Watson <cjwatson@ubuntu.com>
5859
5860 Clean up dangling references to grub-setup.
5861 Fixes Ubuntu bug #1082045.
5862
5863 * docs/grub.texi (Images): Refer generally to grub-install rather
5864 than directly to grub-setup.
5865 (Installing GRUB using grub-install): Remove direct reference to
5866 grub-setup.
5867 (Device map) Likewise.
5868 (Invoking grub-install): Likewise.
5869 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5870 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5871 * util/grub-install.in (usage): Likewise.
5872
5873 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
5874 Apply to grub-bios-setup and grub-sparc64-setup rather than to
5875 grub-setup.
5876 * configure.ac: Remove grub_setup output variable.
5877
5878 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
5879 to grub-bios-setup.
5880 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
5881 grub-setup to grub-sparc64-setup.
5882
5e3b8dcb
VS
58832013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 Import gcrypt public-key cryptography and implement signature checking.
5886
535714bd
VS
58872013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * grub-core/fs/ntfs.c: Ue more appropriate types.
5890 * grub-core/fs/ntfscomp.c: Likewise.
5891 * include/grub/ntfs.h: Likewise.
5892
3e4f3566
VS
58932013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 Support Apple FAT binaries on non-Apple platforms.
5896
5897 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
5898 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
5899 Likewise.
5900 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
5901 Apple FAT binaries.
5902
4dedb13f
VS
59032013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
5906 sector devices.
5907
f8861eaf
CW
59082013-01-07 Colin Watson <cjwatson@ubuntu.com>
5909
5910 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
5911 explicitly zeroing elements.
5912 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
5913 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
5914 of elements in a structure already allocated using grub_zalloc.
5915 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5916
86065b0a
CW
59172013-01-07 Colin Watson <cjwatson@ubuntu.com>
5918
5919 * docs/grub.texi (grub_cpu): New subsection.
5920 (grub_platform): Likewise.
5921
c6f1e92f
VS
59222013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
5925
f797ec85
VS
59262013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
5929 divisions.
5930
033d0b4b
VS
59312013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
5934 * grub-core/fs/ntfscomp.c: Likewise.
5935 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
5936 (grub_ntfs_comp): Likewise.
5937
21d1b9a0
VS
59382013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
5941 Rename to ...
5942 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
5943 of groups_per_block. All users updated.
5944
10ca8645
VS
59452013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
5948 grub_error properly.
5949 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
5950 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
5951
a4c3ed4c
VS
59522013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
5955 always in /boot/zfs.
5956 Reported by: Yuta Satoh.
5957
0b716507
YS
59582013-01-03 Yuta Satoh <nigoro>
5959
5960 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
5961 ${grub_probe}
5962
00c05e22
VS
59632013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * configure.ac: Extend -Wno-trampolines to host.
5966
dadddb76
VS
59672013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
5970 entry->len = 0.
5971
54ce53ca
CW
59722013-01-03 Colin Watson <cjwatson@ubuntu.com>
5973
5974 * docs/grub.texi (Invoking grub-mkrelpath): New section.
5975 (Invoking grub-script-check): Likewise.
5976
8912efca
CW
59772013-01-03 Colin Watson <cjwatson@ubuntu.com>
5978
5979 * docs/grub.texi (Invoking grub-mount): New section.
5980 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
5981
c3fc8394
CW
59822013-01-02 Colin Watson <cjwatson@ubuntu.com>
5983
5984 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
5985 test failures, so that a failing unit test correctly causes 'make
5986 check' to fail.
5987
45d26abb
CW
59882013-01-02 Colin Watson <cjwatson@ubuntu.com>
5989
5990 Fix failing printf test.
5991
5992 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
5993 '$' in the correct order when collecting type information.
5994
971dd2c6
CW
59952013-01-02 Colin Watson <cjwatson@ubuntu.com>
5996
5997 * docs/grub.texi (configfile): Explain environment variable
5998 handling.
5999 (source): New section.
6000 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6001
5c67ea6c
CW
60022012-12-31 Colin Watson <cjwatson@ubuntu.com>
6003
6004 Remove several trivially-unnecessary uses of nested functions.
6005
6006 * grub-core/commands/i386/pc/sendkey.c
6007 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6008 instead of nested.
6009 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6010 Rename to ...
6011 (legacy_file_getline): ... this.
6012 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6013 Likewise.
6014 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6015 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6016 to ...
6017 (probe_dummy_iter): ... this.
6018 * grub-core/kern/i386/coreboot/mmap.c
6019 (grub_linuxbios_table_iterate: check_signature): Likewise.
6020 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6021 check_varstate): Likewise. Mark inline.
6022 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6023 an additional parameter.
6024 (find_long: fnd_long): Likewise. Pass two additional parameters.
6025 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6026 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6027 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6028 Likewise. Rename to ...
6029 (grub_cmos_find_port_iter): ... this.
6030 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6031 Rename to ...
6032 (find_rtc_iter): ... this.
6033
6034 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6035 function directly into the function body, since it is only called
6036 once.
6037
33a68ac6
CW
60382012-12-30 Colin Watson <cjwatson@ubuntu.com>
6039
6040 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6041 __attribute__ ((unused)).
6042 * grub-core/video/bochs.c (find_card): Likewise.
6043 * grub-core/video/cirrus.c (find_card): Likewise.
6044 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6045 * grub-core/video/sis315pro.c (find_card): Likewise.
6046 * grub-core/video/sm712.c (find_card): Likewise.
6047
608b647a
CW
60482012-12-28 Colin Watson <cjwatson@ubuntu.com>
6049
6050 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6051 Fixes Savannah bug #37821.
6052
fd49ceb3
CW
60532012-12-28 Colin Watson <cjwatson@ubuntu.com>
6054
6055 Apply program name transformations at build-time rather than at
6056 run-time. Fixes Debian bug #696465.
6057
6058 * acinclude.m4 (grub_TRANSFORM): New macro.
6059 * configure.ac: Create output variables with transformed names for
6060 most programs.
6061 * util/bash-completion.d/grub-completion.bash.in: Use
6062 pre-transformed variables for program names.
6063 * util/grub-install.in: Likewise.
6064 * util/grub-kbdcomp.in: Likewise.
6065 * util/grub-mkconfig.in: Likewise.
6066 * util/grub-mkconfig_lib.in: Likewise.
6067 * util/grub-mknetdir.in: Likewise.
6068 * util/grub-mkrescue.in: Likewise.
6069 * util/grub-mkstandalone.in: Likewise.
6070 * util/grub-reboot.in: Likewise.
6071 * util/grub-set-default.in: Likewise.
6072 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6073 * tests/util/grub-shell-tester.in: Remove unused assignment.
6074 * tests/util/grub-shell.in: Likewise.
6075 * util/grub.d/00_header.in: Likewise.
6076
7024b3c0
CW
60772012-12-28 Colin Watson <cjwatson@ubuntu.com>
6078
6079 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6080
6081 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6082 HAVE_RAW_DECL_GETS.
6083 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6084
e3501b13
VS
60852012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6088 Reported by: Eriks Latosheks <foresterlv>.
6089
b40c88a9
VS
60902012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 * docs/grub.texi (Network): Update instructions on generating netboot
6093 image.
6094
ce96d01c
VS
60952012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6098 around device name if necessarry.
6099
0f596201
PFS
61002012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6101
6102 * util/grub-install.in: Follow the symbolic link parameter added
6103 to the file command.
6104
600d5bdb
AB
61052012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6106
6107 * util/grub-install.in: Remove stale TODO.
6108
64ebd2f4
PFS
61092012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6110
6111 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6112 dynamic allocation for the bootpath buffer.
6113
74b2fe3e
DTB
61142012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6115
6116 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6117 window too small.
6118
969b804f
VS
61192012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6122 argument rather than font name. All users updated.
6123 (grub_gfxterm_set_window): Likewise.
6124
b9f5ebd6
VT
61252012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6126
6127 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6128 from working.
6129
258f43b7
VS
61302012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * util/getroot.c (convert_system_partition_to_system_disk): Support
6133 nbd disks.
6134
cc1ce5f9
VS
61352012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6138 infinite loop on corrupted FS.
6139
e77a16ca
VS
61402012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 Fix big-endian mtime.
6143
6144 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6145 together sec and usec.
6146 (grub_ufs_dir): Use correct byteswapping for UFS time.
6147
d9c48c7b
VS
61482012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 Support big-endian UFS1.
6151
6152 * Makefile.util.def (libgrubmods): Add ufs_be.c
6153 * grub-core/Makefile.core.def (ufs1_be): New module.
6154 * grub-core/fs/ufs_be.c: New file.
6155 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6156 the file.
6157
2f9f40ba
LL
61582012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6159
6160 * include/grub/types.h: Fix functionality unaffecting typo in
6161 GRUB_TARGET_WORDSIZE conditional macro.
6162
48ff0889
PFS
61632012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6164
6165 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6166
03711240
GS
61672012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6168
6169 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6170 that /netbsd appears first (when it exists).
6171
a31b11bd
CJ
61722012-10-12 Christoph Junghans <ottxor@gentoo.org>
6173
6174 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6175 Fixes Savannah bug #37558.
6176
e8a5d5d4
CW
61772012-10-12 Colin Watson <cjwatson@ubuntu.com>
6178
6179 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6180 description of extract_entries_configfile.
6181
61822012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6183
6184 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6185 preferred_address.
6186 (grub_cmd_linux): Likewise.
6187 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6188 preferred_lifetime. Update all users.
6189
288c757d
CW
61902012-09-26 Colin Watson <cjwatson@ubuntu.com>
6191
6192 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6193 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6194
0d35da3f
CW
61952012-09-26 Colin Watson <cjwatson@ubuntu.com>
6196
6197 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6198 errors from grub-probe to /dev/null, not stdout.
6199
b78c3127
VS
62002012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6203 sector 1.
6204
473959f0
CW
62052012-09-24 Colin Watson <cjwatson@ubuntu.com>
6206
6207 * util/grub-install.in: Make the error message if $source_dir
6208 doesn't exist more useful.
6209
794c8c33
CW
62102012-09-22 Colin Watson <cjwatson@ubuntu.com>
6211
6212 Fix grub-emu build on FreeBSD.
6213
6214 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6215 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6216 headers on Linux.
6217 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6218 implementation is currently Linux-specific.
6219 * util/getroot.c (exec_pipe): Define only on Linux or when either
6220 libzfs or libnvpair is unavailable.
6221 (find_root_devices_from_poolname): Remove unused path variable.
6222
86d08fdb
CW
62232012-09-19 Colin Watson <cjwatson@ubuntu.com>
6224
6225 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6226 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6227 should fit before end == 63.
6228
735abf54
CW
62292012-09-19 Colin Watson <cjwatson@ubuntu.com>
6230
6231 * util/grub-setup.c (write_rootdev): Remove unused core_img
6232 parameter. Update all callers.
6233 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6234 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6235 GRUB_SETUP_BIOS.
6236
140acd3c
VS
62372012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6240 (grub_add_tab): New function.
6241 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6242 * util/grub.d/10_illumos.in: Likewise.
6243 * util/grub.d/10_kfreebsd.in: Likewise.
6244 * util/grub.d/10_linux.in: Likewise.
6245 * util/grub.d/10_netbsd.in: Likewise.
6246 * util/grub.d/10_windows.in: Likewise.
6247 * util/grub.d/10_xnu.in: Likewise.
6248 * util/grub.d/20_linux_xen.in: Likewise.
6249 * util/grub.d/30_os-prober.in: Likewise.
6250
7ddffdad
VS
62512012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6254 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6255 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6256 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6257 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6258 ieee1275-nocursor.
6259 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6260 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6261
4e092454
VS
62622012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6265 le-conversion.
6266 Reported by: BURETTE, Bernard.
6267
735abf54 62682012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6269
6270 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6271 from comment.
6272
dfd39dbd
CW
62732012-09-14 Colin Watson <cjwatson@ubuntu.com>
6274
6275 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6276 IEEE1275 machines. Fixes powerpc-emu compilation.
6277 * include/grub/terminfo.h: Likewise.
6278
3bfa763c
VS
62792012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6282 a const pointer.
6283 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6284 const pointer.
6285 (efiemu_set_variable): Make vendor_guid a const pointer.
6286
250e475b
VS
62872012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 Don't require grub-mkconfig_lib to generate manpages for programs.
6290
6291 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6292 dependencies, don't add grub-mkconfig_lib.
6293 (program): Pass empty adddeps.
6294 (script): Pass grub-mkconfig_lib as adddeps.
6295
592fd0e4
VS
62962012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6299 * util/getroot.c (grub_find_device): Likewise.
6300 (get_mdadm_uuid): Likewise.
6301 (grub_util_is_imsm): Likewise.
6302 (grub_util_pull_device): Likewise.
6303 * util/grub-probe.c (probe): Likewise.
6304
801a3027
BG
63052012-09-10 Benoit Gschwind <gschwind>
6306
6307 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6308 (devs): Add devpath_8.
6309
c5052c81
PJ
63102012-09-08 Peter Jones <pjones@redhat.com>
6311
6312 * grub-core/Makefile.core.def (efifwsetup): New module.
6313 * grub-core/commands/efi/efifwsetup.c: New file.
6314 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6315 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6316 New define.
6317 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6318
8e832f71
JS
63192012-09-05 Jiri Slaby <jslaby@suse.cz>
6320
6321 * configure.ac: Add SuSe path.
6322
f0f55752
CW
63232012-09-05 Colin Watson <cjwatson@ubuntu.com>
6324
6325 * NEWS: Fix typo.
6326
ecadc4c2
CW
63272012-09-05 Colin Watson <cjwatson@ubuntu.com>
6328
6329 * util/import_gcry.py: Sort cipher_files, to make build system
6330 generation more deterministic.
6331
64498f25
VS
63322012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6335 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6336 (grub_set_datetime): Likewise.
6337
9cc836a2
VS
63382012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6341 warnings.
6342
bcfcea01
VS
63432012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6346
a4099485
VS
63472012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6350
265c162a
CW
63512012-09-04 Colin Watson <cjwatson@ubuntu.com>
6352
6353 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6354 required for checkouts from bzr, but it may be useful for users or
6355 distributors wishing to update translations against a tarball
6356 distribution, and it can be helpful for the tarball to be a superset
6357 of what's in bzr.
6358
3d171e95
CW
63592012-09-04 Colin Watson <cjwatson@ubuntu.com>
6360
6361 * Makefile.am (EXTRA_DIST): Add
6362 grub-core/tests/boot/linux.init-mips.S,
6363 grub-core/tests/boot/linux.init-ppc.S, and
6364 grub-core/tests/boot/linux-ppc.cfg.
6365
f2c2503e
CW
63662012-09-04 Colin Watson <cjwatson@ubuntu.com>
6367
6368 * grub-core/mmap/mips/loongson: Remove empty directory.
6369
63702012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6371
6372 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6373 gone.
6374
ab2163d5
CW
63752012-09-04 Colin Watson <cjwatson@ubuntu.com>
6376
6377 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6378 grub-sparc64-setup.
6379
ce938140
GS
63802012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6381
6382 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6383
529f58a5
GS
63842012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6385
6386 * po/POTFILES.in: Regenerated.
6387
16cf79e9
GS
63882012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6389
6390 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6391 (NetBSD): New subsection.
6392
39b27f1e 63932012-07-22 Ales Nesrsta <starous@volny.cz>
6394
6395 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6396 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6397
a885261b
VS
63982012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6401 * util/grub.d/10_hurd.in: Add missing quoting.
6402 * util/grub.d/10_illumos.in: Likewise.
6403 * util/grub.d/10_kfreebsd.in: Likewise.
6404 * util/grub.d/10_linux.in: Likewise.
6405 * util/grub.d/20_linux_xen.in: Likewise.
6406
7bd29c01
VS
64072012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 New command `lsefi'.
6410
6411 * grub-core/Makefile.core.def (lsefi): New module.
6412 * grub-core/commands/efi/lsefi.c: New file.
6413 * include/grub/efi/api.h: Add more GUIDs.
6414
ac625d8f
VS
64152012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6418 (grub_bsd_elf32_hook): Likewise.
6419 (grub_bsd_elf64_size_hook): Likewise.
6420 (grub_bsd_elf64_hook): Likewise.
6421 (grub_bsd_load_elf): Likewise.
6422
e73bb801
VS
64232012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6426 if hash function is unavailable.
6427 (dec_stream_header): Likewise.
6428
e81db8b5
VS
64292012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6432 filter state.
6433
d187a1c3
VS
64342012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 Fix coreboot compilation.
6437
6438 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6439 (grub_vga_text_init_real): ... this.
6440 (grub_vga_text_fini): Rename to ...
6441 (grub_vga_text_fini_real): ... this.
6442
91a05f64
VS
64432012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6446
6af96df7
VS
64472012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/lib/legacy_parse.c: Support clear and testload.
6450
4d569e12
VS
64512012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6454
073b57bb
VS
64552012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6458
a706f4cc
VS
64592012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/net/tftp.c (ack): Fix endianness problem.
6462 (tftp_receive): Likewise.
6463 Reported by: Michael Davidsaver.
6464
e7850aa9
VS
64652012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6468
64692012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6472 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6473 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6474
35692881
VS
64752012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6478 efi_mmap_size.
6479 Reported by: Stuart Hayes.
6480
c35fc5bd
VS
64812012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6484
6485 * grub-core/Makefile.core.def (mda_text): New module.
6486 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6487 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6488 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6489 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6490 here.
6491 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6492 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6493 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6494 here.
6495 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6496 to ..
6497 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6498 ... here
6499 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6500 here.
6501 * grub-core/term/i386/vga_common.c: Removed.
6502 * include/grub/i386/vga_common.h: Likewise.
6503 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6504 (grub_vga_cr_bw_read): Likewise.
6505 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6506 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6507 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6508 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6509 grub_vga_cr_read/grub_vga_cr_write.
6510 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6511
5f91f701
VS
65122012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * configure.ac: Bump version to 2.00.
6515 * grub-core/normal/main.c (features): Add feature_200_final.
6516
0c4f85f6
VS
65172012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
65182012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6519
6520 * NEWS: Fix unclarity and language mistakes.
6521
f923ad22
VS
65222012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6525 additional size to 3 pages.
6526 Reported by: Stuart Hayes.
6527
d22029ba
VS
65282012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * NEWS: Add 2.00 entry.
6531
58eee08f
VS
65322012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6535 put explicit "/" for empty path.
6536 (wildcard_expand): Improve dprintf.
6537
c59bdff7
VS
65382012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6541 it's equal to currnode. This can happen with "" symlink.
6542
5e6a440a
YB
65432012-06-27 Yves Blusseau <blusseau@zetam.org>
6544
6545 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6546 echo shell command by printf command.
6547
73a68bcb
VS
65482012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6551 the value returned by firmware is the maximal position, not diumension.
6552 (grub_terminfo_output_state): Use a more sane fallback.
6553
392a603b
VS
65542012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6557
42d0867f
VS
65582012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6561 frequency to 150 MHz.
6562
489509f4
VS
65632012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 Apple fixes.
6566
6567 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6568 __APPLE_
6569 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6570 definition.
6571 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6572
9f3fc883
VS
65732012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 Handle slash in HFS label.
6576
6577 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6578 (grub_hfs_dir): Tanslate slash.
6579 (grub_hfs_label): Don't translate slash.
6580
54853fd7
VS
65812012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6584 network protocol listing since it introduces problematic dependency on
6585 net module.
6586
4dc02ddf
VS
65872012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6590
c50c867d
VS
65912012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 Init video early on yeeloong to avoid being rebooted by watchdog.
6594
6595 * grub-core/Makefile.am (gensm712): New target.
6596 (sm712_start.S): Likewise.
6597 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6598 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6599 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6600 description.
6601 * include/grub/vga.h: Move registry definitions to...
6602 * include/grub/vgaregs.h: ... here.
6603
5f92c8a1
VS
66042012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6607 signedness.
6608
e9e6f111
VS
66092012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6612 platforms with firmware disk drivers in the core.
6613
754ad9eb
VS
66142012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6617 informative verbose message.
6618 (read_lv): Handle 64-bit segment size.
6619
315654c2
VS
66202012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6623
fb022c79
VS
66242012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6627 character but still remove trainling spaces.
6628 (grub_fat_label): Ignore archive flag.
6629
8645f72c
VS
66302012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6633 cast between linux_kernel_header and linux_kernel_params.
6634
36498496
VS
66352012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6638 type for size.
6639 (grub_raid6_recover_func_t): Likewise.
6640 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6641 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6642
0b5ea6b8
VS
66432012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6646
650cfcfe
GS
66472012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6648
6649 Fix overflow.
6650
6651 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6652 [__NetBSD__]: Add explicit cast before bitshift.
6653
8a4d6a44
VS
66542012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * configure.ac: Bump to 2.00~rc1.
6657
2fb97ed3
VS
66582012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6661 half of $a0.
6662
1fa097dc
VS
66632012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
66642012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6665
6666 * docs/grub.texi: Fix search syntax.
6667 (Multi-boot manual config): Put msdos rather than GPT example.
6668 Grammar corrections.
6669
c890ba78
VS
66702012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6673
0f92dca7
VS
66742012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6677
3988c4a0
VS
66782012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6681 message on double free. Put the value of magic in case of mismatch.
6682
9e86d4c5
VS
66832012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 Speed-up video on yeeloong.
6686
6687 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6688 add cached_ptr.
6689 (grub_video_sm712_video_fini): Unmap cached_ptr.
6690 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6691 (grub_video_sm712_set_active_render_target): Removed.
6692 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6693 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6694 sync caches.
6695
ed24c312
VS
66962012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 Avoid flushing the same line multiple times on loongson.
6699
6700 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6701 Step in 32 bytes and not 1 byte.
6702 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6703 Likewise.
6704
d1718e7d
VS
67052012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6708 subvolumes.
6709
982f1909
VS
67102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 Implement flow control for http.
6713
6714 * grub-core/net/http.c (parse_line): Handle response 206.
6715 (http_receive): Stall if too many packets are in the queue.
6716 (http_establish): Fix range header.
6717 (http_seek): Fix double free.
6718 (http_close): Likewise.
6719 (http_packets_pulled): New function.
6720 (grub_http_protocol): Set http_seek
6721 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6722 (ack_real): Set window depending on i_stall.
6723 (grub_net_send_tcp_packet): Likewise.
6724 (grub_net_tcp_stall): New function.
6725 (grub_net_tcp_unstall): Likewise.
6726 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6727 (grub_net_tcp_unstall): Likewise.
6728
bd407d6e
VS
67292012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6732
c7564b8e
VS
67332012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6736
a3706162
VS
67372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * tests/util/grub-shell.in: Fix a typo.
6740
b27069e0
VS
67412012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 Implement flow control for tftp.
6744
6745 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6746 packets but stop only if stop condition is satisfied.
6747 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6748 `stall' instead of `eof' as stop condition.
6749 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6750 (http_err): Likewise.
6751 * grub-core/net/tftp.c (ack): Replace the first argument with data
6752 instead of socket.
6753 (tftp_receive): Stall if too many packets are in wait queue.
6754 (tftp_packets_pulled): New function.
6755 (grub_tftp_protocol): Set packets_pulled.
6756 * include/grub/net.h (grub_net_packets): New field count.
6757 (grub_net_put_packet): Increment count.
6758 (grub_net_remove_packet): Likewise.
6759 (grub_net_app_protocol): New field `packets_pulled'.
6760 (grub_net): New field `stall'.
6761
6b9cfac6
VS
67622012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6765 sync part to handle them.
6766
f35abd81
VS
67672012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6770 * grub-core/net/drivers/ieee1275/ofnet.c
6771 (grub_ieee1275_net_config_real): Likewise.
6772
0e7ec820
VS
67732012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6776 the direct route for server/gateway.
6777
9d611a31
VS
67782012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6781 IP address to server name since we may not hame the DNS.
6782
418f45ab
VS
67832012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6786 freeing random buffer on failure.
6787 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6788
44a0efc1
VS
67892012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6792
531e2241
VS
67932012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6796 reserved bytes.
6797 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6798 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6799 Handle malloc error correctly.
6800
cde393c9
VS
68012012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6804 blocks.
6805
538478d0
VS
68062012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6809 increment.
6810
9b55efe0
VS
68112012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6814 none is explicitly specified.
6815
9eb832c3
VS
68162012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6819 while reallocating.
6820
d6b7c7c9
VS
68212012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 Respect netmask from bootp/dhcp.
6824
6825 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6826 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6827 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6828 into ...
6829 (grub_net_add_ipv4_local): ... this.
6830 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6831 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6832 (grub_net_add_ipv4_local): New proto.
6833
67caf9eb
VS
68342012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
6837 determining EFI memory map size.
6838
43657558
VS
68392012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
6842
eb6d0dd3
VS
68432012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
6846 when looking for partition separator.
6847
31230544
VS
68482012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6851 Escape commas.
6852
918a2517
VS
68532012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 Restructure FAT driver to avoid hook in label reading as it hits a
6856 GCC bug.
6857
6858 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
6859 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
6860 (grub_fat_iterate_dir): Split into ...
6861 (grub_fat_iterate_init): ... this, ...
6862 (grub_fat_iterate_fini): ... this, ...
6863 (grub_fat_iterate_dir_next): ... and this. All users updated.
6864
9f1d654e
VS
68652012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6868 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
6869 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6870 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
6871 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
6872 New fields last_key and last_key_time.
6873 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
6874 extended key-esc into extended key-extended key.
6875
52f0f643
VS
68762012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 Avoid unnecessary memcpy of whole video buffer.
6879
6880 * grub-core/video/fb/video_fb.c (dirty): New struct.
6881 (framebuffer): Add members current_dirty and previous_dirty.
6882 (dirty): New function.
6883 (grub_video_fb_fill_rect): Update dirty.
6884 (common_blitter): Likewise.
6885 (grub_video_fb_scroll): Likewise.
6886 (doublebuf_blit_update_screen): Copy only dirty part.
6887 (doublebuf_pageflipping_update_screen): Likewise.
6888 (grub_video_fb_doublebuf_blit_init): Init dirty.
6889 (doublebuf_pageflipping_init): Likewise.
6890 (grub_video_fb_setup): Likewise.
6891
e169a180
VS
68922012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
6895 poll rate.
6896
48556879
VS
68972012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 Fix wildcard regexp dot and other special characters handling.
6900 Reported by: Robert Mabee.
6901
6902 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
6903 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
6904 (split_path): Trigger expansion on '?'.
6905 (unescape): New function.
6906 (wildcard_expand): Unescape parts copied without globbing.
6907 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
6908 (grub_script_arglist_to_argv): Don't unescape expansions.
6909
0494408e
VS
69102012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * include/grub/net.h (grub_net_card): New member txbufsize.
6913 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
6914 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6915 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
6916 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
6917 txbufsize.
6918 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
6919 compatible property to check for macs. Set
6920 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6921 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
6922 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
6923 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
6924 (send_card_buffer): Use txbuf.
6925 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
6926 nested function out of the parent while on it.
6927
cc35fe8f
VS
69282012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
6931 presence check.
6932 (grub_ieee1275_net_config_real): Fix config pointer.
6933
970a0a09
VS
69342012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
6937 filename parsing to non-block devices.
6938
3e19bf87
VS
69392012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * grub-core/kern/device.c (grub_device_open): Remove dead code.
6942
c62d1a0c
VS
69432012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
6946 All users updated.
6947
ef76bec3
VS
69482012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
6951 UUID search command even if hints probing failed.
6952
69532012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
6954
6955 * po/POTFILES.in: Regenerated.
6956
70aaf305
VS
69572012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 Speed-up video on fuloong.
6960
6961 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
6962 New function.
6963 (grub_pci_device_unmap_range): Handle non-cached address.
6964 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
6965 add direct_ptr.
6966 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
6967 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
6968 (grub_video_sis315pro_set_active_render_target): Removed.
6969 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
6970 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6971 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
6972 sync caches.
6973 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
6974 New proto.
6975
10400f0b
VS
69762012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * docs/grub.texi (Multi-boot manual config): New section.
6979
ba67e2c6
VS
69802012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 Avoid slow read-back from VRAM.
6983
6984 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
6985 Move from here ...
6986 * grub-core/video/fb/video_fb.c
6987 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
6988 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
6989 (front_target): Remove front_target. Add pages.
6990 (grub_video_fb_init): Skip setting front_pages.
6991 (grub_video_fb_fini): Likewise.
6992 (doublebuf_blit_update_screen): Use pages.
6993 (grub_video_fb_doublebuf_blit_init): Likewise.
6994 (doublebuf_pageflipping_init): Allocate offscreen buffer.
6995 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
6996 (grub_video_fb_setup): Prefer doublebuffing.
6997
377c98cb
VS
69982012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7001 gzio.
7002
eac49cff
VS
70032012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 Add loongson tests.
7006
7007 * tests/util/grub-shell.in: Handle loongson.
7008 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7009 drivers.
7010 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7011 Reboot instead of shutdown if REBOOT is defined.
7012
0321415e
VS
70132012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7016 sized ports since unlike on real hardware qemu supports only 32-bit
7017 regs.
7018
3f2bdd8f
VS
70192012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7020
7021 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7022 * util/grub-mkrescue.in: Handle loongson.
7023
29a049c9
VS
70242012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7027 Set is_part appropriately.
7028 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7029 names. Canonicalize partition without full disk.
7030
4abde346
VS
70312012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 Revert usb-quiesce since it's wrong.
7034
7035 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7036 (grub_ofdisk_init): Don't do quiesce.
7037
61f1d93b
VS
70382012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7041 PowerMac workaround to Xserves as well.
7042 Information supplied by: Benjamin Herrenschmidt.
7043
a09eb541
VS
70442012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 Don't assume that beginning address is also the entry point on ppc.
7047
7048 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7049 (grub_linux_boot): Use linux_entry.
7050 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7051 (grub_linux_load64): Likewise.
7052
505b3c9b
VS
70532012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7056
cbe0b4ef
VS
70572012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7060 needlessly lose the console.
7061
3006e981
VS
70622012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7065 space.
7066
4e5a96b0
VS
70672012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7068
7da036bb
VS
7069 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7070 than current grub_get_rtc() not implemented when booted with
7071 coreboot without TSC.
7072
7073 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7074 Add machine/time.h to kernel headers on loongson.
7075 * grub-core/Makefile.core.def (kernel): Remove
7076 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7077 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7078 (grub_get_rtc): Likewise.
7079 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7080 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7081 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7082 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7083 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7084 rather than installing known non-working time source.
7085 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7086 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7087 * include/grub/time.h: Don't include machine/time.h.
7088 * include/grub/efi/time.h: Removed.
7089 * include/grub/i386/efi/time.h: Likewise.
7090 * include/grub/i386/ieee1275/time.h: Likewise.
7091 * include/grub/powerpc/ieee1275/time.h: Likewise.
7092 * include/grub/sparc64/ieee1275/time.h: Likewise.
7093 * include/grub/x86_64/efi/time.h: Likewise.
7094
70952012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7098
7099 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7100 value.
7101 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7102 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7103 with dotless variants when any combining above is present.
7104
5561c22d
VS
71052012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7108 text and not binary.
7109
96f7e60e
VS
71102012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 Stop polling as soon as we have the packet we were waiting for.
7113
7114 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7115 All users updated.
7116 * grub-core/net/arp.c (have_pending): New var.
7117 (pending_req): Likewise.
7118 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7119 stop indicator.
7120 (grub_net_arp_receive): Set have_pending.
7121 * grub-core/net/dns.c (recv_data): New field stop.
7122 (recv_hook): Set stop.
7123 (grub_net_dns_lookup): Init stop and use as stop condition.
7124 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7125 condition.
7126 * grub-core/net/net.c (grub_net_poll_cards): New argument
7127 stop_condition. Stop when it goes true.
7128 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7129 indicator.
7130 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7131
3e747239
VS
71322012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 Keep TX and RX buffers on EFI rather than always allocate new ones.
7135
7136 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7137 card. All users updated.
7138 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7139 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7140 (get_card_packet): Likewise.
7141 (grub_efinet_findcards): Init new fields.
7142
f695e99a
VS
71432012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7146 compilation error on sparc64.
7147
9e5e66d1
VS
71482012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 Use ITC on IA64 rather than broken routine based on daytime.
7151
7152 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7153 ia64.
7154 (grub_get_rtc) [__ia64__]: Likewise.
7155 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7156 (get_itc): New function.
7157 (grub_rtc_get_time_ms): Likewise.
7158 (grub_machine_init): Calibrate ITC.
7159 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7160 Keep only on non-ia64. Don't export since it's broken and used only
7161 if TSC is unavailable.
7162
a1767404
VS
71632012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7166 even if it's used.
7167 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7168 Skip if parent is unused.
7169
34b2bced
VS
71702012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7173
5e619f40
VS
71742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 Fix wildcard escaping.
7177
7178 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7179 * grub-core/script/execute.c (wildcard_escape): .. to here.
7180 Don't escape dot.
7181 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7182 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7183 Don't escape dot.
7184 * grub-core/script/execute.c (gettext_append): Always escape.
7185 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7186 * grub-core/script/yylex.l: Don't cut away the escaping.
7187 * tests/grub_script_echo1.in: Add tests with wildcard.
7188
c8ca5855
VS
71892012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7192 (ftdi_hw_configure): Likewise.
7193 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7194 define.
7195 (real_config): Handle 1.5 stop bits.
7196 (pl2303_hw_configure): Likewise.
7197
7183452c
VS
71982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * Makefile.am: Add ppc linux bootcheck.
7201 * grub-core/tests/boot/linux-ppc.cfg: New file.
7202 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7203
f57c84cd
VS
72042012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * tests/grub_script_expansion.in: Skip network protocols.
7207
ecfc6207
VS
72082012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7211
8d03d284
VS
72122012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7215 --rom-directory.
7216 Add -graft-points.
7217
61c42af0
VS
72182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 ESCC serial driver for conducting sautomated tests in qemu.
7221 Not tested on real hardware.
7222
7223 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7224 * grub-core/term/ieee1275/escc.c: New file.
7225 * grub-core/Makefile.core.def (escc): New module.
7226
08fd1291
VS
72272012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7230 invalid on error.
7231 (serial_hw_fetch): Don't read invalid handle.
7232 (serial_hw_put): Don't write into invalid handle.
7233
08dafeea
VS
72342012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 Add a 1.5 stop bits value.
7237
7238 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7239 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7240 GRUB_SERIAL_STOP_BITS_1_5.
7241
9068fdcf
VS
72422012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7245 value rather than let it uninited.
7246
f4d5820f
VS
72472012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7248
7249 * grub-core/commands/wildcard.c (+check_file): New function.
7250 (wildcard_expand): Don't expand to non-existing files, expand with
7251 suffix and not attempt to expand if not needed.
7252
3d2de9a7
VS
72532012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7256 out of partitions containing other partitions.
7257
c5c81ff9
VS
72582012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7261 on some qemu versions with GRUB.
7262
7263 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7264 define.
7265 (grub_openbsd_bootarg_pcibios): New struct.
7266 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7267 Add PCIINFO.
7268
08a14e0b
VS
72692012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * tests/util/grub-shell.in: Trim firmware output on EFI.
7272
cede3ca3
VS
72732012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7276 and coreboot since it's already in kernel.
7277
558d3a60
VS
72782012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7281 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7282 to here. New return value start. All users updated.
7283 Recursively scan linear mappings.
7284 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7285 proto.
7286 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7287 Use grub_util_get_dm_node_linear_info.
7288 * util/getroot.c (convert_system_partition_to_system_disk): Use
7289 grub_util_info rather than grub_dprintf.
7290 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7291
60fde14d
VS
72922012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7295
7296 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7297 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7298
24bd8838
VS
72992012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * include/grub/types.h (grub_set_unaligned64): New function.
7302 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7303 (setup): Likewise.
7304
7bc06a49
VS
73052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7308 (grub_ofdisk_fini): Quiesce USB devices.
7309
49cea015
VS
73102012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7313 caches.
7314
8dcbe03b
VS
73152012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7318
5b258735
VS
73192012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/disk/pata.c (grub_pata_pio_read)
7322 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7323 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7324
37ba07eb
VS
73252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 Extend automated tests to qemu-mips.
7328
7329 * Makefile.am: reorganise tests and enable qemu-mips.
7330 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7331 * grub-core/tests/boot/linux.init-mips.S: New file.
7332 * tests/partmap_test.in: Handle ata0 disks.
7333 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7334 non-pc i386.
7335
070038f8
VS
73362012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7339 ia64.
7340 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7341 quotes while on it.
7342
004be2cd
VS
73432012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7346 (grub_halt): Likewise.
7347 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7348
b1622487
VS
73492012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * grub-core/term/serial.c (grub_serial_register)
7352 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7353 the behaviour in line with x86 platforms.
7354
b7b4ab33
VS
73552012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7358 (grub_ata_strncpy): Likewise.
7359 (grub_ata_identify): Add missing byteswaps.
7360
5e3535ae
VS
73612012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7364 byte-swap.
7365 (screen_read_char): Likewise.
7366 (grub_vga_text_cls): Likewise.
7367
c21b17e6
VS
73682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7371 filenames.
7372 (make_file_path): Likewise.
7373
bf293dec
VS
73742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7377 machines.
7378 Tested by: Paulo Flabiano Smorigo.
7379 Crucial information about API supplied by: Coleen <Last name unknown>.
7380 Reviewed by: Coleen <Last name unknown>.
7381
81f6ef0e
VS
73822012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * util/grub-mkimage.c: Disable -Wcast-align.
7385
7284143a
VS
73862012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7389 as they are fatal.
7390
b99f3e00
VS
73912012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7394
944f752d
VS
73952012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * util/grub-probe.c (escape_of_path): Fix double free.
7398
6cce6f38
VS
73992012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * grub-core/commands/videoinfo.c (hook): Show pitch.
7402
1e1eb50e
VS
74032012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7406
1c715b5a
VS
74072012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7410 (probe): Add ieee1275 to OFW devices.
7411
007ae52d
VS
74122012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7415
4557a36d
VS
74162012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 Handle IBM OFW path.
7419
7420 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7421 available.
7422 (of_path_of_scsi): Handle vdevice.
7423
efbeefe9
VS
74242012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7425
7426 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7427 Allocate in multiples of 16 to avoid adding a few bytes free region the
7428 windows bugs upon.
7429
15a940bb
VS
74302012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7433 Allocate in multiples of 16 to avoid adding a few bytes free region the
7434 windows bugs upon.
7435 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7436
6e5efd60
VS
74372012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7440 resolutions.
7441 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7442 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7443
0d3d137e
IS
74442012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7445
7446 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7447
45dbe300
VS
74482012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7451 resulted in \\ at the end of the line.
7452
6d8db947
VS
74532012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7456 (grub_parser_cmdline_state): Likewise.
7457 (grub_parser_split_cmdline): Likewise.
7458
de89d338
VS
74592012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7462 /dev/root and /dev/dm-*.
7463
00d41dee
VS
74642012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7467 fix partially stale display.
7468
f95d1f11
VS
74692012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7472 substraction.
7473
6297e197
VS
74742012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7477 Fix MBR remapping workaround.
7478 (grub_util_biosdisk_read) [__linux__]: Likewise.
7479
8a7ecad3
VS
74802012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7483
2b34f944
VS
74842012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * configure.ac: Bump to beta6.
7487
684aef11
CW
74882012-05-31 Christer Weinigel <christer@weinigel.se>
7489
7490 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7491
05b0bb91
VS
74922012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7495 (grub_cmd_linux): Likewise.
7496
bda36bfa
CW
74972012-05-31 Christer Weinigel <christer@weinigel.se>
7498
7499 Fix EHCI low-speed.
7500
7501 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7502 (GRUB_EHCI_MULT_TWO): Likewise.
7503 (GRUB_EHCI_MULT_THREE): Likewise.
7504 (GRUB_EHCI_CMASK_MASK): New enum value.
7505 (GRUB_EHCI_SMASK_MASK): Likewise.
7506 (GRUB_EHCI_CMASK_OFF): Likewise.
7507 (GRUB_EHCI_SMASK_OFF): Likewise.
7508 (grub_ehci_pci_iter): Enable periodic schedule.
7509 (grub_ehci_parse_notrun): Likewise.
7510 (grub_ehci_restore_hw): Likewise.
7511 (grub_ehci_setup_qh): Set flags for low speed transfers.
7512 (grub_ehci_find_qh): Use periodic list for low speed.
7513 (grub_ehci_setup_transfer): Check periodic queue as well.
7514 (grub_ehci_check_transfer): Likewise.
7515 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7516
e12bcb1c
PFS
75172012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7518
7519 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7520 parameter is used.
7521
bcc75fb3
PJ
75222012-05-31 Peter Jones <pjones@redhat.com>
7523
7524 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7525 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7526 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7527
f19cb95e
VS
75282012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7531 uninited variable. Allocate at least setup_sects.
7532
a4e5ca80
VS
75332012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 Fix handling of EFI with big memory maps.
7536
7537 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7538 (real_mode_mem): Likewise.
7539 (real_mode_target): Likewise.
7540 (real_mode_pages): Likewise.
7541 (prot_mode_pages): Likewise.
7542 (linux_params): New var.
7543 (linux_cmdline): Likewise.
7544 (free_pages): Don't set real mode variables.
7545 (allocate_pages): Don't allocate real mode memory.
7546 (grub_e820_add_region): Remove the limit.
7547 (grub_linux_boot): Allocate and copy real mode memory.
7548 (grub_linux_unload): Free linux_cmdline.
7549 (grub_cmd_linux): Use temporary storage for parameters.
7550 (grub_cmd_initrd): Likewise.
7551 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7552 (linux_kernel_params): Make it 1K big.
7553
ddb73558
VS
75542012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * Makefile.util.def: Remove -Wno-format.
7557 * grub-core/Makefile.core.def: Likewise.
7558
1c4afb60
VS
75592012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * tests/cmp_unit_test.c: Add missing failure message.
7562 * tests/example_unit_test.c: Likewise.
7563 * tests/printf_unit_test.c: Likewise.
7564
941e3a6d
VS
75652012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7568 relaxation of protective MBR requirements.
7569
b105df76
VS
75702012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * configure.ac: Add condition for COND_HOST_XNU.
7573 * Makefile.util.def (10_xnu): New script.
7574 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7575
84e1569e
VS
75762012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7579 objconv bug.
7580
130c0f77
VS
75812012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7584 Binary on other platforms stays identical.
7585
6fd0b143
VS
75862012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7589 Apple.
7590
0af1751d
VS
75912012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7594
176d5f7d
VS
75952012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7598 rather than defining size_t ourselves to avoid conflict.
7599
7de5e20a
VS
76002012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7603 initialisation to avoid __bzero reference.
7604
f7143efe
VS
76052012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7608 version.
7609 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7610 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7611 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7612 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7613 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7614
e6ad0555
VS
76152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7618 * grub-core/kern/misc.c: Likewise.
7619 * grub-core/loader/i386/xnu.c: Likewise.
7620 * include/grub/i386/tsc.h: Likewise.
7621 * include/grub/symbol.h: Likewise.
7622
4a5a3c4a
VS
76232012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7626 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7627 on older compiler.
7628
037f6d90
VS
76292012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7632 Implement Apple flavour.
7633 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7634
f7194551
VS
76352012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7638 (memmove) [__APPLE__]: Likewise.
7639 (memcpy) [__APPLE__]: Likewise.
7640 (memset) [__APPLE__]: Likewise.
7641 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7642 (memmove) [__APPLE__]: Likewise.
7643 (memcpy) [__APPLE__]: Likewise.
7644 (memset) [__APPLE__]: Likewise.
7645
85a730ca
VS
76462012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7649 dependency discard.
7650
40e80b94
VS
76512012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * grub-core/normal/main.c (read_config_file): Provide config_file and
7654 config_directory.
7655 * util/grub.d/41_custom.in: Use config_directoy when available.
7656
9da59c32
VS
76572012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7660 (grub_bfs_dir): Likewise.
7661
2787ae53
PJ
76622012-05-27 Peter Jones <pjones@redhat.com>
7663
7664 The old code gives arguments to a printf function which can't work
7665 correctly, and the compiler complains.
7666
7667 * grub-core/tests/example_functional_test.c (example_test): Add
7668 missing text.
7669 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7670 * include/grub/test.h (grub_test_assert_helper): New declaration.
7671 (grub_test_assert): Use grub_test_assert_helper.
7672
526ef13d
VS
76732012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7676 (exfctest): ... this to avoid overlong filenames.
7677 All users updated.
7678
20dd511c
VS
76792012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 Handle "." and ".." on squashfs.
7682
7683 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7684 Make inode numbers into stack.
7685 (grub_squash_read_symlink): Use stack.
7686 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7687 (make_root_node): Fill stack.
7688 (grub_squash_open): Use stack.
7689
1d80c62a
VS
76902012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7693 freeing.
7694
d336f652
VS
76952012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7698 stderr on test calls.
7699
8b43f587
VS
77002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7703
80a3dc3f
VS
77042012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7707
47e297d4
VS
77082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7711 "..".
7712
df042ccb
VS
77132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7716 (grub_hfsplus_iterate_dir): Add "." and "..".
7717
fc977f48
VS
77182012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7721 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7722
f3250e5f
VS
77232012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7726 (find_path): Handle "." and "..".
7727
fd8ed4c5
VS
77282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7731 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7732 (grub_affs_iterate_dir): Handle hardlinks.
7733
4ce776d2
MG
77342012-05-26 Matthew Garrett <mjg@redhat.com>
7735
7736 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7737 (grub_efi_console_fini): Likewise.
7738 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7739 (grub_video_gop_fill_mode_info): Rename to ...
7740 (grub_video_gop_fill_real_mode_info): ... this.
7741 (grub_video_gop_fill_mode_info): New function.
7742 (grub_video_gop_setup): Setup double framebuffer.
7743 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7744 Free offscreen.
7745 (grub_video_gop_swap_buffers): Copy framebuffer.
7746 (grub_video_gop_fini): Free offscreen buffer.
7747 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7748 New enum.
7749 (grub_efi_gop_blt_pixel): New struct.
7750
683031ba
VS
77512012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7752
7753 * gentpl.py: Remove error disabling for objconv.
7754
c2deb798
VS
77552012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * configure.ac: Remove -Wunitialized as it's not available on older
7758 compilers.
7759
77602012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
7761
7762 Fix extent overflow comparator.
7763
7764 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7765 (grub_hfsplus_read_block): Set type.
7766 (grub_hfsplus_cmp_extkey): Compare type.
7767
d6b1fd36
VS
77682012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7771
0a9aa0f6
VS
77722012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7775 than 0.
7776
8360e159
VS
77772012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7780 (dejavu_bold_14.pf2): New target.
7781
501b9e4b
VS
77822012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * configure.ac: Fix djvu font detection.
7785
7026b0e2
VS
77862012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7789 ext* instead of ext2.
7790
c2a51ade
VS
77912012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7794 name with \0.
7795
8f803a5d
JU
77962012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7797
7798 * docs/grub-dev.texi: Remove dot from .png.
7799
13c6353f
VS
78002012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7803 protective entry in any slot.
7804 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7805 if protective entry is found in any slot.
7806
7807 Protective entry in non-first slot make no sense but is a widespread
7808 brain damage.
7809
4cf6be1b
VS
78102012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7813
937d1c44
VS
78142012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7817 with old reiserfs.
7818 (grub_reiserfs_open): Don't free root.
7819
021d90ec
VS
78202012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7823 after freeing for safety.
7824
967b2b64
VS
78252012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7828 Reported by: Jordan Uggla.
7829
34274d02
JU
78302012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7831
967b2b64
VS
7832 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7833 actual implementation. Specifically, clarify that the grub menu will
7834 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7835 passed.
34274d02 7836
dcaaae9d
BH
78372012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
7838
7839 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
7840 of r0.
7841
7086ad52
VS
78422012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 Remove unjustified hard dependency of normal.mod on gfxterm.
7845
7846 * include/grub/term.h (grub_term_output): New member fullscreen.
7847 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
7848 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
7849 (grub_gfxterm): Set .fullscreen.
7850 * grub-core/normal/menu.c (menu_init): Use fullscreen.
7851 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
7852
37ed2c9b
VS
78532012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
7856 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 7857 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 7858
a4469c88
VS
78592012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
7862
4e461486
VS
78632012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7866 a bad FS.
7867
aa78f5c4
VS
78682012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
7871 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
7872
197626b5
VS
78732012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
7876 (grub_jfs_mount): Fill caseins.
7877 (grub_jfs_find_file): Respect caseins.
7878
8ad3f28c
VS
78792012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
7882 through UTF-16.
7883
0c6c324e
VS
78842012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
7887 New argument origpath. All users updated.
7888
c6666ba6
VS
78892012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
7892 (read_attr): Ensure that we read start of possibly compressed block.
7893
e28e5fe5
VS
78942012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
7897 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
7898 All users updated.
7899
5fc23ab2
VS
79002012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
7903 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
7904 (dejavu.pf2): Replace with ...
7905 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
7906 this.
7907
79dbc21c
VS
79082012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 * util/grub.d/20_linux_xen.in: Add missing line.
7911
d2fcfb0c
VS
79122012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
7915 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
7916 (grub_utf16_to_utf8): Likewise.
7917
5560e9d6
VS
79182012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
7921 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
7922 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7923 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
7924 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7925 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
7926
79272012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
7928
7929 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7930 a bad FS.
7931
5560e9d6 79322012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
7933
7934 * grub-core/fs/udf.c (read_string): Bail out on size=0.
7935 (grub_udf_read_symlink): Handle read_string failure.
7936
5eae3175
VS
79372012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
7940 comment.
7941
c1ad82db
VS
79422012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 Fix handling of UDF symlinks.
7945
7946 * grub-core/fs/udf.c (read_string): New argument outbuf.
7947 All users updated.
7948 (grub_ufs_read_symlink): Rename to ...
7949 (grub_udf_read_symlink): ... this. All users updated.
7950 Handle symlinks with more than one component.
7951
33eca6e0
VS
79522012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
7955 symlinks. Replace leading colon with a slash.
7956
57f4a70b
VS
79572012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
7960 filename.
7961
38c8ee20
VS
79622012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
7965 match in inner node.
7966
2e57f28f
VS
79672012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
7970 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
7971 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
7972 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
7973 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
7974 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
7975 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
7976 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
7977 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
7978
fe8c2f11
VS
79792012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 Use grub-probe and not cmp to check that disk is empty.
7982
7983 * util/grub-install.in: Use grub-probe for zero-check.
7984 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
7985 (probe): Handle PRINT_ZERO_CHECK.
7986 (argp_parser): Handle -t zero_check.
7987
79882012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
7989
7990 Flush block cache on adding disk to device map.
7991
7992 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
7993 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
7994 adding.
7995 (read_device_map): Likewise.
7996 (open_device): Flush on opening.
7997
690434e8
VS
79982012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8001 (handle_symlink): Fix off-by-one error.
8002 Canonicalize the target.
8003 (grub_cpio_dir): Canonicalize the name.
8004 Fix memory leak.
8005 Set directory.
8006 (grub_cpio_open): Canonicalize the name.
8007
742d2be6
VS
80082012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8011 handling.
8012
3244fe96
VS
80132012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8016 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8017
8aeb1837
VS
80182012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8021 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8022 All users updated.
8aeb1837 8023
9133fd05
VS
80242012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8027 counterpart.
8028
6d521c5b
VS
80292012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 Fix UFS1 big file support.
8032
8033 * grub-core/fs/ufs.c (INODE): Removed.
8034 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8035 64-bit.
8036 (INODE_MODE): Simplify.
8037 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8038 (grub_ufs_lookup_symlink): Don't use INODE.
8039
21b82e17
VS
80402012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8043
8044 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8045 (grub_minix_data): Replace log_block_size with block_size.
8046 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8047 (grub_minix_mount): Fill block_size.
8048
80492012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8050
8051 * configure.ac: Bump to beta5.
8052
f417ed04
VS
80532012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 Fix wrapped HFS+ handling.
8056
8057 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8058 blocks_start. All users updated.
8059 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8060 wrapping offset.
8061 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8062
607d282b
VS
80632012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 Fix long symlinks on reiserfs.
8066
8067 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8068 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8069 (grub_reiserfs_iterate_dir): Save size for non-directories.
8070 (grub_reiserfs_open): Don't reread stat block as we already know the
8071 size.
8072 (grub_reiserfs_read): Split into...
8073 (grub_reiserfs_read_real): ... and ...
8074 (grub_reiserfs_read): ...this.
8075
ae16024d
VS
80762012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 Fix non-indexed JFS.
8079
8080 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8081 (grub_jfs_data): New field namecomponentlen.
8082 (grub_jfs_mount): Fill namecomponentlen.
8083 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8084
eea1e26e
VS
80852012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8088 * tests/grub_script_echo1.in: Add tests.
8089
df760f77
VS
80902012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * util/grub-install.in: Ignore empty devicetree directory.
8093
5efb817d
B
80942012-05-08 Bean <bean123ch@gmail.com>
8095
8096 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8097 All users updated.
8098 (free_rsm): Free header as well.
8099 (free_old_fragments): Fix memory leak.
8100 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8101 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8102 (destroy_pq): Likewise.
8103 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8104
668ea6d2
VS
81052012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8108 resulting hash as a precaution.
8109
1739b1fe
VS
81102012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8113 '_' in variable names.
8114 * grub-core/net/net.c (grub_net_network_level_interface_register):
8115 Likewise.
8116
6ae485aa
VS
81172012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 Fix AFFS with non-512B blocks.
8120
8121 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8122 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8123 (grub_affs_data): Replace blocksize with log_blocksize.
8124 (grub_affs_read_block): Fix non-512B blocks.
8125 (grub_affs_read_symlink): Likewise.
8126 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8127 (grub_affs_read): Fix non-512B blocks.
8128 (grub_affs_label): Likewise.
8129 (grub_affs_mtime): Likewise.
8130 (grub_affs_mount): Fix block detection routine.
8131
d20fab84
VS
81322012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 Add filesystem mtime to AFFS.
8135
8136 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8137 (aftime2ctime): New function.
8138 (grub_affs_dir): Use aftime2ctime.
8139 (grub_affs_label): Fix return value.
8140 (grub_affs_mtime): New function.
8141 (grub_affs_fs): Add mtime.
8142
e87b10f5
VS
81432012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8146 UTF-8.
8147
7dceec9b
VS
81482012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8151 UTF-8.
8152
2f48221f
VS
81532012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8156
dacd85cf
VS
81572012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8160 flags.
8161 (FLAGS_CASE_SENSITIVE): New enum value.
8162 (cache_entry): New struct.
8163 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8164 cache_size and cache.
8165 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8166 Add log_blocksize and fshelp_flags.
8167 (grub_sfs_read_extent): Handle non-512 blocks.
8168 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8169 (grub_sfs_read_file): Handle non-512 blocks.
8170 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8171 fshelp_flags.
8172 (grub_sfs_read_symlink): Handle non-512 blocks.
8173 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8174 (grub_sfs_dir): Free cache.
8175 (grub_sfs_close): Likewise.
8176
24e9a854
VS
81772012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8180 filesystems.
8181
62ace64d
VS
81822012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8185
83b2e89c
VS
81862012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8189
75ccaea3
VS
81902012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8193 (grub_sfs_read_extent): Likewise.
8194 (grub_sfs_read_block): Likewise.
8195 (grub_sfs_mount): Likewise.
8196 (grub_sfs_iterate_dir): Likewise.
8197 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8198 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8199
1b8463f2
VS
82002012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 Fix errors on compressed NTFS with 512B clusters.
8203
8204 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8205 types.
8206 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8207 not 0.
8208 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8209 Relax check for inline extents.
8210 (ntfscomp): Return correct -1 on error and not 0.
8211
4f8e368f
VS
82122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * util/grub-install.in: Fix handling of prefix containing spaces.
8215
6f5d5ee8
VS
82162012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8219 (grub_squash_read_data): Fix offset byte-swapping.
8220
ce41ab7a
VS
82212012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8222
8223 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8224 per common usage and preffered in several parts of code.
8225 (grub_memcmp): Likewise.
8226 (grub_strncmp): Likewise.
8227 * include/grub/misc.h (grub_strcasecmp): Likewise.
8228 (grub_strncasecmp): Likewise.
8229 * Makefile.util.def (cmp_test): New test.
8230 (grub_script_strcmp): Likewise.
8231 * tests/cmp_unit_test.c: New file.
8232 * tests/grub_script_strcmp.in: Likewise.
8233 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8234
49717bf4
VS
82352012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 * include/grub/pci.h: Move enums into no-asm part.
8238
0a308f64
VS
82392012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8242
1796965f
ST
82432012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8244
8245 * util/getroot.c (find_hurd_root_device): Try to make error message
8246 and comments to translators clearer.
8247
4e9b2819
VS
82482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8251
076aeb50
VS
82522012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8255 btrfs.
8256
19424d94
VS
82572012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * docs/grub.cfg: Update.
8260
ebb73076
VS
82612012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * docs/grub.texi (PXE): Remove not present variables.
8264
9a1b669c
VS
82652012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * grub-core/net/net.c (defserver_set_env): New function.
8268 (defserver_get_env): Likewise.
8269 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8270
d38bf7d3
VS
82712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8274 entries.
8275
82762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8277
8278 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8279 * grub-core/kern/emu/hostdisk.c: Likewise.
8280
e5e4ca48
ST
82812012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8282
8283 Handle hurd userspace partitions.
8284
8285 * util/getroot.c (find_hurd_root_device): New function.
8286 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8287
56bb5dd5
VS
82882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8289
8290 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8291 names.
8292 Reported by: Bastian Blank.
8293
9e8bc27a
VS
82942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8297 crossing page boundary.
8298
aa01499d
VS
82992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 Fix B-tree search in BFS, especially in presence of non-ASCII
8302 characters.
8303
8304 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8305 (find_in_b_tree): Use standard bsearch + btree algorithm.
8306
57006035
VS
83072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8310 and so on.
8311
9d34bb85
MG
83122012-05-03 Matthew Garrett <mjg@redhat.com>
83132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 Suspend broadcom cards in order to stop their DMA.
8316
8317 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8318 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8319 (pci): Don't build on x86 EFI.
8320 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8321 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8322 New function.
8323 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8324 stop_broadcom if running on EFI.
8325 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8326 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8327 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8328 (grub_pci_find_capability): New proto.
8329
01aab997
VS
83302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 * docs/grub.texi: Remove dot from the extension as it apparently
8333 doesn't work with some makeinfo versions.
8334
fbd8dca6
VS
83352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8336
8337 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8338 with GRUB expectance.
8339
dab797f4
VS
83402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8343
1516bfb4
VS
83442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8347 zero after directory block since last entry may be not 0-terminated if
8348 it ends on block boundary. Use continue instead of if spanning whole
8349 loop.
8350
a3a0eace
VS
83512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 Support 4K sectors UDF inline files.
8354
8355 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8356 (grub_udf_extended_file_entry): Likewise.
8357 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8358 All users updated.
8359 (get_fshelp_size): New function.
8360 (grub_udf_read_icb): Read whole block.
8361 (grub_udf_iterate_dir): Likewise.
8362 (grub_udf_dir): Likewise.
8363 (grub_udf_open): Likewise.
8364
c82f16c1
VS
83652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8368
59fd2aac
VS
83692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8372 inline symlinks in addition to workaround.
8373
3b4afb4d
VS
83742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8377
f45c794a
VS
83782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8381
f25cecbd
VS
83822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8385
bb9a34e8
VS
83862012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 Fix reiserfs big seek times.
8389
8390 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8391 exact. All users updated.
8392 (grub_reiserfs_read): Use nearest btree search for seeking.
8393 Fix return value on error.
8394
dc478aea
VS
83952012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8398 entries.
8399 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8400 * docs/grub.texi: Update menuentry description.
8401
8db10f47
VS
84022012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8405 crash when embedding onto filesystem.
8406
bcb288ed
VS
84072012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8410 name.
8411
a626fdd7
VS
84122012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8415
b2f68477
VS
84162012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8419 commit.
8420
ba15b2af
B
84212012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
84222012-05-01 Bean <bean123ch@gmail.com>
8423
8424 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8425
a188012e
VS
84262012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8429 Special behaviour for len = 0 to read whole file isn't used anywhere and
8430 can cause buffer ovewrflows in several places.
8431
f0a53ed2
VS
84322012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8435
5ed554f0
VS
84362012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 Handle RAIDZ on non-512B sectors.
8439
8440 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8441 max_children_ashift.
8442 (fill_vdev_info_real): Fill max_children_ashift.
8443 (read_device): Use max_children_ashift.
8444
ddc58357
VS
84452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8448
e3282399
VS
84492012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8452 disk names.
8453 * docs/grub.texi: Update device.map parts.
8454
ee618bd4
VS
84552012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 Don't scan into non-diskfilter devices having diskfilter names.
8458
8459 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8460 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8461 handling.
8462 (scan_disk_hook): New function.
8463
bdf88864
B
84642012-04-29 Bean <bean123ch@gmail.com>
8465
8466 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8467 allocation.
8468
32745f51
MK
84692012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8470
8471 * configure.ac: Detect starfield theme font path
8472 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8473
bc95c8c0
VS
84742012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8477 geometry on serial consoles.
8478
147fbcab
VS
84792012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8482 because of network consoles.
8483
0f42c889
VS
84842012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8487 handling.
8488
4a3594c9
VS
84892012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8490
8491 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8492 falls on Q syndrom.
8493
5cb53879
VS
84942012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8497 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8498
b282dfe5
VS
84992012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8502 Allocate at lest 8192 for temporary buffer as required for lzo.
8503
daa59f47
VS
85042012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8507 to cluster_bits, since it's already added in.
8508 (grub_fat_read_data): Likewise.
8509
986748ce
VS
85102012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8513 as long as cluster size is multiple of 512 bytes.
8514
a20f6ad0
VS
85152012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * util/grub-mkrescue.in: Fix locale directory.
8518
385f9abb
VS
85192012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 * grub-core/kern/emu/hostdisk.c (map): Make static.
8522
1c557d30
B
85232012-04-23 Bean <bean123ch@gmail.com>
8524
8525 * util/grub-fstest.c (fstest): Add missing break.
8526
524b5d3a
ST
85272012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8528
8529 Fix hurd build.
8530
8531 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8532 not define nr variable.
fe4824e9 8533 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8534 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8535 grub_find_device): Do not define.
524b5d3a 8536
9a06490c
VS
85372012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 Fix kfreebsd compile and behaviour.
8540
8541 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8542 format-security.
8543 * util/getroot.c: Fix wait.h include.
8544 (grub_guess_root_devices): Error if grub_find_device fails.
8545 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8546 (grub_util_get_dev_abstraction): Likewise.
8547 (grub_util_pull_device): Likewise.
8548 (grub_util_get_grub_dev): Likewise.
8549 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8550
48143d96
VS
85512012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 Fix and unify wholedisk detection.
8554
8555 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8556 is_part. All users updated.
8557 (device_is_wholedisk): Removed.
8558 (grub_util_biosdisk_get_grub_dev): Use is_part.
8559
ebbd24f3
VS
85602012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8563 mode.
8564
56f7aa1e
VS
85652012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * configure.ac: Bump to beta4.
8568
9c815e01
VS
85692012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8570
8571 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8572 --fs-uuid --set UUID syntax.
8573
59e2651a
VS
85742012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8577 disunification.
8578
54e03cfc
VS
85792012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8582
81092a75
MK
85832012-04-18 Mads Kiilerich <mads@kiilerich.com>
8584
8585 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8586
f8315e14
MG
85872012-04-18 Mike Gilbert <floppym@gentoo.org>
8588
8589 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8590
1501ac21
B
85912012-04-18 Bean <bean123ch@gmail.com>
8592
8593 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8594 place.
8595
cb7f944e
VS
85962012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8599 users updated.
8600 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8601 corresponding to GRUB partitions.
8602 (grub_util_biosdisk_write): Likewise.
8603
b72d44a1
VS
86042012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 Scan mdraid before LVM.
8607
8608 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8609 (grub_diskfilter_register_front): ... this.
8610 (grub_diskfilter_register_back): New function.
8611 All users of grub_diskfilter_register updated.
8612
33d918b8
VS
86132012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * util/grub-install.in: Fix an automatic target detection bug.
8616
c6ca973d
VS
86172012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8618
8619 * util/grub-install.in: New option --efi-directory.
8620
b41be562
VS
86212012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8624 boot services if we have no other choice.
8625
86262012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8629 document it.
8630 * tests/util/grub-shell.in: Update to --directory.
8631
e0595a73
VS
86322012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8635
4ed80652
VS
86362012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8639 (grub_minix_read_file): Likewise.
8640 (grub_minix_read_inode): Likewise.
8641 (grub_minix_find_file): Likewise.
8642 (grub_minix_dir): Likewise.
8643
56008077
VS
86442012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * util/grub-setup.c (setup): Fix partition handling and blocklist
8647 check.
8648
ee520775
VS
86492012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8652 redundant buggy overlap check.
8653
16fc9293
VS
86542012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8657 and grub-mknetdir.
8658
9bab65c4
VS
86592012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8660
8661 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8662 kh.loadflags on pre-2.00 kernels.
8663
3c491b47
VS
86642012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 Terminate UNDI and PXE before launching the payload to avoid problems
8667 with DMA.
8668
8669 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8670 (grub_loader_flags): ... this. All users updated.
8671 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8672 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8673 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8674 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8675 function.
8676 (grub_pxe_restore): Likewise.
8677 (fini_hnd): New var.
8678 (GRUB_MOD_INIT): Register shutdown hook.
8679 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8680 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8681 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8682 (grub_loader_set): Rename second argument to flags.
8683
851ffada
VS
86842012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8687 written bytes.
8688 (grub_get_num_of_utf8_bytes): New function.
8689 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8690 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8691 executing it.
8692 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8693 (grub_ucs4_to_utf8): Change return type.
8694
491c57a8
VS
86952012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8698 warning.
851ffada
VS
8699 * grub-core/fs/bfs.c (hop_level): Likewise.
8700 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 8701
756773df
VS
87022012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/lib/adler32.c: Recode due to license unclearness.
8705
fd556a96
VS
87062012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8709 (test_header): Likewise.
8710
9f9d3f69
VS
87112012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 Fix --help formatting.
8714
8715 * util/grub-mkconfig_lib.in (print_option_help): New function.
8716 (grub_fmt): Likewise.
8717 * util/grub-install.in: Use print_option_help and grub_fmt.
8718 * util/grub-kbdcomp.in: Likewise.
8719 * util/grub-mkconfig.in: Likewise.
8720 * util/grub-mknetdir.in: Likewise.
8721 * util/grub-mkrescue.in: Likewise.
8722 * util/grub-mkstandalone.in: Likewise.
8723 * util/grub-reboot.in: Likewise.
8724 * util/grub-set-default.in: Likewise.
8725 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8726
561ec77e
VS
87272012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * linguas.sh: Remove autogenerated *.po.
8730
7ec2b021
VS
87312012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * po/README: Move language fetcing to ...
8734 * linguas.sh: ... here.
8735 * po/README: Point to linguas.sh.
8736
a88f3270
VS
87372012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * po/README: Exclude ko.po due to disclaimer problems.
8740
d61357ce
VS
87412012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8744 len = 0.
8745 (grub_gettext_translate_real): Handle 0th string.
8746 (grub_gettext_translate): Ensure that "" isn't translated.
8747
505e41dc
VS
87482012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8751 TRANSLATORS comment.
8752 (grub_diskfilter_print_partmap): Propagate changing of error into
8753 warning.
8754
e44092db
VS
87552012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8758 to uint64_t to prevent overflow.
8759 (grub_diskfilter_lv): Increase start_extent and extent_count
8760 to uint64_t to prevent overflow.
8761
9b83956a
VS
87622012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * configure.ac: Increase version.
8765
da0d5b3f
VS
87662012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8769
8770 * po/Rules-translit: New file.
8771 * po/arabic.sed: Likewise.
8772 * po/cyrillic.sed: Likewise.
8773 * po/greek.sed: Likewise.
8774 * po/hebrew.sed: Likewise.
8775 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8776 * po/Makefile.in.in: Add extra_dist4.
8777
ac66b453
VS
87782012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8781
8782 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8783 modify names. Introduce MODE_BIGENDIAN.
8784 * grub-core/fs/minix_be.c: New file.
8785 * grub-core/fs/minix2_be.c: Likewise
8786 * grub-core/fs/minix3_be.c: Likewise.
8787 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8788 minix3_be.
8789 * grub-core/Makefile.core.def (minix_be): New module.
8790 (minix2_be): Likewise.
8791 (minix3_be): Likewise.
8792
87932012-04-01 Felix <email@hamburg.de>
8794
8795 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8796 (devs): Add MBP 2011.
8797
0a2d5a82
VS
87982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8801
d1625889
VS
88022012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * grub-core/normal/cmdline.c (print_completion): New field
8805 prompt_len.
8806 (grub_cmdline_get): Handle width properly.
8807
6d36a236
VS
88082012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8811
9576977e
VS
88122012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8815 after 29th of February.
9576977e 8816
d73ff15d
VS
88172012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 Fix exfat endianness handling.
8820
8821 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8822 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8823 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8824 Byte-swap utf16 when necessary.
8825 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8826
bbb39a45
AB
88272012-03-31 Anton Blanchard <anton@samba.org>
88282012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 Fix btrfs endianness handling.
8831
8832 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8833 (lower_bound): Make root uint64_t. Use root in le.
8834 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8835 (find_path): Fix template key init.
8836 (grub_btrfs_dir): Fix mtime byteswap.
8837 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
8838
354e0af7
VS
88392012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
8842 recursion_depth. Break infinite resursions. All users updated.
8843
4e75f21c
VS
88442012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
8847 after free.
8848 Reported by: Peter Jones.
8849
25581802
AB
88502012-03-31 Anton Blanchard <anton@samba.org>
8851
8852 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8853 8 bit values.
8854
08fbf92e
VS
88552012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * util/grub-install.in: Fix nvram call for PreP.
8858
5d1182a6
VS
88592012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
8862 the error when some elements are missing into a warning.
8863
3f8cdd90
VS
88642012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
8867
51006716
CW
88682012-03-28 Colin Watson <cjwatson@ubuntu.com>
8869
8870 * docs/grub.texi (Invoking grub-probe): New section.
8871 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
8872
e1bd676b
VS
88732012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 Fix tab and wide character handling in editor and menu.
8876
8877 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
8878 agglomerate control characters with combining marks.
8879 (bidi_line_wrap): Allow break on tab.
8880 (grub_unicode_get_comb_start): New function.
8881 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
8882 and tab correctly.
8883 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
8884 with a space.
8885 * grub-core/normal/term.c (print_ucs4_terminal): New argument
8886 fixed_tab_size. All users updated.
8887 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
8888 (grub_term_getcharwidth): Handle \t.
8889 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
8890 and copy.
8891
22e6a774
VS
88922012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8893
8894 Handle big-endian mdraid.
8895
8896 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
8897 * grub-core/Makefile.core.def (mdraid09_be): New module.
8898 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
8899 rather than grub_le_to_cpu* and grub_cpu_to_le*.
8900 * grub-core/disk/mdraid_linux_be.c: New file.
8901
3c0eae66
VS
89022012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
8905
b6cf74c9
VS
89062012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8909 missing quotes which caused confusion among translators.
8910
83c93b9c
VS
89112012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * util/grub-mkconfig_lib.in: Fix typo.
8914
ac6fd218
VS
89152012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
8918 spaces.
8919 * tests/grub_script_leading_whitespace.in: New file.
8920 * Makefile.util.def (grub_script_leading_whitespace): New test.
8921
ba287dd8
VS
89222012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
8925 to work.
8926
d2d58d0a
VS
89272012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
8930 starts with control character.
8931
0382d9bb
VS
89322012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
8935 overflow.
8936 (grub_gdb_outbuf): Likewise.
8937
d83ff9f9
VS
89382012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
8941 zero terminator. Fixes a crash.
8942
2282da4a
VS
89432012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
8946 beyond 4 GiB.
8947 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
8948 images independently of preffered adderss field.
8949
0ae4f0bd
VS
89502012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
8953 * grub-core/commands/regexp.c: Likewise.
8954 * grub-core/loader/i386/linux.c: Likewise.
8955 * grub-core/partmap/msdos.c: Likewise.
8956 * grub-core/script/execute.c: Likewise.
8957 * grub-core/term/gfxterm.c: Likewise.
8958
546fbe9b
VS
89592012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 Add variable parsing in $"..." and fix several mismatches with bash.
8962
8963 * Makefile.util.def (grub_script_gettext): New test.
8964 * grub-core/script/execute.c (parse_string): New function.
8965 (gettext_append): Likewise.
8966 (grub_script_arglist_to_argv): Use gettext_append.
8967 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
8968 * tests/grub_script_gettext.in: New file.
8969
9fdb2d7b
VS
89702012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 Fix handling of leading spaces in scripts.
8973
8974 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
8975 spaces.
8976 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
8977 other than skipping \r. All users updated.
8978 * tests/grub_script_echo1.in: Add space-related tests.
8979 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
8980
1a1ac4f6
VS
89812012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
8984
b63d89b6
VS
89852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8986
8987 * configure.ac: Bump up the version to beta2.
8988
17f38c0f
VS
89892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 Fix gettext reload bugs (e.g. inability to disable gettext
8992 once enabled).
8993
8994 * grub-core/gettext/gettext.c: Encapsulate all static variables in
8995 main_context and secondary_context. All functions updated.
8996 (grub_gettext_translate): Rename to ...
8997 (grub_gettext_translate_real): ... this. Return NULL on failed
8998 translate.
8999 (grub_gettext_translate): Handle secondary context.
9000 (grub_gettext_delete_list): Close file and zero-out the context.
9001 (grub_mofile_open): Don't call grub_gettext_delete_list.
9002 Don't close file.
9003 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9004 if locale="" to avoid pointless error message.
9005 (grub_gettext_env_write_lang): Update lang even if load fails.
9006 Handle secondary context.
9007 (grub_gettext_reread_prefix): New function.
9008 (read_main): Likewise.
9009 (read_secondary): Likewise.
9010 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9011 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9012 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9013 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9014
8e56f870
VS
90152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * configure.ac: Decrease warning level to avoid spurious warnings and
9018 to be able to compile with GCC 4.2.
9019 * Makefile.util.def: Remove -Wno-error=logical-op.
9020
82f6d455
WB
90212012-03-10 William Bittner <william.bittner@gmail.com>
9022
9023 * util/import_unicode.py: Add missing brackets around string for
9024 python 3 support.
9025
1ecd61a4
VS
90262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 Fix efi chainloader on network root.
9029
9030 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9031 network devices.
9032 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9033 New function.
9034
14361ee8
VS
90352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9038 unused show_text member.
9039 * docs/grub.texi: Document "text" property.
9040
922aabf3
VS
90412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9044 in dprintf.
9045
ec316771
VS
90462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 Fix IMSM handling on Fedora.
9049
9050 * util/getroot.c (grub_util_is_imsm): New function.
9051 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9052
0f021838
VS
90532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * Makefile.am: Strip gold section.
9056 * conf/Makefile.common: Likewise.
9057 * gentpl.py: Likewise.
9058 * grub-core/Makefile.core.def: Likewise.
9059 * grub-core/genmod.sh.in: Likewise.
9060
1039c8eb
VS
90612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9064 * util/grub.d/20_linux_xen.in: Likewise.
9065 Based on Debian patch.
9066
6dd412cd
VS
90672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * util/grub.d/10_linux.in: Fix syntax error resulting in
9070 Richard Laager's patch.
9071 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9072
3fd8bae5
VS
90732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9076 dependencies.
9077
7eea1671
RL
90782012-03-10 Richard Laager <rlaager@wiktel.com>
9079
9080 * util/grub.d/10_linux.in: Fix ZFS root passing.
9081
e8e0566b
VS
90822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9085 * grub-core/commands/xnu_uuid.c: Likewise.
9086 * grub-core/loader/efi/appleloader.c: Likewise.
9087 * grub-core/script/execute.c: Likewise.
9088 * grub-core/script/main.c: Likewise.
9089 * util/grub-mkfont.c: Likewise.
9090
1acc5b1f
VS
90912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * util/grub-mkfont.c (options): Use more appropriate "select" that
9094 "set" for face index.
9095
35d70620
VS
90962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 * util/grub-editenv.c (options): Gettextize command summaries.
9099
c9eb96b5
VS
91002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9103 "out of memory" error messagge.
9104
1f493136
VS
91052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9108 of diskfilter for diskfilter on diskfilter support.
9109
6d790129
VS
91102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9113
005f46c9
VS
91142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9117 themes/starfield.
9118
c8f778a0
VS
91192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9122
de1e64eb
VS
91232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9126
c6d54211
VS
91272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9130 of error message.
9131
dd390777
VS
91322012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9135
5fd1c522
VS
91362012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9139 message.
c6d54211 9140 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9141
fae01f6c
VS
91422012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9145 Gettextize.
9146 * util/grub-mount.c (options): Likewise.
9147
292fdaff
VS
91482012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9151 gettextize.
9152 * grub-core/commands/search_wrap.c (options): Likewise.
9153
ecdbae77
VS
91542012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9157
52bfedfa
VS
91582012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9161 size calculation.
9162 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9163 none is known.
9164
55b20e58
VS
91652012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9168 "temporary" since it's used in identifier and is limited in space.
9169
fda9d101
VS
91702012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9171
9172 * po/POTFILES.in: Regenerate. Include *.h since they contain
9173 translatable strings as well.
9174
6a0295e2
VS
91752012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9178 byte-swap on big-endian.
9179 Reported by: Lennart Sorensen
9180
807fb77c
VS
91812012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9184 (allocate_pages): Improve dprintf.
9185 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9186 code32_start. Fill code32_start and kernel_alignment in params.
9187 (grub_cmd_initrd): Use prot_init_space.
9188
61ac50ba
VS
91892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9192
abdd26dd
VS
91932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * util/grub-install.in: Add missing dot at the end of sentence.
9196
6e69da9c
VS
91972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9200 * grub-core/commands/videotest.c: Likewise.
9201 * grub-core/loader/i386/linux.c: Likewise.
9202
4a929343
VS
92032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9204
9205 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9206 sentence.
9207 Reported by: Milo Casagrande.
9208
bb51c6c6
VS
92092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9212 * grub-core/commands/gptsync.c: Likewise.
9213 * grub-core/commands/hashsum.c: Likewise.
9214 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9215 * grub-core/commands/legacycfg.c: Likewise.
9216 * grub-core/io/gzio.c: Likewise.
9217 * grub-core/net/net.c: Likewise.
9218 * grub-core/term/gfxterm.c: Likewise.
9219 * grub-core/term/terminfo.c: Likewise.
9220 * grub-core/tests/test_blockarg.c: Likewise.
9221 * grub-core/video/video.c: Likewise.
9222 * util/grub-install.in: Likewise.
9223 * util/grub-mkfont.c: Likewise.
9224
b2b149cb
VS
92252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9228
c7c080ad
VS
92292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9232 Reported by: David Prévot.
c7c080ad 9233
f2e243c0
VS
92342012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9237 description.
9238
09963c76
VS
92392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * util/grub-script-check.c (main): Fix a syntax error message which was
9242 unclear.
9243
a50514a8
VS
92442012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9247
4650daec
VS
92482012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9251 messages.
9252
92532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9254
9255 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9256 without argument.
9257 * util/grub-mount.c (options): Likewise.
9258
bbc5a342
VS
92592012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9262
ef292a87
VS
92632012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * grub-core/net/http.c: Add TRANSLATORS comments.
9266 * grub-core/normal/cmdline.c: Likewise.
9267 * grub-core/normal/misc.c: Likewise.
9268 * grub-core/partmap/msdos.c: Likewise.
9269 * grub-core/parttool/msdospart.c: Likewise.
9270 * grub-core/script/execute.c: Likewise.
9271 * grub-core/script/main.c: Likewise.
9272 * grub-core/term/terminfo.c: Likewise.
9273 * grub-core/video/bitmap.c: Likewise.
9274 * util/grub-install.in: Likewise.
9275 * util/grub-mkimage.c: Likewise.
9276 * util/grub-mklayout.c: Likewise.
9277 * util/grub-setup.c: Likewise.
9278
0fc19bd0
VS
92792012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9282 with similar messages in grub-fstest.
9283
d95862ef
VS
92842012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 * util/grub-install.in: Unify "option requires an argument" message
9287 with similar messages in other files.
9288 * util/grub-mkconfig.in: Likewise.
9289
b7308f90
VS
92902012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * util/grub-set-default.in: Replace printf with gettext_printf (the
9293 string in in question is already translated from grub-reboot)
9294
559dc587
VS
92952012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * configure.ac: Bump up the version to beta1.
9298
1a11761f
VS
92992012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9302 case when min_align = 0.
9303
24539abd
VS
93042012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9307 and fix a case when line_start overflows.
9308
32bd735b
VS
93092012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * util/grub-reboot.in (usage): Mention id posibility.
9312 * util/grub-set-default.in (usage): Likewise.
9313
1a2fd1e6
VS
93142012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9317 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9318 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9319 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9320 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9321 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9322 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9323
90eeab76
VS
93242012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 * grub-core/commands/menuentry.c (options): Remove
9327 GRUB_ARG_OPTION_REPEATABLE.
9328 Reported by: Andreas Vogel
9329
5ad1be82
AV
93302012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9331
9332 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9333
cb055286
HE
93342012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9335
9336 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9337 error.
9338
93b1cd79
VS
93392012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 Use sort -V by the idea of Georgi Georgiev.
9342
9343 * util/grub-mkconfig_lib.in (version_sort): New function.
9344 (version_test_numeric): Use version_sort.
9345
0cdc126c
VS
93462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9347
9348 Use submenus in grub-mkconfig.
9349
9350 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9351 * util/grub-mkconfig_lib.in (grub_quote): New function.
9352 (gettext_printf): Use gettext and not gettext_quoted to fix several
9353 messages.
9354 * util/grub.d/10_hurd.in: Use submenus.
9355 * util/grub.d/10_kfreebsd.in: Likewise.
9356 * util/grub.d/10_linux.in: Likewise.
9357 * util/grub.d/10_netbsd.in: Likewise.
9358 * util/grub.d/20_linux_xen.in: Likewise.
9359 * util/grub.d/30_os-prober.in: Likewise.
9360 * util/grub.d/10_illumos.in: Add missing quoting.
9361 * util/grub.d/10_windows.in: Likewise.
9362
d9bef9bc
VS
93632012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 Fix menu title instability bug.
9366
9367 * grub-core/commands/menuentry.c (options): New option --id.
9368 (grub_normal_add_menu_entry): New argument id. All users updated.
9369 (grub_cmd_menuentry): Handle --id.
9370 (grub_menu_init): Accept unknown arguments.
9371 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9372 feature_menuentry_options.
9373 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9374 saved_entry.
9375 (get_entry_number): Match with id as well.
9376 * include/grub/menu.h (grub_menu_entry): New member id.
9377 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9378 * util/grub.d/00_header.in: Define menuentry_id_option.
9379 * util/grub.d/10_hurd.in: Define id.
9380 * util/grub.d/10_illumos.in: Likewise.
9381 * util/grub.d/10_kfreebsd.in: Likewise.
9382 * util/grub.d/10_linux.in: Likewise.
9383 * util/grub.d/10_netbsd.in: Likewise.
9384 * util/grub.d/10_windows.in: Likewise.
9385 * util/grub.d/20_linux_xen.in: Likewise.
9386 * util/grub.d/30_os-prober.in: Likewise.
9387
93882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9389
9390 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9391 "scope" with "body".
9392
7c8d0ce7
VS
93932012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9394
9395 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9396 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9397 prot_size and prot_file_size.
9398
49de079b
VS
93992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9402 All users updated. If easily=1 require raid-5/-6 to be full.
9403 (is_node_readable): Likewise.
9404 (scan_devices): Scan incomplete but readable LVs at the end.
9405 (grub_diskfilter_memberlist): Pull missing devices.
9406 (insert_array): Skip scanning until device is complete or scan is
9407 done otherwise.
9408 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9409 check.
9410 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9411 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9412
aff05d45
MG
94132012-03-03 Matthew Garrett <mjg@redhat.com>
94142012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 Avoid EFI boot services when loading Linux.
9417
9418 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9419 avoid_efi_bootservices. All users updated.
9420 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9421 argument avoid_efi_bootservices. All users updated.
9422 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9423 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9424 align, min_align, relocatable, prefered_address. All users updated.
9425 Allocate avoiding boot services if kernel is relocatable.
9426 (grub_cmd_linux): Check if kernel is relocatable.
9427 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9428 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9429 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9430 avoid_efi_boot_services.
9431 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9432 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9433 (linux_kernel_params): Likewise.
9434
3935dde2
MG
94352012-03-03 Matthew Garrett <mjg@redhat.com>
94362012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 Use EDID on EFI.
9439
9440 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9441 datasize_out.
9442 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9443 modes. Set gop_handle.
9444 (grub_video_gop_get_edid): New function.
9445 (grub_gop_get_preferred_mode): Likewise.
9446 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9447 (grub_video_efi_gop_adapter): Set .get_edid.
9448 * include/grub/efi/edid.h: New file.
9449 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9450
32107ec0
VS
94512012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * util/grub-install.in: Load efivars unconditionally.
9454
e70a2c50
VS
94552012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 * po/Rules-piglatin: Change suffix from .po-update-en to
9458 .po-update-en-piglatin.
9459
8f9cace1
VS
94602012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 Add a pig farm.
9463
9464 * po/piglatin.sed: New file.
9465 * po/en@piglatin.header: Likewise.
9466 * po/Rules-piglatin: Likewise.
9467 * po/README: Add en@piglatin to autogenerated languages.
9468
8f95d002
VS
94692012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9472 "Command for ...".
9473 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9474 "Check" since we don't check anything.
9475 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9476 is 64-bit one.
9477 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9478 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9479 (grub_md_sha512_real): Likewise.
9480
805a8dcc
VS
94812012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 * grub-core/commands/gptsync.c: Fix typographic quoting.
9484 * grub-core/commands/ieee1275/suspend.c: Likewise.
9485 * grub-core/commands/parttool.c: Likewise.
9486 * grub-core/commands/search_wrap.c: Likewise.
9487 * grub-core/commands/videoinfo.c: Likewise.
9488 * grub-core/gfxmenu/gui_label.c: Likewise.
9489 * grub-core/hello/hello.c: Likewise.
9490 * grub-core/kern/emu/main.c: Likewise.
9491 * grub-core/net/net.c: Likewise.
9492 * grub-core/normal/menu.c: Likewise.
9493 * grub-core/normal/menu_text.c: Likewise.
9494 * grub-core/normal/misc.c: Likewise.
9495 * util/grub-editenv.c: Likewise.
9496 * util/grub-install.in: Likewise.
9497 * util/grub-kbdcomp.in: Likewise.
9498 * util/grub-mkconfig.in: Likewise.
9499 * util/grub-mknetdir.in: Likewise.
9500 * util/grub-mkrescue.in: Likewise.
9501 * util/grub-mkstandalone.in: Likewise.
9502 * util/grub-reboot.in: Likewise.
9503 * util/grub-set-default.in: Likewise.
9504 * util/grub-setup.c: Likewise.
9505 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9506
40211ab8
VS
95072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9510 * grub-core/commands/keystatus.c: Likewise.
9511 * grub-core/commands/loadenv.c: Likewise.
9512 * grub-core/commands/probe.c: Likewise.
9513 * grub-core/commands/regexp.c: Likewise.
9514 * grub-core/commands/true.c: Likewise.
9515 * grub-core/commands/videoinfo.c: Likewise.
9516 * grub-core/disk/cryptodisk.c: Likewise.
9517 * grub-core/disk/ldm.c: Likewise.
9518 * grub-core/disk/loopback.c: Likewise.
9519 * grub-core/disk/luks.c: Likewise.
9520 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9521 * grub-core/kern/disk.c: Likewise.
9522 * grub-core/kern/emu/hostdisk.c: Likewise.
9523
0c7d99c7
VS
95242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9527 * util/grub-install.in: Add missing quote in the comment.
9528
e7d2559b
VS
95292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9532 * grub-core/commands/lsmmap.c: Likewise.
9533 * grub-core/commands/minicmd.c: Likewise.
9534 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9535 * grub-core/commands/regexp.c: Likewise.
9536 * grub-core/gdb/gdb.c: Likewise.
9537 * grub-core/term/gfxterm.c: Likewise.
9538 * util/grub-mkconfig.in: Likewise.
9539 * util/grub-mkfont.c: Likewise.
9540 * util/grub-mklayout.c: Likewise.
9541 * util/grub-mknetdir.in: Likewise.
9542 * util/grub-mkrescue.in: Likewise.
9543 * util/grub.d/30_os-prober.in: Likewise.
9544
49ce9e50
VS
95452012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9548 with "Direct color" and "Packed" with "Packed pixel".
9549 (grub_cmd_videoinfo): Simplify legend.
9550
e4b791fa
VS
95512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9554 absolutely unclear error message.
9555
fd1265cb
VS
95562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * util/grub-mkstandalone.in: Remove confusing leftover print.
9559
8822a8a0
VS
95602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9563 comments.
9564 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9565 (GRUB_MOD_INIT): Likewise.
9566 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9567 VGA mode.
9568 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9569 comments.
9570 * util/grub-install.in (usage): Likewise.
9571 Spell ID in whole letters.
9572 Add missing ending dot.
9573 Quote variables.
9574 * util/grub-reboot.in: Fix capitalisation.
9575 * util/grub-set-default.in: Likewise.
9576
937fd0cc
VS
95772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9580 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9581 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9582 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9583 Disable -Werror for -Wdeprecated-declarations.
9584 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9585 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9586 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9587 (grub_util_get_grub_dev): Make luks handling dependent on
9588 HAVE_DEVICE_MAPPER and not __linux__.
9589 (get_win32_path): Fix format security.
9590 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9591 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9592 Don't try grub_find_zpool_from_dir.
9593 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9594 #ifdef-out paresdir.
9595
1bab1ae3
VS
95962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * util/grub-pe2elf.c (usage): Add missing noreturn.
9599 (write_section_data): Rename name to shname to avoid shadowing.
9600 (write_symbol_table): Rename name to symname to avoid shadowing.
9601 Fix write_reloc_section call.
9602
ef023e42
VS
96032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9606 to ensure that it's after the last byte of .text.
9607
48afcb75
VS
96082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * util/ieee1275/ofpath.c (my_isdigit): New function.
9611 (trailing_digits): Use my_isdigit.
9612 (strip_trailing_digits): Likewise.
9613
88d51eff
VS
96142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9617 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9618
17edc2ba
VS
96192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * grub-core/kern/i386/pc/startup.S: Define __start.
9622
ad5518d7
VS
96232012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9626 strip already transforms he format.
9627
9e95e1bf
VS
96282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9631
9cc3ee5c
VS
96322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * util/grub-install.in: Add missing gettext init.
9635 * util/grub-kbdcomp.in: Likewise.
9636 * util/grub-mkconfig.in: Likewise.
9637 * util/grub-mknetdir.in: Likewise.
9638 * util/grub-mkrescue.in: Likewise.
9639 * util/grub-mkstandalone.in: Likewise.
9640 * util/grub-reboot.in: Likewise.
9641 * util/grub-set-default.in: Likewise.
9642 * util/grub.d/00_header.in: Likewise.
9643 * util/grub.d/10_hurd.in: Likewise.
9644 * util/grub.d/10_windows.in: Likewise.
9645 * util/grub.d/30_os-prober.in: Likewise.
9646 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9647
49e08a06
VS
96482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * po/Rules-swiss: Fix header comment.
9651
3809cb41
AV
96522012-02-29 Andreas Vogel <anvoit>
9653
9654 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9655 resulted in leak of arguments.
9656
fa6ec573
VS
96572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9660 reed_solomon_size const definition instead of computing it since
9661 Apple assembler doesn't support the later.
9662
22899b9c
VS
96632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 * gentpl.py (kernel): Rewrite Apple part.
9666
a132afc3
VS
96672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9670
9d742bd4
VS
96712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9672
9673 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9674 ELF section gap.
9675 (load_image): Likewise.
9676
f04a9a21
VS
96772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * configure.ac: Fix a typo in previous commit.
9680
46cf439c
VS
96812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 Don't add -Wl,-N on Apple platform.
9684
9685 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9686 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9687
c4c48c54
VS
96882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/Makefile.core.def (lzma_decompress): Use
9691 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9692
31a12124
VS
96932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 * grub-core/genmod.sh.in: Rewrite the Apple part.
9696
4f3aa1af
VS
96972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9700 comparison.
9701
7bd8b0c7
VS
97022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9703
9704 * acinclude.m4 (grub_CHECK_PIC): New test.
9705 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9706
97304d7c
VS
97072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9710 to avoid the warning.
9711
fb883812
VS
97122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9715 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9716 after. All users updated.
9717
a121c964
VS
97182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 Use the common size routine in hostfs so we can read disks as well.
9721
9722 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9723 (grub_util_get_fd_size): ... this. Return size in bytes.
9724 All users updated.
9725 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9726 grub_util_get_fd_size.
9727
c66d6410
VS
97282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9731 Add blocksize retrieval.
9732
dfc8aeb0
VS
97332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 * configure.ac: Restore CFLAGS after efiemu check.
9736
403e25a5
VS
97372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9740 Apple bug.
9741
382775d1
VS
97422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9745
6fd4e6e4
VS
97462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9749 (grub_cmd_halt): Likewise.
9750
bea359d6
VS
97512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9754 for local arithmetics.
9755 Break %sp init into 2 instructions.
9756 Add 0 byte at the end.
9757
32eb6ee1
VS
97582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9761 before loops.
9762
e8377389
VS
97632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9766 for context.
9767
8cb17de7
VS
97682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * grub-core/disk/ldm.c (make_vg): Init part.name.
9771 (grub_ldm_detect): Silence spurious warning.
9772 (grub_util_is_ldm): Likewise.
9773
595717e6
VS
97742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9777 sane value to avoid a spurious warning.
9778
c4b7e588
VS
97792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9782 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9783
59824957
VS
97842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9787 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9788
70115b99
VS
97892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9792 hardcoding the relevant info.
9793
56733740
VS
97942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9797 missing const qualifiers.
9798 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9799
43481481
VS
98002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * util/getroot.c [__APPLE__]: Add missing includes.
9803 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9804
3cb38f01
VS
98052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9808
d9dbf11e
VS
98092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9812 avoid conflicts.
9813
0c42a45d
VS
98142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9815
9816 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9817
46c34eb0
VS
98182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9821 and grub_file_close call.
9822
99ce1597
VS
98232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 Add LZSS Mach-O support (needed for new xnu kernelcache).
9826
9827 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9828 * grub-core/loader/lzss.c: New file.
9829 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9830 on Mach-O open failure.
9831 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9832 Don't free cmdsXX in uncompressedXX is set.
9833 (grub_macho_file): Init new fields.
9834 New argument is_64bit. All users updated.
9835 Handle compressed. Error out if no suitable architecture is found.
9836 Don't close file.
9837 (grub_macho_open): New argument is_64bit. All users updated.
9838 * grub-core/loader/macho32.c: Add defines for new fields.
9839 * grub-core/loader/macho64.c: Likewise.
9840 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
9841 (grub_macho_parse): Handle compressed.
9842 Defer actual processing if compressed.
9843 (grub_macho_cmds_iterate): Decompress if compressed. New argument
9844 "filename". All users updated.
9845 (grub_macho_size): New argument "filename". All users updated.
9846 (grub_macho_get_entry_point): Likewise.
9847 (grub_macho_load): Handle compressed.
9848 * include/grub/macho.h (grub_macho_lzss_header): New struct.
9849 (GRUB_MACHO_LZSS_OFFSET): New define.
9850 (grub_decompress_lzss): New proto.
9851 * include/grub/machoload.h (grub_macho_file): New fields to handle
9852 compressed.
9853 (grub_macho_contains_macho64): Remove proto.
9854 (grub_macho_contains_macho32): Likewise.
9855 * util/grub.d/30_os-prober.in: Use kernel cache if available.
9856
ebd17d6f
VS
98572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
9860
2702b4e4
VS
98612012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 Fix make dist.
9864
9865 * Makefile.am (starfield_theme_files): New var.
9866 (starfield_DATA): Use starfield_theme_files.
9867 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
9868 Add bootcheck-related files.
9869 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
9870 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
9871 and font_char_metrics.txt.
9872 * grub-core/Makefile.core.def (kernel): Update extra_dist.
9873 (setjmp): Add lib/ia64/longjmp.S.
9874 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
9875 * po/POTFILES.in: Regenerate.
9876 * po/Rules-swiss: use DISTFILES.common.extra2 and not
9877 DISTFILES.common.extra1.
9878 * util/devicemap.c: Removed.
9879 * grub-core/lib/i386/relocator_backward.S: Likewise.
9880 * util/import_gcry.py: Remove unused files. Add extra_dist for
9881 ChangeLog.
9882
cf1adfdf
VS
98832012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * grub-core/gettext/gettext.c (grub_mofile_open): Call
9886 grub_gettext_delete_list before changing grub_gettext_max to avoid
9887 running out of array bounds.
9888
98892012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
9890
9891 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
9892 grub_vga_text_init/grub_vga_text_fini.
9893
cf1adfdf 98942012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
9895
9896 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
9897
541d92e9
VS
98982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * configure.ac: Bump to 2.00~beta0.
9901
7931dddf
VS
99022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
9905 missing initialisation.
9906
f1b16fa3
VS
99072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
9910
83ddae23
VS
99112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 Support v2 xnu boot arguments.
9914
9915 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
9916 New argument fsbfreq_out.
9917 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
9918 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
9919 be used.
9920 * grub-core/loader/machoXX.c (grub_macho_load): New argument
9921 darwin_version.
9922 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
9923 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
9924 (grub_xnu_boot_params): Rename to ...
9925 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
9926 (grub_xnu_boot_params_v2): New struct.
9927
dc693fe6
VS
99282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
9931 zeroing of CRC field before computing CRC.
9932
5a6e39c2
VS
99332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
9936 Change order of allocations to decrease fragmentation.
9937
6c21f5d7
VS
99382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9939
9940 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
9941
cfe456dc
CW
99422012-02-27 Colin Watson <cjwatson@ubuntu.com>
9943
9944 Use write-combining MTRR to speed up video with buggy BIOSes.
9945
9946 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
9947 (cpuid): New define.
9948 (rdmsr): Likewise.
9949 (wrmsr): Likewise.
9950 (mtrr_base): Likewise.
9951 (mtrr_mask): Likewise.
9952 (grub_vbe_enable_mtrr_entry): New function.
9953 (grub_vbe_enable_mtrr): Likewise.
9954 (grub_vbe_disable_mtrr): Likewise.
9955 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
9956 control off to BIOS.
9957 (grub_video_vbe_init): Fill mtrr.
9958 (grub_video_vbe_fini): Disable mtrr.
9959 (grub_video_vbe_get_info_and_fini): Likewise.
9960 (grub_video_vbe_setup): Enable mtrr.
9961
e3c78337
CW
99622012-02-27 Colin Watson <cjwatson@ubuntu.com>
9963
9964 * include/grub/partition.h (grub_partition_map): Change prototype of
9965 embed to take a maximum value for nsectors.
9966 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
9967 * include/grub/fs.h (grub_fs): Likewise.
9968 * grub-core/partmap/msdos.c (embed_signatures): New array.
9969 (pc_partition_map_embed): Check for and avoid sectors matching any
9970 of the signatures in embed_signatures, up to max_nsectors.
9971 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
9972 returned sector map to max_nsectors.
9973 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
9974 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
9975 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
9976 * util/grub-setup.c (setup): Allow for the embedding area being
9977 split into multiple blocklists. Tell dest_partmap->embed the
9978 maximum number of sectors we care about.
9979
99802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
9983 Specify blocklist_install and reserver_first_sector for all fs.
9984 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
9985 blocklists.
9986
984b973f
VS
99872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * util/grub-install.in: Clarify strings.
9990 Fix source dir check.
9991
f122e0d6
RL
99922012-02-27 Richard Laager <rlaager@wiktel.com>
9993
9994 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
9995 "zfs" and "fuse.zfs" as synonyms.
9996
071114bb
VS
99972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * configure.ac: Put platform and target_cpu substitutions back since
10000 they are used for directories.
10001
817e6abc
RL
100022012-02-27 Richard Laager <rlaager@wiktel.com>
100032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10006 * util/grub.d/20_linux_xen.in: Likewise.
10007
897b7419
RL
100082012-02-27 Richard Laager <rlaager@wiktel.com>
10009
10010 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10011 with full paths.
10012
a414bd15
RL
100132012-02-27 Richard Laager <rlaager@wiktel.com>
10014
10015 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10016 unescape.
10017
30ac48c4
VS
100182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 Don't use insecure popen in getroot.
10021
10022 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10023 (exec_pipe): ... here.
10024 (find_root_devices_from_poolname): Use exec_pipe.
10025
53f13848
VS
100262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 Remove platform and target_cpu replacement.
10029
10030 * configure.ac: Remove platform and target_cpu substitutions.
10031 * tests/util/grub-shell.in: Use modinfo.
10032 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10033 explicitly.
10034
90cb2803
VS
100352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 Autodetect platform in grub-install but allow override.
10038
10039 * util/grub-install.in: Autodetect platform. Support --target and
10040 --directory. Read platform from modinfo.sh.
10041
b9136427
VS
100422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 Support btrfs multi-volume probe.
10045
10046 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10047 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10048 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10049 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10050 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10051 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10052 grub_find_root_devices_from_btrfs if on btrfs.
10053
c36e5cd1
VS
100542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 Remove any awareness of *.c util files about target.
10057
10058 * Makefile.util.def (grub-setup): Split to ...
10059 (grub-bios-setup): ... and this.
10060 (grub-sparc64-setup): ... and this.
10061 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10062 * docs/man/grub-setup.h2m: Split into ...
10063 * docs/man/grub-sparc64-setup.h2m: ... this.
10064 * docs/man/grub-bios-setup.h2m: ... and this.
10065 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10066 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10067 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10068 (grub_target_addr_t): Remove.
10069 (grub_target_size_t): Remove.
10070 (grub_target_ssize_t): Remove.
10071 * util/grub-install.in: Use new grub-*-setup.
10072 * util/grub-mkimagexx.c (Elf_Word): New define.
10073 (Elf_Half): Likewise.
10074 (Elf_Section): Likewise.
10075 (ELF_ST_TYPE): Likewise.
10076 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10077 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10078
584b2f8a
VS
100792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 Replace grub_target_addr with more appropriate types.
10082
10083 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10084 grub_target_addr with grub_addr.
10085 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10086 grub_target_addr with grub_port.
10087 (grub_cmd_write): Likewise.
10088 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10089 grub_target_addr with grub_addr.
10090 (grub_cmd_write): Likewise.
10091 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10092
5a0dc6fb
VS
100932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10096 const qualifier for vendor_guid.
10097
786aff6e
VS
100982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10101 const qualifier.
10102 (efiemu_memequal): Likewise.
10103 (find_variable): Likewise.
10104
49017b17
VS
101052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 Fix missing console prototype on qemu-mips.
10108
10109 * include/grub/mips/qemu_mips/console.h: New file.
10110
c5988629
MG
101112012-02-27 Matthew Garrett <mjg@redhat.com>
101122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10115 * include/grub/efi/efi.h: Likewise.
10116 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10117 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10118 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10119 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10120 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10121 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10122
e33f8d69
MG
101232012-02-27 Matthew Garrett <mjg@redhat.com>
10124
10125 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10126
fb312cd9
VS
101272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10130 error.
10131
7134247c
VS
101322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 * configure.ac: Remove inappropriate use of program_transform_name
10135 on grubdir and bootdir but allow explicit specification of those
10136 variables.
10137
6a313124
VS
101382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * util/grub-mknetdir.in (grub_prefix): Removed.
10141 (subdir): Use @bootdirname@ and @grubdirname@.
10142
2311c5ca
VS
101432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10146
7d5d60f7
VS
101472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * po/POTFILES.in: Regenerated.
10150
8151bc82
VS
101512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 Remove improper use of program_transform_name on pkglibrootdir.
10154
10155 * configure.ac (pkglibrootdir): Removed.
10156 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10157 * util/grub-mkimage.c: Likewise.
10158
b4a6a533
VS
101592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10162 warning.
10163
668f304f
VS
101642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 * util/grub-install.in: Use file identifier if no UUID is available
10167 or user explicitly prompted for it.
10168
665f2341
NP
101692012-02-27 Navdeep Parhar <nparhar@gmail.com>
10170
10171 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10172 (freebsd_get_zfs): New function.
10173 (grub_freebsd_boot): Pass zfs UUID.
10174 (grub_cmd_freebsd): Set zfs UUID.
10175
8151bc82 101762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10177
10178 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10179 pkglibrootdir.
10180
e4c498a1
MG
101812012-02-27 Mike Gilbert <floppym@gentoo.org>
10182
10183 Add configure flag to control libzfs integration.
10184
10185 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10186
1e9a9a3f
VS
101872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10190 device.
10191 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10192 small devices.
10193
036985b8
VS
101942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10197 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10198 be used on non-modules.
10199
10200 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10201 Rename to grub_boot_init.
10202 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10203 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10204 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10205 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10206 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10207 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10208 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10209 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10210 includes.
10211 (grub_machine_init): Remove empty inits.
10212 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10213 includes.
10214 (grub_machine_init): Remove empty inits.
10215 * grub-core/term/arc/console.c: Remove explicit proto.
10216 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10217 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10218 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10219 grub_at_keyboard_fini.
10220 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10221 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10222 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10223 grub_gfxterm_fini.
10224 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10225 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10226 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10227 grub_vgatext_fini.
10228 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10229 * grub-core/term/serial.c (GRUB_MOD_INIT)
10230 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10231 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10232 grub_serial_fini.
10233 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10234 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10235 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10236 grub_terminfo_fini.
10237 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10238 (GRUB_MOD_FINI): Likewise.
10239 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10240 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10241 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10242 grub_video_radeon_fuloong2e_fini.
10243 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10244 [LOONGSON]: Rename to grub_video_sis315pro_init.
10245 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10246 grub_video_sis315pro_fini.
10247 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10248 [LOONGSON]: Rename to grub_video_sm712_init.
10249 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10250 grub_video_sm712_fini.
10251 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10252 (grub_at_keyboard_fini): Likewise.
10253 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10254 Don't declare grub_{modname}_init.
10255 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10256 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10257 New proto.
10258 (grub_keylayouts_fini) [!EMU]: Likewise.
10259 * include/grub/serial.h (grub_serial_init) [!EMU]:
10260 New proto.
10261 (grub_serial_fini) [!EMU]: Likewise.
10262 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10263 New proto.
10264 (grub_terminfo_fini) [!EMU]: Likewise.
10265 * include/grub/video.h (grub_font_init) [!EMU]:
10266 New proto.
10267 (grub_font_fini) [!EMU]: Likewise.
10268 (grub_gfxterm_init) [!EMU]: Likewise.
10269 (grub_gfxterm_fini) [!EMU]: Likewise.
10270 (grub_video_sm712_init) [!EMU]: Likewise.
10271 (grub_video_sm712_fini) [!EMU]: Likewise.
10272 (grub_video_sis315pro_init) [!EMU]: Likewise.
10273 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10274 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10275 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10276
d5534665
VS
102772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 Make nand a prefix for nand devices.
10280
10281 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10282
10133b5f
VS
102832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10286 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10287
8e307a62
VS
102882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * include/grub/env.h (grub_env_find): Remove prototype.
10291 * grub-core/kern/env.c (grub_env_find): Make static.
10292 (grub_env_set): Remove useless set.
10293
a4c65f34
VS
102942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 * grub-core/kern/i386/realmode.S: Remove useless align.
10297
d87893d5
VS
102982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 * include/grub/dl.h (grub_dl_load_file): Don't export.
10301
50159add
VS
103022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10305 grub_dprintf.
10306
b2582b84
VS
103072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10308
10309 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10310 grub_errors.
10311 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10312 not reloading whole superblock but only the part which is really needed.
10313 Remove useless grub_errors.
10314 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10315 grub_errors.
10316
e2a83395
VS
103172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 Don't export grub_get_rtc.
10320
10321 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10322 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10323
e7d2a906
VS
103242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10327
6cf1363b
VS
103282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10331 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10332
eece3349
VS
103332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 Remove prio_list.
10336
10337 * include/grub/list.h (grub_prio_list): Removed.
10338 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10339 GRUB_COMMAND_PRIO_MASK.
10340 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10341 GRUB_COMMAND_FLAG_ACTIVE.
10342 (grub_prio_list_insert): Removed.
10343 (grub_prio_list_remove): Likewise.
10344 (GRUB_AS_PRIO_LIST): Likewise.
10345 (GRUB_AS_PRIO_LIST_P): Likewise.
10346 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10347 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10348 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10349 * grub-core/kern/command.c (grub_register_command_prio): Inline
10350 the prio_list code.
10351 (grub_unregister_command): Likewise.
10352
94f064b4
VS
103532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 Fix interrupt mixup from previous commit.
10356
10357 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10358 (grub_realidt): New var.
10359 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10360 Load idt.
10361 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10362 New declaration.
10363 (grub_relocator16_boot): Set grub_relocator16_idt.
10364 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10365 (LOCAL(realidt)): ... this.
10366 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10367 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10368 (grub_realidt): New variable.
10369
27317084
VS
103702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10373 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10374 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10375 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10376 Gettextize.
10377 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10378 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10379 * po/POTFILES.in: Regenerate.
10380
47b40053
VS
103812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10382
10383 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10384 errors.
10385
2b343101
VS
103862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10389 \0.
10390 (add_length): Likewise.
10391
ff27c3dd
LK
103922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
103932012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10394
10395 GDB serial and backtrace support.
10396
10397 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10398 (prot_to_real): Likewise.
10399 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10400 * grub-core/Makefile.core.def (backtrace): New module.
10401 (gdb): Likewise.
10402 * grub-core/gdb/cstub.c: New file.
10403 * grub-core/gdb/gdb.c: Likewise.
10404 * grub-core/gdb/i386/idt.c: Likewise.
10405 * grub-core/gdb/i386/machdep.S: Likewise.
10406 * grub-core/gdb/i386/signal.c: Likewise.
10407 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10408 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10409 * include/grub/backtrace.h: Likewise.
10410 * include/grub/gdb.h: Likewise.
10411 * include/grub/i386/gdb.h: Likewise.
10412
104132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10414
10415 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10416 New function.
10417 (add_length): Likewise.
10418 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10419 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10420 proto.
10421 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10422 __argp_get_display_len.
10423
ff27c3dd 104242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10425
10426 $"..." support in scripts.
10427
10428 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10429 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10430 * grub-core/script/yylex.l: Likewise.
10431 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10432 value.
10433
ff27c3dd 104342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10435
10436 * gentpl.py: Remove obsolete pkglib_DATA handling.
10437
ff27c3dd 104382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10439
10440 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10441 mailing list.
10442
10443 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10444 * util/grub-kbdcomp.in: Likewise.
10445 * util/grub-mkconfig.in: Likewise.
10446 * util/grub-mkconfig_lib.in: Likewise.
10447 * util/grub-mknetdir.in: Likewise.
10448 * util/grub-mkrescue.in: Likewise.
10449 * util/grub-mkstandalone.in: Likewise.
10450 * util/grub-reboot.in: Likewise.
10451 * util/grub-set-default.in: Likewise.
10452 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10453
ff27c3dd 104542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10455
10456 Remove GRUB_PREFIX.
10457
10458 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10459 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10460 used for backward compatibility.
10461
ff27c3dd 104622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10463
10464 Add new all_video module.
10465
10466 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10467 * grub-core/Makefile.core.def (all_video): New module.
10468 * grub-core/genmoddep.awk: Generate dependency of all_video from
10469 video.lst.
10470 * grub-core/lib/fake_module.c: New file.
10471 * grub-core/normal/main.c (features): Add feature_all_video_module.
10472 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10473 don't do explicit search again.
47454da5 10474 insmod all_video in load_video if available.
22c7ce85 10475
ff27c3dd 104762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10477
10478 Another round of string clarification and adding TRANSLATORS comments.
10479
ff27c3dd 104802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10481
10482 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10483
ff27c3dd 104842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10485
10486 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10487 to grub_ssize_t.
10488 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10489 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10490
ff27c3dd 104912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10492
10493 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10494 trailing newline implicitly. All users updated.
10495
ff27c3dd 104962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10497
10498 Implement serial on IEEE1275 and EFI.
10499
10500 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10501 on emu. Mention arc and emu as the only platforms without serial
10502 support.
10503 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10504 ieee1275 platforms.
10505 * grub-core/term/efi/serial.c: New file.
10506 * grub-core/term/ieee1275/serial.c: Likewise.
10507 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10508 specification if no ns8250 driver is available.
10509 (grub_cmd_serial): Likewise.
10510 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10511 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10512 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10513 (grub_efi_parity_type_t): New type.
10514 (grub_efi_stop_bits_t): Likewise.
10515 (grub_efi_serial_io_interface): New struct.
10516 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10517 available for all interfaces.
10518 Add EFI and IEEE1275 fields.
10519 (grub_ofserial_init): New proto.
10520 (grub_efiserial_init): Likeiwse.
10521 * util/grub.d/00_header.in: Don't check for the presence of serial
10522 module.
10523
ff27c3dd 105242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10525
10526 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10527 name as if it was an alias.
10528
114076ef
VS
105292012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 * grub-core/commands/lsacpi.c (options): Fix typo.
10532
6a656b0e
VS
105332012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 Convert grub-emu to argp.
10536
10537 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10538 emu.
10539 * util/argp_common.c: Rename to ...
10540 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10541 Add missing includes.
10542 * grub-core/kern/emu/main.c: Convert to argp.
10543 * po/POTFILES.in: Regenerate.
10544 * util/grub-install.in (usage): Make first letter lowcase in messages
10545 for uniformity.
10546 * util/grub-setup.c (options): Likewise.
10547
1e3f8ae8
VS
105482012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10549
10550 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10551 Put back accidently commented-out code.
10552
ed167a80
VS
105532012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10554
10555 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10556 loop check using Brent algorithm.
10557 (grub_hfsplus_btree_search): Likewise.
10558
6753c0ec
VS
105592012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 * util/grub-install.in: Fix usage of wrong device for PreP install.
10562
4e27343f
VS
105632012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10564
10565 * conf/Makefile.common (CFLAGS_GNULIB): Add
10566 -Wno-unsafe-loop-optimizations.
10567 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10568 on tools.
10569 * grub-core/commands/legacycfg.c: Add pragma to skip
10570 -Wunsafe-loop-optimizations.
10571 (check_password_md5_real): Fix loop counter type.
10572 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10573 reading.
10574 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10575 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10576 loop condition.
10577 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10578 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10579 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10580 condition.
10581 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10582 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10583 avoid possible infinite loops.
10584 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10585 and -Wunsafe-loop-optimizations.
10586 * grub-core/script/yylex.l: Likewise.
10587 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10588 (print_glyphs): Avoid infinite loops.
10589 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10590
697f18b0
GS
105912012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10592
10593 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10594 to avoid infinite loop.
10595 (disp_acpi_rsdt_table): Likewise.
10596
274416e8
VS
105972012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10598
10599 * grub-core/font/font.c (grub_font_load): Add support for default
10600 path for fonts ($prefix/fonts).
10601 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10602 for checking if string is a path.
10603 * grub-core/normal/main.c (features): Add feature_default_font_path.
10604 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10605 * util/grub.d/00_header.in: Use default directory if possible.
10606 * util/grub-install.in: Install unicode.pf2.
10607
b3e08622
VS
106082012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10609
10610 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10611 * po/Rules-swiss: New file.
10612 * po/swiss.sed: Likewise.
10613
fe42ce09
VS
106142012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 * grub-core/fs/btrfs.c (find_device): Fix typos.
10617 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10618 * util/grub-mkrelpath.c (argp_parser): Likewise.
10619 Reported by: Yuri Chornoivan.
10620
72f1d065
DO
106212012-02-23 Dalet Omega <daletomega@gmail.com>
10622
10623 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10624 for usual informative messages.
10625
c5884973
DO
106262012-02-23 Dalet Omega <daletomega@gmail.com>
10627
10628 Starfield theme.
10629
10630 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10631 * conf/Makefile.common: Define starfielddir.
10632 * configure.ac: Configure starfield.
10633 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10634 * themes/starfield/README: Likewise.
10635 * themes/starfield/blob_w.png: Likewise.
10636 * themes/starfield/boot_menu_c.png: Likewise.
10637 * themes/starfield/boot_menu_e.png: Likewise.
10638 * themes/starfield/boot_menu_n.png: Likewise.
10639 * themes/starfield/boot_menu_ne.png: Likewise.
10640 * themes/starfield/boot_menu_nw.png: Likewise.
10641 * themes/starfield/boot_menu_s.png: Likewise.
10642 * themes/starfield/boot_menu_se.png: Likewise.
10643 * themes/starfield/boot_menu_sw.png: Likewise.
10644 * themes/starfield/boot_menu_w.png: Likewise.
10645 * themes/starfield/slider_c.png: Likewise.
10646 * themes/starfield/slider_n.png: Likewise.
10647 * themes/starfield/slider_s.png: Likewise.
10648 * themes/starfield/src/blob_nw.xcf: Likewise.
10649 * themes/starfield/src/bootmenu/: Likewise.
10650 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10651 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10652 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10653 * themes/starfield/src/slider_c.xcf: Likewise.
10654 * themes/starfield/src/slider_n.xcf: Likewise.
10655 * themes/starfield/src/slider_s.xcf: Likewise.
10656 * themes/starfield/src/terminalbox/: Likewise.
10657 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10658 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10659 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10660 * themes/starfield/starfield.png: Likewise.
10661 * themes/starfield/terminal_box_c.png: Likewise.
10662 * themes/starfield/terminal_box_e.png: Likewise.
10663 * themes/starfield/terminal_box_n.png: Likewise.
10664 * themes/starfield/terminal_box_ne.png: Likewise.
10665 * themes/starfield/terminal_box_nw.png: Likewise.
10666 * themes/starfield/terminal_box_s.png: Likewise.
10667 * themes/starfield/terminal_box_se.png: Likewise.
10668 * themes/starfield/terminal_box_sw.png: Likewise.
10669 * themes/starfield/terminal_box_w.png: Likewise.
10670 * themes/starfield/theme.txt: Likewise.
10671
17d73325
VS
106722012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 * util/grub.d/00_header.in: Add missing export theme.
10675
dbebaf92
VS
106762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10679 already included.
10680 Reported by: Eren D.
10681
3d68bffb
VS
106822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * conf/Makefile.common (grubdatadir): Removed.
10685 (Makefile.am): Move eveything grubdata to pkgdata.
10686
4b59234d
VS
106872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10688
10689 * grub-core/commands/acpihalt.c (get_sleep_type):
10690 Remove unused variable.
10691
463dcadc
VS
106922012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10695 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10696 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10697 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10698 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10699 i18n with gettext no-op.
10700 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10701 GRUB_ACPI_OPCODE_STRING_CONST.
10702 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10703 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10704
e5b90c82
VS
107052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * po/POTFILES.in: Regenerate.
10708
2a704ca9
VS
107092012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10712 -Wno-error=missing-noreturn.
10713
84f9d341
VS
107142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10717 condition to avoid possibly infinite loops.
10718 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10719 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10720
d46683f9
VS
107212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10724 condition to avoid possibly infinite loops.
10725
c44866b2
VS
107262012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10729 on show_error.
10730
96790539
VS
107312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10734
1ba7e295
VS
107352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10736
10737 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10738
21ffe8f1
VS
107392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 * util/bin2h.c (usage): Add missing attribute noreturn.
10742
0ccb6b3c
VS
107432012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10746 if the size isn't divisible by 512.
10747
b00d7fb6
VS
107482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 Make list_push and list_remove functions rather than inline functions
10751 to decrease size and avoid aliasing violations.
10752
10753 * include/grub/list.h (grub_list_push): Move to ...
10754 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10755 * include/grub/list.h (grub_list_remove): Move to ...
10756 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10757
9d369087
VS
107582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10761 and -Wunused-result.
10762
af0250d9
VS
107632012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10764
10765 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10766 Reported by: Seth Goldberg
10767
aad32b14
VS
107682012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10771
ac96441c
ST
107722012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10773
10774 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10775 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10776 command line.
10777 * docs/grub.texi (Simple configuration): Document
10778 GRUB_CMDLINE_GNUMACH.
10779
107802012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10781
10782 * conf/Makefile.common (platform_SCRIPTS): New variable.
10783 (platform_PROGRAMS): Likewise.
10784 * gentpl.py: Mark *,module and *.image for install.
10785 * grub-core/gdb_grub.in: Add a notice of expected environment.
10786 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10787 (gmodule.pl): Likewise.
10788
ac96441c 107892012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
10790
10791 Replace grub_checkkey with grub_getkey_noblock.
10792
10793 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10794 (grub_getkey_noblock): ... this. All users updated.
10795
ac96441c 107962012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
10797
10798 * grub-core/kern/emu/console.c: Move to ...
10799 * grub-core/term/emu/console.c: ...here.
10800 (grub_ncurses_getkey): Fix return value if no key is detected.
10801
e51b5666
VS
108022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10805 (grub_unit_test_fini): Likewise.
10806 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10807
108082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 * include/grub/test.h (GRUB_UNIT_TEST)
10811
d9a62292
VS
108122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10815 Better error handling.
10816 (grub_script_return): Likewise.
10817 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10818
77c9182f
VS
108192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10822 rimplicit redifinition.
10823
edb13cf9
VS
108242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10827 GRUB.
10828
a9e9dc7c
VS
108292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10832 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10833 prompt here.
10834
b4ba8e02
VS
108352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
10838 as GRUB_ERR_BUG. Don't malloc if no device is available.
10839
dded5540
VS
108402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
10843 Mark calling with invalid term as GRUB_ERR_BUG.
10844
0cf69874
VS
108452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
10848 packets rather than raising an error.
10849
59bfe502
VS
108502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
10853 in if.
10854
db5fc596
VS
108552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
10858 diagnostic to dprintf.
10859 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10860
e4b7f404
VS
108612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
10864 device name.
10865
e7b02f9e
VS
108662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10867
10868 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
10869 (grub_ntfs_iterate_dir): Likewise.
10870
0331e102
VS
108712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10872
10873 Efiemu stylistic fixes and gettext.
10874
10875 * grub-core/efiemu/i386/loadcore32.c
10876 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
10877 * grub-core/efiemu/i386/loadcore64.c
10878 (grub_arch_efiemu_relocate_symbols64): Likewise.
10879 * grub-core/efiemu/i386/pc/cfgtables.c
10880 (grub_machine_efiemu_init_tables): Likewise.
10881 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
10882 (grub_efiemu_loadcore_initXX): Add a filename argument.
10883 All users updated.
10884 Improved error message.
10885 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
10886 Add a filename argument.
10887 All users updated.
10888 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
10889 Reclassify double relocation as GRUB_ERR_BUG.
10890
306fc074
VS
108912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
10894 handling.
10895
794d8ef2
VS
108962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
10899 on partition.
10900
109012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
10902
10903 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
10904
794d8ef2 109052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
10906
10907 Improve string. Gettextize.
10908
78dde88e
VS
109092012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
10912 utils.
10913 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
10914
4786a90f
VS
109152012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
10918 [GRUB_UTIL]: New function.
10919 (insert_array) [GRUB_UTIL]: Store partmaps.
10920 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
10921 partmaps.
10922 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
10923 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
10924 (probe_abstraction): Print diskfilter and not raid.
10925 Reported by: Lennart Sorensen
10926
0b6225bd
VS
109272012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
10930 * util/grub-mkimagexx.c (MASK3): New define.
10931 (add_value_to_slot_20b): Use MASK3.
10932 (add_value_to_slot_21): Likewise.
10933 (relocate_addresses): Fix format specification.
10934 (load_image): Explicitly init symtab_section.
10935
b055f8f6
VS
109362012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10937
10938 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
10939 (grub_util_biosdisk_get_grub_dev): Fix format specification.
10940
b77c2fb7
VS
109412012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10942
10943 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
10944 on powerpc.
10945 Reported by: Lennart Sorensen
10946
e3ec28ab
VS
109472012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * gentpl.py: Add missing license header.
10950 * docs/grub.texi: Update copyright year.
10951
c8d9ead6
GS
109522012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
10953
10954 Source grub-mkconfig_lib from the build directory at build time.
10955 Suggested by: Vladimir Serbinenko.
10956
10957 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
10958 * util/grub-install.in: Define pkgdatadir if not already set, and source
10959 grub-mkconfig_lib from there.
10960 * util/grub-kbdcomp.in: Likewise.
10961 * util/grub-mkconfig.in: Likewise.
10962 * util/grub-mknetdir.in: Likewise.
10963 * util/grub-mkrescue.in: Likewise.
10964 * util/grub-mkstandalone.in: Likewise.
10965 * util/grub-reboot.in: Likewise.
10966 * util/grub-set-default.in: Likewise.
10967 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10968
ebcecdf1
VS
109692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 Increase warning level.
10972
10973 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
10974 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
10975 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
10976 (TARGET_CFLAGS): Likewise.
10977 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
10978 * grub-core/Makefile.core.def (decompressor_xz): Add
10979 -Wno-unreachable-code.
10980 (normal): Add -Wno-redundant-decls.
10981 (xzio): Add -Wno-unreachable-code.
10982 (lzopio): Add -Wno-redundant-decls -Wno-error.
10983 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
10984 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
10985 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
10986 * grub-core/kern/dl.c: Add exception to -Wcast-align.
10987 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
10988 * grub-core/kern/i386/coreboot/init.c: Add exception to
10989 -Wsuggest-attribute=noreturn.
10990 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
10991 * grub-core/kern/ia64/dl_helper.c: Likewise.
10992 * grub-core/kern/mips/dl.c: Likewise.
10993 * grub-core/kern/sparc64/dl.c: Likewise.
10994 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
10995 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
10996 (memcmp): Likewise.
10997 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
10998 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
10999 * grub-core/loader/mips/linux.c: Likewise.
11000 * grub-core/loader/multiboot_elfxx.c: Likewise.
11001 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11002 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11003 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11004 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11005 fixme.
11006 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11007 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11008 Fix prototype.
11009
37bb97fe
VS
110102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11013 address.
11014
29a3550b
VS
110152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11018 Avoid improper use of strings.
11019 (grub_cmd_legacy_initrdnounzip): Likewise.
11020
dfdffd0d
VS
110212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11024 attribute.
11025 (grub_util_info): Likewise.
11026 (grub_util_error): Likewise.
11027
102fae4a
VS
110282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11031 * util/grub-fstest.c (fstest): Likewise.
11032
7e94d044
VS
110332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11036 (grub_md_sha512_real): Likewise.
11037 (grub_util_get_geli_uuid): Likewise.
11038 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11039 (grub_util_biosdisk_open): Fix format specification.
11040 Respect format security.
11041 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11042 (xrealloc): Likewise.
11043 (xasprintf): Likewise.
11044
5ebd9769
VS
110452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 * util/import_gcry.py: Include grub/crypto.h in init.c.
11048
495fc8c1
VS
110492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11052 (generate_image): Make prefix a const char *.
11053 Fix format specifications. Respect format security.
11054 Avoid void * arithmetics.
11055 Avoid shadowing.
11056 (argp_parser): Remove unused variable. Respect format security.
11057 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11058 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11059 (count_funcs): Remove unused variable.
11060 (relocate_addresses): Fix format specification.
11061 Disable x86-64 with elf32. Remove unused variables.
11062 (add_fixup_entry): Avoid shadowing.
11063 (make_reloc_section): Fix format specification.
11064 Use assert.
11065 (locate_sections): Fix format specifications.
11066 (load_image): Avoid shadowing.
11067
043c2ea3
VS
110682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11071 Fix format specifications. Respect format security.
11072 Don't translate already translated grub_errmsg.
11073 (argp_parser): Remove unused variable
11074
3ec65a81
VS
110752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11076
11077 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11078
a4d9fe4a
VS
110792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11082 (main): Likewise. Use xmalloc. Respect format security.
11083
15b81d49
VS
110842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11087 a const char *.
11088 (argp_parser): Remove unused variable.
11089
31731fc0
VS
110902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11093 (add_pixel): Make static.
11094 (add_font): Likewise.
11095 (write_string_section): Make name and str a const char *.
11096 (write_be16_section): Make name a const char *.
11097 (print_glyphs): Make static.
11098 (write_font_ascii_bitmap): Likewise.
11099 (write_font_width_spec): Likewise.
11100 (write_font_pf2): Likewise.
11101 (argp_parser): Remove unused variable.
11102 Respect format security.
11103 (main): Avoid shadowing. Respect format security.
11104
0809527b
VS
111052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 * util/grub-editenv.c (argp_parser): Make static.
11108 (create_envblk_file): Use xmalloc.
11109 (open_envblk_file): Likewise.
11110 Resepect format security.
11111 (set_variables): Respect format security.
11112
45b0c8b7
VS
111132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11114
11115 * util/getroot.c (grub_find_device): Respect format security.
11116 (get_mdadm_uuid): Remove unused variable.
11117 (grub_util_pull_device): Dont call gettext on already translated
11118 grub_errmsg.
11119 (find_system_device): Remove unused variable.
11120 (grub_util_get_grub_dev): Likewise.
11121 (grub_make_system_path_relative_to_its_root): Respect format security.
11122
1b024b4e
VS
111232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 * util/grub-fstest.c (execute_command): Make first argument
11126 a const char *.
11127 (read_file): Avoid shadowing.
11128 Reuse underlying error message if device open fails.
11129 (cmd_cmp): Respect format security.
11130 (root): Make const char *.
11131 (fstest): Remove args argument and use global copy.
11132 Respect format security.
11133 (argp_parser): Make static.
11134 (main): Make default_root const char *.
11135
5d1d4e28
VS
111362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 * util/grub-mount.c (root): Make const char *.
11139 (execute_command): Make first argument a const char *.
11140 (fuse_init): Respect format security.
11141 (argp_parser): Make static. Remove unused variable.
11142 (main): Make default_root a const char *.
11143 Respect format security.
11144
36eb7379
VS
111452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * util/grub-probe.c (probe): Don't call gettext on already translated
11148 grub_errmsg.
11149 Remove unused variables.
11150 (argp_parser): Remove unused variable.
11151
76fb2ea9
VS
111522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * util/grub-script-check.c (argp_parser): Remove unused variable.
11155 (main): Rename read to curread to avoid shadowing.
11156
56c98584
VS
111572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 * util/misc.c (grub_util_write_image_at): Fix format specification.
11160 (grub_util_write_image): Likewise.
11161 (grub_script_execute_argument_to_string): Removed (unused).
11162 (grub_script_execute_menuentry): Likewise.
11163 (grub_putchar): Likewise.
11164
164ebb48
VS
111652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11168 (FUNCTION) [GRUB_UTIL]: Likewise.
11169 (VARIABLE) [GRUB_UTIL]: Likewise.
11170
44318d61
VS
111712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11174 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11175
31a26002
VS
111762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11177
11178 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11179 buffer.
11180
111812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11184 (LzmaEnc_SaveState): Removed (unused).
11185 (LzmaEnc_RestoreState): Likewise.
11186 (LzmaEnc_InitPriceTables): Made static.
11187 (LzmaEnc_Construct): Likewise.
11188 (LzmaEnc_FreeLits): Likewise.
11189 (LzmaEnc_Destruct): Likewise.
11190 (LzmaEnc_Init): Likewise.
11191 (LzmaEnc_InitPrices): Likewise.
11192 (LzmaEnc_Finish): Likewise.
11193 (LzmaEnc_PrepareForLzma2): Removed (unused).
11194 (LzmaEnc_MemPrepare): Likewise.
11195 (LzmaEnc_GetNumAvailableBytes): Likewise.
11196 (LzmaEnc_GetCurBuf): Likewise.
11197 (LzmaEnc_CodeOneMemBlock): Likewise.
11198
6fa67967
VS
111992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11202 (grub_util_ldm_embed): Likewise.
11203
9a7428e6
VS
112042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11205
11206 * util/grub-editenv.c (print_var): Rename name to varname to
11207 avoid shadowing.
11208 (main): Rename index to curindex to avoid shadowing.
31a26002 11209 Make filename a const char *.
9a7428e6 11210
4f96abd1
VS
112112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11214 to arg_getline to avoid shadowing.
11215
44d10dad
VS
112162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11219 disk_ to avoid shadowing.
11220
340ba63e
VS
112212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11224 curindex to avoid shadowing.
11225 Make static.
11226 (MatchFinder_GetNumAvailableBytes): Make static.
11227
22965bce
VS
112282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11231 avoid shadowing.
11232
7b5784d4
VS
112332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11236 argument from encrypt to do_encrypt to avoid shadowing.
11237
6f48ca01
VS
112382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11241 incorrect nesting of #if's.
11242
a4ea2dff
VS
112432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11246 checks which are always false on some platforms.
11247 (grub_cmd_lsacpi): Likewise.
11248 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11249 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11250 Likewise.
11251
def9fc1b
VS
112522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11255 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11256
a67b2a04
VS
112572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11260 re_dfa_t to avoid breaking alignment invariants.
11261 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11262 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11263
44c6828d
VS
112642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11267 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11268
bebe0dd0
VS
112692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11272 Fix declaration.
11273
a9cdb3cf
VS
112742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11277 conserve alignment invariants.
11278 (grub_ehci_ehcc_read16): Likewise.
11279 (grub_ehci_oper_read32): Likewise.
11280 (grub_ehci_oper_write32): Likewise.
11281 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11282 Conserve alignment invariants.
11283
ccc3b1b8
VS
112842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11287 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11288 declarations.
11289
987fbd95
VS
112902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11293 Remove unused variable.
11294
0df363f3
VS
112952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11298 Remove set in if.
11299
b2c0c4a6
VS
113002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * include/grub/net.h: Remove double declarations.
11303
690c531f
VS
113042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 Remove "payload" command in ia64 Linux loader since I couldn't
11307 find any evidence of it being used for anything.
11308 Replace "relocate" command with an environment variable
11309
11310 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11311 fields.
11312 (ia64_boot_payload): Removed.
11313 (last_payload): Likewise.
11314 (RELOCATE_OFF): Likewise.
11315 (RELOCATE_ON): Likewise.
11316 (RELOCATE_FORCE): Likewise.
11317 (relocate): Likewise.
11318 (free_pages): Don't free payloads.
11319 (grub_load_elf64): Use common error messages.
11320 Use "linux_relocate" variable.
11321 Increase the space after boot_params.
11322 (grub_cmd_payload): Removed.
11323 (grub_cmd_relocate): Likewise.
11324 (grub_cmd_fpswa): Improve messages.
11325 (cmd_payload): Removed.
11326 (cmd_relocate): Likewise.
11327 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11328 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11329
01783768
VS
113302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11331
11332 Convert UHCI to DMA framework.
11333
11334 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11335 (grub_uhci_pci_iter): Fill new members
11336 (grub_alloc_td): Use P2V and V2P functions.
11337 (grub_free_queue): Likewise.
11338 (grub_alloc_qh): Likewise.
11339 (grub_uhci_setup_transfer): Likewise.
11340 (grub_uhci_check_transfer): Likewise.
11341
43206939
VS
113422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11343
11344 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11345 Remove assignment in if while on it.
11346
571e140e
VS
113472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 * util/grub-mkstandalone.in: Fix modules directory.
11350
a9d96eeb
VS
113512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11354 on i386-pc target.
11355 (argp_parser): Accept "auto" as compression specification.
11356
e4e37e8d
VS
113572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 Fix `help' with unloaded modules.
11360
11361 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11362 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11363 (grub_dyncmd_dispatcher): Small stylistic fix.
11364 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11365 explicit help is requested.
11366
e1ea3ade
VS
113672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11368
11369 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11370 Explicitly init restart while on it.
11371
27556881
VS
113722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11375 uninited variable.
11376
d65f6b36
VS
113772012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * util/grub-mknetdir.in: Use . rather than source for POSIX
11380 compatibility.
11381
0a1e473c
VS
113822012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11385
ce6647c8
VS
113862012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11389 variable.
11390
66747894
VS
113912012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11394 without quotes.
11395
71645f6e
VS
113962012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11397
11398 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11399
0e1c1f61
VS
114002012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11401
11402 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11403 iteration of partitions.
11404
9c4b5c13
VS
114052012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 Improve gettext support. Stylistic fixes and error handling fixes while
11408 on it.
11409
215c90cb
VS
114102012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11413 part. Instead setup the correct stack in RM.
11414 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11415 for stack.
11416 * include/grub/i386/relocator_private.h: New file.
11417
b5c1f9bf
VS
114182012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11421 argument.
11422 * util/grub-fstest.c (options): Add missing DEVICE part.
11423
b525fd83
VS
114242012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11425
11426 Clarify and unify messages.
11427
11428 * grub-core/commands/hashsum.c (options): Unify messages.
11429 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11430 literal-only message as translatable.
11431 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11432 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11433 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11434 commands.
11435 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11436 key, not the key used to unlock. Clarify what it's used for.
11437 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11438 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11439 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11440 * util/grub-editenv.c (options): Unify "verbose" message.
11441 * util/grub-fstest.c (read_file): Unify error message.
11442 (fstest): Add quotes around commands.
11443 (options): Unify "verbose" message.
11444 * util/grub-install.in: Add quotes around variable name.
11445 * util/grub-kbdcomp.in: Unify error message.
11446 * util/grub-mkfont.c (main): Likewise.
11447 * util/grub-mkrescue.in: Likewise.
11448 * util/grub-mklayout.c (options): Unify "verbose" message.
11449 * util/grub-mkstandalone.in: Unify help and verbose messages.
11450 * util/grub-mount.c (options): Unify "verbose" message.
11451 * util/grub-probe.c (options): Likewise.
11452 * util/grub-script-check.c (options): Likewise.
11453 * util/grub-setup.c (setup): Unify no-terminator message.
11454 (options): Use DEVICE and not DEV.
11455 Unify "verbose" message.
11456 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11457
0ae70393
VS
114582012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 Improve and unify messages.
11461
11462 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11463 name. All users updated.
11464 Print filename in error.
11465 (read_device_map): Print filename in error.
11466 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11467 (grub_util_get_os_disk): Likewise.
11468 (grub_util_biosdisk_get_grub_dev): Likewise.
11469 (grub_util_check_block_device): Likewise.
11470 (grub_util_check_char_device): Likewise.
11471 (grub_make_system_path_relative_to_its_root): Likewise.
11472 * util/grub-editenv.c (create_envblk_file): Likewise.
11473 (open_envblk_file): Likewise.
11474 (write_envblk): Likewise.
11475 * util/grub-fstest.c (cmd_cp): Likewise.
11476 (cmd_cat): Likewise.
11477 (cmd_cmp): Likewise.
11478 * util/grub-menulst2cfg.c (main): Likewise.
11479 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11480 (write_font_width_spec): Likewise.
11481 (write_font_pf2): Likewise.
11482 * util/grub-mkimage.c (generate_image): New argument outname.
11483 All users updated.
11484 Remove unreacheable message.
11485 (options): Unify messages.
11486 (help_filter): Likewise.
11487 * util/grub-mklayout.c (usage): Removed (unused).
11488 (main): Print filename in error.
11489 * util/grub-mkrescue.in: Fix wrong quoting.
11490 * util/grub-setup.c (setup): Print filename in error.
11491 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11492 (check_sas): Likewise.
11493 * util/misc.c (grub_util_get_fp_size): Removed.
11494 (grub_util_get_image_size): Print filename in error.
11495 (grub_util_read_at): Removed.
11496 (grub_util_read_image): Print filename in error.
11497 (grub_util_load_image): Likewise.
11498 (grub_util_write_image_at): New argument filename. All users updated.
11499 Print filename in error.
11500 (grub_util_write_image): New argument filename. All users updated.
11501 Print filename in error.
11502 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11503 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11504
0a96117d
VS
115052012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * grub-core/Makefile.core.def (pxechain): New module.
11508 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11509 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11510 function.
11511 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11512 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11513
aca002f7
VS
115142012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11517 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11518 * include/grub/err.h (grub_error_saved): New struct.
11519 (grub_errmsg): Make array size explicit.
11520 * include/grub/misc.h (grub_error_save): New function.
11521 (grub_error_load): Likewise.
11522 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11523 (grub_error_push): Update `errno' member name.
11524 (grub_error_pop): Likewise
11525 * grub-core/net/tftp.c (tftp_data): New member save_err.
11526 (tftp_receive): Save error.
11527 (tftp_open): Restore error.
11528
a51dab13
VS
115292012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11532 to real mode down to execute A20-related code in protected mode as
11533 intended.
11534
eb6e6649
GS
115352012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11536
11537 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11538 NULL when the argument `level' has an unexpected value.
11539
92cd0f6e
VS
115402012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 Move platform-dependent files from $prefix to $prefix/$platform.
11543
11544 * config.h.in (GRUB_TARGET_CPU): New definition.
11545 (GRUB_PLATFORM): Likewise.
11546 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11547 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11548 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11549 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11550 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11551 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11552 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11553 * grub-core/normal/term.c (read_terminal_list): Likewise.
11554 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11555 $prefix/locale.
11556 (grub_gettext_init_ext): Likewise.
11557 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11558 grub_platform.
11559 * util/grub-install.in: Update directories.
11560 * util/grub-mknetdir.in: Likewise.
11561 * util/grub-mkrescue.in: Likewise.
11562
db606889
VS
115632012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11566 grub_error framework. All users updated.
11567
c39992a4
VS
115682012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11571 lists (by always binsearching), improve caching (cache strings
11572 used for binsearch, not only results), improve
11573 maintainability (by using more structured binary search) and correct
11574 error handling.
11575
1e5ec32f
VS
115762012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 * grub-core/script/execute.c (grub_script_return): Fix warning.
11579
ac576cde
VS
115802012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 * grub-core/script/execute.c (grub_script_return): Fix potential
11583 NULL-dereference.
11584 Reported by: Jim Meyering.
11585
498453f6
VS
115862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 * po/POTFILES.in: Regenerate.
11589 * util/grub-install.in: Gettextize the strings missed in first pass.
11590
8be63f2e
VS
115912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 * Makefile.util.def (grub-mkdevicemap): Removed.
11594 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11595 * include/grub/util/deviceiter.h: Removed.
11596 * util/deviceiter.c: Likewise.
11597 * util/getroot.c (grub_util_get_os_disk): New function.
11598 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11599 replacement for EFI.
11600 * util/grub-mkdevicemap.c: Removed.
11601 * util/grub-probe.c (probe): Handle PRINT_DISK.
11602 (argp_parser): Handle -t disk.
11603
8e1e4e39
VS
116042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11605
11606 * util/grub-mkfont.c: Migrate to argp.
11607 * util/grub-mklayout.c: Likewise.
11608 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11609 * util/grub-mkrelpath.c: Likewise.
11610 * util/grub-probe.c: Likewise.
11611 * util/grub-script-check.c: Likewise.
11612
4459819a
VS
116132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 * util/grub-reboot.in: Add missing datarootdir.
11616 Add missing newline.
11617 * util/grub-set-default.in: Add missing datarootdir.
11618 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11619 * util/grub-mkrescue.in: Likewise.
11620
f65741c7
VS
116212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11624
c1a33466
VS
116252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 * util/grub-kbdcomp.in: Add decent help and gettextize.
11628 * docs/man/grub-kbdcomp.h2m: New file.
11629
c76899a0
VS
116302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 Migrate grub-mkimage.c to argp.
11633
11634 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11635 (grub-setup): Likewise.
11636 * util/grub-setup.c (print_version): Move to ...
11637 * util/argp_common.c (print_version): ... here.
11638 * util/grub-setup.c (argp_program_version_hook): Move to ...
11639 * util/argp_common.c (argp_program_version_hook): ... here.
11640 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11641 safety.
11642 * util/grub-mkimage.c (main): Migrate to argp.
11643
57db0757
VS
116442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 * util/grub-mkrescue.in: Use same message as
11647 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11648 for better translations.
11649
18534ad9
VS
116502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11653 options with generic grub-mkrescue.in with the goal of future
11654 merge.
11655
c84ba308
VS
116562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11657
11658 * grub-core/kern/mm.c: Add missing include of i18n.h
11659 * grub-core/lib/relocator.c: Likewise.
11660
347998c2
VS
116612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11664 error.
11665 (allocate_pages): Check return value.
11666 Replace fatal with error.
11667 (grub_linux_boot): Replace printf with dprintf.
11668 Check find_mmap_size return value.
11669 Replace fatal with error.
11670 Don't call grub_machine_fini.
11671 (grub_load_elf64): Replace printf with dprintf.
11672 (grub_cmd_linux): Likewise.
11673 (grub_cmd_initrd): Likewise.
11674 (grub_cmd_payload): Likewise.
11675
c779226e
VS
116762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11679 message.
11680 * grub-core/video/radeon_fuloong2e.c
11681 (grub_video_radeon_fuloong2e_setup): Likewise.
11682 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11683 * grub-core/video/video.c (grub_video_set_mode): Don't override
11684 standard out of memory message.
11685
dc87d45a
GS
116862012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11687
11688 NetBSD disk wedge support.
11689
11690 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11691 [__NetBSD__]: Handle NetBSD disk wedges.
11692 * util/getroot.c (convert_system_partition_to_system_disk)
11693 [__NetBSD__]: Likewise.
11694
055f856f
MW
116952012-02-03 Mark Wooding <mdw@distorted.org.uk>
11696
11697 * util/grub-mkconfig.in: Use umask rather than chmod to create
11698 grub.cfg.new to avoid insecure grub.cfg.
11699
4a9f8346
VS
117002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/commands/ls.c: Gettextize.
11703 * grub-core/commands/setpci.c: Likewise.
11704 * grub-core/commands/videotest.c: Likewise.
11705 * grub-core/disk/geli.c: Likewise.
11706 * grub-core/kern/mm.c: Likewise.
11707 * grub-core/lib/relocator.c: Likewise.
11708 * grub-core/loader/efi/appleloader.c: Likewise.
11709 * grub-core/loader/i386/xnu.c: Likewise.
11710 * grub-core/loader/ia64/efi/linux.c: Likewise.
11711 * grub-core/loader/xnu.c: Likewise.
11712 * grub-core/net/dns.c: Likewise.
11713 * grub-core/net/net.c: Likewise.
11714 * grub-core/script/lexer.c: Likewise.
11715 * grub-core/script/parser.y: Likewise.
11716 * grub-core/script/yylex.l: Likewise.
11717 * util/getroot.c: Likewise.
11718 * util/grub-setup.c: Likewise.
11719
a646a366
VS
117202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11723 number.
11724
54e2be26
VS
117252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11728
f7c71e68
VS
117292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11732 macro.
11733 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11734 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11735
a32d5c71
VS
117362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11739 * util/grub-install.in: Gettextize.
11740 * util/grub-mkconfig.in: Likewise.
11741 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11742 if not available.
11743 (grub_warn): Gettextize.
11744 * util/grub-mknetdir.in: Gettextize.
11745 * util/grub-mkrescue.in: Likewise.
11746 * util/grub-mkstandalone.in: Likewise.
11747 * util/grub-reboot.in: Likewise.
11748 * util/grub-set-default.in: Likewise.
11749 * util/grub.d/00_header.in: Likewise.
11750 * util/grub.d/10_hurd.in: Likewise.
11751 * util/grub.d/10_kfreebsd.in: Likewise.
11752 * util/grub.d/10_linux.in: Likewise.
11753 * util/grub.d/10_netbsd.in: Likewise.
11754 * util/grub.d/10_windows.in: Likewise.
11755 * util/grub.d/20_linux_xen.in: Likewise.
11756 * util/grub.d/30_os-prober.in: Likewise.
11757 * po/POTFILES-shell.in: Regenerate.
11758
69edd81a
RL
117592012-02-03 Richard Laager <rlaager@wiktel.com>
11760
11761 * util/grub-mkimage.c (main): Fix format-security warning.
11762 * util/grub-mkrelpath.c (main): Likewise.
11763 * util/grub-probe.c (main): Likewise.
11764
65f08dbf
RL
117652012-02-03 Richard Laager <rlaager@wiktel.com>
11766
11767 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11768 failure.
11769 Put back lost PRINT_DRIVE.
11770
e9084abe
RL
117712012-02-03 Richard Laager <rlaager@wiktel.com>
11772
11773 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11774 (grub_guess_root_devices): Replace strlen with sizeof.
11775 Avoid crash.
11776 (find_root_devices_from_poolname): Remove unused variable.
11777 Handle raidzN.
11778
cf5f7ee7
VS
117792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 Support install on multi-device filesystems.
11782
11783 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11784 (grub_guess_root_devices): ...this. Return char **. All users updated.
11785 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11786 Removed.
11787 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11788 (find_root_devices_from_poolname): ... here.
11789 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11790 Support zfs-fuse.
11791 (grub_guess_root_device): Rename to ...
11792 (grub_guess_root_devices): ... this. Return char **. All users updated.
11793 * util/grub-install.in: Handle multi-device filesystems.
11794 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11795 argument. All users updated.
11796 Handle multi-device filesystems.
11797 Use 'delim' as separator.
11798 Remove device check to allow filesystems on file.
11799 (main): Support -0 argument. Handle multi-device.
11800 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11801 Fix a cross-device check while on it.
11802 (arguments): Remove root_dev.
11803 (argp_parser): Remove -r.
11804 (main): Remove root_dev.
11805
2f53a9ed
VS
118062012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11809
17e1d934
VS
118102012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11813 symbol.
11814 Reported by: NODA, Kai <nodakai>.
11815
d3e3fab5
VS
118162012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11817
11818 Fix ehci on amd64.
11819
11820 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11821 pointers.
11822 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11823 (grub_ehci_setup_qh): Likewise.
11824 (grub_ehci_find_qh): Likewise.
11825 (grub_ehci_transaction): Likewise.
11826 (grub_ehci_setup_transfer): Likewise.
11827 (grub_ehci_check_transfer): Likewise.
11828 (grub_ehci_portstatus): Likewise.
11829 (grub_ehci_detect_dev): Likewise.
11830 (grub_ehci_transfer_controller_data): New field td_last_phys.
11831 (grub_ehci_setup_transfer): Fill td_last_phys.
11832 (grub_ehci_check_transfer): Use td_last_phys.
11833
3008675b
SG
118342012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11835
11836 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
11837 if no submenu is present.
11838
fc9b5652
AN
118392012-02-01 Aleš Nesrsta <starous@volny.cz>
11840
11841 CBI support.
11842
11843 * include/grub/usb.h (grub_usbms_protocol_t): New values
11844 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
11845 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
11846 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
11847 (grub_usbms_dev): Add subclass, protocol and intrpt.
11848 Remove in_maxsz and out_maxsz.
11849 (grub_usbms_reset): Rename to ...
11850 (grub_usbms_bo_reset): .. this.
11851 (grub_usbms_cbi_cmd): New function.
11852 (grub_usbms_cbi_reset): Likewise.
11853 (grub_usbms_reset): Likewise.
11854 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
11855 (grub_usbms_transfer): Rename to ...
11856 (grub_usbms_transfer_bo): ... this.
11857 (grub_usbms_transfer_cbi): Likewise.
11858 (grub_usbms_transfer): Likewise.
11859
a2b81d53
AN
118602012-02-01 Aleš Nesrsta <starous@volny.cz>
118612012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
11864 the support for the CS5536 modification thereos and few bugfixes.
11865
11866 * grub-core/Makefile.core.def (ehci): New module.
11867 * grub-core/bus/usb/ehci.c: New file.
11868 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
11869 port and hubaddr. All users updated.
11870 Save port and hubaddr into dev structure.
11871 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
11872 define.
11873 * include/grub/pci.h (grub_dma_phys2virt): New function.
11874 (grub_dma_virt2phys): Likewise.
11875 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
11876
b1d51f02
VS
118772012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
11880 check as some mkfs implementations omit it.
11881
fc694106
VS
118822012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11883
11884 * docs/grub.texi (Unicode): Mention identifier and space limitations.
11885
6c0920e3
VS
118862012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
11889 Add new member volname2.
11890 (grub_jfs_label): Use volname2 if available.
11891
d1a46f9a
VS
118922012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
11895 over last_mounted as seen in image generated by mkfs.nilfs2.
11896 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
11897
dec8ed14
VS
118982012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11899
11900 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
11901 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
11902 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
11903
7397c69b
VS
119042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
11907 over the sector.
11908
b3fe42ad
VS
119092012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
11912 subvolume name (by removing a bogus and useless check).
11913
10476bb0
VS
119142012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
11917 sizeof while on it.
11918
9c08ad87
VS
119192012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
11922 (grub_scsi_read_capacity10): ... this.
11923 (grub_scsi_read_capacity16): New function.
11924 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
11925 0xffffffff.
11926 Fix off-by-one error.
11927 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
11928 64-bit unsigned.
11929 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
11930 (grub_scsi_read_capacity10): ... this.
11931 (grub_scsi_read_capacity_data): Rename to ...
11932 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
11933 (grub_scsi_read_capacity16): New struct.
11934 (grub_scsi_read_capacity16_data): Likewise.
11935 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
11936 grub_scsi_cmd_read_capacity10.
11937 New command grub_scsi_cmd_read_capacity16.
11938
bc8d0f45
VS
119392012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11940
11941 SCSI >2TiB support.
11942
11943 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
11944 (grub_scsi_write16): Likewise.
11945 (grub_scsi_read): Use read16 when necessary.
11946 (grub_scsi_write): Likewise.
11947 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
11948 (grub_scsi_write16): Likewise.
11949 (grub_scsi_cmd_t): Add READ16 and WRITE16.
11950
cc774926
VS
119512012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 SCSI write support (for usbms mainly).
11954
11955 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
11956 a const pointer.
11957 (grub_scsi_write): Implement.
11958 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
11959
67639fd7
VS
119602012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
11963 variable.
11964
9079d3ed
VS
119652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 * grub-core/lib/posix_wrap/string.h (memchr): New function.
11968
c6a6f204
VS
119692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * po/POTFILES.in: Regenerate.
11972
ecbf8cd1
VS
119732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
11976 with grub_printf to avoid unnecessary fatal failure.
11977
0b3b3b38
VS
119782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11979
11980 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
11981 (INT_MAX): Likewise.
11982 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
11983 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
11984 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
11985 (strcpy): Likewise.
11986 (strstr): Likewise.
11987 (strchr): Likewise.
11988 (strncpy): Likewise.
11989 (strcat): Likewise.
11990 (strncat): Likewise.
11991 (strcoll): Likewise.
11992 * include/grub/types.h (GRUB_SHRT_MAX): New define.
11993 (GRUB_INT_MAX): Likewise.
11994
db7337a3
VS
119952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
11998 unexpected error.
11999 (optimize_utf8): Likewise.
12000 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12001
f37c87e1
VS
120022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12003
12004 * grub-core/boot/i386/pc/lnxboot.S: Use
12005 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12006 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12007 location.
12008 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12009 definition.
12010 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12011
63fe43f3
VS
120122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12015 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12016 now to avoid double free.
12017 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12018 hostdisk.
12019 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12020 * util/grub-probe.c (escape_of_path): Always return a new copy.
12021 (print_full_name): Escape path.
12022 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12023 Fix hints on abstractions.
12024
ebe2c961
VS
120252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12028 Don't add "root" line if no compatibility hont is available.
12029 Suggested by: Seth Goldberg.
12030
2b5336a2
VS
120312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12034 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12035 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12036 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12037
74310bd8
VS
120382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12041
c30582ba
VS
120422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * util/grub-pe2elf.c (ehdr): Make static.
12045 (shdr): Likewise.
12046 (num_sections): Likewise.
12047 (offset): Likewise.
12048
5f47782c
VS
120492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 Eliminate ofpath limits and possible overflows.
12052
12053 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12054 (OF_PATH_MAX): Removed.
12055 (MAX_DISK_CAT): New const.
12056 (find_obppath): Use allocated rather than preallocated buffer.
12057 Return result. Argument of_path removed. All users updated.
12058 Add missing fdstat.
12059 (xrealpath): New function.
12060 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12061 Allocate rather than use preallocated buffer. All users updated.
12062 (__of_path_common): Use allocated rather than preallocatecd buffer.
12063 Return result. Argument of_path removed. All users updated.
12064 (vendor_is_ATA): Read only needed part form the file.
12065 (check_sas): Allocate depending on contents rather than fixed.
12066 (main) [STANDALONE]: Handle NULL result.
12067
f990cbf9
VS
120682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12071
9c6e84b8
VS
120722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 Cryptodisk write support.
12075
12076 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12077 (grub_cryptodisk_decrypt): Moved logic to ...
12078 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12079 (grub_cryptodisk_write): Implement.
12080 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12081 (grub_util_fd_write): ... this. Make global.
12082 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12083
87cf9744
VS
120842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 * include/grub/list.h (grub_list_remove): Don't crash if element is
12087 removed twice.
12088
ca8c0baf
VS
120892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12090
12091 Rename ofconsole to console.
12092
12093 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12094 as sysnonym to console.
12095 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12096 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12097 Rename grub_ofconsole_ to grub_console_. All users updated
12098 (grub_console_term_output): Rename "ofconsole" to "console".
12099 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12100 as "console".
12101
64c8b8f6
VS
121022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12103
12104 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12105 handling.
12106 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12107 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12108 GRUB_DISK_DEVICE_FILE_ID.
12109
f6c434d5
VS
121102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12111
12112 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12113 and improve performance.
12114
5858b42d
VS
121152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12116
12117 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12118 missing ieee1275/ prefix on whole disk.
12119
4ed3c26b
VS
121202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12121
12122 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12123 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12124
df71143e
VS
121252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12128
076e7c0f
VS
121292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 Merge common RAID and LVM logic to an abstract diskfilter.
12132 Add LDM support using the same framework.
12133
12134 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12135 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12136 (libgrubmods): Remove grub-core/disk/raid.c and
12137 grub-core/partmap/gpt.c.
12138 * grub-core/Makefile.core.def (ldm): New module.
12139 (raid): Renamed to diskfilter. All users updated.
12140 * grub-core/disk/raid.c: Moved to ...
12141 * grub-core/disk/diskfilter.c: ... here.
12142 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12143 (lv_num): New var.
12144 (find_array): Renamed to ...
12145 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12146 (grub_is_array_readable): Renamed to ...
12147 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12148 (insert_array): New argument id.
12149 (is_node_readable): New function.
12150 (scan_device): Rename to ...
12151 (scan_disk): .. this. Restrict to one disk.
12152 (scan_devices): New function.
12153 (grub_diskfilter_iterate): Support multi-LV.
12154 Skip invisible and nameless LVs.
12155 (grub_diskfilter_memberlist): Support multi-LV.
12156 (grub_diskfilter_read_node): New function.
12157 (grub_raid_read): Most of logic moved to ...
12158 (read_segment): ... here
12159 (read_lv): New function.
12160 (grub_diskfilter_get_vg_by_uuid): New function.
12161 (grub_diskfilter_make_raid): Likewise.
12162 * grub-core/disk/ldm.c: New file.
12163 * grub-core/disk/lvm.c (vg_list): Removed.
12164 (lv_count): Likewise.
12165 (scan_depth): Likewise.
12166 (is_lv_readable): Likewise.
12167 (grub_lvm_getvalue): Advance pointer past the number.
12168 (find_lv): Removed.
12169 (do_lvm_scan): Refactored into ...
12170 (grub_lvm_detect): ... this. Support raid.
12171 (grub_lvm_iterate): Removed.
12172 (grub_lvm_memberlist): Likewise.
12173 (grub_lvm_open): Likewise.
12174 (grub_lvm_close): Likewise.
12175 (read_lv): Likewise.
12176 (read_node): Likewise.
12177 (is_node_readable): Likewise.
12178 (is_lv_readable): Likewise.
12179 (grub_lvm_read): Likewise.
12180 (grub_lvm_write): Likewise.
12181 (grub_lvm_dev): Use diskfilter
12182 (GRUB_MOD_INIT): Likewise.
12183 (GRUB_MOD_FINI): Likewise.
12184 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12185 new interface.
12186 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12187 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12188 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12189 grub_diskfilter_read_node.
12190 Fix a bug with xor.
12191 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12192 grub_diskfilter_read_node.
12193 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12194 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12195 (grub_disk_dev_iterate): Move from here...
12196 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12197 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12198 Make global.
12199 (grub_hostdisk_find_partition_start): Likewise.
12200 (grub_hostdisk_os_dev_to_grub_drive): New function.
12201 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12202 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12203 * util/getroot.c (make_device_name): ... here.
12204 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12205 Move to ...
12206 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12207 * grub-core/kern/emu/hostdisk.c
12208 (convert_system_partition_to_system_disk): Move to ...
12209 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12210 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12211 * util/getroot.c (device_is_wholedisk): ... here.
12212 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12213 * util/getroot.c (find_system_device): ... here.
12214 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12215 Move to ...
12216 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12217 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12218 Move to ...
12219 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12220 Handle LDM.
12221 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12222 Move to ...
12223 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12224 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12225 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12226 DISKFILTER.
12227 * include/grub/raid.h: Renamed to ...
12228 * include/grub/diskfilter.h: ... this.
12229 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12230 (GRUB_RAID_LAYOUT_*): Make into array.
12231 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12232 (grub_diskfilter_vg): New struct.
12233 (grub_diskfilter_pv_id): Likewise.
12234 (grub_raid_member): Removed.
12235 (grub_raid_array): Likewise.
12236 (grub_diskfilter_pv): New struct.
12237 (grub_diskfilter_lv): Likewise.
12238 (grub_diskfilter_segment): Likewise.
12239 (grub_diskfilter_node): Likewise.
12240 (grub_diskfilter_get_vg_by_uuid): New proto.
12241 (grub_raid_register): Inline.
12242 (grub_diskfilter_unregister): Likewise.
12243 (grub_diskfilter_make_raid): New proto.
12244 (grub_diskfilter_vg_register): Likewise.
12245 (grub_diskfilter_read_node): Likewise.
12246 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12247 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12248 (grub_util_is_ldm): Likewise.
12249 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12250 (grub_hostdisk_find_partition_start): Likewise.
12251 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12252 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12253 New definition.
12254 (grub_gpt_partition_map_iterate): New proto.
12255 * include/grub/lvm.h (grub_lvm_vg): Removed.
12256 (grub_lvm_pv): Likewise.
12257 (grub_lvm_lv): Likewise.
12258 (grub_lvm_segment): Likewise.
12259 (grub_lvm_node): Likewise.
12260 * util/getroot.c [...]
12261 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12262 (probe_abstraction): Likewise.
12263 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12264 (main): Remove dead logic.
12265
8a7f9b9c
VS
122662012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 Simplify root device discover and don't fail when trying to open
12269 incorrect devices.
12270
12271 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12272 function.
12273 (get_diskname_from_path): Likewise.
12274 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12275 of iterating.
12276
30545b85
VS
122772012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12280
28ea58cf
VS
122812012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12284 pastthe end.
12285
692dabca
VS
122862012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12287
12288 * util/grub-install.in: Add missing \.
12289 Reported by: gentoofan
12290
f6e4ea70
VS
122912012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12294 (direct_read): Use correct compressed size.
12295 (grub_squash_read_data): Likewise.
12296
122972012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12298
12299 * docs/grub.texi (Platform limitations): New section.
12300 (Platform-specific operations): Likewise.
12301 * docs/grub-dev.texi (Porting): Likewise.
12302
76261110
VS
123032012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12304
12305 IEEE1275 disk write support.
12306
12307 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12308 const void *.
12309 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12310 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12311 and seek loginc to ...
12312 (grub_ofdisk_prepare): ... here.
12313 (grub_ofdisk_write): Implement.
12314
fc36d603
VS
123152012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12316
12317 ARC disk write support.
12318
12319 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12320 (reopen): New argument writable. All users updated.
12321 Handle required access mode.
12322 (grub_arcdisk_write): Implement.
12323 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12324 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12325
e06c2e7a
VS
123262012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12329 (read_sblock): Don't attempt to read superblocks outside the disk size.
12330
ff447958
VS
123312012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12334 first superblock to find the second one when possible.
12335
9e88df39
VS
123362012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12337
12338 * util/grub-install.in: Fix an ARC bug.
12339 Print a warning if no platform-specific setup is available.
12340
bb26e4ff
VS
123412012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 Use static allocation rather than scratch pointer in reed_solomon.
12344 It decreases its size significantly and avoids a variable in .text.
12345
12346 * grub-core/lib/reed_solomon.c (scratch): Removed.
12347 (chosenstat): New const or static array.
12348 (sigma): Likewise.
12349 (errpot): Likewise.
12350 (errpos): Likewise.
12351 (sy): Likewise.
12352 (mstat): Likewise.
12353 (errvals): Likewise.
12354 (eqstat): Likewise.
12355 (pol_evaluate): Replace x with log_x argument. All users updated.
12356 (syndroms): Removed.
12357 (gauss_solve): Use statically allocated arrays.
12358 (rs_recover): Likewise.
12359 Calculate syndroms directly.
12360 (decode_block): Use statically allocated arrays.
12361 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12362 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12363
2e13ede5
VS
123642012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 Eliminate fixed limit on reed solomon decoder length.
12367
12368 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12369 rather than hardcoding the address.
12370 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12371 no_reed_solomon_length.
12372 Move gate_a20 to no-reed-solomon part.
12373 Don't force a particular size of no reed-solomon part.
12374 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12375 Removed.
12376 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12377 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12378
f8a9ab12
VS
123792012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12380
12381 * grub-core/commands/wildcard.c (match_files): Handle filenames
12382 without explicit device.
12383 (wildcard_expand): Don't add explicit device if not already present.
12384 * tests/grub_script_echo1.in: Add a new expansion test.
12385
87edb894
VS
123862012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 Replace single-linked with double-linked lists. It results in more
12389 compact and more efficient code.
12390
12391 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12392 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12393 (grub_list_remove): Moved from here ...
12394 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12395 (grub_prio_list_insert): Set prev.
12396 * include/grub/list.h (grub_list): Add prev. All users updated.
12397
48b391e9
VS
123982012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 Handle newer autotools. Add some missing quotes while on it.
12401
12402 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12403 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12404 (pkgdata_DATA): ... here.
12405 * Makefile.util.def (update-grub_lib): Removed.
12406 * conf/Makefile.common (pkglib_DATA): Removed.
12407 (pkglib_SCRIPTS): Likewise.
12408 (pkgdata_DATA): New variable.
12409 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12410 needed.
12411 Add missing quotes.
12412 Remove unused variable while on it.
12413 * tests/util/grub-shell.in: Likewise.
12414 * util/grub-install.in: Likewise.
12415 * util/grub-mkconfig.in: Likewise.
12416 * util/grub-mknetdir.in: Likewise.
12417 * util/grub-mkrescue.in: Likewise.
12418 * util/grub-mkstandalone.in: Likewise.
12419 * util/grub.d/00_header.in: Likewise.
12420 * util/grub.d/10_hurd.in: Likewise.
12421 * util/grub.d/10_illumos.in: Likewise.
12422 * util/grub.d/10_kfreebsd.in: Likewise.
12423 * util/grub.d/10_linux.in: Likewise.
12424 * util/grub.d/10_netbsd.in: Likewise.
12425 * util/grub.d/10_windows.in: Likewise.
12426 * util/grub.d/20_linux_xen.in: Likewise.
12427 * util/grub.d/30_os-prober.in: Likewise.
12428 * util/update-grub_lib.in: Removed.
12429
124302012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12431
12432 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12433 a workaround for intel problem.
12434
66832792
PRP
124352012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
124362012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
124372012-01-23 pfsmorigo
12438
12439 * util/grub-install.in: Support dd'in into PreP partition.
12440 * util/grub-probe.c (probe): Support discovering partition type.
12441 (main): Support -t msdos_parttype.
12442
7816a17e
VS
124432012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12446 infinite recursion using counter.
12447 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12448 init to skip it if the magic check fails.
12449 (dec_stream_header): Init s->crc32.
12450
8f9d3a8c
ZB
124512012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
124522012-01-22 Zachary Bedell <pendorbound@gmail.com>
124532012-01-22 Richard Laager <rlaager@wiktel.com>
12454
12455 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12456 All users updated.
12457 (find_bestub): Determine correct size.
12458 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12459 (scan_disk): Align the size down.
12460 Call check pool before find_bestub to have ashift.
12461
b055dd32
VS
124622012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12463
12464 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12465 dprintf in no-malloc zone.
12466
d779e9bd
ML
124672012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12468
12469 * configure.ac: Add back in test for limits.h.
12470
b508af69
VS
124712012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 Support 4K-sector NTFS.
12474
12475 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12476 (grub_ntfs_data): Remove blocksize.
12477 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12478 Remove data argument. All users updated.
12479
dad9c8b5
VS
124802012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12483 being in .text to avoid dprel references.
12484 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12485 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12486 (grub_arch_highmemsize): Likewise.
12487 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12488 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12489 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12490
d43a777e
VS
124912012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12494
12495 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12496 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12497
34e4208f
VS
124982012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12501 GRUB_UTIL.
12502 (grub_set_datetime_cmos): Likewise.
12503
3ec0fc1c
VS
125042012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 Make XZ compression parameters dependent on target and not host CPU.
12507
12508 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12509 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12510
22489834
VS
125112012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12512
12513 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12514 set but not used variable.
12515
8502fbca
VS
125162012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12517
12518 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12519 created when no uuid support is compiled into mkfs.reiser.
12520
76df2068
VS
125212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12522
12523 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12524 (utf8_to_macroman): Do the opposite.
12525 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12526
64e3f8f6
VS
125272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * configure.ac: Refise build qemu_mips w/o unifont.
12530
9c271078
VS
125312012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 Eliminate grub_min/grub_max prone to overflow usage.
12534
12535 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12536 (poll_nonroot_hub): Likewise.
12537 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12538 (grub_affs_label): Likewise.
12539 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12540 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12541 (grub_hfs_label): Likewise.
12542 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12543 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12544 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12545 (zap_leaf_array_get): Likewise.
12546 (dnode_get_path): Likewise.
12547 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12548 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12549 * grub-core/script/execute.c (grub_script_break): Likewise.
12550 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12551 grub_max.
12552 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12553 * include/grub/misc.h (grub_min): Removed.
12554 (grub_max): Likewise.
12555
80662dbc
VS
125562012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12557
12558 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12559 direct.inode = 0.
12560
e6da1467
VS
125612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12564
b1ac4cb1
VS
125652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12568
b4bf7c3b
VS
125692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12572 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12573
8ee1101a
VS
125742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12575
12576 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12577 rather than a hack for grub_strncasemap.
12578
125792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 Support multiple initrds
12582 Note: part of this was accidently committed in r3739.
12583
12584 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12585 initrd.
12586 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12587 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12588 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12589 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12590 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12591
4d1e2bc9
VS
125922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12593
12594 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12595 disks with unknown size.
12596 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12597
75b49ebe
VS
125982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 Remove defines pertaining to arbitrary limits not affecting GRUB
12601 anymore.
12602
12603 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12604 (EXT2_MAX_SYMLINKCNT): Likewise.
12605 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12606 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12607 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12608 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12609 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12610 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12611 (DN_MAX_OBJECT_SHIFT): Likewise.
12612 (DN_MAX_OFFSET_SHIFT): Likewise.
12613 (DN_MAX_OBJECT): Likewise.
12614 (DNODES_PER_LEVEL_SHIFT): Likewise.
12615 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12616 (SPA_MAXBLOCKSIZE): Likewise.
12617 (SPA_BLOCKSIZES): Likewise.
12618 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12619 (MZAP_MAX_BLKSZ): Likewise.
12620
74a1dce7
VS
126212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12624 handle NULL appropriately.
12625 Remove MIN.
12626
30c7d3ce
VS
126272012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12628
12629 Fix efiemu.
12630
12631 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12632 cpu/types.h.
12633 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12634 * configure.ac: Fix efiemu check.
12635
3c76ea0c
VS
126362012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12639 grub_probe.
12640 Reported by: adamwill
12641
7e532280
SG
126422012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12643
12644 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12645
30492374
VS
126462012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 Fix handling of wide characters in gfxterm.
12649
12650 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12651 (clear_char): Likewise.
12652 (paint_char): Skip code == NULL chars.
12653 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12654
e70cb72f
VS
126552012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12656
12657 * grub-core/normal/charset.c: Move comment to right place.
12658
5c827cf9
VS
126592012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12662 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12663 (grub_affs_mount): Revert the correct version checking.
12664
53603892
VS
126652012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12666
12667 * docs/grub.texi (Unicode): Mention several other unsupported features.
12668
ff094b9b
VS
126692011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12670
12671 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12672 case statements as compile-time one.
12673 (direct_read): Prevent spurious warnings.
12674 (grub_squash_read_data): Likewise.
12675
c029da8a
VS
126762011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 Various squash4 fixes and LZO and XZ support.
12679
12680 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12681 Add xzembed source files.
12682 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12683 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12684 (grub_squash_inode): New subtype long_dir.
12685 (SQUASH_TYPE_LONG_DIR): New inode type.
12686 (COMPRESSION): New enum.
12687 (XZBUFSIZ): New const.
12688 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12689 (read_chunk): Use data->decompress.
12690 (zlib_decompress): New function.
12691 (lzo_decompress): Likewise.
12692 (xz_decompress): Likewise.
12693 (squash_mount): Set new data fields.
12694 (grub_squash_iterate_dir): Handle long dir.
12695 (squash_unmount): Free xzdec and xzbuf.
12696 (grub_squash_open): Check ino type.
12697 (direct_read): Stylistic fixes. Use data->decompress.
12698 (grub_squash_read_data): Likewise.
12699 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12700 (get_byte): Likewise.
12701 (grub_zlib_disk_read): Removed.
12702 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12703 (GRUB_POSIX_BOOL_DEFINED): New define.
12704 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12705 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12706 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12707 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12708
7a45a539
VS
127092011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 Don't override more informative errors.
12712
12713 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12714 * grub-core/font/font.c (open_section): Likewise.
12715 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12716 filename. Don't override errors.
12717 (grub_cmd_openbsd_ramdisk): Don't override errors.
12718 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12719 (grub_cmd_initrd): Likewise.
12720 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12721 (grub_cmd_initrd): Likewise.
12722 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12723 (grub_cmd_linux): Likewise.
12724 (grub_cmd_initrd): Likewise.
12725 (grub_cmd_payload): Likewise.
12726 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12727 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12728 (grub_cmd_module): Likewise.
12729 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12730 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12731 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12732 (grub_cmd_xnu_mkext): Likewise.
12733 (grub_cmd_xnu_ramdisk): Likewise.
12734 (grub_xnu_check_os_bundle_required): Likewise.
12735 (grub_xnu_load_kext_from_dir): Likewise.
12736 (grub_cmd_xnu_kextdir): Likewise.
12737 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12738
b2d004db
VS
127392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12740
12741 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12742 as 1024 in block size field. Found on one of my test images.
12743 Small optimisation while on it.
12744
ec000eac
VS
127452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12748 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12749 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12750 performance fixes while on it.
12751 (grub_sfs_close): Fix memory leak while on it.
12752 (grub_sfs_label): Convert Latin1 to UTF-8.
12753
f50e1165
VS
127542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12757 space to avoid overflows.
12758 (grub_hfs_label): Convert from macroman to UTF-8.
12759
2ae254de
VS
127602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12761
12762 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12763
0108f491
VS
127642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12767
f45f5f89
VS
127682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 * unicode: Import Unicode 6.0 data.
12771
4d8c4765
VS
127722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12773
63fa8ef9
VS
12774 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12775 outside of range.
12776
127772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
12780
12781 * include/grub/charset.h (grub_getend): New function.
12782 * grub-core/script/function.c (grub_script_function_find): Use
12783 grub_getend.
12784 * grub-core/normal/completion.c (add_completion): Likewise.
12785
f3cb4a4e
VS
127862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12789 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12790 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12791 (GRUB_UNICODE_TAG_END): Likewise.
12792 (GRUB_UNICODE_LAST_VALID): Likewise.
12793
5da8dbc5
VS
127942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12797 len and make it smaller. All users updated.
12798 * util/import_unicode.py: Put length and not end character.
12799 Check length.
12800
8569f13d
VS
128012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 Make better Unicode-compliant and unify some UTF-8 code pathes.
12804
12805 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12806 valid character.
12807 (grub_is_valid_utf8): Use grub_utf8_process.
12808 Check resulting code range.
12809 (grub_utf8_to_ucs4): Use grub_utf8_process.
12810 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12811 valid character.
12812
cc4fddf5
VS
128132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12816
bbc47747
VS
128172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12818
12819 * docs/grub.texi (Filesystems): Mention AFS.
12820
f63d6bf4
VS
128212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * docs/grub.texi (Filesystems): Clarify restrictions.
12824 (Regexp): Mention non-Unicode regexp behaviour.
12825 (Other): Mention non-Unicode matching behaviour.
12826
74bbf0db
VS
128272011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12828
f63d6bf4 12829 Make HFS implementation use MacRoman.
74bbf0db
VS
12830
12831 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12832 (macroman): New const array.
12833 (macroman_to_utf8): New function.
12834 (utf8_to_macroman): Likewise.
12835 (grub_hfs_find_dir): Use utf8_to_macroman.
12836 (grub_hfs_dir): Use macroman_to_utf8.
12837 Set case_insensitive.
12838
4ea0316e
VS
128392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
12842
d3c13cbd
VS
128432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 Integrate hints into autogeneration scripts.
12846
12847 * docs/grub.texi (Filesystems): Add a hostdisk example.
12848 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
12849 (grub-probe): Add ofpath.
12850 * gentpl.py: Remove group nosparc64.
12851 * grub-core/commands/search.c (cache_entry): New struct.
12852 (cache): New var.
12853 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
12854 * grub-core/commands/search_wrap.c (options): Add platform-specific
12855 hint options.
12856 (grub_cmd_search): Handle platform-specific hints.
12857 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
12858 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
12859 (grub_util_biosdisk_data): Likewise.
12860 (grub_util_biosdisk_open): Set device_map.
12861 (read_device_map): Handle "" as indication of no map.
12862 Set device_map.
12863 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
12864 (grub_util_biosdisk_get_compatibility_hint): New function.
12865 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
12866 * include/grub/emu/hostdisk.h
12867 (grub_util_biosdisk_get_compatibility_hint): New proto.
12868 * util/grub-install.in: Don't call grub-mkdevicemap.
12869 Add platform-specific hint to load.cfg.
12870 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
12871 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12872 hints. Set root preliminary to compatibility hint, not to OS name.
12873 * util/grub-probe.c (PRINT_*): Add hints.
12874 (print): Make static.
12875 (escape_of_path): New function.
12876 (guess_bios_drive): Likewise.
12877 (guess_efi_drive): Likewise.
12878 (guess_baremetal_drive): Likewise.
12879 (print_full_name): Likewise.
12880 (probe): Handle hints.
12881 (main): Likewise.
12882 * util/ieee1275/devicemap.c: Removed.
12883 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
12884 updated.
12885 (grub_util_devname_to_ofpath): Return NULL on failure.
12886
12887 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
12888 resource leak.
12889 * util/getroot.c (grub_util_pull_device): Fix memory leak.
12890
12891 * po/POTFILES.in: Regenerated.
12892
12893 Allow purely long options
12894
12895 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
12896 (SHORT_ARG_USAGE): Likewise.
12897 (grub_arg_show_help): Compare opt with help_options.
12898 (parse_option): Receive opt as argument. If makes big simplificatons.
12899 All users updated
12900
00ce2df3
VS
129012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
12904 Restructure to avoid warning.
12905
e77e325f
VS
129062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 * util/grub-install.in: Account for possible escaped comma in device
12909 name.
12910
165099ea
VS
129112011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
12914 channel.
12915
ce4a999d
VS
129162011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
12919 allocation and zero-setting.
12920 (grub_ieee1275_get_devname): Check that alias is complete.
12921
379586ad
VS
129222011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
12925 unaligned segments.
12926
9197b0ad
VS
129272011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
12930 prefix.
12931 (grub_ofdisk_open): Check and discard ieee1275 prefix.
12932 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12933 Add ieee1275 prefix.
12934
edddb7f9
VS
129352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 * docs/grub.texi (Filesystems): Update.
12938
a1a8b1b9
VS
129392011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 Support odc, newc and bigendian cpio formats.
12942
12943 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
12944 * grub-core/Makefile.core.def (newc): New module.
12945 (odc): Likewise.
12946 (cpio_be): Likewise.
12947 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
12948 (MAGIC): Likewise.
12949 (MAGIC2): Likewise.
12950 (head) [MODE_ODC]: Adapt for the format.
12951 (head) [MODE_NEWC]: Likewise.
12952 (head) [!MODE_*]: Write fields of interest as arrays.
12953 (MAGIC_USTAR): Removed.
12954 (read_number) [MODE_NEWC]: Change to hex.
12955 (read_number) [!MODE_*]: Parse binary arrays.
12956 (grub_cpio_find_file): Factor out the code for better structure and
12957 always use read_number.
12958 (grub_cpio_mount): Use MAGIC and MAGIC2.
12959 (grub_cpio_dir): Exit on first hook non-0 return.
12960 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
12961 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
12962 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
12963 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
12964 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
12965 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
12966 * grub-core/fs/newc.c: New file.
12967 * grub-core/fs/odc.c: Likewise.
12968 * grub-core/fs/cpio_be.c: Likewise.
12969
58eba9ee
VS
129702011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12971
12972 Fix handling of tar numbers occupying the whole field.
12973
12974 * grub-core/fs/cpio.c (read_number): New function.
12975 (grub_cpio_find_file): Use read_number instead of strtoull.
12976
a54a0e12
VS
129772011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
12980 occupying the whole field size.
12981
a6120aca
LA
129822011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
12983
12984 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
12985
a93964ce
VS
129862011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12987
12988 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
12989
3ea1ca46
SG
129902011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
12991
12992 * grub-core/Makefile.core.def (lzma_decompress): Add missing
12993 TARGET_IMG_LDFLAGS.
12994
b87f7ef2
VS
129952011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * util/getroot.c (ESCAPED_PATH_MAX): New define.
12998 (mountinfo_entry): Increase the field size to take escaping into
12999 account.
13000 (find_root_device_from_libzfs): Add one byte to size of strings for
13001 security.
13002
62092395
VS
130032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13006 an assert.
13007 * util/grub-setup.c (setup): Likewise.
13008
1f0b1a77
VS
130092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13012 _LzmaDecodeA.
13013
8eba9997
VS
130142011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13015
13016 * docs/grub.texi (Internationalisation): New section.
13017
dd0c91e9
VS
130182011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * docs/grub.texi (Loopback booting): New section.
13021
130222011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13023
13024 * util/grub-mkstandalone.in: Fix minor typo errors.
13025
198e150a
VS
130262011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13027
13028 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13029
13030 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13031 net/icmp.c and net/icmp6.c.
13032 (http): New module.
13033 (priority_queue): Likewise.
13034 * grub-core/io/bufio.c: Rewritten.
13035 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13036 TYPE_WITH_CONFIGFILE_OPTION.
13037 (legacy_commands): Add bootp and dhcp.
13038 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13039 (grub_legacy_parse): Likewise.
13040 * grub-core/lib/priority_queue.c: New file.
13041 * grub-core/net/arp.c: Add missing license header.
13042 (arp_find_entry): Removed.
13043 (arp_find_entry): Likewise.
13044 (grub_net_arp_resolve): Rename to ...
13045 (grub_net_arp_send_request): ...this.
13046 (grub_net_arp_receive): New card argument.
13047 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13048 Set router and DNS server.
13049 (grub_net_configure_by_dhcp_ack): Handle routing information.
13050 (grub_cmd_bootp): Set checksum.
13051 (grub_bootp_init): Remove net_dhcp.
13052 * grub-core/net/dns.c: New file.
13053 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13054 completion.
13055 (get_card_packet): Handle allocation.
13056 (grub_efinet_findcards): Set mtu.
13057 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13058 (get_card_packet): Handle allocation.
13059 (emucard): Set mtu.
13060 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13061 (GRUB_MOD_INIT): Set mtu.
13062 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13063 mtu.
13064 (get_card_packet): Handle allocation.
13065 (grub_ofnet_findcards): Set mtu.
13066 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13067 assert.
13068 (grub_net_recv_ethernet_packet): Handle IPv6.
13069 * grub-core/net/http.c: New file.
13070 * grub-core/net/icmp.c: Likewise.
13071 * grub-core/net/icmp6.c: Likewise.
13072 * grub-core/net/ip.c (ip6addr): New type.
13073 (ip6hdr): Likewise.
13074 (reassemble): Likewise.
13075 (cmp): New function.
13076 (reassembles): New variable.
13077 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13078 (id): New variable.
13079 (send_fragmented): New function.
13080 (grub_net_send_ip_packet): Rename to ...
13081 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13082 Handle non-UDP.
13083 (grub_net_recv_ip_packets): Rename to ...
13084 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13085 (free_rsm): New function.
13086 (free_old_fragments): Likewise.
13087 (grub_net_recv_ip4_packets): New function.
13088 (grub_net_send_ip6_packet): Likewise.
13089 (grub_net_send_ip_packet): Likewise.
13090 (grub_net_recv_ip6_packets): Likewise.
13091 (grub_net_recv_ip_packets): Likewise.
13092 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13093 (LINK_LAYER_CACHE_SIZE): New const.
13094 (link_layer_find_entry): New function.
13095 (grub_net_link_layer_add_address): Likewise.
13096 (grub_net_link_layer_resolve_check): Likewise.
13097 (grub_net_link_layer_resolve): Likewise.
13098 (grub_net_ipv6_get_slaac): Likewise.
13099 (grub_net_ipv6_get_link_local): Likewise.
13100 (grub_cmd_ipv6_autoconf): Likewise.
13101 (parse_ip): Handle one number representation.
13102 (parse_ip6): New functoion.
13103 (match_net): Handle IPv6.
13104 (grub_net_resolve_address): Handle IPv6 and DNS.
13105 (grub_net_resolve_net_address): Handle IPv6.
13106 (route_cmp): New function.
13107 (grub_net_route_address): Find best route.
13108 (grub_net_addr_to_str): Handle IPv6.
13109 (grub_net_addr_cmp): New function.
13110 (grub_net_add_addr): Register local route.
13111 (print_net_address): Handle net address.
13112 (grub_net_poll_cards): Retransmit TCP.
13113 (grub_net_poll_cards_idle_real): Likewise.
13114 (have_ahead): New function.
13115 (grub_net_seek_real): Use underlying seek.
13116 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13117 * grub-core/net/tcp.c: New file.
13118 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13119 (cmp): New function.
13120 (ack): Likewise.
13121 (tftp_receive): Handle unordered input.
13122 (destroy_pq): New function.
13123 (tftp_close): Close pq.
13124 * grub-core/net/udp.c: Put missing license header.
13125 (grub_net_udp_socket): New function.
13126 (udp_socket_register): Likewise.
13127 (grub_net_udp_close): Likewise.
13128 (grub_net_recv_udp_packet): Check checksum.
13129 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13130 * include/grub/misc.h (grub_memchr): New function.
13131 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13132 (grub_net_card_driver): Return buf in recv.
13133 (grub_net_slaac_mac_list): New struct.
13134 (grub_network_level_protocol_id): Add ipv6.
13135 (grub_net_network_level_addr): Likewise.
13136 (grub_net_network_level_net_addr): Likewise.
13137 (grub_net_app_protocol): Add seek.
13138 (grub_net_socket): Removed.
13139 (grub_net_sockets): Likewise.
13140 (grub_net_socket_register): Likewise.
13141 (grub_net_socket_unregister): Likewise.
13142 (FOR_NET_SOCKETS): Likewise.
13143 (grub_net_add_addr): Add const.
13144 (GRUB_NET_BOOTP_*): New enum.
13145 (grub_net_addr_cmp): New proto.
13146 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13147 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13148 (grub_net_hwaddr_to_str): NEw proto.
13149 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13150 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13151 (grub_dns_init): New proto.
13152 (grub_dns_fini): Likewise.
13153 (grub_net_tcp_retransmit): Likewise.
13154 (grub_net_link_layer_add_address): Likewise.
13155 (grub_net_link_layer_resolve_check): Likewise.
13156 (grub_net_link_layer_resolve): Likewise.
13157 (grub_net_dns_lookup): Likewise.
13158 (grub_net_add_dns_server): Likewise.
13159 (grub_net_remove_dns_server): Likewise.
13160 (GRUB_NET_TRIES): New const.
13161 (GRUB_NET_INTERVAL): Likewise.
13162 * include/grub/net/arp.h: Mostly rewritten.
13163 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13164 * include/grub/net/ip.h: Mostly rewritten.
13165 * include/grub/net/netbuff.h: Indent.
13166 * include/grub/net/tcp.h: New file.
13167 * include/grub/net/udp.h: Mostly rewritten.
13168 * include/grub/priority_queue.h: New file.
13169 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13170 (grub_swap_bytes64_compile_time): Likewise.
13171 (grub_cpu_to_be16_compile_time): Likewise.
13172 (grub_cpu_to_be32_compile_time): Likewise.
13173 (grub_cpu_to_be64_compile_time): Likewise.
13174 (grub_be_to_cpu64_compile_time): Likewise.
13175
215c1800
VS
131762011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13179 UINT_TO_PTR with cast.
13180
c17e546c
VS
131812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13182
13183 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13184 don't use them.
13185
ff6b18b6
VS
131862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13189 already there.
13190
70ffcc93
VS
131912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13194 confusing ipxe.
13195
e5f4d260
VS
131962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13197
13198 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13199 Add missing const attribute.
13200 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13201 Likewise.
13202 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13203 Likewise.
13204
8e54b4b7
VS
132052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13206
13207 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13208 misaligned access.
13209 (serpent_setkey): Likewise.
13210 (serpent_encrypt_internal): Likewise.
13211 (serpent_decrypt_internal): Likewise.
13212 (serpent_encrypt): Don't put an alignment-increasing cast.
13213 (serpent_decrypt): Likewise.
13214 (serpent_test): Likewise.
13215
813c0a2b
VS
132162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13217
13218 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13219
f2b60fbd
VS
132202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13221
13222 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13223
13224 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13225 grub_addr_t casts.
13226 (PTR_TO_UINT64): Likewise.
13227 (PTR_TO_UINT32): Likewise.
13228
5ef5c511
VS
132292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13230
13231 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13232 because of stack.
13233 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13234 limit.
13235
c476e6df
VS
132362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13239 text_width > available width a bit more gracefully.
13240
384ad7cc
VS
132412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13242
13243 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13244 current address calculation.
13245
96f8caf8
VS
132462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13247
13248 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13249 stack.
13250 (encode_block): Likewise.
13251
276b7a8b
VS
132522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13255 certainety.
13256
e3fd394a
VS
132572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13260 non-RS part to avoid RS messing with GDT.
13261 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13262 Increase to suit in realmode routines.
13263
132642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 * grub-core/kern/i386/realmode.S: Increase alignment.
13267 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13268
ee9c2e7a
VS
132692011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13270
13271 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13272 be deterministic.
13273 (syndroms): Compute 0 syndrom.
13274 (rs_recover): Use 0 syndrom.
13275
7a7f7cc9
VS
132762011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13279
a14b16d1
VS
132802011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13281
13282 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13283 brackets.
13284
9f59e9fc
VS
132852011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13286
ca1b552c
VS
13287 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13288 account.
13289 (get_top_pad): Likewise.
13290 (get_right_pad): Likewise.
13291 (get_bottom_pad): Likewise.
13292
132932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13296
e739d698
VS
132972011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13298
13299 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13300 attribute as the structure isn't guaranteed to be properly aligned.
13301 (grub_efi_pci_device_path): Likewise.
13302 (grub_efi_pccard_device_path): Likewise.
13303 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13304 specify the size of `memory_type'.
13305 (grub_efi_vendor_device_path): Likewise.
13306 (grub_efi_controller_device_path): Likewise.
13307 (grub_efi_acpi_device_path): Likewise.
13308 (grub_efi_expanded_acpi_device_path): Likewise.
13309 (grub_efi_atapi_device_path): Likewise.
13310 (grub_efi_scsi_device_path): Likewise.
13311 (grub_efi_fibre_channel_device_path): Likewise.
13312 (grub_efi_1394_device_path): Likewise.
13313 (grub_efi_usb_device_path): Likewise.
13314 (grub_efi_usb_class_device_path): Likewise.
13315 (grub_efi_i2o_device_path): Likewise.
13316 (grub_efi_mac_address_device_path): Likewise.
13317 (grub_efi_ipv4_device_path): Likewise.
13318 (grub_efi_ipv6_device_path): Likewise.
13319 (grub_efi_infiniband_device_path): Likewise.
13320 (grub_efi_uart_device_path): Likewise.
13321 (grub_efi_vendor_messaging_device_path): Likewise.
13322 (grub_efi_hard_drive_device_path): Likewise.
13323 (grub_efi_cdrom_device_path): Likewise.
13324 (grub_efi_vendor_media_device_path): Likewise.
13325 (grub_efi_file_path_device_path): Likewise.
13326 (grub_efi_protocol_device_path): Likewise.
13327 (grub_efi_piwg_device_path): Likewise.
13328 (grub_efi_bios_device_path): Likewise.
13329
cb8f88ea
VS
133302011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13331
13332 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13333 (grub_ucs4_to_utf8_alloc): Likewise.
13334 (grub_ucs4_to_utf8): Likewise.
13335 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13336 (grub_ucs4_to_utf8_alloc): Likewise.
13337
309e5352
VS
133382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 AFFS never uses unicode.
13341
13342 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13343 (grub_latin1_to_utf8): New inline function.
13344 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13345
e7987e1b
VS
133462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13349 overflow.
13350
efc2616e
VS
133512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13354 (grub_squash_dirent_header): Likewise.
13355 (read_chunk): Don't double swap.
13356 (grub_squash_iterate_dir): Fix swap sizes.
13357
3c349f5a
VS
133582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13359
13360 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13361
b453412d
VS
133622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13365 (grub_hfs_iterate_dir): Likewise.
13366
12e9d4d1
VS
133672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 Fix video on platforms where unaligned access is forbidden.
13370 Make several optimisations while on it.
13371
13372 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13373 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13374 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13375 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13376 Disable.
13377 (grub_video_fbblit_replace_16bit_1bit):
13378 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13379 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13380 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13381 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13382 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13383 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13384 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13385 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13386 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13387 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13388 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13389 (grub_video_fbblit_replace_index_RGB888): Likewise.
13390 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13391 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13392 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13393 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13394 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13395 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13396 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13397 Disable.
13398 (grub_video_fbblit_blend_XXX565_1bit):
13399 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13400 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13401 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13402 void *.
13403 * grub-core/video/fb/video_fb.c (common_blitter)
13404 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13405 (grub_video_fb_create_render_target_from_pointer)
13406 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13407 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13408 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13409 definition.
13410 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13411
ace96609
VS
134122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13413
13414 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13415 HH22 and HM10 relocations.
13416
fd261d73
VS
134172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13420
e59b7857
VS
134212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13422
13423 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13424 allocation succeeded.
13425
9b4baaa4
VS
134262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13427
13428 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13429 argument a u8 pointer. All users updated.
13430 Handle unaligned buffers.
13431
dc713193
VS
134322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13435 add_part to workaround compiler bug.
13436
30dd48c2
VS
134372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13438
13439 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13440
0c6087a8
VS
134412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13444 Reserve alignment invariants.
13445 (grub_multiboot_load): Likewise.
13446 (retrieve_video_parameters): Likewise.
13447 (grub_multiboot_make_mbi): Likewise.
13448
c2e77777
VS
134492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13452 incorrect pointer.
13453
b70b6d11
VS
134542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13455
13456 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13457 (grub_pata_pio_write): Likewise.
13458
02a2bf83
VS
134592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 Add noreturn attributes and remove unreachable code.
13462
13463 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13464 code.
13465 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13466 code. Mark as noreturn.
13467 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13468 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13469 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13470 unreachable code.
13471 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13472 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13473 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13474 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13475 * include/grub/kernel.h (grub_main): Mark as noreturn.
13476 * include/grub/reader.h (grub_rescue_run): Likewise.
13477
2019d09e
VS
134782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13481 redundant declaration.
13482
d1c501ee
VS
134832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13486 redundant declaration.
13487 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13488
61664420
VS
134892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13492 to ensure alignment.
13493 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13494 alignment. Ensure tmp alignment.
13495 (grub_cmd_hdparm): Ensure buf alignment.
13496 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13497 to ensure alignment.
13498 (grub_ata_dumpinfo): Ensure text alignment.
13499 (grub_atapi_identify): Preserve alignment invariant.
13500 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13501
0d51ee20
VS
135022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13505 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13506 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13507 * include/grub/misc.h (grub_reboot)
13508 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13509 (grub_halt) [__mips__]: Likewise.
13510
753ef8c1
VS
135112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13512
13513 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13514 Remove redundant declaration.
13515 (grub_mmap_get_post64): Likewise.
13516 (grub_mmap_get_upper): Likewise.
13517 (grub_mmap_get_lower): Likewise.
13518
85c85365
VS
135192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13522 uint32_t * to ensure alignment.
13523 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13524
a23f2cc4
VS
135252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13526
93018f64
VS
13527 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13528 uint16_t * to ensure alignment.
13529 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13530 alignment.
13531
135322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13533
13534 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13535 to ensure alignment.
13536 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13537
58acccd6
VS
135382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13541 Handle unaligned pointers.
13542 (u32at): Likewise.
13543 (u64at): Likewise.
13544 (fixup): Use byte access instead of v16at.
13545 (find_attr): Fix imporper usage of v32at.
13546 (read_data): Likewise.
13547 (list_file): Handle byte-swapping and unaligned strings.
13548 (grub_ntfs_label): Likewise.
13549
9b05cad7
VS
135502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13553 as it's not necessarily aligned.
13554
b3950b84
VS
135552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13558 redundant declaration.
13559 (grub_serial_init): Likewise.
13560 (grub_terminfo_init): Likewise.
13561
fcd232b7
VS
135622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13565 function.
13566 (ZAP_HASH_IDX): Likewise.
13567 (ZAP_LEAF_HASH_SHIFT): Likewise.
13568 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13569 (LEAF_HASH): Likewise.
13570 (ZAP_LEAF_NUMCHUNKS): Likewise.
13571 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13572 alignment invariants. Return pointer. All users updated.
13573 (ZAP_LEAF_ENTRY): Make into inline function.
13574 (NBBY): Removed.
13575 (xor): LIkewise.
13576 (xor_out): Use grub_crypto_xor.
13577 (dnode_get_path): Use grub_get_unaligned.
13578 (nvlist_find_value): Likewise.
13579 (grub_zfs_nvlist_lookup_uint64): Likewise.
13580 (grub_zfs_nvlist_lookup_string): Likewise.
13581 (get_nvlist_size): Likewise.
13582 (grub_zfs_open): Likewise.
13583 (fill_fs_info): Likewise.
13584 (grub_zfs_dir): Likewise.
13585 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13586 alignment invariants.
13587 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13588 necessarily aligned.
13589
f138623a
VS
135902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13591
13592 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13593
564840dc
VS
135942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13597 arithmetic to conserve alignment invariants.
13598
9b40df20
VS
135992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13602 redundant declaration.
13603 (grub_efiemu_mm_obtain_request): Likewise.
13604 (grub_efiemu_prepare): Likewise.
13605
d1c930f9
VS
136062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13609 to match types.
13610
4c5f3056
VS
136112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13612
13613 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13614 case of aunaligned recptr.
13615 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13616 alignment.
13617 (grub_hfsplus_btree_search): Handle unaligned index.
13618
728cba91
VS
136192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13620
13621 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13622 to get freetag and skip.
13623
eb561f31
VS
136242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13625
13626 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13627 array.
13628 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13629 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13630
20993fbb
VS
136312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13634 name for checksum and fix allocation algorithm.
13635
1f313b94
VS
136362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * include/grub/types.h (grub_properly_aligned_t): New type.
13639 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13640 (grub_get_unaligned16): Add explicit casts.
13641 (grub_get_unaligned32): Likewise.
13642 (grub_get_unaligned64): Likewise.
13643 (grub_set_unaligned16): New function.
13644 (grub_set_unaligned32): Likewise.
13645
47ae27ec
VS
136462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13649
78c2cd1c
VS
136502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13651
13652 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13653 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13654 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13655
53072f9b
VS
136562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13657
13658 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13659 conditionals.
13660
055dc239
VS
136612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13664 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13665
496bd074
VS
136662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 Unify and improve RAID and crypto xor.
13669
13670 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13671 changed to grub_crypto_xor
13672 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13673 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13674 Use bigger types when possible.
13675
ef6e4335
VS
136762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13677
13678 * grub-core/disk/raid.c (scan_devices): Fix condition.
13679
5d048bf2
VS
136802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13681
13682 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13683 Make name a const ptr.
13684
ee533335
VS
136852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13686
13687 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13688 first argument a const pointer.
13689 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13690 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13691 proto.
13692 (grub_children_iterate): Likewise.
13693 (grub_machine_mmap_iterate): Remove redundant declaration.
13694
cc8f3668
VS
136952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13698 (grub_cmd_acpi) [!x86]: Disable EBDA.
13699
c5fc563a
VS
137002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 Enable UTF8 in gnulib regexp.
13703
13704 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13705 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13706 (isupper): Use grub_isupper.
13707 (isascii): New inline function.
13708 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13709 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13710 * grub-core/normal/charset.c (grub_utf8_process): New function.
13711 (grub_utf8_to_utf16): Use grub_utf8_process.
13712 (grub_encode_utf8_character): New function.
13713 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13714 * include/grub/charset.h (grub_utf8_process): New declaration.
13715 (grub_encode_utf8_character): Likewise.
13716 * include/grub/misc.h (grub_islower): New inline function.
13717 (grub_isupper): Likewise.
13718 (grub_strchrsub): Moved down to fix the definitions.
13719
0af2346f
VS
137202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13723 specification.
13724
74dbd244
VS
137252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * include/grub/loader.h (grub_loader_register_preboot_hook):
13728 Use struct preboot * and not void * for handle. All users updated.
13729 (grub_loader_unregister_preboot_hook): Likewise.
13730
1bc8f60d
VS
137312011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13734 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13735 UTF-16-BE. All users updated.
13736 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13737 (grub_hfsplus_iterate_dir): Likewise.
13738 (grub_hfsplus_label): Likewise.
13739
48d6e456
VS
137402011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13743
bf3a3857
VS
137442011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 Add missing const qualifiers.
13747
13748 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13749 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13750 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13751 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13752 (grub_lvm_check_flag): Likewise.
13753 * grub-core/efiemu/i386/coredetect.c
13754 (grub_efiemu_get_default_core_name): Likewise
13755 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13756 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13757 * grub-core/fs/ntfs.c (fixup): Likewise.
13758 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13759 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13760 (fzap_lookup): Likewise.
13761 (zap_lookup): Likewise.
13762 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13763 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13764 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13765 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13766 (grub_freebsd_add_meta_module): Likewise.
13767 (grub_cmd_freebsd_module): Likewise.
13768 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13769 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13770 (grub_xnu_writetree_get_size): Likewise.
13771 (grub_xnu_writetree_toheap_real): Likewise.
13772 (grub_xnu_find_key): Likewise.
13773 (grub_xnu_create_key): Likewise.
13774 (grub_xnu_create_value): Likewise.
13775 (grub_xnu_register_memory): Likewise.
13776 (grub_xnu_check_os_bundle_required): Likewise.
13777 (grub_xnu_scan_dir_for_kexts): Likewise.
13778 (grub_xnu_load_kext_from_dir): Likewise.
13779 * grub-core/normal/color.c (color_list): Likewise.
13780 * grub-core/normal/completion.c (current_word): Likewise.
13781 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13782 * grub-core/term/serial.c (grub_serial_find): Likewise.
13783 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13784 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13785 Likewise.
13786 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13787 (grub_freebsd_add_meta_module): Likewise.
13788 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13789 * include/grub/net.h (grub_net_card_driver): Likewise.
13790 (grub_net_card): Likewise.
13791 (grub_net_app_protocol): Likewise.
13792 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13793 * include/grub/serial.h (grub_serial_find): Likewise.
13794 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13795 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13796 (grub_xnu_create_value): Likewise.
13797 (grub_xnu_find_key): Likewise.
13798 (grub_xnu_scan_dir_for_kexts): Likewise.
13799 (grub_xnu_load_kext_from_dir): Likewise.
13800
13801 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13802 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13803 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13804 Moved from here ...
13805 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13806
112b4837
CW
138072011-11-28 Colin Watson <cjwatson@ubuntu.com>
13808
13809 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13810
49e891ac
VS
138112011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13814 (read_device): Fix size calculation.
13815
fd258e5c
RM
138162011-11-25 Robert Millan <rmh@gnu.org>
13817
13818 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13819 (find_root_device_from_libzfs): Add zpool output parser to be used
13820 as fallback when libzfs isn't available.
13821
78845dc2
SG
138222011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13823
13824 * po/Makefile.in.in: Add missing escape-continuation.
13825
adac5211
VS
138262011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13829
10b64f1c
VS
138302011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13833
bb416954
VS
138342011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
13837
bdfe9eeb
VS
138382011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13839
13840 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
13841
581ffa8a
VS
138422011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13843
13844 * grub-core/lib/adler32.c: Add missing license specification.
13845 * grub-core/lib/crc64.c: Likewise.
13846 * grub-core/loader/i386/pc/plan9.c: Likewise.
13847 * grub-core/partmap/plan.c: Likewise.
13848
2536cf64
LK
138492011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
13850
13851 Add facility to debug GRUB with gdb under qemu.
13852
13853 * grub-core/gdb_grub.in: New file.
13854 * grub-core/gmodule.pl.in: Likewise.
13855 * grub-core/Makefile.core.def (gmodule.pl): New script.
13856 (gdb_grub): Likewise.
13857
bc108a4a
VS
138582011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * util/grub-mount.c (argp_parser): Accept relative pathes.
13861 * util/grub-fstest.c (argp_parser): Likewise.
13862
111c1778
VS
138632011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 Plan9 support.
13866
13867 * Makefile.util.def (libgrubmods): Add
13868 grub-core/partmap/plan.c.
13869 * docs/grub.texi: Notice Plan9 support.
13870 * grub-core/Makefile.core.def (plan9): New module.
13871 (part_plan): Likewise.
13872 * grub-core/loader/i386/pc/plan9.c: New file.
13873 * grub-core/partmap/plan.c: Likewise.
13874 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
13875 define.
13876 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
13877 * include/grub/mm.h (grub_extend_alloc): New inline function.
13878
c30be3b6
VS
138792011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13880
13881 Make Reed-Solomon faster by using power of generator representation of
13882 GF(256)*.
13883
13884 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
13885 (gf_double_t): Likewise.
13886 (gf_invert): Removed.
13887 (gf_powx): New array.
13888 (gf_powx_inv): Likewise.
13889 (scratch): Move higher.
13890 (gf_reduce): Removed.
13891 (gf_mul): Use powx.
13892 (gf_invert): Likewise.
13893 (init_inverts): Replaced with ...
13894 (init_powx): ...this. All users updated.
13895 (pol_evaluate): Replace multiplications with additions.
13896 (rs_encode): Likewise.
13897 (gauss_eliminate): Call gf_invert.
13898 (grub_reed_solomon_add_redundancy): Call init_powx.
13899 (grub_reed_solomon_recover): Call init_powx unconditionally.
13900
fa5aeffc
VS
139012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13902
13903 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
13904
a346b81c
VS
139052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
13908 disk->partiton for safety.
13909
d89ee414
VS
139102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13913 Fix a memory leak.
13914 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
13915
91ee7b6d
VS
139162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13917
13918 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
13919
91e5a33d
VS
139202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13921
13922 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
13923
9edd7be2
VS
139242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13925
13926 Fix spaces handling in proc/self/mountinfo.
13927
13928 * util/getroot.c (unescape): New function.
13929 (grub_find_root_device_from_mountinfo): Use unescape.
13930
ba102053
VS
139312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 Support ZFS embedding.
13934
13935 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
13936 (grub_zfs_fs): Register grub_zfs_embed.
13937
aa94b870
VS
139382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13939
13940 Fix MIPS compilation.
13941
13942 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
13943 * include/grub/offsets.h: Rename decompressor fields from
13944 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
13945 * util/grub-mkimage.c (image_targets): Use new names.
13946
5fbdac14
VS
139472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 Defer multiboot device parsing until we're in compressed part.
13950
13951 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
13952 bsd_part. setdevice has fallen into disuse.
13953 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
13954 (bsd_part): Likewise.
13955 (boot_dev): New variable.
13956 (multiboot_trampoline): Don't parse multiboot device.
13957 Pass multiboot device in %edx.
13958 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
13959 grub_boot_device.
13960 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
13961 Likewise.
13962 * grub-core/kern/i386/pc/startup.S: Save edx.
13963 (grub_boot_drive): Removed.
13964 (grub_install_dos_part): Likewise.
13965 (grub_install_bsd_part): Likewise.
13966 (grub_boot_device): New variable.
13967 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
13968 (grub_install_bsd_part): Likewise.
13969 (grub_boot_drive): Likewise.
13970 (grub_boot_device): New variable.
13971 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
13972 Removed.
13973 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13974 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
13975 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
13976 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
13977 * util/grub-install.in: Remove redundant condition.
13978
691cbb58
VS
139792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 Fix bug introduced by previous commit.
13982
13983 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
13984
60240b8b
VS
139852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 Use decompressors framework on i386-pc. It increases core size
13988 by 46 bytes but improves compatibility and maintainability.
13989
13990 * grub-core/Makefile.core.def (lzma_decompress): New image.
13991 (kernel): Add i386_pc_ldflags.
13992 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
13993 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
13994 to real_to_prot, prot_to_real and device info.
13995 * include/grub/offsets.h: Renamed decompressor offsets.
13996 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
13997 (image_target_desc): Remove raw_size and rename decompressor fields.
13998 (compress_kernel): Handle lzma.
13999 (generate_image): Handle decompressors on i386-pc.
14000
e9d3421c
VS
140012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14002
14003 * configure.ac: Add -fno-asynchronous-unwind-tables.
14004
2b23074a
VS
140052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14006
14007 Move assembly code to C by using intwrap. It increases core size
14008 by 88 bytes but improves compatibility and maintainability.
14009
14010 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14011 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14012 ... here. Translated to C.
14013 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14014 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14015 ... here. Translated to C.
14016 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14017 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14018 ... here. Translated to C.
14019 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14020 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14021 ... here. Translated to C.
14022 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14023 * grub-core/term/i386/pc/console.c (grub_console_cls):
14024 ... here. Translated to C.
14025 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14026 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14027 ... here. Translated to C.
14028 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14029 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14030 Translated to C.
14031 * grub-core/term/i386/pc/console.c (int10_9): New function.
14032 (grub_console_putchar): Likewise.
14033 * include/grub/i386/pc/console.h: Removed the not anymore shared
14034 functions.
14035
678f4b67
VS
140362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 Move grub_chainloader_real_boot out of the kernel.
14039
14040 * grub-core/Makefile.am: Remove machine/loader.h.
14041 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14042 Removed.
14043 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14044 variable.
14045 (grub_relocator16_keep_a20_enabled): Likewise.
14046 (grub_relocator16_boot): Fill new variables.
14047 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14048 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14049 relocator.
14050 (grub_chainloader_unload): Likewise.
14051 (grub_chainloader_cmd): Likewise.
14052 * include/grub/i386/pc/loader.h: Removed.
14053 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14054 and esi. All initialisers updated.
14055
4626edf6
VS
140562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
140572011-11-12 Colin Watson <cjwatson@ubuntu.com>
14058
14059 * Makefile.util.def (grub-mount): New util.
14060 * .bzrignore: Add grub-mount.
14061 * configure.ac: Check for fuse and enable grub-mount if available.
14062 * docs/man/grub-mount.h2m: New file.
14063 * util/grub-mount.c: Likewise.
14064
10f0117b
VS
140652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * grub-core/commands/efi/fixvideo.c: Gettextize.
14068 * grub-core/commands/hashsum.c: Likewise.
14069 * grub-core/commands/i386/cmostest.c: Likewise.
14070 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14071 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14072 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14073 * grub-core/commands/lsmmap.c: Likewise.
14074 * grub-core/commands/menuentry.c: Likewise.
14075 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14076 * grub-core/commands/setpci.c: Likewise.
14077 * grub-core/loader/i386/bsd.c: Likewise.
14078 * grub-core/loader/i386/linux.c: Likewise.
14079 * util/getroot.c: Likewise.
14080 * util/grub-editenv.c: Likewise.
14081 * util/grub-fstest.c: Likewise.
14082 * util/grub-mkfont.c: Likewise.
14083 * util/grub-mkimage.c: Likewise.
14084 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14085 * util/grub-pe2elf.c: Likewise.
14086 * util/grub-probe.c: Likewise.
14087 * util/grub-setup.c: Likewise.
14088 * util/ieee1275/ofpath.c: Likewise.
14089 * util/misc.c: Likewise.
14090 * util/raid.c: Likewise.
14091
566f779b
RM
140922011-11-11 Robert Millan <rmh@gnu.org>
14093
14094 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14095 __attribute__((unused)) from `os_dev', which *is* being used.
14096
b50787de
VS
140972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14100 forgotten define.
14101 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14102 GRUB_IA64_DL_GOT_ALIGN.
14103 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14104 GRUB_IA64_DL_TRAMP_ALIGN.
14105
119d11c8
VS
141062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 Replace grub_fatal with normal errors in i386 linux loader.
14109
14110 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14111 (allocate_pages): Check find_efi_mmap_size return value.
14112 (grub_e820_add_region): Return error.
14113 (grub_linux_boot): Check mmap return value.
14114
6e0632e2
VS
141152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14116
14117 * grub-core/commands/acpihalt.c: Gettextized.
14118 * grub-core/commands/cacheinfo.c: Likewise.
14119 * grub-core/commands/cmp.c: Likewise.
14120 * grub-core/commands/efi/loadbios.c: Likewise.
14121 * grub-core/commands/gptsync.c: Likewise.
14122 * grub-core/commands/ieee1275/suspend.c: Likewise.
14123 * grub-core/commands/legacycfg.c: Likewise.
14124 * grub-core/commands/memrw.c: Likewise.
14125 * grub-core/commands/minicmd.c: Likewise.
14126 * grub-core/commands/parttool.c: Likewise.
14127 * grub-core/commands/time.c: Likewise.
14128 * grub-core/commands/videoinfo.c: Likewise.
14129 * grub-core/disk/geli.c: Likewise.
14130 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14131 * grub-core/disk/luks.c: Likewise.
14132 * grub-core/disk/lvm.c: Likewise.
14133 * grub-core/font/font_cmd.c: Likewise.
14134 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14135 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14136 * grub-core/gfxmenu/view.c: Likewise.
14137 * grub-core/kern/emu/hostdisk.c: Likewise.
14138 * grub-core/kern/emu/main.c: Likewise.
14139 * grub-core/kern/emu/misc.c: Likewise.
14140 * grub-core/kern/emu/mm.c: Likewise.
14141 * grub-core/kern/mips/arc/init.c: Likewise.
14142 * grub-core/kern/mips/loongson/init.c: Likewise.
14143 * grub-core/kern/partition.c: Likewise.
14144 * grub-core/lib/i386/halt.c: Likewise.
14145 * grub-core/lib/mips/arc/reboot.c: Likewise.
14146 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14147 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14148 * grub-core/loader/i386/xnu.c: Likewise.
14149 * grub-core/loader/multiboot.c: Likewise.
14150 * grub-core/net/bootp.c: Likewise.
14151 * grub-core/net/net.c: Likewise.
14152 * grub-core/normal/term.c: Likewise.
14153 * grub-core/partmap/bsdlabel.c: Likewise.
14154 * grub-core/parttool/msdospart.c: Likewise.
14155 * grub-core/term/gfxterm.c: Likewise.
14156 * grub-core/term/terminfo.c: Likewise.
14157 * grub-core/video/i386/pc/vbe.c: Likewise.
14158 * util/grub-menulst2cfg.c: Likewise.
14159 * util/grub-mkdevicemap.c: Likewise.
14160 * util/grub-mklayout.c: Likewise.
14161 * util/grub-mkrelpath.c: Likewise.
14162 * util/grub-script-check.c: Likewise.
14163 * util/ieee1275/grub-ofpathname.c: Likewise.
14164 * util/resolve.c: Likewise.
14165
073aa7a9
VS
141662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 Support %1$d syntax.
14169
14170 * tests/printf_unit_test.c: New file.
14171 * Makefile.util.def (printf_test): New test.
14172 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14173
c76b5417
VS
141742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14177 fix.
14178
df067ad1
VS
141792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14180
14181 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14182 dprintf.
14183 * grub-core/font/font.c (grub_font_load): Likewise.
14184
5b289bc5
VS
141852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 * util/grub-macho2img.c: Add comment concerning gettext.
14188 * grub-core/lib/legacy_parse.c: Likewise.
14189
c1860f87
VS
141902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14193 (grub_xvasprintf): Likewise.
14194
d35d0d37
VS
141952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 Add const keyword to grub_env_get and gettextize week days.
14198
14199 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14200 (grub_read_hook_datetime): Return const char *.
14201 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14202 updated.
14203 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14204 Mark for gettext.
14205 (grub_get_weekday_name): Return const char *. Call gettext.
14206 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14207 char * and len as the argument. All users updated.
14208 (grub_script_argv_split_append): Receive const char *.
14209 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14210 * include/grub/env.h (grub_env_get): Likewise.
14211 (grub_env_read_hook_t): Return const char *.
14212 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14213 (grub_script_argv_split_append): Likewise.
14214
9aed8a71
VS
142152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14218
067fdf00
VS
142192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14220
14221 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14222 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14223
a8bd9d39
VS
142242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14227 Fix prototype.
14228
f7ce5baf
VS
142292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14230
14231 Fix mips compilation.
14232
14233 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14234 normal decoder.
14235 (hashes): Use in embed decoder as well (for sizes).
14236 (dec_stream_header): Fix embed decompressor logic.
14237 (dec_stream_footer): Likewise.
14238
9bb182f3
VS
142392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14240
14241 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14242 an error and not a fatal on unrecognised relocation types.
14243
63a9e6f6
VS
142442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14245
14246 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14247 Issue error rather than printf on unknown arguments.
14248
4c458569
VS
142492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14252 Make buf a const.
14253
e2d22baf
VS
142542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14257 Fix module name.
14258
53dc8590
VS
142592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14262 leftover debug printf.
14263
6c189294
VS
142642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14267
f7688369
VS
142682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14271 A stylistic fix.
14272
11a775a3
VS
142732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14276
33f784e8
SL
142772011-11-10 Shea Levy <slevy@tieronedesign.com>
14278
14279 Allow all modules to perform serial IO
14280
14281 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14282 * include/grub/serial.h (grub_serial_port_configure): New inline
14283 function.
14284 (grub_serial_port_fetch): Likewise.
14285 (grub_serial_port_put): Likewise.
14286 (grub_serial_port_fini): Likewise.
14287 (grub_serial_find): New proto.
14288
f6276525
VS
142892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14290
14291 Put symlink at the end of the node and fix a potential
14292 memory corruption.
14293
14294 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14295 Make symlink into an array.
14296 (set_rockridge): Set have_symlink and alloc_dirents.
14297 (grub_iso9660_read_symlink): Use new layout.
14298 (grub_iso9660_iterate_dir): Fix memory corruption.
14299 Use new layout.
14300 (grub_iso9660_dir): Set have_symlink.
14301 (grub_iso9660_open): Likewise.
14302
c3591189
VS
143032011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14304
14305 Remove local keyword.
14306
14307 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14308 (version_test_gt): Likewise.
14309 (version_find_latest): Likewise.
14310 (gettext_printf): Likewise.
14311 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14312
cb544caa
VS
143132011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14316
45bd824d
VS
143172011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 Fix ZFS memory and resource leaks.
14320
14321 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14322 All users updated.
14323 Free type on exit.
14324 (fill_vdev_info): New parameter inserted. All users updated.
14325 (check_pool_label): Likewise.
14326 (scan_disk): Likewise.
14327 (scan_devices): Close non-inserted disks.
14328 (fzap_iterate): Free l.
14329 (unmount_device): Free children descripto memory.
14330
ad9a2f44
VS
143312011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14332
14333 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14334 argument (access out of bounds).
14335
6b68db81
VS
143362011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14337
14338 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14339 >= 6 drives.
14340
28840fda
VS
143412011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14342
14343 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14344 Fix declaration.
14345
8a5a3a5b
VS
143462011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14347
14348 Fix several memory leaks.
14349
14350 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14351 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14352 (grub_cpio_dir): Likewise.
14353 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14354 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14355 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14356 (grub_romfs_label): Likewise.
14357 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14358 (squash_unmount): New function.
14359 (grub_squash_dir): Fix memory leak.
14360 (grub_squash_open): Likewise.
14361 (grub_squash_read): Likewise.
14362 (grub_squash_mtime): Likewise.
14363 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14364 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14365 * util/grub-fstest.c (fstest): Likewise.
14366
57b01250
VS
143672011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14368
14369 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14370 avoid accessing beyond the array.
14371
19e81ba7
VS
143722011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14375
52b656c0
VS
143762011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 Several AFFS fixes.
14379
14380 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14381 (GRUB_AFFS_FLAG_FFS): Removed.
14382 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14383 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14384 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14385 (grub_fshelp_node): Make block 32-bit.
14386 Add block_cache and last_block_cache.
14387 (grub_affs_read_block): Fill and use block cache.
14388 (grub_affs_read_file): Removed.
14389 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14390 boot block.
14391 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14392 safety.
14393 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14394 space.
14395 (grub_affs_close): Free block cache.
14396 (grub_affs_read): Use grub_fshelp_read_file directly.
14397
438a746a
VS
143982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14399
14400 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14401 with no error set.
14402
49a45021
VS
144032011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14404
14405 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14406 used variable.
14407 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14408 Likewise.
14409
3ae17eb8
VS
144102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14411
14412 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14413
14414 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14415 byteswap when needed.
14416
27610c38
VS
144172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 Fix FreeBSD compilation.
14420
14421 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14422 to avoid circular dependency.
14423 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14424 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14425 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14426
4a19b601
VS
144272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14428
14429 Fix ZFS crypto error types.
14430
14431 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14432 (grub_gcm_decrypt): Likewise.
14433 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14434 from PBKDF2.
14435
958ee221
VS
144362011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14437
14438 Illumos support.
14439
14440 * Makefile.util.def (10_illumos): New script.
14441 * configure.ac: Set COND_HOST_ILLUMOS.
14442 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14443 Support Illumos calls.
14444 (find_partition_start) [__sun__]: Likewise.
14445 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14446 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14447 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14448 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14449 device.
14450 * util/grub-probe.c (probe) [__sun__]: Do character check.
14451 * util/grub.d/10_illumos.in: New file.
14452
cac14fb6
VS
144532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 Support escaped commas in hostdisk.
14456
14457 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14458 (find_grub_drive): Use unescape_cmp.
14459 (make_device_name): Escape commas.
14460
78e08dc3
VS
144612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14462
14463 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14464
9f421dd1
VS
144652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14466
14467 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14468 variable.
14469
ed64e9e2
VS
144702011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14471
14472 Support trampoline jumps on powerpc.
14473
14474 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14475 __ia64__ path.
14476 (grub_dl_load_segments): Set mod->sz.
14477 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14478 segments.
14479 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14480 (jump): Likewise.
14481 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14482 function.
14483 (trampoline): New struct.
14484 (trampoline_template): New const.
14485 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14486 * include/grub/dl.h (grub_dl): Add sz element.
14487 [__powerpc__]: Follow __ia64__.
14488 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14489 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14490 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14491 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14492
3084ede4
VS
144932011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 ZFS crypto support.
14496
14497 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14498 * grub-core/Makefile.core.def (zfscrypt): New module.
14499 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14500 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14501 it. All users updated.
14502 (grub_zfs_decrypt): New var.
14503 (grub_zfs_load_key): Likewise.
14504 (zio_checksum_functions): Add SHA256+MAC.
14505 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14506 (zio_read): Handle encrypted blocks.
14507 (zap_verify): Remove incorrect check.
14508 (fzap_iterate): Handle non-standard fzap.
14509 (zap_iterate): Likewise.
14510 (zap_iterate_u64): New function.
14511 (dnode_get_fullpath): Load keys.
14512 * grub-core/fs/zfs/zfscrypt.c: New file.
14513 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14514 (grub_crypto_ecb_encrypt): Make input const.
14515 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14516 (grub_crypto_ecb_encrypt): Make input const.
14517 (GRUB_CIPHER_AES): New macro.
14518 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14519 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14520 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14521 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14522 prefix. All users updated.
14523 (grub_zfs_add_key): New proto.
14524 (grub_zfs_decrypt): Likewise.
14525 (grub_zfs_load_key): Likewise.
14526 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14527 * util/grub-fstest.c (options): Add -K option.
14528 (argp_parser): Likewise.
14529
b632b404
VS
145302011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14531
14532 Support zle compression on ZFS.
14533
14534 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14535 (decomp_table): Add zle.
14536 * include/grub/zfs/zio.h (zio_compress): Add zle.
14537
c7ba4f69
VS
145382011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14539
14540 Support BtrFS embedding.
14541
14542 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14543 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14544 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14545 * util/grub-setup.c (setup): Use fs embedding if available.
14546 Add additional sanity check.
14547
455377d9
VS
145482011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 * util/grub-install.in: Fix condition for config_opt.
14551
c2fd16ca
VS
145522011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 Support third redundancy strip on raidz3.
14555
14556 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14557 Return error on singularity. All users updated.
14558 (read_device): Don't stop on 3rd failure on raidz3.
14559
8622923b
VS
145602011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 Support case-insensitive ZFS subvolumes.
14563
14564 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14565 All users updated.
14566 (zap_hash): Likewise.
14567 (name_cmp): New function.
14568 (zap_leaf_array_equal): New parameter case_insensitive.
14569 All users updated.
14570 (zap_leaf_lookup): Likewise.
14571 (fzap_lookup): Likewise.
14572 (zap_lookup): Likewise.
14573 (dnode_get_path): New parameter case_insensitive. Retrieve case
14574 sensitiviness of a volume. All users updated.
14575 (dnode_get_fullpath): New parameter case_insensitive.
14576 All users updated.
14577 (grub_zfs_dir): Set info.case_insensitiveness.
14578
95f2e860
VS
145792011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14580
14581 Support second redundancy strip on raidz(2,3).
14582
14583 * grub-core/fs/zfs/zfs.c (powx): New array.
14584 (powx_inv): Likewise.
14585 (poly): New const.
14586 (xor_out): New function.
14587 (gf_mul): Likewise.
14588 (recovery): Likewise.
14589 (read_device): Use second redundancy strip.
14590
11ee4389
VS
145912011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14592
14593 Use a power of generator representation of GF(256) multiplication group
14594 to save space time and complexity.
14595
14596 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14597 (raid6_table2): Likewise.
14598 (powx): New array.
14599 (powx_inv): Likewise.
14600 (poly): New const.
14601 (grub_raid_block_mul): Replace with ...
14602 (grub_raid_block_mulx): ...this.
14603 (grub_raid6_init_table): Rewritten.
14604 (grub_raid6_recover): Use power of generator representation.
14605
09e2763f
VS
146062011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14609 for the right device.
14610
8bec9a28
VS
146112011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14612
14613 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14614 expected by grub-mkimage and it's more clear since there is no implicit
14615 padding.
14616
dbd3a32e
VS
146172011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14618
14619 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14620 disk.
14621 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14622
182c872a
PMH
146232011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14624
14625 * util/grub-mkrescue.in: Fix handling xorriso option.
14626
1e51cabd
VS
146272011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14628
14629 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14630 NULL.
14631
9cc3581d 146322011-11-03 crocket <crockabiscuit@gmail.com>
14633
14634 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14635
158dc1ea
VS
146362011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 XZ CRC64 and SHA256 support.
14639
14640 * Makefile.util.def (libgrubmods): Add crc64.c.
14641 * grub-core/Makefile.core.def (crc64): New module.
14642 * grub-core/lib/crc64.c: New file.
14643 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14644 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14645 Fix the type.
14646 (MAX_HASH_SIZE): New define.
14647 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14648 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14649 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14650 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14651 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14652 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14653 Handle non-crc32 hashes.
14654 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14655 (dec_stream_header): Handle non-crc32 hashes.
14656 (dec_stream_footer): Likewise.
14657 (dec_block_header): Likewise.
14658 (dec_main): Likewise.
14659 (xz_dec_init): Likewise.
14660 (xz_dec_reset): Likewise.
14661 (xz_dec_end): Likewise.
14662 * util/import_gcry.py: Add CRC64 line.
14663
9d9b3d2f
VS
146642011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14667 as well.
14668
7d0ac931
VS
146692011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 Make reiserfs label retrieval similar to other *_label functions.
14672
14673 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14674 (REISERFS_MAX_LABEL_LENGTH): Removed.
14675 (REISERFS_LABEL_OFFSET): Likewise.
14676 (grub_reiserfs_label): Rewritten.
14677
146782011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14679
14680 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14681 field.
14682
cf5ba824
VS
146832011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14684
14685 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14686
17744004
VS
146872011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14690 drive failure on both raidz and raidz2.
14691
aca5aefc
VS
146922011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14693
14694 Fix RAIDZ(2) for >= 5 devices.
14695
14696 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14697 asize argument. All users updated.
14698
ce8ca56e
VS
146992011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14700
14701 Fix RAIDZ(2).
14702
14703 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14704 (fill_vdev_info_real): Set ashift.
14705 (read_device): Rewrite RAIDZ part based on reverse engineering.
14706
7c01e783
VS
147072011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14710 don't report potentially unavialiable fields in debug output.
14711 (find_path): Fix double-free and memory leak.
14712
ce109e84
VS
147132011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 Read label on UFS1.
14716
14717 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14718 (grub_ufs_fs): Always set .label.
14719
87661123
VS
147202011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14721
14722 Use shifts in UFS.
14723
14724 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14725 (grub_ufs_data): New field log2_blksz.
14726 (grub_ufs_read_file): Use shifts.
14727 (grub_ufs_mount): Check block size and logarithm it.
14728
46bc1dc2
VS
147292011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14730
14731 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14732 long symlinks.
14733
19ee2987
VS
147342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 Handle symlinks and long names on tar and cpio.
14737
14738 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14739 (ATTR_FILE): Likewise.
14740 (ATTR_DIR): Likewise.
14741 (ATTR_LNK): Likewise.
14742 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14743 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14744 L and K entries.
14745 (grub_cpio_mount): Zero-fill data.
14746 (handle_symlink): New function.
46bc1dc2
VS
14747 (grub_cpio_dir): Handle symlinks.
14748 (grub_cpio_open): Likewise.
14749 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 14750
c83a08d8
VS
147512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14752
14753 Fix iso9660 filename limitations and fix memory leaks.
14754
14755 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14756 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14757
45cdd3ea
VS
147582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14759
14760 Fix JFS file name length limitations.
14761
14762 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14763 (grub_jfs_diropen): Fix maximum filename length.
14764 (grub_jfs_getent): Fix filename length.
14765 (grub_jfs_lookup_symlink): Fix size checks.
14766
94ef05c2
VS
147672011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14768
14769 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14770 string.
14771
785ab8c7
VS
147722011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14773
eb0b6b45
VS
14774 Leverage BFS implementation to read AFS.
14775
14776 * Makefile.util.def (libgrubmods): Add afs.c.
14777 * grub-core/Makefile.core.def (afs): New module
14778 * grub-core/fs/afs.c: New file.
14779 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14780
147812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 14784
c4a1628f
VS
147852011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 * grub-core/fs/bfs.c: Run indent.
14788
5825b379
VS
147892011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 BFS implementation based on the specification.
14792
14793 * grub-core/fs/bfs.c: New file.
14794 * Makefile.util.def (libgrubmods): Add bfs.c.
14795 * grub-core/Makefile.core.def (bfs): New module.
14796
42b2a706
VS
147972011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14798
14799 * util/grub-fstest.c (cmd_cp): Clarify error message.
14800 (cmd_cmp): Likewise.
14801
61b99bfc
YB
148022011-10-30 Yves Blusseau <blusseau@zetam.org>
14803
14804 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14805 and befs_be.
14806
faba3d16
VS
148072011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 Remove afs and befs because of copyright problem.
14810
14811 * grub-core/fs/afs.c: Removed.
14812 * grub-core/fs/afs_be.c: Removed.
14813 * grub-core/fs/befs.c: Removed.
14814 * grub-core/fs/befs_be.c: Removed.
14815 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14816 * grub-core/Makefile.core.def (afs): Removed.
14817 (afs_be): Likewise.
14818 (befs): Likewise.
14819 (befs_be): Likewise.
14820
c39224b0
VS
148212011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14822
14823 Prefer rockridge over Joliet.
14824
14825 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14826 to ...
14827 (set_rockridge): ... here.
14828 (grub_iso9660_mount): Check rockridge on the primary label when
14829 discovering. Ignore Joliet if Rockridge is present.
14830
e551115a
VS
148312011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14832
14833 Use shifts in nilfs2.
14834
14835 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14836 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
14837 (grub_nilfs2_palloc_entries_per_group): Replace with ...
14838 (grub_nilfs2_log_palloc_entries_per_group): ... this.
14839 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
14840 (grub_nilfs2_entries_per_block): Replaced with ...
14841 (grub_nilfs2_log_entries_per_block_log): ... this.
14842 (grub_nilfs2_blocks_per_group): Replaced with ...
14843 (grub_nilfs2_blocks_per_group_log): ... this.
14844 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
14845 (grub_nilfs2_blocks_per_desc_block_log): ... this.
14846 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
14847 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
14848 (grub_nilfs2_palloc_entry_offset): Replaced ...
14849 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
14850 (grub_nilfs2_dat_translate): Use shifts.
14851 (grub_nilfs2_read_inode): Likewise.
14852 (GRUB_MOD_INIT): Ensure that logs are correct.
14853
564dd58c
VS
148542011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14855
14856 Use shifts in minix filesystem.
14857
14858 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
14859 (GRUB_MINIX_ZONE2SECT): Likewise.
14860 (grub_minix_data): Replace block_size with log_block_size.
14861 (grub_minix_read_file): Use shifts.
14862 (grub_minix_mount): Check block size and take a logarithm.
14863
ed9ba06d
VS
148642011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 Use shifts in squash4.
14867
14868 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
14869 (squash_mount): Check block size and take logarithm.
14870 (direct_read): Use shifts.
14871
ad03fe76
VS
148722011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14873
14874 Correct befs block counting logic.
14875
14876 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
14877 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
14878 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
14879 (grub_afs_read_inode): Use block_shift.
14880 (RANGE_SHIFT): New definition.
14881 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
14882 unexpected conditions, use shifts and appropriate types.
14883 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
14884
6563f63d
VS
148852011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14886
14887 * grub-core/disk/raid.c (scan_devices): Check partition.
14888 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14889
5b1ae25f
VS
148902011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 Support BFS (befs) UUID.
14893
14894 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
14895 (grub_afs_small_data_element_header): New struct.
14896 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
14897 (grub_afs_read_attribute) [MODE_BFS]: New function.
14898 (grub_afs_iterate_dir): Allocate for complete inode.
14899 (grub_afs_mount): Likewise.
14900 (grub_afs_uuid) [MODE_BFS]: New function.
14901 (grub_afs_fs) [MODE_BFS]: Add .uuid.
14902
f8d82408
VS
149032011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14904
14905 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
14906 (zfs_unmount): Fix memory leak.
14907
5773fb64
VS
149082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 Support NTFS reparse points.
14911
14912 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
14913 (symlink_descriptor): New struct.
14914 (grub_ntfs_read_symlink): New function.
14915 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
14916 (grub_ntfs_open): Likewise.
14917
91c3fdde
VS
149182011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14919
14920 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
14921
3be82e10
VS
149222011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14923
14924 fstest xnu_uuid subcommand.
14925
14926 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
14927 grub-core/commands/xnu_uuid.c.
14928 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
14929 (fstest): Handle xnu_uuid.
14930 (options): Document xnu_uuid.
14931 (argp_parser): Parse xnu_uuid.
14932
8e32442e
VS
149332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
14936 -l argument. Add newline at the end if printing.
14937 (GRUB_MOD_INIT): Document -l.
14938
52a05075
VS
149392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14940
14941 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
14942
1869edb5
VS
149432011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 ZFS multi-device and version 33 support.
14946
14947 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
14948 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
14949 (grub_zfs_data): Add multidev-ice-related fields.
14950 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
14951 (dva_get_offset): Make dva const.
14952 (zfs_fetch_nvlist): New function.
14953 (fill_vdev_info_real): Likewise.
14954 (fill_vdev_info): Likewise.
14955 (check_pool_label): Likewise.
14956 (scan_disk): Likewise.
14957 (scan_devices): Likewise.
14958 (read_device): Likewise.
14959 (read_dva): Likewise.
14960 (zio_read_gang): Use read_dva.
14961 (zio_read_data): Likewise.
14962 (zap_leaf_lookup): Add missing endian conversion.
14963 (zap_verify): Add missing endian conversion. All users updated.
14964 (fzap_lookup): Likewise.
14965 (fzap_iterate): Likewise.
14966 (dnode_get_path): Handle SA bonus.
14967 (nvlist_find_value): Make input const. All users updated.
14968 (unmount_device): New function.
14969 (zfs_unmount): Use unmount_device.
14970 (zfs_mount): Use scan_disk.
14971 (zfs_mtime): New function.
14972 (grub_zfs_open): Handle system attributes.
14973 (fill_fs_info): Likewise.
14974 (grub_zfs_dir): Likewise.
14975 (grub_zfs_fs): Add mtime.
14976 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
14977 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
14978 (SA_MTIME_OFFSET): Likewise.
14979 (SA_SYMLINK_OFFSET): Likewise.
14980 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
14981 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
14982 (fstest): Support zfsinfo.
14983 (argp_parser): Likewise.
14984
186b4028
VS
149852011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14986
14987 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
14988 error.
14989
149902011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
14991
14992 ZFS fixes.
14993
14994 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
14995 sharing the same block. Iterate over correct number of indices.
14996 (dnode_get_path): Handle symlinks correctly.
14997
c0584900
VS
149982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15001
67e2bd71
VS
150022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 Read label on HFS+.
15005
15006 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15007 (grub_hfsplus_btree_search): Fix types.
15008 (grub_hfsplus_label): Implement.
15009
e9cc6b7b
VS
150102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15013
19832ddb
VS
150142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15015
15016 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15017
66b40850
VS
150182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15019
15020 Fix symlink handling on iso9660.
15021
15022 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15023 All users updated.
15024 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15025 (grub_iso9660_read_symlink): Moved most of code ...
15026 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15027
db821363
VS
150282011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15029
15030 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15031 Use union to avoid breaking strict-aliasing rules.
15032
e1211949
VS
150332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 Support multi-extent iso files.
15036
15037 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15038 Add node.
15039 (grub_fshelp_node): Revamp. All users updated.
15040 (FLAG_*): New enum.
15041 (read_node): New function.
15042 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15043 All users updated.
15044 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15045 (get_node_size): New function.
15046 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15047 entries.
15048 Fix memory leak on . and ..
15049 (grub_iso9660_read): Use read_node.
15050 (grub_iso9660_close): Free node.
15051
d4888031
VS
150522011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 Fix tar 4G limit and handle paths containing dot.
15055
15056 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15057 (canonicalize): New function.
15058 (grub_cpio_find_file): Use canonicalize. Store offs in
15059 grub_disk_addr_t.
15060 (grub_cpio_dir): Use grub_disk_addr_t.
15061 (grub_cpio_open): Likewise.
15062
9f12e664
VS
150632011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15066
15067 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15068 unused flags.
15069 (grub_squash_inode): Add long_file and block_size.
15070 (grub_squash_cache_inode): New struct.
15071 (grub_squash_dirent): Make types into enum.
15072 (SQUASH_TYPE_LONG_REGULAR): New type.
15073 (grub_squash_frag_desc): Add field size.
15074 (SQUASH_BLOCK_FLAGS): New enum.
15075 (grub_squash_data): Use grub_squash_cache_inode.
15076 (grub_fshelp_node): Make ino_chunk 64-bit.
15077 (read_chunk): Minor argument change. All users updated.
15078 (squash_mount): Use correct le_to_cpu.
15079 (grub_squash_open): Handle LONG_REGULAR.
15080 (direct_read): New function.
15081 (grub_squash_read_data): Handle blocks correctly.
15082
9f326fba
VS
150832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15086
f4d9b64b
VS
150872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15088
15089 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15090
5bbd28b8
VS
150912011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 Fix 2G limit on ZFS.
15094
15095 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15096 types.
15097 (uberblock_verify): Likewise.
15098 (dmu_read): Likewise.
15099 (grub_zfs_read): Likewise. Remove invalid cast.
15100
68c72069
VS
151012011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15102
15103 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15104 (grub_jfs_blkno): Fix incorrect shift.
15105 (grub_jfs_read_file): Use more appropriate types.
15106
6e536dc8
VS
151072011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15108
15109 Support triple indirect on minix2 and minix3.
15110
15111 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15112 Declare triple_indir_zone.
15113 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15114 indirect.
15115
e0864e7a
VS
151162011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 Minix FS fixes.
15119
15120 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15121 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15122 Rename ctime to mtime. All users updated.
15123 (grub_minix_get_file_block): Fix types and double indirect computations.
15124
89481cab
VS
151252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15126
15127 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15128 if no label is found.
15129 (grub_fat_iterate_dir): Fix file size type.
15130 (grub_fat_iterate_dir): Likewise.
15131
f646e143
VS
151322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15133
15134 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15135 save some space.
15136 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15137 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15138
534d769e
VS
151392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15140
15141 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15142
e084ba18
VS
151432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15144
15145 * util/import_gcry.py: Accept space between # and include.
15146
3471ecdf
VS
151472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15150
124df5f6
VS
151512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15152
15153 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15154
15155 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15156 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15157 yylex_strncpy.
15158 * grub-core/script/yylex.l: Add fine-grained #pragma.
15159
4defb8d5
VS
151602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15161
15162 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15163 New inline function.
15164 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15165 Likewise.
15166 (memset) [GRUB_UTIL]: Likewise.
15167 (memcmp) [GRUB_UTIL]: Likewise.
15168
4e94ae65
VS
151692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15170
15171 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15172 inline function rather than a define.
15173
18c575e5
VS
151742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15175
15176 * util/grub-setup.c: Add missing include.
15177
f8bc22a8
VS
151782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 * util/ieee1275/grub-ofpathname.c: Add missing include.
15181
3ce69fc9
VS
151822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15183
15184 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15185 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15186 Likewise.
15187
d1e293bb
VS
151882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15191 grub_memcmp usage.
15192
7a5c54a4
VS
151932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15194
15195 * util/grub-install.in: Add datarootdir as per automake manual
15196 suggestion.
15197 * util/grub-mknetdir.in: Likewise.
15198
151992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15200
15201 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15202 suggestion.
15203 * util/grub.d/10_kfreebsd.in: Likewise.
15204 * util/grub.d/10_linux.in: Likewise.
15205 * util/grub.d/10_netbsd.in: Likewise.
15206 * util/grub.d/10_windows.in: Likewise.
15207 * util/grub.d/20_linux_xen.in: Likewise.
15208
766f7d08
VS
152092011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15210
15211 Remove redundant grub_kernel_image_size.
15212
15213 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15214 _edata and _start.
15215 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15216 the small code. It moves it only by few bytes but simplifies the code.
15217 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15218 _start.
15219 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15220 (grub_kernel_image_size): Removed.
15221 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15222 (grub_kernel_image_size): Removed.
15223 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15224 compiled with Apple toolchain.
15225 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15226 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15227 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15228 (grub_total_module_size): Likewise.
15229 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15230 Removed.
15231 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15232 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15233 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15234 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15235 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15236 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15237 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15238 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15239 Removed.
15240 (grub_total_module_size): Removed.
15241 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15242 (image_targets): Likewise.
15243 Set .compressed_size to no field on sparc.
15244 (generate_image): Remove kernel_image_size handling.
15245
fcf1d672
SJ
152462011-10-19 Szymon Janc <szymon@janc.net.pl>
15247
15248 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15249 NULL pointer dereference.
15250
de9c615e
VS
152512011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15252
15253 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15254 done with a dedicated section.
15255
15256 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15257 Ensure the correct position of boot_path.
15258 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15259 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15260 other fields.
15261 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15262 * include/grub/boot.h: Removed. All references removed.
15263 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15264 Removed.
15265 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15266
e55599dc
VS
152672011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15270 name.
15271
36dd20ad
VS
152722011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15275
f8f72eb8
VS
152762011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15279 Don't add the bogus brackets.
15280
a374751b
VS
152812011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 ExFAT support.
15284
15285 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15286 * grub-core/Makefile.core.def (exfat): New module.
15287 * grub-core/fs/exfat.c: New file.
15288 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15289 (GRUB_FAT_ATTR_*): Make into an enum.
15290 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15291 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15292 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15293 (GRUB_FAT_MAXFILE): Removed.
15294 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15295 (grub_current_fat_bpb_t): New type.
15296 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15297 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15298 (grub_fat_dir_node_t): New type.
15299 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15300 (fat_log2) [MODE_EXFAT]: Removed.
15301 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15302 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15303 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15304 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15305 (grub_fat_label) [MODE_EXFAT]: New function.
15306 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15307 reserved_first_sector to 0.
15308
544c2487
VS
153092011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15310
15311 Move grub_reboot out of the kernel.
15312
15313 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15314 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15315 * grub-core/lib/efi/reboot.c: ... here.
15316 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15317 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15318 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15319 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15320 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15321 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15322 * grub-core/lib/ieee1275/reboot.c: ... here.
15323 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15324 * grub-core/lib/mips/arc/reboot.c: ... here.
15325 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15326 * grub-core/lib/mips/loongson/reboot.c: ...here.
15327 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15328 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15329 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15330 * include/grub/i386/reboot.h: New file.
15331 * include/grub/mips/loongson/ec.h: Fix includes.
15332 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15333 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15334 * grub-core/lib/i386/reboot.c: New file.
15335
a97501d2
VS
153362011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15337
15338 Make grub_prefix into module to fix the arbitrary limit and save
15339 some space.
15340
15341 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15342 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15343 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15344 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15345 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15346 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15347 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15348 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15349 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15350 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15351 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15352 * include/grub/ia64/efi/kernel.h: Removed.
15353 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15354 (grub_prefix): Removed.
15355 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15356 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15357 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15358 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15359 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15360 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15361 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15362 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15363 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15364 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15365 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15366 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15367 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15368 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15369 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15370 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15371 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15372 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15373 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15374 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15375 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15376 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15377 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15378 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15379 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15380 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15381 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15382 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15383 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15384 from module.
15385 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15386 prefix_end.
15387 (image_targets): Likewise.
15388 (generate_image): Put prefix as a module.
15389
39705fad
VS
153902011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 Replace grub_module_iterate with FOR_MODULES.
15393
15394 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15395 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15396 (grub_efi_modules_addr): ...this.
15397 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15398 (grub_efi_init): Set grub_modbase.
15399 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15400 (grub_modbase): New variable.
15401 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15402 (grub_modbase): New variable.
15403 (grub_machine_init): Set grub_modbase.
15404 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15405 (grub_modbase): New variable.
15406 (grub_machine_init): Set grub_modbase.
15407 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15408 (grub_modbase): New variable.
15409 (grub_machine_init): Set grub_modbase.
15410 * grub-core/kern/main.c (grub_module_iterate): Remove.
15411 (grub_modules_get_end): Use grub_modbase.
15412 (grub_load_modules): Use FOR_MODULES.
15413 (grub_load_config): Likewise.
15414 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15415 (grub_modbase): New variable.
15416 (grub_machine_init): Set grub_modbase.
15417 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15418 (grub_modbase): New variable.
15419 (grub_machine_init): Set grub_modbase.
15420 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15421 Removed.
15422 (grub_modbase): New variable.
15423 (grub_machine_init): Set grub_modbase.
15424 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15425 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15426 (grub_module_iterate): Likewise.
15427 (grub_modbase): New variable declaration.
15428 (FOR_MODULES): New macro.
15429
2afb7f6c
VS
154302011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15433 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15434
366e34fa
VS
154352011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 Fix few obvious type discrepancies.
15438
15439 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15440 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15441 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15442 variable.
15443 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15444 and connected types.
15445 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15446 offset.
15447 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15448 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15449 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15450 and connected types.
15451
177b960e
VS
154522011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15453
15454 Fix python 3.x incompatibilities.
15455
15456 * gentpl.py: Put brackets around print strings.
15457 * util/import_gcry.py: Open explicitly as utf-8.
15458 Use in instead of has_key.
15459
3b619ae1
VS
154602011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15463 (GRUB_XFS_INO_AGBITS): Make into inline function.
15464 (GRUB_XFS_INO_INOINAG): Likewise.
15465 (GRUB_XFS_INO_AG): Likewise.
15466 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15467 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15468 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15469 (GRUB_XFS_EXTENT_SIZE): Likewise.
15470 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15471 (GRUB_XFS_NEXT_DIRENT): Likewise.
15472 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15473 (grub_xfs_read_file): Fix offset type.
15474
8bcebcb8
RM
154752011-10-15 Robert Millan <rmh@gnu.org>
15476
15477 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15478
0017e5ef
RM
154792011-10-15 Robert Millan <rmh@gnu.org>
15480
15481 Fix build problem on FreeBSD and GNU/kFreeBSD.
15482
15483 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15484
d8919552
VS
154852011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15488
15489 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15490 types.
15491 (grub_hfsplus_btree_recoffset): Likewise.
15492 (grub_hfsplus_btree_recptr): Likewise.
15493 (grub_hfsplus_find_block): Likewise.
15494 (grub_hfsplus_btree_search): Likewise.
15495 (grub_hfsplus_read_block): Likewise.
15496 (grub_hfsplus_read_file): Likewise.
15497 (grub_hfsplus_mount): Likewise.
15498 (grub_hfsplus_btree_iterate_node): Likewise.
15499 (grub_hfsplus_btree_search): Likewise.
15500 (grub_hfsplus_iterate_dir): Likewise.
15501 (grub_hfsplus_read): A small code simplification.
15502
c81296b6
VS
155032011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15504
15505 * grub-core/kern/emu/hostdisk.c
15506 (convert_system_partition_to_system_disk): Don't assume that children
15507 of mapper nodes are mapper nodes.
15508
0eb8ffb1
VS
155092011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15512 * include/grub/misc.h (grub_isxdigit): New function.
15513 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15514 switched to grub_isxdigit.
15515 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15516 number starting with a letter.
15517
a98f4a08
RM
155182011-10-09 Robert Millan <rmh@gnu.org>
15519
15520 LVM support for FreeBSD and GNU/kFreeBSD.
15521
15522 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15523 GNU/kFreeBSD.
15524 (LVM_DEV_MAPPER_STRING): Move from here ...
15525 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15526 * util/getroot.c: Include `<grub/util/lvm.h>'.
15527 (grub_util_get_dev_abstraction): Enable
15528 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15529 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15530 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15531 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15532 support it.
15533 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15534 GNU/kFreeBSD.
15535 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15536 when LVM abstraction is required for ${GRUB_DEVICE}.
15537
050e8e90
SJ
155382011-10-06 Szymon Janc <szymon@janc.net.pl>
15539
15540 Add support for LZO compression in GRUB:
15541 - import of minilzo library,
15542 - LZO decompression for btrfs,
15543 - lzop files decompression.
15544
15545 * grub-core/io/lzopio.c: New file.
15546 * grub-core/lib/adler32.c: Likewise.
15547 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15548 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15549 * grub-core/lib/minilzo/minilzo.c: Likewise.
15550 * grub-core/lib/minilzo/minilzo.h: Likewise.
15551 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15552 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15553 grub-core/lib/minilzo/minilzo.c to common.
15554 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15555 cflags in cppflags.
15556 * grub-core/Makefile.core.def (btrfs): Likewise.
15557 * grub-core/Makefile.core.def (lzopio): New module.
15558 (adler32): Likewise.
15559 * grub-core/fs/btrfs.c: Include minilzo.h.
15560 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15561 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15562 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15563 (grub_btrfs_lzo_decompress): New function.
15564 (grub_btrfs_extent_read): Add support for LZO compression type.
15565 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15566 (GRUB_USHRT_MAX): Likewise.
15567 (GRUB_UINT_MAX): Likewise.
15568 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15569 (UINT_MAX): Likewise.
15570 (CHAR_BIT): Likewise.
15571 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15572 grub-core/lib/posix_wrap/limits.h
15573 (UCHAR_MAX): Likewise.
15574 * include/grub/file.h (grub_file_filter_id): New compression filter
15575 GRUB_FILE_FILTER_LZOPIO.
15576 * include/grub/file.h (grub_file_filter_id): Set
15577 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15578 * include/grub/types.h (grub_get_unaligned16): New function.
15579 (grub_get_unaligned32): Likewise.
15580 (grub_get_unaligned64): Likewise.
15581 * util/import_gcry.py (cryptolist): Add adler32.
15582
0eb8ffb1
VS
155832011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15584
15585 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15586 in perspective decreases the complexity of build system and fixes
15587 compilation right now.
15588
ce79cc99 155892011-10-01 Ales Nesrsta <starous@volny.cz>
15590
15591 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15592 (fixed problem related to using UHCI with coreboot).
15593
8667a314
BC
155942011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15595
15596 * gentpl.py: Use Autogen macros so that the output template file
15597 (Makefile.tpl) size is reduced.
15598
fc5efcc0
MK
155992011-09-29 Mads Kiilerich <mads@kiilerich.com>
15600
15601 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15602 extra_dist.
15603
d1ab689d
ML
156042011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15605
15606 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15607 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15608
c05de032
ML
156092011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15610
15611 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15612 _fullpath.
15613
cca7ccd8
ML
156142011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15615
15616 Remove extra declaration of sleep for mingw32.
15617
15618 * util/misc.c (sleep) [__MINGW32__]: Removed.
15619 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15620
e0b0dc83
GS
156212011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15622
15623 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15624 type and packname.
15625 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15626 Resurrected.
15627 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15628 (grub_netbsd_btinfo_bootwedge): New struct.
15629 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15630 New function.
15631 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15632
91a1a164
TH
156332011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15634
15635 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15636 loader.
15637
2ded951e
AB
156382011-09-28 Andreas Born <futur.andy@googlemail.com>
15639
15640 Fix incorrect identifiers in bash-completion.
15641
15642 * util/bash-completion.d/grub-completion.bash.in
15643 (_grub_mkpasswd-pbkdf2): Rename to ...
15644 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15645 (_grub_script-check): Rename to ...
15646 (_grub_script_check): ... this. All users updated.
15647
69915030
VS
156482011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15651 Return 0 if disk isn't biosdisk.
15652
20fd15f9
GS
156532011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15654
15655 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15656 on NetBSD.
15657 * Makefile.util.def (grub-fstest): Likewise.
15658
1a7d7db9
GS
156592011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15660
15661 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15662 Get sector size from disk label.
15663
2221ab6c
CW
156642011-09-05 Colin Watson <cjwatson@ubuntu.com>
15665
15666 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15667 */README* as well as README*.
15668 Reported by: Axel Beckert.
15669
ca51c4a0
VS
156702011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15673 case of less than 256 MiB of RAM.
15674
ab80f326
VS
156752011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 * grub-core/commands/wildcard.c (make_regex): Handle @.
15678
4155e697
VS
156792011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15682
ab178c08
SJ
156832011-08-21 Szymon Janc <szymon@janc.net.pl>
15684
15685 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15686 AC_LANG_CONFTEST macros.
15687
7dc3c686
SJ
156882011-08-20 Szymon Janc <szymon@janc.net.pl>
15689
15690 Add grub-fstest option to uncompress data for commands.
15691
15692 * util/grub-fstest.c (uncompress): New var.
15693 (options): New option -u.
15694
fe8d4a7b
SJ
156952011-08-20 Szymon Janc <szymon@janc.net.pl>
15696
15697 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15698 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15699
a5219af1
SJ
157002011-08-20 Szymon Janc <szymon@janc.net.pl>
15701
15702 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15703 file type was not recognized correctly (not gzip or corrupted).
15704
f87abff5
VS
157052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15706
15707 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15708 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15709
d94497ea
VS
157102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15711
15712 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15713 loongson.
15714 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15715 video_radeon_fuloong2e.
15716 * grub-core/video/radeon_fuloong2e.c: New file.
15717 * include/grub/video.h (grub_video_id_t): Add new ID
15718 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15719
0d1fd011
VS
157202011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15721
15722 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15723 define.
15724 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15725 that PRID matches the detected subplatform and reset the subplatform
15726 if it doesn't.
15727
84beb0ee
VS
157282011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15731
1227c133
VS
157322011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 Fix PCI iterating on functions >= 4.
15735
15736 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15737 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15738 Removed.
15739 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15740 (grub_pci_read): Fix bitmask.
15741 (grub_pci_read_word): Likewise.
15742 (grub_pci_read_byte): Likewise.
15743 (grub_pci_write): Likewise.
15744 (grub_pci_write_word): Likewise.
15745 (grub_pci_write_byte): Likewise.
15746
9594c689
VS
157472011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15750 can still be specified in TARGET_CFLAGS)
15751
14a2562c
VS
157522011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15755
15756 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15757 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15758 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15759 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15760 (FULOONG): Rename to ...
15761 (FULOONG2F): ... this. All users updated.
15762 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15763 (machtype_fuloong2f_str): ... this.
15764 (machtype_fuloong2e_str): New string.
15765 Check for machtype_fuloong2e_str.
15766 * grub-core/loader/mips/linux.c (loongson_machtypes)
15767 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15768 * grub-core/term/serial.c (loongson_defserial)
15769 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15770 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15771 loongson_defserial.
15772 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15773 Rename to ...
15774 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15775 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15776 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15777 to IMAGE_FULOONG2F_FLASH. All users updated.
15778 (image_targets): Rename images.
15779 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15780
b526cbb6
SJ
157812011-08-19 Szymon Janc <szymon@janc.net.pl>
15782
15783 Make enable of disk cache statistics code configurable.
15784
15785 * configure.ac: --enable-cache-stats added.
15786 * config.h.in (DISK_CACHE_STATS): New define.
15787 * grub-core/Makefile.core.def (cacheinfo): New command.
15788 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15789 * grub-core/commands/cacheinfo.c: New file.
15790 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15791 moved to cacheinfo.c.
15792 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15793 debug code.
15794 * include/grub/disk.h: Likewise.
15795
fb739ccd
SJ
157962011-08-19 Szymon Janc <szymon@janc.net.pl>
15797
15798 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15799 * grub-core/Makefile.am: Likewise.
15800
2bba8cfd
VS
158012011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15804 non-zero pull.
15805
43526629
VS
158062011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15807
15808 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15809 All users updated.
15810 (grub_jfs_lookup_symlink): Use correct starting inode.
15811
5c144cc8
VS
158122011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15813
15814 * util/grub-setup.c (main): Add missing gcry initialisation.
15815
b1257f65
VS
158162011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 Don't accept text modes on EFI when booting Linux.
15819
15820 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15821 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15822
828bc390
ML
158232011-08-15 Mario Limonciello <mario_limonciello@dell.com>
158242011-08-15 Colin Watson <cjwatson@ubuntu.com>
15825
15826 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15827 use of "/path/.." as in grub-install for EFI as well as handling
15828 symlinks correctly.
15829 Fixes Debian bug #637768.
15830
5f60ccac
CW
158312011-08-15 Colin Watson <cjwatson@ubuntu.com>
15832
15833 * util/grub-probe.c: Remove duplicate #include.
15834
6dc212f9
RM
158352011-08-10 Robert Millan <rmh@gnu.org>
15836
15837 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
15838
15839 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
15840 function.
15841 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
15842 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
15843
66816d85
RM
158442011-08-03 Robert Millan <rmh@gnu.org>
15845
15846 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
15847 la_array as packed.
15848 Reported by: Zachary Bedell
15849
20168fca
CW
158502011-07-26 Colin Watson <cjwatson@ubuntu.com>
15851
15852 * configure.ac: The Loongson port requires grub-mkfont due to its
15853 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
15854 be built.
15855
303b6246
CW
158562011-07-26 Colin Watson <cjwatson@ubuntu.com>
15857
15858 * util/grub-install.in: Don't source grub-mkconfig_lib until after
15859 processing arguments (otherwise help2man fails when GRUB has not yet
15860 been installed).
15861
6795300e
VS
158622011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15863
41aa28ea
VS
15864 New script grub-mkstandalone.
15865
15866 * Makefile.util.def (grub-mkstandalone): New script.
15867 * docs/man/grub-mkstandalone.h2m: New file.
15868 * util/grub-mkstandalone.in: Likewise.
15869
158702011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15871
15872 Support ATA disks with 4K sectors.
6795300e
VS
15873
15874 * include/grub/ata.h (grub_ata): New member log_sector_size.
15875 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
15876 (grub_ata_identify): Read sector size.
15877 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
15878
92227597
VS
158792011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * util/grub-install.in: Don't use uhci outside of x86.
15882
c77069f5
VS
158832011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 * util/grub-mkrescue.in: Add missing quotes.
15886
158872011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
15888
15889 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
15890 dereference.
15891
583168a2
VS
158922011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
15895
6be1c01f
VS
158962011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * include/grub/video.h: add missing EXPORT_FUND on
15899 grub_video_edid_checksum and grub_video_edid_preferred_mode.
15900
a1167439
VS
159012011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 * include/grub/mips/kernel.h: Fix define conflict.
15904
bf66054f
VS
159052011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15906
15907 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
15908 all four ways.
15909
8fc4fa45
CW
159102011-07-21 Colin Watson <cjwatson@ubuntu.com>
15911
15912 Preferred resolution detection for VBE.
15913
15914 * grub-core/video/video.c (grub_video_edid_checksum): New function.
15915 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
15916 the Flat Panel extension, in line with the X.org VESA driver.
15917 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
15918 New function.
15919 (grub_vbe_bios_get_ddc_capabilities): Likewise.
15920 (grub_vbe_bios_read_edid): Likewise.
15921 (grub_vbe_get_preferred_mode): Likewise.
15922 (grub_video_vbe_setup): When the mode is "auto", try to get the
15923 preferred mode from VBE, and use the largest mode that is no larger
15924 than the preferred mode (some BIOSes expose a preferred mode that is
15925 not in their mode list!). If this fails, fall back to 640x480 as a
15926 safe conservative choice.
15927 (grub_video_vbe_get_edid): New function.
15928 (grub_video_vbe_adapter): Add get_edid.
15929 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
15930 (struct grub_video_adapter): Add get_edid.
15931 (grub_video_edid_checksum): Add prototype.
15932 (grub_video_edid_preferred_mode): Likewise.
15933 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
15934 structure.
15935
15936 * grub-core/commands/videoinfo.c (print_edid): New function.
15937 (grub_cmd_videoinfo): Print EDID if available.
15938
15939 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
15940 is more appropriate on a wider range of platforms than 640x480.
15941 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
15942 documentation.
15943
ca5572a9
VS
159442011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
15947
e4bcf625
VS
159482011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15949
15950 * po/POTFILES.in: Regenerate.
15951
c4edd548
VS
159522011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
15955 incorrect memory usage.
15956
16a2bab0
VS
159572011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 * util/grub-install.in: Source grub-mkconfig_lib.
15960
2e418de6
VS
159612011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 Remove getroot.c from core on emu platform.
15964
15965 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
15966 kern/emu/raid.c.
15967 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
15968 useless.
15969 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
15970 * util/getroot.c (get_win32_path): ... here.
15971 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
15972 * util/getroot.c (fini_libzfs): ... here.
15973 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
15974 * util/getroot.c (grub_get_libzfs_handle): ... here.
15975 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
15976 Moved from here...
15977 * util/getroot.c (grub_find_zpool_from_dir): ... here.
15978 * grub-core/kern/emu/misc.c
15979 (grub_make_system_path_relative_to_its_root): Moved from here...
15980 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
15981 * grub-core/kern/emu/getroot.c: Moved from here ...
15982 * util/getroot.c: ... here. All users updated.
15983 * grub-core/kern/emu/raid.c: Moved from here ...
15984 * util/raid.c: ... here. All users updated.
15985
def9832a
VS
159862011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15987
15988 * po/POTFILES.in: Regenerate.
15989
cd8fe79a
VS
159902011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 Fix compilation on GNU/Linux.
15993
15994 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
15995 Disable geli.
15996 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
15997 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
15998 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
15999
a251b719
VS
160002011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
160012011-07-07 Michael Gorven <michael@gorven.za.net>
160022011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16003
16004 LUKS and GELI support.
16005
16006 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16007 grub-core/disk/luks.c, grub-core/disk/geli.c,
16008 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16009 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16010 grub-core/lib/arg.c.
16011 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16012 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16013 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16014 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16015 (grub-bin2h): Add libgcry.a.
16016 (grub-mkimage): Likewise.
16017 (grub-mkrelpath): Likewise.
16018 (grub-script-check): Likewise.
16019 (grub-editenv): Likewise.
16020 (grub-mkpasswd-pbkdf2): Likewise.
16021 (grub-pe2elf): Likewise.
16022 (grub-fstest): Likewise.
16023 (grub-mkfont): Likewise.
16024 (grub-mkdevicemap): Likewise.
16025 (grub-probe): Likewise.
16026 (grub-ofpath): Likewise.
16027 (grub-mklayout): Likewise.
16028 (example_unit_test): Likewise.
16029 (grub-menulst2cfg): Likewise.
16030 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16031 * grub-core/Makefile.core.def (cryptodisk): New module.
16032 (luks): Likewise.
16033 (geli): Likewise.
16034 * grub-core/disk/AFSplitter.c: New file.
16035 * grub-core/disk/cryptodisk.c: Likewise.
16036 * grub-core/disk/geli.c: Likewise.
16037 * grub-core/disk/luks.c: Likewise.
16038 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16039 grub_util_is_lvm.
16040 (grub_util_get_dm_abstraction): New function.
16041 (grub_util_follow_gpart_up): Likewise.
16042 (grub_util_get_geom_abstraction): Likewise.
16043 (grub_util_get_dev_abstraction): Use new functions.
16044 (grub_util_pull_device): Pull GELI and LUKS.
16045 (grub_util_get_grub_dev): Handle LUKS and GELI.
16046 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16047 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16048 (follow_geom_up): Removed.
16049 (grub_util_fd_seek): New function.
16050 (open_device): Use grub_util_fd_seek.
16051 (nread): Rename to ..
16052 (grub_util_fd_read): ... this. All users updated.
16053 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16054 (grub_crypto_cbc_decrypt): Likewise.
16055 (grub_crypto_hmac_write): Likewise.
16056 (grub_crypto_hmac_buffer): Likewise.
16057 (grub_password_get): Extend to util.
16058 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16059 New member modname.
16060 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16061 * include/grub/cryptodisk.h: New file.
16062 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16063 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16064 LUKS and GELI.
16065 (grub_util_follow_gpart_up): New proto.
16066 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16067 (grub_util_fd_read): Likewise.
16068 (grub_cryptodisk_cheat_mount): Likewise.
16069 (grub_util_cryptodisk_print_uuid): Likewise.
16070 (grub_util_get_fd_sectors): Likewise.
16071 * util/grub-fstest.c (mount_crypt): New var.
16072 (fstest): Mount crypto if requested.
16073 (options): New option -C.
16074 (argp_parser): Parse -C.
16075 (main): Init and fini gcry.
16076 * util/grub-install.in: Support cryptodisk install.
16077 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16078 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16079 cryptodisk.
16080 (prepare_grub_to_access_device): Likewise.
16081 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16082 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16083 (probe_cryptodisk_uuid): New function.
16084 (probe_abstraction): Likewise.
16085 (probe): Use new functions.
16086 * util/import_gcry.py: Create Makefile.utilgcry.def.
16087 Add modname member.
16088
9bfdcbbc
VS
160892011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 Lazy device scanning.
16092
16093 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16094 (grub-setup): Remove util/raid.c.
16095 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16096 * grub-core/disk/lvm.c (scan_depth): New variable.
16097 (grub_lvm_iterate): Rescan if necessary.
16098 (find_lv): New function based on grub_lvm_open.
16099 (grub_lvm_open): Use find_lv. Rescan on error.
16100 (is_node_readable): New function.
16101 (is_lv_readable): Likewise.
16102 (grub_lvm_scan_device): Skip already found disks.
16103 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16104 Stop if searched device is found and readable.
16105 * grub-core/disk/raid.c (inscnt): New variable.
16106 (scan_depth): Likewise.
16107 (scan_devices): New function based on grub_raid_register. Abort if
16108 looked for device is found.
16109 (grub_raid_iterate): Rescan if needed.
16110 (find_array): NEw function based on -grub_raid_open.
16111 (grub_raid_open): Use find_array and rescan.
16112 (insert_array): Set became_readable_at.
16113 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16114 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16115 New function.
16116 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16117 (grub_util_pull_device): New function.
16118 (grub_util_get_grub_dev): Call grub_util_pull_device.
16119 * util/raid.c: Moved to ..
16120 * grub-core/kern/emu/raid.c: ... here.
16121 (grub_util_raid_getmembers): New parameter "bootable".
16122 All users updated. Support 1.x.
16123 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16124 All users updated.
16125 * include/grub/disk.h (grub_disk_pull_t): New enum.
16126 (grub_disk_dev): Change iterate prototype.
16127 All users updated.
16128 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16129 New proto.
16130 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16131 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16132 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16133 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16134 All users updated.
16135 * include/grub/util/raid.h: Removed.
16136
1c358e59
VS
161372011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16138
16139 * po/POTFILES.in: Regenerate.
16140
abee94ed
VS
161412011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 Unify sparc init with other ieee1275.
16144
16145 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16146 instead of kern/sparc64/ieee1275/init.c.
16147 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16148 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16149 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16150 grub/machine/kernel.h.
16151 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16152 (grub_claim_heap) [__sparc__]: Use sparc version.
16153 (grub_machine_init): Moved args parsing to
16154 (grub_parse_cmdline): ...this.
16155 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16156 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16157 New definition.
16158 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16159
16160 Move BOOTP to separate file.
16161
16162 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16163 * grub-core/net/net.c: Move all BOOTP functions to
16164 * grub-core/net/bootp.c: ... here.
16165
16166 Use frame interface on PXE.
16167
16168 * grub-core/Makefile.core.def (pxecmd): Removed.
16169 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16170 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16171 * grub-core/i386/pc/pxe.c: Moved from here ...
16172 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16173 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16174 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16175
16176 EFI network support.
16177
16178 * grub-core/Makefile.core.def (efinet): New module.
16179 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16180 here...
16181 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16182 All users updated.
16183 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16184 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16185 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16186 * grub-core/net/drivers/efi/efinet.c: New file.
16187 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16188 (grub_efi_net_config): New extern var.
16189
16190 Various cleanups and bugfixes.
16191
16192 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16193 error.
16194 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16195 disk declared as partition.
16196 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16197 leak on failure.
16198 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16199 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16200 (grub_debug_zalloc): Likewise.
16201 (grub_debug_realloc): Likewise.
16202 (grub_debug_memalign): Likewise.
16203 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16204 Check that target is IPv4.
16205 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16206 local-mac-address as fallback.
16207 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16208 memory leak.
16209 * grub-core/net/ip.c (ipchksum): Rename to ...
16210 (grub_net_ip_chksum): ... this. All users updated.
16211 (grub_net_recv_ip_packets): Special handling for DHCP.
16212 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16213
16214 Unify prefix handling
16215
16216 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16217 (grub_machine_get_bootlocation): ... this.
16218 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16219 (grub_machine_get_bootlocation): ... this.
16220 (grub_prefix): New variable.
16221 (prefix): Removed.
16222 (root_dev): New variable.
16223 (dir): Likewise.
16224 (main): Use new variables.
16225 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16226 Revamped into ...
16227 (grub_machine_get_bootlocation): ... this.
16228 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16229 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16230 (grub_machine_get_bootlocation): ... this.
16231 (grub_machine_set_prefix): Removed.
16232 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16233 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16234 Revamped into ...
16235 (grub_machine_get_bootlocation): ... this.
16236 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16237 (grub_set_prefix_and_root): ... this. All users updated.
16238 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16239 Revamped into ...
16240 (grub_machine_get_bootlocation): ... this.
16241 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16242 (grub_machine_get_bootlocation): New proto.
16243 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16244
16245 Less intrusive and more reliable seek on network implementation.
16246
16247 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16248 (grub_file_seek): Don't call grub_file_net_seek.
16249 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16250 (grub_net_fs_read_real): .. this.
16251 (grub_net_seek_real): Use net->offset.
16252 (grub_net_fs_read): Seek if necessary.
16253
16254 Unify IEEE1275 netwotk config with the other platforms.
16255
16256 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16257 New variable.
16258 (grub_machine_get_bootlocation): Support network.
16259 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16260 Support type and device parsing.
16261 (grub_ieee1275_get_device_type): New function.
16262 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16263 into ...
16264 (grub_ieee1275_net_config_real): ... this.
16265 (grub_ofnet_probecards): Removed.
16266 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16267 * include/grub/ieee1275/ofnet.h: Removed.
16268 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16269 extern var.
16270 (grub_ieee1275_get_device_type): New function.
16271
16272 Unify network device closing across platforms and make more robust.
16273
16274 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16275 grub_grubnet_fini.
16276 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16277 already.
16278 * grub-core/net/net.c (grub_net_network_level_interface_register):
16279 Update num_ifaces.
16280 (grub_net_card_unregister): Close all interfaces.
16281 (receive_packets): Don't poll if no iterfaces are registered.
16282 Open if necessary.
16283 (grub_net_fini_hw): New function.
16284 (grub_net_restore_hw): Likewise.
16285 (fini_hnd): New variable.
16286 (GRUB_MOD_INIT): Register preboot hook.
16287 (GRUB_MOD_FINI): Run and unregister preboot hook.
16288
16289 Poll network cards when idle.
16290
16291 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16292 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16293 * grub-core/net/net.c (receive_packets): Save last poll time.
16294 (grub_net_poll_cards_idle_real): New function.
16295 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16296 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16297 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16298
16299 Rename ofnet interfaces.
16300
16301 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16302 (grub_ofnet_findcards): Use ofnet_%s names.
16303
16304 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16305
16306 Cleanup socket opening.
16307
16308 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16309 (grub_net_fs_close): Likewise.
16310 (grub_net_fs_read_real): Use eof member.
16311 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16312 (+grub_net_udp_close): New inline function.
16313
16314 * include/grub/net/tftp.h: Moved to the top of ...
16315 * grub-core/net/tftp.c: ... here.
16316 * include/grub/net/ip.h: Moved mostly to the top of ...
16317 * grub-core/net/ip.c: ... here.
16318 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16319 * grub-core/net/ethernet.c: ... here.
16320
16321 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16322
16323 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16324 FS name.
16325
16326 * include/grub/net/ip.h (ipv4_ini): Removed.
16327 (ipv4_fini): Likewise.
16328
16329 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16330 (grub_net_send_ip_packets): Likewise.
16331
cf1337aa
VS
163322011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16333
16334 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16335 grub_read_cmos prototype.
16336
93c06ff9
VS
163372011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16338
16339 VGA text support in qemu-mips
16340
16341 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16342 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16343 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16344 text.
16345 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16346 * grub-core/kern/vga_init.c: ... this.
16347 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16348 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16349 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16350 Adjust.
16351 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16352 GRUB_MACHINE_PCI_IO_BASE.
16353
748ccabe
VS
163542011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16355
16356 MIPS qemu flash support.
16357
16358 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16359 magic.
16360 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16361 (grub_machine_init): Probe memory if its size isn't known.
16362 * util/grub-mkimage.c (image_targets): Add flash targets.
16363 (generate_image): Handle flash targets.
16364
d7345994
VS
163652011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 MIPS qemu at_keyboard support.
16368
16369 * gentpl.py (videoinkernel): Add qemu-mips.
16370 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16371 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16372 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16373 modules.
16374 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16375 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16376 * grub-core/term/serial.c (grub_serial_register)
16377 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16378
a07a81b3
VS
163792011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16380
16381 CMOS support on sparc.
16382
16383 * gentpl.py (cmos): Add powerpc and sparc.
16384 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16385 powerpc and sparc.
16386 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16387 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16388 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16389 grub_set_datetime_cmos.
16390 * grub-core/lib/ieee1275/cmos.c: New file.
16391 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16392 (find_rtc): Set no_ieee1275_rtc on error.
16393 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16394 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16395 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16396 fail. Move value to argument. All users updated
16397 (grub_cmos_write): Likewise.
16398 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16399 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16400 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16401 grub_get_datetime_cmos and grub_set_datetime_cmos.
16402
77546584
GS
164032011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16404
16405 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16406 sourcing grub-mkconfig_lib.
16407 * util/update-grub_lib.in: Likewise.
16408 * util/grub.d/00_header.in: Likewise.
16409 * util/grub.d/10_hurd.in: Likewise.
16410 * util/grub.d/10_kfreebsd.in: Likewise.
16411 * util/grub.d/10_linux.in: Likewise.
16412 * util/grub.d/10_netbsd.in: Likewise.
16413 * util/grub.d/10_windows.in: Likewise.
16414 * util/grub.d/20_linux_xen.in: Likewise.
16415 * util/grub.d/30_os-prober.in: Likewise.
16416
54894791
CW
164172011-06-28 Colin Watson <cjwatson@ubuntu.com>
16418
16419 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16420 default_bg_color rather than black.
16421 (grub_gfxterm_fullscreen): Likewise.
16422 (grub_gfxterm_background_color_cmd): Save new background color in
16423 default_bg_color.
16424
8d5d8444
VS
164252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16426
16427 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16428
5afeb5bd
VS
164292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16430
16431 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16432 mismerge.
16433
ba7df45e
VS
164342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 Chainloading on coreboot support.
16437
16438 * grub-core/Makefile.core.def (chain): Add coreboot.
16439 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16440
d0b526b2
VS
164412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16442
16443 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16444 if it happens.
16445
5ff1d945
VS
164462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16447
16448 Implement time command.
16449
16450 * grub-core/Makefile.core.def (time): New module.
16451 * grub-core/commands/time.c: New file.
16452 * grub-core/script/parser.y: Remove "time" keyword.
16453 * grub-core/script/yylex.l: Likewise.
16454
5ebaad7e
VS
164552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16456
16457 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16458
bdea3798
VS
164592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16460
16461 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16462 when handling leftovers.
16463
b28c5655
VS
164642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16465
16466 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16467 so that help2man doesn't fail.
16468
b6f945dc
VS
164692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16472 type in pointers on sparc64.
16473 (get_card_packet): Likewise.
16474
f9b75e8a
CW
164752011-06-27 Colin Watson <cjwatson@ubuntu.com>
16476
16477 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16478 with `*'.
16479 (grub_cmd_videoinfo): Fetch current video mode.
16480
1e3d9b86
VS
164812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16482
16483 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16484 because of underlying system restrictions.
16485
efff4b1c
VS
164862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16489 necessary.
16490
9fc9ce37
VS
164912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16492
16493 Coreboot video support.
16494
16495 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16496 (vbe): Likewise.
16497 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16498 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16499 here ...
16500 * grub-core/kern/i386/int.S: ... here.
16501 * grub-core/video/i386/pc/vbe.c: Updated includes.
16502 * grub-core/video/i386/pc/vga.c: Likewise.
16503 * include/grub/i386/coreboot/memory.h
16504 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16505 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16506 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16507 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16508 Disable interrupts.
16509 * include/grub/i386/pc/vga.h: Removed. All users updated.
16510
41bec7fe
VS
165112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16514 definitions for dprintf.
16515 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16516
ca80309d
VS
165172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16520 prototype.
16521 (get_card_packet): Likewise.
16522
9e322ce8
YB
165232011-06-26 Yves Blusseau <blusseau@zetam.org>
16524
16525 Display the path of the file when file is not found
16526
16527 * grub-core/fs/fat.c: Display the filename when file is not found.
16528 * grub-core/fs/fshelp.c: Likewise.
16529 * grub-core/fs/hfs.c: Likewise.
16530 * grub-core/fs/jfs.c: Likewise.
16531 * grub-core/fs/minix.c: Likewise.
16532 * grub-core/fs/ufs.c: Likewise.
16533 * grub-core/fs/btrfs.c: Likewise.
16534 * grub-core/commands/i386/pc/play.c: Likewise.
16535
cbf597af
SJ
165362011-06-26 Szymon Janc <szymon@janc.net.pl>
16537
16538 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16539 pointer checks before calling grub_free().
16540 * grub-core/commands/wildcard.c (match_devices): Likewise.
16541 * grub-core/commands/wildcard.c (match_files): Likewise.
16542 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16543 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16544 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16545 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16546 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16547 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16548 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16549 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16550 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16551
6295b32f
P
165522011-06-25 Patrick <p55@mailinator.com>
16553
16554 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16555
77c0840b
VS
165562011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16557
16558 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16559 (grub_pxe_send): Likewise.
16560 (GRUB_MOD_INIT): Fix types.
16561
40ea05de
SJ
165622011-06-24 Szymon Janc <szymon@janc.net.pl>
16563
16564 * grub-core/io/xzio.c: Fix code style issues
16565
90162423
MRA
165662011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
165672011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16568
16569 Network infrastructure.
16570 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16571
16572 * include/grub/net/arp.h: New file.
90162423
MRA
16573 * include/grub/net/device.h: Likewise.
16574 * include/grub/net/ethernet.h: Likewise.
16575 * include/grub/net/ip.h: Likewise.
16576 * include/grub/net/netbuff.h: Likewise.
16577 * include/grub/net/tftp.h: Likewise.
16578 * include/grub/net/udp.h: Likewise.
16579 * include/grub/ieee1275/ofnet.h: Likewise.
16580 * include/grub/emu/export.h: Likewise.
16581 * include/grub/net.h: Likewise.
16582 * grub-core/net/arp.c: Likewise.
16583 * grub-core/net/ethernet.c: Likewise.
16584 * grub-core/net/ip.c: Likewise.
16585 * grub-core/net/udp.c: Likewise.
16586 * grub-core/net/tftp.c: Likewise.
16587 * grub-core/net/netbuff.c: Likewise.
16588 * grub-core/net/net.c: Likewise.
16589 * grub-core/net/drivers/emu/emunet.c: Likewise.
16590 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16591 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16592 export.h.
16593 * grub-core/Makefile.core.def (net): New module.
16594 (tftp): Likewise.
16595 (ofnet): Likewise.
16596 (emunet): Likewise.
16597 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16598 network protocols.
16599 * grub-core/kern/device.c (grub_net_open) : New variable.
16600 (grub_device_open): Handle network device.
16601 (grub_device_close): Likewise.
16602 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16603 (grub_grubnet_fini): Likewise.
16604 (grub_file_seek): Seek in network device.
16605 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16606 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16607 network root.
16608 (grub_machine_fini): Call grub_grubnet_fini.
16609 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16610 network.
16611 (grub_ieee1275_get_aliasdevname): New function.
16612 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16613 Add unofficial Solaris network info.
16614 (grub_multiboot_make_mbi): Likewise.
16615 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16616 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16617 * include/grub/device.h (grub_fs): Removed.
16618 * include/grub/err.h (grub_err_t): Add network-related values.
16619 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16620 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16621 (grub_ieee1275_get_aliasdevname): New proto.
16622 * include/grub/net.h: Rewritten.
423a1849 16623
031f22a0
VS
166242011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16625
16626 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16627 names.
16628
4388ca72
VS
166292011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16630
16631 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16632 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16633 it truncates the output.
16634 Reported by: Ximin Luo.
16635
98e2f506
VS
166362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16637
16638 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16639
2a5e94d8
VS
166402011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16643 partmap before abstraction.
16644
535c1910
AK
166452011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16646
16647 * util/grub-mkconfig_lib.in: Add missing quotes.
16648
bc09e1a2
VS
166492011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16652 old method if mountinfo would return /dev/root and /dev/root doesn't
16653 exist.
16654
290766fb
VS
166552011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16656
16657 ZFS zlib support
16658
16659 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16660 (decomp_table): Add zlib entries.
16661 (zio_read): USe 8 bits for compression function rather than 3.
16662 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16663
166642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 * grub-core/disk/ahci.c: Add missing license statements.
16667 * grub-core/fs/romfs.c: Likewise.
16668 * grub-core/lib/ia64/setjmp.S: Likewise.
16669 * grub-core/loader/i386/pc/freedos.c: Likewise.
16670 * grub-core/loader/ia64/efi/linux.c: Likewise.
16671 * grub-core/video/colors.c: Likewise.
16672 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16673
5ab3f48a
VS
166742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16675
16676 AHCI support.
16677
16678 * grub-core/Makefile.core.def (ata_pthru): Removed.
16679 (ahci): New module.
16680 (pata): Likewise.
16681 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16682 on unload.
16683 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16684 readwrite.
16685 (grub_hdparm_do_check_powermode_cmd): Likewise.
16686 (grub_hdparm_do_smart_cmd): Likewise.
16687 (grub_hdparm_set_val_cmd): Likewise.
16688 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16689 * grub-core/disk/ahci.c: New file.
16690 * grub-core/disk/ata.c: Factor out the low-level part into ...
16691 * grub-core/disk/pata.c: ... here.
16692 * grub-core/disk/ata_pthru.c: Contents moved to ...
16693 * grub-core/disk/pata.c: ... here.
16694 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16695 (grub_scsi_iterate): Use grub_scsi_names.
16696 (grub_scsi_open): Likewise.
16697 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16698 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16699 (grub_ata_regs_t): New struct.
16700 (grub_disk_ata_pass_through_parms): Likewise.
16701 (grub_ata_device): Renamed to ...
16702 (grub_ata): ... this.
16703 (grub_ata_dev): New struct.
16704 Removed all low-level inline functions.
16705 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16706 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16707 iterate hooks and open. All users updated.
16708 * util/grub-install.in: Handle AHCI disk module.
16709
c31dc5f5
SJ
167102011-06-23 Szymon Janc <szymon@janc.net.pl>
16711
16712 Add support for DRI and RSTn markers in JPEG files.
16713
16714 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16715 (JPEG_MARKER_RST0): Likewise.
16716 (JPEG_MARKER_RST1): Likewise.
16717 (JPEG_MARKER_RST2): Likewise.
16718 (JPEG_MARKER_RST3): Likewise.
16719 (JPEG_MARKER_RST4): Likewise.
16720 (JPEG_MARKER_RST5): Likewise.
16721 (JPEG_MARKER_RST6): Likewise.
16722 (JPEG_MARKER_RST7): Likewise.
16723 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16724 (grub_jpeg_decode_dri): New function.
16725 (grub_jpeg_decode_sos): Move image data related part into
16726 grub_jpeg_decode_data function.
16727 (grub_jpeg_decode_data): New function.
16728 (grub_jpeg_reset): New function.
16729 (grub_jpeg_decode_jpeg): Handle new markers.
16730
fe12fd5b
VS
167312011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 * util/ieee1275/ofpath.c (check_sas): Close fd.
16734 (main): Free of_path.
16735 Reported by: David Volgyes <dvolgyes>.
16736
03147f46
VS
167372011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16738
16739 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16740 Reported by: David Volgyes <dvolgyes>.
16741
cad3237f
VS
167422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16743
16744 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16745 file after stat.
16746 Reported by: David Volgyes <dvolgyes>.
16747
13548d26
VS
167482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16749
16750 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16751
16752 Reported by: David Volgyes <dvolgyes>.
16753
e061a1b5
VS
167542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16757 Prevent memory leak.
16758
1abe47dc
VS
167592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16760
16761 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16762 (main): Close file.
e061a1b5 16763 Reported by: David Volgyes <dvolgyes>.
1abe47dc 16764
fbc62666
VS
167652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16766
16767 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16768 to continue if allocation is failed.
16769
16770 Reported by: David Volgyes <dvolgyes>.
16771
e98c83e9
DV
167722011-06-23 David Volgyes <dvolgyes>
16773
16774 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16775 dereference.
16776
a199a8cd
VS
167772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16778
16779 Fix spurious warning.
16780
16781 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16782 (acorn_partition_map_find): Use .bin member.
16783
e2d1dba0
VS
167842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16785
16786 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16787 /dev/root as a valid device.
16788
8a5d6919
JM
167892011-06-23 Jim Meyering <meyering@redhat.com>
16790
e2d1dba0
VS
16791 Avoid NULL deref in grub_device_open.
16792
8a5d6919
JM
16793 * grub-core/kern/device.c (grub_device_open): Don't dereference
16794 a NULL pointer upon failed grub_env_get.
16795
f7db6f4a
VS
167962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 Support non-512B sectors and agglomerate reads.
16799
16800 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16801 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16802 (disk_io_guid): Removed.
16803 (make_devices): Locate solely by BlockIO.
16804 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16805 (grub_efidisk_read): Use read_blocks.
16806 (grub_efidisk_write): Use write_blocks.
16807 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16808 log_sector_size.
16809 (get_safe_sectors): Handle non-512B sectors.
16810 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16811 sectors.
16812 (grub_biosdisk_write): Handle non-512B sectors.
16813 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16814 (grub_scsi_read): Remove special non-512B block handling (now handled
16815 one level up).
16816 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16817 and do sanity checks.
16818 (grub_disk_adjust_range): Handle non-512B sectors.
16819 (transform_sector): New function.
16820 (grub_disk_read_small): Likewise.
16821 (grub_disk_read): Rewritten.
16822 (grub_disk_write): Handle non-512B sectors.
16823 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16824 log_sector_size.
16825 (open_device): Use log_sector_size.
16826 (grub_util_biosdisk_read): Likewise.
16827 (grub_util_biosdisk_write): Likewise.
16828 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16829 non-512B sectors.
16830 (pc_partition_map_embed): Likewise.
16831 * include/grub/disk.h (grub_disk): New field log_sector_size.
16832 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16833 (GRUB_DISK_CACHE_BITS): Increased to 6.
16834 * util/grub-fstest.c (fstest): New command testload.
16835 (argp_parser): Likewise.
16836
881ac815
RM
168372011-06-16 Robert Millan <rmh@gnu.org>
16838
16839 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
16840 `ata' driver on kernel of FreeBSD 9.
16841
16842 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
16843 (get_ataraid_disk_name): New functions.
16844 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
16845 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
16846 get_ataraid_disk_name() and get_ada_disk_name().
16847
1e9aef7d
CW
168482011-06-13 Colin Watson <cjwatson@ubuntu.com>
16849
16850 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
16851 input format.
16852
351c7c8a
CW
168532011-05-29 Colin Watson <cjwatson@ubuntu.com>
16854
16855 * docs/grub.texi (Obtaining and Building GRUB): Substitute
16856 `ftp.gnu.org' for `alpha.gnu.org'.
16857
6b4e6430
CW
168582011-05-27 Colin Watson <cjwatson@ubuntu.com>
16859
16860 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
16861 partitions under /dev/disk/by-id/.
16862
c64db050
CW
168632011-05-27 Colin Watson <cjwatson@ubuntu.com>
16864
16865 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
16866 after ten consecutive open failures. Scanning all the way up to
16867 10000 is excessive and can cause serious performance problems in
16868 some configurations.
16869 Fixes Ubuntu bug #787461.
16870
245f4aba
VS
168712011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
16874 opening new one.
16875
f767c929
VS
168762011-05-21 Colin Watson <cjwatson@ubuntu.com>
168772011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16878
16879 Don't stat devices unless we have to.
16880
16881 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
16882 dir == /dev/mapper.
16883 (grub_guess_root_device): Use already known os_dev if possible.
16884 * grub-core/kern/emu/hostdisk.c
16885 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
16886 if device is known to be a dm one.
16887
f35fa3a6
CW
168882011-05-20 Colin Watson <cjwatson@ubuntu.com>
16889
16890 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
16891 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
16892 Reported by: Pawel Tecza.
16893
9a79fcf2
VS
168942011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16895
16896 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
16897 (lsefisystab): Likewise.
16898 (lssal): Likewise.
16899 (lsefimmap): Likewise.
16900 (hdparm): Enable on qemu-mips.
16901 (setjmp): Add ia64 nodist.
16902 (serial): Simplify tags.
16903
63e3eea9
CW
169042011-05-18 Colin Watson <cjwatson@ubuntu.com>
16905
16906 * Makefile.util.def (grub-ofpathname): Install manual page.
16907
09728256
CW
169082011-05-18 Colin Watson <cjwatson@ubuntu.com>
16909
16910 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
16911
8b63a142
CW
169122011-05-18 Colin Watson <cjwatson@ubuntu.com>
16913
16914 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
16915
e775d8ed
VS
169162011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16917
16918 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
16919 into dprintf.
16920
bf947d36
VS
169212011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16922
16923 Use full 64-bit division.
16924
16925 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
16926 (grub_divmod64): ... this.
16927 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
16928 version.
16929
b84f26c5
CW
169302011-05-18 Colin Watson <cjwatson@ubuntu.com>
16931
16932 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
16933 `source'.
16934
5626056f
CW
169352011-05-18 Colin Watson <cjwatson@ubuntu.com>
16936
16937 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
16938 to avoid accidents when debugging with 'sh -x'.
16939 * grub-core/gensyminfo.sh.in: Likewise.
16940 * tests/example_scripted_test.in: Likewise.
16941 * tests/grub_cmd_regexp.in: Likewise.
16942 * tests/grub_script_blanklines.in: Likewise.
16943 * tests/grub_script_dollar.in: Likewise.
16944 * tests/grub_script_expansion.in: Likewise.
16945 * tests/grub_script_final_semicolon.in: Likewise.
16946 * tests/partmap_test.in: Likewise.
16947 * tests/util/grub-shell-tester.in: Likewise.
16948 * tests/util/grub-shell.in: Likewise.
16949
e2965f4a
CW
169502011-05-18 Colin Watson <cjwatson@ubuntu.com>
16951
16952 Move gfxmenu color handling to video, so that gfxterm can use it
16953 too.
16954
16955 * grub-core/gfxmenu/named_colors.c: Move to ...
16956 * grub-core/video/colors.c: ... here. Rename
16957 grub_gui_get_named_color to grub_video_get_named_color.
16958 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
16959 * grub-core/video/colors.c (my_isxdigit): ... here.
16960 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
16961 Move to ...
16962 * grub-core/video/colors.c (parse_hex_color_component): ... here.
16963 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
16964 to ...
16965 * grub-core/video/colors.c (grub_video_parse_color): ... here.
16966
16967 * include/grub/gui.h (grub_gui_color_t): Move to ...
16968 * include/grub/video.h (grub_video_rgba_color_t): ... here.
16969 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
16970 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
16971 * include/grub/gui.h (grub_gui_map_color): Move to ...
16972 * include/grub/video.h (grub_video_map_rgba_color): ... here.
16973 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
16974 to ...
16975 * include/grub/video.h (grub_video_get_named_color): ... here.
16976 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
16977 * include/grub/video.h (grub_video_parse_color): ... here.
16978
16979 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
16980 video/colors.c.
16981 (gfxmenu): Remove gfxmenu/named_colors.c.
16982 (video) [videomodules]: Add video/colors.c.
16983
16984 Add a background_color command.
16985
16986 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
16987 function.
16988 (GRUB_MOD_INIT): Register background_color command.
16989 (GRUB_MOD_FINI): Unregister background_color command.
16990 (redraw_screen_rect): Allow blend/replace of text layer to be
16991 controlled independently from whether there is a background bitmap.
16992 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
16993 changing bitmap.
16994
1e4b4390
VS
169952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16996
26618ff0
VS
16997 Patch BPB in ntldr and chainloader --bpb.
16998
1e4b4390
VS
16999 * grub-core/fs/fat.c: Include grub/fat.h.
17000 (grub_fat_bpb): Moved to ...
17001 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17002 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17003 grub/ntfs.h.
17004 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17005 Moved from here...
17006 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17007 here.
17008 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17009 New function.
17010 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17011 (GRUB_MOD_INIT): Show --bpb.
17012 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17013 * grub-core/normal/main.c (features): New variable.
17014 (GRUB_MOD_INIT): Set feature_* variables.
17015 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17016 proto.
17017 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17018
cf02731e
VS
170192011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17020
17021 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17022 for cleanness.
17023
e3a1073f
VS
170242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17025
17026 FreeDOS direct loading support.
17027
17028 * docs/grub.texi (Supported OS): Add FreeDOS.
17029 * grub-core/Makefile.core.def (freedos): New module.
17030 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17031 variable.
17032 (grub_relocator16_boot): Handle %ebx.
17033 * grub-core/lib/i386/relocator16.S: Likewise.
17034 * grub-core/loader/i386/pc/freedos.c: New file.
17035
05caa461
VS
170362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17037
17038 Long Linux command line support.
17039
17040 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17041 (maximal_cmdline_size): New variable.
17042 (allocate_pages): Use maximal_cmdline_size.
17043 (grub_cmd_linux): Set and use maximal_cmdline_size.
17044 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17045 (allocate_pages): Use maximal_cmdline_size.
17046 (grub_cmd_linux): Set and use maximal_cmdline_size.
17047 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17048 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17049 and cmdline_size.
17050
a2491e23
VS
170512011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
170522011-05-18 Colin Watson <cjwatson@ubuntu.com>
17053
17054 Improve devmapper support
17055
17056 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17057 (grub_util_is_lvm): New function.
17058 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17059 than lvm if not dmraid.
17060 Handle mapped md nodes.
17061 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17062 (grub_util_device_is_mapped): ... this. Make always available. All users
17063 updated.
17064 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17065 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17066 dmraid nodes.
17067 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17068
6ad6223e
VS
170692011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17070
17071 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17072
17073 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17074 * grub-core/modinfo.sh.in: New file.
17075 * grub-core/Makefile.core.def (modinfo.sh): New script.
17076 * util/grub-mknetdir.in: Use modinfo.sh.
17077 * util/grub-mkrescue.in: Likewise.
17078
543a8f6e
VS
170792011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17080
17081 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17082 Fix potential usage of Elf32 instead of Elf64 when compiling on
17083 32-bit architecture. Add endianness macros while on it.
17084
4959e111
VS
170852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 Use mipsel- rather than mips- in directories involving mipsel ports to
17088 allow both endiannesses coexist.
17089
17090 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17091 mips. All conditions adjusted.
17092 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17093 variable.
17094 * util/grub-install.in: Adjust conditions to take renaming into account.
17095 * util/grub-mkimage.c (image_targets): Likewise. New target
17096 mips-qemu_mips-elf for bigendian mips.
17097
35341bbc
VS
170982011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 Avoid unnecessary copying on MIPS.
17101
17102 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17103 early if src == dest.
17104 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17105 compression is none.
17106
b772baed
VS
171072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17108
17109 Reduce memory footprint on SGI by putting modules before the kernel
17110 as opposed to after.
17111
17112 * grub-core/Makefile.core.def (kernel): Increase linking address.
17113 (none_decompress): Likewise.
17114 (xz_decompress): Likewise.
17115 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17116 address.
17117 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17118 layout change.
17119 (grub_arch_modules_addr): New function.
17120 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17121 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17122 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17123 here.
17124 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17125 (grub_total_modules_size): ... this. Make global.
17126 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17127 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17128 New definition.
17129 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17130 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17131 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17132 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17133 * util/grub-mkimage.c (image_target_desc): New flag
17134 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17135 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17136 (generate_image): Handle images with modules before kernel.
17137
566a1917
VS
171382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17139
17140 Prevent potential loss of memory map by overwrite on qemu-mips.
17141
17142 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17143 Save ram size in $s4.
17144 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17145 All users changed to grub_arch_memsize.
17146 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17147 Loongson.
17148 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17149 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17150 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17151 external variable.
17152
5d420cd9
CW
171532011-05-17 Colin Watson <cjwatson@ubuntu.com>
17154
17155 * .bzrignore: Remove grub-dumpbios.
17156
d064b830
CW
171572011-05-17 Colin Watson <cjwatson@ubuntu.com>
17158
17159 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17160 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17161 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17162 existing options which append).
17163 * docs/grub.texi (Simple configuration): Document new options.
17164 Reported by: Ian Jackson. Fixes Debian bug #617538.
17165
3ca2b466
CW
171662011-05-17 Colin Watson <cjwatson@ubuntu.com>
17167
17168 * util/grub-fstest.c (cmd_cat): New function.
17169 (fstest): Handle CMD_CAT.
17170 (options): Add cat.
17171 (argp_parser): Handle cat.
17172
24c9143a
CW
171732011-05-17 Colin Watson <cjwatson@ubuntu.com>
17174
17175 * Makefile.util.def (grub-bin2h): Don't install.
17176 * docs/man/grub-bin2h.h2m: Remove.
17177
90f7ac19
VS
171782011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17181 place.
17182
8d4a5178
VS
171832011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17184
17185 Reenable qemu-mips port.
17186
17187 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17188 Fix small arc bug while on it.
17189 * gentpl.py: Handle qemu_mips.
17190 * grub-core/Makefile.am: Likewise.
17191 * grub-core/Makefile.core.def: Likewise.
17192 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17193 inappropriate includes.
17194 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17195 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17196 * grub-core/kern/main.c (grub_modules_get_end)
17197 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17198 * grub-core/kern/mips/qemu-mips: Moved to ..
17199 * grub-core/kern/mips/qemu_mips: ... this.
17200 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17201 (grub_machine_init): Call terminfo_init and serial_init.
17202 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17203 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17204 New variable.
17205 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17206 parameter passing.
17207 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17208 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17209 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17210 * include/grub/mips/qemu_mips/cmos.h: New file.
17211 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17212 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17213 Removed.
17214 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17215 Use correct mips-style address.
17216 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17217 (GRUB_TICKS_PER_SECOND): Removed.
17218 (grub_get_rtc): Likewise.
17219 (grub_cpu_idle): Likewise.
17220 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17221 New definition.
17222 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17223 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17224 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17225 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17226 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17227 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17228 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17229 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17230
400b9371
VS
172312011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 SGI ARCS port.
17234
17235 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17236 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17237 platforms.
17238 * configure.ac: New target mips-arc.
17239 * gentpl.py: Likewise.
17240 * grub-core/Makefile.am: Likewise.
17241 * grub-core/Makefile.core.def: Likewise.
17242 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17243 (none_decompress): Likewise.
17244 (lsdev): New module.
17245 (datetime): Use lib/arc/datetime.c on ARC.
17246 (part_dvh): New module.
17247 * grub-core/commands/arc/lsdev.c: New file.
17248 * grub-core/disk/arc/arcdisk.c: Likewise.
17249 * grub-core/kern/mips/arc/init.c: Likewise.
17250 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17251 aligned addresses.
17252 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17253 support.
17254 (grub_arch_dl_relocate_symbols): Likewise.
17255 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17256 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17257 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17258 platforms.
17259 * grub-core/lib/arc/datetime.c: New file.
17260 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17261 pci.h on non-loongson.
17262 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17263 (grub_linux_boot): Set unused registers to 0.
17264 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17265 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17266 * grub-core/mmap/mips/uppermem.c: ...here.
17267 * grub-core/partmap/dvh.c: New file.
17268 * grub-core/term/arc/console.c: Likewise.
17269 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17270 (grub_terminfo_set_current): Add terminal "arc".
17271 (grub_terminfo_readkey): Support ARC sequences.
17272 * include/grub/arc/arc.h: New file.
17273 * include/grub/arc/console.h: Likewise.
17274 * include/grub/disk.h (grub_disk_dev_id): Add
17275 GRUB_DISK_DEVICE_ARCDISK_ID.
17276 * include/grub/mips/arc/kernel.h: New file.
17277 * include/grub/mips/arc/memory.h: Likewise.
17278 * include/grub/mips/arc/time.h: Likewise.
17279 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17280 * include/grub/mips/kernel.h (grub_halt): ... here.
17281 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17282 here...
17283 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17284 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17285 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17286 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17287 proto.
17288 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17289 from here ...
17290 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17291 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17292 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17293 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17294 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17295 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17296 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17297 (grub_phys_addr_t): Moved from here ...
17298 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17299 (grub_vtop): Moved from here ...
17300 * include/grub/mips/memory.h (grub_vtop): ... here.
17301 (grub_map_memory): Moved from here ...
17302 * include/grub/mips/memory.h (grub_map_memory): ... here.
17303 (grub_unmap_memory): Moved from here ...
17304 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17305 (grub_machine_mmap_iterate): Moved from here ...
17306 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17307 (grub_mmap_get_lower): Moved from here ...
17308 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17309 (grub_mmap_get_upper): Moved from here ...
17310 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17311 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17312 here ...
17313 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17314 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17315 here ...
17316 * include/grub/mips/time.h (grub_get_rtc): ... here.
17317 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17318 here ...
17319 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17320 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17321 here ...
17322 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17323 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17324 definition.
17325 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17326 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17327 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17328 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17329 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17330 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17331 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17332 (GRUB_MACHINE_LINK_ADDR): Likewise.
17333 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17334 to 6.
17335 * util/grub-install.in: Run dvhtool on ARC.
17336 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17337 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17338
c8ecc840
VS
173392011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17340
17341 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17342 blocks.
17343
153a4b55
VS
173442011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17345
17346 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17347 after enabling port.
17348
ff44d107
VS
173492011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17350
17351 Skip incorrect USB devices.
17352
17353 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17354 configcnt == 0.
17355 * include/grub/usb.h (grub_usb_err_t): New enum value
17356 GRUB_USB_ERR_BADDEVICE.
17357
638dbe4f
VS
173582011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 Fuloong video init support.
17361
17362 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17363 well.
17364 (grub_vga_read_arx): New function.
17365 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17366 definition.
17367 (framebuffer): New members io, mmioptr and mmiobase.
17368 (read_sis_cmd): New function.
17369 (write_sis_cmd): Likewise.
17370 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17371 rather than 640x400.
17372 * grub-core/video/sis315_init.c: New file.
17373
c3fc520c
VS
173742011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17375
17376 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17377 non-loongson.
17378 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17379 to grub_dl_register_symbol.
17380
67b1e5c9
VS
173812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17382
17383 Fix compilation errors.
17384
17385 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17386 potentially unused.
17387 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17388 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17389 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17390 to loongson machines.
17391
b756f75f
VS
173922011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17393
17394 Several FS mtime support.
17395
17396 * grub-core/fs/affs.c (grub_affs_time): New struct.
17397 (grub_affs_file): New field mtime.
17398 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17399 type. Removed 'size'. New field 'di'. All users updated.
17400 (grub_affs_mount): Simplify checsum checking.
17401 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17402 (grub_affs_dir): Handle mtime.
17403 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17404 (grub_cpio_dir): Likewise.
17405 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17406 (grub_hfs_filerec): New field mtime.
17407 (grub_hfs_dir): Handle mtime.
17408 (grub_hfs_mtime): New function.
17409 (grub_hfs_fs): Register grub_hfs_mtime.
17410 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17411 (grub_iso9660_dir): New field mtime.
17412 (grub_fshelp_node): New field dirent.
17413 (iso9660_to_unixtime): New function.
17414 (iso9660_to_unixtime2): Likewise.
17415 (grub_iso9660_read_symlink): Use node->dirent.
17416 (grub_iso9660_iterate_dir): Likewise.
17417 (grub_iso9660_dir): Set mtime.
17418 (grub_iso9660_mtime): New function.
17419 (grub_iso9660_fs): Register grub_iso9660_mtime.
17420 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17421 (grub_jfs_inode): New fields atime, ctime and mtime.
17422 (grub_jfs_dir): Set mtime.
17423 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17424 * grub-core/fs/ntfs.c (list_file): Set mtime.
17425 (grub_ntfs_dir): Likewise.
17426 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17427 (grub_reiserfs_iterate_dir): Set mtime.
17428 (grub_reiserfs_dir): Likewise.
17429 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17430 (grub_fshelp_node): Likewise.
17431 (grub_sfs_iterate_dir): Set mtime.
17432 (grub_sfs_dir): Likewise.
17433 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17434 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17435 (grub_xfs_inode): New fields atime, mtime, ctime.
17436 (grub_xfs_dir): Set mtime.
17437 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17438 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17439 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17440
17441 Support UDF symlinks.
17442
17443 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17444 (grub_ufs_read_symlink): New function. All users updated.
17445
17446 Check amiga partmap checksum.
17447
17448 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17449 (grub_amiga_partition): Likewise.
17450 (amiga_partition_map_checksum): New function.
17451 (amiga_partition_map_iterate): Check checksum.
17452
5470225d
VS
174532011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17454
17455 ROMFS support.
17456
17457 * Makefile.util.def (libgrubmods.a): Add romfs.
17458 * grub-core/Makefile.core.def (romfs): New module.
17459 * grub-core/fs/romfs.c: New file.
17460
d4680a35
VS
174612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17462
17463 Squashfs v4 support.
17464
17465 * Makefile.util.def (libgrubmods.a): Add squash4.
17466 * grub-core/Makefile.core.def (squash4): New module.
17467 * grub-core/fs/squash4.c: New file.
17468 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17469 disk_input_start, disk_input.
17470 (get_byte): Handle disk_input.
17471 (grub_zlib_disk_read): New function.
17472 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17473
bcb18e74
FZ
174742011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
174752011-05-15 Feiran Zheng <famcool@gmail.com>
17476
17477 * Makefile.util.def (libgrubmods.a): Add minix3.
17478 * grub-core/Makefile.core.def (minix3): New module.
17479 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17480 (GRUB_MINIX_BSIZE): Removed.
17481 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17482 (grub_minix_ino_t): New type.
17483 (grub_minix_le_to_cpu_ino): New macro.
17484 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17485 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17486 (grub_minix_data): New field block_size.
17487 (grub_minix_read_file): Handle 64-bit correctly.
17488 * grub-core/fs/minix3.c: New file.
17489
32297d5f
TG
174902011-05-15 Tristan Gingold <gingold@free.fr>
174912011-05-15 Robert Millan <rmh.grub@aybabtu.com>
174922011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 IA64 support.
17495
17496 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17497 * configure.ac: Add ia64-efi target.
17498 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17499 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17500 * gentpl.py: Add ia64_efi platform.
17501 Rename x86_efi to efi and Add ia64-efi. All users updated.
17502 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17503 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17504 Remove kern/generic/rtc_get_time_ms.c on EFI.
17505 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17506 kern/ia64/dl_helper.c on ia64-efi.
17507 Add kern/emu/cache.c on emu.
17508 (linux): Use on loader/ia64/efi/linux.c on ia64.
17509 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17510 whether symbol is a function.
17511 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17512 (grub_symbol): New field 'isfunc'.
17513 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17514 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17515 (grub_dl_load_segments): Place all sections into the same region.
17516 [__ia64__]: Create trampolines and got.
17517 [GRUB_MACHINE_EMU]: Call mprotect.
17518 (grub_dl_resolve_symbols): Resolve symbol type as well.
17519 [__ia64__]: Create function descriptors.
17520 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17521 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17522 (grub_get_rtc): New function.
17523 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17524 * grub-core/kern/emu/cache.S: Renamed to ...
17525 * grub-core/kern/emu/cache_s.S: ... this.
17526 [__ia64__]: Add a nop.
17527 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17528 [__ia64__]: New function.
17529 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17530 * grub-core/kern/ia64/dl.c: New file.
17531 * grub-core/kern/ia64/dl_helper.c: Likewise.
17532 * grub-core/kern/ia64/efi/init.c: New file.
17533 * grub-core/kern/ia64/efi/startup.S: Likewise.
17534 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17535 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17536 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17537 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17538 * grub-core/loader/ia64/efi/linux.c: New file.
17539 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17540 (GRUB_MOD_DEP): Likewise.
17541 (grub_dl) [__ia64__]: New fields got and tramp.
17542 (grub_dl): New field 'base'.
17543 (grub_dl_register_symbol): New argument isfunc. All users updated.
17544 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17545 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17546 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17547 (grub_ia64_dl_get_tramp_got_size): New proto.
17548 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17549 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17550 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17551 * include/grub/efi/api.h: Skip call wrappers on ia64.
17552 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17553 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17554 * include/grub/elf.h (ELF_ST_INFO): New definition.
17555 * include/grub/ia64/efi/kernel.h: New file.
17556 * include/grub/ia64/efi/memory.h: Likewise.
17557 * include/grub/ia64/efi/time.h: Likewise.
17558 * include/grub/ia64/kernel.h: Likewise.
17559 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17560 * include/grub/ia64/time.h: New file.
17561 * include/grub/ia64/types.h: Likewise.
17562 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17563 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17564 New protos.
17565 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17566 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17567 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17568 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17569 All users updated.
17570 (EFI64_HEADER_SIZE): New definition. All users updated.
17571 (image_targets): Add ia64-efi.
17572 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17573 jumpers_addr. All users updated.
17574 Create function descriptors.
17575 (count_funcs): New function.
17576 (unaligned_uint32): New struct.
17577 (MASK20): New definition.
17578 (MASK19): Likewise.
17579 (MASKF21): Likewise.
17580 (add_value_to_slot_20b): New function.
17581 (add_value_to_slot_21_real): Likewise.
17582 (add_value_to_slot_21): Likewise.
17583 (ia64_kernel_trampoline): New struct.
17584 (nopm): New variable.
17585 (jump): Likewise.
17586 (make_trampoline): New function.
17587 (relocate_addresses): Handle ia64.
17588 (make_reloc_section): Likewise.
17589 (load_image): Likewise.
17590
983b414d
VS
175912011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17592
17593 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17594 warning. Move variables before code while on it.
17595
5d063cdc
VS
175962011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17597
17598 Fuloong support.
17599
17600 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17601 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17602 * grub-core/boot/mips/loongson/fuloong.S: New file.
17603 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17604 Explicitly init CS5536.
17605 [FULOONG]: Don't use serial until CS5536 is available.
17606 Set GPIO based on dumps.
17607 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17608 [FULOONG]: Handle GPIO and memory controller differences.
17609 Parse machine type in $a2.
17610 * grub-core/boot/mips/startup_raw.S: Determine and save the
17611 architecture.
17612 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17613 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17614 init on architecture type.
17615 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17616 SIS315E. Don't init at_keyboard on fuloong.
17617 (grub_halt): Support Fuloong.
17618 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17619 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17620 (loongson_machtypes): New array.
17621 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17622 type.
17623 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17624 config. All users updated. Handle CS5536 serial.
17625 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17626 default port on machine type. Register serial as inactive.
17627 * grub-core/video/sis315pro.c: New file.
17628 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17629 definition.
17630 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17631 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17632 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17633 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17634 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17635 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17636 to ...
17637 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17638 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17639 definition.
17640 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17641 (grub_arch_machine): New extern var.
17642 * include/grub/mips/loongson/serial.h
17643 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17644 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17645 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17646 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17647 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17648 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17649 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17650 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17651 * include/grub/term.h (grub_term_register_input_inactive): New inline
17652 function.
17653 (grub_term_register_output_inactive): Likewise.
17654 * include/grub/video.h (grub_video_driver_id): New value
17655 GRUB_VIDEO_DRIVER_SIS315PRO.
17656 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17657 New field "names". All users updated.
17658 New field value IMAGE_FULOONG_FLASH.
17659 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17660
6ada82d1
JU
176612011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17662
17663 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17664 and add some clarification.
17665
90c571a4
VS
176662011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17667
17668 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17669 platforms if kernel is compressed.
17670
de04eecf
VS
176712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17672
17673 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17674 unused modules since currently referrence counter isn't reliable and
17675 there isn't much memory to recover there anyway.
17676
57688121
VS
176772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17678
17679 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17680 rather than resetting it to allow modules to reference themselves
17681 in init.
17682
3d2c7e35
VS
176832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17684
17685 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17686 counter on dependencies since grub_dl_unref already handles this.
17687
b25db218
VS
176882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17689
17690 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17691 on error if not already done.
17692
25a45338
VS
176932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17694
17695 Fix few potential memory misusage.
17696
17697 * grub-core/font/font.c (load_font_index): Don't free char_index to
17698 avoid double free.
b25db218
VS
17699 (grub_font_load): Zero-fill font at alloc for safety.
17700 Close file on error.
17701 (free_font): Free bmp_idx.
25a45338 17702
0cac83df
VS
177032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 * docs/grub.texi (Installation): Fix several outdated claims.
17706
2217a143
VS
177072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17708
17709 Handle module_license on windows.
17710
17711 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17712 sections shifted.
17713 (insert_string): Make argument const char * instead of char *.
17714 (write_section_data): Handle long section names.
17715 Handle module_license.
17716
d4de6b01
VS
177172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17718
17719 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17720 handle class-free menuentries.
17721 (grub_normal_add_menu_entry): Add a check to be sure.
17722
4c2a3b43
VS
177232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17724
17725 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17726 PgUp and PgDown.
17727
85c6210f
VS
177282011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * configure.ac: Bump version to 1.99.
17731
36084912
VS
177322011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17733
17734 Give ATA device a bit more time on first try in order to allow disks
17735 to spin up.
17736
17737 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17738 if dev->present is 1. Reset dev->present on failure.
17739 (grub_ata_device_initialize): Set dev->present to 1.
17740 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17741 (grub_ata_device): New member 'present'.
17742
bda0e219
VS
177432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17744
17745 * util/grub-mkimage.c (generate_image): Update hash.
17746
19e1c41b
VS
177472011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 Flush caches on DMA memory.
17750
17751 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17752 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17753 (grub_dma_free): Likewise.
17754 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17755
91bbcc0c
VS
177562011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17757
17758 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17759 to avoid asm treating ld and sd as macros.
17760
60ddfad3
VS
177612011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17762
17763 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17764 decompressor.
17765
a298aa04
VS
177662011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17767
17768 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17769 grub_decompress_core since later would fail if grub_decompress_core
17770 is too far.
17771
9b44feca
VS
177722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17775 R_MIPS_JALR since it's used by newer compiler.
17776
56dbe7b4
VS
177772011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17780
52856af2
VS
177812011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17784 file_path to 0 for surety.
17785 (grub_chainloader_boot): Set exit_data to NULL.
17786 Unset the loader once done.
17787 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17788
9c9bfc6d
VS
177892011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17790
17791 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17792 unknown key into a dprintf.
17793
dd94a3df
VS
177942011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17795
17796 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17797 on first non-existant partition.
17798
fa68d99c
VS
177992011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17800
17801 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17802 openning fails.
17803 Reported by: Mark Korenberg.
17804
157effb7
VS
178052011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17806
17807 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17808 overflow.
17809
ea75312f
VS
178102011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17811
17812 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17813 before closing to ensure that it will be readable by grub-setup.
17814
072b5d31
VS
178152011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17816
17817 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17818 (devpath_1): Use MAKE_PIWG_PATH.
17819 (devpath_2): Likewise.
17820 (devpath_3): Likewise.
17821 (devpath_4): Likewise.
17822 (devpath_5): Likewise.
17823 (devpath_6): Likewise.
17824
17825 The appleldr.mod was checked that to be binary identical to previous
17826 version.
17827
7fae0051
Z
178282011-05-05 Zach <mikezackles>
17829
17830 Support 2010 Macbooks.
17831
17832 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17833 (devs): Add devpath_6.
17834
7c515bee
VS
178352011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
17838 /dev/random. /dev/urandom is good enough for our purposes (salting).
17839
ed660bd8
VS
178402011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17841
17842 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
17843
ee5614b7
VS
178442011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17845
17846 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
17847 hexadecimal.
17848
664889a6
VS
178492011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17850
17851 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
17852 and not 0 on failure.
17853
bd405bbc
CW
178542011-05-03 Colin Watson <cjwatson@ubuntu.com>
17855
17856 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
17857 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
17858 disk; otherwise grub_fs_probe will not fall back to the next
17859 filesystem.
17860 (grub_pxefs_open): Likewise, for consistency.
17861 Reported and tested by: Ezekiel Grave.
17862
4ebff753
CW
178632011-05-03 Colin Watson <cjwatson@ubuntu.com>
17864
17865 * tests/partmap_test.in: Don't hardcode path to parted.
17866 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
17867
8f942553
CW
178682011-05-01 Colin Watson <cjwatson@ubuntu.com>
17869
17870 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
17871 of `ls' to find out which devices are available.
17872
3c62402d
VS
178732011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17874
17875 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
17876 than source address for efi mmap buffer.
17877
723f63f2
VS
178782011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17879
17880 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
17881 wrong action on non-detecting the magic.
17882
68797f92
VS
178832011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17884
17885 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
17886 already supplied by another part of the module (fixes compilation on
17887 FreeBSD).
17888
6be8715d
VS
178892011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17890
17891 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
17892 match the one used by mdadm.
17893
e91dba5b
CW
178942011-04-21 Colin Watson <cjwatson@ubuntu.com>
17895
17896 * po/README: Add instructions for creating po/LINGUAS.
17897
c85140b3
CW
178982011-04-21 Colin Watson <cjwatson@ubuntu.com>
17899
17900 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
17901 #551428.
17902
17903 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
17904 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
17905 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
17906 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
17907 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
17908 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
17909 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
17910 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
17911 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
17912 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
17913 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
17914 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
17915 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
17916 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
17917 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
17918 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
17919 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
17920 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
17921 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
17922 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
17923 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
17924 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
17925
92051871
CW
179262011-04-21 Colin Watson <cjwatson@ubuntu.com>
17927
17928 * grub-core/kern/emu/getroot.c
17929 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
17930 test that was incorrectly reintroduced in r3214.
17931 Reported by: Ian Dall. Fixes Savannah bug #33133.
17932
b13f79a4
CW
179332011-04-21 Colin Watson <cjwatson@ubuntu.com>
17934
17935 Fix stack pointer handling in 16-bit relocator.
17936
17937 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
17938 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
17939 Fixes Ubuntu bug #683904.
17940
9b710a88
VS
179412011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17942
17943 * configure.ac: Bump version to 1.99~rc2.
17944
d97e7b59
VS
179452011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17946
17947 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
17948 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
17949 * grub-core/lib/x86_64/setjmp.S: Likewise.
17950 * grub-core/lib/mips/setjmp.S: Likewise.
17951 * grub-core/lib/powerpc/setjmp.S: Likewise.
17952 * grub-core/lib/sparc64/setjmp.S: Likewise.
17953
0624551c
VS
179542011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
17957 * grub-core/lib/efi/datetime.c: Likewise.
17958
e8f28d4c
VS
179592011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17960
17961 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
17962 New function.
17963 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
17964 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
17965 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
17966
bba79a15
VS
179672011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17968
17969 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
17970 bitmap.
17971 (grub_gfxterm_term_init): Likewise.
17972
abc474ef
VS
179732011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17974
17975 Take into account the decorations the computing menu entry width.
17976
17977 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
17978 (grub_gfxmenu_create_box): Register get_border_width.
17979 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
17980 if available.
17981 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
17982 get_border_width.
17983
e74b3947
EP
179842011-04-18 Endres Puschner <code@e7p.de>
17985
17986 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
17987 Don't skip first class.
17988
34faa595
VS
179892011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17990
17991 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
17992 chunks.
17993 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
17994
93a777e3
VS
179952011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17996
17997 Complete 64-bit division support.
17998
17999 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18000 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18001 * include/grub/misc.h (grub_divmod64): Rename to ...
18002 (grub_divmod64_full): ... this.
18003 (grub_divmod64): New inline function.
18004
a5102d94
VS
180052011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18006
18007 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18008
f3fb7b36
VS
180092011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18010
18011 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18012 performing the necessary test.
18013
9ac718b0
VS
180142011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18015
18016 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18017 (kfreebsd.elf): Likewise.
18018 (pc-chainloader.elf): Likewise.
18019 (ntldr.elf): Likewise.
18020
50d2cc5a
VS
180212011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 Identify RAID by its UUID rather than (guessed) name.
18024
18025 * grub-core/disk/raid.c (ascii2hex): New function.
18026 (grub_raid_open): Accept mduuid/%s specification.
18027 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18028 (get_mdadm_uuid): ... this.
18029 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18030
e03f7bea
VS
180312011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18032
18033 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18034 to negative size.
18035
e74c3112
CW
180362011-04-13 Colin Watson <cjwatson@ubuntu.com>
18037
18038 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18039 btrfs subvolume.
18040 * util/grub.d/20_linux_xen.in: Likewise.
18041
78fa584f
CW
180422011-04-13 Colin Watson <cjwatson@ubuntu.com>
18043
18044 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18045 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18046
18047 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18048 Build a list of relevant visible mounts using the mnt_id and
18049 parent_mnt_id fields, and then scan that list at the end.
18050
9d5f8162
CW
180512011-04-12 Colin Watson <cjwatson@ubuntu.com>
18052
18053 * docs/grub.texi (normal): New section.
18054 (normal_exit): New section.
18055 (Embedded configuration): Add reference to normal.
18056 (GRUB only offers a rescue shell): Likewise.
18057 * docs/grub-dev.texi (Error Handling): Fix typo.
18058
09a9d66f
CW
180592011-04-12 Colin Watson <cjwatson@ubuntu.com>
18060
18061 * NEWS: Drop obsolete entry about probe-only btrfs support.
18062
0c676933
CW
180632011-04-12 Colin Watson <cjwatson@ubuntu.com>
18064
18065 * util/import_gcry.py: Fix typo.
18066
ec9f5e0d
VS
180672011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18068
18069 * NEWS: Add btrfs support.
18070
fe6b2cba
VS
180712011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
180722011-04-11 Colin Watson <cjwatson@ubuntu.com>
18073
18074 BtrFS support. Written by me (Vladimir) with important bugfixes and
18075 even more important testing by Colin.
18076
18077 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18078 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18079 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18080 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18081 mem_input_off and mem_input. All users updated to accept in-RAM input.
18082 (gzio_seek): New function.
18083 (test_zlib_header): Likewise.
18084 (grub_gzio_read): Likewise.
18085 (grub_zlib_decompress): Likewise.
18086 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18087 Accept partial and non-virtual mounts.
18088 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18089 avoid receiving /dev/dm-X as device.
18090 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18091 Handle bind and partial mounts.
18092 * grub-core/lib/crc.c: New file.
18093 * include/grub/deflate.h: Likewise.
18094 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18095 proto.
18096 * include/grub/lib/crc.h: New file.
18097
e745cf0c
VS
180982011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18099
18100 Implement automatic module license checking according to new GNU
18101 guidelines.
18102
18103 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18104 (grub_dl_load_core): Use grub_dl_check_license.
18105 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18106 (GRUB_MOD_LICENSE): Likewise.
18107 (GRUB_MOD_DUAL_LICENSE): Likewise.
18108 All modules updated.
18109
2a9bc016
CW
181102011-04-11 Colin Watson <cjwatson@ubuntu.com>
18111
18112 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18113 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18114 loaders.
18115 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18116
8a3bc88e
VS
181172011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18118
18119 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18120
af869a4a
VS
181212011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18124 failed.
18125
9ee8d94f
VS
181262011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18127
18128 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18129 parenthesis in the middle of the filename.
18130
b01abe3e
VS
181312011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18132
18133 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18134 rather than trying to put initrd way too high.
18135 Reported by: Ryan Lortie <desrt@desrt.ca>
18136
335bda1e
VS
181372011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18138
18139 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18140 improperly removed string.
18141
5ca1a64d
VS
181422011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18143
18144 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18145 is_disk.
18146 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18147 (open_device) Likewise.
18148 (grub_util_biosdisk_close): Likewise.
d8ce9995 18149 Reported by: Mark Korenberg.
5ca1a64d 18150
cbac5b1e
AK
181512011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18152
18153 * util/grub-mkconfig_lib.in: Add missing quotes.
18154
088cdb65
CW
181552011-04-10 Colin Watson <cjwatson@ubuntu.com>
18156
18157 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18158 is NULL.
18159
8b8a81fa
VS
181602011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 Dynamically count the number of lines for the lower banner.
18163
18164 * grub-core/normal/menu_entry.c (per_term_screen): New member
18165 num_entries.
18166 (print_down): Use num_entries.
18167 (update_screen): Likewise.
18168 (grub_menu_entry_run): Set num_entries.
18169 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18170 num_entries.
18171 (grub_print_message_indented): Move real part to ...
18172 (grub_print_message_indented_real): ... here. Additional argument
18173 dry_run.
18174 (draw_border): Additional argument num_entries.
18175 (print_message): Additional argument dry_run.
18176 (print_entries): Receive menu viewer data.
18177 (grub_menu_init_page): New argment num_entries.
18178 (menu_text_set_chosen_entry): Use num_entries.
18179 (grub_menu_try_text): Likewise.
18180 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18181 All users updated.
18182 (grub_ucs4_count_lines): New function.
18183 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18184 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18185 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18186 (grub_term_border_height): Likewise.
18187 (grub_term_num_entries): Likewise.
18188
277f955b
VS
181892011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18190
18191 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18192 Remove now unused string.
18193
536ce85a
CW
181942011-04-09 Colin Watson <cjwatson@ubuntu.com>
18195
18196 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18197 build system.
18198 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18199
18200 (Comment): Fix typo.
18201 (Getting started): General copy-editing.
18202 (Typical Development Experience): Likewise.
18203 (Error Handling): Likewise.
18204 (Video API): Likewise.
18205
2cf09e32
CW
182062011-04-09 Colin Watson <cjwatson@ubuntu.com>
18207
18208 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18209 throughout.
18210
1ec652f4
VS
182112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18214 directory.
18215
2c583728
CW
182162011-04-08 Colin Watson <cjwatson@ubuntu.com>
18217
18218 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18219 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18220 "development".
18221
d7a565e9
VS
182222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18225 grub_strcpy since the lines aren't necessarily 0-terminated.
18226
7c2e4909
VS
182272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18228
18229 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18230 root on legacy.
18231
34c09785
VS
182322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18233
18234 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18235 (GRUB_MOD_INIT): DEVICE isn't optional.
18236
6a6f8058
VS
182372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18238
18239 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18240 word on new line if it's too long anyway. Fixes a hang.
18241
2e335e90
VS
182422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18243
18244 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18245 const.
18246 * util/grub-setup.c (main): Reuse md device name if available.
18247 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18248 not GRUB name as argument.
18249 Based on patch by: Florian Wagner <fwagner>.
18250
10a7a867
VS
182512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18252
18253 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18254 Place mbi on low memory for better compatibility.
18255
7a3d6cd9
VS
182562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18257
18258 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18259
18dd6b47
VS
182602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
182612011-04-08 Colin Watson <cjwatson@ubuntu.com>
18262
18263 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18264 * conf/Makefile.common: Likewise.
18dd6b47 18265
3c0e3f14
VS
182662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18267
f7148863
VS
18268 * grub-core/normal/menu.c: Add missing include.
18269
182702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18271
18272 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18273
6d1fa41f
MZ
182742011-04-08 Martin Zuther <mzuther@mzuther.de>
18275
18276 * util/grub-mkconfig.in: Ignore emacsen backup.
18277
478182a8
VS
182782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18279
18280 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18281 on open.
18282 (grub_util_biosdisk_close): Likewise.
18283
72a89a54
VS
182842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18285
18286 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18287 const attribute and use grub_isdigit.
18288
b5ebecfa
A
182892011-04-06 Andrey <dev_null@ukr.net>
18290
18291 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18292 gcc warning.
18293
7755f66e
VS
182942011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18295
18296 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18297 useful grub_dprintf's.
18298
461121ff
VS
182992011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18302
2a961775
VS
183032011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18304
18305 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18306
adf594cc
VS
183072011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18308
18309 Output errors if theme loading failed.
18310
18311 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18312 grub_gfxterm_fullscreen on error paths to ...
18313 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18314 theme loading error.
18315
665900a3
VS
183162011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18317
18318 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18319 space for older compilers.
18320 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18321
a562b479
VS
183222011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18323
18324 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18325 and report them as not RAID members since they are useless for GRUB.
18326 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18327
850e9373
VS
183282011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18329
18330 Increase LVM implementation robustness in order not to crash on
18331 configurations like pvmove. Previously code assumed that in some places
18332 only lvs or only pvs are used whereas it seems that they are used
18333 interchangeably.
18334
18335 * grub-core/disk/lvm.c (read_node): New function.
18336 (read_lv): Use read_node.
18337 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18338 Match volumes only at the end when all lvs are found. Take both
18339 pvs (first) and lvs (second) into account.
18340 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18341 mirror_* into node_*. All users updated.
18342 (grub_lvm_stripe): Merge this ...
18343 (grub_lvm_mirror): ... and this ...
18344 (grub_lvm_node): ... into this. All users updated.
18345
6f332153
VS
183462011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18347
18348 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18349 of function to allow further scanning for LVMs.
18350
829ea451
VS
183512011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18352
18353 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18354 on failed seek as it breaks open fd reusage.
18355
09ceb9a5
VS
183562011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18357
18358 * util/grub-install.in: Add a recommendation to use --recheck before
18359 reporting bugs.
18360
67e11623
VS
183612011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18362
18363 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18364 are obtained.
18365
caee5efd
VS
183662011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18367
18368 GRUB developper manual based on existing Internals section and
18369 contributions by the various authors with active copyright assignment.
18370
18371 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18372 * docs/font_char_metrics.png: New file.
18373 * docs/font_char_metrics.txt: Likewise.
18374 * docs/grub-dev.texi: Likewise.
18375 * docs/grub.texi (Internals): Move from here ...
18376 * docs/grub-dev.texi: ... here.
18377
2cccc747
CW
183782011-04-01 Colin Watson <cjwatson@ubuntu.com>
18379
18380 Store the loopback device as data on loopback grub_disk structures,
18381 rather than the file it points to. This fixes use of freed memory
18382 if an existing loopback device is replaced.
18383
18384 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18385 disk->data, not dev->file.
18386 (grub_loopback_read): Adjust file assignment to match.
18387 Fixes Ubuntu bug #742967.
18388
186ae367
CW
183892011-04-01 Colin Watson <cjwatson@ubuntu.com>
18390
18391 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18392 when replacing an existing device.
18393
cfed2ad0
VS
183942011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18395
18396 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18397 memory corruptions.
18398
18399 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18400 unsigned.
18401 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18402 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18403 (grub_jfs_read_inode): Likewise.
18404 (grub_jfs_opendir): Likewise. Remove now useless casts.
18405 (grub_jfs_getent): Likewise.
18406 Make ino a grub_uint32_t rather than int.
18407 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18408 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18409 division and module with bit operations.
18410 (grub_jfs_find_file): Make ino a grub_uint32_t.
18411 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18412
05d2ed32
CW
184132011-04-01 Colin Watson <cjwatson@ubuntu.com>
18414
18415 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18416 warning. (This was in fact always initialised before use, but GCC
18417 wasn't smart enough to prove that.)
18418 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18419
91dc6073
VS
184202011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18421
18422 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18423 stack alignment.
18424 (efi_wrap_1): Likewise.
18425 (efi_wrap_2): Likewise.
18426 (efi_wrap_3): Likewise.
18427 (efi_wrap_4): Likewise.
18428 (efi_wrap_5): Likewise.
18429 (efi_wrap_6): Likewise.
18430 (efi_wrap_10): Likewise.
18431 Based on information by: Red Hat/Peter Jones.
18432
a8afc1d1
CW
184332011-03-31 Colin Watson <cjwatson@ubuntu.com>
18434
18435 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18436 set-but-not-used variable.
18437
a826cc7d
CW
184382011-03-31 Colin Watson <cjwatson@ubuntu.com>
18439
18440 * docs/grub.texi (Simple configuration): Be more explicit about
18441 GRUB_DEFAULT, and add an example.
18442 Reported by: Leslie Rhorer.
18443
875b67ba
CW
184442011-03-30 Colin Watson <cjwatson@ubuntu.com>
18445
18446 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18447 shell".
18448
fd7cd914
AS
184492011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18450
18451 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18452 * util/grub.d/20_linux_xen.in: Likewise.
18453
090b1b6a
VS
184542011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18455
18456 * util/grub.d/10_linux.in: Try alternative config filenames where
18457 we parse config file.
18458 * util/grub.d/20_linux_xen.in: Likewise.
18459
baad885c
AS
184602011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18461
18462 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18463 * util/grub.d/20_linux_xen.in: Likewise.
18464
241e41f5
VS
184652011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18466
18467 * grub-core/disk/raid.c (insert_array): Add few potentially
18468 useful grub_util_info.
18469 (grub_raid_register): Likewise.
18470
56445fb2
VS
184712011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18474 Preserve partition number in mdadm code path.
18475
c871b1c6
VS
184762011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18477
18478 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18479 few potentially useful grub_util_info.
18480
5e631b4f
CW
184812011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18482
18483 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18484
2d5d0333
CW
184852011-03-30 Colin Watson <cjwatson@ubuntu.com>
18486
18487 * docs/grub.texi (default): Use @example rather than nested
18488 itemized lists to avoid breaking gendocs.
18489
3d7ed04e
CW
184902011-03-30 Colin Watson <cjwatson@ubuntu.com>
18491
18492 * docs/grub.texi (Future): Update.
18493
abf04200 184942011-03-30 Colin Watson <cjwatson@ubuntu.com>
18495
18496 * docs/grub.texi (Environment): New chapter.
18497 (Changes from GRUB Legacy): Link to "Environment block" section for
18498 details of limitations.
18499 (Simple configuration): Likewise. Link to documentation of gfxmode
18500 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18501 respectively.
18502 (Shell-like scripting): Note that normal variables are stored in the
18503 environment.
18504 (gettext): Link to documentation of lang and locale_dir.
18505 (list_env): New section.
18506 (load_env): New section.
18507 (save_env): New section.
18508
18509 (Reporting bugs): Fix typo.
18510
e1ad0edd
VS
185112011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18512
18513 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18514 the example.
18515
5d803174
VS
185162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18517
18518 * grub-core/term/at_keyboard.c (set_scancodes)
18519 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18520
2a2da1d0
CW
185212011-03-30 Colin Watson <cjwatson@ubuntu.com>
18522
18523 * docs/grub.texi (Menu-specific commands): Remove some semantics
18524 that were true in GRUB Legacy but not in GRUB 2.
18525 (submenu): New section.
18526 (false): New section.
18527 (read): New section.
18528 (true): New section.
18529
a7527639
CW
185302011-03-30 Colin Watson <cjwatson@ubuntu.com>
18531
18532 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18533
185342011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18535
18536 * docs/grub.texi (Simple configuration): Explain some of the
18537 current limitations of grub-mkconfig.
8a748df2 18538 Reported by: Leslie Rhorer.
e30af029 18539
fc858482
VS
185402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18541
18542 Old macs search for boot.efi rather than for bootia32.efi.
18543
18544 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18545 * util/grub-mkrescue.in: Likewise.
18546 Suggested by: Peter Jones.
18547
e1eb511d
VS
185482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18549
18550 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18551
70e75364
VS
185522011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18553
18554 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18555 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18556 (grub_lvm_mirror): New struct.
18557 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18558 (grub_lvm_iterate): Iterate only visible volumes.
18559 (grub_lvm_read): Factor out to ..
18560 (read_lv): ... this. Support mirrors.
18561 (grub_lvm_read): New wrapper function.
18562 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18563 stripped or mirrored.
18564
fc18f6a3
VS
185652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18566
18567 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18568
5c650f4c
CW
185692011-03-29 Colin Watson <cjwatson@ubuntu.com>
18570
18571 * docs/grub.texi (loopback): New section.
18572
61d7156b
CW
185732011-03-29 Colin Watson <cjwatson@ubuntu.com>
18574
18575 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18576 removed -p option.
18577
994b8264
CW
185782011-03-29 Colin Watson <cjwatson@ubuntu.com>
18579
18580 * docs/grub.texi (BIOS installation): New section, partly based on
18581 previous text in other sections.
18582 (Installing GRUB using grub-install): Replace BIOS discussion with a
18583 cross-reference.
18584 (Images): Likewise.
18585
9e4d19e0
VS
185862011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18587
18588 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18589 [HAVE_DIOCGDINFO]: Add safety checks.
18590
a307c0b2
VS
185912011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18592
18593 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18594 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18595
b4db4f39
CW
185962011-03-29 Colin Watson <cjwatson@ubuntu.com>
18597
18598 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18599 real_sb->size is zero (e.g. RAID-0), get the disk size from
18600 real_sb->data_size instead.
18601 Fixes Ubuntu bug #743136.
18602
35e5f84c
VS
186032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18604
18605 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18606 printf clauses for printing size and start.
18607
d2e29d81
VS
186082011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18609
18610 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18611 Reported and tested by: Timothy Nikkel.
18612
ed5587af
VS
186132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18614
18615 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18616 (dirty_region_add_real): ... this.
18617 (dirty_region_add): Don't discard margin refresh when performing
18618 scheduled repaint.
18619
a1dc717c
VS
186202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 * grub-core/lib/relocator.c (allocate_regstart)
18623 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18624 terminals are capabple of malloc-free operation.
18625 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18626 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18627
9f3677d3
VS
186282011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18629
18630 * util/grub-setup.c: Copy the partition table zone if floppy support
18631 is disabled, even if no partition table is found.
18632
18633 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18634 during POST if an invalid partition table is contained in the PBR
18635 of the active partition when GRUB is installed to a partition.
18636
24148725
CW
186372011-03-28 Colin Watson <cjwatson@debian.org>
18638
18639 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18640 comment.
18641
f329eda7
CW
186422011-03-28 Colin Watson <cjwatson@debian.org>
18643
18644 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18645 to be specific about what kind of RAID device we're scanning for.
18646
c482ad98
SG
186472011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18648
18649 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18650 return freed string.
18651
5ee04984
VS
186522011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18653
18654 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18655
f4727da9
VS
186562011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18657
18658 Use libgeom on FreeBSD to detect partitions.
18659
18660 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18661 (grub-mkrelpath): Likewise.
18662 (grub-script-check): Likewise.
18663 (grub-editenv): Likewise.
18664 (grub-mkpasswd-pbkdf2): Likewise.
18665 (grub-fstest): Likewise.
18666 (grub-mkfont): Likewise.
18667 (grub-mkdevicemap): Likewise.
18668 (grub-probe): Likewise.
18669 (grub-setup): Likewise.
18670 (grub-ofpathname): Likewise.
18671 (grub-mklayout): Likewise.
18672 (example_unit_test): Likewise.
18673 (grub-menulst2cfg): Likewise.
18674 * grub-core/Makefile.core.def (grub-emu): Likewise.
18675 (grub-emu-lite): Likewise.
18676 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18677 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18678 define HAVE_DIOCGDINFO.
18679 (follow_geom_up) [FreeBSD]: New function.
18680 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18681 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18682 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18683 unconditionally of HAVE_DIOCGDINFO.
18684
82fe6c75
VS
186852011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18686
18687 Fix FreeBSD compilation problem.
18688
18689 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18690 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18691
4c6c9431
CW
186922011-03-24 Colin Watson <cjwatson@ubuntu.com>
18693
18694 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18695 Switch back to page zero before loading a kernel, since some kernel
18696 drivers expect that.
18697 Thanks to: Felix Kuehling.
18698
c7064d94
VS
186992011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18700
18701 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18702 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18703 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18704
3f71cded
VS
187052011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18706
18707 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18708 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18709
ef6de21a
VS
187102011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18711
18712 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18713 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18714 malloc is disabled.
18715
8bc66a2c
VS
187162011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18717
18718 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18719 for modules headers when counting the needed allocation size.
18720
5657722c
VS
187212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18722
18723 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18724 if no ASCII character is found to prevent crash.
18725
41a85f55
AK
187262011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18727
18728 * grub-core/video/bitmap.c (match_extension): Ignore case.
18729
59e1e5f1
VS
187302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18731
18732 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18733
bd4d051a
VS
187342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18735
18736 * grub-core/script/parser.y: Declare "time" as valid argument.
18737
bae7fcc1
PJ
187382011-03-23 Peter Jones <pjones@redhat.com>
18739
18740 Fix incorrect assert failure reporting.
18741
18742 * grub-core/tests/example_functional_test.c (example_test): Add
18743 a failure comment.
18744 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18745 (failure_start): ...this. Check that malloc succeeded.
18746 Don't call xvasprintf. Return failure struct.
18747 (failure_append_vtext): New function.
18748 (failure_append_text): Likewise.
18749 (add_failure): Likewise.
18750 (grub_test_assert_helper): Likewise.
18751 * include/grub/test.h (grub_test_assert_helper): New declaration.
18752 (grub_test_assert): Macro rewritten.
18753
537dc9be
VS
187542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18755
18756 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18757
fa3e01bf
VS
187582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18759
18760 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18761
b1d28404
VS
187622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18763
18764 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18765 into GRUB-style one.
18766
2e3e2e09
VS
187672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18768
18769 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18770 error and not grub_errno.
18771 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18772
ed57e557
VS
187732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18774
18775 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18776 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18777
d1611f01
VS
187782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18779
18780 * grub-core/efiemu/i386/pc/cfgtables.c
18781 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18782 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18783 (grub_xnu_unlock): Likewise.
18784 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18785
7d4e39d6
VS
187862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18787
18788 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18789 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18790 * grub-core/commands/hashsum.c (aliases): Likewise.
18791 * grub-core/commands/setpci.c (pci_registers): Likewise.
18792 * grub-core/disk/usbms.c (attach_hook): Likewise.
18793 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18794 (zio_checksum_table): Likewise.
18795 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18796 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18797 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18798 * grub-core/lib/relocator.c (leftovers): Likewise.
18799 (extra_blocks): Likewise.
18800 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18801 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18802 (modules_last): Likewise.
18803 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18804 (devices): Likewise.
18805 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18806 (modules_last): Likewise.
18807 * grub-core/normal/auth.c (users): Likewise.
18808 * grub-core/normal/context.c (initial_menu): Likewise.
18809 (current_menu): Likewise.
18810 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18811 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18812 (grub_serial_terminfo_input_template): Likewise.
18813 (grub_serial_terminfo_output_template): Likewise.
18814 (grub_serial_terminfo_input): Likewise.
18815 (grub_serial_terminfo_output): Likewise.
18816 (registered): Likewise.
18817 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18818
40fc4659
VS
188192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18822 grub_video_mode_type_t.
18823 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18824 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18825 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18826
2da48d28
VS
188272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18828
18829 * util/grub-install.in: Correct the x86-64 name as x86_64.
18830
9b43bf39
CW
188312011-03-11 Colin Watson <cjwatson@ubuntu.com>
18832
18833 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18834 initial chunk read from the kernel always includes GRUB's multiboot
18835 header, which is now outside the first sector.
18836
be1a7ce0
CW
188372011-03-09 Colin Watson <cjwatson@ubuntu.com>
18838
18839 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
18840 cached mmap_size, so that this works correctly when called multiple
18841 times.
18842 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
18843
83a3c48d
CW
188442011-03-09 Colin Watson <cjwatson@ubuntu.com>
18845
18846 * docs/grub.texi (Simple configuration): Tidy up formatting.
18847
57d75699
SJ
188482011-03-07 Szymon Janc <szymon@janc.net.pl>
18849
18850 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
18851 Set-but-not-used variable removed.
18852
028501a0
VS
188532011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18854
18855 Workaround yet another IEEE1275 bug.
18856
18857 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
18858 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
18859 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
18860 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
18861 is set.
18862 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18863 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
18864
d998657d
VS
188652011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18866
18867 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
18868 error.
18869
fee7cdd4
CW
188702011-02-11 Colin Watson <cjwatson@ubuntu.com>
18871
18872 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
18873 empty, since in that case we can only generate either nothing or a
18874 syntactically invalid configuration file.
18875 Reported by: Michal Suchanek. Fixes Debian bug #612898.
18876
97286eb5
CW
188772011-02-09 Colin Watson <cjwatson@ubuntu.com>
18878
18879 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
18880 (Making a GRUB bootable CD-ROM): Likewise.
18881 (Invoking grub-mkrescue): New section.
18882 Reported by: Yann Dirson. Fixes Debian bug #612585.
18883
22b28eb3
CW
188842011-02-09 Colin Watson <cjwatson@ubuntu.com>
18885
18886 * util/grub-install.in: Remove unnecessary brackets from tr
18887 arguments.
18888 * util/grub.d/10_hurd.in: Likewise.
18889 * util/grub.d/10_kfreebsd.in: Likewise.
18890 * util/grub.d/10_linux.in: Likewise.
18891 * util/grub.d/20_linux_xen.in: Likewise.
18892 Reported by: Jamie Heilman. Fixes Debian bug #612564.
18893
7e735e43
CW
188942011-02-08 Colin Watson <cjwatson@ubuntu.com>
18895
18896 * include/grub/file.h (not_easly_seekable): Rename to ...
18897 (not_easily_seekable): ... this. Update all users.
18898
800f1881
CW
188992011-01-28 Colin Watson <cjwatson@ubuntu.com>
18900
18901 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
18902 grub-mkrescue.
18903
3281d3d6
VS
189042011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
18905
18906 * util/grub-mkimage.c (generate_image): Refuse to create the images
18907 bigger than the actual flash (512K) in Loongson machines. 512K is also
18908 the biggest chip supported by them.
18909
3533413c
VS
189102011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18911
18912 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
18913
73ae4f4f
VS
189142011-01-22 Anthony DeRobertis <anthony@derobert.net>
18915
18916 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
18917 super_offset field.
18918
37f4f608
VS
189192011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18920
18921 * util/grub-install.in: Ignore install device on platforms
18922 where it doesn't make sense. Always use UUIDs except on pc, efi and
18923 sparc64.
18924 Reported by: Daniel Kahn Gillmor.
18925
03a4ccb5
VS
189262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18927
18928 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
18929
ffc8f4d8
VS
189302011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
18933 (iterate_real): Don't rely on partition being non-NULL.
18934
80f23be7
VS
189352011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18936
18937 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
18938 supported platforms. Put a compile time assert for this rather than
18939 generate a warning with 32-bit shift.
18940
5d4f4dd5
VS
189412011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
18944 logical expression more readable.
18945
e489601a
VS
189462011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
18949 even if some elements have a name.
18950 Reported by: Alexander GQ Gerasiov.
18951
96e0a6ea
CW
189522011-01-22 Colin Watson <cjwatson@ubuntu.com>
18953
18954 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
18955 path unreadable if `grub-probe -t abstraction' fails, for example if
18956 memberlist fails on an LVM volume group.
18957 Reported by: Darius Jahandarie.
18958
81431e2b
CW
189592011-01-22 Colin Watson <cjwatson@ubuntu.com>
18960
18961 * docs/grub.texi (Simple configuration): Document
18962 GRUB_PRELOAD_MODULES.
18963
5e79d66a
CW
189642011-01-17 Colin Watson <cjwatson@ubuntu.com>
18965
18966 * .bzrignore: Remove nonexistent grub-pbkdf2.
18967
646ada34
VS
189682011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
18969
18970 * configure.ac: Bump version to 1.99~rc1.
18971
04360337
VS
189722011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18973
18974 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
18975 for safety.
18976
46c9db88
VS
189772011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18978
18979 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
18980 module.
18981
189822011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
18983
18984 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
18985
4fbf1852
VS
189862011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18987
18988 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
18989 diskdevid.
18990
f1632d4d
VS
189912011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18992
18993 Fix compilation on cygwin.
18994
18995 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
18996 -R .drectve on cygwin.
18997 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
18998 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
18999 (COND_CYGWIN): New condition.
19000 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19001 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19002 not @TARGET_OBJ2ELF@.
19003 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19004 type to determine whether aux is to be used.
19005
0b5e127b
VS
190062011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19007
19008 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19009 realpath'ed device string.
19010 Handle floppy (somewhat).
19011 Issue error in unknown case rather than garbage.
19012 Reported by: Axel Beckert.
19013
173b71e9
VS
190142011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 * util/grub.d/00_header.in (load_video): Handle the case when no video
19017 drivers available.
19018 Thanks to: Axel Beckert.
19019
f8f479db
VS
190202011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19021
19022 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19023 variable. Fixes problem on big endian platforms.
19024
8fc0a245
VS
190252011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19026
19027 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19028 It doesn't work well there.
19029
b8494fbe
VS
190302011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19031
19032 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19033 warning.
19034 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19035 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19036 counter.
19037
b44a558c
VS
190382011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19039
19040 Use alias->path rather than buggy "canon".
19041
19042 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19043 (ofdisk_hash_add): New argument curcan. All users updated.
19044
51fa856c
CW
190452011-01-11 Colin Watson <cjwatson@ubuntu.com>
19046
19047 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19048
9da068a5
VS
190492011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19052 loadmask before doing any calculations. Use correct type for offset.
19053 (grub_linux_load64): Likewise.
19054
86205c94
CW
190552011-01-11 Colin Watson <cjwatson@ubuntu.com>
19056
19057 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19058 with NULL.
19059 (console_grub_equivalences_unshift): Likewise.
19060 Reported by: Daniel Dehennin.
19061
4531a206
VS
190622011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19063
19064 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19065 (set_env_limn_ro): Likewise.
19066 (GRUB_MOD_INIT): Likewise.
19067 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19068 ARRAY_SIZE while on it.
19069 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19070 * grub-core/normal/context.c (grub_env_export): Move from here ...
19071 * grub-core/kern/env.c (grub_env_export): ... here.
19072 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19073 prefix.
19074 * grub-core/kern/main.c (grub_main): Export root and prefix.
19075 * include/grub/env.h (grub_env_export): Export.
19076 Reported by: Seth Goldberg.
19077
45146057
VS
190782011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19079
19080 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19081 Take into account space used by ELF sections and multiboot palette.
19082 Reported by: Grégoire Sutre.
19083
f093110b
VS
190842011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19085
19086 * BUGS: New file.
19087
3395fe52
VS
190882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19089
19090 Pass more appropriate video id to Linux.
19091
19092 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19093 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19094 fill have_vga.
19095 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19096 shift params->lfb_size.
19097 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19098
c2fa6cbb
VS
190992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19100
19101 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19102
b3ff6ff0
VS
191032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19104
19105 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19106 separator and pass bootpath/devid even if only one of them is available.
19107 Reported by: Seth Goldberg.
19108
ae67942e
VS
191092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19112 implementations bug on them.
19113
19114 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19115 memory.
19116 (filter_memory_map): Likewise.
19117
d570097a
VS
191182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19119
19120 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19121 Reported by: nebuchadnezzar.
19122
a508e776
VS
191232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19124
19125 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19126 Reported by: nebuchadnezzar.
19127
dcb883b1
VS
191282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19129
19130 Submenu default support.
19131
19132 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19133 auto_boot. All users updated.
19134 Declared static.
19135 Handle chosen and default with submenus.
19136 (grub_menu_execute_with_fallback): Declared static.
19137 Don't notify failure if autobooted. Upper level does it.
19138 (menuentry_eq): New function.
19139 (get_entry_number): Use menuentry_eq.
19140 (show_menu): New parameter "autobooted". All users updated.
19141 (grub_show_menu): Likewise.
19142 * include/grub/normal.h (grub_show_menu): Likewise.
19143 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19144 (grub_menu_execute_with_fallback): Likewise.
19145
6fef99b4
VS
191462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19147
19148 * util/grub-mklayout.c (usage): Update help text.
19149
47a77af5
VS
191502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19151
19152 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19153
ce6bb3ee
VS
191542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19155
19156 * util/grub-menulst2cfg.c (main): Trim the line.
19157
db87be2a
VS
191582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19159
19160 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19161 (grub_machine_init): Don't check amount of low memory as reportedly
19162 INT 12h can be broken and if low memory is too low we wouldn't have
19163 gotten into grub_machine_init anyway.
19164
c49849cc
VS
191652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19166
19167 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19168 (grub_machine_mmap_iterate): Take low memory into account
19169
b1969b30
VS
191702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19171
19172 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19173 badfs.
19174 Reported by: TiCPU.
19175
cf0eaf13
VS
191762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19177
19178 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19179 members errors.
19180
1f060f39
GS
191812011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19182
19183 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19184 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19185
a21e5672
GS
191862011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19187
19188 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19189 openbsd and netbsd types being in part_bsd module.
19190
c88172fa
VS
191912011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19192
19193 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19194 (_FILE_OFFSET_BITS): Likewise.
19195 Reported by: Seth Goldberg.
19196
53798c4b
GS
191972011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19198
19199 * configure.ac: Check for libdevmapper header.
19200
e7121b69
VS
192012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19202
19203 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19204 avoid aliasing.
19205 (fzap_lookup): Likewise.
19206 (dnode_get): Likewise.
19207 (make_mdn): Likewise.
19208 (zfs_mount): Likewise.
19209 (fzap_iterate): Use temporary pointer to avoid aliasing.
19210 (grub_zfs_read): Likewise.
19211 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19212 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19213 pointers to avoid aliasing.
19214 (grub_cmd_xnu_kernel64): Likewise.
19215 (grub_xnu_load_driver): Likewise.
19216
fc836af9
VS
192172011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19218
19219 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19220 aliasing warning.
19221 (grub_cmd_terminal_output): Likewise.
19222 Reported and tested by: Grégoire Sutre.
19223
f9f37648
VS
192242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19225
19226 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19227 warning.
19228 Reported and tested by: Grégoire Sutre.
19229
ec1dfd63
VS
192302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19231
19232 * configure.ac: Do CPU substitution even if it's specified explicitly.
19233 Reported and tested by: Alain Greppin.
19234
9462775a
VS
192352011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19236
19237 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19238 Reported and tested by: Alain Greppin.
19239
0fd48e35
VS
192402011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19241
19242 Satisfy some bison versions need for inttypes.h.
19243
19244 * grub-core/lib/posix_wrap/inttypes.h: New file.
19245 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19246 (int16_t): Likewise.
19247 (int32_t): Likewise.
19248 (int64_t): Likewise.
19249 Reported and tested by: Alain Greppin.
19250
43f1bc83
VS
192512011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19254 Silence spurious warning.
19255 Reported and tested by: Alain Greppin.
19256
64d1f041
SJ
192572011-01-07 Szymon Janc <szymon@janc.net.pl>
19258
19259 * docs/grub.texi (Support automatic decompression): Update with xz
19260 decompression support.
19261
25953e10
SJ
192622011-01-07 Szymon Janc <szymon@janc.net.pl>
19263
19264 Improve loaders' kernel command line handling.
19265
19266 * grub-core/lib/cmdline.c: New file.
19267 * include/grub/lib/cmdline.h: Likewise.
19268 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19269 grub_create_loader_cmdline to create kernel command line.
19270 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19271 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19272 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19273 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19274 (linux): Add lib/cmdline.c on common.
19275
e72d259f
VS
192762011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19277
19278 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19279 inopos might be unaligned.
19280
c0cf26da
VS
192812011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19282
19283 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19284 endian transformations.
19285 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19286 Based on report by: Doug Nazar.
19287
0ca09e6c
DN
192882011-01-07 Doug Nazar <nazard.michi@gmail.com>
19289
19290 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19291 array->members[i].start_sector.
19292 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19293
014b6806
VS
192942011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19295
19296 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19297 Reported and tested by: Grégoire Sutre.
19298
415502c2
CW
192992011-01-06 Colin Watson <cjwatson@ubuntu.com>
19300
19301 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19302 avoid causing test failures by clearing the screen.
19303
71b6a2b7
CW
193042011-01-06 Colin Watson <cjwatson@ubuntu.com>
19305
19306 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19307 Fix prefix check to handle the case where dir ends with a slash
19308 (most significantly, "/" itself).
19309 Reported by: Michael Vogt.
19310
b3f8d28a
VS
193112011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19312
19313 Run terminfo_cls on initing terminfo output to clear the screen and
19314 move the cursor to (0,0).
19315
19316 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19317 Call grub_terminfo_output_init.
19318 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19319 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19320 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19321
4c3e4f37
VS
193222011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19323
19324 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19325 only when needed.
19326
488f71f1
VS
193272011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19328
19329 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19330 CTRL.
19331
18a38098
VS
193322011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19333
19334 The E820 type 5 is BADRAM, not EXEC_CODE.
19335
19336 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19337 (GRUB_E820_BADRAM): New define.
19338 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19339 into reserved. Propagate BADRAM.
19340 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19341 (GRUB_E820_BADRAM): New define.
19342
9eae2084
VS
193432011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19346 Ignore the memory post-4G.
19347 (grub_relocator_firmware_alloc_region): Additional debug statement.
19348
ebc71d28
VS
193492011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19350
19351 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19352 names.
19353 Reported by: David Pravec.
19354
446fa400
VS
193552011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19356
19357 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19358 BIOSes.
19359
a0159f37
VS
193602011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19363 Prevent overflow.
19364 (grub_reed_solomon_recover): Likewise.
19365
e5146ca1
VS
193662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19367
19368 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19369
193702011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19371
19372 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19373 variable.
19374
5b1bdf12
CW
193752011-01-04 Colin Watson <cjwatson@ubuntu.com>
19376
19377 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19378 descriptions of extract_legacy_entries_source and
19379 extract_legacy_entries_configfile.
19380 Reported by: Seung Soo, Ha.
19381
99d925aa
CW
193822011-01-03 Colin Watson <cjwatson@ubuntu.com>
19383
19384 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19385 on devices that do not implement function 0.
19386
4af0504b
DV
193872011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19388
19389 * grub-core/fs/hfsplus.c: Make parent unsigned.
19390 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19391 overflows.
19392 (grub_hfsplus_cmp_extkey): Likewise
19393
469ee10a
VS
193942011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19395
19396 * util/grub-install.in: Correctly use bootloader_id and not
19397 GRUB_DISTRIBUTOR on efibootmgr line.
19398
323a8e9c
VS
193992011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19400
19401 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19402
1b394975
IC
194032010-12-31 Ian Campbell <ijc@hellion.org.uk>
19404
19405 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19406 Xen and reorder menu item wording to make it clearer that this entry
19407 will launch Xen. Print separate messages when loading Xen and
19408 Linux.
19409
275bff5f
VS
194102010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19411
19412 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19413 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19414 loop in case of incorrect amiga partmap.
19415
307806cb
VS
194162010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19417
19418 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19419 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19420 Reported by:EHeM.
19421
b12b923e
VS
194222010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19423
19424 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19425 spurious warning.
19426 Reported by: crocket
19427
14b48a19
VS
194282010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19429
19430 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19431 Preload EFIemu.
19432 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19433
693db2df
VS
194342010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19435
19436 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19437 is loaded
19438 (grub_cmd_xnu_kextdir): Likewise.
19439 (grub_cmd_xnu_splash): Likewise.
19440
c7638645
VS
194412010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19442
19443 Avoid using Reed-Solomon with 0 redundancy.
19444
19445 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19446 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19447 or 0 redundancy.
19448 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19449 (grub_reed_solomon_recover): Likewise.
19450
25dd4780
VS
194512010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19452
19453 Don't use disk subsystem in freebsd_boot.
19454
19455 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19456 (freebsd_biosdev): Likewise.
19457 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19458 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19459
0b2db943
VS
194602010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19461
19462 Handling of files of unknown size is currently limited. They can't be
19463 used e.g. for initrd or modules. Moreover gzip handling of not
19464 easily seekable files is buggy. Disable unknown file size for now. May
19465 be inefficient but works.
19466
19467 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19468 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19469
5c408d0f
MP
194702010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19471
19472 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19473 floppy probe.
19474
190a011a
JD
194752010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19476
19477 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19478
022d01b8
SL
194792010-12-25 Shea Levy <shlevy>
19480
19481 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19482
c4855fdc
VS
194832010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19486 Windows Server 2008.
19487 Reported by: Devin Giddings.
19488
0354b867
VS
194892010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19490
19491 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19492 writing an error message because of async power management.
19493 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19494 (grub_reboot): Likewise.
19495
ab66c69f
JU
194962010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19497
19498 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19499 keep unit tests from failing when they shouldn't.
19500
1426ef35
CW
195012010-12-21 Colin Watson <cjwatson@ubuntu.com>
19502
19503 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19504 previous patch increased the size of the RS code by 20 bytes (at
19505 least with gcc-4.4), so increase this by 20 bytes to match.
19506 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19507
20641b6b
CW
195082010-12-21 Colin Watson <cjwatson@ubuntu.com>
19509
19510 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19511 scratch area. Make sure to initialise chosen in standalone mode as
19512 well as non-standalone.
19513 Reported by: Robert Hooker and Andy Whitcroft.
19514 Tested by: Andy Whitcroft.
19515
d060ad60
CW
195162010-12-21 Colin Watson <cjwatson@ubuntu.com>
19517
19518 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19519 constructing a new unescaped string and passing it to grub_xputs in
19520 one go, rather than passing characters to grub_printf one at a time.
19521
b889cfad
CW
195222010-12-21 Colin Watson <cjwatson@ubuntu.com>
19523
19524 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19525 initialising utf16.
19526
4e01b6c8
CW
195272010-12-21 Colin Watson <cjwatson@ubuntu.com>
19528
19529 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19530 comment. Add an extra layer of quotation, requiring the output of
19531 this function to be used in a printf format string.
19532 (gettext_printf): New function.
19533 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19534 Extract translatable strings from here-documents and use a temporary
19535 variable instead, so that xgettext can find them.
19536 * util/grub.d/10_kfreebsd.in: Likewise.
19537 * util/grub.d/10_linux.in: Likewise.
19538 * util/grub.d/20_linux_xen.in: Likewise.
19539
19540 * po/grub.d.sed: New file.
19541 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19542 arguments. Set c-format flags on all strings extracted from
19543 util/grub.d/ (xgettext refuses to include these itself for strings
19544 it extracted from a shell file, but these really are c-format).
19545
5318fe98
VS
195462010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19547
19548 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19549 Avoid next pointing to nowhere.
19550
6c85b743
VS
195512010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19552
19553 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19554 rather than assuming than rootblock is exactly in the middle.
19555 (grub_affs_label): Likewise.
19556
a2a08a35
VS
195572010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19558
19559 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19560 reserved_first_sector to 0.
19561 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19562 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19563 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19564
7059d1ec
VS
195652010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19566
19567 Fix handling of UTF-16 UDF labels.
19568
19569 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19570 (read_string): .. here.
19571 (grub_udf_label): Use read_string.
19572
30aff4cb
BC
195732010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19574
19575 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19576 editor under argument scope.
19577 Reported by: Jordan Uggla
19578
5cf86f4b
VS
195792010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19580
19581 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19582
32570200
CW
195832010-12-18 Colin Watson <cjwatson@ubuntu.com>
19584
19585 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19586 line, and other keys scroll an entire page (previous handling was
19587 for \r and \n to scroll a page and other keys to scroll two lines).
19588
e1dffcf2
VS
195892010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19590
19591 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19592 Set ptrdest to correct get_physical_target_address rather than
19593 incorrect get_virtual_current_address.
19594
b04298cf 195952010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19596
19597 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19598 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19599
5367ecd3
CW
196002010-12-10 Colin Watson <cjwatson@ubuntu.com>
19601
19602 * .bzrignore: Ignore grub-core/rs_decoder.S.
19603
1fb430f8
CW
196042010-12-10 Colin Watson <cjwatson@ubuntu.com>
19605
19606 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19607 .mo/.mo.gz opening sequence to ...
19608 (grub_mofile_open_lang): ... here.
19609 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19610 * util/grub.d/00_header.in (grub_lang): Include country part of
19611 locale.
19612 Reported by: Mario Limonciello.
19613
a94a6671
RM
196142010-12-09 Robert Millan <rmh@gnu.org>
19615
19616 * NEWS: Document addition of ZFS support.
19617
24b7938b
CW
196182010-12-04 Colin Watson <cjwatson@ubuntu.com>
19619
19620 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19621 rather than `/ 2', as the latter requires -Wa,--divide which would
19622 require bumping our minimum binutils version.
19623
bddc3ef6
BC
196242010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19625
19626 * util/grub-script-check.c (main): Print script line number on
19627 error.
19628
bf78d5b2
RM
196292010-12-01 Robert Millan <rmh@gnu.org>
19630
19631 * grub-core/fs/zfs/zfs.c: New file.
19632 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19633 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19634 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19635 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19636
19637 * include/grub/zfs/dmu.h: Likewise.
19638 * include/grub/zfs/dmu_objset.h: Likewise.
19639 * include/grub/zfs/dnode.h: Likewise.
19640 * include/grub/zfs/dsl_dataset.h: Likewise.
19641 * include/grub/zfs/dsl_dir.h: Likewise.
19642 * include/grub/zfs/sa_impl.h: Likewise.
19643 * include/grub/zfs/spa.h: Likewise.
19644 * include/grub/zfs/uberblock_impl.h: Likewise.
19645 * include/grub/zfs/vdev_impl.h: Likewise.
19646 * include/grub/zfs/zap_impl.h: Likewise.
19647 * include/grub/zfs/zap_leaf.h: Likewise.
19648 * include/grub/zfs/zfs.h: Likewise.
19649 * include/grub/zfs/zfs_acl.h: Likewise.
19650 * include/grub/zfs/zfs_znode.h: Likewise.
19651 * include/grub/zfs/zil.h: Likewise.
19652 * include/grub/zfs/zio.h: Likewise.
19653 * include/grub/zfs/zio_checksum.h: Likewise.
19654
19655 * Makefile.util.def: Build ZFS into libgrubmods.
19656 * grub-core/Makefile.core.def: Build zfs.mod.
19657
3f0f3831
SJ
196582010-11-30 Szymon Janc <szymon@janc.net.pl>
19659
19660 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19661 variable.
19662 * grub-core/commands/wildcard.c (match_files): Likewise.
19663
3a4253b2
RM
196642010-11-30 Robert Millan <rmh@gnu.org>
19665
19666 * grub-core/loader/i386/bsd.c
19667 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19668 whether kernel is loaded using grub_loader_is_loaded(), rather
19669 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19670 certain error conditions.
19671
8c317b27
RM
196722010-11-30 Robert Millan <rmh@gnu.org>
19673
c5c9cd3e
RM
19674 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19675 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19676
49d3ab46
VS
196772010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19678
19679 Avoid using tricks for initialising endian variables.
19680
19681 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19682 Make const.
19683 (GRUB_MOD_INIT): Don't byte-swap.
19684 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19685 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19686 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19687 (grub_swap_bytes32_compile_time): Likewise.
19688 (grub_cpu_to_le32_compile_time): Likewise.
19689 (grub_cpu_to_le16_compile_time): Likewise.
19690
f420a804
VS
196912010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19692
19693 * util/grub-setup.c (setup): Stop recommending --force. People who
19694 understand the dangers of blocklists are able to find this option
19695 anyway and the ones who don't shouldn't use it anyway.
19696
4e7db17b
RM
196972010-11-26 Robert Millan <rmh@gnu.org>
19698
19699 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19700 Update all users.
19701
9be57a0d
CW
197022010-11-26 Colin Watson <cjwatson@ubuntu.com>
19703
19704 Fix LVM-on-RAID probing.
19705
19706 * util/grub-probe.c (probe): Remember which disk was detected as
19707 RAID (perhaps an LVM physical volume). Use that disk's raidname
19708 rather than that of the top-level disk.
19709
2c7859b3 197102010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 19711
d7647bb6
BC
19712 Fix cmdline argument quotes for setparams command of menuentry
19713 definitions.
7e623b0d
BC
19714
19715 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19716 quotes for arguments.
f866fe80 19717 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 19718 grub_strchrsub function instead.
f866fe80 19719
7955bea0 19720 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 19721
74f72a64
CW
197222010-11-24 Colin Watson <cjwatson@ubuntu.com>
19723
19724 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19725 effort by skipping "." and ".." entries up-front.
19726 Suggested by: Michael Lazarev.
19727
5a407278
CW
197282010-11-24 Colin Watson <cjwatson@ubuntu.com>
19729
19730 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19731 ldflags to ldadd, to fix link line ordering.
19732 (none_decompress): Likewise.
19733
3030d8ec
CW
197342010-11-24 Colin Watson <cjwatson@ubuntu.com>
19735
19736 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19737 platforms.
19738 (grub-emu-lite): Remove kern/emu/cache.S.
19739
b7fbac12
CW
197402010-11-23 Colin Watson <cjwatson@ubuntu.com>
19741
19742 * util/deviceiter.c (compare_devices): If the by-id link for a
19743 device couldn't be resolved, fall back to sorting by the by-id link
19744 rather than segfaulting.
19745 Reported and tested by: Daniel Mierswa.
19746
5225f328
CW
197472010-11-23 Colin Watson <cjwatson@ubuntu.com>
19748
19749 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19750 ldflags, to fix link line ordering.
19751
038b3ce8
CW
197522010-11-23 Colin Watson <cjwatson@ubuntu.com>
19753
19754 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19755 linkers are picky about this.
19756
bf16e98e
CW
197572010-11-23 Colin Watson <cjwatson@ubuntu.com>
19758
19759 * grub-core/Makefile.am (command.lst): Adjust sed expression
19760 ordering so that extended and priority commands aren't treated as
19761 ordinary commands.
19762
7242bab6
CW
197632010-11-23 Colin Watson <cjwatson@ubuntu.com>
19764
19765 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19766 Remove byte-swapping function calls, which are not valid in
19767 structure initialisers.
19768 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19769 non-const.
19770 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19771 grub_gpt_partition_type_bios_boot.
19772
14e8b279
CW
197732010-11-22 Colin Watson <cjwatson@ubuntu.com>
19774
19775 Fix test program build on GNU/kFreeBSD.
19776
19777 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19778 $(LIBNVPAIR)' library dependencies.
19779
e6f63338 197802010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
19781
19782 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19783
cf8ffc38
CW
197842010-11-22 Colin Watson <cjwatson@ubuntu.com>
19785
19786 * util/grub-install.in: Remove excessive quoting that broke
19787 installations to RAID devices.
19788
7f8b0fd7
VS
197892010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19790
19791 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19792 bootloader version instead of 0.
19793
dfd240b1
VS
197942010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19795
19796 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19797 warning.
19798
7b61e609
VS
197992010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19800
19801 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19802 retrieve the metadat sector if size isn't known.
19803 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19804
9dfe92d0
RM
198052010-11-18 Robert Millan <rmh@gnu.org>
19806
19807 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19808 with grub_memcmp().
19809
41cc919e
VS
198102010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19811
19812 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19813 arrow.
19814 Reported by: Jordan Uggla.
19815
1afcc914
VS
198162010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 Make better UTF compliant.
19819
19820 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19821 sequences as incorrect.
19822 (grub_is_valid_utf8): Likewise.
19823 (grub_utf8_to_ucs4): Likewise.
19824 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19825 (grub_ucs4_to_utf8_alloc): Likewise.
19826 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19827
f1808884
VS
198282010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19829
19830 Make legacy_source behave like source.
19831
19832 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19833 grub_show_menu.
19834 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19835
24ec575b
CW
198362010-11-16 Colin Watson <cjwatson@debian.org>
19837
19838 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
19839 (-Wunused implies -Wunused-parameter, but not vice versa).
19840
72b7c7aa
CW
198412010-11-16 Colin Watson <cjwatson@ubuntu.com>
19842
19843 * configure.ac: Make error messages less confusing by testing for
19844 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
19845 accepted, but produces a diagnostic if something else is wrong).
19846
e98937aa
VS
198472010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19848
19849 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
19850 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
19851 (now unused).
19852 (grub_keyboard_controller_init)
19853 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
19854 read the initial state since controller isn't inited yet.
19855
f6bbabc3
VS
198562010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
19859 allocate_regbeg may need to create new chunk header.
19860
22e7dbb2
VS
198612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19862
19863 Fix quoting in legacy parser.
19864
19865 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
19866 single quotes.
19867 (grub_legacy_parse): Likewise.
19868 Reported by: Jordan Uggla.
19869 Tested by: Jordan Uggla.
19870
03f80960
VS
198712010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19872
19873 Don't add -lgcc on i386 and x86_64.
19874
19875 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
19876 * conf/Makefile.common (LDADD_KERNEL): Likewise.
19877 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
19878
779dc15b
VS
198792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19880
19881 * configure.ac: Add -Wno-trampolines when supported.
19882
d20a3b37
MV
198832010-11-14 Modestas Vainius <modax@debian.org>
19884
19885 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
19886 fakeraid.
19887
e5360933
GC
198882010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19889
19890 Add generic logical block size support for UDF.
19891
19892 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
19893 (GRUB_UDF_BLKSZ): Removed.
19894 (struct grub_udf_data): New field "lbshift" to hold the logical block
19895 size of the file system in log2 format. All users updated.
19896 (sblocklist): Change type to unsigned.
19897 (grub_udf_mount): Change type of "sblklist" to unsigned.
19898 Move AVDP search before VRS recognition, because the latter requires
19899 knowledge of the logical block size, which is detected during the
19900 former.
19901 Detect and validate logical block size during AVDP search, adding
19902 support for block sizes 512, 1024 and 4096.
19903 Make VRS recognition independent of block size.
19904
cb0229c5
GC
199052010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19906
19907 Properly handle deleted files on UDF.
19908
19909 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
19910 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
19911 set.
19912
406858a8
GC
199132010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19914
19915 Support reading files larger than 2 GiB.
19916
19917 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
19918 "offset" to grub_off_t.
19919 (grub_udf_read_file): Likewise for parameter "pos".
19920
130da6a7
VS
199212010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19922
19923 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
19924 unavailable.
19925 (Simple configuration): Refer to Changes from GRUB Legacy about
19926 save_env availability.
19927
65e93f6b
VS
199282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 * util/grub-install.in: Ignore empty partition table detection
19931 instead of trying to include part_ module.
19932
1fd08bf1
VS
199332010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
19936 LVM on RAID support.
19937
de1a024f
VS
199382010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19939
19940 Properly define WORDS_BIGENDIAN in wrapped environments.
19941
19942 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
19943 definition.
19944 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
19945
19946 Reported by: Manoel Rebelo Abranches.
19947 Tested by: Manoel Rebelo Abranches.
19948
bc5dd0b9
VS
199492010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19950
19951 * util/grub-mkconfig.in: Fix quoting.
19952
58c184be
VS
199532010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19954
19955 Support big ext2 files.
19956
19957 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
19958 (grub_ext2_read_block): Support triple indirect blocks.
19959 (grub_ext2_read_file): Use 64-bit types and read size_high.
19960 (grub_ext2_open): Read size_high.
19961 Reported by: Ximin Luo.
19962 Tested by: Manoel Rebelo Abranches.
19963
5f0c02b3
VS
199642010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19965
19966 * util/grub-install.in: Handle filenames containing spaces.
19967 Reported by: Jordan Uggla.
19968 Tested by: Jordan Uggla.
19969
4417aae6
VS
199702010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19971
19972 * util/grub-mkconfig.in (grub_script_check): New variable.
19973 Use grub_script_check instead of grub-script-check.
19974 Reported by: Barry Jackson.
19975
7625a68e
VS
199762010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19977
19978 * docs/grub.texi (menu): Correct the order.
19979 Reported by: D. Hugh Redelmeier.
19980
10001ac5
VS
199812010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
19982
19983 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
19984 jump.
19985
9c4cf53b
MRA
199862010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19987
10001ac5
VS
19988 * include/grub/elfload.h (grub_elf32_size): New parameter.
19989 All users updated.
9c4cf53b
MRA
19990 Return maximum segments alignment.
19991 (grub_elf64_size): Likewise.
19992 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
19993 Return maximum segments alignment.
19994 (grub_elf64_size): Likewise.
19995 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
19996 (grub_linux_claimmap_iterate): New function. Uses the
19997 "available" property in the "memory" node for memory allocation
19998 for kernel in the PowerPC loader.
9c4cf53b
MRA
19999 (grub_linux_load32): Correctly find linux entry point offset.
20000 (grub_linux_load64): Likewise.
20001
d2bf06bf
RM
200022010-11-07 Robert Millan <rmh@gnu.org>
20003
20004 On mips-yeeloong, build with -march=loongson2f when this flag is
20005 available (GCC >= 4.4).
20006 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20007 `-march=mips3'.
20008 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20009 or otherwise add -march=mips3.
20010
898c99a2
BC
200112010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20012
87220a68
BC
20013 Suppress shell expansion on echo '*' and echo "*" like cases.
20014 Reported by: Jordan Uggla.
898c99a2
BC
20015
20016 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20017 string arguments before shell expansion.
20018 * tests/grub_cmd_echo.in: New testcases.
20019
4f9b406a
RM
200202010-11-07 Robert Millan <rmh@gnu.org>
20021
20022 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20023 transition.
20024
80c6d25e
VS
200252010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * grub-core/kern/emu/hostdisk.c
20028 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20029
4a1a0153
VS
200302010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20031
20032 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20033 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20034 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20035
34706ddc
VS
200362010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20037
20038 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20039
6972dea9
VS
200402010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20041
20042 * util/grub-install.in: Replace useless recomendation to pass
20043 --modules with a recomendation to report a bug.
20044
9c693bd6
VS
200452010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20046
20047 Properly register serial terminfo.
20048 Reported by: Jordan Uggla
20049
20050 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20051 const.
20052 (grub_serial_terminfo_output_template): Likewise.
20053 (grub_cmd_serial): Register "serial" with terminfo.
20054 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20055 grub_serial_terminfo_output.
20056
6c9e4c0c
RM
200572010-11-05 Robert Millan <rmh@gnu.org>
20058
20059 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20060 needed).
20061
b9b3839f
RM
200622010-11-05 Robert Millan <rmh@gnu.org>
20063
20064 On Yeeloong, pass machine type information to Linux.
20065
20066 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20067 (LOONGSON_MACHTYPE): New macro, set to
20068 "machtype=lemote-yeeloong-2f-8.9inches".
20069 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20070 additional argument to Linux.
20071
1a3aaff4
RM
200722010-11-04 Robert Millan <rmh@gnu.org>
20073
20074 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20075 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20076 (its SATA disks are detected as slaveless IDE master drives on
20077 kFreeBSD).
20078 Reported by Carsten Aulbert.
20079
a75f4f62
CW
200802010-11-02 Colin Watson <cjwatson@ubuntu.com>
20081
20082 * util/bin2h.c (main): Fix spelling error in generated output.
20083
33b4b0c6
GS
200842010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20085
20086 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20087
2b36fbf4
VS
200882010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20089
20090 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20091 vga= option is supplied.
20092
74aaf558
VS
200932010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20094
20095 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20096 * util/grub.d/10_kfreebsd.in: Likewise.
20097 * util/grub.d/10_linux.in: Likewise.
20098 * util/grub.d/20_linux_xen.in: Likewise.
20099
6428dec3
VS
201002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20101
20102 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20103 argument as an argument to no-argument option.
20104
f8729d98
VS
201052010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20106
20107 * util/grub.d/10_linux.in: Add missing load_video with explicit
20108 GRUB_GFXPAYLOAD_LINUX.
20109
89d68fa6
VS
201102010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20111
20112 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20113
3a1197cd
VS
201142010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20115
20116 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20117 elements with invlid index.
20118 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20119 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20120 members.
20121 * include/grub/raid.h (grub_raid_member): New struct.
20122 (grub_raid_array): Transform devices and start_sector into usage of
20123 grub_raid_member. All users updated
20124 (allocated_devs): New member.
20125
71574288
VS
201262010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20127
20128 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20129 is modified
20130
8d40ec65
BC
201312010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20132
20133 NetBSD build fix for getline function conflict from gnulib.
20134
20135 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20136 components that depend on gnulib headers.
20137 (libgrubmods.a): Renamed from earlier libgrub.a.
20138 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20139
95b9257e
VS
201402010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20141
20142 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20143 install rather than creating a broken install.
20144
26c53dc6
VS
201452010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20146
20147 * util/grub-setup.c (argp): Remove misleading example of installing to
20148 a partition.
20149
4171b3c5
VS
201502010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20151
20152 * util/grub-setup.c (setup): Clarify the error message.
20153
18568d18
VS
201542010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20155
20156 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20157
4f6a2e21
VS
201582010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20159
20160 * grub-core/kern/emu/misc.c
20161 (grub_make_system_path_relative_to_its_root)
20162 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20163
201642010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20165
20166 * grub-core/kern/emu/misc.c
20167 (grub_make_system_path_relative_to_its_root): Revert r2882.
20168
e138c458
VS
201692010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20170
20171 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20172 useless field head. All users updated.
20173 (free_subchunk): Correct handling of IN_REGION subchunk.
20174
0cbcdf0e
CW
201752010-10-22 Colin Watson <cjwatson@ubuntu.com>
20176
20177 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20178 (Supported kernels): Likewise.
20179
b65ea155
GS
201802010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20181
20182 Make mktemp invocations portable.
20183
20184 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20185 exit if mktemp fails.
20186 * tests/grub_script_blockarg.in: Likewise.
20187 * tests/partmap_test.in: Likewise.
20188 * tests/util/grub-shell-tester.in: Likewise.
20189 * tests/util/grub-shell.in: Likewise.
20190 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20191 * Makefile.am: Likewise, and chain shell commands with `&&'
20192 instead of ';'.
20193 * util/grub-mkrescue.in: Use the same explicit template as above, and
20194 exit if mktemp fails.
20195
05f43cdd
BC
201962010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20197
20198 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20199 Linux kernel, reported by Dennis Schridde.
20200
800e6a9b
SJ
202012010-10-17 Szymon Janc <szymon@janc.net.pl>
20202
20203 * grub-core/normal/auth.c (grub_auth_check_authentication):
20204 Set-but-not-used variable removed.
20205
d82df574
VS
202062010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20207
20208 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20209 32-bit linux protocol.
20210
7bced458
VS
202112010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20212
20213 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20214 cursor shape for sanity.
20215
5b027690
VS
202162010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20217
20218 * docs/grub.texi (Installation): Document buggy BIOS install.
20219
ba5f65cf
VS
202202010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20221
20222 * docs/grub.texi (Installation): Indent.
20223
fdf2ec9c
VS
202242010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20225
20226 * util/grub-setup.c (setup): New parameter allow_floppy.
20227 (arguments): New member allow_floppy.
20228 (argp_parser): Handle --allow-floppy.
20229 (main): Pass allow_floppy.
20230 * util/grub-install.in: New option --allow-floppy passed though to
20231 grub-setup.
20232
861dfd4c
VS
202332010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20234
20235 * util/grub-install.in: Handle partitionless disks.
20236
f77a8c24
VS
202372010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20238
20239 * util/grub-setup.c (setup): Don't clean blocklists before readability
20240 verfification.
20241
27d9ee32
VS
202422010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20243
20244 * docs/grub.texi (Installation): Document embedding zone. Remove
20245 obsolete grub-install example.
20246
6bdda8f8
SJ
202472010-10-16 Szymon Janc <szymon@janc.net.pl>
20248
20249 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20250 Set-but-not-used variable ifdef'ed.
20251 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20252 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20253 variable removed.
20254 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20255 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20256 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20257 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20258 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20259 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20260 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20261 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20262 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20263 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20264 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20265 Likewise.
20266
e19b016b
VS
202672010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20268
20269 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20270 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20271 enum value.
20272
6c8d3002
VS
202732010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20276 synonym to _S5_. Needed for some DSDTs.
20277
c32b51c9
VS
202782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 Userspace ACPI parser debugging.
20281
20282 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20283 headers and add relevant defines. Don't include standard headers.
20284 (main) [GRUB_DSDT_TEST]: New function.
20285 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20286 Don't declare functions.
20287
fbfbeb39
VS
202882010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20289
20290 Remove dead grub_efi_mm_fini.
20291
20292 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20293 (ALLOCATED_PAGES_SIZE): Likewise.
20294 (MAX_ALLOCATED_PAGES): Likewise.
20295 (allocated_pages): Likewise.
20296 (grub_efi_allocate_pages): Don't record allocated pages.
20297 (grub_efi_free_pages): Likewise.
20298 (grub_efi_mm_init): Likewise.
20299 (grub_efi_mm_fini): Removed.
20300
65f7ed7c
VS
203012010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20302
20303 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20304 (grub_efi_mm_init): Take into account the memory map size increase.
20305
24977b44
VS
203062010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20307
20308 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20309 (serial_hw_put): Wait based on real time rather than port reads. Don't
20310 roken ports.
20311 * include/grub/serial.h (grub_serial_port): New field broken.
20312
1eb01cd2
RM
203132010-10-16 Robert Millan <rmh@gnu.org>
20314
20315 * grub-core/kern/emu/misc.c
20316 (grub_make_system_path_relative_to_its_root): Fix premature return
20317 when processing non-root ZFS filesystems.
5f8b440b 20318 Reported by Sergio Talens-Oliag.
1eb01cd2 20319
2d5fed60
RM
203202010-10-15 Robert Millan <rmh@gnu.org>
20321
20322 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20323 guarantee compressed ones are processed first.
20324
d0f4c1ea
VS
203252010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20326
20327 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20328 grub_efiemu_autocore.
20329
d87c681f
VS
203302010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20331
20332 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20333 rather than 0x1b.
20334 (grub_console_getkey): Use correct jae opcode rather than ja.
20335
219b3564
RM
203362010-10-12 Robert Millan <rmh@gnu.org>
20337
20338 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20339 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20340 variable. All references updated.
20341
20342 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20343
20c6bb7e
VS
203442010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20345
20346 Correctly distinguish mdraid flavours.
20347
20348 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20349 (insert_array): New argument raid.
20350 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20351 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20352 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20353
74baff84
VS
203542010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20355
20356 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20357 handling of special keys.
20358
3ef068df 203592010-10-02 Aleš Nesrsta <starous@volny.cz>
20360
c7980ad9
VS
20361 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20362 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20363
a9455194 203642010-10-02 Aleš Nesrsta <starous@volny.cz>
20365
c7980ad9
VS
20366 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20367 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20368 users updated.
a9455194 20369 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20370 Use right endpoint when querying descriptor.
a9455194 20371
441cfe65
VS
203722010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20373
20374 Clear out 0x80 color bit on EFI.
20375 Tested by: decoder
20376 Reported by: decoder and meta tech.
20377
20378 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20379 (grub_console_setcolorstate): Clear out 0x80 bit.
20380 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20381 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20382 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20383
bf26bcc4
VS
203842010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20385
20386 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20387 Set to "auto".
20388
6e3c515d
VS
203892010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20390
20391 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20392 mo_file after freeing.
20393
e6d983ba
VS
203942010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20395
20396 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20397
74ccb5b5
VS
203982010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20399
20400 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20401 flags.
20402
17821956
VS
204032010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20404
20405 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20406 usage.
20407
ee74fa48
VS
204082010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20409
20410 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20411
20412 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20413 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20414 and terminfo.h when needed.
20415 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20416 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20417 (terminfo): Enable only on terminfokernel.
20418 (extcmd): Likewise.
20419 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20420 * include/grub/lib/arg.h: Likewise.
20421 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20422 incorrect usage of ->.
20423
aa438e68
VS
204242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20425
20426 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20427 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20428
57994012
VS
204292010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20430
20431 Fix coreboot compilation.
20432
20433 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20434 Take VBE info into account even if only text is supported.
20435 (fill_vbe_info): Take into account the case when only VGA text
20436 is supported.
20437 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20438 on coreboot, multiboot and qemu.
20439
2a406611
VS
204402010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20441
20442 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20443 debug messages.
20444 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20445
d33613fc
VS
204462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20447
20448 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20449 parameters.
20450
44a1b432
VS
204512010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20452
20453 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20454 if they were BSD-style.
20455
edde54e6
VS
204562010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 * grub-core/boot/i386/pc/lnxboot.S: Replace
20459 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20460 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20461
b65830fa
VS
204622010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20463
20464 Write embedding zone using Reed-Solomon.
20465
20466 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20467 * grub-core/Makefile.am (rs_decoder.S): New target.
20468 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20469 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20470 (multiboot): Move to RS part.
20471 (post_reed_solomon): New label.
20472 (grub_boot_drive): Move to non-RS part since it's modified in memory
20473 on boot.
20474 Include rs_decoder.S.
20475 * grub-core/lib/reed_solomon.c: New file.
20476 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20477 New definition.
20478 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20479 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20480 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20481 * include/grub/partition.h (grub_partition_map): Change prototype of
20482 embed to allow returning additional sectors.
20483 * include/grub/reed_solomon.h: New file.
20484 * util/grub-setup.c (setup): Handle Reed-Solomon.
20485
0b4b227f
CW
204862010-09-28 Colin Watson <cjwatson@ubuntu.com>
20487
20488 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20489 i386 and x86-64 definedness tests.
20490
f772623b
YB
204912010-09-27 Yves Blusseau <blusseau@zetam.org>
20492
20493 Fix generation of kernel_syms.lst
20494
20495 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20496 ASM_PREFIX
20497
8e57a6ca
RM
204982010-09-26 Robert Millan <rmh@gnu.org>
20499
20500 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20501
20502 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20503 the pool is an array of devices, iterate through it and return the
20504 first device that passes a stat() test (instead of blindly returning
20505 the first one).
20506
f9130836
RM
205072010-09-26 Robert Millan <rmh@gnu.org>
20508
20509 Build fixes for GNU/kFreeBSD.
20510
20511 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20512 to programs that require ZFS conversion.
20513 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20514 kernels that don't have FLOPPY_MAJOR.
20515
96510faf
BC
205162010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20517
20518 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20519
449333eb
BC
205202010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20521
20522 Fix grub-emu build.
20523
20524 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20525 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20526 mdraid09 and mdraid1x.
20527
e1fd1939
CW
205282010-09-24 Colin Watson <cjwatson@ubuntu.com>
20529
20530 Re-enable grub-extras.
20531
20532 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20533 avoid confusing Automake. Run autogen only twice, once for the top
20534 level and once for grub-core. Add Makefile.util.def and
20535 Makefile.core.def from extra modules to the appropriate autogen
20536 invocations. If Makefile.common exists in an extra module, include
20537 it in both Makefile.util.am and grub-core/Makefile.core.am;
20538 similarly, include any Makefile.util.common file in Makefile.util.am
20539 and any Makefile.core.common file in grub-core/Makefile.core.am.
20540 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20541 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20542 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20543 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20544
20545 * gentpl.py (gvar_add): Turn GVARS into a set.
20546 (global_variable_initializers): Sort global variables on output.
20547 (vars_init): New function.
20548 (first_time): Likewise.
20549 (library): Ensure that non-global variable initialisations are
20550 emitted before the first time we emit code for a library block.
20551 Append to variables rather than setting them. Only emit
20552 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20553 each conditional path.
20554 (program): installdir() emits an Autogen macro, so must be passed to
20555 var_add rather than gvar_add.
20556 (data): Likewise.
20557 (script): Likewise.
20558 (rules): New function, centralising handling for different target
20559 types. Set up Guile association lists for first_time and vars_init,
20560 and send most output to a diversion so that variable initialisations
20561 can be emitted first.
20562 (module_rules): Use new rules function.
20563 (kernel_rules): Likewise.
20564 (image_rules): Likewise.
20565 (library_rules): Likewise.
20566 (program_rules): Likewise.
20567 (script_rules): Likewise.
20568 (data_rules): Likewise.
20569
20570 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20571
20572 * .bzrignore: Add contrib and grub-core/contrib. Remove
20573 grub-core/Makefile.gcry.am.
20574
1d12cf29
YB
205752010-09-24 Yves Blusseau <blusseau@zetam.org>
20576
20577 * grub-core/lib/LzFind.c: Add missing include.
20578 * grub-core/lib/LzmaEnc.c: Likewise.
20579 * grub-core/script/lexer.c: Likewise.
20580 * grub-core/script/yylex.l: Likewise.
20581 * util/grub-macho2img.c: Likewise.
20582 * util/grub-menulst2cfg.c: Likewise.
20583 * util/grub-mklayout.c: Likewise.
20584 * util/grub-mkpasswd-pbkdf2.c
20585 * util/grub-mkrelpath.c: Likewise.
20586 * util/resolve.c: Likewise.
20587
dd363028
BC
205882010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20589
20590 * Makefile.util.def (example_unit_test): Add
20591 grub-core/gnulib/libgnu.a.
20592
f5a109e2
GS
205932010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20594
20595 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20596
6d0fa83c
VS
205972010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20598
20599 Support xz compression on yeeloong.
20600
20601 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20602 * configure.ac: Check for LZMA.
20603 * grub-core/Makefile.core.def (xz_decompress): New target.
20604 (none_decompress): Likewise.
20605 * grub-core/boot/decompressor/minilib.c: New file.
20606 * grub-core/boot/decompressor/none.c: Likewise.
20607 * grub-core/boot/decompressor/xz.c: Likewise.
20608 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20609 * grub-core/kern/mips/cache_flush.S: Likewise.
20610 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20611 * grub-core/kern/mips/startup.S: Move first stage to ...
20612 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20613 nomacro.
20614 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20615 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20616 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20617 Allocate statically.
20618 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20619 Allocate statically or use scratch. Don't check CRC32.
20620 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20621 Allocate statically. Don't check CRC32.
20622 * include/grub/decompressor.h: New file.
20623 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20624 Removed.
20625 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20626 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20627 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20628 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20629 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20630 * util/grub-mkimage.c (grub_compression_t): New type.
20631 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20632 (image_target_desc): New field default_compression.
20633 (image_targets): Adjust yeeloong targets.
20634 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20635 (compress_kernel): New parameter comp.
20636 (generate_image): Likewise. Handle new compression case.
20637 (options): New option --compression
20638 (help): Likewise.
20639 (main): Handle new option.
20640
1b655af6
GS
206412010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20642
20643 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20644
8f03f0b5
CW
206452010-09-22 Colin Watson <cjwatson@ubuntu.com>
20646
20647 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20648 typo in __i386__ conditional.
20649
7835dfd3
VS
206502010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20651
20652 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20653 include.
20654
e255597e
VS
206552010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20656
6d0fa83c 20657 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20658
20659 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20660 new tags as supported.
20661 (acpiv2_size): New function.
20662 (grub_multiboot_get_mbi_size): Take new tags into account.
20663 (grub_multiboot_make_mbi): Add new tags.
20664 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20665
6cc14051 206662010-09-21 Aleš Nesrsta <starous@volny.cz>
20667
20668 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20669 Added missing configuration of USB device.
20670
df7769d8
CW
206712010-09-21 Colin Watson <cjwatson@ubuntu.com>
20672
20673 * grub-core/normal/menu_entry.c (run): Make sure we always return
20674 a value.
20675
b031012d
CW
206762010-09-21 Colin Watson <cjwatson@ubuntu.com>
20677
20678 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20679 NumberOfPages is UINT64 according to the UEFI specification, not
20680 UINTN. Fix printf format.
20681
174de8f3
CW
206822010-09-21 Colin Watson <cjwatson@ubuntu.com>
20683
20684 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20685 `err' to grub_usb_err_t.
20686 Reported and tested by: KESHAV P.R.
20687
d7dbe923
CW
206882010-09-21 Colin Watson <cjwatson@ubuntu.com>
20689
20690 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20691 tpart non-const, so that we can assign to it. (Since this is a
20692 typedef, the constness refers to the pointer rather than what it
20693 points to.)
20694
8d5e2af3
CW
206952010-09-21 Colin Watson <cjwatson@ubuntu.com>
20696
20697 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20698 $(top_srcdir)/grub-core/gnulib as well as
20699 $(top_builddir)/grub-core/gnulib.
20700 Reported by: KESHAV P.R.
20701
5c527783
CW
207022010-09-21 Colin Watson <cjwatson@ubuntu.com>
20703
20704 * util/grub-install.in: Fix the bootloader ID option to be
20705 consistently --bootloader-id, not --bootloader_id.
20706 Reported by: KESHAV P.R.
20707
d309a16e
CW
207082010-09-21 Colin Watson <cjwatson@ubuntu.com>
20709
20710 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20711 check hash checksum." consistently translatable.
20712
b830cd16
YB
207132010-09-21 Yves Blusseau <blusseau@zetam.org>
20714
20715 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20716 $(top_builddir).
20717
c4fe27a8
CW
207182010-09-21 Colin Watson <cjwatson@ubuntu.com>
20719
20720 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20721 (GRUB_MOD_INIT): Register sha1sum command.
20722 (GRUB_MOD_FINI): Unregister sha1sum command.
20723
a4c1d277
YB
207242010-09-21 Yves Blusseau <blusseau@zetam.org>
20725
20726 Keep boot and grub directory names in sync with utils scripts
20727
20728 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20729 * config.h.in: Add previous macros.
20730 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20731 * util/grub-install.in: Use $bootdir and $grubdir variables.
20732
4eff79d2
CW
207332010-09-21 Colin Watson <cjwatson@ubuntu.com>
20734
20735 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20736 convert partition names to disk names if the new `convert' parameter
20737 is set.
20738 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20739 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20740 disk in its own right. This can happen with Xen disk images.
20741
934d7e44
YB
207422010-09-21 Yves Blusseau <blusseau@zetam.org>
20743
20744 * util/grub-editenv.c: Update strings to avoid warnings when generating
20745 grub.pot file.
20746 * util/grub-setup.c: Likewise.
934d7e44 20747
df3367cc
VS
207482010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20749
20750 * configure.ac: Change version to 1.99~beta0.
20751
77a94e98
VS
207522010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20753
20754 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20755 Add BADRAM.
20756 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20757 Likewise.
20758 * include/multiboot.h: Resynced with specification.
20759 * include/multiboot2.h: Likewise.
20760
269004c1
CW
207612010-09-21 Colin Watson <cjwatson@ubuntu.com>
20762
20763 Fix po directory handling.
20764
20765 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20766 * grub-core/gnulib/Makefile.am: Import gettext module.
20767 * m4/gnulib-cache.m4: Likewise.
20768 * m4/gnulib-comp.m4: Likewise.
20769 * m4/gettext.m4: New file, from gnulib.
20770 * m4/glibc2.m4: Likewise.
20771 * m4/iconv.m4: Likewise.
20772 * m4/intdiv0.m4: Likewise.
20773 * m4/intl.m4: Likewise.
20774 * m4/intldir.m4: Likewise.
20775 * m4/intlmacosx.m4: Likewise.
20776 * m4/intmax.m4: Likewise.
20777 * m4/inttypes-pri.m4: Likewise.
20778 * m4/lcmessage.m4: Likewise.
20779 * m4/lib-ld.m4: Likewise.
20780 * m4/lib-link.m4: Likewise.
20781 * m4/lib-prefix.m4: Likewise.
20782 * m4/lock.m4: Likewise.
20783 * m4/nls.m4: Likewise.
20784 * m4/po.m4: Likewise.
20785 * m4/printf-posix.m4: Likewise.
20786 * m4/progtest.m4: Likewise.
20787 * m4/threadlib.m4: Likewise.
20788 * m4/uintmax_t.m4: Likewise.
20789 * m4/visibility.m4: Likewise.
20790 * po/Makefile.am: Remove.
20791 * po/Makefile.in.in: New file, from gettext.
20792 ($(DOMAIN).pot-update): Support POTFILES-shell.
20793 * po/Makevars: New file.
20794 * po/POTFILES-shell: Rename to ...
20795 * po/POTFILES-shell.in: ... this. Update.
20796 * po/POTFILES: Rename to ...
20797 * po/POTFILES.in: ... this. Update.
20798 * po/Rules-quot: New file, from gettext.
20799 * po/boldquot.sed: Likewise.
20800 * po/en@boldquot.header: Likewise.
20801 * po/en@quot.header: Likewise.
20802 * po/insert-header.sin: Likewise.
20803 * po/quot.sed: Likewise.
20804 * po/remove-potcdate.sin: Likewise.
20805
3e0fa5d0
VS
208062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20807
20808 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20809
ade9bd66
VS
208102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20811
20812 * util/grub.d/20_linux_xen.in: Use submenus.
20813
fc55cc4c
VS
208142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20815
20816 Support submenus.
20817
20818 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20819 parameter submenu. All users updated.
20820 * grub-core/normal/main.c (free_menu): Rename to ...
20821 (grub_normal_free_menu): ... this. Made global.
20822 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20823 if requested.
20824 * grub-core/normal/menu_entry.c (screen): New field submenu.
20825 (make_screen): Set submenu.
20826 (run): Open new context if requested.
20827 * include/grub/menu.h (grub_menu_entry): New field submenu.
20828 * include/grub/normal.h (grub_normal_free_menu): New proto.
20829
600cedf7
VS
208302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20831
20832 Menu entries extractor.
20833
20834 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20835 variants.
20836 (GRUB_MOD_INIT): Register new variants.
20837 (GRUB_MOD_FINI): Unregister new variants.
20838 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
20839 into grub_cmd_legacy_source.
20840 (grub_cmd_legacy_source): Implement extractor variants.
20841 (GRUB_MOD_INIT): Register new variants.
20842 (GRUB_MOD_FINI): Unregister new variants.
20843 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
20844 as an extractor.
20845 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
20846 search as an extractor.
20847 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
20848 test as an extractor.
20849 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
20850 as an extractor.
20851 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
20852 (grub_env_new_context): New function.
20853 (grub_env_context_open): Likewise.
20854 (grub_env_extractor_open): Likewise.
20855 (grub_env_extractor_close): Likewise.
20856 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20857 grub_extractor_level.
20858 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
20859 * include/grub/env.h (grub_env_extractor_open): New proto.
20860 (grub_env_extractor_close): Likewise.
20861 * include/grub/normal.h (grub_extractor_level): New external variable.
20862
7bda3a87
VS
208632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20864
20865 Make cutmem accept a region specification.
20866 Suggested by: Samuel Thibault
20867
20868 * grub-core/mmap/mmap.c (parsemem): New function.
20869 (grub_cmd_cutmem): Handle new arguments.
20870
2ea57f88
VS
208712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20872
20873 New command cutmem.
20874
20875 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
20876 (GRUB_MOD_INIT): Register new command.
20877 (GRUB_MOD_FINI): Unregister new command.
20878
74342e31
VS
208792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20880
20881 Support some annoying BSD and Minix subpartitions.
20882
20883 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
20884 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
20885 Properly handle concatenation.
20886 * grub-core/kern/device.c (grub_device_iterate): Likewise.
20887 * grub-core/normal/completion.c (iterate_partition): Likewise.
20888 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
20889 contain partition. All users updated.
20890 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
20891 struct.
20892 (grub_openbsdlabel_partition_map): Likewise.
20893 (bsdlabel_partition_map_iterate): Rename to ..
20894 (iterate_real): ... this. New arguments sector, freebsd and pmap.
20895 (bsdlabel_partition_map_iterate): New function.
20896 (netopenbsdlabel_partition_map_iterate): Likewise.
20897 (netbsdlabel_partition_map_iterate): Likewise.
20898 (openbsdlabel_partition_map_iterate): Likewise.
20899 (GRUB_MOD_INIT): Register new partmaps.
20900 (GRUB_MOD_FINI): Unregister new partmaps.
20901 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
20902 (grub_partition_msdos_iterate): ... this. All users updated.
20903 Don't support embedding other than in a minix partition.
20904 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
20905 proto.
20906 * include/grub/partition.h (grub_partition): New field msdostype.
20907 * util/grub-install.in: Handle openbsd and netbsd types being in
20908 part_bsd module.
20909
1e8d555b
VS
209102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20911
20912 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
20913
20914 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
20915 * grub-core/Makefile.core.def (mdraid): Renamed to ...
20916 (mdraid09): ... this.
20917 (mdraid1x): New module.
20918 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
20919 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
20920
899d8af4
VS
209212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20922
20923 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
20924 vsprintf.
20925
40901acd
CW
209262010-09-20 Colin Watson <cjwatson@ubuntu.com>
20927
20928 * grub-core/commands/efi/lsefimmap.c: Correct header.
20929 * NEWS: Update.
20930
dfe3b247
CW
209312010-09-20 Colin Watson <cjwatson@ubuntu.com>
20932
20933 * util/grub-editenv.c (argp_parser): Don't pass translated strings
20934 as printf format strings; the translations might contain '%' which
20935 could cause a crash.
20936 (main): Likewise.
20937 * util/grub-fstest.c (argp_parser): Likewise.
20938 * util/grub-setup.c (argp_parser): Likewise.
20939 (main): Likewise.
20940
3286a4b4
VS
209412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20942
20943 Use argp in grub-fstest.
20944
20945 * util/grub-fstest.c: Don't include getopt.h.
20946 Include argp.h.
20947 (root): New variable.
20948 (args_count): Likewise.
20949 (nparm): Likewise.
20950 (num_disks): Likewise.
20951 (images): Likewise.
20952 (cmd): Likewise.
20953 (debug_str): Likewise.
20954 (args): Likewise.
20955 (options): Transformed to argp.
20956 (usage): Removed.
20957 (main): Split argument parsing into ...
20958 (argp_parser): ... this. Changed to argp format.
20959 (argp): New variable.
20960 (main): Use argp_parse.
20961
3dccbe4b
TG
209622010-09-20 Tristan Gingold <gingold@free.fr>
209632010-09-20 Robert Millan <rmh.grub@aybabtu.com>
209642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20965
20966 * grub-core/commands/efi/lsefimmap.c: New file.
20967 * grub-core/Makefile.core.def (lsefimmap): New module.
20968 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
20969
38c259a7
VS
209702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20971
20972 Pause the execution (10s max) if any errors are displayed so the user
20973 has a chance to see them.
20974
20975 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
20976 (grub_print_error): Increment grub_err_printed_errors.
20977 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
20978 execution if any errors were displayed.
20979 (show_menu): Remove old code for pause.
20980 * grub-core/normal/menu_entry.c (run): Likewise.
20981 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
20982 users updated.
20983 (grub_normal_get_char_counter): Likewise.
20984 * include/grub/err.h (grub_err_printed_errors): New external variable.
20985 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
20986
f218b09c
VS
209872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20988
20989 Support multiboot VBE info.
20990
20991 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20992 Take VBE info into account.
20993 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
20994 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20995 Call fill_vbe_info when appropriate.
20996 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
20997 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
20998 as supported.
20999 (grub_multiboot_get_mbi_size): Take new tags into account.
21000 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21001 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21002 Call fill_vbe_tag when appropriate.
21003 (grub_multiboot_make_mbi): Properly align tags.
21004 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21005 function.
21006 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21007 proto.
21008 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21009
a9cc5438
VS
210102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21011
21012 Suport manual terminal geometry specification.
21013
21014 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21015 Save state in grub_ofconsole_terminfo_output.
21016 (grub_ofconsole_term): Use grub_terminfo_getwh.
21017 (grub_ofconsole_getwh): Removed.
21018 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21019 (grub_serial_term): Use grub_terminfo_getwh.
21020 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21021 (options): New struct.
21022 (OPTION_*): New enum.
21023 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21024 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21025 width and height.
21026 (grub_terminfo_getwh): New proto.
21027 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21028
1a8fed20
VS
210292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21030
21031 Handle legacy "terminal" command.
21032
21033 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21034 and FLAG_TERMINAL.
21035 (legacy_commands): Add terminal and title.
21036 (grub_legacy_parse): Handle terminal. Simplify title handling.
21037
41e9c57d
VS
210382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21039
21040 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21041 parameters overflow.
21042
61c874c5
CW
210432010-09-20 Colin Watson <cjwatson@ubuntu.com>
21044
21045 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21046 widthspec.h.
21047
21048 * docs/grub.texi (Shell-like scripting): Document `!'.
21049 (Network): Simplify using new i386-pc-pxe format. Mention
21050 grub-mknetdir.
21051
21052 * NEWS: Update.
21053
943682b4
CW
210542010-09-20 Colin Watson <cjwatson@ubuntu.com>
21055
21056 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21057 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21058 when needed.
21059
6d3d698d
CW
210602010-09-20 Colin Watson <cjwatson@ubuntu.com>
21061
21062 * grub-core/commands/efi/lsefisystab.c: Correct header.
21063 * grub-core/commands/efi/lssal.c: Likewise.
21064 * grub-core/commands/testload.c: Likewise.
21065
c982589f
CW
210662010-09-20 Colin Watson <cjwatson@ubuntu.com>
21067
21068 * util/grub-mkrescue.in: Add explicit root argument to --set to
21069 prevent the UUID being interpreted as an argument to --set (matches
21070 previous change to prepare_grub_to_access_device).
21071
a63c31b6
CW
210722010-09-20 Colin Watson <cjwatson@ubuntu.com>
21073
21074 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21075 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21076 the verbosity of later #ifs.
21077 (find_partition_start): Define this function on FreeBSD too.
21078 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21079 function.
21080 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21081 on FreeBSD.
21082
6439b8ee
YB
210832010-09-20 Yves Blusseau <blusseau@zetam.org>
21084
21085 * util/grub-editenv.c: Use argp instead of getopt.
21086
c5930ec8
YB
210872010-09-20 Yves Blusseau <blusseau@zetam.org>
21088
21089 * util/grub-setup.c: Use argp instead of getopt.
21090
15c69261
YB
210912010-09-20 Yves Blusseau <blusseau@zetam.org>
21092
21093 Use gnulib-tool to create gnulib source files.
21094
21095 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21096 grub-core/gnulib directories
21097 * .bzignore: Add **/.deps and autogenerated gnulib files
21098 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21099 of gnulib macros, add grub-core/gnulib/Makefile
21100 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21101 include m4 directory to aclocal.
21102 * Makefile.util.def: Remove direct compilation of gnulib source files
21103 and use the new grub-core/gnulib/libgnu.a.
21104 * build-aux/config.rpath: move config.rpath from top directory to
21105 build-aux
21106 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21107 in gnulib headers
21108 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21109 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21110 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21111 header.
21112 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21113 string.
21114
e511c9f5
YB
211152010-09-20 Yves Blusseau <blusseau@zetam.org>
21116
21117 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21118 grub-core/genmod.sh and grub-core/gensyminfo.sh
21119
c2dede05
BC
211202010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21121
21122 Add a test for echo command options.
21123
21124 * tests/grub_cmd_echo.in: New test.
21125 * Makefile.util.def: Rules for new test.
21126
c55f5018
SJ
211272010-09-20 Szymon Janc <szymon@janc.net.pl>
21128
21129 Remove crc.mod and move crc command to hashsum.mod.
21130 Remove lib/crc.c - users updated to use gcrypt implementation.
21131
21132 * grub-core/commands/crc.c: Removed.
21133 * grub-core/Makefile.core.def (crc): Module removed.
21134 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21135 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21136 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21137 * grub-core/lib/crc.c: Removed.
21138 * include/grub/lib/crc.h: Removed.
21139 * Makefile.util.def (crc): Remove lib/crc.c
21140 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21141 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21142 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21143 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21144 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21145 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21146
e0337366
VS
211472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21150
742f9232
VS
211512010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21152
21153 Split config.h for util and core.
21154
21155 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21156 (ADDR32): Likewise.
21157 (DATA32): Likewise.
21158 (BSS_START_SYMBOL): Likewise.
21159 (END_SYMBOL): Likewise.
21160 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21161 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21162 * config.h.in: New file.
21163 * configure.ac: Use config-util.h as config define file.
21164 Rename MACHINE into GRUB_MACHINE. All users updated.
21165 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21166 updated.
21167 (NESTED_FUNC_ATTR): Likewise.
21168 Substitue new variables.
21169 (COND_HAVE_ASM_USCORE): New conditional.
21170 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21171 (kernel_syms.lst): Use ASM_PREFIX.
21172 * grub-core/kern/emu/console.c: Include config-util.h.
21173 * grub-core/kern/emu/misc.c: Likewise.
21174 * grub-core/kern/emu/mm.c: Likewise.
21175 * include/grub/emu/misc.h: Likewise.
21176 * include/grub/libgcc.h: Likewise.
21177
39feb0e8
VS
211782010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21179
21180 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21181 constants usage.
21182 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21183 Fix GRUB_TERM_KEY_* constants usage.
21184 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21185
9af6dac3
VS
211862010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21187
21188 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21189 print pointer.
21190 * grub-core/bus/usb/uhci.c: Remove empty define.
21191 (grub_uhci_check_transfer): Add missing cast.
21192 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21193 print pointer.
21194 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21195 PRIuGRUB_SIZE.
21196 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21197
d6d94820
VS
211982010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 * grub-core/Makefile.core.def (legacycfg): Add
21201 lib/i386/pc/vesa_modes_table.c on emu.
21202
3572f2b6
BC
212032010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21204
21205 Reduce number of temporary files generated by build system.
21206
21207 * grub-core/gencmdlist.sh: Removed.
21208 * grub-core/genfslist.sh: Removed.
21209 * grub-core/genhandlerlist.sh: Removed.
21210 * grub-core/genmodsrc.sh: Removed.
21211 * grub-core/genpartmaplist.sh: Removed.
21212 * grub-core/genparttoollist.sh: Removed.
21213 * grub-core/gentermiinallist.sh: Removed.
21214 * grub-core/genvideolist.sh: Removed.
21215
21216 * grub-core/genmod.sh.in: New file.
21217 * grub-core/gensyminfo.sh.in: New file.
21218
21219 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21220 * conf/Makefile.extra-dist: Update with new files.
21221 * gentpl.py: Remove rules related to unnecessary temporary files.
21222 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21223 and und-* files.
21224 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21225 genmod.sh scripts.
21226 * grub-core/bus/usb/uhci.c: Remove empty #define.
21227 * grub-core/genmoddep.awk: Updated with new syminfo format.
21228 * util/bash-completion.d/Makefile.am: Add config.log to
21229 CLEANFILES.
21230
c836b030
YB
212312010-09-19 Yves Blusseau <blusseau@zetam.org>
21232
21233 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21234
2f4e8053
BC
212352010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21236
21237 * util/grub-mkconfig.in: Check the config script for syntax errors
21238 before saving.
21239
75831c34
CW
212402010-09-19 Colin Watson <cjwatson@ubuntu.com>
212412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21242
21243 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21244 platforms.
21245 * util/grub-install.in: Add EFI and IEEE1275 support.
21246 * util/i386/efi/grub-install.in: Removed.
21247 * util/ieee1275/grub-install.in: Likewise.
21248
eaf41b25
VS
212492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21250
21251 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21252 (grub_cmd_cmosclean): Likewise.
21253 (GRUB_MOD_INIT): Register command cmosclean.
21254 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21255 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21256
1a9130dd
CPE
212572010-09-18 Carles Pina i Estany <carles@pina.cat>
212582010-09-18 Aleš Nesrsta <starous@volny.cz>
212592010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21260
21261 Add keyboard layouts support.
21262
21263 * Makefile.util.def (grub-mklayout): New file.
21264 (grub-kbdcomp): New script.
21265 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21266 Add keyboard_layouts.h.
21267 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21268 commands/boot.c on yeeloong.
21269 (keylayouts): New module.
21270 * grub-core/bus/usb/ohci.c
21271 * grub-core/bus/usb/uhci.c
21272 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21273 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21274 (attach_root_port): Likewise.
21275 (poll_nonroot_hub): Likewise.
21276 (grub_usb_poll_devices): Likewise.
21277 (detach_device): Close transfer.
21278 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21279 function.
21280 (grub_usb_bulk_setup_readwrite): Likewise.
21281 (grub_usb_bulk_finish_readwrite): Likewise.
21282 * grub-core/commands/keylayouts.c: New file.
21283 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21284 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21285 aliases.
21286 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21287 support scancode 2.
21288 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21289 * include/grub/keyboard_layouts.h: New file.
21290 * util/grub-mklayout.c: New file.
21291 * util/grub-kbdcomp.in: Likewise.
21292
a1d84a5e
VS
212932010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 Unify memory types.
21296
21297 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21298 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21299 types.
21300 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21301 (grub_upper_mem): Likewise.
21302 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21303 * include/grub/memory.h (grub_memory_type_t): New enum.
21304 All users updated.
21305
9696382e
VS
213062010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21307
21308 * grub-core/Makefile.core.def (lsapm): New module.
21309 * grub-core/commands/i386/pc/lsapm.c: New file.
21310 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21311 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21312 Likewise.
21313 * include/grub/i386/pc/apm.h: New file.
21314 * include/multiboot.h (multiboot_apm_info): New struct.
21315
213162010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21317
21318 GRUB-legacy configuration file support.
21319
21320 * Makefile.util.def (grub-menulst2cfg): New util.
21321 * docs/man/grub-menulst2cfg.h2m: New file.
21322 * grub-core/Makefile.core.def (legacycfg): New module.
21323 * grub-core/commands/legacycfg.c: New file.
21324 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21325 (grub_normal_add_menu_entry): ... this.
21326 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21327 (grub_normal_set_password): ...this.
21328 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21329 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21330 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21331 * grub-core/lib/legacy_parse.c: New file.
21332 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21333 * include/grub/i386/pc/vesa_modes_table.h: New file.
21334 * include/grub/legacy_parse.h: Likewise.
21335 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21336 * util/grub-menulst2cfg.c: New file.
21337
bf8d1338
CW
213382010-09-17 Colin Watson <cjwatson@ubuntu.com>
21339
21340 * grub-core/kern/emu/hostdisk.c
21341 (convert_system_partition_to_system_disk): Initialise node.
21342
9c0bad2e
CW
213432010-09-17 Colin Watson <cjwatson@ubuntu.com>
21344
21345 * grub-core/kern/emu/hostdisk.c
21346 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21347 leak.
21348 Reported and based on patch by: Modestas Vainius.
21349
a939d135
CW
213502010-09-17 Colin Watson <cjwatson@ubuntu.com>
21351
21352 Fix DM-RAID probing with recent versions of device-mapper udev
21353 rules.
21354
21355 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21356 canonicalise device paths under /dev/mapper/.
21357 (convert_system_partition_to_system_disk): Compare the
21358 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21359 path, since device nodes under /dev/mapper/ are often symlinks.
21360
0f7ee3c9
YB
213612010-09-17 Yves Blusseau <blusseau@zetam.org>
21362
21363 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21364
10854d0d
YB
213652010-09-16 Yves Blusseau <blusseau@zetam.org>
21366
21367 * configure.ac: Avoid some annoying error messages if freetype-config
21368 program is not found.
21369
108538d8
CW
213702010-09-16 Colin Watson <cjwatson@ubuntu.com>
21371
21372 Support RAID on virtio devices, and others.
21373
21374 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21375 Rename to ...
21376 [__MINGW32__] (grub_find_device): ... this.
21377 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21378 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21379 reasonable default if dir is NULL.
21380 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21381 ...
21382 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21383 (grub_guess_root_device): Update callers.
21384 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21385
21386 * util/raid.c (grub_util_getdiskname): Remove.
21387 (grub_util_raid_getmembers): Use grub_find_device rather than
21388 grub_util_getdiskname.
21389
e5bfc130
CW
213902010-09-16 Colin Watson <cjwatson@ubuntu.com>
21391
21392 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21393 needing to be compiled with serial support.
21394 (ls): Indicate that multiple files are accepted.
21395 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21396 indicate that multiple files are accepted.
21397
be458ae2
CW
213982010-09-16 Colin Watson <cjwatson@ubuntu.com>
21399
21400 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21401 libgrub_a_init.c, and util/bash-completion.d/grub.
21402
cb731b5e
VS
214032010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21404
21405 * util/grub-setup.c (setup): Fix incorrect container semantics.
21406
35139e8a
VS
214072010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21408
21409 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21410 misusage.
21411 Reported by: J. Nick Terry
21412
e50fca4a
VS
214132010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21414
21415 Move embedding routines to partmap sources files.
21416
21417 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21418 [GRUB_UTIL]: New variable.
21419 (gpt_partition_map_iterate): Set part.parent.
21420 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21421 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21422 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21423 New function.
21424 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21425 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21426 (grub_partition_map) [GRUB_UTIL]: New field embed.
21427 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21428 (setup): Use ->embed.
21429
f00478b7
VS
214302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21431
21432 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21433 function.
21434 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21435 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21436
2b94e3ff
YB
214372010-09-15 Yves Blusseau <blusseau@zetam.org>
21438
21439 Add function to get completions from usage.
21440
21441 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21442 completions from usage. Use LC_ALL=C to get options properly.
21443
2e04a006
VS
214442010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21445
21446 * grub-core/gnulib/basename-lgpl.c: Imported.
21447 * grub-core/gnulib/basename.c: Likewise.
21448 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21449 * grub-core/gnulib/dirname.c: Likewise.
21450 * grub-core/gnulib/dirname.h: Likewise.
21451 * grub-core/gnulib/stripslash.c: Likewise.
21452
5dcdf93a
VS
214532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21454
21455 * grub-core/gnulib/error.c: Resynced.
21456 * grub-core/gnulib/getopt.c: Likewise.
21457 * grub-core/gnulib/getopt_int.h: Likewise.
21458 * grub-core/gnulib/regex.h: Likewise.
21459 * grub-core/gnulib/regex_internal.c: Likewise.
21460 * grub-core/gnulib/regex_internal.h: Likewise.
21461
014f47b7
SJ
214622010-09-15 Szymon Janc <szymon@janc.net.pl>
21463
21464 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21465 CRC calculations and validity checks.
21466 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21467 calculations.
21468
dd521a4a
SJ
214692010-09-15 Szymon Janc <szymon@janc.net.pl>
21470
21471 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21472
79c4eeb9
VS
214732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21474
21475 Fix incorrect echo options handling.
21476 Reported by: Yves Blusseau.
21477
21478 * include/grub/command.h (grub_command_flags_t): New flags
21479 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21480 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21481 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21482
ed80f7d5
VS
214832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21484
21485 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21486 users updated.
21487 (GRUB_COMMAND_FLAG_MENU): Likewise.
21488 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21489 (GRUB_COMMAND_FLAG_TITLE): Removed.
21490 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21491 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21492 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21493 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21494 (grub_command_flags_t): New enum. All users updated.
21495
5fe7620a
SG
214962010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21497
21498 Fix solaris compilation.
21499
21500 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21501 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21502 (grub-emu-list): Likewise.
21503
545b752f
VS
215042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21505
21506 Remove deprecated root command.
21507
21508 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21509 updated.
21510
6c1a338c
VS
215112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21512
21513 * util/i386/pc/grub-setup.c: Merge this ...
21514 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21515 * util/grub-setup.c: ... into this.
21516 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21517 New struct.
21518
215192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21520
21521 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21522 possible.
21523
d2ea4551
VS
215242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21525
21526 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21527 allocate p.
21528
3c3b5040
VS
215292010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21530
21531 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21532 explicit root argument to set to prevent UUID to be interpreted as
21533 argument to set.
21534
b71c3fae
VS
215352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21536
21537 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21538
275433e6
VS
215392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 Don't export grub_gate_a20.
21542
21543 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21544 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21545 to ...
21546 (grub_gate_a20): ... this. All users updated.
21547 * include/grub/i386/pc/init.h: Removed. All users updated.
21548
a5dbb1f1
VS
215492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21550
21551 Create euro.pf2 which supports most European languages.
21552
21553 * Makefile.am (grubdata_DATA): Add euro.pf2.
21554 (euro.pf2): New target.
21555 (CLEANFILES): Add euro.pf2.
21556
62a747cb
VS
215572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21558
21559 * configure.ac: Disable emu-usb by default to prevent inadvertent
21560 device takeover.
21561
608e43b1
VS
215622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21563
21564 Disable usbserial on grub-emu since our libusb code isn't good enough
21565 yet.
21566
21567 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21568 (usbserial_pl2303): Likewise.
21569 (usbserial_ftdi): Likewise.
21570
94564f81
VS
215712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21572
21573 * include/grub/disk.h (grub_disk): Remove has_partitions.
21574 All users updated.
21575 * disk/loopback.c (grub_loopback): Remove has_partitions.
21576 All users updated.
21577 (options): Remove partitions. All users updated.
21578 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21579 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21580 actual partition table is found.
21581
3352800b
VS
215822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21583
21584 Remove readability checks (too many false negatives).
21585
21586 * util/grub-install.in: Remove readability checks.
21587 * util/grub-mkconfig.in: Likewise.
21588 * util/grub.d/10_hurd.in: Likewise.
21589 * util/grub.d/10_kfreebsd.in: Likewise.
21590 * util/grub.d/10_linux.in: Likewise.
21591 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21592 way.
21593
2419f17a
VS
215942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21595
21596 Enable acpi shutdown on all ACPI platforms.
21597
21598 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21599 on coreboo, multiboot and EFI.
21600 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21601 (grub_acpi_halt): Likewise.
21602 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21603 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21604 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21605 * grub-core/lib/i386/halt.c (grub_halt)
21606 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21607
0575c7c3
VS
216082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21609
21610 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21611 context.
21612
54ac3cd1
VS
216132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21614
21615 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21616 * grub-core/video/efi_uga.c: Likewise.
21617
b2a30ac5
VS
216182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21619
21620 Filter devaliases and never open same device twice.
21621
21622 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21623 (last_ihandle): Likewise.
21624 (ofdisk_hash_ent): New member shortest.
21625 (ofdisk_hash_add): Add canonical path too.
21626 (scan): New function.
21627 (grub_ofdisk_iterate): Iterate over hashed entries.
21628 (compute_dev_path): Don't add :0.
21629 (grub_ofdisk_open): Don't really open the disk.
21630 (grub_ofdisk_close): Avoid closing unrelated disk.
21631 (grub_ofdisk_read): Implement reopen logic.
21632 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21633 New function.
21634 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21635 New proto.
21636
fb53b340
VS
216372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21638
21639 Fix sparc64.
21640
21641 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21642 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21643 right address. Add sparc64_ieee1275_ldflags.
21644 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21645 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21646 to grub_host_to_target_addr
21647 (load_image): Likewise.
21648
f452b040
VS
216492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21650
21651 * grub-core/normal/completion.c (complete_file): Handle device
21652 containing slash.
21653 Fix based on patch by Doug Nazar.
21654
9b5b2541
VS
216552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21656
21657 grub-mknetdir script.
21658
21659 * Makefile.util.def (grub-mknetdir): New module.
21660 * tests/util/grub-shell.in: Support boot=net
21661 * util/grub-mknetdir.in: New file.
21662
9d2be652
VS
216632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21664
21665 videoinfo on non-vbe.
21666
21667 * grub-core/Makefile.core.def (vbeinfo): Removed.
21668 (vbetest): Removed.
21669 (videoinfo): New module.
21670 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21671 * grub-core/commands/i386/pc/vbetest.c: Removed.
21672 * grub-core/commands/videoinfo.c: New file.
21673 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21674 specification.
21675 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21676 as vbetest.
21677 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21678 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21679 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21680 mode_number. New parameter mode. All users updated.
21681 (grub_video_gop_iterate): New function.
21682 (grub_video_efi_gop): New member iterate.
21683 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21684 (grub_vbe_set_video_mode): Remove setting useless fields.
21685 (vbe2videoinfo): New function.
21686 (grub_video_vbe_iterate): Likewise.
21687 (grub_video_vbe_setup): Use vbe2videoinfo.
21688 (grub_video_vbe_print_adapter_specific_info): New function.
21689 (grub_video_vbe_adapter): New fields iterate and
21690 print_adapter_specific_info.
21691 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21692 All users updated.
21693 (grub_video_mode_info): New field mode_number.
21694 (grub_video_adapter): New fields iterate and
21695 print_adapter_specific_info.
21696
179503f5
TG
216972010-09-13 Tristan Gingold <gingold@free.fr>
216982010-09-13 Robert Millan <rmh.grub@aybabtu.com>
216992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21700
21701 * grub-core/commands/efi/lsefisystab.c: New file.
21702 * grub-core/commands/efi/lssal.c: Likewise.
21703 * grub-core/Makefile.core.def (lsacpi): New module.
21704 (lsefisystab): Likewise.
21705 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21706 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21707 (grub_efi_sal_system_table): New struct.
21708 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21709 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21710 (grub_efi_sal_system_table_platform_features): Likewise.
21711 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21712 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21713 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21714 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21715
cf9827de
VS
217162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21717
21718 Support explicit user claim that a device is BIOS-visible.
21719
21720 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21721 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21722 * grub-core/kern/emu/hostdisk.c
21723 (convert_system_partition_to_system_disk): Support mdX.
21724 (find_system_device): New parameter add. All users updated.
21725 (grub_util_biosdisk_is_present): New function.
21726 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21727 proto.
21728
53f0eb1f
VS
217292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21730
21731 Search hints support.
21732
21733 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21734 All users updated.
21735
b23ffd70
YB
217362010-09-13 Yves Blusseau <blusseau@zetam.org>
21737
21738 Bash completion script for util commands
21739
21740 * Makefile.am: Add util/bash-completion.d directory
21741 * configure.ac: Likewise.
21742 * util/bash-completion.d/Makefile.am: New file.
21743 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21744
d547dc28
VS
217452010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21746
21747 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21748 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21749 Reported by: Yves Blusseau.
21750
2fc8ccb9
VS
217512010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21752
21753 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21754 partition size and offset.
21755
d8a84076
VS
217562010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21757
21758 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21759
84fb3b3d
VS
217602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21761
21762 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21763
768ec2e2
VS
217642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21765
21766 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21767 (grub_xvasprintf): Likewise.
21768
4870900f
VS
217692010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21770
21771 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21772
faca6bec
VS
217732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21774
21775 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21776 args ending with NULL.
21777
217782010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
21779
21780 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21781 pointer.
21782
3c70f225
SJ
217832010-09-11 Szymon Janc <szymon@janc.net.pl>
21784
21785 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21786
4df7996d
VS
217872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21788
21789 Shutdown using ACPI.
21790
21791 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21792 * grub-core/commands/acpihalt.c: New file.
21793 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21794 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21795 (grub_acpi_halt): New proto.
21796 (GRUB_ACPI_SLP_EN): New const.
21797 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21798 (GRUB_ACPI_OPCODE_*): New enum.
21799 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21800
126b4c32
TG
218012010-09-11 Tristan Gingold <gingold@free.fr>
218022010-09-11 Robert Millan <rmh.grub@aybabtu.com>
218032010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21804
21805 * commands/lsacpi.c: New file.
21806 * grub-core/Makefile.core.def (lsacpi): New module.
21807 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21808 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21809 (grub_acpi_madt_entry_header): New struct.
21810 (grub_acpi_madt): Likewise.
21811 (grub_acpi_madt_entry_interrupt_override): Likewise.
21812 (grub_acpi_madt_entry_sapic): Likewise.
21813 (grub_acpi_madt_entry_lsapic): Likewise.
21814 (grub_acpi_madt_entry_platform_int_source): Likewise.
21815 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21816 (PRIuGRUB_UINT32_T): Likewise.
21817 (PRIxGRUB_UINT64_T): Likewise.
21818
1aa4fe88
VS
218192010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21820
21821 Implement loading palette on ieee1275_fb.
21822
21823 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21824 (have_setcolors): Likewise.
21825 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21826 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21827 (grub_video_ieee1275_set_palette): Implement.
21828
25761e13
VS
218292010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
218302010-09-11 Colin Watson <cjwatson@ubuntu.com>
21831
21832 * util/grub-install.in (grub_partition): New variable.
21833 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21834 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21835 Fixes a bug reported by Yves Blusseau.
21836
050abaea
VS
218372010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21838
21839 Fix emu on mipsel.
21840
21841 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
21842 =grub_cpu_flush_cache on all mips and not only yeeloong.
21843 * configure.ac (COND_mips): New conditional.
21844 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
21845 platforms.
21846 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
21847 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
21848 [GRUB_LINKER_HAVE_INIT]: New function.
21849 (grub_emu_post_init): Likewise.
21850 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
21851 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
21852 * include/grub/cache.h (_mips): Include mips/cache.h.
21853 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
21854 LVM and RAID prototypes.
21855 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
21856 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
21857 function.
21858
5ed7d816
CW
218592010-09-10 Colin Watson <cjwatson@ubuntu.com>
21860
21861 * util/grub-install.in: Don't try to verify core.img until after
21862 running grub-mkimage to create it.
21863
90367e04
RM
218642010-09-10 Robert Millan <rmh@gnu.org>
21865
21866 * util/grub.d/10_hurd.in: Add misc readability checks.
21867 * util/grub.d/10_kfreebsd.in: Likewise.
21868 * util/grub.d/10_linux.in: Likewise.
21869
c452fa66
CW
218702010-09-10 Colin Watson <cjwatson@ubuntu.com>
21871
21872 * util/grub-install.in: ${imgext} won't be defined here until the
21873 install branch is merged. For the meantime, only verify core.img on
21874 i386-pc and sparc64-ieee1275 platforms.
21875
c38fe9f4
RM
218762010-09-10 Robert Millan <rmh@gnu.org>
21877
21878 Solaris support in grub_find_zpool_from_dir(). Thanks
21879 Seth Goldberg for referring to getextmntent() facility.
21880
21881 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
21882 `sys/mkdev.h'.
21883 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
21884 `<sys/mnttab.h>'.
21885 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
21886 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
21887 method for finding zpool name.
21888
905f7773
CW
218892010-09-10 Colin Watson <cjwatson@ubuntu.com>
21890
21891 grub-fstest needs the host and hostfs modules while other utilities
21892 actively require those modules to be absent, so grub-fstest needs
21893 its own initialisation and finalisation code.
21894
21895 * Makefile.am (grub_fstest.pp): New target.
21896 (grub_fstest_init.lst): Likewise.
21897 (grub_fstest_init.c): Likewise.
21898 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
21899
fb90b546
RM
219002010-09-10 Robert Millan <rmh@gnu.org>
21901
21902 * configure.ac: Check for `struct statfs.f_fstypename' and
21903 `struct statfs.f_mntfromname'.
21904
21905 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
21906 kFreeBSD-specific code.
21907
66d4bea5
RM
219082010-09-10 Robert Millan <rmh@gnu.org>
21909
21910 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
21911 on ZFS. Now non-main filesystems are supported as / too.
21912
b6a690ee
CW
219132010-09-09 Colin Watson <cjwatson@ubuntu.com>
21914
21915 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
21916 and grub-core/disk/host.c to ...
21917 (grub-fstest): ... here. Having the host disk implementation
21918 present confuses grub-probe and other utility programs.
21919
21920 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
21921 when writing to a file, not when writing to stdout.
21922
8901b00c 219232010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
21924
21925 * tests/partmap_test.in: New test for partitions.
21926 * Makefile.util.def: Rules for new test.
21927
7bf45fdd
RM
219282010-09-09 Robert Millan <rmh@gnu.org>
21929
21930 * util/grub-probe.c (probe): Fix a pair of unhandled error
21931 conditions.
21932
4dfbc574
RM
219332010-09-09 Robert Millan <rmh@gnu.org>
21934
21935 Basic Btrfs support (detection and UUID).
21936
21937 * grub-core/fs/btrfs.c: New file.
21938 * Makefile.util.def (library): Register btrfs.c.
21939 * grub-core/Makefile.core.def: Likewise.
21940
6b8e78ae
RM
219412010-09-08 Robert Millan <rmh@gnu.org>
21942
21943 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
21944 with (optional) parameters to specify device and relative path.
21945 * util/grub-install.in: Use is_path_readable_by_grub() to
21946 verify readability of a few critical files.
21947 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
21948 verify readability of grub.cfg.new.
21949
27f21a8b
VS
219502010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21951
21952 Split minix.mod into minix.mod and minix2.mod.
21953
21954 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
21955 * grub-core/Makefile.core.def (minix2): New module.
21956 * grub-core/fs/minix.c: Use definitions instead of runtime version
21957 checking.
21958 * grub-core/fs/minix2.c: New file.
21959
c0e53ea5
YB
219602010-09-08 Yves Blusseau <blusseau@zetam.org>
21961
21962 Add new --boot-directory option to replace --root-directory
21963
21964 * util/grub-install.in: Add new --boot-directory option
21965 * util/grub-reboot.in: Likewise.
21966 * util/grub-set-default.in: Likewise.
21967
b9fe6ea2
YB
219682010-09-08 Yves Blusseau <blusseau@zetam.org>
21969
21970 * util/grub-mkconfig.in: Use new variable.
21971
d87aedff
YB
219722010-09-08 Yves Blusseau <blusseau@zetam.org>
21973
21974 * configure.ac: Define some useful variables.
21975
e55e8495
VS
219762010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21977
21978 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21979 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
21980 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
21981 Use terminfo and don't use cursor-on/cursor-off unless it's known
21982 to work.
21983 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
21984 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
21985
6fa6d675
CW
219862010-09-08 Colin Watson <cjwatson@ubuntu.com>
21987
21988 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
21989 starts with "(,", fill the drive containing the loaded image in
21990 between those two characters, but expect that a full partition
21991 specification including partition map names will follow.
21992
92f2aef0
RM
219932010-09-08 Robert Millan <rmh@gnu.org>
21994
21995 * configure.ac: Remove `--enable-grub-fstest' option.
21996 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
21997
21998 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
21999 `grub-fstest' instead of `grub-probe' for readability verification.
22000 * util/grub-probe.c (probe): Remove readability verification kludge.
22001
99fd620d
RM
220022010-09-08 Robert Millan <rmh@gnu.org>
22003
22004 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22005 initializing `GRUB_FS'.
22006
058e30ac 220072010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22008
22009 Not command (!) support to GRUB script.
22010
22011 * tests/grub_script_not.in: New test.
22012 * Makefile.util.def: Rules for new test.
22013
22014 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22015 ! command as a special case.
22016 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22017
b61d05ed 220182010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22019
058e30ac 22020 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22021 grub_free.
b61d05ed 22022
4d69c786 220232010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22024
22025 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22026
aa3119c4 220272010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22028
22029 * docs/grub.texi (Shell-like scripting): Documentation for break,
22030 continue, shift and return commands.
22031
db0f7e3d
VS
220322010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22033
22034 Rename CD-ROM to cd on BIOS.
22035
22036 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22037 "cd".
22038 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22039
88b87c93
VS
220402010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22041
22042 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22043 * util/grub-probe.c (main): Likewise.
22044 * util/i386/pc/grub-setup.c (main): Likewise.
22045 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22046 Reported and debugged by: alexxy
22047
294f324d
VS
220482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22049
22050 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22051 diagnostic info.
22052
d7ee3441
JS
220532010-09-05 Jo Shields <directhex@apebox.org>
22054
22055 * util/grub.d/30_os-prober.in: Add missing classes.
22056
d7e06c1f
VS
220572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22058
22059 * docs/grub.texi (Theme file format): Document new position format.
22060
fc157e53
VS
220612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22062
22063 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22064 a table. Use @code instead of @verbatim.
22065
506e9a1c
CB
220662010-09-05 Colin D Bennett <colin@gibibit.com>
22067
22068 Gfxmenu documentation.
22069
22070 * docs/grub.texi (Theme file format): New chapter.
22071
f0aff67c
SJ
220722010-09-05 Szymon Janc <szymon@janc.net.pl>
22073
22074 * grub-core/Makefile.core.def (xzio): New module.
22075 * grub-core/io/xzio.c: New file.
22076 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22077 * grub-core/lib/xzembed/xz_config.h: Likewise.
22078 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22079 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22080 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22081 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22082 * grub-core/lib/xzembed/xz_private.h: Likewise.
22083 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22084 * include/grub/file.h (grub_file_filter_id): New compression filter
22085 GRUB_FILE_FILTER_XZIO.
22086
82a85062
VS
220872010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22090 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22091 size.
22092
3579415d
VS
220932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22094
22095 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22096 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22097
5124ae6d
VS
220982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22099
22100 Uncompressed checksum support.
22101
22102 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22103 (check_list): New parameter uncompress.
22104 (grub_cmd_hashsum): Handle --uncompress.
22105
9aadb3d1
VS
221062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22107
22108 Reintroduce testload.
22109
22110 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22111 from here ...
22112 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22113 (GRUB_MOD_INIT): New function.
22114 (GRUB_MOD_FINI): Likewise.
22115 * grub-core/Makefile.core.def (testload): New module.
22116
a17792c3
SJ
221172010-09-05 Szymon Janc <szymon@janc.net.pl>
22118
22119 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22120 (uint8_t): New type.
22121 (uint16_t): Likewise.
22122 (uint32_t): Likewise.
22123 (uint64_t): Likewise.
22124
b81e40a3
SJ
221252010-09-05 Szymon Janc <szymon@janc.net.pl>
22126
22127 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22128
fc2ef117
VS
221292010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22130
22131 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22132 Made static.
22133 (grub_gzfile_open): Removed. All users updated.
22134 (GRUB_MOD_INIT): New function.
22135 (GRUB_MOD_FINI): Likewise.
22136 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22137 (grub_file_filters_enabled): Likewise.
22138 (grub_file_open): Handle filters.
22139 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22140 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22141 * include/grub/file.h (grub_file_filter_id_t): New type.
22142 (grub_file_filter_t): Likewise.
22143 (grub_file_filters_all): New extern variable.
22144 (grub_file_filters_enabled): Likewise.
22145 (grub_file_filter_register): New inline function.
22146 (grub_file_filter_unregister): Likewise.
22147 (grub_file_filter_disable): Likewise.
22148 (grub_file_filter_disable_compression): Likewise.
22149 * include/grub/gzio.h: Removed.
22150
35ee15e0
BC
221512010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22152
22153 Filename expansion support for wildcards in GRUB script.
22154
22155 * tests/grub_script_expansion.in: New test.
22156 * Makefile.util.def: Rule for new test.
22157
22158 * grub-core/commands/wildcard.c: New file, implements filename
22159 expansion support for GRUB script.
22160 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22161 * grub-core/script/argv.c: Cosmetic changes.
22162 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22163 Refactored to perform wildcard expansion on arguments.
22164 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22165 struct.
22166
22167 * tests/util/grub-shell.in: Fix quoting for read input.
22168
5f0c4aca
BC
221692010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22170
22171 Support for updating environment variables with matched substrings
22172 of regexp.
22173
22174 * tests/grub_cmd_regexp.in: New test.
22175 * Makefile.util.def: Rule for new test.
22176
22177 * grub-core/commands/regexp.c: New option -s to update environment
22178 variables with regexp matches.
22179
3759a35f
SJ
221802010-09-04 Szymon Janc <szymon@janc.net.pl>
22181
22182 * include/grub/file.h (grub_file): New member not_easly_seekable.
22183 (grub_file_seekable): New inline function.
22184 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22185 easily seekable.
22186 (grub_gzio_open): Set not_easly_seekable.
22187 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22188 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22189
ed8c6dec
BC
221902010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22191
22192 Support for options to appear multiple times on cmdline.
22193
22194 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22195 * grub-core/commands/extcmd.c: Support for repeatable option.
22196 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22197 repeatable option support.
22198
22199 Refactor menuentry into a regular command.
22200
22201 * grub-core/commands/menuentry.c: New file, menuentry command
22202 implementation.
22203 * grub-core/Makefile.core.def: Rule update for normal.mod.
22204 * grub-core/normal/main.c: Moved menuentry creation to
22205 grub-core/commands/menuentry.c.
22206 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22207 (grub_menu_execute_entry_real): Removed.
22208 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22209 function.
22210 (grub_script_execute_menuentry): Removed.
22211 * grub-core/script/parser.y (menuentry): Removed.
22212 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22213 * grub-core/script/yylex.l (menuentry): Removed.
22214 * include/grub/menu.h (grub_menu_init): New prototype.
22215 (grub_menu_fini): New prototype.
22216 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22217 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22218 (grub_script_execute_sourcecode): New prototype.
22219
dacd0cf0
BC
222202010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22221
22222 "return" command for GRUB script functions.
22223
22224 * tests/grub_script_return.in: New test.
22225 * Makefile.util.def: Rules for new test.
22226
22227 * grub-core/script/execute.c (grub_script_return): New function.
22228 * grub-core/script/main.c: Register/unregister return commaond.
22229 * include/grub/script_sh.h (grub_script_return): New prototype.
22230
52e72f9d
BC
222312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22232
22233 "setparams" command to update positional parameters.
22234
22235 * tests/grub_script_setparams.in: New test.
22236 * Makefile.util.def: Rules for new test.
22237
22238 * grub-core/script/argv.c (grub_script_argv_make): New function.
22239 * grub-core/script/execute.c (replace_scope): New function.
22240 (grub_script_setparams): New function.
22241 * grub-core/script/lexer.c: Remove unused variables.
22242 * grub-core/script/main.c: Register/unregister setparams command.
22243 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22244 (grub_script_setparams): New prototype.
22245
25b60c91
BC
222462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22247
22248 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22249 grub_free order.
22250
37e7bf68
BC
222512010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22252
22253 Support for passing block of commands as an argument to extcmds.
22254
22255 * Makefile.util.def: Rules for new test.
22256 * tests/grub_script_blockarg.in: New test.
22257 * grub-core/tests/test_blockarg.c: New file, block argument
22258 command used in the test.
22259
22260 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22261 (grub_register_extcmd_prio): New function prototype.
22262 (grub_extcmd_dispatcher): New function prototype.
22263 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22264 type.
22265 * include/grub/script_sh.h (struct grub_script): New members
22266 `children', `next_siblings' and `refcnt' for block arguments and
22267 reference counting.
22268 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22269 (grub_script_arg): New member `script' for block argument.
22270 (grub_script_argv): New member `script' for block argument.
22271 (grub_parser_param): New member `scripts' for block argument.
22272 (grub_script_mem_free): New extern function prototype.
22273 (grub_script_ref): New function prototype.
22274 (grub_script_unref): New function prototype.
22275
22276 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22277 extcmd form to support block arguments.
22278 * grub-core/script/argv.c: Block arguments support.
22279 * grub-core/script/execute.c: Likewise.
22280 * grub-core/script/lexer.c: Likewise.
22281 * grub-core/script/main.c: Likewise.
22282 * grub-core/script/script.c: Likewise.
22283 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22284 non-terminals.
22285
22286 * grub-core/commands/acpi.c: Update extcmd implementations with
22287 grub_extcmd_context_t.
22288 * grub-core/commands/cat.c: Likewise.
22289 * grub-core/commands/echo.c: Likewise.
22290 * grub-core/commands/extcmd.c: Likewise.
22291 * grub-core/commands/hashsum.c: Likewise.
22292 * grub-core/commands/hdparm.c: Likewise.
22293 * grub-core/commands/help.c: Likewise.
22294 * grub-core/commands/hexdump.c: Likewise.
22295 * grub-core/commands/i386/cpuid.c: Likewise.
22296 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22297 * grub-core/commands/i386/pc/halt.c: Likewise.
22298 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22299 * grub-core/commands/iorw.c: Likewise.
22300 * grub-core/commands/keystatus.c: Likewise.
22301 * grub-core/commands/loadenv.c: Likewise.
22302 * grub-core/commands/ls.c: Likewise.
22303 * grub-core/commands/lspci.c: Likewise.
22304 * grub-core/commands/memrw.c: Likewise.
22305 * grub-core/commands/probe.c: Likewise.
22306 * grub-core/commands/search_wrap.c: Likewise.
22307 * grub-core/commands/setpci.c: Likewise.
22308 * grub-core/commands/sleep.c: Likewise.
22309 * grub-core/disk/loopback.c: Likewise.
22310 * grub-core/hello/hello.c: Likewise.
22311 * grub-core/loader/i386/bsd.c: Likewise.
22312 * grub-core/loader/xnu.c: Likewise.
22313 * grub-core/term/gfxterm.c: Likewise.
22314 * grub-core/term/serial.c: Likewise.
22315 * grub-core/tests/lib/functional_test.c: Likewise.
22316
888d1500
BC
223172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22318
22319 Multi-line quoted strings support.
22320
22321 * grub-core/script/lexer.c (append_newline): Removed.
22322 (grub_script_lexer_yywrap): Refactored.
22323 (grub_script_lexer_init): Refactored.
22324 * grub-core/script/yylex.l (yywrap): New function.
22325 (grub_lexer_resplit): New function.
22326 (grub_lexer_unput): New function.
22327 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22328 and resplit.
22329 * tests/grub_script_echo1.in: Added few more testcases.
22330
dda060dd
VS
223312010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22332
22333 * grub-core/kern/misc.c: Don't add abort alias in utils.
22334 Reported by: echoline.
22335
6556eba9
BC
223362010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22337
22338 Add missing files into "make dist" tarball for other platforms.
22339
22340 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22341 * conf/Makefile.common (dist_noinst_DATA): New variable.
22342 * conf/Makefile.extra-dist: Added missing make dist files.
22343 * grub-core/Makefile.core.def: Likewise.
22344
c8e7bf5f
VS
223452010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22346
22347 Compress grub_prefix.
22348
22349 * grub-core/boot/i386/pc/lnxboot.S: Use
22350 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22351 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22352 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22353 GRUB_MACHINE_PREFIX_END. All users updated.
22354 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22355 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22356 + 0x40.
22357 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22358 * util/grub-mkimage.c (image_target_desc): Change data_end to
22359 prefix_end. All users updated.
22360
a7c00cdb
VS
223612010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22362
22363 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22364 value.
22365 (grub_openbsd_boot): Likewise.
22366 (grub_netbsd_boot): Likewise.
22367 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22368 (grub_xnu_boot): Likewise.
22369
9f915872
VS
223702010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22371
22372 * configure.ac: Clean LIBS variable after tests.
22373
efa1bee7
CW
223742010-09-02 Colin Watson <cjwatson@ubuntu.com>
22375
22376 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22377
61d720e5
VS
223782010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22379
22380 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22381 echo if libdevmapper will be used.
22382
ef8e0ec8
IT
223832010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22384
22385 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22386 constant for the same file.
22387
03e261d8
VS
223882010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22389
22390 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22391
c2a4eba6
CW
223922010-09-02 Colin Watson <cjwatson@ubuntu.com>
22393
22394 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22395 grub-core/*.pp.
22396
9056cbf3
CW
223972010-09-02 Colin Watson <cjwatson@ubuntu.com>
22398
22399 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22400 required by the boot protocol.
22401
22402 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22403 ebp and edi members.
22404 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22405 state.ebp and state.edi.
22406 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22407 %ebp and %edi according to grub_relocator32_ebp and
22408 grub_relocator32_edi respectively.
22409 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22410 and state.edi.
22411
529cc99a
VS
224122010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22413
22414 Add i386-pc-pxe image target.
22415
22416 * util/grub-mkimage.c (image_target_desc): New enum value
22417 IMAGE_I386_PC_PXE.
22418 (image_targets): New target i386-pc-pxe.
22419 (generate_image): Handle i386-pc-pxe image.
22420
9a093920
VS
224212010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22422
22423 Fix grub_pxe_scan.
22424
22425 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22426 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22427 All users updated.
22428 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22429 (grub_pxe_pxenv): Correct type.
22430
f9cefc4e
CW
224312010-09-01 Colin Watson <cjwatson@ubuntu.com>
22432
22433 * NEWS: Document most of the important changes since 1.98.
22434
4066f57f
CW
224352010-09-01 Colin Watson <cjwatson@ubuntu.com>
22436
22437 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22438 generated manual page) a little.
22439
da2891f9
CW
224402010-09-01 Colin Watson <cjwatson@ubuntu.com>
22441
22442 * docs/grub.texi: Add myself as an author.
22443
ad717fae
VS
224442010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22445
22446 * Makefile.util.def (libgrub.a): Add missing sunpc.
22447 Reported by: Seth Goldberg.
22448
eefe8abd
VS
224492010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22450
22451 Interrupt wrapping and code simplifications.
22452
9494ef9a
VS
22453 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22454 x86_noieee1275 which are functionaly equivalent in this case.
22455 (grub-install): Make source on each platform explicit. Enable on
22456 all noemu.
22457 * gentpl.py (x86_efi_pc): Removed group.
22458 (x86_noefi): Likewise.
22459 (i386_noefi): Likewise.
22460 (x86_noieee1275): Likewise.
22461 (i386_noieee1275): Likewise.
22462 (i386_noefi_noieee1275): Likewise.
22463 (i386_pc_qemu_coreboot): Likewise.
22464 (i386_coreboot_multiboot): Likewise.
22465 (i386_pc_coreboot_multiboot_qemu): Likewise.
22466 (x86_noefi_mips): Likewise.
22467 (noieee1275): Likewise.
22468 (ieee1275_mips): Likewise.
22469 (noemu_noieee1275): Likewise.
22470 (cmos): New group.
22471 (usb): Likewise.
22472 (videoinkernel): Likewise.
22473 (videomodules): Likewise.
eefe8abd 22474 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22475 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22476 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22477 include/grub/loader.h, include/grub/msdos_partition.h,
22478 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22479 include/grub/machine/console.h, include/grub/machine/vga.h,
22480 include/grub/machine/vbe.h, include/grub/machine/init.h,
22481 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22482 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22483 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22484 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22485 * grub-core/Makefile.core.def (kernel): Explicit the source for
22486 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22487 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22488 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22489 Use videoinkernel tag.
22490 (usb): Enable on all usb.
22491 (usbserial_common): Likewise.
22492 (usbserial_pl2303): Likewise.
22493 (usbserial_ftdi): Likewise.
22494 (uhci): Enable on all x86.
22495 (ohci): Enable on all pci.
22496 (cmostest): Enable on all CMOS.
22497 (acpi): Include commands/acpi.c on all platforms.
22498 (halt): Add relevant lib/*/halt.c.
22499 (hdparm): Enable on all pci.
22500 (lspci): Likewise.
22501 (usbtest): Enable on all usb.
22502 (ata): Enable on all pci.
22503 (ata_pthru): Likewise.
22504 (usbms): Enable on all usb.
22505 (usb_keyboard): Likewise.
22506 (font): Use tag videomodules.
22507 (bufio): Likewise.
22508 (datetime): Use tag cmos. Enable on all noemu.
22509 (mmap): Use tags common and x86.
22510 (gfxterm): Use tag videomodules.
22511 (bitmap): Likewise.
22512 (bitmap_scale): Likewise.
22513 (video_fb): Likewise.
22514 (video): Likewise.
22515 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22516 adjust padding accordingly. All users updated.
22517 (grub_ohci_transaction): Fix bad format specification.
22518 (GRUB_MOD_INIT): Add asserts for struct size.
22519 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22520 (grub_alloc_td): Likewise.
22521 (grub_free_queue): Likewise.
22522 (grub_uhci_transfer): Likewise.
22523 (grub_uhci_transaction): Fix bad format specification.
22524 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22525 (grub_usb_bulk_readwrite): Likewise.
22526 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22527 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22528 Made static.
22529 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22530 Made static.
22531 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22532 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22533 Transformed into C.
22534 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22535 Moved from here ...
22536 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22537 ... here. Transformed into C. Made static.
22538 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22539 Moved from here ...
22540 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22541 ... here. Transformed into C. Made static.
22542 * grub-core/kern/i386/pc/startup.S
22543 (grub_biosdisk_check_int13_extensions): Moved from here ...
22544 * grub-core/disk/i386/pc/biosdisk.c
22545 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22546 Made static.
22547 * grub-core/kern/i386/pc/startup.S
22548 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22549 * grub-core/disk/i386/pc/biosdisk.c
22550 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22551 Transformed into C. Made static.
22552 * grub-core/kern/i386/pc/startup.S
22553 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22554 * grub-core/disk/i386/pc/biosdisk.c
22555 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22556 Transformed into C. Made static.
22557 * grub-core/kern/i386/pc/startup.S
22558 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22559 * grub-core/disk/i386/pc/biosdisk.c
22560 (grub_biosdisk_get_diskinfo_standard): ... here.
22561 Transformed into C. Made static.
22562 * grub-core/kern/i386/pc/startup.S
22563 (grub_biosdisk_get_num_floppies): Moved from here ...
22564 * grub-core/disk/i386/pc/biosdisk.c
22565 (grub_biosdisk_get_num_floppies): ... here.
22566 Transformed into C. Made static.
22567 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22568 New function.
22569 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22570 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22571 Transformed into C. Made static.
22572 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22573 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22574 Transformed into C. Made static.
22575 * grub-core/kern/i386/ieee1275/init.c: Removed.
22576 * grub-core/kern/i386/misc.S: Likewise.
22577 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22578 Splitted from here ...
22579 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22580 Transformed into C. Made static. All users updated.
22581 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22582 Transformed into C. Made static. All users updated.
22583 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22584 Moved from here...
22585 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22586 Transformed into C. Made static. All users updated.
22587 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22588 Moved from here...
22589 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22590 Transformed into C. Made static. All users updated.
22591 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22592 Removed (replaced by C version).
22593 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22594 Moved from here...
22595 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22596 Transformed into C. Made static.
22597 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22598 Moved from here...
22599 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22600 ... here. Transformed into C.
22601 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22602 Moved from here...
22603 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22604 ... here. Transformed into C.
22605 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22606 Moved from here...
22607 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22608 ... here. Transformed into C. Made static.
22609 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22610 Moved from here...
22611 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22612 ... here. Transformed into C.
21ed554b
VS
22613 * grub-core/kern/i386/pc/startup.S
22614 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22615 * grub-core/video/i386/pc/vbe.c
22616 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22617 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22618 Moved from here...
22619 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22620 ... here. Transformed into C.
22621 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22622 Moved from here...
22623 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22624 ... here. Transformed into C.
22625 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22626 Moved from here...
22627 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22628 ... here. Transformed into C.
22629 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22630 Moved from here...
22631 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22632 ... here. Transformed into C.
22633 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22634 Moved from here...
22635 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22636 ... here. Transformed into C. Made static.
22637 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22638 Moved from here...
22639 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22640 ... here. Transformed into C. Made static.
22641 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22642 Moved from here...
22643 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22644 ... here. Transformed into C. Made static.
22645 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22646 pxe_rm_entry as third argument.
22647 (grub_bios_interrupt): New function.
22648 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22649 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22650 of calling grub_stop.
22651 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22652 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22653 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22654 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22655 * grub-core/lib/i386/halt.c: Moved from here ...
22656 * grub-core/lib/i386/halt.c: ... here.
22657 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22658 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22659 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22660 grub_stop_floppy.
22661 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22662 * include/grub/i386/coreboot/init.h: Removed.
22663 * include/grub/i386/multiboot/init.h: Likewise.
22664 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22665 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22666 * include/grub/i386/pc/int.h: New file.
22667 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22668 (grub_pxe_scan): Removed.
22669 (grub_pxe_call): Update prototype.
22670 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22671 prototypes.
22672 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22673 * include/grub/i386/qemu/init.h: Removed.
22674 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22675 noreturn.
22676 (grub_halt): Likewise.
22677 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22678 (grub_reboot): Likewise.
22679 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22680 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22681 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22682
215dd471
RM
226832010-08-30 Robert Millan <rmh@gnu.org>
22684
22685 * NEWS: Document addition of ZFS support in `grub-install' and
22686 `grub-mkconfig'.
22687
ebd65b82
BC
226882010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22689
22690 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22691 dprintf output.
22692
11721d19
VS
226932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22694
22695 Remove leftover embedding of font objects.
22696
22697 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22698 * util/grub-install.in (font): Removed.
22699 * util/grub-mkimage.c (generate_image): Remove font support. All users
22700 updated.
22701
37837d4e
VS
227022010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22703
22704 Remove leftover embedding of font objects.
22705
22706 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22707 * util/grub-install.in (font): Removed.
22708 * util/grub-mkimage.c (generate_image): Remove font support. All users
22709 updated.
22710
b4c1aae0
VS
227112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22712
22713 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 22714 Reported by: Ian Turner
b4c1aae0 22715
8920a08d
VS
227162010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22717
22718 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22719 timeout to avoid indefinite boot stalling.
22720
f21db033
VS
227212010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22722
22723 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22724 (grub_env_write_color_highlight): Likewise.
22725
9a9de209
VS
227262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22727
22728 * grub-core/normal/term.c (print_more): Return to normal and not
22729 to standard state after printing "---MORE---".
22730
3dca01d7
VS
227312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22732
22733 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22734 Mask out the bit 0x80 since it has other meaning that specifiing color.
22735
0b986c40
VS
227362010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22737
22738 New relocator. Allows for more kernel support and more straightforward
22739 loader writing.
22740
22741 * Makefile.am (BOOTTARGET): New variable.
22742 (QEMU32): Likewise.
22743 (linux.init.x86_64): New target.
22744 (linux.init.i386): Likewise.
22745 (multiboot.elf): Likewise.
22746 (kfreebsd.elf): Likewise.
22747 (kfreebsd.aout): Likewise.
22748 (pc-chainloader.elf): Likewise.
22749 (pc-chainloader.bin): Likewise.
22750 (ntldr.elf): Likewise.
22751 (ntldr.bin): Likewise.
22752 (multiboot2.elf): Likewise.
22753 (kfreebsd.init.x86_64): Likewise.
22754 (kfreebsd.init.i386): Likewise.
22755 (knetbsd.init.i386): Likewise.
22756 (kopenbsd.init.i386): Likewise.
22757 (knetbsd.init.x86_64): Likewise.
22758 (kopenbsd.init.x86_64): Likewise.
22759 (linux-initramfs.i386): Likewise.
22760 (linux-initramfs.x86_64): Likewise.
22761 (kfreebsd-mfsroot.i386.img): Likewise.
22762 (knetbsd.image.i386): Likewise.
22763 (kopenbsd.image.i386): Likewise.
22764 (kopenbsd.image.x86_64): Likewise.
22765 (knetbsd.miniroot-image.i386.img): Likewise.
22766 (kfreebsd-mfsroot.x86_64.img): Likewise.
22767 (knetbsd.image.x86_64): Likewise.
22768 (knetbsd.miniroot-image.x86_64.img): Likewise.
22769 (kfreebsd-mfsroot.i386.gz): Likewise.
22770 (bootcheck-kfreebsd-i386): Likewise.
22771 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22772 (bootcheck-kfreebsd-x86_64): Likewise.
22773 (knetbsd.miniroot-image.i386.gz): Likewise.
22774 (bootcheck-knetbsd-i386): Likewise.
22775 (bootcheck-kopenbsd-i386): Likewise.
22776 (bootcheck-kopenbsd-x86_64): Likewise.
22777 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22778 (bootcheck-knetbsd-x86_64): Likewise.
22779 (bootcheck-linux-i386): Likewise.
22780 (bootcheck-linux-x86_64): Likewise.
22781 (bootcheck-linux16-i386): Likewise.
22782 (bootcheck-linux16-x86_64): Likewise.
22783 (bootcheck-multiboot): Likewise.
22784 (bootcheck-multiboot2): Likewise.
22785 (bootcheck-kfreebsd-aout): Likewise.
22786 (bootcheck-pc-chainloader): Likewise.
22787 (bootcheck-ntldr): Likewise.
22788 (CLEANFILES): Add new targets.
22789 (BOOTCHECKS): New variable.
22790 (.PHONY): Add bootchecks.
22791 (SUCCESSFUL_BOOT_STRING): New variable.
22792 (BOOTCHECK_TIMEOUT): Likewise.
22793 (bootcheck): New target
22794 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22795 * configure.ac: Correct efiemu excuse.
22796 * docs/grub.texi (Supported kernels): New chapter.
22797 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22798 include/grub/mm_private.h. Simplify inclusion of
22799 include/grub/boot.h, include/grub/loader.h
22800 and include/grub/msdos_partition.h
22801 (KERNEL_HEADER_FILES) [i386_coreboot]:
22802 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22803 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22804 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22805 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22806 include/grub/machine/loader.h.
22807 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22808 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22809 extra_dist.
22810 (pci.mod): Enable on i386-multiboot.
22811 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22812 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22813 i386-qemu.
22814 (relocator.mod): Rewritten.
22815 (aout.mod): Enable on all x86.
22816 (bsd.mod): Likewise.
22817 (ntldr.mod): New module.
22818 (linux.mod): Use loader/i386/linux.c on all x86.
22819 (xnu.mod): Enable on all x86.
22820 (vga_text.mod): disable on EFI and QEMU.
22821 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22822 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22823 * grub-core/efiemu/loadcore.c: Likewise.
22824 * grub-core/efiemu/main.c: Likewise.
22825 (grub_efiemu_exit_boot_services): Removed.
22826 (grub_efiemu_finish_boot_services): Likewise.
22827 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22828 function.
22829 * grub-core/efiemu/i386/nocfgtables.c: New file.
22830 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22831 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22832 (grub_efi_finish_boot_services): Moved from here ...
22833 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22834 Fille finish memory map and related data.
22835 (finish_mmap_buf): New variable.
22836 (grub_efi_uintn_t finish_mmap_size): Likewise.
22837 (grub_efi_uintn_t finish_key): Likewise.
22838 (grub_efi_uintn_t finish_desc_size): Likewise.
22839 (grub_efi_uint32_t finish_desc_version): Likewise.
22840 (grub_efi_is_finished): Likewise.
22841 (grub_efi_get_memory_map): Use saved memory map if EFI is already
22842 finished.
22843 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
22844 (grub_elf64_phdr_iterate): Likewise.
22845 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
22846 (grub_os_area_size): Likewise.
22847 (grub_machine_init): Don't reserve os area.
22848 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
22849 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
22850 * grub-core/kern/i386/loader.S: Removed.
22851 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
22852 (grub_os_area_size): Likewise.
22853 (grub_machine_init): Don't reserve os area.
22854 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
22855 Don't call grub_dl_unload_all.
22856 Don't include loader.S.
22857 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
22858 Declare the memory after _end as available.
22859 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 22860 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 22861 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
22862 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
22863 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
22864 * include/grub/mm_private.h (grub_mm_header): ... here.
22865 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
22866 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
22867 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
22868 (grub_mm_region): ..here. Removed addr. Added pre_size.
22869 All users updated.
22870 * grub-core/kern/mm.c (base): Renamed to ...
22871 (grub_mm_base): ... this. Made global.
22872 (grub_real_malloc): Alloc from end of region.
22873 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
22874 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
22875 * grub-core/kern/powerpc/cache_flush.S: ... here.
22876 * grub-core/lib/efi/relocator.c: New file.
22877 * grub-core/lib/i386/relocator.c: Rewritten.
22878 * grub-core/lib/i386/relocator16.S: New file.
22879 * grub-core/lib/i386/relocator32.S: Likewise.
22880 * grub-core/lib/i386/relocator64.S: Likewise.
22881 * grub-core/lib/i386/relocator_asm.S: Rewritten.
22882 * grub-core/lib/i386/relocator_common.S: New file.
22883 * grub-core/lib/ieee1275/relocator.c: Likewise.
22884 * grub-core/lib/mips/relocator.c: Rewritten.
22885 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
22886 stylistic adjustments.
22887 * grub-core/lib/powerpc/relocator.c: New file.
22888 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
22889 * grub-core/lib/relocator.c: Rewritten.
22890 * grub-core/lib/x86_64/relocator_asm.S: New file.
22891 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
22892 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
22893 (bsd_tag): New struct.
22894 (tags): New variable.
22895 (tags_last): Likewise.
22896 (netbsd_module): New struct.
22897 (netbsd_mods): New variable.
22898 (netbsd_mods_last): Likewise.
22899 (openbsd_opts): New parameter "serial".
22900 (OPENBSD_SERIAL_ARG): New definition.
22901 (netbsd_opts): New parameter "serial".
22902 (NETBSD_SERIAL_ARG): New definition.
22903 (grub_freebsd_add_meta): Reorganised into ...
22904 (grub_bsd_add_meta): ...this. All users updated.
22905 (grub_freebsd_add_mmap): Reorganised into ...
22906 (generate_e820_mmap): ...this...
22907 (grub_bsd_add_mmap): ...and this. All users updated.
22908 (grub_freebsd_list_modules): Use tags.
22909 (grub_netbsd_add_meta_module): New function.
22910 (grub_netbsd_list_modules): Likewise.
22911 (grub_freebsd_boot): Use relocator and finish EFI.
22912 (grub_openbsd_boot): Likewise.
22913 (grub_netbsd_setup_video): New function.
22914 (grub_netbsd_add_modules): Likewise.
22915 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
22916 and finish EFI.
22917 (grub_bsd_unload): Unload tags.
22918 (grub_bsd_load_aout): Use relocator.
22919 (grub_bsd_elf32_size_hook): New function.
22920 (grub_bsd_elf32_hook): Use relocator.
22921 (grub_bsd_elf64_size_hook): New function.
22922 (grub_bsd_elf64_hook): Use relocator.
22923 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
22924 (grub_bsd_load): Zero-out openbsd_ramdisk.
22925 (grub_bsd_load): Use relocator.
22926 (grub_cmd_openbsd): Support serial.
22927 (grub_cmd_netbsd): Support modules.
22928 (grub_cmd_freebsd_module): Use relocator.
22929 (grub_netbsd_module_load): New function.
22930 (grub_cmd_netbsd_module): Likewise.
22931 (grub_cmd_openbsd_ramdisk): Likewise.
22932 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
22933 kopenbsd_ramdisk.
22934 (GRUB_MOD_FINI): Unregister new commands.
22935 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
22936 (grub_freebsd_load_elfmodule_obj): Use relocator.
22937 (grub_freebsd_load_elfmodule): Likewise.
22938 (grub_freebsd_load_elf_meta): Likewise.
22939 (grub_netbsd_load_elf_meta): New function.
22940 (grub_openbsd_find_ramdisk): Likewise.
22941 * grub-core/loader/i386/bsd_helper.S: Removed.
22942 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
22943 * grub-core/loader/i386/bsd_trampoline.S: Removed.
22944 * grub-core/loader/i386/efi/linux.c: Likewise.
22945 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
22946 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
22947 (DEFAULT_VIDEO_MODE): Likewise.
22948 (real_mode_target): New variable.
22949 (prot_mode_target): Likewise.
22950 (initrd_mem_target): Likewise.
22951 (relocator): Likewise.
22952 (efi_mmap_buf): Likewise.
22953 (efi_mmap_size): Likewise.
22954 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
22955 (free_pages): Use relocator.
22956 (allocate_pages): Account for efi_mmap and use relocator. Return error.
22957 (grub_linux_setup_video): Return error.
22958 (grub_linux_trampoline_start): Removed.
22959 (grub_linux_trampoline_end): Likewise.
22960 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
22961 andd video parameters depending on firmware.
22962 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
22963 [GRUB_MACHINE_EFI]: Pass EFI parameters.
22964 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
22965 (grub_cmd_initrd): Use relocator.
22966 * grub-core/loader/i386/linux_trampoline.S: Removed.
22967 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
22968 (elf_sec_entsize): Likewise.
22969 (elf_sec_shstrndx): Likewise.
22970 (elf_sections): Likewise.
22971 (grub_multiboot_load): Use relocator.
22972 (grub_multiboot_get_mbi_size): Account for sections.
22973 (grub_multiboot_make_mbi): Use relocator and support sections.
22974 (grub_multiboot_add_elfsyms): New function.
22975 (grub_multiboot_free_mbi): Free sections.
22976 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
22977 (grub_linux_real_target): Likewise.
22978 (grub_linux_real_chunk): Likewise.
22979 (grub_linux16_prot_size): Likewise.
22980 (grub_linux16_boot): Use relocator.
22981 (grub_linux_unload): Unload relocator.
22982 (grub_cmd_linux): Use relocator.
22983 (grub_cmd_initrd): Likewise.
22984 * grub-core/loader/i386/pc/ntldr.c: New file.
22985 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
22986 Don't try to guess CPU frequency.
22987 (grub_xnu_set_video): Stretch bitmap.
22988 (grub_xnu_boot): Use relocator.
22989 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
22990 (grub_linux_unload): Free relocator.
22991 (grub_linux_load32): Use relocator.
22992 (grub_linux_load64): Likewise.
22993 (grub_cmd_initrd): Likewise.
22994 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
22995 (grub_multiboot_unload): Unload relocator.
22996 (grub_cmd_multiboot): Use relocator.
22997 (grub_cmd_module): Likewise.
22998 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
22999 Use relocator and support sections.
23000 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23001 (elf_sec_entsize): Likewise.
23002 (elf_sec_shstrndx): Likewise.
23003 (elf_sections): Likewise.
23004 (grub_multiboot_load): Use relocator.
23005 (grub_multiboot_get_mbi_size): Account for sections.
23006 (grub_multiboot_make_mbi): Use relocator and support sections.
23007 (grub_multiboot_add_elfsyms): New function.
23008 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23009 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23010 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23011 Prototype changed. All users updated.
23012 (grub_xnu_align_heap): Simplified.
23013 (grub_xnu_writetree_toheap): Likewise.
23014 (grub_xnu_unload): Unload relocator.
23015 (grub_cmd_xnu_kernel): Use relocator.
23016 (grub_cmd_xnu_kernel64): Likewise.
23017 (grub_xnu_register_memory): Simplified.
23018 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23019 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23020 EFI is finished.
23021 (grub_console_checkkey): Likewise.
23022 (grub_console_getkey): Likewise.
23023 (grub_console_getwh): Likewise.
23024 (grub_console_getxy): Likewise.
23025 (grub_console_gotoxy): Likewise.
23026 (grub_console_cls): Likewise.
23027 (grub_console_setcolorstate): Likewise.
23028 (grub_console_setcursor): Likewise.
23029 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23030 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23031 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23032 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23033 * grub-core/tests/boot/kernel-8086.S: Likewise.
23034 * grub-core/tests/boot/kernel-i386.S: Likewise.
23035 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23036 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23037 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23038 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23039 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23040 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23041 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23042 * grub-core/tests/boot/linux.cfg: Likewise.
23043 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23044 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23045 * grub-core/tests/boot/linux16.cfg: Likewise.
23046 * grub-core/tests/boot/multiboot.cfg: Likewise.
23047 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23048 * grub-core/tests/boot/ntldr.cfg: Likewise.
23049 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23050 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23051 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23052 New definition.
23053 * include/grub/dl.h (grub_dl_unload_all): Removed.
23054 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23055 (grub_efi_finish_boot_services): Change prototype.
23056 (grub_efi_is_finished): New variable.
23057 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23058 Changed prototype.
23059 (grub_efiemu_finish_boot_services): Removed.
23060 (grub_machine_efiemu_init_tables): New prototype.
23061 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23062 (grub_elf64_phdr_iterate): Likewise.
23063 * include/grub/i386/bsd.h: Include relocator.h.
23064 (freebsd_tag_header): New struct.
23065 (grub_openbsd_bios_mmap): Removed.
23066 (grub_unix_real_boot): Removed.
23067 (grub_freebsd_load_elfmodule32): Changed prototype.
23068 (grub_freebsd_load_elfmodule_obj64): Likewise.
23069 (grub_freebsd_load_elf_meta32): Likewise.
23070 (grub_freebsd_load_elf_meta64): Likewise.
23071 (grub_freebsd_add_meta): Removed.
23072 (grub_netbsd_load_elf_meta32): New prototype.
23073 (grub_netbsd_load_elf_meta64): Likewise.
23074 (grub_bsd_add_meta): Likewise.
23075 (grub_openbsd_ramdisk_descriptor): New struct.
23076 (grub_openbsd_find_ramdisk32): New prototype.
23077 (grub_openbsd_find_ramdisk64): Likewise.
23078 * include/grub/i386/coreboot/loader.h: Removed.
23079 * include/grub/i386/efi/loader.h: Likewise.
23080 * include/grub/i386/ieee1275/loader.h: Likewise.
23081 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23082 to grub_uint32_t.
23083 * include/grub/i386/loader.h: Removed.
23084 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23085 value.
23086 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23087 (grub_phys_addr_t): New type.
23088 (grub_vtop): New inline function.
23089 (grub_map_memory): Likewise.
23090 (grub_unmap_memory): Likewise.
23091 * include/grub/i386/multiboot/loader.h: Removed.
23092 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23093 (NETBSD_BTINFO_CONSOLE): New definition.
23094 (NETBSD_BTINFO_SYMTAB): Likewise.
23095 (NETBSD_BTINFO_MODULES): Likewise.
23096 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23097 (grub_netbsd_bootinfo): New struct.
23098 (grub_netbsd_btinfo_common): Use explicit bitsize.
23099 (grub_netbsd_btinfo_mmap_entry): Removed.
23100 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23101 (grub_netbsd_btinfo_bootdisk): New struct.
23102 (grub_netbsd_btinfo_symtab): Likewise.
23103 (grub_netbsd_btinfo_serial): Likewise.
23104 (grub_netbsd_btinfo_modules): Likewise.
23105 (grub_netbsd_btinfo_framebuf): Likewise.
23106 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23107 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23108 Likewise.
23109 (grub_openbsd_bootargs): Use explicit bitsize.
23110 (grub_openbsd_bootarg_console): New struct.
23111 (GRUB_OPENBSD_COM_MAJOR): New definition.
23112 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23113 * include/grub/i386/pc/efiemu.h: Removed.
23114 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23115 * include/grub/i386/qemu/loader.h: Removed.
23116 * include/grub/i386/relocator.h: Rewritten.
23117 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23118 * include/grub/mips/memory.h: New file.
23119 * include/grub/mips/multiboot.h: Rewritten.
23120 * include/grub/mips/relocator.h: Rewritten.
23121 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23122 (grub_vtop): New function.
23123 (grub_map_memory): Likewise.
23124 (grub_unmap_memory): Likewise.
23125 * include/grub/misc.h (ALIGN_DOWN): New definition.
23126 * include/grub/mm.h (grub_mm_check_real): New proto.
23127 (GRUB_MM_CHECK): New definition.
23128 * include/grub/mm_private.h: New file.
23129 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23130 (grub_multiboot_get_mbi_size): Removed.
23131 (grub_multiboot_make_mbi): Change prottype.
23132 (grub_multiboot_set_accepts_video): New proto.
23133 (grub_multiboot_add_elfsyms): Likewise.
23134 (grub_multiboot_payload_eip): New variable.
23135 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23136 New prototype.
23137 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23138 New definition.
23139 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23140 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23141 * include/grub/powerpc/ieee1275/loader.h: Removed.
23142 * include/grub/powerpc/memory.h: New file.
23143 * include/grub/powerpc/relocator.h: Likewise.
23144 * include/grub/relocator.h: Likewise.
23145 * include/grub/relocator_private.h: Likewise.
23146 * include/grub/sparc64/ieee1275/loader.h: Removed.
23147 * include/grub/x86_64/memory.h: New file.
23148 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23149 (grub_xnu_heap_malloc): Likewise.
23150 (grub_xnu_heap_real_start): Removed.
23151 (grub_xnu_heap_start): Likewise.
23152 (grub_xnu_relocator): New variable.
23153 (grub_xnu_heap_target_start): Likewise.
23154 * tests/util/grub-shell.in: Support non-pc.
23155 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23156
5303b85d
VS
231572010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23158
23159 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23160 on malloc error.
23161 (grub_bidi_logical_to_visual): Check that malloc succeded.
23162 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23163 puts.
23164 (grub_xputs_normal): Likewise.
23165
d768d159
VS
231662010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23167
23168 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23169 extra_dist.
23170
231712010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23172
23173 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23174
5bf84df4
VS
231752010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23176
23177 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23178
3626810e
VS
231792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23180
23181 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23182 dprintf.
23183
a7363f53
BC
231842010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23185
23186 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23187
902f75f6
VS
231882010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23189
23190 * grub-core/normal/term.c (print_more): Fix a memory leak.
23191 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23192 (grub_xputs_normal): Likewise.
23193
3c707967
VS
231942010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23195
23196 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23197 the begining of the string
23198
2053cc07
VS
231992010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23200
23201 * grub-core/script/script.c (grub_script_parse): Free parsed on
23202 failure.
23203
46422ebf
VS
232042010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23205
23206 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23207 on failure.
23208
9e0fa3f6
VS
232092010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23210
23211 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23212 return.
23213
3393cf16
VS
232142010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23215
23216 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23217 (scroll_up): Fix a memory leak.
23218
b17540cb
VS
232192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23220
23221 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23222 errors.
23223
67140446
VS
232242010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23225
23226 Handle USB pendrives exposed as floppies.
23227
23228 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23229 floppy.
23230 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23231 Check for partitions on all devices.
23232
e35e46fc
VS
232332010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23234
23235 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23236 (readkey): Likewise.
23237
d24c6190
BC
232382010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23239
23240 Multiple variable names support to "export" command.
23241
23242 * normal/context.c (grub_cmd_export): "export" command supports
23243 multiple variable names.
23244
04ddcc6a
ST
232452010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23246
23247 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23248 --target=drive output to Mach device name.
23249
0c8b61d8
BC
232502010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23251
23252 New Automake based build system for GRUB.
23253
23254 * ABOUT-NLS: New file.
23255 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23256 in Makefile.util.def file.
23257 * Makefile.util.def: New file. Autogen build definitions file for
23258 GRUB host utils.
23259 * conf/Makefile.common: New file. Common variables for GRUB host
23260 utils and target modules.
23261 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23262 * docs/Makefile.am: New file. Automake file for docs.
23263 * gentpl.py: New file. Python script to generate Autogen
23264 template.
23265 * grub-core/Makefile.am: New file. GRUB target modules' rules
23266 that doesn't fit in Makefile.core.def file.
23267 * grub-core/Makefile.core.def: New file. Autogen build
23268 definitions file for GRUB target modules.
23269 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23270 specific setjmp.S file.
23271 * po/Makefile.am: New file.
23272
23273 * .bzrignore: New ignores.
23274 * INSTALL: New requirements, without Ruby.
23275 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23276 * autogen.sh: Updated to invoke autogen as necessary.
23277 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23278 and defines for Automake conditionals.
23279 * geninit.sh: Refactoring.
23280
23281 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23282 necessary.
23283 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23284 New prototype.
23285
23286 * include/grub/test.h: Fix functional test modules' naming.
23287 * grub-core/tests/example_functional_test.c: Fix test module name.
23288
23289 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23290 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23291 * util/grub-editenv.c: Likewise.
23292 * util/grub-fstest.c: Likewise.
23293 * util/grub-mkdevicemap.c: Likewise.
23294 * util/grub-mkfont.c: Likewise.
23295 * util/grub-mkimage.c: Likewise.
23296 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23297 * util/grub-probe.c: Likewise.
23298 * util/grub-script-check.c: Likewise.
23299 * util/i386/pc/grub-setup.c: Likewise.
23300 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23301
23302 * tests/util/grub-shell.in: Fix override directory path.
23303 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23304 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23305
23306 * util/lvm.c: Update #includes.
23307 * util/raid.c: Likewise.
23308 * util/resolve.c: Likewise.
23309 * grub-core/bus/emu/pci.c: Likewise.
23310 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23311 * grub-core/lib/posix_wrap/string.h: Likewise.
23312 * grub-core/kern/emu/main.c: Likewise.
23313
23314 * grub-core/gensymlist.sh: New file. Script for generating kernel
23315 symbols file.
23316 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23317
23318 * grub-core/gentrigtables.c: Fix unused variable warnings.
23319
23320 * Makefile.in: Removed.
23321 * conf/any-emu.rmk: Removed.
23322 * conf/common.rmk: Removed.
23323 * conf/i386-coreboot.rmk: Removed.
23324 * conf/i386-efi.rmk: Removed.
23325 * conf/i386-ieee1275.rmk: Removed.
23326 * conf/i386-multiboot.rmk: Removed.
23327 * conf/i386-pc.rmk: Removed.
23328 * conf/i386-qemu.rmk: Removed.
23329 * conf/i386.rmk: Removed.
23330 * conf/mips-yeeloong.rmk: Removed.
23331 * conf/mips.rmk: Removed.
23332 * conf/powerpc-ieee1275.rmk: Removed.
23333 * conf/sparc64-ieee1275.rmk: Removed.
23334 * conf/tests.rmk: Removed.
23335 * conf/x86-efi.rmk: Removed.
23336 * conf/x86_64-efi.rmk: Removed.
23337 * gendistlist.sh: Removed.
23338 * geninitheader.sh: Removed.
23339 * genkernsyms.sh.in: Removed.
23340 * genmk.rb: Removed.
23341 * gensymlist.sh.in: Removed.
23342 * mkinstalldirs: Removed.
23343 * boot: Moved ...
23344 * grub-core/boot: ... to here.
23345 * bus: Moved ...
23346 * grub-core/bus: ... to here.
23347 * commands: Moved ...
23348 * grub-core/commands: ... to here.
23349 * disk: Moved ...
23350 * grub-core/disk: ... to here.
23351 * efiemu: Moved ...
23352 * grub-core/efiemu: ... to here.
23353 * font: Moved ...
23354 * grub-core/font: ... to here.
23355 * fs: Moved ...
23356 * grub-core/fs: ... to here.
23357 * gencmdlist.sh: Moved ...
23358 * grub-core/gencmdlist.sh: ... to here.
23359 * genemuinit.sh: Moved ...
23360 * grub-core/genemuinit.sh: ... to here.
23361 * genemuinitheader.sh: Moved ...
23362 * grub-core/genemuinitheader.sh: ... to here.
23363 * genfslist.sh: Moved ...
23364 * grub-core/genfslist.sh: ... to here.
23365 * genhandlerlist.sh: Moved ...
23366 * grub-core/genhandlerlist.sh: ... to here.
23367 * genmoddep.awk: Moved ...
23368 * grub-core/genmoddep.awk: ... to here.
23369 * genmodsrc.sh: Moved ...
23370 * grub-core/genmodsrc.sh: ... to here.
23371 * genpartmaplist.sh: Moved ...
23372 * grub-core/genpartmaplist.sh: ... to here.
23373 * genparttoollist.sh: Moved ...
23374 * grub-core/genparttoollist.sh: ... to here.
23375 * genterminallist.sh: Moved ...
23376 * grub-core/genterminallist.sh: ... to here.
23377 * gentrigtables.c: Moved ...
23378 * grub-core/gentrigtables.c: ... to here.
23379 * genvideolist.sh: Moved ...
23380 * grub-core/genvideolist.sh: ... to here.
23381 * gettext: Moved ...
23382 * grub-core/gettext: ... to here.
23383 * gfxmenu: Moved ...
23384 * grub-core/gfxmenu: ... to here.
23385 * gnulib: Moved ...
23386 * grub-core/gnulib: ... to here.
23387 * hello: Moved ...
23388 * grub-core/hello: ... to here.
23389 * hook: Moved ...
23390 * grub-core/hook: ... to here.
23391 * io: Moved ...
23392 * grub-core/io: ... to here.
23393 * kern: Moved ...
23394 * grub-core/kern: ... to here.
23395 * lib: Moved ...
23396 * grub-core/lib: ... to here.
23397 * loader: Moved ...
23398 * grub-core/loader: ... to here.
23399 * mmap: Moved ...
23400 * grub-core/mmap: ... to here.
23401 * normal: Moved ...
23402 * grub-core/normal: ... to here.
23403 * partmap: Moved ...
23404 * grub-core/partmap: ... to here.
23405 * parttool: Moved ...
23406 * grub-core/parttool: ... to here.
23407 * script: Moved ...
23408 * grub-core/script: ... to here.
23409 * term: Moved ...
23410 * grub-core/term: ... to here
23411 * tests/example_functional_test.c: Moved ...
23412 * grub-core/tests/example_functional_test.c: ... to here.
23413 * tests/lib/functional_test.c: Moved ...
23414 * grub-core/tests/lib/functional_test.c: ... to here.
23415 * tests/lib/test.c: Moved ...
23416 * grub-core/tests/lib/test.c: ... to here.
23417 * video: Moved ...
23418 * grub-core/video: ... to here.
23419
645586e6
BC
234202010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23421
23422 Replace --enable-grub-emu-modules with grub-emu-lite.
23423
23424 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23425 cache.S.
23426
23427 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23428 * kern/emu/full.c: New file. For grub-emu specific initialization.
23429 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23430 * kern/emu/main.c: Call initialization function grub_emu_init.
23431
23432 * Makefile.in: Include grub-emu-lite in install.
23433 * commands/parttool.c: Use grub_no_autoload to differentiate
23434 between grub-emu and grub-emu-lite.
23435 * include/grub/misc.h: New variable grub_no_autoload.
23436
23437 * conf/any-emu.rmk: New rules for grub-emu-lite.
23438 * configure.ac: Remove --enable-grub-emu-modules.
23439 * genmk.rb: Cleanup unnecessary rules.
23440 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23441
23442 * normal/main.c: Don't load list files on grub-emu-lite.
23443 * util/misc.c (grub_arch_sync_caches): Removed.
23444
f86a4030
CW
234452010-08-23 Colin Watson <cjwatson@ubuntu.com>
23446
23447 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23448 grub-mkimage rather than grub-mkelfimage.
23449 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23450
06776944
VS
234512010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23452
23453 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23454 a key after CapsLock or NumLock. It's just a qemu bug.
23455
df262419
VS
234562010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23457
23458 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23459 needed by libusb wrapper.
23460
b40ea81b
ST
234612010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23462
23463 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23464
dee50575
VS
234652010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23466
23467 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23468 --nounzip is passed.
23469
fb1d7b79
VS
234702010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23471
23472 USB hotunplugging and USB serial support.
23473
23474 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23475 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23476 (grub_uhci_transfer): Respect timeout and set *actual.
23477 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23478 non-standard length.
23479 (grub_usb_device_attach): Autoload modules.
23480 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23481 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23482 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23483 users updated.
23484 (grub_usb_add_hub): Fill nports and children.
23485 (attach_root_port): Receive hub instead of controller.
23486 All users updated. Fill hub->devices.
23487 (grub_usb_root_hub): Allocate hub->devices.
23488 (detach_device): New function.
23489 (poll_nonroot_hub): Fill children and detach devices.
23490 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23491 actual arguments. All users updated.
23492 (grub_usb_bulk_read_extended): New function.
23493 * bus/usb/serial/common.c: New file.
23494 * bus/usb/serial/ftdi.c: Likewise.
23495 * bus/usb/serial/pl2303.c: Likewise.
23496 * commands/terminal.c (handle_command): Support wildcard.
23497 * commands/usbtest.c: Output "Unknown" instead of empty string.
23498 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23499 (usbserial_common_mod_SOURCES): New variable.
23500 (usbserial_common_mod_CFLAGS): Likewise.
23501 (usbserial_common_mod_LDFLAGS): Likewise.
23502 (pkglib_MODULES): Add usbserial_pl2303.mod.
23503 (usbserial_pl2303_mod_SOURCES): New variable.
23504 (usbserial_pl2303_mod_CFLAGS): Likewise.
23505 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23506 (pkglib_MODULES): Add usbserial_ftdi.mod.
23507 (usbserial_ftdi_mod_SOURCES): New variable.
23508 (usbserial_ftdi_mod_CFLAGS): Likewise.
23509 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23510 (pkglib_MODULES): Add serial.mod.
23511 (serial_mod_SOURCES): New variable.
23512 (serial_mod_CFLAGS): Likewise.
23513 (serial_mod_LDFLAGS): Likewise.
23514 * conf/i386-pc.rmk: Likewise.
23515 * conf/mips-yeeloong.rmk: Likewise.
23516 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23517 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23518 * disk/usbms.c (first_available_slot): New variable.
23519 (grub_usbms_attach): Don't reuse free slots due to potential cache
23520 problems.
23521 * include/grub/serial.h: Moved to ..
23522 * include/grub/ns8250.h: ...this.
23523 * include/grub/serial.h: New file.
23524 * include/grub/term.h (grub_term_poll_usb): New variable.
23525 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23526 readkey. All users updated.
23527 (grub_terminfo_output_state): Pass term to put.
23528 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23529 (grub_usb_controller_dev): Add timeout and actual arguments to
23530 transfer. All users updated.
23531 (grub_usb_interface): New field detach_data.
23532 (grub_usb_device): New fields children and nports.
23533 (grub_usb_ep_type_t): New type.
23534 (grub_usb_get_ep_type): New function.
23535 (grub_usb_bulk_read_extended): Likewise.
23536 * include/grub/usbdesc.h (grub_usb_desc): New type.
23537 * include/grub/usbserial.h: New file.
23538 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23539 * kern/term.c (grub_term_poll_usb): New variable.
23540 (grub_getkey): Call grub_term_poll_usb if set.
23541 (grub_checkkey): Likewise.
23542 (grub_getkeystatus): Likewise.
23543 * term/serial.c: Moved controller-specific parts to ...
23544 * term/ns8250.c: ... here.
23545 * term/serial.c: Mostly rewritten.
23546 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23547 according to spec.
23548
21a313de
RM
235492010-08-20 Robert Millan <rmh@gnu.org>
23550
23551 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23552 a separate module and maybe other interesting combinations.
23553
23554 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23555 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23556 (kfreebsd_entry): Add generic filesystem module load routine.
23557 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23558
63c734a6
CW
235592010-08-20 Colin Watson <cjwatson@ubuntu.com>
23560
23561 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23562 "numcenter" (I misunderstood the purpose of this entry).
23563 * docs/grub.texi (sendkey): Likewise.
23564
c4d16542
CW
235652010-08-20 Colin Watson <cjwatson@ubuntu.com>
23566
23567 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23568 status flag options; simply omitting the option is equivalent and
23569 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23570 (keysym_table): Rename "num5numlock" to "numlock".
23571 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23572 can uniformly say that only the last of multiple `sendkey'
23573 invocations has any effect.
23574 * docs/grub.texi (sendkey): New section.
23575
93541d66
CW
235762010-08-19 Colin Watson <cjwatson@ubuntu.com>
23577
23578 * commands/i386/pc/sendkey.c (options): Fix three typos.
23579
b4ece5e1
VS
235802010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23581
23582 Implement sendkey support.
23583
23584 * commands/i386/pc/sendkey.c: New file.
23585 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23586 (sendkey_mod_SOURCES): New variable.
23587 (sendkey_mod_CFLAGS): Likewise.
23588 (sendkey_mod_LDFLAGS): Likewise.
23589
51f1f5af
CW
235902010-08-18 Colin Watson <cjwatson@ubuntu.com>
23591
23592 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23593 fix warnings from Autoconf.
23594
9da94e05
CW
235952010-08-18 Colin Watson <cjwatson@ubuntu.com>
23596
23597 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23598 to avoid false positives with some assemblers that output things
23599 like "someprefix_func" as part of their output.
23600
729a0f2e
RM
236012010-08-15 Robert Millan <rmh@gnu.org>
23602
23603 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23604 errors.
23605 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23606 grub_get_libzfs_handle() errors.
23607
f3710e08
RM
236082010-08-14 Robert Millan <rmh@gnu.org>
23609
23610 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23611 filesystem is not ZFS.
23612
7a3c13de
BC
236132010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23614
23615 Fix for misspelled color names defaulting to black/black (bug
23616 reported by Doug Nazar)
23617
23618 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23619 status to prototype.
23620 * normal/color.c (grub_parse_color_name_pair): Return failure
23621 status.
23622 (grub_env_write_color_normal): Ignore bad color names.
23623 (grub_env_write_color_highlight): Likewise.
23624 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23625
ab8ba50d
BC
236262010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23627
23628 "shift" command support to GRUB script.
23629
23630 * include/grub/script_sh.h (grub_script_shift): New prototype.
23631 * script/execute.c (grub_script_shift): New function.
23632 * script/main.c (grub_script_init): Register shift command.
23633 (grub_script_fini): Unregister shift command.
23634 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23635
23636 * tests/grub_script_shift.in: New testcase.
23637 * conf/tests.rmk: Rules for new testcase.
23638
4d61999e
BC
236392010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23640
23641 "continue" command support to GRUB script.
23642
23643 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23644 (grub_script_break): Continue support.
23645 * script/main.c (grub_script_init): Register continue command.
23646 (grub_script_fini): Unregister continue command.
23647
23648 * tests/grub_script_continue.in: New testcase.
23649 * conf/tests.rmk: Rules for new testcase.
23650
4df51e00
BC
236512010-08-12 BVK Chaitanya <bvk@dbook>
23652
23653 "break" command support to GRUB script.
23654
23655 * conf/common.rmk: Rule updates to grub-script-check.
23656 * include/grub/misc.h (grub_min): New function.
23657 * include/grub/script_sh.h (grub_script_init): New prototype.
23658 (grub_script_fini): New prototype.
23659 (grub_script_break): New prototype.
23660 * script/main.c (grub_script_init): New function.
23661 (grub_script_fini): New function.
23662 * script/execute.c (grub_script_break): New function.
23663 * normal/main.c: Calls to grub_script_{init,fini}.
23664 * util/grub-script-check.c (grub_script_break): New function.
23665
23666 * tests/grub_script_break.in: New testcase.
23667 * conf/tests.rmk: Rules for new test case.
23668
f12c8420
BC
236692010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23670
23671 Function parameters support to GRUB script.
23672
23673 * script/yylex.l (VARIABLE): Regular expression update.
23674 * script/function.c (grub_script_function_call): Moved ...
23675 * script/execute.c (grub_script_function_call): ... to here.
23676 (grub_script_execute_arglist_to_argv): Removed.
23677 (grub_script_arglist_to_argv): New function.
23678 * script/argv.c: New file.
23679 (grub_script_argv_free): New function.
23680 (grub_script_argv_next): Likewise.
23681 (grub_script_argv_append): Likewise.
23682 (grub_script_argv_split_append): Likewise.
23683 * include/grub/script_sh.h (grub_script_argv): New struct.
23684 (grub_script_argv_free): New function.
23685 (grub_script_argv_next): Likewise.
23686 (grub_script_argv_append): Likewise.
23687 (grub_script_argv_split_append): Likewise.
23688
23689 * conf/common.rmk (normal.mod): New source script/argv.c.
23690
23691 * tests/grub_script_echo1.in: More tests.
23692 * tests/grub_script_vars1.in: Likewise.
23693 * tests/grub_script_functions.in: New test case.
23694 * conf/tests.rmk: Rules for new testcase.
23695
8022b748
BC
236962010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23697
23698 Remove grub_script_cmdblock struct.
23699
23700 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23701 * script/parser.y: Likewise.
23702 * script/execute.c: Rename cmdblock suffix to cmdlist.
23703 * script/script.c: Likewise.
23704 * util/grub-script-check.c: Likewise.
23705
79a6ba61
YB
237062010-08-11 Yves Blusseau <blusseau@zetam.org>
23707
23708 * .bzrignore: add grub-macho2img
23709
d04b9414
VS
237102010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23711
23712 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23713
f947ab49
VS
237142010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23715
23716 Remove the dump of sm712 initialisation sequence.
23717
23718 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23719 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23720 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23721 (GRUB_VGA_CR_*): Added many registers.
23722 (GRUB_VGA_SR_*): Likewise.
23723 (GRUB_VGA_GR_*): Likewise.
23724 (grub_vga_write_arx): New function.
23725 (grub_video_hw_config): New struct.
23726 (grub_vga_set_geometry): New function.
23727 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23728 GRUB_PCI_CLASS_SUBCLASS_VGA.
23729 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23730 * video/sm712.c (grub_sm712_write_reg): New function
23731 (grub_sm712_read_reg): Likewise.
23732 (grub_sm712_sr_write): Likewise.
23733 (grub_sm712_gr_write): Likewise.
23734 (grub_sm712_cr_write): Likewise.
23735 (grub_sm712_write_arx): Likewise.
23736 (grub_sm712_cr_shadow_write): Likewise.
23737 (grub_sm712_write_dda_lookup): Likewise.
23738 (grub_video_sm712_setup): Initialise the video rather then
23739 blindly replay the dump.
23740 (main) [TEST]: Add a routine to be able to compile as standalone for
23741 tests.
23742 * video/sm712_init.c (sm712_init): Removed.
23743 (sm712_sr_seq1): New array.
23744 (sm712_sr_seq2): Likewise.
23745
f0206638
VS
237462010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23747
23748 * include/grub/vga.h: Add missing grub/pci.h include.
23749
2764da3b
YB
237502010-08-10 Yves Blusseau <blusseau@zetam.org>
23751
23752 * util/grub-macho2img.c (main): fix typo
23753
cf0c775e
VS
237542010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23755
23756 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23757 (grub_vga_gr_read): Likewise.
23758 (grub_vga_cr_write): Likewise.
23759 (grub_vga_cr_read): Likewise.
23760 (grub_vga_sr_write): Likewise.
23761 (grub_vga_sr_read): Likewise.
23762 (grub_vga_palette_read): Likewise.
23763 (grub_vga_palette_write): Likewise.
23764 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23765 (grub_sm712_sr_read): New function.
23766 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23767 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23768
07f360e9
RM
237692010-08-09 Robert Millan <rmh@gnu.org>
23770
23771 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23772 out unused variables on non-ZFS build.
23773
346c2072
RM
237742010-08-08 Robert Millan <rmh@gnu.org>
23775
23776 Fix path generation for sub-filesystems in ZFS.
23777
23778 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23779 missing slash.
23780
71175420
RM
237812010-08-08 Robert Millan <rmh@gnu.org>
23782
23783 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23784
0d8286f3
RM
237852010-08-08 Robert Millan <rmh@gnu.org>
23786
23787 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23788 exist, issue a proper error message (rely on `ls' for translated
23789 strings).
23790
55dd2924
RM
237912010-08-08 Robert Millan <rmh@gnu.org>
23792
23793 Fix grub-probe invocation.
23794
23795 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23796
d3dd9e80
RM
237972010-08-04 Robert Millan <rmh@gnu.org>
23798
23799 * configure.ac: Remove checks for getfsstat() and getmntany().
23800 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23801 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23802 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23803 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23804 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23805 function.
23806 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23807 via find_mount_point_from_dir() and getfsstat() / getmntany().
23808
0de22aa9
RM
238092010-08-04 Robert Millan <rmh@gnu.org>
23810
23811 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23812 (grub_find_zpool_from_mount_point): Merge into ...
23813 (grub_find_zpool_from_dir): ... this.
23814 * kern/emu/misc.c: Likewise.
23815
23816 * kern/emu/misc.c
23817 (grub_make_system_path_relative_to_its_root): Replace
23818 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23819 with grub_find_zpool_from_dir().
23820 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23821
62858144
RM
238222010-08-04 Robert Millan <rmh@gnu.org>
23823
23824 Support OpenSolaris in ZFS device resolution.
23825
23826 * configure.ac: Check for getmntany().
23827 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23828 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23829 support.
23830
9dd6fd50
RM
238312010-08-03 Robert Millan <rmh@gnu.org>
23832
23833 Fix grub-emu build.
23834
23835 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23836 * include/grub/emu/misc.h: ... here.
23837
23838 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
23839 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
23840
23841 * util/misc.c: Remove `<grub/util/libzfs.h>'.
23842 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
23843 (grub_get_libzfs_handle): Move to ...
23844 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
23845 (grub_get_libzfs_handle): ... here.
23846
c9f7ff97
BC
238472010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
23848
23849 * script/execute.c (grub_script_execute_cmdline): Check for NULL
23850 as command name case.
23851
a870a783
CW
238522010-08-02 Colin Watson <cjwatson@ubuntu.com>
23853
23854 * disk/raid.c (insert_array): Select unique numbers for named arrays
23855 as well, for use as keys in the disk cache.
23856
c7db243b
RM
238572010-08-01 Robert Millan <rmh@gnu.org>
23858
23859 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
23860 kFreeBSD device name, except on ZFS where the filesystem label is
23861 used.
23862 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
23863 `/boot/zfs/zpool.cache'.
23864 Set mountfrom kernel variable using ${kfreebsd_device}.
23865
f7abdefb
RM
238662010-08-01 Robert Millan <rmh@gnu.org>
23867
23868 Make it even harder to use uninitialized `libzfs_handle' (and
23869 make the interface a bit simpler).
23870
23871 * include/grub/util/misc.h (grub_util_init_libzfs)
23872 (libzfs_handle): Remove.
23873 (grub_get_libzfs_handle): New prototype.
23874
23875 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
23876 attribute.
23877 (grub_util_init_libzfs): Remove.
23878 (grub_get_libzfs_handle): New function.
23879
23880 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
23881 grub_get_libzfs_handle() to obtain a libzfs handle instead of
23882 accessing `libzfs_handle' directly.
23883
c882acc0
RM
238842010-08-01 Robert Millan <rmh@gnu.org>
23885
23886 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23887 (grub_find_zpool_from_mount_point): New function prototypes.
23888
23889 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23890 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23891
23892 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23893 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23894 `static' attribute.
23895
23896 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23897 finding zpool from mount point into ...
23898 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23899
23900 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23901 requested path is part of a ZFS pool, use
23902 grub_find_zpool_from_mount_point() to detect its filesystem name,
23903 and generate a path with `/fsname@path' syntax.
23904
8bfe31d8
CW
239052010-08-01 Colin Watson <cjwatson@ubuntu.com>
23906
23907 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
23908 (void) rather than () so that this is a proper prototype.
23909
553df63d
VS
239102010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23911
23912 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
23913
8687cf07
VS
239142010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23915
23916 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
23917 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
23918
ea9be8ea
CW
239192010-08-01 Colin Watson <cjwatson@ubuntu.com>
23920
23921 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
23922
6eea041a
CW
239232010-08-01 Colin Watson <cjwatson@ubuntu.com>
23924
23925 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
23926
2cfb45df
CW
239272010-08-01 Colin Watson <cjwatson@ubuntu.com>
23928
23929 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
23930 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
23931 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
23932 disable gfxpayload.
23933 (Shell-like scripting): Add real content.
23934 (Serial terminal): Suggest `terminal_input serial; terminal_output
23935 serial' rather than putting the two commands on separate lines,
23936 since console input will be inoperative after the first command.
23937 (menuentry): Document --class, --users, and --hotkey options.
23938 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
23939 Vladimir Serbinenko).
23940
7decd202
VS
239412010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
239422010-08-01 Colin Watson <cjwatson@ubuntu.com>
23943
23944 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
23945
c882acc0
RM
239462010-08-01 Robert Millan <rmh@gnu.org>
23947
23948 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23949 (grub_find_zpool_from_mount_point): New function prototypes.
23950
23951 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23952 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23953
23954 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23955 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23956 `static' attribute.
23957
23958 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23959 finding zpool from mount point into ...
23960 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23961
23962 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23963 requested path is part of a ZFS pool, use
23964 grub_find_zpool_from_mount_point() to detect its filesystem name,
23965 and generate a path with `/fsname@path' syntax.
23966
deb0caa3
RM
239672010-08-01 Robert Millan <rmh@gnu.org>
23968
23969 Prevent accidental use of uninitialized libzfs_handle.
23970
23971 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
23972 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
23973 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
23974
ce04ef47
CW
239752010-08-01 Colin Watson <cjwatson@ubuntu.com>
23976
23977 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
23978 util/grub.d/10_linux.in). Fixes Debian bug #591093.
23979
ebf53056
RM
239802010-08-01 Robert Millan <rmh@gnu.org>
23981
23982 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 23983
3710bb6b
RM
239842010-07-31 Robert Millan <rmh@gnu.org>
23985
23986 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
23987
8072efeb
RM
239882010-07-31 Robert Millan <rmh@gnu.org>
23989
23990 * kern/emu/misc.c: Add missing license header.
23991
3169f4c7
RM
239922010-07-31 Robert Millan <rmh@gnu.org>
23993
23994 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
23995
23996 * include/grub/util/libnvpair.h: Include `<config.h>'.
23997 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
23998 declaring libnvpair prototypes ourselves.
23999 * include/grub/util/libzfs.h: Include `<config.h>'.
24000 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24001 declaring libzfs prototypes ourselves.
24002
24003 (libzfs_handle): Moved to ...
24004 * include/grub/util/misc.h (libzfs_handle): ... here.
24005 Include `<grub/util/libzfs.h>'.
24006
c9a00aee
RM
240072010-07-30 Robert Millan <rmh@gnu.org>
24008
24009 * include/grub/emu/misc.h: Add missing license header.
24010
a184f9c8
RM
240112010-07-30 Robert Millan <rmh@gnu.org>
24012
24013 Enable `grub-probe -t device' resolution on ZFS.
24014
24015 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24016 * include/grub/util/libnvpair.h: New file.
24017 * include/grub/util/libzfs.h: New file.
24018
24019 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24020 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24021 `<grub/util/libnvpair.h>'.
24022 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24023
24024 (find_mount_point_from_dir): New static function.
24025 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24026 function.
24027 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24028 find_root_device_from_libzfs() before ressorting to find_root_device().
24029
24030 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24031 prototype.
24032 * util/misc.c: Include `<grub/util/libzfs.h>'.
24033 (grub_util_init_libzfs): New function.
24034 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24035 [HAVE_LIBZFS] (fini_libzfs): New static function.
24036 (grub_util_init_libzfs): New function.
24037 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24038
f7790cdd
RM
240392010-07-30 Robert Millan <rmh@gnu.org>
24040
24041 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24042 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24043 `warn_unused_result' attribute.
24044 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24045 (grub_xasprintf, grub_xvasprintf): Likewise.
24046 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24047
0806b63c
RM
240482010-07-29 Robert Millan <rmh@gnu.org>
24049
24050 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24051 (probe): Handle `PRINT_FS_LABEL'.
24052 (main): Handle `-t fs_label'.
24053
9f841f5c
RM
240542010-07-29 Robert Millan <rmh@gnu.org>
24055
24056 * configure.ac: Remove grub-mkisofs checks.
24057
46371121
VS
240582010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24059
24060 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24061 Reported by: Lennart Sorensen.
24062
240632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24064
24065 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24066 prior to terminal_input/terminal_output separation. It's been over 1.5
24067 years and those versions weren't widely deployed.
24068
a9600892
CW
240692010-07-22 Colin Watson <cjwatson@ubuntu.com>
24070
24071 * disk/raid.c (insert_array): Don't count named arrays when looking
24072 for unused array numbers.
697e053c 24073 Reported and tested by: Michael Guntsche.
a9600892 24074
c03507df
CW
240752010-07-20 Colin Watson <cjwatson@ubuntu.com>
24076
24077 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24078 implementation of this so that grub-emu links again, with a note
24079 that this should support hotplugging in the future.
24080
b26f1c11
CW
240812010-07-20 Colin Watson <cjwatson@ubuntu.com>
24082
24083 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24084
efc9d7f1
CW
240852010-07-20 Colin Watson <cjwatson@ubuntu.com>
24086
24087 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24088 handle on failure.
24089 (grub_loopback_close): Remove empty function.
24090 (grub_loopback_dev): Remove close method.
24091
dd8ff5c9
CW
240922010-07-20 Colin Watson <cjwatson@ubuntu.com>
24093
24094 Disable EFI cursor when the EFI console becomes inactive.
24095
24096 * term/efi/console.c (grub_efi_console_init): New function.
24097 (grub_efi_console_fini): New function.
24098 (grub_console_term_output): Register init and fini methods.
24099
5e3bec67
VS
241002010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24101
24102 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24103 sh script.
24104
afaec079
VS
241052010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24106
24107 * disk/loopback.c (grub_loopback): Replace filename with file.
24108 (delete_loopback): Handle new semantics.
24109 (grub_cmd_loopback): Likewise.
24110 (grub_loopback_iterate): Likewise.
24111 (grub_loopback_close): Likewise.
24112
a6a11f3c
VS
241132010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24114
24115 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24116 with -p "".
24117 Reported by: Tito Keitel.
24118
64a638b0
VS
241192010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24120
24121 * docs/grub.texi (Naming convention): Document new naming convention.
24122
ab8ba957
VS
241232010-07-20 Vadim Solomin <vadic052@gmail.com>
241242010-07-20 Colin Watson <cjwatson@ubuntu.com>
24125
24126 Generate device.map in something closer to the old ordering.
24127
24128 * util/deviceiter.c (struct device): New declaration.
24129 (compare_file_names): Rename to ...
24130 (compare_devices): ... this. Sort by kernel name in preference to
24131 the stable by-id name, but keep the latter as a fallback comparison.
24132 Update header comment.
24133 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24134 of `struct device' rather than of plain file names.
24135
a29d6a4b
TF
241362010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24137
24138 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24139 on i386.
24140
39d824e8
VS
241412010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24142
24143 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24144 hardcoding size.
24145 (setv1table): Likewise.
24146
f058276b
FZ
241472010-07-20 Colin Watson <cjwatson@ubuntu.com>
24148
24149 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24150 removing the homehost if present.
24151 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24152 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24153 removing the homehost if present.
24154 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24155 if possible.
24156 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24157
24158 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24159 parameter. Set its pointer target to 0.
24160 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24161 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24162 `data_offset' value from the superblock for 1.x metadata.
24163 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24164 data on the device.
24165 (insert_array): Record the start sector of data on the device.
24166 (grub_raid_register): Pass start_sector parameters to
24167 grub_raid_list->detect and insert_array.
24168 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24169 member.
24170 (struct grub_raid): Add start_sector parameter to `detect'.
24171
24172 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24173 __attribute__ ((packed)), leaving a comment.
24174 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24175 (grub_mdraid_detect_09): ... here and ...
24176 (grub_mdraid_detect_1x): ... here.
24177
241782010-07-20 Peter Henn <peter.henn@web.de>
24179
24180 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24181 chunk size and disk size, which are already given as sector counts
24182 as distinct from the 0.90 units. Fetch the correct device number
24183 from the role table instead of using the table index.
24184
241852010-07-20 Felix Zielcke <fzielcke@z-51.de>
24186
24187 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24188 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24189 (WriteMostly1): New macro.
24190 Set array->name to NULL for metadata format 0.90. Add support for
24191 metadata 1.x. Fix some comments.
24192 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24193 few comments.
24194 * util/getroot.c (grub_util_get_grub_dev): Add support for
24195 /dev/md/name style devices.
24196
4b761da9
CW
241972010-07-20 Colin Watson <cjwatson@ubuntu.com>
24198
24199 * .bzrignore: Ignore 20_linux_xen.
24200
5771289a
CW
242012010-07-17 Colin Watson <cjwatson@ubuntu.com>
24202
24203 * util/import_unicode.py: Remove unnecessary imports.
24204
5dab68df
AN
242052010-07-17 Aleš Nesrsta <starous@volny.cz>
24206
24207 Hotplugging and USB hub support.
24208
24209 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24210 (grub_ohci): Likewise.
24211 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24212 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24213 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24214 (GRUB_OHCI_CTRL_EDS): Likewise.
24215 (GRUB_OHCI_BULK_EDS): Likewise.
24216 (GRUB_OHCI_TDS): Likewise.
24217 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24218 (grub_ohci_ed_phys2virt): New function.
24219 (grub_ohci_virt_to_phys): Likewise.
24220 (grub_ohci_td_phys2virt): Likewise.
24221 (grub_ohci_td_virt2phys): Likewise.
24222 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24223 attachment.
24224 (grub_ohci_find_ed): New function.
24225 (grub_ohci_alloc_td): Likewise.
24226 (grub_ohci_free_td): Likewise.
24227 (grub_ohci_free_tds): Likewise.
24228 (grub_ohci_transfer): Use previously allocated memory.
24229 (grub_ohci_portstatus): Reset status changed bit.
24230 (grub_ohci_detect_dev): Supply status changed.
24231 (grub_ohci_fini_hw): Free memory.
24232 (grub_ohci_restore_hw): Reallocate memory.
24233 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24234 Reset status change.
24235 (grub_uhci_detect_dev): Supply status_change.
24236 * bus/usb/usb.c (attach_hooks): New var.
24237 (grub_usb_device_attach): New function.
24238 (grub_usb_register_attach_hook_class): Likewise.
24239 (grub_usb_unregister_attach_hook_class): Likewise.
24240 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24241 (grub_usb_add_hub): Reset connection changed bit.
24242 (attach_root_port): New function.
24243 (grub_usb_root_hub): Likewise.
24244 (poll_nonroot_hub): Likewise.
24245 (grub_usb_poll_devices): Likewise.
24246 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24247 * disk/usbms.c (grub_usbms_open): Use device hooks.
24248 (grub_usbms_iterate) :Poll devices.
24249 (grub_usbms_finddevs): Split into ...
24250 (grub_usbms_attach): ... this ...
24251 (grub_usbms_attach): ... and this.
24252 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24253 in detect_dev.
24254 (grub_usb_interface): New fields attached and detach_hook.
24255 (grub_usb_attach_hook_class): New type.
24256 (grub_usb_attach_desc): New struct.
24257 (grub_usb_register_attach_hook_class): New function.
24258 (grub_usb_unregister_attach_hook_class): Likewise.
24259 (grub_usb_poll_devices): Likewise.
24260 (grub_usb_device_attach): Likewise.
24261 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24262 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24263
3222efaf
VS
242642010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24265
24266 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24267 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24268 delta determination style. Works with most NetBSD partitions too.
24269
139b714a
VS
242702010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24271
24272 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24273 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24274
986aad56
VS
242752010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24276
24277 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24278
99be513c
AB
242792010-07-14 Anton Blanchard <anton@samba.org>
24280
24281 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24282 ET_DYN files.
24283
18075f62
GS
242842010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24285
24286 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24287
8d9a5b15
GS
242882010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24289
24290 * kern/partition.c (grub_partition_check_containment): New function to
24291 check that a partition is physically contained in a parent. Since
24292 offsets are relative (and non-negative), this reduces to checking that
24293 the partition ends before its parent.
24294 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24295 (grub_partition_iterate): Likewise.
24296 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24297 comments.
24298 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24299 partitions that start before their parent, and add debug printfs.
24300
19563c25
CW
243012010-07-13 Colin Watson <cjwatson@ubuntu.com>
24302
24303 * Makefile.in (.SUFFIX): Spell correctly, as ...
24304 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24305 bare module name without `.mod', e.g. `test') tried to invoke a
24306 Modula-2 compiler.
24307
1a1f1e67
CW
243082010-07-13 Colin Watson <cjwatson@ubuntu.com>
24309
24310 * README: Point to the Info manual.
24311
811b0dca
JS
243122010-07-13 Jiro SEKIBA <jir@unicus.jp>
24313
24314 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24315 2nd superblock position from partition size.
24316
e4f4eafc
CW
243172010-07-10 Colin Watson <cjwatson@ubuntu.com>
24318
24319 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24320 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24321 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24322 outputs.
24323
4274c30f
VS
243242010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24325
24326 Restructure SCSI .id handling.
24327 Reported and tested by: Aleš Nesrsta.
24328
24329 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24330 (grub_atapi_dev): Changed .name to "ata". New field .id.
24331 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24332 (grub_usbms_dev): New field .id.
24333 * disk/scsi.c (grub_scsi_iterate): Generate name.
24334 (grub_scsi_open): Parse name.
24335 * include/grub/scsi.h (grub_make_scsi_id): New function.
24336 (grub_scsi_dev): Change iterate and open to number instead of naming
24337 busses. All users updated.
24338 (grub_scsi): Remove name. Add .bus.
24339
5bc24388
VS
243402010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24341
24342 * commands/help.c (grub_cmd_help): Fix a typo.
24343
249975ba
VS
243442010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24345
24346 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24347 Reported and tested by: Colin Watson.
24348
3eaac1a1
VS
243492010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24350
24351 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24352 in this context.
24353
becce1b1
VS
243542010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24355
24356 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24357
f7bf0918
CW
243582010-07-07 Colin Watson <cjwatson@ubuntu.com>
24359
24360 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24361 indentation.
24362
0b0f9620
CW
243632010-07-06 Colin Watson <cjwatson@ubuntu.com>
24364
24365 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24366 and disk/raid6_recover.c.
24367 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24368 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24369
1e545469
CW
243702010-07-06 Colin Watson <cjwatson@ubuntu.com>
24371
24372 * term/gfxterm.c (repaint_schedulded): Rename to ...
24373 (repaint_scheduled): ... this. Update all callers.
24374 (repaint_was_schedulded): Rename to ...
24375 (repaint_was_scheduled): ... this. Update all callers.
24376
5357687a
CW
243772010-07-06 Colin Watson <cjwatson@ubuntu.com>
24378
24379 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24380 which we expect to be handled by upper layers.
24381
29d7e783
BC
243822010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24383
24384 * bus/usb/usbhub.c: #include time.h header.
24385
37582066
CW
243862010-07-06 Colin Watson <cjwatson@ubuntu.com>
24387
24388 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24389 entry_name also for entries without stat blocks (e.g. ".."); fixes
24390 corruption of the first entry in a directory.
24391
c8c06953
CW
243922010-07-06 Colin Watson <cjwatson@ubuntu.com>
24393
24394 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24395 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24396 doesn't work otherwise.
24397
e75056f1
CW
243982010-07-05 Colin Watson <cjwatson@ubuntu.com>
24399
24400 * docs/grub.texi (Features): Update list of supported file systems.
24401 (GNU/Linux): Update for GRUB 2.
24402 (Serial terminal): Remove mention of --disable-serial, which was a
24403 GRUB Legacy configure option. Update instructions to use
24404 `terminal_input' and `terminal_output' rather than `terminal'.
24405 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24406 configuration' and `Installing GRUB using grub-install'.
24407 (Menu entry editor): Update for GRUB 2.
24408 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24409 Document new -a, -u, and -v options.
24410 (initrd): New section.
24411 (initrd16): New section.
24412 (linux): New section.
24413 (linux16): New section.
24414 (search): The `var' argument to `--set' is optional.
24415 (GRUB only offers a rescue shell): Go into a little more detail on
24416 drive ordering.
24417
5cf69151
CW
244182010-07-05 Colin Watson <cjwatson@ubuntu.com>
24419
24420 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24421
e3f90044
CW
244222010-07-05 Colin Watson <cjwatson@ubuntu.com>
24423
24424 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24425 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24426
38d8f4f3
CW
244272010-07-05 Colin Watson <cjwatson@ubuntu.com>
24428
24429 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24430 install_prefix, in line with install_dos_part and install_bsd_part.
24431 Add new prefix variable, which is copied to install_prefix after
24432 comparing core.img in memory with the one read from disk in the
24433 no-embedding case, and use that rather than overwriting
24434 install_prefix immediately when installing to a partition.
24435 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24436 Bicakci.
24437
57ebd41e
GS
244382010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24439
24440 * configure.ac: Avoid == in test command, it's not portable.
24441 * util/grub.d/30_os-prober.in: Likewise.
24442
cb7f64b2
CW
244432010-07-04 Colin Watson <cjwatson@ubuntu.com>
24444
24445 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24446
6b654bb0
GS
244472010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24448
24449 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24450 multiple (top-level) partmaps.
24451
72a2026d
VS
244522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24453
24454 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24455 Reported by: Tino Keitel.
72a2026d 24456
df3eb88f
VS
244572010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24458
24459 Bidi and diacritics support.
24460
24461 * Makefile.in (widthspec.bin): New target.
24462 (widthspec.h): Likewise.
24463 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24464 * autogen.sh: Generate unidata.c.
24465 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24466 * commands/ls.c (grub_ls_list_devices): Likewise.
24467 (grub_ls_list_files): Likewise.
24468 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24469 (grub_mini_cmd_lsmod): Likewise.
24470 * commands/read.c: Likewise.
24471 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24472 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24473 * lib/arg.c (grub_arg_show_help): Likewise.
24474 * lib/crypto.c (grub_password_get): Likewise.
24475 * normal/auth.c (grub_username_get): Likewise.
24476 * normal/misc.c (grub_normal_print_device_info): Likewise.
24477 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24478 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24479 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24480 (normal/charset.c_DEPENDENCIES): New variable.
24481 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24482 (pkglib_MODULES): Remove charset.mod.
24483 (charset_mod_SOURCES): Removed.
24484 (charset_mod_CFLAGS): Likewise.
24485 (charset_mod_LDFLAGS): Likewise.
24486 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24487 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24488 and term/tparm.c.
24489 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24490 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24491 (kernel_img_HEADERS): Add terminfo.h.
24492 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24493 Fill ->font. Reverse ascii bitmaps.
24494 (grub_font_get_xheight): New function.
24495 * font/font.c (grub_font_get_string_width): Moved from here ...
24496 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24497 * font/font.c (grub_font_draw_string): Moved from here ...
24498 * gfxmenu/font.c (grub_font_draw_string): ... here.
24499 * font/font.c (grub_font_dup_glyph): New function.
24500 (grub_font_blit_glyph): Likewise.
24501 (grub_font_blit_glyph_mirror): Likewise.
24502 (blit_comb): Likewise.
24503 (grub_font_construct_dry_run): Likewise.
24504 (grub_font_get_constructed_device_width): Likewise.
24505 (grub_font_construct_glyph): Likewise.
24506 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24507 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24508 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24509 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24510 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24511 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24512 (grub_font_get_xheight): New proto.
24513 (grub_font_get_constructed_device_width): Likewise.
24514 (grub_font_construct_glyph): Likewise.
24515 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24516 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24517 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24518 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24519 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24520 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24521 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24522 (grub_console_getcharwidth): Likewise.
24523 * include/grub/misc.h (grub_xputs): New proto.
24524 (grub_puts): Inlined.
24525 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24526 (grub_normal_get_line_counter): Removed.
24527 (grub_install_newline_hook): Likewise.
24528 (grub_normal_get_char_counter): New proto.
24529 (grub_normal_reset_more): Likewise.
24530 (grub_xputs_normal): Likewise.
24531 * include/grub/powerpc/ieee1275/console.h: Removed.
24532 * include/grub/sparc64/ieee1275/console.h: Likewise.
24533 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24534 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24535 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24536 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24537 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24538 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24539 (grub_term_input): Pass reference to self. All users updated.
24540 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24541 Pass reference to self. New fields normal_color, highlight_color and
24542 data. All users updated.
24543 (grub_putchar): Removed.
24544 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24545 (grub_unicode_estimate_width): New function.
24546 (grub_term_getcharwidth): Add defaults.
24547 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24548 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24549 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24550 (grub_cls): Remove EXPORT_FUNC.
24551 (grub_setcolorstate): Inline.
24552 (grub_newline_hook): Removed.
24553 * include/grub/terminfo.h: Rewritten. All users updated.
24554 * include/grub/unicode.h: New file.
24555 * include/grub/video.h (grub_video_signed_rect): New type.
24556 * kern/emu/console.c (grub_console_highlight_color): Removed.
24557 (grub_console_normal_color): Likewise.
24558 (grub_console_standard_color): Made static.
24559 (grub_ncurses_putchar): Remove mapping.
24560 (grub_ncurses_getcharwidth): Removed.
24561 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24562 (grub_ncurses_setcolor): Removed.
24563 (grub_ncurses_getcolor): Likewise.
24564 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24565 (grub_console_putchar): ... this.
24566 (grub_console_putchar): Handle argument difference.
24567 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24568 console_init_early and console_init_lately.
24569 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24570 * kern/misc.c (grub_puts): Removed.
24571 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24572 (grub_vsnprintf_real): Remove str = NULL support.
24573 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24574 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24575 * kern/term.c (grub_putcode): Renamed to ...
24576 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24577 (grub_putchar): Removed.
24578 (grub_xputs_dumb): New function.
24579 (grub_xputs): New variable.
24580 * lib/charset.c: Move from here ...
24581 * normal/charset.c: ... to here.
24582 (grub_ucs4_to_utf8): New function.
24583 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24584 (join_types): New variable.
24585 (unpack_join): New function.
24586 (bidi_types): New variable.
24587 (unpack_bidi): New function.
24588 (get_bidi_type): Likewise.
24589 (get_join_type): Likewise.
24590 (is_mirrored): Likewise.
24591 (grub_unicode_get_comb_type): Likewise.
24592 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24593 (is_type_after): Likewise.
24594 (grub_unicode_aglomerate_comb): Likewise.
24595 (bidi_line_wrap): Likewise.
24596 (grub_bidi_line_logical_to_visual): Likewise.
24597 (grub_bidi_logical_to_visual): Likewise.
24598 (grub_unicode_mirror_code): Likewise.
24599 (grub_unicode_shape_code): Likewise.
24600 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24601 Don't use grub_putchar.
24602 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24603 (grub_normal_reader_init): Likewise.
24604 (grub_xputs_saved): New variable.
24605 (GRUB_MOD_INIT): Set grub_xputs.
24606 (GRUB_MOD_FINI): Restore grub_xputs.
24607 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24608 (menu_init): Avoid printing gfxmenu error.
24609 (show_menu): Use grub_normal_get_char_counter.
24610 * normal/menu_entry.c (update_screen): Fix out-of-array.
24611 (complete): Avoid NULL dereferencing.
24612 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24613 * normal/menu_text.c (print_spaces): Removed.
24614 (grub_print_ucs4): Likewise.
24615 (grub_print_message_indented): Use grub_print_ucs4.
24616 (print_message): Use grub_putcode.
24617 (print_entry): Hanlde diacritics.
24618 * normal/term.c (term_state): New type.
24619 (grub_more_lines): Removed.
24620 (term_states): New variable.
24621 (grub_normal_line_counter): Renamed to ..
24622 (grub_normal_char_counter): ...this. All users updated.
24623 (grub_normal_get_line_counter): Renamed to ...
24624 (grub_normal_get_char_counter): ... this.
24625 (grub_normal_reset_more): New function.
24626 (process_newline): Removed.
24627 (print_more): New function.
24628 (grub_install_newline_hook): Removed.
24629 (map_code): New function.
24630 (grub_puts_terminal): Use grub_print_ucs4.
24631 (putglyph): New function.
24632 (putcode_real): Likewise.
24633 (grub_putcode): Use putcode_real.
24634 (get_maxwidth): New function.
24635 (get_startwidth): Likewise.
24636 (print_ucs4_terminal): Likewise.
24637 (find_term_state): Likewise.
24638 (put_glyphs_terminal): Likewise.
24639 (print_backlog): Likewise.
24640 (print_ucs4_real): Likewise.
24641 (grub_print_ucs4): Likewise.
24642 (grub_xputs_normal): Likewise.
24643 * term/efi/console.c (grub_console_putchar): Output diacritics.
24644 (grub_console_getcharwidth): Removed.
24645 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24646 * term/gfxterm.c (clear_char): Free chars.
24647 (scroll_up): Avoid leaking memory.
24648 (grub_gfxterm_putchar): Support diacritics.
24649 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24650 * term/i386/pc/console.c (grub_console_term_output): Declare as
24651 GRUB_TERM_CODE_TYPE_VGA.
24652 * term/i386/pc/vga.c (grub_vga_term): Declare as
24653 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24654 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24655 GRUB_TERM_CODE_TYPE_VGA.
24656 * term/i386/vga_common.c (map_char): Removed.
24657 (grub_console_putchar): Likewise.
24658 (grub_console_getcharwidth): Likewise.
24659 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24660 (colors): Reordered to match terminfo.
24661 (grub_ofconsole_normal_color): Removed.
24662 (grub_ofconsole_writeesc): Likewise.
24663 (grub_ofconsole_highlight_color): Likewise.
24664 (grub_ofconsole_getcharwidth): Likewise.
24665 (grub_ofconsole_setcolorstate): Likewise.
24666 (grub_ofconsole_setcolor): Likewise.
24667 (grub_ofconsole_getcolor): Likewise.
24668 (grub_ofconsole_readkey): Renamed to ...
24669 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24670 key.
24671 (grub_ofconsole_checkkey): Removed.
24672 (grub_ofconsole_getkey): Likewise.
24673 (grub_ofconsole_getxy): Likewise.
24674 (grub_ofconsole_gotoxy): Likewise.
24675 (grub_ofconsole_cls): Likewise.
24676 (grub_ofconsole_refresh): Likewise.
24677 (grub_ofconsole_terminfo_input): New struct.
24678 (grub_ofconsole_terminfo_output): Likewise.
24679 (grub_ofconsole_term_input): Use terminfo.
24680 (grub_ofconsole_term_output): Likewise.
24681 (grub_console_init): Split into ...
24682 (grub_console_init_early): ...this and ...
24683 (grub_console_init_lately): ...this. Use terminfo.
24684 (grub_ofconsole_putchar): Renamed to ...
24685 (put): ... this. Remove mapping.
24686 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24687 * term/serial.c: Simplify using terminfo.
24688 (xpos): Removed.
24689 (ypos): Likewise.
24690 (keep_track): Likewise.
24691 (registered): Likewise.
24692 (input_buf): Likewise.
24693 (npending): Likewise.
24694 (serial_translate_key_sequence): Likewise.
24695 (fill_input_buf): Likewise.
24696 (grub_serial_checkkey): Likewise.
24697 (grub_serial_getkey): Likewise.
24698 (grub_serial_getxy): Likewise.
24699 (grub_serial_gotoxy): Likewise.
24700 (grub_serial_putchar): Likewise.
24701 (grub_serial_cls): Likewise.
24702 (grub_serial_setcolorstate): Likewise.
24703 (grub_serial_setcursor): Likewise.
24704 (serial_hw_init): Use serial_hw_fetch.
24705 (grub_serial_terminfo_input): New variable.
24706 (grub_serial_terminfo_output): Likewise.
24707 (grub_serial_term_input): Use terminfo.
24708 (grub_serial_term_output): Likewise.
24709 * term/terminfo.c (putstr): Use put.
24710 (grub_terminfo_all_free): New function
24711 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24712 (grub_terminfo_output_register): New function.
24713 (grub_terminfo_output_unregister): Likewise.
24714 (grub_terminfo_getxy): Likewise.
24715 (grub_terminfo_readkey): Likewise.
24716 (grub_terminfo_checkkey): Likewise.
24717 (grub_terminfo_getkey): Likewise.
24718 (grub_terminfo_input_init): Likewise.
24719 (print_terminfo): Likewise.
24720 (grub_cmd_terminfo): Handle encoding.
24721 (grub_terminfo_gotoxy): Track position.
24722 (grub_terminfo_cls): Likewise.
24723 (grub_terminfo_putchar): Likewise.
24724 (grub_terminfo_setcolorstate): Handle colors
24725 (grub_terminfo_cursor_on): This ...
24726 (grub_terminfo_cursor_off): ... and this merged into ...
24727 (grub_terminfo_setcursor): ... this.
24728 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24729 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24730 * unicode/BidiMirroring.txt: Likewise.
24731 * unicode/UnicodeData.txt: Likewise.
24732 * unicode/COPYING: Likewise.
24733 * util/grub-editenv.c (grub_putchar): Removed.
24734 (grub_xputs_real): New function.
24735 (grub_xputs): New variable.
24736 * util/grub-fstest.c (grub_putchar): Removed.
24737 (grub_xputs_real): New function.
24738 (grub_xputs): New variable.
24739 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24740 (grub_xputs_real): New function.
24741 (grub_xputs): New variable.
24742 * util/grub-probe.c (grub_putchar): Removed.
24743 (grub_xputs_real): New function.
24744 (grub_xputs): New variable.
24745 * util/grub-script-check.c (grub_putchar): Removed.
24746 (grub_xputs_real): New function.
24747 (grub_xputs): New variable.
24748 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24749 (grub_xputs_real): New function.
24750 (grub_xputs): New variable.
24751 * util/import_unicode.py: New file.
24752 * util/grub-mkfont.c (ft_errmsgs): New array.
24753 (grub_glyph_info): Make bitmap a pointer.
24754 (file_formats): New type WIDTH_SPEC.
24755 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24756 (options): Add width-spec.
24757 (help): Likewise.
24758 (add_char): Renamed to ...
24759 (add_glyph): ... this.
24760 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24761 (glyph_replace): New type.
24762 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24763 (add_char): New function.
24764 (add_subst): Likewise.
24765 (process_cursive): Likewise.
24766 (add_font): Handle GSUB.
24767 (write_font_width_spec): New function.
24768 (main): Sort glyphs.
24769 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24770 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24771 * kern/term.c (grub_cls): Moved from here...
24772 * normal/term.c (grub_cls): ... here.
24773
50f0bcda
CW
247742010-07-02 Colin Watson <cjwatson@ubuntu.com>
24775
24776 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24777 suitable for using within the format argument of printf when
24778 converting grub_size_t.
24779 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24780 "x" to convert grub_size_t arguments.
24781
40372103
VS
247822010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24783
24784 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24785 too long captions.
24786 (list_get_minimal_size): Take selection box into account.
24787
942a10c7
VS
247882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24789
24790 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24791 NULL font.
24792
2bdb2892
CW
247932010-07-02 Colin Watson <cjwatson@ubuntu.com>
24794
24795 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24796 devices when iterating over /dev/disk/by-id; they will be handled
24797 later if appropriate, which they aren't always (e.g. LVM).
24798
e03ed6c1
CW
247992010-07-02 Colin Watson <cjwatson@ubuntu.com>
24800
24801 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24802 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24803 fails.
24804 (grub_halt): Likewise.
24805 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24806 reset-all fails.
24807 (grub_halt): Don't return, even if all of shut-down, power-off, and
24808 poweroff fail.
24809
47695765
CW
248102010-07-02 Colin Watson <cjwatson@ubuntu.com>
24811
24812 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24813 arguments, not three.
24814
507736c8
CW
248152010-07-02 Colin Watson <cjwatson@ubuntu.com>
24816
24817 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24818 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24819 LVM-on-RAID is handled correctly.
24820
e3c8cd37
CW
248212010-07-02 Colin Watson <cjwatson@ubuntu.com>
24822
24823 * docs/grub.texi (Changes from GRUB Legacy): New section.
24824 (Future): Fix typo.
24825
8d4a2fec
CW
248262010-07-02 Colin Watson <cjwatson@ubuntu.com>
24827
24828 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24829 grub.d/README accidentally ends up executable for one reason or
24830 another. Ignore it.
24831
1c4827be
VS
248322010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24833
24834 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24835 (gpt_partition_map_iterate): Support non-512B sectors.
24836
d9a0c941
VS
248372010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24838
24839 * kern/efi/init.c (grub_efi_init): Disable watchdog.
24840 Tested by: Seth Goldberg.
24841
48f27e87
VS
248422010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24843
24844 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
24845 Properly align mbi.
24846 Reported by: Seth Goldberg.
24847
b0c4f956
VS
248482010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24849
24850 * util/grub-mkrescue.in: Avoid module duplication.
24851
105a2e8c
SF
248522010-07-01 Sean Finney <seanius@seanius.net>
24853
24854 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
24855
5944958c
SF
248562010-07-01 Sean Finney <seanius@seanius.net>
24857
24858 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
24859
248602010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24861
24862 * disk/lvm.c (grub_lvm_checkvalue): New function.
24863 (grub_lvm_check_flag): Likewise.
24864
b79889ba
RM
248652010-07-01 Robert Millan <rmh@gnu.org>
24866
24867 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
24868 Support 'p' as partition separator on kernel of FreeBSD (used
24869 with GPT labels).
24870 (grub_util_biosdisk_get_grub_dev): Likewise.
24871
ec1d04f1
VS
248722010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24873
24874 Yeeloong firmware port.
24875
24876 * boot/mips/yeeloong/fwstart.S: New file.
24877 * bus/cs5536.c (gpiodump): New const.
24878 (set_io_space): New function.
24879 (set_iod): Likewise.
24880 (set_p2d): Likewise.
24881 (grub_cs5536_init_geode): Likewise.
24882 * commands/mips/yeeloong/lsspd.c: New file.
24883 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
24884 (serial_mod_SOURCES): New variable.
24885 (serial_mod_CFLAGS): Likewise.
24886 (serial_mod_LDFLAGS): Likewise.
24887 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
24888 term/terminfo.c and term/tparm.c.
24889 (pkglib_IMAGES): Add fwstart.img.
24890 (fwstart_img_SOURCES): New variable.
24891 (fwstart_img_CFLAGS): Likewise.
24892 (fwstart_img_ASFLAGS): Likewise.
24893 (fwstart_img_LDFLAGS): Likewise.
24894 (fwstart_img_FORMAT): Likewise.
24895 (pkglib_MODULES): Add lsspd.mod.
24896 (lsspd_mod_SOURCES): New variable.
24897 (lsspd_mod_CFLAGS): Likewise.
24898 (lsspd_mod_LDFLAGS): Likewise.
24899 (pkglib_MODULES): Add halt.mod.
24900 (halt_mod_SOURCES): New variable.
24901 (halt_mod_CFLAGS): Likewise.
24902 (halt_mod_LDFLAGS): Likewise.
24903 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
24904 (serial_mod_SOURCES): Removed.
24905 (serial_mod_CFLAGS): Likewise.
24906 (serial_mod_LDFLAGS): Likewise.
24907 * disk/ata.c (check_device): New function.
24908 (grub_ata_device_initialize): Use check_device.
24909 (grub_ata_iterate): Recheck devices.
24910 (grub_ata_open): Likewise.
24911 (grub_atapi_iterate): Likewise.
24912 (grub_atapi_open): Likewise.
24913 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
24914 (GRUB_ATA_CH1_PORT1): Likewise.
24915 (GRUB_ATA_CH0_PORT2): Likewise.
24916 (GRUB_ATA_CH1_PORT2): Likewise.
24917 * include/grub/mips/loongson.h: New file.
24918 * include/grub/mips/yeeloong/ec.h: Likewise.
24919 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
24920 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
24921 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
24922 * include/grub/misc.h (grub_halt): Declare as noreturn.
24923 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
24924 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
24925 (UART_ENABLE_FIFO_TRIGGER1): New definition.
24926 (UART_ENABLE_DTRRTS): Likewise.
24927 (UART_ENABLE_MODEM): Removed.
24928 (UART_ENABLE_OUT2): New const.
24929 * include/grub/term.h (grub_term_register_input_active): New function.
24930 (grub_term_register_output_active): Likewise.
24931 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
24932 argument.
24933 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
24934 (init_pci): New function.
24935 (grub_machine_init): Execute platform init when firmware. Init serial.
24936 (grub_halt): Implement.
24937 (grub_exit): Likewise.
24938 (grub_reboot): Likewise.
24939 * term/serial.c (serial_hw_init): Update macros.
24940 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
24941 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
24942 (image_targets): New target mipsel-yeeloong-flash.
24943 (generate_image): Support IMAGE_YEELOONG_FLASH.
24944 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
24945 (grub_video_sm712_setup): Init card.
24946 (grub_video_sm712_set_palette): Removed.
24947 * video/sm712_init.c: New file.
24948
ff4a70d2
CW
249492010-06-30 Colin Watson <cjwatson@ubuntu.com>
24950
24951 * Makefile.in (install-local): Temporarily prepend $(builddir) to
24952 PATH when running help2man and then run it on the unadorned
24953 executable names, rather than passing $(builddir)/* paths to
24954 help2man. This avoids the build directory ending up in generated
24955 manual pages.
24956
1246efeb
CW
249572010-06-29 Colin Watson <cjwatson@ubuntu.com>
24958
24959 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
24960 to avoid accidents when debugging with 'sh -x'.
24961 * util/grub-mkrescue.in: Likewise.
24962 * util/grub.d/00_header.in: Likewise.
24963 * util/grub.d/10_hurd.in: Likewise.
24964 * util/grub.d/10_kfreebsd.in: Likewise.
24965 * util/grub.d/10_linux.in: Likewise.
24966 * util/grub.d/10_netbsd.in: Likewise.
24967 * util/grub.d/10_windows.in: Likewise.
24968 * util/grub.d/20_linux_xen.in: Likewise.
24969 * util/grub.d/30_os-prober.in: Likewise.
24970 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24971
1ba9b889
CW
249722010-06-29 Colin Watson <cjwatson@ubuntu.com>
24973
24974 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
24975 last character in the buffer.
24976 Reported by: Vladimir Serbinenko.
24977
dccaf99d
RM
249782010-06-29 Robert Millan <rmh@gnu.org>
24979
24980 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
24981 (Command-line and menu entry commands): Document `badram' command.
24982
d500ed12
RM
249832010-06-28 Robert Millan <rmh@gnu.org>
24984
24985 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
24986 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
24987 command using ${GRUB_BADRAM} as parameter.
24988
20bc84a6
CW
249892010-06-28 Colin Watson <cjwatson@ubuntu.com>
24990
24991 * docs/grub.texi (Device map): New section.
24992 (Themes): New section (stub).
24993 * Makefile.in (docs/grub.info): The info documentation now builds
24994 without errors. Make sure it stays that way.
24995
4045dee1
VS
249962010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24997
24998 Use normal parser for menu entries.
24999 Reported by: Thomas Frauendorfer
25000
25001 * include/grub/parser.h (grub_parser_execute): Don't export.
25002 * normal/menu.c (grub_menu_execute_entry_real): New function.
25003 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25004
bca58c7b
CW
250052010-06-28 Colin Watson <cjwatson@ubuntu.com>
25006
25007 * docs/grub.texi (Embedded configuration): New section (replacing
25008 old "Preset Menu" stub).
25009 (Images): New section.
25010 (configfile): Note that any menu entries defined in `file' are shown
25011 immediately.
25012
dec53e63
JT
250132010-06-28 Josh Triplett <josh@joshtriplett.org>
25014
25015 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25016
c06e40f7
CW
250172010-06-28 Colin Watson <cjwatson@ubuntu.com>
25018
25019 * util/grub-install.in: Add --debug-image= option.
25020
cb88052b
CW
250212010-06-28 Colin Watson <cjwatson@ubuntu.com>
25022
25023 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25024 possible on Linux.
25025
25026 * util/deviceiter.c (check_device): Rename to ...
25027 (check_device_readable_unique): ... this. Update all callers.
25028 Maintain and check a list of which devices (by canonicalized name)
25029 have already been seen.
25030 (clear_seen_devices): New function.
25031 (compare_file_names) [__linux__]: New function.
25032 (grub_util_iterate_devices): Clear the list of seen devices on exit
25033 and (just in case) on entry.
25034 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25035 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25036 seen-devices list, superseded by general code in check_device.
25037
bbe34652
CW
250382010-06-28 Colin Watson <cjwatson@ubuntu.com>
25039
25040 * commands/cat.c (options): New variable.
25041 (grub_cmd_cat): Parse options. If the --dos option is given, print
25042 DOS-style "\r\n" line endings as simple newlines (Debian bug
25043 #586358).
25044 (GRUB_MOD_INIT): Use extcmd.
25045 (GRUB_MOD_FINI): Likewise.
25046 * docs/grub.texi (cat): Document --dos.
25047
412e09f3
VS
250482010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25049
25050 XEN with Linux grub-mkconfig support.
25051
25052 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25053 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25054 GRUB_CMDLINE_XEN_DEFAULT.
25055 * util/grub.d/20_linux_xen.in: New file.
25056
53f3ef38 250572010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25058
25059 Initialise VGA video on qemu ourselves.
25060
25061 * boot/i386/qemu/boot.S: Don't call 0xc000.
25062 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25063 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25064 (kernel_img_HEADERS): Add pci.h.
25065 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25066 * configure.ac: Force unifont on qemu and yeeloong.
25067 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25068 (grub_vga_palette_write): Use correct register.
25069 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25070 Call grub_qemu_init_cirrus.
25071 * kern/i386/qemu/init.c: New file.
25072 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25073
25074 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25075
c75be4fb
PR
250762010-06-26 Pavel Roskin <proski@gnu.org>
25077
25078 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25079 13.
25080
d8034603
CW
250812010-06-26 Colin Watson <cjwatson@ubuntu.com>
25082
25083 * docs/grub.texi (Simple configuration): Explain that
25084 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25085 set to `true' to disable their respective recovery entries, not
25086 merely set.
25087
3fa06487
CW
250882010-06-26 Colin Watson <cjwatson@ubuntu.com>
25089
25090 Make the `source' command slightly faster.
25091
25092 * normal/main.c (grub_normal_execute): Don't re-read list files when
25093 nested.
25094
e9b29642
CW
250952010-06-23 Colin Watson <cjwatson@ubuntu.com>
25096
25097 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25098 field position and mask size to red fields from mode_info, not
25099 green.
25100 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25101 Remove redundant tag->common.framebuffer_type assignment.
25102 Reported by: Seth Goldberg.
25103
e726542f
CW
251042010-06-23 Colin Watson <cjwatson@ubuntu.com>
25105
25106 Sync up other versions of the Linux loader with Robert Millan's
25107 change of 2010-01-09, "Make loader output a bit more user-friendly".
25108
25109 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25110 grub_dprintf().
25111 (grub_cmd_linux): Likewise.
25112 (grub_cmd_initrd): Likewise.
25113 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25114 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25115
d6e98a17
CW
251162010-06-21 Colin Watson <cjwatson@ubuntu.com>
25117
25118 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25119 larger than MEMORY_MAP_SIZE.
25120
14d3f08e
BC
251212010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25122
25123 Fix parallel build.
25124
25125 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25126 dependency.
25127 * script/parser.y: #include grub_script.tab.h header.
25128
4f9613a3
VS
251292010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25130
25131 Support >3GiB and <16MiB RAM in i386-qemu.
25132
25133 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25134 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25135 (grub_lower_mem): Removed.
25136 (grub_upper_mem): Likewise.
25137 (mem_size): Made static.
25138 (above_4g): New variable.
25139 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25140 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25141 support.
25142
05e51879
VS
251432010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25144
25145 Cirrus 5446 and Bochs video cards support.
25146
25147 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25148 video_bochs.mod
25149 (video_cirrus_mod_SOURCES): New variable.
25150 (video_cirrus_mod_CFLAGS): Likewise.
25151 (video_cirrus_mod_LDFLAGS): Likewise.
25152 (video_bochs_mod_SOURCES): Likewise.
25153 (video_bochs_mod_CFLAGS): Likewise.
25154 (video_bochs_mod_LDFLAGS): Likewise.
25155 * include/grub/vga.h: New file.
25156 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25157 (grub_video_fb_set_page_t): New type.
25158 (grub_video_fb_setup): New prototype.
25159 (grub_video_fb_swap_buffers): Likewise.
25160 (grub_video_fb_get_info_and_fini): Likewise.
25161 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25162 (CRTC_DATA_PORT): Likewise.
25163 (CRTC_CURSOR): Likewise.
25164 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25165 (CRTC_CURSOR_ADDR_LOW): Likewise.
25166 (CRTC_CURSOR_DISABLE): Likewise.
25167 (update_cursor): Use grub_vga_cr_write.
25168 (grub_vga_text_setcursor): Likewise.
25169 * video/bochs.c: New file.
25170 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25171 (palette): Likewise.
25172 (palette_size): Likewise.
25173 (framebuffer): New variable.
25174 (grub_video_fb_init): Use 'framebuffer'.
25175 (grub_video_fb_fini): Likewise.
25176 (grub_video_fb_get_info): Likewise.
25177 (grub_video_fb_get_palette): Likewise.
25178 (grub_video_fb_set_palette): Likewise.
25179 (grub_video_fb_set_viewport): Likewise.
25180 (grub_video_fb_get_viewport): Likewise.
25181 (grub_video_fb_map_color): Likewise.
25182 (grub_video_fb_map_rgb): Likewise.
25183 (grub_video_fb_map_rgba): Likewise.
25184 (grub_video_fb_unmap_color): Likewise.
25185 (grub_video_fb_unmap_color_int): Likewise.
25186 (grub_video_fb_fill_rect): Likewise.
25187 (grub_video_fb_blit_bitmap): Likewise.
25188 (grub_video_fb_blit_render_target): Likewise.
25189 (grub_video_fb_scroll): Likewise.
25190 (grub_video_fb_create_render_target): Likewise.
25191 (grub_video_fb_doublebuf_blit_init): Likewise.
25192 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25193 (doublebuf_pageflipping_update_screen): New function.
25194 (doublebuf_pageflipping_init): Likewise.
25195 (grub_video_fb_setup): Likewise.
25196 (grub_video_fb_swap_buffers): Likewise.
25197 (grub_video_fb_get_info_and_fini): Likewise.
25198 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25199 All users updated.
25200 (doublebuf_pageflipping_commit): Restructured into ...
25201 (doublebuf_pageflipping_set_page): ... this.
25202 (doublebuf_pageflipping_update_screen): Removed.
25203 (doublebuf_pageflipping_init): Likewise.
25204 (double_buffering_init): Likewise.
25205 (grub_video_vbe_setup): Use grub_video_fb_setup.
25206 (grub_video_vbe_swap_buffers): Removed.
25207 (grub_video_vbe_set_active_render_target): Likewise.
25208 (grub_video_vbe_get_active_render_target): Likewise.
25209 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25210 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25211 grub_video_fb_set_active_render_target and
25212 grub_video_fb_get_active_render_target.
25213 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25214 (SEQUENCER_DATA_PORT): Likewise.
25215 (MAP_MASK_REGISTER): Likewise.
25216 (CRTC_ADDR_PORT): Likewise.
25217 (CRTC_DATA_PORT): Likewise.
25218 (START_ADDR_HIGH_REGISTER): Likewise.
25219 (START_ADDR_LOW_REGISTER): Likewise.
25220 (GRAPHICS_ADDR_PORT): Likewise.
25221 (GRAPHICS_DATA_PORT): Likewise.
25222 (READ_MAP_REGISTER): Likewise.
25223 (INPUT_STATUS1_REGISTER): Likewise.
25224 (INPUT_STATUS1_VERTR_BIT): Likewise.
25225 (get_map_mask): Use grub_vga_sr_read.
25226 (set_map_mask): Use grub_vga_sr_write.
25227 (set_read_map): Use grub_vga_gr_write.
25228 (set_start_address): Use grub_vga_cr_write.
25229 * video/sm712.c (framebuffer): Remove leftover fields.
25230
4321c64a
CW
252312010-06-20 Colin Watson <cjwatson@ubuntu.com>
25232
25233 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25234 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25235 instead. Replace the gfxterm backend check with a check that
25236 ${GRUB_PREFIX}/video.lst is non-empty.
25237 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25238 again.
25239 (load_video): New generated function. Call it before loading
25240 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25241 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25242 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25243 * docs/grub.texi (Simple configuration): Document
25244 GRUB_VIDEO_BACKEND.
25245
252462010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25247
25248 Use video functions in linux and xnu loaders.
25249
25250 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25251 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25252 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25253 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25254 loader/i386/pc/linux.c.
25255 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25256 (find_line_len): Removed.
25257 (find_framebuf): Likewise.
25258 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25259 * loader/i386/efi/xnu.c: Removed.
25260 * loader/i386/pc/xnu.c: Moved from here...
25261 * loader/i386/xnu.c: ...here.
25262
25263 Enable priorities in video drivers.
25264
25265 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25266 (grub_video_adapter): New field prio.
25267 (grub_video_register): Respect prio when inserting.
25268 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25269 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25270 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25271 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25272 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25273 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25274 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25275
25276 Fix SDL driver ID.
25277
25278 * include/grub/video.h (grub_video_driver_id_t): New value
25279 GRUB_VIDEO_DRIVER_SDL.
25280 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25281
7d24e434
CW
252822010-06-17 Colin Watson <cjwatson@ubuntu.com>
25283
25284 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25285 argument to printf.
25286 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25287
c88a83f6
CW
252882010-06-17 Colin Watson <cjwatson@ubuntu.com>
25289
25290 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25291 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25292
094dfb69
CW
252932010-06-17 Colin Watson <cjwatson@ubuntu.com>
25294
25295 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25296 directly, and recommend grub-install instead.
25297 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25298
2164da6b
CW
252992010-06-17 Colin Watson <cjwatson@ubuntu.com>
25300
25301 Fix i386-pc prefix handling with nested partitions (Debian bug
25302 #585068). Note that the case where the core image is booted using
25303 multiboot and relocated from its original location still requires
25304 more work.
25305
25306 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25307 with "(,", fill the boot drive in between those two characters, but
25308 expect that a full partition specification including partition map
25309 names will follow.
25310 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25311 specified, write a prefix without the drive name but including a
25312 full partition specification.
25313
044e2e60
CW
253142010-06-16 Colin Watson <cjwatson@ubuntu.com>
25315
25316 * util/grub-mkconfig.in: Ignore non-option arguments, for
25317 compatibility with older versions (before 2010-06-12) which did the
25318 same. In particular, this makes it easier to ship an update-grub
25319 wrapper which is compatible with that used with GRUB Legacy (Debian
25320 bug #586056).
25321
5591324f
GS
253222010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25323
25324 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25325 for manual page generation.
25326
662e24d5
GS
253272010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25328
25329 * po/POTFILES: Remove leftover commands/handler.c.
25330
8d70754e
CW
253312010-06-14 Colin Watson <cjwatson@ubuntu.com>
25332
25333 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25334 left this script non-functional.
25335
41160e2e
CW
253362010-06-14 Colin Watson <cjwatson@ubuntu.com>
25337
25338 * docs/man/grub-emu.h2m: New file.
25339
b5309cc1
CW
253402010-06-13 Colin Watson <cjwatson@ubuntu.com>
25341
25342 * docs/grub.texi (Commands): Document reduced command set in rescue
25343 mode.
25344 (cpuid): New section.
25345
fcb2d090
GS
253462010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25347
25348 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25349 new partition naming style.
25350 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25351
96e5c556
BC
253522010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25353
25354 Add "-o grub.iso" like cmdline options support.
25355
25356 * util/grub-install.in: Improve cmdline option parsing.
25357 * util/grub-mkconfig.in: Likewise.
25358 * util/grub-mkrescue.in: Likewise.
25359 * util/grub-reboot.in: Likewise.
25360 * util/grub-set-default.in: Likewise.
25361 * util/i386/efi/grub-install.in: Likewise.
25362 * util/ieee1275/grub-install.in: Likewise.
25363 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25364
c16be99b
CW
253652010-06-12 Colin Watson <cjwatson@ubuntu.com>
25366
25367 * .bzrignore: Ignore 41_custom.
25368
ce08a9fb
TS
253692010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25370
25371 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25372
7beac90c
CW
253732010-06-12 Colin Watson <cjwatson@ubuntu.com>
25374
25375 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25376 prototype declarations.
25377
25378 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25379 generating fs, partmap, and video lists.
25380 * include/grub/fs.h (grub_fs_register): Omit prototype if
25381 GRUB_LST_GENERATOR is defined.
25382 * include/grub/partition.h (grub_partition_map_register): Likewise.
25383 * include/grub/video.h (grub_video_register): Likewise.
25384
1c8f0f8d
JM
253852010-06-12 Javier Martín <lordhabbit@gmail.com>
25386
25387 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25388
a6085973
TS
253892010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25390
25391 * util/grub-mkrescue.in: Support --xorriso argument.
25392
25c56d29
VS
253932010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25394
25395 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25396 Suggested by: Thomas Schmitt.
25397
e03e4b24
VS
253982010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25399
25400 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25401 Suggested by: Thomas Schmitt.
25402
57711df6
VS
254032010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25404
25405 custom.cfg support.
25406
25407 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25408 * util/grub.d/41_custom.in: New file.
25409
ee62c427
CW
254102010-06-12 Colin Watson <cjwatson@ubuntu.com>
25411
25412 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25413 been merged back into normal.
25414
283af07a
CW
254152010-06-11 Colin Watson <cjwatson@ubuntu.com>
25416
25417 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25418 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25419
56a0d956
CW
254202010-06-11 Colin Watson <cjwatson@ubuntu.com>
25421
25422 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25423 when generating manual pages.
25424 * docs/man/grub-bin2h.h2m: New file.
25425 * docs/man/grub-editenv.h2m: New file.
25426 * docs/man/grub-fstest.h2m: New file.
25427 * docs/man/grub-install.h2m: New file.
25428 * docs/man/grub-macho2img.h2m: New file.
25429 * docs/man/grub-mkconfig.h2m: New file.
25430 * docs/man/grub-mkdevicemap.h2m: New file.
25431 * docs/man/grub-mkfont.h2m: New file.
25432 * docs/man/grub-mkimage.h2m: New file.
25433 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25434 * docs/man/grub-mkrelpath.h2m: New file.
25435 * docs/man/grub-mkrescue.h2m: New file.
25436 * docs/man/grub-ofpathname.h2m: New file.
25437 * docs/man/grub-pe2elf.h2m: New file.
25438 * docs/man/grub-probe.h2m: New file.
25439 * docs/man/grub-reboot.h2m: New file.
25440 * docs/man/grub-script-check.h2m: New file.
25441 * docs/man/grub-set-default.h2m: New file.
25442 * docs/man/grub-setup.h2m: New file.
25443
3a37e322
VS
254442010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25445
25446 Use FOR_* macros instead of *_iterate whenever possible.
25447
25448 * commands/handler.c: Removed.
25449 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25450 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25451 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25452 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25453 (grub_probe_SOURCES): Remove kern/parser.c.
25454 (util/grub-script-check.c_DEPENDENCIES): Removed.
25455 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25456 and grub_script_check_init.c.
25457 (grub_script_check_init.lst): Removed.
25458 (grub_script_check_init.h): Likewise.
25459 (grub_script_check_init.c): Likewise.
25460 (pkglib_MODULES): Remove handler.mod and sh.mod.
25461 (handler_mod_SOURCES): Removed.
25462 (handler_mod_CFLAGS): Likewise.
25463 (handler_mod_LDFLAGS): Likewise.
25464 (normal_mod_SOURCES): Remove normal/handler.c.
25465 Add script/main.c, script/script.c, script/execute.c,
25466 script/function.c, script/lexer.c, grub_script.tab.c
25467 and grub_script.yy.c.
25468 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25469 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25470 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25471 (grub_setup_SOURCES): Remove kern/parser.c.
25472 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25473 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25474 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25475 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25476 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25477 (grub_setup_SOURCES): Remove kern/parser.c.
25478 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25479 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25480 * include/grub/command.h (grub_command_iterate): Removed.
25481 (FOR_COMMANDS): New macro.
25482 * include/grub/dl.h (grub_dl): New member next.
25483 (grub_dl_iterate): Removed.
25484 (grub_dl_head): New variable declaration.
25485 (FOR_DL_MODULES): New macro.
25486 * include/grub/fs.h: Include list.h.
25487 (grub_fs): Make next first element.
25488 (grub_fs_list): New variable declaration.
25489 (grub_fs_register): Make inline.
25490 (grub_fs_unregister): Likewise.
25491 (grub_fs_iterate): Removed.
25492 (FOR_FILESYSTEMS): New macro.
25493 * include/grub/handler.h: Removed.
25494 * include/grub/list.h (grub_list_hook_t): Removed.
25495 (grub_list_test_t): Likewise.
25496 (grub_list_pop): Likewise.
25497 (grub_list_iterate): Likewise.
25498 (grub_list_insert): Likewise.
25499 (FOR_LIST_ELEMENTS): New macro.
25500 * include/grub/parser.h (grub_parser_class): Removed.
25501 (grub_parser_register): Likewise.
25502 (grub_parser_unregister): Likewise.
25503 (grub_parser_get_current): Likewise.
25504 (grub_parser_set_current): Likewise.
25505 (grub_register_rescue_parser): Likewise.
25506 (grub_rescue_parse_line): New function.
25507 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25508 * include/grub/script_sh.h (grub_script_function_list): New variable
25509 declaration.
25510 (FOR_SCRIPT_FUNCTIONS): New macro.
25511 (grub_script_function_iterate): Removed.
25512 (grub_normal_parse_line): New prototype.
25513 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25514 (FOR_DISABLED_TERM_INPUTS): Likewise.
25515 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25516 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25517 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25518 element.
25519 (grub_video_register): Inline.
25520 (grub_video_unregister): Likewise.
25521 (grub_video_adapter_list): New variable declaration.
25522 (grub_video_iterate): Removed.
25523 (FOR_VIDEO_ADAPTERS): New macro.
25524 * kern/dl.c (grub_dl_list): Removed. All users updated.
25525 (grub_dl_iterate): Removed.
25526 * kern/fs.c (grub_fs_list): Make global.
25527 (grub_fs_register): Removed.
25528 (grub_fs_unregister): Likewise.
25529 (grub_fs_iterate): Likewise.
25530 * kern/handler.c: Removed.
25531 * kern/list.c (grub_list_pop): Removed.
25532 (grub_list_iterate): Likewise.
25533 (grub_list_insert): Likewise.
25534 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25535 (grub_prio_list_insert): Don't use grub_list_insert.
25536 * kern/main.c (grub_register_rescue_parser): Don't call
25537 grub_register_rescue_parser.
25538 * kern/parser.c (grub_parser_class): Removed.
25539 (grub_parser_execute): Use grub_rescue_parse_line.
25540 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25541 (grub_rescue_parser): Removed.
25542 (grub_register_rescue_parser): Likewise.
25543 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25544 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25545 (grub_auth_check_authentication): Likewise.
25546 * normal/completion.c (iterate_command): Removed.
25547 (grub_normal_do_completion): Use FOR_COMMANDS.
25548 * normal/handler.c: Removed.
25549 * normal/main.c (read_config_file): Remove parser changing.
25550 (grub_normal_execute): Don't call read_handler_list.
25551 (grub_normal_read_line_real): Statically allocate prompt.
25552 (grub_cmdline_run): Use grub_normal_parse_line.
25553 (GRUB_MOD_FINI): Don't call free_handler_list.
25554 * normal/menu_entry.c (run): Likewise.
25555 * script/function.c (grub_script_function_list): Make global.
25556 (grub_script_function_iterate): Removed.
25557 * script/main.c (grub_normal_parse_line): Make global.
25558 (grub_sh_parser): Removed.
25559 (GRUB_MOD_INIT): Likewise.
25560 (GRUB_MOD_FINI): Likewise.
25561 * tests/lib/functional_test.c (grub_functional_test): Use
25562 FOR_LIST_ELEMENTS.
25563 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25564 (grub_test_run): Use FOR_LIST_ELEMENTS.
25565 * tests/lib/unit_test.c (main): Likewise.
25566 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25567 grub_list_pop.
25568 * util/grub-fstest.c (grub_term_input_class): Removed.
25569 (grub_term_output_class): Likewise.
25570 * util/grub-probe.c: Likewise.
25571 * util/i386/pc/grub-setup.c: Likewise.
25572 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25573 * util/grub-script-check.c (main): Don't call grub_init_all and
25574 grub_fini_all.
25575 * video/video.c (grub_video_adapter_list): Make global.
25576 (grub_video_register): Removed.
25577 (grub_video_unregister): Likewise.
25578 (grub_video_iterate): Likewise.
25579
6289c3a7
VS
255802010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25581
25582 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25583 reported by Henrique Ferreiro.
25584
91460247
RM
255852010-06-09 Robert Millan <rmh@gnu.org>
25586
25587 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25588 ones, when both are available.
25589
0ea7c4f9
GS
255902010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25591
25592 Make --version uniform and avoid hard-coded program name.
25593
25594 * util/grub-mkimage.c (main): Use `program_name' instead of
25595 hard-coded string.
25596 * util/i386/pc/grub-setup.c (main): Likewise.
25597 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25598 * util/grub-install.in: Save the basename of $0 in $self, and use the
25599 latter in informational messages. Use the same format for --version
25600 as the binary programs.
25601 * util/grub-mkconfig.in: Likewise.
25602 * util/grub-mkrescue.in: Likewise.
25603 * util/grub-reboot.in: Likewise.
25604 * util/grub-set-default.in: Likewise.
25605 * util/i386/efi/grub-install.in: Likewise.
25606 * util/ieee1275/grub-install.in: Likewise.
25607 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25608
e8a6f3b6
GS
256092010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25610
25611 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25612 embedding area. Use <= instead of == when checking for non-emptiness.
25613
f4d095d7
GS
256142010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25615
25616 * configure.ac: Add `.' to the directories searched for unifont.
25617
50e532ca
CW
256182010-06-08 Colin Watson <cjwatson@ubuntu.com>
25619
25620 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25621 grub_script.yy.h.
25622
d39f3dec
CW
256232010-06-08 Colin Watson <cjwatson@ubuntu.com>
25624
25625 * docs/grub.texi (History): Expand to cover GRUB 2.
25626 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25627 commands, not `terminal'.
25628 (serial): Likewise.
25629 (terminal_input): New section.
25630 (terminal_output): New section.
25631 (uppermem): New section (stub).
25632 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25633
6ef0ddb4
CW
256342010-06-08 Colin Watson <cjwatson@ubuntu.com>
25635
25636 * docs/grub.texi (Security): Menu entries are unrestricted by
25637 default, not restricted to superusers as I had previously thought.
25638 Reword to account for this.
25639
e0f4c438
CW
256402010-06-07 Colin Watson <cjwatson@ubuntu.com>
25641
25642 * kern/emu/misc.c (device_mapper_null_log): New function.
25643 (grub_device_mapper_supported): New function.
25644 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25645 prototype.
25646 * kern/emu/hostdisk.c (find_partition_start): Check whether
25647 device-mapper is supported before trying to use it.
25648 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25649
da908200
CW
256502010-06-07 Colin Watson <cjwatson@ubuntu.com>
25651
25652 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25653 (File name syntax): Likewise.
25654 (help): --all is no longer supported in GRUB 2. Be more precise
25655 about pattern matching.
25656
fb55c3ac
CW
256572010-06-07 Colin Watson <cjwatson@ubuntu.com>
25658
25659 * normal/completion.c (grub_normal_do_completion): When completing
25660 arguments to "set" and the current word contains an equals sign,
25661 skip to after the equals sign before starting completion.
25662
258c2573
CW
256632010-06-07 Colin Watson <cjwatson@ubuntu.com>
25664
25665 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25666
ee75515e
CW
256672010-06-07 Colin Watson <cjwatson@ubuntu.com>
25668
25669 * docs/grub.texi (Network): New section.
25670 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25671 `(nd)' as in GRUB Legacy.
25672 (pxe_unload): New section.
25673
a6a700aa
CW
256742010-06-07 Colin Watson <cjwatson@ubuntu.com>
25675
25676 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25677 in the rescue shell, so recommend using `set' instead. Thanks,
25678 Jordan Uggla.
25679
4003dd38
CW
256802010-06-07 Colin Watson <cjwatson@ubuntu.com>
25681
25682 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25683 (password): New section.
25684 (password_pbkdf2): New section.
25685 (search): New section.
25686 (Security): New section.
25687 (Troubleshooting): New section, currently very incomplete.
25688 (Invoking grub-mkpasswd-pbkdf2): New section.
25689 (Internals): New section, currently very incomplete.
25690
e1cbcc40
CW
256912010-06-07 Colin Watson <cjwatson@ubuntu.com>
25692
25693 * util/grub.d/00_header.in: Add some more quoting (of
25694 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25695 work again.
25696 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25697
db8fa1ad
CW
256982010-06-07 Colin Watson <cjwatson@ubuntu.com>
25699
25700 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25701 to `count', fixing variable shadowing that broke the -c option.
25702
257032010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
25704
25705 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25706 in case they contain spaces.
25707
f28a9212
CW
257082010-06-04 Colin Watson <cjwatson@ubuntu.com>
25709
25710 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25711 "part_" to partmap module names, in line with grub-install.
25712 Reported by: Jindřich Makovička (Debian bug #584426).
25713
9cdfe32f
CW
257142010-06-04 Colin Watson <cjwatson@ubuntu.com>
25715
25716 * util/grub-mkimage.c: Make target-related error messages slightly
25717 more helpful; -O talks about "format". Explicitly point to the use
25718 of -O if no target is specified.
25719 Reported by: Didier Raboud (Debian bug #584415).
25720
795b593a
CW
257212010-06-03 Colin Watson <cjwatson@ubuntu.com>
25722
25723 * INSTALL: Document several build requirements for optional features
25724 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25725
9d9b5833
GS
257262010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25727
25728 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25729 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25730 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25731
0819fec8
CW
257322010-06-02 Colin Watson <cjwatson@ubuntu.com>
25733
25734 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25735 Thanks to Jordan Uggla for spotting this.
25736
49396b4f
VS
257372010-06-02 Aleš Nesrsta <starous@volny.cz>
25738
25739 Finally make USB usable.
25740
25741 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25742 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25743 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25744 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25745 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25746 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25747 (GRUB_OHCI_FSMPS): Likewise.
25748 (GRUB_OHCI_PERIODIC_START): Likewise.
25749 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25750 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25751 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25752 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25753 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25754 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25755 (grub_ohci_transaction): Likewise.
25756 (grub_ohci_transfer): Improve condition detection algorithms.
25757 Handle toggle property. Program the transactions correctly.
25758 Improve error handling. Various important fixups.
25759 (grub_ohci_portstatus): Put register writes in right order.
25760 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25761 (grub_uhci_transfer): Don't show "failed" message on success.
25762 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25763 array.
25764 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25765 determine its size.
25766 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25767 before initialization is completed. Use IN direction for empty
25768 transfers. Use last_trans and compute toggle.
25769 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25770 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25771 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25772 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25773 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25774 (grub_usb_device): Increase toggle to 256.
25775 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25776 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25777 GRUB_USBMS_SUBCLASS_SFF8070.
25778 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25779 (grub_scsi_inquiry): New member page and alloc_length.
25780 (grub_scsi_request_sense): New structure.
25781 (grub_scsi_request_sense_data): Likewise.
25782 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25783 control.
25784 * disk/scsi.c (grub_scsi_request_sense): New function.
25785 (grub_scsi_test_unit_ready): Likewise.
25786 (grub_scsi_inquiry): Fill new fields.
25787 (grub_scsi_read_capacity): Likewise.
25788 (grub_scsi_read10): Add request sense at the end.
25789 (grub_scsi_read12): Likewise.
25790 (grub_scsi_write10): Likewise.
25791 (grub_scsi_write12): Likewise.
25792 (grub_scsi_open): Add Test Unit Ready.
25793 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25794 Support additional subclasses. Con't clear halt yet. Activate the
25795 proper config. Calculate LUNs correctly.
25796 (grub_usbms_transfer): Various important fixups.
25797
257982010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25799
25800 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25801 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25802 (grub_ohci_fini_hw): New function.
25803 (grub_ohci_restore_hw): Likewise.
25804 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25805 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25806 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25807
258082010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25809
25810 Dedicated DMA allocations.
25811
25812 * bus/pci.c (grub_memalign_dma32): New function
25813 (grub_dma_free): Likewise.
25814 (grub_dma_get_virt): Likewise.
25815 (grub_dma_get_phys): Likewise.
25816 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25817 (grub_ohci_pci_iter): Use dma32_alloc.
25818 (grub_ohci_transfer): Likewise.
25819 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25820 (grub_usb_bulk_readwrite): Likewise.
25821 * include/grub/pci.h: Add declarations.
25822
258232010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25824
25825 CS5536 support.
25826
25827 * bus/cs5536.c: New file.
25828 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25829 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25830 (cs5536_mod_SOURCES): New variable.
25831 (cs5536_mod_CFLAGS): Likewise.
25832 (cs5536_mod_LDFLAGS): Likewise.
25833 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25834 machine/pci.h.
25835 (kernel_img_SOURCES): Add bus/cs5536.c.
25836 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
25837 usb_keyboard.mod.
25838 (usb_mod_SOURCES): New variable.
25839 (usb_mod_CFLAGS): New variable.
25840 (usb_mod_LDFLAGS): New variable.
25841 (usbtest_mod_SOURCES): New variable.
25842 (usbtest_mod_CFLAGS): New variable.
25843 (usbtest_mod_LDFLAGS): New variable.
25844 (ohci_mod_SOURCES): New variable.
25845 (ohci_mod_CFLAGS): New variable.
25846 (ohci_mod_LDFLAGS): New variable.
25847 (usbms_mod_SOURCES): New variable.
25848 (usbms_mod_CFLAGS): New variable.
25849 (usbms_mod_LDFLAGS): New variable.
25850 (usb_keyboard_mod_SOURCES): New variable.
25851 (usb_keyboard_mod_CFLAGS): New variable.
25852 (usb_keyboard_mod_LDFLAGS): New variable.
25853 * include/grub/smbus.h: New file.
25854 * include/grub/cs5536.h: New file.
25855
0b35b2a9
CW
258562010-06-02 Colin Watson <cjwatson@ubuntu.com>
25857
25858 * util/grub.d/00_header.in: Add safety check to make sure that
25859 ${locale_dir} exists before trying to probe it.
25860
ca0afd5b
CW
258612010-06-02 Colin Watson <cjwatson@ubuntu.com>
25862
25863 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
25864 per the GNU Coding Standards; this is now too obscure to be worth
25865 documenting.
25866 (QNX): Likewise.
25867 (chainloader): Remove cross-reference to `SCO UnixWare'.
25868
1c41aa78
CW
258692010-06-02 Colin Watson <cjwatson@ubuntu.com>
25870
25871 * docs/grub.texi (Chain-loading): New section.
25872 (DOS/Windows): New section, borrowed from GRUB Legacy with details
25873 adjusted for GRUB 2.
25874 (SCO UnixWare): Likewise.
25875 (QNX): Likewise.
25876 (chainloader): Add reference to `Block list syntax'.
25877 (drivemap): New section.
25878 (parttool): New section.
25879
bb8ea0f5
CW
258802010-06-02 Colin Watson <cjwatson@ubuntu.com>
25881
25882 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
25883 the grub shell'.
25884 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
25885 (Installing GRUB using grub-install): Remove reference to the grub
25886 shell; mention `grub-mkimage' and `grub-setup' instead.
25887 (Invoking grub-install): Likewise.
25888 (Interface): Add reference to `Menu entry editor'.
25889 (serial): Remove `--device' option.
25890
288dd6ed
CW
258912010-06-02 Colin Watson <cjwatson@ubuntu.com>
25892
25893 * docs/grub.texi (Configuration): New section, documenting
25894 configuration file generation using grub-mkconfig. I've left a slot
25895 for documenting the full shell scripting format but have not yet
25896 started on writing that up.
25897 (Invoking grub-mkconfig): New section.
25898
34c9f0e9
CW
258992010-06-02 Colin Watson <cjwatson@ubuntu.com>
25900
25901 * docs/grub.texi (direntry): Remove grub-terminfo reference.
25902 (GNU GRUB manual): Likewise.
25903 (General commands): Update description of `terminfo' for GRUB 2.
25904
9121567e
CW
259052010-06-02 Colin Watson <cjwatson@ubuntu.com>
25906
25907 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
25908 (GRUB_MOD_INIT): Fix capitalisation.
25909 * docs/grub.texi (Command-line and menu entry commands): Document
25910 gettext and gptsync commands.
25911
ab631611
CW
259122010-06-02 Colin Watson <cjwatson@ubuntu.com>
25913
25914 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
25915 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
25916
bde4a9ac
CW
259172010-06-01 Colin Watson <cjwatson@ubuntu.com>
25918
25919 Add btrfs probing support, currently only in the single-device case.
25920
25921 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
25922 function.
25923 (grub_guess_root_device): Call find_root_device_from_mountinfo
25924 before looking in /dev.
25925
b1d17e10
VS
259262010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25927
25928 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
25929 GRUB_DISK_SIZE_UNKNOWN.
25930 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
25931
dfbfe004
JS
259322010-05-31 Jiro SEKIBA <jir@unicus.jp>
25933
25934 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
25935 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
25936 corrupted or not synced properly.
25937
c2ffc8e9
VS
259382010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25939
25940 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
25941 Reported by: Seth Goldberg.
25942
56293166
VS
259432010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25944
25945 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
25946 addition of dest.
25947 Reported by: Seth Goldberg.
25948
7620e7de
VS
259492010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25950
25951 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
25952 Reported by: Seth Goldberg.
25953
c837af3f
VS
259542010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25955
25956 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
25957 64-bit address as signed on MIPS.
25958
c7c75cf4
CW
259592010-05-28 Colin Watson <cjwatson@ubuntu.com>
25960
25961 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
25962 to the empty string.
25963
fa4b8490
BC
259642010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
25965
25966 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
25967
25968 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
25969 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
25970 * kern/misc.c (__enable_execute_stack): Disable on
25971 GRUB_MACHINE_EMU.
25972
a33075b9
CW
259732010-05-28 Colin Watson <cjwatson@ubuntu.com>
25974
25975 Make grub-probe work with symbolic links under /dev/mapper as well
25976 as with real block devices. The Linux world seems to be (at best)
25977 in transition here, and GRUB shouldn't get caught in the middle.
25978
25979 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
25980 /dev/mapper.
25981
d8708134
CW
259822010-05-27 Colin Watson <cjwatson@ubuntu.com>
25983
25984 * util/grub-script-check.c (main): Ensure defined behaviour on empty
25985 input files (in which case exit zero).
25986
db2102a0
CW
259872010-05-27 Colin Watson <cjwatson@ubuntu.com>
25988
25989 * kern/emu/misc.c (canonicalize_file_name): realpath can still
25990 return NULL for various reasons even if it has a maximum-length
25991 buffer: for example, there might be a symlink loop, or the path
25992 might exceed PATH_MAX. If this happens, return NULL.
25993
5fdba519
RM
259942010-05-27 Robert Millan <rmh@gnu.org>
25995
25996 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
25997 partmap module to handle cross-partmap setups.
25998 Reported by Orestes Mas. Gràcies!
25999
d1d368e4
CW
260002010-05-27 Colin Watson <cjwatson@ubuntu.com>
26001
26002 * util/grub-mkrescue.in: Initialise override_dir rather than
26003 assuming that it's unset or empty in the environment.
26004
95ac3c73
GS
260052010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26006
26007 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26008 variable index into p_index to suppress a warning with -Wshadow.
26009
7d8c0213
BC
260102010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26011
26012 * INSTALL: Added flex >= 2.5.35 requirement.
26013
db4d5813
VS
260142010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26015
26016 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26017
f24f4300
VS
260182010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26019
26020 cmostest support.
26021
26022 * commands/i386/cmostest.c: New file.
26023 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26024 (cmostest_mod_SOURCES): New variable.
26025 (cmostest_mod_CFLAGS): Likewise.
26026 (cmostest_mod_LDFLAGS): Likewise.
26027 * conf/i386-pc.rmk: Likewise.
26028 * docs/grub.texi (Vendor power-on keys): New section.
26029 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26030 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26031 and GRUB_BUTTON_CMOS_ADDRESS.
26032 * util/grub.d/00_header.in: Handle powering-on by separate button.
26033
ad603f61
VS
260342010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26035
26036 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26037 Removed drawing_scrollbar argument. All users updated
26038 Fixes #29792.
26039 Reported by Jo Shields
26040
3ecb080a
VS
260412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26042
26043 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26044 buffer since gfxterm handles double repaint.
26045
5f2316c1
VS
260462010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26047
26048 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26049 * term/gfxterm.c (real_scroll): Likewise.
26050
9a25f885
VS
260512010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26052
26053 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26054 before calling BIOS.
26055
39fbb79a
VS
260562010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26057
26058 * include/grub/i18n.h: Always enable grub_gettext.
26059
228cfa97
VS
260602010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26061
26062 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26063 partition naming style.
26064
21717c8f
CW
260652010-05-21 Colin Watson <cjwatson@ubuntu.com>
26066
26067 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26068 not the first option.
26069
c0f48e65
CW
260702010-05-20 Colin Watson <cjwatson@ubuntu.com>
26071
26072 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26073
96779aec
CW
260742010-05-20 Colin Watson <cjwatson@ubuntu.com>
26075
26076 * util/misc.c: Move inclusion of <limits.h> to ...
26077 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26078
fa9d256e
GS
260792010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26080
26081 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26082 Fix merge error in NetBSD code.
26083 (find_partition_start) [__NetBSD__]: Likewise.
26084
123b7a85
BC
260852010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26086
26087 Fix grub-mkrescue usage unit testing.
26088
26089 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26090
74276c0d
CF
260912010-05-18 Christian Franke <franke@computer.org>
26092
26093 * util/grub.d/10_windows.in: Use path names instead of
26094 drive letters to prevent warning from Cygwin 1.7.
26095 Add drivemap command to menuentry if needed.
26096
c4f7b523
ST
260972010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26098
26099 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26100 gnumach and gnumach.gz.
26101
95b97950
VS
261022010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26103
26104 * include/grub/i18n.h (gettext): Inline instead of using #define.
26105 (grub_gettext): Likewise.
26106 (_): Likewise.
26107
01b8d2d7
VS
261082010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26109
26110 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26111 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26112 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26113 (main): Add a slash after pkglibdirroot.
26114
654e1d1e
VS
261152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26116
26117 * util/grub-install.in: Add missing "in" keyword.
26118
26966aeb
VS
261192010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26120
26121 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26122 Reported by: Seth Goldberg.
26123
75006747
VS
261242010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26125
26126 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26127
74cbf5bd
CW
261282010-05-18 Colin Watson <cjwatson@ubuntu.com>
26129
26130 * configure.ac: Check for Linux device-mapper support.
26131
26132 * util/hostdisk.c (device_is_mapped): New function.
26133 (find_partition_start): New function, partly broken out from
26134 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26135 device-mapper support added.
26136 (linux_find_partition): Use find_partition_start.
26137 (convert_system_partition_to_system_disk): Add `st' argument.
26138 Support Linux /dev/mapper/* devices if device-mapper support is
26139 available; only DM-RAID devices are understood at present.
26140 (find_system_device): Add `st' argument. Pass it to
26141 convert_system_partition_to_system_disk.
26142 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26143 find_system_device and convert_system_partition_to_system_disk. Use
26144 find_partition_start.
26145
26146 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26147 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26148 * util/deviceiter.c [__linux__]: Define MINOR.
26149 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26150 * util/mkdevicemap.c (grub_putchar): New function.
26151 (grub_getkey): New function.
26152 (grub_refresh): New function.
26153 (main): Set debug=all if -v -v is used.
26154
355b51e9
CW
261552010-05-18 Colin Watson <cjwatson@ubuntu.com>
26156
26157 Fix build with non-GNU libcs.
26158
26159 * util/misc.c (canonicalize_file_name): Move to ...
26160 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26161 grub_make_system_path_relative_to_its_root.
26162
7fb5c25f
CW
261632010-05-18 Colin Watson <cjwatson@ubuntu.com>
26164
26165 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26166 we handle finding grub-mkimage. Default to finding grub-mkimage in
26167 ${bindir} with program_transform_name applied, and provide a
26168 --grub-mkimage option to override this.
26169
1d3293d6
VS
261702010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26171
26172 Remove grub-mkisofs.
26173
26174 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26175 (grub_mkisofs_SOURCES): Removed.
26176 (grub_mkisofs_CFLAGS): Removed.
26177 * util/mkisofs/defaults.h: Removed.
26178 * util/mkisofs/eltorito.c: Likewise.
26179 * util/mkisofs/exclude.h: Likewise.
26180 * util/mkisofs/hash.c: Likewise.
26181 * util/mkisofs/include/: Likewise.
26182 * util/mkisofs/include/fctldefs.h: Likewise.
26183 * util/mkisofs/include/mconfig.h: Likewise.
26184 * util/mkisofs/include/prototyp.h: Likewise.
26185 * util/mkisofs/include/statdefs.h: Likewise.
26186 * util/mkisofs/iso9660.h: Likewise.
26187 * util/mkisofs/joliet.c: Likewise.
26188 * util/mkisofs/match.c: Likewise.
26189 * util/mkisofs/match.h: Likewise.
26190 * util/mkisofs/mkisofs.c: Likewise.
26191 * util/mkisofs/mkisofs.h: Likewise.
26192 * util/mkisofs/msdos_partition.h: Likewise.
26193 * util/mkisofs/multi.c: Likewise.
26194 * util/mkisofs/name.c: Likewise.
26195 * util/mkisofs/rock.c: Likewise.
26196 * util/mkisofs/tree.c: Likewise.
26197 * util/mkisofs/write.c: Likewise.
26198
5dde9afe
VS
261992010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26200
26201 Unify grub-mkimage accross platforms.
26202
26203 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26204 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26205 (grub_mkelfimage_SOURCES): Removed.
26206 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26207 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26208 (bin_UTILITIES): Add grub-mkimage.
26209 (grub_mkimage_SOURCES): New variable.
26210 (kernel_img_HEADERS): Remove machine/kernel.h.
26211 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26212 (pkglib_PROGRAMS): Add kernel.img.
26213 (kernel_img_HEADERS): Add machine/kernel.h.
26214 (kernel_img_FORMAT): Removed.
26215 (bin_UTILITIES): Remove grub-mkimage.
26216 (grub_mkimage_SOURCES): Removed.
26217 (grub_mkimage_CFLAGS): Likewise.
26218 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26219 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26220 (pkglib_PROGRAMS): Add kernel.img.
26221 (bin_UTILITIES): Remove grub-mkimage.
26222 (grub_mkimage_SOURCES): Removed.
26223 (grub_mkimage_CFLAGS): Likewise.
26224 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26225 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26226 (pkglib_PROGRAMS): Add kernel.img.
26227 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26228 (pkglib_PROGRAMS): Add kernel.img.
26229 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26230 (grub_mkimage_SOURCES): Removed.
26231 (grub_mkimage_CFLAGS): Likewise.
26232 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26233 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26234 (pkglib_PROGRAMS): Add kernel.img.
26235 (bin_UTILITIES): Remove grub-mkimage.
26236 (grub_mkimage_SOURCES): Removed.
26237 (grub_mkimage_CFLAGS): Likewise.
26238 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26239 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26240 (grub_mkimage_SOURCES): Removed.
26241 (grub_mkimage_CFLAGS): Likewise.
26242 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26243 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26244 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26245 (grub_pe32_optional_header): ... this.
26246 (grub_pe64_optional_header): ... and this. All users updated.
26247 (GRUB_PE32_PE32_MAGIC): Split into ..
26248 (GRUB_PE32_PE32_MAGIC): .. this.
26249 (GRUB_PE32_PE64_MAGIC): .. and this.
26250 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26251 * include/grub/elf.h (PT_GNU_STACK): New definition.
26252 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26253 * include/grub/i386/efi/kernel.h: Likewise.
26254 * include/grub/i386/kernel.h: Likewise.
26255 * include/grub/i386/pc/kernel.h: Likewise.
26256 * include/grub/i386/qemu/boot.h: Likewise.
26257 * include/grub/mips/kernel.h: Likewise.
26258 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26259 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26260 * include/grub/powerpc/kernel.h: Likewise.
26261 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26262 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26263 * include/grub/sparc64/kernel.h: Likewise.
26264 * include/grub/x86_64/efi/kernel.h: Likewise.
26265 * include/grub/x86_64/kernel.h: Likewise.
26266 * include/grub/offsets.h: New file.
26267 * include/grub/kernel.h (grub_module_info): Split into ...
26268 (grub_module_info32): ... this.
26269 (grub_module_info64): ... and this.
26270 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26271 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26272 (grub_boot_blocklist): Moved from here ...
26273 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26274 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26275 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26276 * include/grub/types.h (grub_target_to_host16): Removed.
26277 (grub_target_to_host32): Likewise.
26278 (grub_target_to_host64): Likewise.
26279 (grub_host_to_target16): Likewise.
26280 (grub_host_to_target32): Likewise.
26281 (grub_host_to_target64): Likewise.
26282 (grub_host_to_target_addr): Likewise.
26283
26284 Support grub-mkrescue for efi, coreboot and qemu.
26285
26286 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26287 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26288 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26289 * util/grub-mkrawimage.c: Moved from here ...
26290 * util/grub-mkimage.c: ... here. All users updated.
26291 (ALIGN_ADDR): Use image_target.
26292 (TARGET_NO_FIELD): New const.
26293 (image_target_desc): New type.
26294 (image_targets): New array.
26295 (grub_target_to_host64): Use image_target.
26296 (grub_target_to_host32): Likewise.
26297 (grub_target_to_host16): Likewise.
26298 (grub_host_to_target64): Likewise.
26299 (grub_host_to_target32): Likewise.
26300 (grub_host_to_target16): Likewise.
26301 (grub_host_to_target_addr): Likewise.
26302 (generate_image): Handle multiimage.
26303 (main): Require -O parameter. All users updated.
26304 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26305 util/efi/grub-mkimage.c
26306 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26307 New option --rom-directory.
26308 Use xorriso.
26309 * util/i386/efi/grub-mkimage.c: Removed.
26310 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26311 (grub_target_to_host32): Likewise.
26312 (grub_target_to_host64): Likewise.
26313 (grub_host_to_target16): Likewise.
26314 (grub_host_to_target32): Likewise.
26315 (grub_host_to_target64): Likewise.
26316 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26317 (grub_target_to_host32): Likewise.
26318 (grub_target_to_host64): Likewise.
26319 (grub_host_to_target16): Likewise.
26320 (grub_host_to_target32): Likewise.
26321 (grub_host_to_target64): Likewise.
26322
f4fc97d0
BC
263232010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26324
26325 Source tree is reorganized for emu build.
26326
26327 * include/grub/util/console.h: Move from here...
26328 * include/grub/emu/console.h: ...to here.
26329 * include/grub/util/getroot.h: Move from here...
26330 * include/grub/emu/getroot.h: ...to here.
26331 * include/grub/util/hostdisk.h: Move from here...
26332 * include/grub/emu/hostdisk.h: ...to here.
26333 * util/console.c: Move from here...
26334 * kern/emu/console.c: ...to here.
26335 * util/getroot.c: Move from here...
26336 * kern/emu/getroot.c: ...to here.
26337 * util/grub-emu.c: Move from here...
26338 * kern/emu/main.c: ...to here.
26339 * util/hostdisk.c: Move from here...
26340 * kern/emu/hostdisk.c: ...to here.
26341 * util/hostfs.c: Move from here...
26342 * kern/emu/hostfs.c: ...to here.
26343 * util/mm.c: Move from here...
26344 * kern/emu/mm.c: ...to here.
26345 * util/pci.c: Move from here...
26346 * bus/emu/pci.c: ...to here.
26347 * util/sdl.c: Move from here...
26348 * video/emu/sdl.c: ...to here.
26349 * util/time.c: Move from here...
26350 * kern/emu/time.c: ...to here.
26351 * util/usb.c: Move from here...
26352 * bus/usb/emu/usb.c: ...to here.
26353
26354 * include/grub/emu/misc.h: New header for grub-emu functions.
26355 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26356
26357 * conf/any-emu.rmk: Rule updates for above renames.
26358 * conf/common.rmk: Likewise.
26359 * conf/i386-pc.rmk: Likewise.
26360 * conf/i386-qemu.rmk: Likewise.
26361 * conf/mips.rmk: Likewise.
26362 * conf/sparc64-ieee1275.rmk: Likewise.
26363 * conf/x86-efi.rmk: Likewise.
26364
26365 * disk/lvm.h: #include updates for above renames.
26366 * util/grub-mkrelpath.c: Likewise.
26367 * util/grub-probe.c: Likewise.
26368 * util/i386/pc/grub-setup.c: Likewise.
26369 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26370 * kern/emu/console.c: Likewise.
26371 * kern/emu/getroot.c: Likewise.
26372 * kern/emu/hostdisk.c: Likewise.
26373 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26374
26375 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26376 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26377 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26378 * util/misc.c: Remove grub-emu functions.
26379
cced9145
VS
263802010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26381
26382 Fix gfxmenu crash.
26383 Reported by: Thorsten Grützmacher.
26384
26385 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26386 timeout hook.
26387 (circprog_set_property): Register and unregister timeout hook.
26388 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26389 (label_destroy): Free template. and unregister hook.
26390 (label_set_state): New function.
26391 (label_set_property): Handle templates and hooks.
26392 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26393 timeout hook.
26394 (progress_bar_set_property): Register and unregister timeout hook.
26395 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26396 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26397 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26398 (update_timeout_visit): Removed.
26399 (update_timeouts): New function.
26400 (redraw_timeouts): Likewise.
26401 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26402 (grub_gfxmenu_clear_timeout): Likewise.
26403 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26404 (grub_gfxmenu_timeout_notify): Likewise.
26405 (grub_gfxmenu_timeout_notifications): New external variable.
26406 (grub_gfxmenu_timeout_register): New function.
26407 (grub_gfxmenu_timeout_unregister): Likewise.
26408
c6e5caab
VS
264092010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26410
26411 Transform (broken) vga terminal into (working) vga video driver.
26412
26413 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26414 video/i386/pc/vga.c.
26415 * include/grub/video.h (grub_video_driver_id):
26416 Add GRUB_VIDEO_DRIVER_VGA.
26417 * term/i386/pc/vga.c: Renamed to ...
26418 * video/i386/pc/vga.c: ...this
26419 (DEBUG_VGA): Removed.
26420 (CHAR_WIDTH): Likewise.
26421 (CHAR_HEIGHT): Likewise.
26422 (TEXT_WIDTH): Likewise.
26423 (TEXT_HEIGHT): Likewise.
26424 (DEFAULT_FG_COLOR): Likewise.
26425 (DEFAULT_BG_COLOR): Likewise.
26426 (colored_char): Likewise.
26427 (xpos): Likewise.
26428 (ypos): Likewise.
26429 (cursor_state): Likewise.
26430 (fg_color): Likewise.
26431 (bg_color): Likewise.
26432 (text_buf): Likewise.
26433 (page): Likewise.
26434 (font): Likewise.
26435 (framebuffer): New variable.
26436 (set_read_map): Disabled.
26437 (setup): New variable.
26438 (is_target): Likewise.
26439 (grub_vga_mod_init): Likewise.
26440 (grub_vga_mod_fini): Likewise.
26441 (check_vga_mem): Likewise.
26442 (write_char): Likewise.
26443 (write_cursor): Likewise.
26444 (scroll_up): Likewise.
26445 (grub_vga_putchar): Likewise.
26446 (grub_vga_getcharwidth): Likewise.
26447 (grub_vga_getwh): Likewise.
26448 (grub_vga_getxy): Likewise.
26449 (grub_vga_gotoxy): Likewise.
26450 (grub_vga_cls): Likewise.
26451 (grub_vga_setcolorstate): Likewise.
26452 (grub_vga_setcursor): Likewise.
26453 (grub_video_vga_init): New function.
26454 (grub_video_vga_setup): Likewise.
26455 (grub_video_vga_fini): Likewise.
26456 (update_target): Likewise.
26457 (grub_video_vga_blit_bitmap): Likewise.
26458 (grub_video_vga_blit_render_target): Likewise.
26459 (grub_video_vga_set_active_render_target): Likewise.
26460 (grub_video_vga_get_active_render_target): Likewise.
26461 (grub_video_vga_swap_buffers): Likewise.
26462 (grub_video_vga_set_palette): Likewise.
26463 (grub_video_vga_get_info_and_fini): Likewise.
26464 (grub_vga_term): Removed.
26465 (grub_video_vga_adapter): New variable.
26466 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26467 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26468
2bf61a98
VS
264692010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26470
26471 * video/readers/jpeg.c: Indented.
26472
09ddcd11
VS
264732010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26474
26475 Various jpeg cleanups.
26476
26477 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26478 (grub_jpeg_decode_quan_table): Use sizeof.
26479 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26480
e5507505
PH
264812010-05-05 Peter Hurley <No e-mail available> (tiny change)
26482
26483 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26484 tables. Ignore non-last ac bit.
26485 (grub_jpeg_decode_quan_table): Likewise.
26486
7e720a9b
VS
264872010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26488
26489 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26490 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26491 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26492 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26493 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26494 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26495
a7fc080b
VS
264962010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26497
26498 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26499 error.
26500
2bf6012d
VS
265012010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26502
26503 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26504
265d68cd
VS
265052010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26506
26507 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26508 condition.
26509
265102010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26511
26512 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26513 part.
26514
265d68cd 265152010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26516
26517 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26518 pointers.
26519
265d68cd 265202010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26521
26522 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26523
d1b61374
CF
265242010-05-01 Christian Franke <franke@computer.org>
26525
26526 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26527 Remove broken Cygwin path conversion.
26528 * util/misc.c: [__CYGWIN__] Add include and define.
26529 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26530 for Cygwin 1.7.
26531 (make_system_path_relative_to_its_root): Simplify loop, replace early
26532 return by break.
26533 [__CYGWIN__] Add conversion to win32 path.
26534 Include "/" case in trailing slash removal.
26535
3558c6e9
VS
265362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26537
26538 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26539 Reported by: Seth Goldberg
26540
f5f3ff93
VS
265412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26542
26543 * commands/help.c (grub_cmd_help): Fix a typo.
26544 Reported by: Seth Goldberg
26545
d8b5cd40
VS
265462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26547
26548 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26549 name and add N_.
26550 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26551 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26552 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26553 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26554 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26555 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26556 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26557 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26558 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26559 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26560 * normal/context.c (GRUB_MOD_INIT): Likewise.
26561 * normal/main.c (GRUB_MOD_INIT): Likewise.
26562 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26563 * term/serial.c (GRUB_MOD_INIT): Likewise.
26564 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26565
88c14915
VS
265662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26567
26568 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26569 extra == 0.
26570
165134bc
VS
265712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26572
26573 * commands/iorw.c: New file.
26574 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26575 (iorw_mod_SOURCES): New variable.
26576 (iorw_mod_CFLAGS): Likewise.
26577 (iorw_mod_LDFLAGS): Likewise.
26578
c5ac9b32
VS
265792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26580
26581 Hotkey support
26582
26583 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26584 * normal/main.c (hotkey_aliases): New variable.
26585 (grub_normal_add_menu_entry): Parse "--hotkey".
26586 * normal/menu_text.c (run_menu): Handle hotkeys.
26587
ce60689c
VS
265882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26589
26590 * kern/i386/coreboot/init.c (grub_machine_init): Call
26591 grub_machine_mmap_init on qemu.
26592
0359d006
VS
265932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26594
26595 * boot/i386/qemu/boot.S: Add a missing .code16.
26596
7819a456
VS
265972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26598
26599 Use LBIO on coreboot.
26600
26601 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26602 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26603 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26604 New declaration.
26605 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26606 grub_machine_mmap_init on coreboot.
26607 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26608 GRUB_LINUXBIOS_MEMBER_LINK.
26609 (grub_machine_mmap_iterate): Fix declaration.
26610 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26611
7210dca9
VS
266122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26613
26614 Split coreboot and multiboot ports.
26615
26616 * conf/i386-multiboot.rmk: New file.
26617 * configure.ac: Add multiboot port.
26618 * include/grub/i386/multiboot/boot.h: New file.
26619 * include/grub/i386/multiboot/console.h: Likewise.
26620 * include/grub/i386/multiboot/init.h: Likewise.
26621 * include/grub/i386/multiboot/kernel.h: Likewise.
26622 * include/grub/i386/multiboot/loader.h: Likewise.
26623 * include/grub/i386/multiboot/memory.h: Likewise.
26624 * include/grub/i386/multiboot/serial.h: Likewise.
26625 * include/grub/i386/multiboot/time.h: Likewise.
26626 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26627 * loader/multiboot.c: Likewise.
26628 * loader/multiboot_mbi2.c: Likewise.
26629 * util/grub-mkrescue.in: Generate multiboot rescue.
26630
6f8aaf68
VS
266312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26632
3080f7a7
VS
26633 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26634
266352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26636
26637 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26638
26639 * commands/terminal.c (abstract_terminal): New struct.
26640 (handle_command): New function. Based on grub_cmd_terminal_input.
26641 (grub_cmd_terminal_input): Use handle_command.
26642 (grub_cmd_terminal_output): Use handle_command.
26643
a8ebb841
BC
266442010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26645
26646 Fix comment handling.
26647
26648 * tests/grub_script_comments.in: New testcase.
26649 * conf/tests.rmk: Rules for new testcase.
26650 * script/yylex.l: Updated flex rules.
26651
bb06ba08
ST
266522010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26653
26654 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26655 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26656 if argc is 1.
bb06ba08 26657
cc9d2425
VS
266582010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26659
26660 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26661 autogen issues.
26662
460d8402
CF
266632010-04-26 Christian Franke <franke@computer.org>
26664
26665 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26666 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26667 (grub_get_prefix): Remove function.
26668 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26669 make_system_path_relative_to_its_root ().
26670 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26671
553c01f9
CF
266722010-04-24 Christian Franke <franke@computer.org>
26673
26674 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26675 (kernel_img_LDFLAGS): Remove -static-libgcc.
26676
2aec1692
CF
266772010-04-24 Christian Franke <franke@computer.org>
26678
26679 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26680 and CHECK_END_SYMBOL if grub-emu is built.
26681 Unset TARGET_OBJ2ELF if grub-emu is built
26682 without module support.
26683
f67dc308
JS
266842010-04-24 Jiro SEKIBA <jir@unicus.jp>
26685
26686 Nilfs2 support.
26687
26688 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26689 (grub_fstest_SOURCES): Likewise.
26690 (pkglib_MODULES): Add nilfs2.mod.
26691 (nilfs2_mod_SOURCES): New variable.
26692 (nilfs2_mod_CFLAGS): Likewise.
26693 (nilfs2_mod_LDFLAGS): Likewise.
26694 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26695 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26696 * fs/nilfs2.c: New file.
26697
4ba8d354
VS
266982010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26699
26700 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26701 is not supported.
26702
0d2c20c6
GS
267032010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26704
26705 Add grub-mkconfig support for NetBSD.
26706
26707 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26708 * util/grub-mkconfig.in: export new NetBSD specific variables.
26709 * po/POTFILES-shell: added 10_netbsd.in.
26710 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26711
bc4a2d83
BC
267122010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26713
26714 Fix emu build with grub-emu-pci and grub-emu-modules.
26715
26716 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26717 functions.
26718 * include/grub/libpciaccess.h: New file.
26719 * conf/any-emu.rmk: Update kernel headers for emu build.
26720
f48c87aa
VS
267212010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26722
26723 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26724
18959385
VS
267252010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26726
26727 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26728
0037de3f
VS
267292010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26730
26731 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26732 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26733 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26734 util/ieee1275/ofpath.c.
26735 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26736 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26737 * include/grub/sparc64/ieee1275/boot.h
26738 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26739 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26740 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26741 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26742 const char *.
26743 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26744 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26745 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26746 install.
26747
38e55e90
GS
267482010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26749
26750 * util/grub-mkconfig.in: Corrected two == equality tests.
26751 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26752 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26753 expect a number appended to it.
26754 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26755 expects a number appended to it.
26756
a9e6ff28
VS
267572010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26758
26759 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26760
0b830b8f
VS
267612010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26762
26763 * util/hostdisk.c (make_device_name): Change to new partition naming.
26764
0973daeb
VS
267652010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26766
26767 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26768
460d8402 267692010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
26770
26771 * Makefile.in: Add missing localedir setting.
26772
0b456309
CW
267732010-04-14 Colin Watson <cjwatson@ubuntu.com>
26774
26775 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26776 mistake in r2156. Noticed by Anthony Fok.
26777
26778 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26779 @localedir@.
26780 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26781
08f46d62
BC
267822010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26783
26784 Fix a spurious, uninitialized variable warning.
26785
26786 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26787 Initialize variable, shdr.
26788 (grub_freebsd_load_elfmodule): Likewise.
26789 (grub_freebsd_load_elf_meta): Likewise.
26790
8c4a72d4
BC
267912010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26792
26793 Fix for escaped dollar in double quoted strings.
26794
26795 * script/yylex.l: Updated flex rules.
26796 * conf/tests.rmk: Rule for new testcase.
26797 * tests/grub_script_dollar.in: New testcase.
26798
ce44826e
CPE
267992010-04-13 Carles Pina i Estany <carles@pina.cat>
268002010-04-13 Colin Watson <cjwatson@ubuntu.com>
26801
26802 Enclose all translated strings in grub.cfg in single quotes, and
26803 escape them appropriately (Ubuntu bug #552921).
26804
26805 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26806 * util/grub.d/10_hurd.in: Use it.
26807 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26808 * util/grub.d/10_linux.in (linux_entry): Likewise.
26809
4b0cd8f8
VS
268102010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26811
26812 Fix cygwin compilation.
26813
26814 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26815 * include/grub/misc.h (__register_frame_info)
26816 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26817 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26818 * kern/misc.c (__register_frame_info)
26819 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26820 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26821
01fcf061
VS
268222010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26823
26824 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26825
5d04b11e
VS
268262010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26827
26828 Unify libgcc processing.
26829
26830 * Makefile.in (kernel_img_LDFLAGS): New variable.
26831 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26832 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26833 overwriting.
26834 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26835 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26836 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
26837 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
26838 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
26839 overwriting. Remove -lgcc and -static-libgcc
26840 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
26841 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26842 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26843 (kernel_img_LDFLAGS): Append instead of overwriting.
26844 Remove -lgcc and -static-libgcc
26845 * conf/sparc64-ieee1275.rmk: Likewise.
26846 * include/grub/powerpc/libgcc.h: Move to ...
26847 * include/grub/libgcc.h: .. this.
26848 * include/grub/libgcc.h: Don't export most of the function on x86.
26849 (__bswapsi2): New export.
26850 (__bswapdi2): Likewise.
26851 * include/grub/mips/libgcc.h: Removed.
26852 * include/grub/sparc64/libgcc.h: Likewise.
26853
b7f3ac29
VS
268542010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26855
26856 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
26857 disk_info_msg (conflicts with gettexting into languages with cases).
26858
2c7031b1
GS
268592010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
26860
26861 Add grub-probe support for NetBSD.
26862
26863 * util/getroot.c (find_root_device): Convert block device to
26864 character device on NetBSD.
26865 * util/probe.c (probe): Require character device on NetBSD.
26866 * util/hostdisk.c: NetBSD specific headers.
26867 (configure_device_driver): new function to tune device driver
26868 parameters (currently only for NetBSD floppy driver).
26869 (grub_util_biosdisk_open): NetBSD specific code (get disk size
26870 via disklabel ioctl).
26871 (open_device): call configure_device_driver on NetBSD.
26872 (convert_system_partition_to_system_disk): NetBSD specific code.
26873 (device_is_wholedisk): Likewise.
26874 (grub_util_biosdisk_get_grub_dev): Likewise.
26875 (make_device_name): Fixed a typo in bsd_part_str.
26876 * configure.ac: check for opendisk() and getrawpartition() on
26877 NetBSD and set LIBUTIL.
26878 * Makefile.in: add LIBUTIL to LIBS.
26879
f516290c
BC
268802010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26881
26882 Documentation fix.
26883
26884 * util/grub-script-check.c: Better help message.
26885
d8dcc0df
BC
268862010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26887
26888 Fix FreeBSD build.
26889
26890 * configure.ac: Flex version check.
26891 * conf/common.rmk: Add -Wno-error to sh.mod.
26892 * script/yylex.l: Remove all #pragma.
26893
6734334a
VS
268942010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26895
26896 * include/grub/util/misc.h (canonicalise_file_name): Add missing
26897 prototype.
26898 Reported by: Seth Goldberg.
26899
daea6abd
VS
269002010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26901
26902 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
26903 Rename "module" to "module2".
26904 Reported by: Seth Goldberg.
26905
f2fd9d2b
VS
269062010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26907
26908 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
26909 EXPORT_FUNC.
26910 Reported by: Seth Goldberg.
26911
be124579
VS
269122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26913
26914 * lib/posix_wrap/locale.h: Add missing file.
26915 Reported by: Seth Goldberg.
26916
ef5da797
VS
269172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26918
26919 grub-emu module load support.
26920
26921 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
26922 NO_DYNAMIC_MODULES switched to this.
26923 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
26924 (CFLAGS): Likewise.
26925 * conf/any-emu.rmk: Generate symlist.
26926 (kernel_img_HEADERS): Add util/datetime.h.
26927 (kernel_img_HEADERS) [sdl]: Add sdl.h.
26928 (kernel_img_HEADERS) [libusb]: Add libusb.h.
26929 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
26930 kern/$(target_cpu)/cache.S.
26931 * configure.ac (grub-emu-modules): New option.
26932 * genmk.rb: Handle multiple source lists.
26933 * include/grub/sdl.h: New file.
26934 * include/grub/libusb.h: Likewise.
26935 * util/grub-emu.c (main): Hanle (host) root.
26936 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
26937 GRUB_ERR_UNKNOWN_DEVICE.
26938 * util/misc.c: Move mm functions to ...
26939 * util/mm.c: ... here. All users updated.
26940
47822096
VS
269412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26942
26943 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
26944 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
26945 missing files.
26946 (maintainer-clean): Remove libgcrypt-grub.
26947
5d7e7445
VS
269482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26949
26950 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
26951
25f4e252
EC
269522010-04-09 EFI Coder <eficoder@hotmail.com>
26953
26954 * normal/menu_text.c (print_message): Clean up the message and show
26955 the Fn information when on EFI
26956 * term/efi/console.c (grub_console_checkkey): Add F4 support.
26957
027de555
VS
269582010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26959
26960 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
26961 All users updated.
26962 * normal/crypto.c (read_crypto_list): Likewise.
26963 * normal/dyncmd.c (read_command_list): Likewise.
26964 * normal/term.c (read_terminal_list): Likewise.
26965 * normal/main.c (read_lists): Use explicit prefix.
26966 (read_lists_hook): Use read_lists.
26967 (grub_normal_execute): Likewise.
26968
47779711
VS
269692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26970
26971 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
26972 Reported by: Thomas Schmitt.
26973 Add -no-emul-boot to grub-mkisofs parameters.
26974
1118c32e
VS
269752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26976
26977 * font/font.c: Indented.
26978
7d652447
BC
269792010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26980
26981 Elif support to GRUB script (by Deepak Vankadaru).
26982
26983 * tests/grub_script_if.in: New testcase.
26984 * conf/tests.rmk: Rule for new testcase.
26985 * script/parser.y: Grammar rules for elif.
26986
34bb22df
BC
269872010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26988
26989 While and until loops support to GRUB script.
26990
26991 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
26992 (grub_script_create_cmdwhile): New function prototype.
26993 (grub_script_execute_cmdwhile): New function prototype.
26994 * script/execute.c (grub_script_execute_cmdwhile): New function.
26995 * script/parser.y (command): New commands.
26996 (whilecmd): New grammar rule.
26997 (untilcmd): New grammar rule.
26998 * script/script.c (grub_script_create_cmdwhile): New function.
26999 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27000 function.
27001
27002 * tests/grub_script_while1.in: New testcase.
27003 * conf/tests.rmk: Rule for new testcase.
27004
e215d8e0
VS
270052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27006
27007 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27008 as *.jpg.
27009
d7c43ba1
MV
270102010-04-09 Mario Vazquez <mariovazq@gmail.com>
27011
27012 GRUB_BACKGROUND support.
27013
27014 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27015 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27016
d64795c0
VS
270172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27018
27019 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27020 Idea by: Mario Vazquez
d64795c0
VS
27021
27022 * util/grub.d/00_header.in: Load pf2 and image modules.
27023
f267f83a
VS
270242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27025
27026 grub-mkconfig multiple terminal support.
27027
27028 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27029 * util/grub.d/00_header.in: Likewise.
27030
b7841ceb
VS
270312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27032
27033 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27034 we use cd $(srcdir).
27035
df60998c
CW
270362010-04-08 Colin Watson <cjwatson@ubuntu.com>
27037
27038 * util/grub.d/10_linux.in: Only use the first word of
27039 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27040 spaces in GRUB_DISTRIBUTOR.
27041 * util/grub.d/10_kfreebsd.in: Likewise.
27042 * util/grub.d/10_hurd.in: Likewise.
27043
fa09c82e
BC
270442010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27045
14e18ae3 27046 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27047
27048 * tests/util/grub-shell.in: Remove -serial stdio option.
27049
daf892b3
BC
270502010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27051
27052 POSIX header file wrappers.
27053
27054 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27055 equivalents.
27056 * lib/posix_wrap/ctype.h: Likewise.
27057 * lib/posix_wrap/errno.h: Likewise.
27058 * lib/posix_wrap/langinfo.h: Likewise.
27059 * lib/posix_wrap/limits.h: Likewise.
27060 * lib/posix_wrap/localcharset.h: Likewise.
27061 * lib/posix_wrap/stdint.h: Likewise.
27062 * lib/posix_wrap/stdio.h: Likewise.
27063 * lib/posix_wrap/stdlib.h: Likewise.
27064 * lib/posix_wrap/string.h: Likewise.
27065 * lib/posix_wrap/sys/types.h: Likewise.
27066 * lib/posix_wrap/unistd.h: Likewise.
27067 * lib/posix_wrap/wchar.h: Likewise.
27068 * lib/posix_wrap/wctype.h: Likewise.
27069 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27070 (grub_script.yy.h): Likewise.
27071 * script/yylex.l: Remove POSIX emulation #defines.
27072 * Makefile.in (POSIX_CFLAGS): New variable.
27073 (GNULIB_UTIL_CFLAGS): Likewise.
27074
27075 Regexp support.
27076
27077 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27078 (regexp_mod_SOURCES): New variable.
27079 (regexp_mod_CFLAGS): Likewise.
27080 (regexp_mod_LDFLAGS): Likewise.
27081 * commands/regexp.c: New file.
27082 * gnulib/regcomp.c: New file. Imported from gnulib.
27083 * gnulib/regex.c: Likewise.
27084 * gnulib/regex_internal.c: Likewise.
27085 * gnulib/regex_internal.h: Likewise.
27086 * gnulib/regexec.c: Likewise.
27087 * gnulib/regex.h: Likewise.
27088
974ac4f7
VS
270892010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27090
27091 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27092 unsupported video mode types.
27093
2622c3ff
VS
270942010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27095
27096 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27097
064cb524
VS
270982010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27099
27100 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27101 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27102
a8c3b552
VS
271032010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27104
27105 Remove unused grub_vga_get_font.
27106
27107 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27108 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27109
187bbe3d
GS
271102010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27111
27112 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27113 * include/grub/misc.h: Likewise.
27114
b9396631
GS
271152010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27116
27117 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27118 for which failure is fatal.
27119
50479feb
GS
271202010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27121
27122 * util/grub-install.in: Use mkdir -p to create grub directory.
27123 * util/i386/efi/grub-install.in: Likewise.
27124 * util/ieee1275/grub-install.in: Likewise.
27125
b1654fdf
GS
271262010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27127
27128 * Makefile.in (LEX): new variable.
27129
bd5a6415
GS
271302010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27131
27132 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27133 `=' and added double quotes on operands of this equality test.
27134
3db3a82b
VS
271352010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27136
27137 * Makefile.in (uninstall): Remove a leftover debug echo.
27138 Reported by: Grégoire Sutre
27139
38023412
VS
271402010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27141
27142 MIPS multiboot2 support.
27143
27144 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27145 (multiboot2_mod_SOURCES): New variable.
27146 (multiboot2_mod_CFLAGS): Likewise.
27147 (multiboot2_mod_LDFLAGS): Likewise.
27148 (multiboot2_mod_ASFLAGS): Likewise.
27149 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27150 definition.
27151 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27152 (MULTIBOOT_MBI_REGISTER): Likewise.
27153 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27154 (MULTIBOOT_ELF32_MACHINE): Likewise.
27155 (MULTIBOOT_ELF64_MACHINE): Likewise.
27156 * include/grub/mips/multiboot.h: New file.
27157 * include/grub/video.h (grub_video_driver_id): New type
27158 GRUB_VIDEO_DRIVER_SM712.
27159 (grub_video_get_info_and_fini): Export.
27160 (grub_video_get_palette): Likewise.
27161 (grub_video_get_driver_id): Likewise.
27162 * include/multiboot2.h: Resynced with spec.
27163 * loader/i386/multiboot.c: Moved from here ...
27164 * loader/multiboot.c: ... here. All users updated.
27165 (grub_multiboot_boot): Use platform-specific macros.
27166 * loader/i386/multiboot_elfxx.c: Moved from here ...
27167 * loader/multiboot_elfxx.c: ... here. All users updated.
27168 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27169 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27170 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27171
47674667
VS
271722010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27173
27174 Import gnulib argp module.
27175
27176 * gnulib/argp-ba.c: New file.
27177 * gnulib/argp-eexst.c: Likewise.
27178 * gnulib/argp-fmtstream.c: Likewise.
27179 * gnulib/argp-fmtstream.h: Likewise.
27180 * gnulib/argp-fs-xinl.c: Likewise.
27181 * gnulib/argp-help.c: Likewise.
27182 * gnulib/argp-namefrob.h: Likewise.
27183 * gnulib/argp-parse.c: Likewise.
27184 * gnulib/argp-pin.c: Likewise.
27185 * gnulib/argp-pv.c: Likewise.
27186 * gnulib/argp-pvh.c: Likewise.
27187 * gnulib/argp-version-etc.c: Likewise.
27188 * gnulib/argp-version-etc.h: Likewise.
27189 * gnulib/argp-xinl.c: Likewise.
27190 * gnulib/argp.h: Likewise.
27191
495442ed
VS
271922010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27193
27194 * kern/device.c (grub_device_iterate): Clear errors after failed
27195 opening device.
27196
f9fd65df
VS
271972010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27198
27199 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27200 returned by firmware.
27201
af09641e
VS
272022010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27203
27204 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27205 compilation on coreboot and qemu
27206
016883a5
VS
272072010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27208
27209 * include/multiboot2.h: Resync with spec.
27210
f97e1f7d
VS
272112010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27212
27213 Multiboot2 tag support
27214
27215 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27216 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27217 Remove loader/multiboot_loader.c.
27218 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27219 (grub_multiboot2_real_boot): Likewise.
27220 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27221 (grub_get_multiboot_mmap_count): New proto.
27222 (grub_fill_multiboot_mmap): Likewise.
27223 (grub_multiboot_set_video_mode): Likewise.
27224 (grub_multiboot_set_console): Likewise.
27225 (grub_multiboot_load): Likewise.
27226 (grub_multiboot_load_elf): Likewise.
27227 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27228 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27229 * include/multiboot.h: Resynced with specification.
27230 * include/multiboot2.h: Resynced with specification.
27231 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27232 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27233 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27234 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27235 users updated.
27236 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27237 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27238 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27239 Removed.
27240 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27241 Moved from here...
27242 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27243 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27244 Moved from here...
27245 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27246 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27247 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27248 All users updated.
27249 * loader/i386/multiboot_mbi2.c: New file.
27250
3506b90b
VS
272512010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27252
27253 Resync with gnulib.
27254
27255 * Makefile.in (GNULIB_CFLAGS): New variable.
27256 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27257 (grub_script_check_CFLAGS): New variable.
27258 * gnulib/alloca.h: Resync with gnulib.
27259 * gnulib/error.c: Likewise.
27260 * gnulib/error.h: Likewise.
27261 * gnulib/fnmatch.c: Likewise.
27262 * gnulib/fnmatch_loop.c: Likewise.
27263 * gnulib/getdelim.c: Likewise.
27264 * gnulib/getline.c: Likewise.
27265 * gnulib/getopt.c: Likewise.
27266 * gnulib/getopt1.c: Likewise.
27267 * gnulib/getopt_int.h: Likewise.
27268 * gnulib/gettext.h: Likewise.
27269 * gnulib/progname.c: Likewise.
27270 * gnulib/progname.h: Likewise.
27271
394a3120
GS
272722010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27273
27274 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27275 which is the case with --disabled-nls.
27276
27277 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27278 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27279 * util/misc.c: Likewise.
27280 * util/mkisofs/mkisofs.c: Likewise.
27281 * util/mkisofs/mkisofs.h: Likewise.
27282
969d1c78
VS
272832010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27284
27285 Simplify Apple CC support.
27286
27287 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27288 Add 0 byte at the end not to have a symbol with empty target.
27289 * mmap/i386/pc/mmap_helper.S: Likewise.
27290 * genmk.rb: Ignore errors 2030 and 2050.
27291 * kern/i386/pc/startup.S: Use LOCAL when possible.
27292
8d2977bb
BC
272932010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27294
27295 Testcase and the fix for final semicolon on cmdline.
27296
27297 * tests/grub_script_final_semicolon.in: New testcase.
27298 * conf/tests.rmk: Rules for the new testcase.
27299 * script/parser.y: Grammar fix.
27300
a7bd6915
BC
273012010-03-26 BVK Chaitanya <bvk@localhost>
27302
27303 Blank lines testcase for GRUB script.
27304
27305 * tests/grub_script_blanklines.in: New testcase.
27306 * conf/tests.rmk: Rules for the new testcase.
27307
e4ff6628
VS
273082010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27309
27310 Don't use __FILE__.
27311
27312 * genmk.rb: Add -DGRUB_FILE to all C targets.
27313 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27314 * include/grub/list.h: Likewise.
27315 * include/grub/misc.h: Likewise.
27316 * include/grub/mm.h: Likewise.
27317 * include/grub/test.h: Likewise.
27318 * kern/mm.c: Likewise.
27319 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27320
6a5cf6b6
VS
273212010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27322
27323 Sunpc partitions support.
27324
27325 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27326 (grub_fstest_SOURCES): Likewise.
27327 (pkglib_MODULES): Add part_sunpc.mod.
27328 (part_sunpc_mod_SOURCES): New variable.
27329 (part_sunpc_mod_CFLAGS): Likewise.
27330 (part_sunpc_mod_LDFLAGS): Likewise.
27331 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27332 * partmap/sunpc.c: New file.
27333
746d9045
BC
273342010-03-26 BVK Chaitanya <bvk@localhost>
27335
27336 For loop support to GRUB script.
27337
27338 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27339 (grub_script_create_cmdfor): New function prototype.
27340 (grub_script_execute_cmdfor): New function prototype.
27341 * script/execute.c (grub_script_execute_cmdfor): New function.
27342 * script/parser.y (command): New for command.
27343 (forcmd): New grammar rule.
27344 * script/script.c (grub_script_create_cmdfor): New function.
27345 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27346 function.
27347 * tests/grub_script_for1.in: New testcase.
27348 * conf/tests.rmk: Rules for new testcase.
27349
18486b18
VS
273502010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27351
27352 Nested partitions
27353
27354 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27355 'partition' is NULL, grub_partition_get_start already does that.
27356 * commands/loadenv.c (check_blocklists): Likewise.
27357 (write_blocklists): Likewise.
27358 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27359 (grub_fstest_SOURCES): Likewise.
27360 (pkglib_MODULES): Add part_bsd.mod.
27361 (part_bsd_mod_SOURCES): New variable.
27362 (part_bsd_mod_CFLAGS): Likewise.
27363 (part_bsd_mod_LDFLAGS): Likewise.
27364 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27365 (grub_emu_SOURCES): Likewise.
27366 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27367 * include/grub/bsdlabel.h: New file.
27368 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27369 'get_name'.
27370 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27371 (grub_partition_map_list): New variable.
27372 (grub_partition_map_register): Inline.
27373 (grub_partition_map_unregister): Likewise.
27374 (FOR_PARTITION_MAPS): New macro.
27375 (grub_partition_map_iterate): Removed.
27376 (grub_partition_get_start): Handle nested partitions.
27377 * include/grub/msdos_partition.h: Remove bsd-related entries.
27378 (grub_pc_partition): Remove.
27379 * kern/disk.c (grub_disk_close): Free partition data.
27380 (grub_disk_adjust_range): Handle nested partitions.
27381 * kern/partition.c (grub_partition_map_probe): New function.
27382 (grub_partition_probe): Parse name to number, handle subpartitions.
27383 (get_partmap): New function.
27384 (grub_partition_iterate): Handle subpartitions.
27385 (grub_partition_get_name): Likewise.
27386 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27387 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27388 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27389 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27390 Set 'number'.
27391 (acorn_partition_map_probe): Remove.
27392 (acorn_partition_map_get_name): Likewise.
27393 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27394 Set 'number'.
27395 Set 'index' to 0 since there can be only one partition entry per sector.
27396 (amiga_partition_map_probe): Remove.
27397 (amiga_partition_map_get_name): Likewise.
27398 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27399 Set 'number'.
27400 Set 'offset' and 'index' to real positions of partitions.
27401 (apple_partition_map_probe): Remove.
27402 (apple_partition_map_get_name): Likewise.
27403 * partmap/bsdlabel.c: New file.
27404 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27405 Set 'number'.
27406 Allocate 'data' so it can be correctly freed.
27407 Set 'index' to offset inside sector.
27408 (gpt_partition_map_probe): Remove.
27409 (gpt_partition_map_get_name): Likewise.
27410 * partmap/msdos.c (grub_partition_parse): Remove.
27411 (pc_partition_map_iterate): Don't force raw access.
27412 Set 'number'.
27413 Make 'ext_offset' a local variable.
27414 (pc_partition_map_probe): Remove.
27415 (pc_partition_map_get_name): Remove.
27416 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27417 Set 'number'.
27418 (sun_partition_map_probe): Remove.
27419 (sun_partition_map_get_name): Likewise.
27420 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27421 (grub_pcpart_type): Likewise.
27422 * util/hostdisk.c (open_device): Handle new numbering scheme.
27423 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27424 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27425 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27426 * util/grub-install.in: Insert all subpartition modules.
27427 * util/ieee1275/grub-install.in: Likewise.
27428
a3940f88
AG
274292010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27430
27431 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27432 grammar.
27433
21b99926 274342010-03-24 Colin Watson <cjwatson@ubuntu.com>
27435
27436 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27437
bed1d352
CW
274382010-03-21 Colin Watson <cjwatson@ubuntu.com>
27439
27440 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27441 match where 'make install' puts them.
27442 * util/i386/efi/grub-install.in: Likewise.
27443
c9f58427
CW
274442010-03-19 Colin Watson <cjwatson@ubuntu.com>
27445
27446 * .bzrignore: Add gentrigtables, grub-script-check,
27447 grub_script_check_init.c, grub_script_check_init.h, and
27448 trigtables.c.
27449
f84afb27
VS
274502010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27451
27452 * kern/parser.c: Indented.
27453
ed0e3d30
VS
274542010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27455
27456 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27457
0ea81d98
VS
274582010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27459
27460 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27461 alpha_mask_size == 0 case.
27462
0cdc2a09
BC
274632010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27464
27465 GRUB shell lexer and parser improvements.
27466
27467 * conf/any-emu.rmk: Build rule updates.
27468 * conf/common.rmk: Likewise.
27469 * conf/i386-coreboot.rmk: Likewise.
27470 * conf/i386-efi.rmk: Likewise.
27471 * conf/i386-ieee1275.rmk: Likewise.
27472 * conf/i386-pc.rmk: Likewise.
27473 * conf/powerpc-ieee1275.rmk: Likewise.
27474 * conf/x86_64-efi.rmk: Likewise.
27475
27476 * configure.ac: Configure check for flex.
27477
27478 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27479 types.
27480 (grub_lexer_param): Struct member updates.
27481 (grub_parser_param): Likewise.
27482 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27483 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27484 (grub_script_lexer_init): Prototype update.
27485 (grub_script_lexer_record_start): Likewise.
27486 (grub_script_lexer_record_stop): Likewise.
27487 (grub_script_lexer_yywrap): New function prototype.
27488 (grub_script_lexer_fini): Likewise.
27489 (grub_script_execute_argument_to_string): Removed by...
27490 (grub_script_execute_argument_to_argv): ...better version.
27491
27492 * script/execute.c (ROUND_UPTO): New macro.
27493 (grub_script_execute_cmdline): Out of memory fixes.
27494 (grub_script_execute_menuentry): Likewise.
27495 (grub_script_execute_argument_to_string): Removed. Update all
27496 users by...
27497 (grub_script_execute_argument_to_argv): ...better version.
27498 * script/function.c (grub_script_function_create): Use
27499 grub_script_execute_argument_to_argv instead of
27500 grub_script_execute_argument_to_string.
27501
27502 * script/lexer.c (check_varstate): Removed.
27503 (check_textstate): Removed.
27504 (grub_script_lexer_record_start): Likewise.
27505 (grub_script_lexer_record_stop): Likewise.
27506 (recordchar): Replaced with...
27507 (grub_script_lexer_record): ...new function.
27508 (nextchar): Removed.
27509 (grub_script_lexer_init): Rewritten.
27510 (grub_script_yylex): Rewritten.
27511 (append_newline): New function.
27512 (grub_script_lexer_yywrap): New function.
27513 (grub_script_lexer_fini): New function.
27514 (grub_script_yyerror): Sets error flag.
27515
27516 * script/yylex.l: New file.
27517 (grub_lexer_yyfree): Wrapper for flex yyffre.
27518 (grub_lexer_yyalloc): Likewise.
27519 (grub_lexer_yyrealloc): Likewise.
27520 * script/parser.y: Refactored.
27521
27522 * script/script.c (grub_script_arg_add): Out of memory fixes.
27523 (grub_script_add_arglist): Likewise.
27524 (grub_script_create_cmdline): Likewise.
27525 (grub_script_create_cmdmenu): Likewise.
27526 (grub_script_add_cmd): Likewise.
27527 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27528 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27529 unnecessary code.
27530
27531 * tests/grub_script_echo1.in: New testcase.
27532 * tests/grub_script_vars1.in: New testcase.
27533 * tests/grub_script_echo_keywords.in: New testcase.
27534
1d63a066
VS
275352010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27536
27537 Remove some redundancy in build system.
27538
27539 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27540 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27541 (TARGET_LDFLAGS): Add -nostdlib.
27542 (TARGET_IMG_LDFLAGS): Likewise.
27543 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27544 anything since mmap isn't available.
27545 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27546 Add util/time.c.
27547 (pkglib_MODULES): Remove reboot.mod.
27548 (reboot_mod_SOURCES): Removed.
27549 (reboot_mod_CFLAGS): Likewise.
27550 (reboot_mod_LDFLAGS): Likewise.
27551 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27552 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27553 (DEFSYMFILES): Add kernel_syms.lst.
27554 (kernel_img_HEADERS): Add common headers.
27555 (symlist.c): New target.
27556 (kernel_syms.lst): Likewise.
27557 (pkglib_MODULES): Add memdisk.mod.
27558 (memdisk_mod_SOURCES): New variable.
27559 (memdisk_mod_CFLAGS): Likewise.
27560 (memdisk_mod_LDFLAGS): Likewise.
27561 (pkglib_MODULES): Add reboot.mod.
27562 (reboot_mod_SOURCES): New variable.
27563 (reboot_mod_CFLAGS): Likewise.
27564 (reboot_mod_LDFLAGS): Likewise.
27565 (pkglib_MODULES): Add date.mod.
27566 (date_mod_SOURCES): New variable.
27567 (date_mod_CFLAGS): Likewise.
27568 (date_mod_LDFLAGS): Likewise.
27569 (pkglib_MODULES): Add datehook.mod.
27570 (datehook_mod_SOURCES): New variable.
27571 (datehook_mod_CFLAGS): Likewise.
27572 (datehook_mod_LDFLAGS): Likewise.
27573 (pkglib_MODULES): Add lsmmap.mod.
27574 (lsmmap_mod_SOURCES): New variable.
27575 (lsmmap_mod_CFLAGS): Likewise.
27576 (lsmmap_mod_LDFLAGS): Likewise.
27577 (pkglib_MODULES): Add boot.mod.
27578 (boot_mod_SOURCES): New variable.
27579 (boot_mod_CFLAGS): Likewise.
27580 (boot_mod_LDFLAGS): Likewise.
27581 * conf/i386-coreboot.rmk: Removed redundant parts.
27582 * conf/i386-ieee1275.rmk: Likewise.
27583 * conf/i386-pc.rmk: Likewise.
27584 * conf/mips-yeeloong.rmk: Likewise.
27585 * conf/mips.rmk: Likewise.
27586 * conf/powerpc-ieee1275.rmk: Likewise.
27587 * conf/sparc64-ieee1275.rmk: Likewise.
27588 * conf/x86_64-efi.rmk: Likewise.
27589 * conf/i386-coreboot.rmk: Moved qemu parts ..
27590 * conf/i386-qemu.rmk: ... here
27591 * conf/i386-efi.rmk: Moved common parts to...
27592 * conf/x86-efi.rmk: ... here.
27593 * conf/i386.rmk: Added modules common to all x86 variants.
27594 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27595 * disk/memdisk.c: Remove grub/machine/kernel.h.
27596 * gensymlist.sh.in: Include symbol.h.
27597 * hook/datehook.c: Correct module name.
27598 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27599 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27600 * include/grub/i386/efi/serial.h: New file.
27601 * include/grub/x86_64/efi/serial.h: Likewise.
27602 * util/time.c: Likewise.
27603 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27604
463ac55f
CK
276052010-03-14 Colin King <colin.king@ubuntu.com>
276062010-03-14 Colin Watson <cjwatson@ubuntu.com>
27607
27608 Shrink the pre-partition-table part of boot.img by eight bytes.
27609
27610 * boot/i386/pc/boot.S (ERR): New macro.
27611 (chs_mode): Use ERR.
27612 (geometry_error): Likewise.
27613 (hd_probe_error): Remove. This is only used once, so we wrwite
27614 it inline instead.
27615 (read_error): Instead of printing read_error_string, just set up
27616 %si and fall through to ...
27617 (error_message): ... this new function, also used by ERR.
27618
08e46ede
CW
276192010-03-14 Colin Watson <cjwatson@ubuntu.com>
27620
27621 Speed up consecutive hostdisk operations on the same device.
27622
27623 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27624 (grub_util_biosdisk_open): Initialise disk->data.
27625 (struct linux_partition_cache): New structure.
27626 (linux_find_partition): Cache partition start positions; these are
27627 expensive to compute on every read and write.
27628 (open_device): Cache open file descriptor in disk->data, so that we
27629 don't have to reopen it and flush the buffer cache for consecutive
27630 operations on the same device.
27631 (grub_util_biosdisk_close): New function.
27632 (grub_util_biosdisk_dev): Set `close' member.
27633
27634 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27635 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27636 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27637 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27638 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27639
4a6d2d06
VS
276402010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27641
27642 Compile parts of grub-emu as modules.
27643
27644 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27645 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27646 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27647 (all-local): Add $(GRUB_EMU).
27648 (install-local): Install $(GRUB_EMU).
27649 (uninstall): Uninstall $(GRUB_EMU).
27650 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27651 * kern/dl.c: Likewise.
27652 * commands/sleep.c: Not include machine/time.h.
27653 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27654 (COMMON_CFLAGS): Likewise.
27655 (sbin_UTILITIES): Remove grub-emu.
27656 (grub_emu_SOURCES): Removed.
27657 (kernel_img_RELOCATABLE): New variable.
27658 (pkglib_PROGRAMS): Add kernel.img.
27659 (kernel_img_SOURCES): New variable
27660 (kernel_img_CFLAGS): Likewise.
27661 (kernel_img_LDFLAGS): Likewise.
27662 (TARGET_NO_STRIP): Likewise.
27663 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27664 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27665 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27666 (grub-emu): New target.
27667 (GRUB_EMU): New variable.
27668 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27669 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27670 * loader/xnu.c: Likewise.
27671 * include/grub/pci.h: Likewise.
27672 * genemuinit.sh: New file.
27673 * genemuinitheader.sh: Likewise.
27674 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27675 Support TARGET_NO_DYNAMIC_MODULES.
27676 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27677 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27678 * disk/loopback.c: Likewise.
27679 * font/font_cmd.c: Likewise.
27680 * partmap/acorn.c: Likewise.
27681 * partmap/amiga.c: Likewise.
27682 * partmap/apple.c: Likewise.
27683 * partmap/gpt.c: Likewise.
27684 * partmap/msdos.c: Likewise.
27685 * partmap/sun.c: Likewise.
27686 * parttool/msdospart.c: Likewise.
27687 * term/gfxterm.c: Likewise.
27688 * video/bitmap.c: Likewise.
27689 * video/readers/jpeg.c: Likewise.
27690 * video/readers/png.c: Likewise.
27691 * video/readers/tga.c: Likewise.
27692 * video/video.c: Likewise.
27693 * util/grub-emu.c (read_command_list): Removed.
27694 (main): Don't call util_init_nls.
27695 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27696 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27697
91fdd2ed
VS
276982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27699
27700 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27701 date.mod, datehook.mod.
27702 (datetime_mod_SOURCES): New variable.
27703 (datetime_mod_CFLAGS): Likewise.
27704 (datetime_mod_LDFLAGS): Likewise.
27705 (date_mod_SOURCES): Likewise.
27706 (date_mod_CFLAGS): Likewise.
27707 (date_mod_LDFLAGS): Likewise.
27708 (datehook_mod_SOURCES): Likewise.
27709 (datehook_mod_CFLAGS): Likewise.
27710 (datehook_mod_LDFLAGS): Likewise.
27711 * conf/sparc64-ieee1275.rmk: Likewise.
27712 * lib/ieee1275/datetime.c: New file.
27713
873ccae6
VS
277142010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27715
27716 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27717 (ieee1275_fb_mod_SOURCES): New variable.
27718 (ieee1275_fb_mod_CFLAGS): Likewise.
27719 (ieee1275_fb_mod_LDFLAGS): Likewise.
27720 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27721 New proto.
27722 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27723 (HEAP_MAX_ADDR): Likewise.
27724 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27725 type.
27726 Correct stop condition.
27727 (grub_ieee1275_devices_iterate): New function.
27728 * video/ieee1275.c: New file.
27729
601c97c0
VS
277302010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27731
27732 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27733
27734 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27735 as scratch.
27736 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27737 SCRATCH_PAD_DISKBOOT as scratch.
27738 (bootit): Pass Openfirmware pointer in %o4.
27739 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27740 of 0x200000.
27741 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27742 with util/grub-mkrawimage.c.
27743 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27744 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27745 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27746 (grub_aout_load) [GRUB_UTIL]: Likewise.
27747 * include/grub/kernel.h (grub_modules_get_end): New proto.
27748 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27749 (SCRATCH_PAD_BOOT): New definition.
27750 (SCRATCH_PAD_DISKBOOT): Likewise.
27751 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27752 * include/grub/sparc64/ieee1275/ieee1275.h
27753 (grub_ieee1275_original_stack): New variable
27754 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27755 New definition
27756 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27757 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27758 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27759 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27760 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27761 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27762 (grub_platform_image_format_t): New type.
27763 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27764 * kern/main.c (grub_modules_get_end)
27765 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27766 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27767 (codestart): Switch stacks.
27768 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27769 variable.
27770 (grub_heap_init): Use grub_modules_get_end.
27771 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27772 stack.
27773 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27774 (main): Likewise.
27775 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27776
d68b491e
TG
277772010-03-14 Thorsten Glaser <tg@mirbsd.org>
27778
27779 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27780
4e02ed50
MK
277812010-03-08 Matt Kraai <kraai@ftbfs.org>
27782
27783 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27784 bug #559005).
27785
1f15fc1e
VS
277862010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27787
27788 * genmoddep.awk: Output all missing symbols and not only first.
27789
fce5d8ff
VS
277902010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27791
27792 * NEWS: Put the date of 1.98 release.
27793
d1e8a02f
VS
277942010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27795
27796 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27797 ft2build.h.
27798
696fd607
VS
277992010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27800
27801 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27802 completition in the middle of string.
27803
33e2e6f3
VS
278042010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27805
27806 * util/grub-mkrescue.in: Use mktemp with explicit template.
27807
b1f6d291
VS
278082010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27809
27810 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27811
2ac227c7
VS
278122010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27813
27814 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27815 right pointer.
27816
8f9a632b
VS
278172010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27818
27819 Fix FreeBSD compilation.
27820
27821 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27822 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27823
60b03859
VS
278242010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27825
27826 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27827
48a5a769
VS
278282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27829
27830 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27831
3ab4bd77
VS
278322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27833
27834 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27835
d116e0d8
RM
278362010-03-04 Robert Millan <rmh.grub@aybabtu.com>
27837
27838 Support relative image path in theme file.
27839
27840 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
27841 (image_set_property): Handle theme_dir and relative path.
27842
c7ef54aa
VS
278432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27844
27845 * configure.ac: Alias amd64 to x86_64.
27846
fcee14ed
VS
278472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27848
27849 * NEWS: mention multiboot on EFI.
27850
d0780363
VS
278512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27852
27853 * kern/main.c (grub_load_modules): Handle errors from init functions of
27854 embeded modules.
27855
41168ea4
VS
278562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27857
27858 * normal/autofs.c (autoload_fs_module): Handle errors.
27859
b54d93ac
VS
278602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27861
27862 Disable linux.mod on qemu-mips since it's not functional and leads
27863 to compilation failure.
27864
27865 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
27866 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
27867 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
27868 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
27869 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
27870 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
27871 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
27872 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
27873 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
27874 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
27875 Reported by: BVK Chaitanya
27876
fc8345da
JU
278772010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
27878
27879 * INSTALL: Add gettext as a dependency and add qemu to a new section
27880 "Prerequisites for make-check".
27881
4760f979
CF
278822010-03-04 Christian Franke <franke@computer.org>
27883
27884 * util/grub-pe2elf.c: Add missing include "progname.h".
27885
f209b5b2
VS
278862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27887
27888 * normal/crypto.c (read_crypto_list): Fix a typo.
27889 Reported by: Seth Goldberg.
27890
b4b7be98
VS
278912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27892
27893 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 27894 Reported by: Seth Goldberg.
b4b7be98 27895
c0ee0385
VS
278962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27897
27898 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
27899 ascii.bitmaps.
27900
a8efbf64
VS
279012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27902
27903 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 27904 Reported by: Seth Goldberg.
a8efbf64 27905
08dcd913
VS
279062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27907
27908 * util/i386/efi/grub-install.in: Copy gettext files.
27909
c4d0b332
VS
279102010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27911
27912 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
27913
c6f2fe52
VS
279142010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27915
27916 Wait for user entry basing on presence of output rather than on errors.
27917
27918 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
27919 (grub_install_newline_hook): Likewise.
27920 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
27921 * normal/menu.c (show_menu): Check line_counter to determine presence
27922 of output.
27923 * normal/term.c (grub_normal_line_counter): New variable.
27924 (grub_normal_get_line_counter): New function.
27925 (grub_install_newline_hook): Likewise.
27926
5382b1e4
VS
279272010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27928
27929 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
27930
5519963b
VS
279312010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27932
27933 * configure.ac: Update version to 1.98.
27934
72b28631
VS
279352010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
27936
27937 * util/grub.d/10_linux.in (linux_entry): Don't default to
27938 gfxpayload=keep if Linux doesn't support video handover.
27939
c140a180
VS
279402010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
27941
27942 Don't compile video modules on yeeloong since video subsystem is part
27943 of kernel.
27944
27945 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
27946 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
27947 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
27948 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
27949 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
27950 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
27951 * include/grub/bitmap_scale.h: Likewise.
27952 * include/grub/bufio.h: Likewise.
27953 * include/grub/font.h: Likewise.
27954 * include/grub/gfxterm.h: Likewise.
27955 * include/grub/video.h: Likewise.
27956 * include/grub/vbe.h: Don't include video_fb.h.
27957 * video/i386/pc/vbe.c: Include video_fb.h.
27958 * commands/i386/pc/vbetest.c: Include video.h.
27959
a0ca21c2
CW
279602010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
27961
27962 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
27963 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
27964 default entry if GRUB_SAVEDEFAULT=true. This allows using
27965 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
27966 saving a new default on every boot.
27967
4a8a763c
VS
279682010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27969
27970 * normal/crypto.c (read_crypto_list): Fix a memory leak.
27971 * normal/term.c (read_terminal_list): Likewise.
27972 * normal/main.c (grub_normal_init_page): Likewise.
27973 (grub_normal_read_line_real): Likewise.
27974
607ffde2
VS
279752010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27976
27977 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
27978 memory leak.
27979 Reported by: Seth Goldberg.
27980
2b8fa975
CW
279812010-02-24 Joey Korkames <joey+lists@kidfixit.com>
27982
27983 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
27984 duplicate declaration of `start'.
27985
618307dd
VS
279862010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27987
27988 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
27989 filename.
27990 Reported by: Georgy Buranov
27991
7dd05b96 279922010-02-20 Carles Pina i Estany <carles@pina.cat>
27993
27994 * util/grub-mkrawimage.c (usage): Change string formatting to
27995 improve gettext.
27996
d1484a42
MRA
279972010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
27998
27999 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28000 backspace keys.
28001
42b1d186
VS
280022010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28003
28004 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28005 Reported by: Michael Suchanek.
28006
280072010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28008
28009 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28010 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28011
d9f31a41
VS
280122010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28013
28014 Remove any reference to non-free fonts.
28015
28016 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28017 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28018 uses non-free components.
28019 * font/font.c (grub_font_get_name): Remove example name.
28020 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28021 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28022 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28023 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28024
2793c71e
GB
280252010-02-16 Georgy Buranov <gburanov@gmail.com>
28026
28027 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28028
402e3779
VS
280292010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28030
28031 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28032 Double divisor.
28033 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28034 features.
28035 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28036
0dd1e0dd
VS
280372010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28038
28039 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28040
6fa7cfce
ST
280412010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28042
28043 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28044 * docs/grub.texi (Command-line and menu entry commands): Document play
28045 command.
28046
37c8483b
ST
280472010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28048
28049 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28050 parse arguments as inline tempo and notes. Move code for playing notes
28051 to...
28052 (play): ... new function.
28053
14da0fb7
ST
280542010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28055
28056 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28057 grub_uint16_t instead of short.
28058 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28059 disk from little endian to cpu endianness.
28060
04459e70
ST
280612010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28062
28063 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28064 GRUB_TICKS_PER_SECOND instead of 120.
28065
a0876943
VS
280662010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28067
28068 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28069 escape sequence after \e.
28070
e29f95dc
VS
280712010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28072
28073 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28074 non-ASCII characters.
28075
d27859b2
VS
280762010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28077
28078 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28079 set root in single quotes to prevent \, from being unescaped.
28080
bc028f2f
VS
280812010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28082
28083 Prevent unknown commands from stopping menuentry execution.
28084
28085 * script/execute.c (grub_script_execute_cmdline): Print error after
28086 unknown command.
28087
095f5f82
VS
280882010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28089
28090 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28091 Reported by: Pavel Pisa.
28092
8c717950
VS
280932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28094
28095 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28096
904935c3
VS
280972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28098
28099 Merge grub_ieee1275_map_physical into grub_map and rename to
28100 grub_ieee1275_map
28101
28102 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28103 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28104 Remove.
28105 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28106 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28107 necessary.
28108 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28109
5b59a4e3
VS
281102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28111
28112 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28113 opening and not after.
28114
69e137e8
VS
281152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28116
28117 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28118 constants.
28119
2c0fcc36
VS
281202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28121
28122 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28123 (alloc_phys): Use ALIGN_UP instead of align_addr.
28124
8c6052ce
VS
281252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28126
28127 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28128
17cec782
VS
281292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28130
28131 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28132
e0128bbd
VS
281332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28134
28135 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28136 verbose dprintf.
28137
ca62070b
VS
281382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28139
28140 Fix over-4GiB seek on sparc64.
28141
28142 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28143 Replace pos_i and pos_lo with pos. All users updated.
28144 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28145 New constant.
28146 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28147 Likewise.
28148 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28149 and pos_lo.
28150
bdca2607
VS
281512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28152
28153 * util/grub-mkrawimage.c (main): Call set_program_name.
28154
da278c4d
VS
281552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28156
28157 Properly align 64-bit targets.
28158
28159 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28160 (generate_image): Use ALIGN_ADDR.
28161
b274d734
VS
281622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28163
28164 Properly create cross-endian images.
28165
28166 * include/grub/types.h (grub_host_to_target_addr): New macro
28167 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28168
82da2062
VS
281692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28170
28171 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28172
7cae4377
VS
281732010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28174
28175 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28176
28177 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28178 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28179 (grub_linux_boot): Divide by 64K when on VESA.
28180
65a533e7
VS
281812010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28182
28183 Support GRUB_GFXPAYLOAD_LINUX.
28184
28185 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28186 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28187
dd01d397
VS
281882010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28189
28190 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28191 to show messages instead of discarding them.
28192 Process errors after executing command and not before. Keep old method
28193 too as precaution.
28194
660960d6
VS
281952010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28196
28197 * configure.ac: Check for ft2build.h.
28198
62509f04
VS
281992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28200
28201 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28202
473df63d
VS
282032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28204
28205 * genkernsyms.sh.in: Use TARGET_CC.
28206
c98d2a13
CW
282072010-02-07 Colin Watson <cjwatson@ubuntu.com>
28208
28209 * NEWS: Update.
28210
6e14234c
VS
282112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28212
28213 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28214 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28215 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28216
b255e9cf
YB
282172010-02-07 Yves Blusseau <blusseau@zetam.org>
28218
6e14234c 28219 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28220
98e6959d
VS
282212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28222
28223 Fix warnings in grub-emu when compiling with maximum warning options.
28224
28225 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28226 (grub_arch_modules_addr): Return 0 and not NULL.
28227 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28228 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28229 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28230 of disk to dsk to avoid shadowing.
74e4934e
VS
28231 (find_free_slot): Fix prototype.
28232 * util/getroot.c (grub_util_is_dmraid): Make static.
28233 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28234 Add missing prototype.
28235 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28236
74e31b5c
VS
282372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28238
28239 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28240 appropriately.
28241
6b2ad14b
VS
282422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28243
28244 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28245 code out.
28246
8f891adc
VS
282472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28248
28249 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28250 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28251 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28252 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28253 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28254 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28255
74b45184
VS
282562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28257
28258 * include/grub/err.h (grub_err_printf): Don't export.
28259
a4bced77
VS
282602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28261
28262 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28263
007d0695
VS
282642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28265
28266 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28267 * kern/misc.c (grub_gettext_dummy): Make static.
28268
b6c0d9c2
VS
282692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28270
28271 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28272 by non-valid ones.
28273 * kern/term.c (grub_putchar): Likewise.
28274
f51a90d0
VS
282752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28276
28277 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28278 buggy hook call and memory leak.
28279
6846cec5
VS
282802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28281
28282 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28283
468d69fe
VS
282842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28285
28286 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28287
51906b8c
VS
282882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28289
28290 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28291 modevar.
28292 Return grub_errno on allocation error.
28293
09706ce5
VS
282942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28295
28296 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28297
911df80c
YB
282982010-02-06 Yves Blusseau <blusseau@zetam.org>
28299
28300 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28301 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28302
3746a6bc
VS
283032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28304
28305 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28306 non-pxe disk.
28307 (grub_pxefs_open): Likewise.
28308
09706ce5
VS
283092010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28310
28311 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28312 * util/grub.d/10_kfreebsd.in: Likewise.
28313 * util/grub.d/10_linux.in: Likewise.
28314
7cc192d9
VS
283152010-02-06 Colin D Bennett <colin@gibibit.com>
28316
28317 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28318 (gfxmenu_mod_SOURCES): New variable.
28319 (gfxmenu_mod_CFLAGS): Likewise.
28320 (gfxmenu_mod_LDFLAGS): Likewise.
28321 * include/grub/term.h (grub_term_set_current_output): Declare
28322 argument as const.
28323 * docs/gfxmenu-theme-example.txt: New file.
28324 * gfxmenu/gfxmenu.c: Likewise.
28325 * gfxmenu/gui_box.c: Likewise.
28326 * gfxmenu/gui_canvas.c: Likewise.
28327 * gfxmenu/gui_circular_progress.c: Likewise.
28328 * gfxmenu/gui_image.c: Likewise.
28329 * gfxmenu/gui_label.c: Likewise.
28330 * gfxmenu/gui_list.c: Likewise.
28331 * gfxmenu/gui_progress_bar.c: Likewise.
28332 * gfxmenu/gui_string_util.c: Likewise.
28333 * gfxmenu/gui_util.c: Likewise.
28334 * gfxmenu/icon_manager.c: Likewise.
28335 * gfxmenu/model.c: Likewise.
28336 * gfxmenu/named_colors.c: Likewise.
28337 * gfxmenu/theme_loader.c: Likewise.
28338 * gfxmenu/view.c: Likewise.
28339 * gfxmenu/widget-box.c: Likewise.
28340 * include/grub/gfxmenu_model.h: Likewise.
28341 * include/grub/gfxmenu_view.h: Likewise.
28342 * include/grub/gfxwidgets.h: Likewise.
28343 * include/grub/gui.h: Likewise.
28344 * include/grub/gui_string_util.h: Likewise.
28345 * include/grub/icon_manager.h: Likewise.
28346
283472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28348
28349 Agglomerate scrolling in gfxterm.
28350
28351 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28352 (grub_virtual_screen_setup): Initialise 'total_screen'.
28353 (write_char): Split to ...
28354 (paint_char): ... this ...
28355 (write_char): ... and this.
28356 (paint_char): Handle delayed scrolling.
28357 (draw_cursor): Likewise.
28358 (scroll_up): Split to ...
28359 (real_scroll): ... this ...
28360 (scroll_up): ... and this.
28361 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28362 characters.
28363 (grub_gfxterm_refresh): Call real_scroll.
28364
283652010-02-06 Colin D Bennett <colin@gibibit.com>
28366
28367 * include/grub/misc.h (grub_iscntrl): New inline function.
28368 (grub_isalnum): Likewise.
28369 (grub_strtol): Likewise.
28370
283712010-02-06 Colin D Bennett <colin@gibibit.com>
28372
28373 * normal/menu_text.c (get_entry_number): Move from here ...
28374 * normal/menu.c (get_entry_number): ... moved here.
28375 * include/grub/menu.h (grub_menu_get_default_entry_index):
28376 New prototype.
28377 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28378 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28379 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28380 (grub_menu_viewer_should_return): Likewise.
28381 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28382 * normal/menu_text.c (run_menu): Enable menu switching.
28383 * normal/menu_viewer.c (should_return): New variable.
28384 (menu_viewer_changed): Likewise.
28385 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28386 (grub_menu_viewer_should_return): New function.
28387 (menuviewer_write_hook): Likewise.
28388 (grub_menu_viewer_init): Likewise.
28389
283902010-02-06 Colin D Bennet <colin@gibibit.com>
283912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28392
28393 Support for gfxterm in a window.
28394
28395 * include/grub/gfxterm.h: New file.
28396 * include/grub/video.h (struct grub_video_rect): New declaration.
28397 (grub_video_rect_t): Likewise.
28398 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28399 (refcount): New variable.
28400 (render_target): Likewise.
28401 (window): Likewise.
28402 (repaint_callback): Likewise.
28403 (grub_virtual_screen_setup): Use 'render_target'.
28404 (init_window): New function.
28405 (grub_gfxterm_init_window): Likewise.
28406 (grub_gfxterm_init): Check reference counter.
28407 Use init_window.
28408 (destroy_window): New function.
28409 (grub_gfxterm_destroy_window): Likewise.
28410 (grub_gfxterm_fini): Check reference counter.
28411 Use destroy_window.
28412 (redraw_screen_rect): Restore viewport.
28413 Use 'render_target' and 'window'.
28414 Call 'repaint_callback'.
28415 (write_char): Use 'render_target'.
28416 (draw_cursor): Likewise.
28417 (scroll_up): Restore viewport.
28418 Use 'render_target' and 'window'.
28419 Call 'repaint_callback'.
28420 (grub_gfxterm_cls): Likewise.
28421 (grub_gfxterm_refresh): Use 'window'.
28422 (grub_gfxterm_set_repaint_callback): New function.
28423 (grub_gfxterm_background_image_cmd): Use 'window'.
28424 (grub_gfxterm_get_term): New function.
28425 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28426
284272010-02-06 Colin D Bennett <colin@gibibit.com>
28428
28429 Bitmap scaling support.
28430
28431 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28432 (bitmap_scale_mod_SOURCES): New variable.
28433 (bitmap_scale_mod_CFLAGS): Likewise.
28434 (bitmap_scale_mod_LDFLAGS): Likewise.
28435 * include/grub/bitmap_scale.h: New file.
28436 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28437 (background_image_cmd_options): New variable.
28438 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28439 (cmd): Rename and change type to ...
28440 (background_image_cmd_handle): ... this. All users updated.
28441 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28442 * video/bitmap_scale.c: New file.
28443
284442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28445
28446 SDL support.
28447
28448 * Makefile.in (LIBSDL): New variable.
28449 (enable_grub_emu_sdl): Likewise.
28450 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28451 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28452 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28453 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28454 * util/sdl.c: New file.
28455
284562010-02-06 Colin D Bennett <colin@gibibit.com>
284572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28458
28459 Double buffering support.
28460
28461 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28462 * include/grub/video.h: Update comment.
28463 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28464 New type.
28465 (grub_video_fb_doublebuf_blit_init): New prototype.
28466 * term/gfxterm.c (scroll_up): Support double buffering.
28467 (grub_gfxterm_refresh): Likewise.
28468 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28469 (grub_video_fb_doublebuf_blit_init): Likewise.
28470 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28471 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28472 'displayed_page', 'render_page' and 'update_screen'.
28473 (grub_video_vbe_fini): Free offscreen buffer.
28474 (doublebuf_pageflipping_commit): New function.
28475 (doublebuf_pageflipping_update_screen): Likewise.
28476 (doublebuf_pageflipping_init): Likewise.
28477 (double_buffering_init): Likewise.
28478 (grub_video_vbe_setup): Enable doublebuffering.
28479 (grub_video_vbe_swap_buffers): Implement.
28480 (grub_video_vbe_set_active_render_target): Handle double buffering.
28481 (grub_video_vbe_get_active_render_target): Likewise.
28482 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28483 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28484 (grub_video_vbe_enable_double_buffering): Likewise.
28485 (grub_video_vbe_swap_buffers): Use update_screen.
28486 (grub_video_set_mode): Use double buffering.
28487
284882010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28489
28490 * maintainance/gentrigtables.py: Remove.
28491 * lib/trig.c: Likewise.
28492
28493 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28494
28495 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28496 `trigtables.c'.
28497 (trigtables.c): New rule.
28498 (gentrigtables): Likewise.
28499 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28500
285012010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28502
28503 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28504 integer constants.
28505
285062010-02-06 Colin D Bennet <colin@gibibit.com>
28507
28508 Trigonometry support.
28509
28510 * include/grub/trig.h: New file.
28511 * lib/trig.c: Likewise.
28512 * maintainance/gentrigtables.py: Likewise.
28513 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28514 (trig_mod_SOURCES): New variable.
28515 (trig_mod_CFLAGS): Likewise.
28516 (trig_mod_LDFLAGS): Likewise.
28517
5562834e
VS
285182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28519
28520 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28521 disk devices.
28522
4f8528fc
VS
285232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28524
28525 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28526 error.
28527
2b4068e9
VS
285282010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28529
28530 * util/hostdisk.c (open_device): Don't use partition device when reading
28531 before the partition.
28532 (grub_util_biosdisk_read): Don't read from partition and before the
28533 partition in single operation.
28534 (grub_util_biosdisk_write): Don't write to partition and before the
28535 partition in single operation.
28536
399f6e4d
TL
285372010-02-03 Torsten Landschoff <torsten@debian.org>
28538
28539 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28540 last sectors.
28541
996649b0
VS
285422010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28543
28544 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28545 CDROM reads.
28546 (grub_biosdisk_write): Refuse to write to CDROM.
28547
3b205d4d
VS
285482010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28549
28550 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28551
61e89d9d
VS
285522010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28553
28554 * font/font.c (find_glyph): Check that bmp_idx is available before
28555 using it.
28556 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28557 with (font == NULL).
28558
bf7fcba2
CS
285592010-01-28 Christian Schmitt <chris@ilovelinux.de>
28560
28561 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28562
f45d2663
BC
285632010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28564
28565 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28566 * util/grub-script-check.c (getline): Fix empty lines case.
28567
ec1444e6
RM
285682010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28569
28570 * Makefile.in (check): Exit with fail status when one of the tests
28571 fails.
28572 * tests/example_functional_test.c (example_test): Fix reversed assert.
28573 * tests/example_unit_test.c (example_test): Likewise.
28574
2e1cb9bb
CW
285752010-01-28 Colin Watson <cjwatson@ubuntu.com>
28576
28577 * util/grub.d/10_linux.in: This script does not use any of the
28578 contents of gettext.sh, only the external command `gettext', so stop
28579 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28580 the same prefix as GRUB.)
28581 * util/grub.d/10_kfreebsd.in: Likewise.
28582
63533ab0
VS
285832010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28584
28585 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28586 of the line.
28587
989e1f93
VS
285882010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28589
28590 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28591 last sectors.
28592
e709ebe2
VS
285932010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28594
28595 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28596 having a 4KiB and not 32KiB buffer size.
28597
27dea7ed
RM
285982010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28599
28600 * util/hostfs.c: Include `<errno.h>'.
28601 (grub_hostfs_read): Handle errors from fseeko() and fread().
28602
67667b9c
RM
286032010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28604
28605 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28606 loop when using read hooks on files whose size isn't sector-aligned.
28607
c294d9d8
RM
286082010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28609
28610 Remove unused parameter.
28611
28612 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28613 (grub_iso9660_open): Remove initialization of `data->length'.
28614
af75a9f1
RM
286152010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28616
28617 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28618 memleak conditions.
28619
254e2ce5 286202010-01-27 Carles Pina i Estany <carles@pina.cat>
28621
28622 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28623 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28624
b510928c 286252010-01-26 Carles Pina i Estany <carles@pina.cat>
28626
28627 * util/bin2h.c (usage): Fix warning (space after backslash).
28628
aa2f9dd2 286292010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28630
28631 * font/font.c: Include `grub/fontformat.h.
28632 Remove font file format constants.
28633 (grub_font_load): Use the new macros.
28634 * include/grub/fontformat.h: New file.
28635 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28636 (write_font_pf2): Use the new macros.
28637
94e7e712
RM
286382010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28639
28640 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28641 does.
28642
3973a59a
RM
286432010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28644
28645 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28646
28647 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28648 (_start): Macroify `0x7F'.
28649
28650 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28651 (make_install_device): Use "(pxe)" as fallback prefix when booting
28652 via PXE.
28653
42e0cba3
GS
286542010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28655
28656 * configure.ac: Reset LIBS after check for libgcc symbols.
28657
847effd8
CW
286582010-01-25 Colin Watson <cjwatson@ubuntu.com>
28659
28660 * util/hostdisk.c (open_device): Add trailing newline to debug
28661 message.
28662
ea4a7e35
GS
286632010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28664
28665 * configure.ac: Check for `limits.h'.
28666 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28667
67951a53
RM
286682010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28669
28670 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28671 capitalize error strings.
28672
c273d4ce
ST
286732010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28674
28675 * util/grub.d/10_hurd.in: Add a recovery mode.
28676
69be5b74
VS
286772010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28678
28679 * configure.ac: Check for libgcc symbols with -nostdlib.
28680
fc9e5810
BC
286812010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28682
28683 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28684
4b358c0a
VS
286852010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28686
28687 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28688 stack since heap may be unavailable at that point.
28689 (grub_ofconsole_gotoxy): Likewise.
28690
454fcd1c
VS
286912010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28692
28693 * configure.ac: Check for _restgpr_14_x.
28694 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28695 and _savegpr_* prototypes.
28696
566863ca
RM
286972010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28698
28699 Use generic grub_reboot() for i386-efi.
28700
28701 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28702 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28703 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28704
bf86e59a
VS
287052010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28706
28707 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28708 presence of "prefix" variable as it breaks when normal.mod is
28709 embedded.
28710
d645e0f8
VS
287112010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28712
28713 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28714 stack since heap is unavailable at that point.
28715
f9ab2e25
VS
287162010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28717
28718 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28719 (grub_freebsd_bootinfo): Rewritten.
28720 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28721
01fc7054
VS
287222010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28723
28724 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28725
caab4fd6
RM
287262010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28727
28728 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28729 domain now.
28730
67eb1427
FZ
287312010-01-20 Felix Zielcke <fzielcke@z-51.de>
28732
28733 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28734 around for handling "/" to the correct fix. Fix a memory leak. Use
28735 xstrdup instead of strdup.
28736
a9ed4ff3
VS
287372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28738
28739 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28740
287412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
28742
28743 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28744
28745 * font/font.c (struct grub_font): New member 'bmp_idx'.
28746 (font_init): Initialise 'bmp_idx'.
28747 (load_font_index): Fill 'bmp_idx'.
28748 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28749
48209f4f
VS
287502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28751
28752 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28753 unnecessary calls.
28754
9f0a4bb7
VS
287552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28756
28757 Move context handling out of the kernel.
28758
28759 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28760 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28761 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28762 * conf/i386-efi.rmk: Likewise.
28763 * conf/i386-ieee1275.rmk: Likewise.
28764 * conf/i386-pc.rmk: Likewise.
28765 * conf/powerpc-ieee1275.rmk: Likewise.
28766 * conf/sparc64-ieee1275.rmk: Likewise.
28767 * conf/x86_64-efi.rmk: Likewise.
28768 * include/grub/env.h: Include grub/menu.h.
28769 (grub_env_var_type): Removed.
28770 (grub_env_var): Replaced field 'type' with 'global'.
28771 (grub_env_find): New prototype.
28772 (grub_env_context_open): Remove EXPORT_FUNC.
28773 (grub_env_context_close): Likewise.
28774 (grub_env_export): Likewise.
28775 (grub_env_set_data_slot): Removed.
28776 (grub_env_get_data_slot): Likewise.
28777 (grub_env_unset_data_slot): Likewise.
28778 (grub_env_unset_menu): New prototype.
28779 (grub_env_set_menu): Likewise.
28780 (grub_env_get_menu): Likewise.
28781 * include/grub/env_private.h: New file.
28782 * include/grub/normal.h (grub_context_init): New prototype.
28783 (grub_context_fini): Likewise.
28784 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28785 * normal/context.c (grub_cmd_export): ... to here.
28786 * kern/env.c: Include env_private.h.
28787 (HASHSZ): Moved to include/grub/env_private.h.
28788 (grub_env_context): Likewise.
28789 (grub_env_sorted_var): Likewise.
28790 (current_context): Renamed from this ...
28791 (grub_current_context): ...to this. 'static' removed. All users updated.
28792 (grub_env_find): Removed 'static'.
28793 (grub_env_context_open): Moved to normal/context.c.
28794 (grub_env_context_close): Likewise.
28795 (grub_env_export): Likewise.
28796 (mangle_data_slot_name): Removed.
28797 (grub_env_set_data_slot): Likewise.
28798 (grub_env_get_data_slot): Likewise.
28799 (grub_env_unset_data_slot): Likewise.
28800 * kern/main.c (grub_set_root_dev): Don't export root.
28801 It will be done later.
28802 (grub_main): Don't export prefix.
28803 It will be done later.
28804 * normal/context.c: New file.
28805 * normal/main.c (free_menu): Use grub_env_unset_menu.
28806 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28807 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28808 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28809 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28810
8dd35b8c
VS
288112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28812
28813 setpci support.
28814
28815 * commands/setpci.c: New file.
28816 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28817 (setpci_mod_SOURCES): New variable.
28818 (setpci_mod_CFLAGS): Likewise.
28819 (setpci_mod_LDFLAGS): Likewise.
28820
449193d5
VS
288212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28822
28823 Byte-addressable PCI configuration space.
28824
28825 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28826 dword address.
28827 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28828 GRUB_PCI_REG_CACHELINE.
28829 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28830 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28831 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28832 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28833 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28834 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28835 grub_pci_make_address.
28836 (lock_rom_area): Likewise.
28837 * commands/lspci.c (grub_lspci_iter): Use macroses
28838 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
28839 of grub_pci_make_address.
28840 * disk/ata.c (grub_ata_pciinit): Likewise.
28841 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
28842 (GRUB_PCI_REG_VENDOR): Likewise.
28843 (GRUB_PCI_REG_DEVICE): Likewise.
28844 (GRUB_PCI_REG_COMMAND): Likewise.
28845 (GRUB_PCI_REG_STATUS): Likewise.
28846 (GRUB_PCI_REG_REVISION): Likewise.
28847 (GRUB_PCI_REG_CLASS): Likewise.
28848 (GRUB_PCI_REG_CACHELINE): Likewise.
28849 (GRUB_PCI_REG_LAT_TIMER): Likewise.
28850 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
28851 (GRUB_PCI_REG_BIST): Likewise.
28852 (GRUB_PCI_REG_ADDRESSES): Likewise.
28853 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28854 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28855 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28856 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28857 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28858 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28859 (GRUB_PCI_REG_CIS_POINTER): Likewise.
28860 (GRUB_PCI_REG_SUBVENDOR): Likewise.
28861 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
28862 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
28863 (GRUB_PCI_REG_CAP_POINTER): Likewise.
28864 (GRUB_PCI_REG_IRQ_LINE): Likewise.
28865 (GRUB_PCI_REG_IRQ_PIN): Likewise.
28866 (GRUB_PCI_REG_MIN_GNT): Likewise.
28867 (GRUB_PCI_REG_MAX_LAT): Likewise.
28868 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
28869 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
28870 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 28871 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
28872 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
28873 space.
28874
96d73208
RM
288752010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28876
28877 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
28878 can be reliably determined to be supported.
28879
d4484482
RM
288802010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28881
28882 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
28883 that VESA is supported.
28884 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
28885 supported.
28886
00308ecf
VS
288872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28888
28889 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
28890
f66924a4
RM
288912010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28892
28893 * util/misc.c (make_system_path_relative_to_its_root): Work around
28894 special-casing of "/", as previous incarnation of this routine did.
28895
cbca0ada
VS
288962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28897
28898 Fix any-emu compilation.
28899
28900 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
28901 * grub_bin2h_SOURCES: New variable.
28902
34a66d99
RM
289032010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28904
28905 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
28906
94fabf58
RM
289072010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28908
28909 * util/grub.d/00_header.in: Fix handling of locale_dir.
28910
02cf98ca
VS
289112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28912
28913 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
28914 as possible unifont location (Gentoo).
28915 Reported by: Alexander Brüning
28916
327dbcd7
VS
289172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28918
28919 Don't try to generate lists for kernel.img.
28920
28921 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
28922 (pkglib_MODULES): Remove kernel.img.
28923 (kernel_img_EXPORTS): Removed.
28924 (kernel_img_RELOCATABLE): New variable.
28925 * conf/x86_64-efi.rmk: Likewise.
28926 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
28927
ca467290
VS
289282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28929
28930 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
28931 grub_xasprintf or grub_snprintf.
28932 (grub_vsprintf): Likewise.
28933 (grub_snprintf): New proto.
28934 (grub_vsnprintf): Likewise.
28935 (grub_xasprintf): Likewise.
28936 (grub_xvasprintf): Likewise.
28937 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
28938 (grub_sprintf): Removed.
28939 (grub_vsnprintf): New function.
28940 (grub_snprintf): Likewise.
28941 (grub_xvasprintf): Likewise.
28942 (grub_xasprintf): Likewise.
28943 (grub_vsprintf): Renamed to ...
28944 (grub_vsnprintf_real): ...this. New argument max_len.
28945
aca655fd
BC
289462010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
28947
28948 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
28949 fix grub-script-check warning.
28950
7ee92c32
VS
289512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28952
28953 * include/grub/font.h (grub_font_load): Fix prototype.
28954
f80927ca
VS
289552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28956
28957 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
28958
119c50ea
VS
289592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28960
28961 * include/grub/x86_64/at_keyboard.h: New file.
28962
47d5f3c1
VS
289632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28964
28965 * loader/mips/linux.c: Include missing grub/i18n.h.
28966
55ff5266
RM
289672009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28968
28969 * normal/menu.c (notify_execution_failure): Clarify error message.
28970
c893cc87
RM
289712009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28972
28973 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
28974 return value (and revert all return statements). Update users.
28975
917dd370
CW
289762010-01-20 Dan Merillat <debian@dan.merillat.org>
28977
28978 * kern/device.c (grub_device_iterate): Allocate new part_ent
28979 structure based on sizeof (*p) rather than sizeof (p->next), to
28980 account for structure padding.
28981
28982 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
28983 disk is NULL, which might happen for LVM physical volumes with no
28984 LVM signature.
28985
d4a4ee57
RM
289862009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28987
28988 * loader/mips/linux.c (grub_cmd_initrd)
28989 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
28990
289912009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28992
28993 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
28994 (grub_video_video_init, grub_video_bitmap_init)
28995 (grub_font_manager_init, grub_term_gfxterm_init)
28996 (grub_at_keyboard_init): New extern declarations.
28997 (grub_machine_init): Initialize gfxterm and at_keyboard.
28998
28999 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29000
29001 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29002 `gfxterm.mod' into core image.
29003
29004 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29005 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29006 (kernel_img_FORMAT): Copy to ...
29007
29008 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29009 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29010 (kernel_img_FORMAT): ... here, and ...
29011
29012 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29013 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29014 (kernel_img_FORMAT): ... here.
29015
29016 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29017 and input (at_keyboard) terminals in kernel.
29018 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29019
29020 (pkglib_MODULES): Remove `pci.mod'.
29021 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29022 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29023 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29024 (at_keyboard_mod_LDFLAGS): Remove variables.
29025
290262010-01-11 Felix Zielcke <fzielcke@z-51.de>
29027
29028 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29029
290302009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29031
29032 * include/grub/mips/libgcc.h: Only export symbols for functions
29033 that libgcc provides.
29034
290352009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29036
29037 MIPS support.
29038
29039 * bus/bonito.c: New file.
29040 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29041 GRUB_PCI_NUM_DEVICES.
29042 * term/i386/pc/serial.c: Move to ...
29043 * term/serial.c: ... here. All users updated.
29044 * util/i386/pc/grub-mkimage.c: Move to ...
29045 * util/grub-mkrawimage.c: ... here. All users updated.
29046 * term/i386/pc/at_keyboard.c: Move to ...
29047 * term/at_keyboard.c: ... here. All users updated.
29048 * conf/mips-qemu-mips.rmk: New file.
29049 * conf/mips-yeeloong.rmk: Likewise.
29050 * conf/mips.rmk: Likewise.
29051 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29052 mipsel-qemu-mips.
29053 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29054 to port addresses.
29055 (grub_ata_pciinit): Support CS5536.
29056 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29057 * font/font_cmd.c (loadfont_command): Open file before passing it to
29058 grub_font_load.
29059 (pseudo_file_read): New function.
29060 (pseudo_file_close): Likewise.
29061 (pseudo_fs): New structure.
29062 (load_font_module): New function.
29063 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29064 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29065 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29066 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29067 * include/grub/i386/at_keyboard.h: Split into ...
29068 * include/grub/at_keyboard.h: ... this ...
29069 * include/grub/i386/at_keyboard.h: ... and this.
29070 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29071 New prototype.
29072 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29073 updated.
29074 (grub_elf64_size): Likewise.
29075 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29076 filename.
29077 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29078 * include/grub/i386/coreboot/serial.h: Rewritten.
29079 * include/grub/i386/ieee1275/serial.h: Include
29080 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29081 * include/grub/i386/pc/serial.h: Moved from here ...
29082 * include/grub/serial.h: ... to here. All users updated.
29083 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29084 (GRUB_PCI_NUM_BUS): Likewise.
29085 (GRUB_PCI_NUM_DEVICES): Likewise.
29086 (grub_pci_device_map_range): Add missing volatile keyword.
29087 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29088 * include/grub/mips/at_keyboard.h: New file.
29089 * include/grub/mips/cache.h: Likewise.
29090 * include/grub/mips/io.h: Likewise.
29091 * include/grub/mips/kernel.h: Likewise.
29092 * include/grub/mips/libgcc.h: Likewise.
29093 * include/grub/mips/pci.h: Likewise.
29094 * include/grub/mips/qemu-mips/boot.h: Likewise.
29095 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29096 * include/grub/mips/qemu-mips/loader.h: Likewise.
29097 * include/grub/mips/qemu-mips/memory.h: Likewise.
29098 * include/grub/mips/qemu-mips/serial.h: Likewise.
29099 * include/grub/mips/qemu-mips/time.h: Likewise.
29100 * include/grub/mips/relocator.h: Likewise.
29101 * include/grub/mips/time.h: Likewise.
29102 * include/grub/mips/types.h: Likewise.
29103 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29104 * include/grub/mips/yeeloong/boot.h: Likewise.
29105 * include/grub/mips/yeeloong/kernel.h: Likewise.
29106 * include/grub/mips/yeeloong/loader.h: Likewise.
29107 * include/grub/mips/yeeloong/memory.h: Likewise.
29108 * include/grub/mips/yeeloong/pci.h: Likewise.
29109 * include/grub/mips/yeeloong/serial.h: Likewise.
29110 * include/grub/mips/yeeloong/time.h: Likewise.
29111 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29112 * kern/elf.c (grub_elf32_size): New parameter. All users
29113 updated.
29114 (grub_elf64_size): Likewise.
29115 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29116 Load modules before saying "Welcome to GRUB!".
29117 Call grub_refresh after saying "Welcome to GRUB!".
29118 * kern/mips/cache.S: New file.
29119 * kern/mips/cache_flush.S: Likewise.
29120 * kern/mips/dl.c: Likewise.
29121 * kern/mips/init.c: Likewise.
29122 * kern/mips/qemu-mips/init.c: Likewise.
29123 * kern/mips/startup.S: Likewise.
29124 * kern/mips/yeeloong/init.c: Likewise.
29125 * kern/term.c (grub_putcode): Handle NULL terminal.
29126 (grub_getcharwidth): Likewise.
29127 (grub_getkey): Likewise.
29128 (grub_checkkey): Likewise.
29129 (grub_getkeystatus): Likewise.
29130 (grub_getxy): Likewise.
29131 (grub_getwh): Likewise.
29132 (grub_gotoxy): Likewise.
29133 (grub_cls): Likewise.
29134 (grub_setcolorstate): Likewise.
29135 (grub_setcolor): Likewise.
29136 (grub_getcolor): Likewise.
29137 (grub_refresh): Likewise.
29138 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29139 (write_jump): Add hatch nop.
29140 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29141 * lib/mips/setjmp.S: New file.
29142 * loader/mips/linux.c: Likewise.
29143 * term/i386/pc/at_keyboard.c: Move from here ...
29144 * term/at_keyboard.c: ... to here.
29145 * term/i386/pc/serial.c: Moved from here ...
29146 * term/serial.c: ... to here. All users updated.
29147 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29148 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29149 (serial_translate_key_sequence): Avoid deadlock.
29150 (grub_serial_getkey): Handle backspace.
29151 (grub_serial_putchar): Fix newline handling.
29152 * util/i386/pc/grub-mkimage.c: Move from here ...
29153 * util/grub-mkrawimage.c: ... to here. All users updated.
29154 (generate_image): New parameters 'font_path' and 'format'.
29155 Support embedding font.
29156 Use grub_host_to_target* instead of grub_cpu_to_le*.
29157 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29158 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29159 (options): New option "--font".
29160 (usage): Likewise.
29161 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29162 (main): Handle "--font".
29163 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29164 (grub_virtual_screen_setup): Set bg_color_display.
29165 (redraw_screen_rect): Use bg_color_display instead of incorrect
29166 bg_color.
29167 (grub_gfxterm_cls): Likewise.
29168 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29169 Support embedding config file.
29170 (add_segments): Likewise.
29171 (options): New option "--config".
29172 (main): Handle "--config".
29173 * video/sm712.c: New file.
29174
25c2b5b3
RM
291752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29176
29177 Fix parallel builds.
29178
29179 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29180 font.c depend on ascii.h).
29181
291822010-01-12 Carles Pina i Estany <carles@pina.cat>
29183
29184 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29185
291862010-01-11 Carles Pina i Estany <carles@pina.cat>
29187
29188 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29189 By default: disabled.
29190 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29191 parameter.
29192
291932010-01-10 Carles Pina i Estany <carles@pina.cat>
29194
29195 * font/font.c: Update copyright years.
29196 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29197
291982010-01-10 Carles Pina i Estany <carles@pina.cat>
29199
29200 * font/font.c: Include `ascii.h'.
29201 (ASCII_BITMAP_SIZE): New macro.
29202 (ascii_font_glyph): Define.
29203 (ascii_glyph_lookup): New function.
29204 (grub_font_get_string_width): Change comment. If glyph not found, use
29205 ascii_glyph_lookup.
29206 (grub_font_get_glyph_with_fallback): If glyph not available returns
29207 ascii_glyph_lookup.
29208 * util/grub-mkfont.c (file_formats): New enum.
29209 (options): Add `ascii-bitmaps' new option.
29210 (usage): Add `asii-bitmaps' new option.
29211 (write_font_ascii_bitmap): New function.
29212 (write_font): Rename to ...
29213 (write_font_p2): ... this. Remove print_glyphs call.
29214 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29215 used. Call print_glyphs.
29216 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29217
292182010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29219
29220 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29221 (grub_bin2h_SOURCES): New variable.
29222 * util/bin2h.c: New file.
29223
915fc1b8
VS
292242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29225
29226 * include/multiboot.h: Resynced with spec.
29227 * include/multiboot2.h: Likewise.
29228 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29229 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29230
9444b678
RM
292312010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29232
29233 * include/grub/term.h (grub_term_register_input,
29234 grub_term_register_output): Check return of terminal init()
29235 routines, and abort if errors are raised.
29236
29237 * commands/terminal.c: Update copyright year.
29238
cba98e8d
RM
292392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29240
29241 * commands/terminal.c (grub_cmd_terminal_input)
29242 (grub_cmd_terminal_output): Check return of terminal init()
29243 routines, and abort if errors are raised.
29244
6f7db5d6
VS
292452010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29246
29247 * include/grub/i386/bsd.h: Fix include pathes.
29248
262bff8d
VS
292492010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29250
29251 Add missing *BSD copyright headers.
29252
29253 * include/grub/aout.h: Add BSD licence.
29254 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29255 * include/grub/i386/freebsd_linker.h: ... here,
29256 * include/grub/i386/freebsd_reboot.h: ... here,
29257 * include/grub/i386/netbsd_bootinfo.h: ... here,
29258 * include/grub/i386/netbsd_reboot.h: ... here,
29259 * include/grub/i386/openbsd_bootarg.h: ... here,
29260 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29261 licence to each file.
29262
b2cab848
RM
292632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29264
29265 * acinclude.m4: Remove `nop' assembly instruction; it's not
29266 implemented by all architectures.
29267
2cb6be4b
RM
292682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29269
29270 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29271 ELILO. This is no longer necessary.
29272
a2eaee15
BC
292732010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29274
29275 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29276
29277 * util/grub-script-check.c: grub-script-check tool.
29278 * conf/common.rmk: Make rules for grub-script-check.
29279
88d17012
RM
292802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29281
29282 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29283 spotting it back in 2008. Shame on me for forgetting he did.
29284
29285 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29286
8040619d
RM
292872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29288
29289 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29290 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29291 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29292 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29293 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29294 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29295
a0c2a0f6
RM
292962010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29297
29298 * include/grub/test.h: Add license header.
29299 * tests/example_functional_test.c: Likewise.
29300 * tests/example_unit_test.c: Likewise.
29301 * tests/lib/functional_test.c: Likewise.
29302 * tests/lib/test.c: Likewise.
29303 * tests/lib/unit_test.c: Likewise.
29304
b0b13907
VS
293052010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29306
29307 Use flag-based instead of hook-based video mode selection and "auto"
29308 keyword.
29309
29310 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29311 (grub_video_set_mode): Changed prototype. All users updated.
29312 (grub_video_check_mode_flag): New inline function.
29313 * video/video.c (parse_modespec): New function.
29314 (grub_video_set_mode): Parse flags and keywords.
29315
ea379330 293162010-01-17 Carles Pina i Estany <carles@pina.cat>
29317
29318 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29319 fprintf call.
29320
e15c215e
FZ
293212010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29322
29323 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29324
409ae1c9 293252010-01-16 Carles Pina i Estany <carles@pina.cat>
29326
29327 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29328 string.
29329 * util/grub-emu.c (usage): Likewise.
29330 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29331 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29332 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29333 * util/i386/pc/grub-setup.c (usage): Likewise.
29334
70a14d3d 293352010-01-16 Carles Pina i Estany <carles@pina.cat>
29336
29337 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29338 the message.
29339 (grub_util_info): Likewise.
29340 (grub_util_error): Likewise.
29341 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29342 and/or new lines in `grub_util_warna', `grub_util_info',
29343 `grub_util_error' calls.
29344 * util/getroot.c: Likewise.
29345 * util/grub-editenv.c: Likewise.
29346 * util/grub-emu.c: Likewise.
29347 * util/grub-fstest.c: Likewise.
29348 * util/grub-mkdevicemap.c: Likewise.
29349 * util/grub-mkfont.c: Likewise.
29350 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29351 * util/grub-mkrelpath.c: Likewise.
29352 * util/grub-pe2elf.c: Likewise.
29353 * util/grub-probe.c: Likewise.
29354 * util/hostdisk.c: Likewise.
29355 * util/i386/efi/grub-mkimage.c: Likewise.
29356 * util/i386/pc/grub-mkimage.c: Likewise.
29357 * util/i386/pc/grub-setup.c: Likewise.
29358 * util/ieee1275/ofpath.c: Likewise.
29359 * util/mkisofs/eltorito.c: Likewise.
29360 * util/mkisofs/rock.c: Likewise.
29361 * util/mkisofs/write.c: Likewise.
29362 * util/raid.c: Likewise.
29363 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29364 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29365
a0b766fc
VS
293662010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29367
29368 Enable multiboot on non-pc.
29369
29370 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29371 multiboot.mod and multiboot2.mod to ...
29372 * conf/i386.rmk (pkglib_MODULES): ... here.
29373 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29374 Moved to ...
29375 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29376 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29377 Moved to ...
29378 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29379 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29380 Moved to ...
29381 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29382 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29383 Moved to ...
29384 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29385 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29386 relocator.mod.
29387 (ata_mod_SOURCES): Removed.
29388 (ata_mod_CFLAGS): Likewise.
29389 (ata_mod_LDFLAGS): Likewise.
29390 (relocator_mod_SOURCES): Removed.
29391 (relocator_mod_CFLAGS): Likewise.
29392 (relocator_mod_ASFLAGS): Likewise.
29393 (relocator_mod_LDFLAGS): Likewise.
29394 Include i386.mk.
29395 * include/grub/x86_64/multiboot.h: New file.
29396 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29397 Terminate EFI.
29398
884ade56
VS
293992010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29400
29401 Video multiboot support.
29402
29403 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29404 New prototype.
29405 * include/multiboot.h: Resynced with multiboot specification.
29406 * include/multiboot2.h: Likewise.
29407 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29408 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29409 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29410 (HAS_VGA_TEXT): Likewise.
29411 (accepts_video): New variable.
29412 (grub_multiboot_set_accepts_video): New function.
29413 (grub_multiboot_get_mbi_size): Account for video structures.
29414 (set_video_mode): New function.
29415 (retrieve_video_parameters): Likewise.
29416 (grub_multiboot_make_mbi): Fill video fields.
29417
0d90e8a6
VS
294182010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29419
29420 Video driver ids.
29421
29422 * include/grub/video.h (grub_video_driver_id): New type.
29423 (grub_video_adapter): New member 'id'. All users updated.
29424 (grub_video_get_driver_id): New proto.
29425 * video/video.c (grub_video_get_driver_id): New function.
29426
5c71db1b 294272010-01-14 Carles Pina i Estany <carles@pina.cat>
29428
29429 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29430 `var=val'.
29431
cca15b52 294322010-01-14 Carles Pina i Estany <carles@pina.cat>
29433
29434 * normal/cmdline.c (print_completion): Gettextizze.
29435
c586fbb2 294362001-01-14 Carles Pina i Estany <carles@pina.cat>
29437
29438 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29439
ba2f6848 294402010-01-14 Carles Pina i Estany <carles@pina.cat>
29441
29442 * gettext/gettext.c (grub_gettext_translate): Push and pop
29443 grub_errno.
29444 (grub_gettext_delete_list): Change comment style.
29445 * kern/err.c (grub_error): Gettextizze.
29446 (grub_fatal): Gettextizze.
29447
0a46429a
RM
294482010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29449
29450 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29451 (grub_linux16_real_boot): ... this.
29452 * kern/i386/loader.S: Likewise.
29453 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29454 (grub_linux16_boot): New function. Switches to text mode and calls
29455 grub_linux16_real_boot().
29456
29457 * loader/i386/bsd.c: Include `<grub/video.h>'.
29458 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29459 text mode before calling grub_unix_real_boot().
29460
29461 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29462 (grub_multiboot_boot): Switch to text mode before calling
29463 grub_relocator32_boot().
29464
29465 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29466 (grub_chainloader_boot): Switch to text mode before calling
29467 grub_chainloader_real_boot().
29468
d6f93a66
RM
294692010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
294702010-01-05 Colin Watson <cjwatson@ubuntu.com>
29471
29472 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29473 non-empty value.
29474
294752010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
294762010-01-05 Colin Watson <cjwatson@ubuntu.com>
29477
29478 * util/grub.d/00_header.in: Define a "savedefault" function for use
29479 in menu entries.
29480 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29481
294822010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
294832010-01-05 Colin Watson <cjwatson@ubuntu.com>
29484
29485 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29486 saved_entry if boot_once is unset.
29487 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29488 previous saved entry (i.e. grub-reboot).
29489
294902009-12-08 Colin Watson <cjwatson@ubuntu.com>
29491
29492 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29493
294942009-12-08 Colin Watson <cjwatson@ubuntu.com>
29495
29496 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29497 `var=val'.
29498 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29499
295002009-12-08 Colin Watson <cjwatson@ubuntu.com>
29501
29502 * util/grub-reboot.in: Fix --version output.
29503 * util/grub-set-default.in: Likewise.
29504
295052009-12-08 Colin Watson <cjwatson@ubuntu.com>
29506
29507 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29508 blocks.
29509
295102009-12-08 Colin Watson <cjwatson@ubuntu.com>
29511
29512 * util/grub.d/00_header.in: Quote the value assigned to `default',
29513 in case it contains spaces.
29514
295152009-12-08 Colin Watson <cjwatson@ubuntu.com>
29516
29517 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29518 `save_default_entry' call from the macosx case to the linux case.
29519
295202009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
295212009-10-25 Colin Watson <cjwatson@ubuntu.com>
29522
29523 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29524 in `chosen' environment variable.
29525 * normal/menu_text.c (get_entry_number): Check if the variable
29526 matches the title of a menu entry.
29527 (run_menu): Pass menu to get_entry_number.
29528
29529 * util/grub-reboot.in: New file.
29530 * util/grub-set-default.in: New file.
29531 * conf/common.rmk (grub-reboot): New utility.
29532 (grub-set-default): New utility.
29533
29534 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29535 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29536 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29537 move it to `saved_entry' for the next boot. Load environment on
29538 initialisation.
29539 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29540 * util/grub.d/10_hurd.in: Likewise.
29541 * util/grub.d/10_linux.in (linux_entry): Likewise.
29542 * util/grub.d/10_windows.in: Likewise.
29543 * util/grub.d/30_os-prober.in: Likewise.
29544
29545 * util/grub-install.in: Create environment block.
29546 * util/i386/efi/grub-install.in: Likewise.
29547 * util/ieee1275/grub-install.in: Likewise.
29548 * util/sparc64/ieee1275/grub-install.in: Likewise.
29549
0934d184
BC
295502010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29551
29552 Unit testing framework for GRUB.
29553
29554 * Makefile.in: Test framework build rules for 'make check'.
29555 * conf/tests.rmk: Build rules for individual tests and framework.
29556
29557 * include/grub/test.h: Header file for whitebox tests.
29558 * tests/lib/functional_test.c: Framework support for whitebox
29559 functional tests.
29560 * tests/lib/test.c: Common whitebox testing code for unit and
29561 functional tests.
29562 * tests/lib/unit_test.c: Framework support for whitebox unit
29563 tests.
29564
29565 * tests/util/grub-shell-tester.in: Support utility for grub-script
29566 tests.
29567 * tests/util/grub-shell.in: Utility to execute grub-script
29568 commands in a Qemu instance.
29569
29570 * tests/example_functional_test.c: Example whitebox functional
29571 test.
29572 * tests/example_grub_script_test.in: Example grub-script test.
29573 * tests/example_scripted_test.in: Example scripted test.
29574 * tests/example_unit_test.c: Example whitebox unit test.
29575
9c4ffeeb
VS
295762010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29577
29578 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29579 Add loader/i386/multiboot_mbi.c.
29580 (multiboot2_mod_SOURCES): Likewise.
29581 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29582 (multiboot2_mod_SOURCES): Likewise.
29583 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29584 (grub_multiboot_make_mbi): Likewise.
29585 (grub_multiboot_free_mbi): Likewise.
29586 (grub_multiboot_init_mbi): Likewise.
29587 (grub_multiboot_add_module): Likewise.
29588 (grub_multiboot_set_bootdev): Likewise.
29589 * loader/i386/multiboot.c (mbi): Removed.
29590 (mbi_dest): Likewise.
29591 (alloc_mbi): New variable.
29592 (grub_multiboot_payload_size): Removed. All users updated.
29593 (grub_multiboot_pure_size): New variable.
29594 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29595 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29596 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29597 (grub_fill_multiboot_mmap): Likewise.
29598 (grub_multiboot_get_bootdev): Likewise.
29599 (grub_multiboot): Use multiboot_mbi functions.
29600 * loader/i386/multiboot_mbi.c: New file.
29601
17383dfe
VS
296022010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29603
29604 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29605 it would result in module crash.
29606
c1f28820
VS
296072010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29608
29609 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29610 (grub_ofconsole_getwh): Split to ...
29611 (grub_ofconsole_getwh): ... this.
29612 (grub_ofconsole_dimensions): ...and this.
29613 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29614
58655a16
RM
296152010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29616
29617 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29618
10891398
VS
296192010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29620
29621 * loader/i386/pc/multiboot2.c: Removed stalled file.
29622
0b8a223c
VS
296232010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29624
29625 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29626 Reported by: Grégoire Sutre
29627
92ab12b0
RM
296282010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29629
29630 * util/misc.c (canonicalize_file_name): New function.
29631 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29632 instead of realpath().
29633
a788afb6
CW
296342010-01-11 Colin Watson <cjwatson@ubuntu.com>
29635
29636 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29637 and make it clearer that it's optional. Based on confusion
29638 witnessed on IRC.
29639
ffa8e3d2
VS
296402010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29641
29642 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29643 in premature implicit newline.
29644
e9060a9d
VS
296452010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29646
29647 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29648 which resulted in garbled command line at the end of screen.
29649
f0d0c0b7
RM
296502010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29651
29652 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29653 initialization with similar approach as with other Linux loaders.
29654
0e60bae7
RM
296552010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29656
29657 Fix i386-ieee1275 build.
29658
29659 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29660 and grub_term_height() for video_{width,height} initialization.
29661
296622010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29663
29664 Fix grub-emu build.
29665
29666 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29667
cdb3f378
RM
296682010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
296692010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29670
29671 Support for multiple terminals.
29672
29673 * Makefile.in (pkglib_DATA): terminal.lst.
29674 (terminal.lst): New target.
29675 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29676 (GRUB_MOD_INIT(handler)): Likewise.
29677 (GRUB_MOD_FINI(handler)): Likewise.
29678 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29679 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29680 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29681 (grub_cmd_sleep): Use grub_term_save_pos.
29682 * commands/terminal.c: New file.
29683 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29684 commands/terminal.c and lib/charset.c.
29685 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29686 (pkglib_MODULES): Add terminal.mod.
29687 (terminal_mod_SOURCES): New variable.
29688 (terminal_mod_CFLAGS): Likewise.
29689 (terminal_mod_LDFLAGS): Likewise.
29690 * genhandlerlist.sh: Don't handle terminals.
29691 * genmk.rb: Generate terminal-*.lst.
29692 * genterminallist.sh: New file.
29693 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29694 (grub_is_valid_utf8): Likewise.
29695 (grub_utf8_to_ucs4_alloc): Likewise.
29696 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29697 (grub_menu_register_viewer): Changed argument.
29698 (grub_menu_try_text): New proto.
29699 (grub_gfxmenu_try_hook): New declaration.
29700 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29701 (grub_menu_init_page): Additional argument term.
29702 (grub_normal_init_page): Likewise.
29703 (grub_cmdline_get): Arguments simplified.
29704 (grub_utf8_to_ucs4_alloc): Removed.
29705 (grub_print_ucs4): Additional argument term.
29706 (grub_getstringwidth): Likewise.
29707 (grub_print_message_indented): Likewise.
29708 (grub_menu_text_register_instances): New proto.
29709 (grub_show_menu): Likewise.
29710 (read_terminal_list): Likewise.
29711 (grub_set_more): Likewise.
29712 * include/grub/parser.h: Include handler.h.
29713 * include/grub/reader.h: Rewritten.
29714 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29715 (GRUB_TERM_WIDTH): Changed to function.
29716 (GRUB_TERM_HEIGHT): Likewise.
29717 (GRUB_TERM_BORDER_WIDTH): Likewise.
29718 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29719 (GRUB_TERM_NUM_ENTRIES): Likewise.
29720 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29721 (GRUB_TERM_CURSOR_X): Likewise.
29722 (grub_term_input_class): Likewise.
29723 (grub_term_output_class): Likewise.
29724 (grub_term_outputs_disabled): New declaration.
29725 (grub_term_inputs_disabled): Likewise.
29726 (grub_term_outputs): Likewise.
29727 (grub_term_inputs): Likewise.
29728 (grub_term_register_input): Rewritten.
29729 (grub_term_register_output): Likewise.
29730 (grub_term_unregister_input): Likewise.
29731 (grub_term_unregister_output): Likewise.
29732 (FOR_ACTIVE_TERM_INPUTS): New macro.
29733 (FOR_DISABLED_TERM_INPUTS): Likewise.
29734 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29735 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29736 * include/grub/terminfo.h: Add oterm argument to all protypes.
29737 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29738 Use grub_rescue_run.
29739 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29740 All users updated.
29741 * kern/reader.c: Removed. All users updated.
29742 * kern/rescue_reader.c (grub_rescue_init): Removed.
29743 (grub_rescue_reader): Likewise.
29744 (grub_register_rescue_reader): Likewise.
29745 (grub_rescue_run): New function based on kern/reader.c.
29746 * kern/term.c: Adapted for multiterm.
29747 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29748 (grub_is_valid_utf8): Likewise.
29749 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29750 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29751 right terminal.
29752 * loader/i386/linux.c (grub_linux_boot): Likewise.
29753 * normal/auth.c (grub_username_get): New function.
29754 (grub_auth_check_authentication): Use grub_username_get.
29755 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29756 * normal/color.c: Adapt for multiterm.
29757 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29758 (grub_normal_init_page): Additional argument term.
29759 (read_lists): Call read_terminal_lists.
29760 (grub_enter_normal_mode): Call grub_cmdline_run.
29761 Handle grub_normal_exit_level.
29762 (grub_cmd_normal): Make reentrant.
29763 (grub_cmd_normal_exit): New function.
29764 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29765 * normal/menu.c: Adapt for multiterm.
29766 * normal/menu_entry.c: Likewise.
29767 * normal/menu_text.c: Likewise.
29768 * normal/menu_viewer.c: Removed. All users updated.
29769 * normal/term.c: New file.
29770 * util/console.c: Change order of includes to workaround a bug in
29771 ncurses headers.
29772 * term/terminfo.c: New argument oterm on all exported functions.
29773 All users updated.
29774 * util/grub-editenv.c (grub_term_input_class): Removed.
29775 (grub_term_output_class): Likewise.
29776
1a064917
RM
297772010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29778
29779 Make loader output a bit more user-friendly.
29780
29781 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29782 is being loaded. Likewise for the Hurd.
29783
29784 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29785 that kernel of FreeBSD ${version} is being loaded.
29786
29787 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29788 grub_dprintf().
29789 (grub_cmd_initrd): Likewise.
29790 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29791 that Linux ${version} is being loaded. Likewise for initrd.
29792
5ce0a83a 297932010-01-09 Carles Pina i Estany <carles@pina.cat>
29794
29795 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29796
809bbfeb 297972010-01-08 Carles Pina i Estany <carles@pina.cat>
29798
29799 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29800 (GRUB_MOD_INIT): Gettextizze.
29801 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29802 (GRUB_MOD_INIT): Gettextizze.
29803 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29804 (grub_cmd_linux): Capitalise Linux.
29805 (GRUB_MOD_INIT): Gettextizze.
29806 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29807 (grub_cmd_linux): Capitalise Linux.
29808 (GRUB_MOD_INIT): Gettextizze.
29809 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29810 (grub_cmd_linux): Capitalise Linux.
29811 (GRUB_MOD_INIT): Gettextizze.
29812 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29813 (GRUB_MOD_INIT): Gettextizze.
29814 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29815 (grub_cmd_linux): Capitalise Linux.
29816 (GRUB_MOD_INIT): Gettextizze.
29817 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29818 (grub_cpu_xnu_init): Gettextizze.
29819 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29820 (GRUB_MOD_INIT): Gettextizze.
29821 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29822 (GRUB_MOD_INIT): Gettextizze.
29823 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29824 (grub_linux_load64): Capitalise Linux.
29825 (GRUB_MOD_INIT): Gettextizze.
29826 * loader/xnu.c: Include `<grub/i18n.h>'.
29827 (GRUB_MOD_INIT): Gettextizze.
29828 * po/POTFILES: Add `loader/efi/appleloader.c',
29829 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29830 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29831 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29832 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29833 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29834 and `loader/xnu.c'.
29835
b394b2ca
RM
298362010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29837
29838 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
29839
298402010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
29841
29842 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
29843 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
29844 * util/mkisofs/mkisofs.c (main): Readjust --version output.
29845
bc8b32b3
RM
298462010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29847
29848 Reset Multiboot 2 support. New loader implements the draft in
29849 /branches/multiboot2 and shares as much code as possible with the
29850 production Multiboot 1 implementation.
29851
29852 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
29853 * loader/multiboot2.c: Likewise.
29854 * loader/i386/multiboot_helper.S: Likewise.
29855 * include/multiboot2.h: Replace with latest version from the draft
29856 in /branches/multiboot2.
29857
29858 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
29859 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
29860 and `loader/multiboot2.c'.
29861 (pkglib_MODULES): Add `multiboot2.mod'.
29862 (multiboot2_mod_SOURCES): New variable.
29863 (multiboot2_mod_LDFLAGS): Likewise.
29864 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
29865
29866 * conf/i386-pc.rmk: Likewise.
29867
29868 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29869 (multiboot_mod_SOURCES): Remove variable.
29870 (multiboot_mod_LDFLAGS): Likewise.
29871 (multiboot_mod_CFLAGS): Likewise.
29872
29873 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
29874 `<multiboot2.h>' instead of `<multiboot.h>'.
29875 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
29876 (MULTIBOOT_HEADER_MAGIC): New macros.
29877
29878 * loader/multiboot_loader.c (module_version_status): Remove variable.
29879 (find_multi_boot2_header): Remove function.
29880 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
29881 logic. Always check for the Multiboot version we're compiling for.
29882 (grub_cmd_module_loader): Likewise.
29883 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
29884 command instead of `multiboot'.
29885
5d2c52b8
RM
298862010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29887
29888 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
29889 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
29890 all users.
29891
53108d92
RM
298922010-01-07 Robert Millan <rmh.grub@aybabtu.com>
298932010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29894
29895 Fix breakage introduced with previous commit.
29896
29897 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
29898 commands.
29899 * normal/handler.c (read_handler_list): Revert part of previous commit
29900 affecting this file.
29901 * normal/main.c (read_lists): Move read_handler_list() call back to ...
29902 (grub_normal_execute): ... here.
29903
e2e936b2
RM
299042010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29905
29906 Merge prefix-redefinition-fix branch.
29907
29908 * normal/autofs.c (read_fs_list): Make function capable of being
29909 run multiple times, gracefuly replacing the previous data
29910 structures.
29911 * normal/dyncmd.c (read_command_list): Likewise.
29912 * normal/handler.c (read_handler_list): Likewise.
29913 * normal/main.c (read_lists): New function. Calls all the
29914 list reading functions.
29915 (grub_normal_execute): Use read_lists() instead of calling all
29916 list reading functions explicitly. Register read_lists() as a
29917 variable hook attached to ${prefix}.
29918
607a3701
VS
299192010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29920
29921 Merge crypto branch.
29922
29923 * Makefile.in (pkglib_DATA): Add crypto.lst.
29924 (crypto.lst): New target.
29925 * commands/hashsum.c: New file.
29926 * commands/password.c (check_password): Use grub_crypto_memcmp.
29927 * commands/password_pbkdf2.c: New file.
29928 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
29929 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
29930 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
29931 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
29932 -I$(srcdir)/lib/libgcrypt_wrap.
29933 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
29934 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
29935 password_pbkdf2.mod.
29936 (crypto_mod_SOURCES): New variable.
29937 (crypto_mod_CFLAGS): Likewise.
29938 (crypto_mod_LDFLAGS): Likewise.
29939 (hashsum_mod_SOURCES): New variable.
29940 (hashsum_mod_CFLAGS): Likewise.
29941 (hashsum_mod_LDFLAGS): Likewise.
29942 (pbkdf2_mod_SOURCES): New variable.
29943 (pbkdf2_mod_CFLAGS): Likewise.
29944 (pbkdf2_mod_LDFLAGS): Likewise.
29945 (password_pbkdf2_mod_SOURCES): New variable.
29946 (password_pbkdf2_mod_CFLAGS): Likewise.
29947 (password_pbkdf2_mod_LDFLAGS): Likewise.
29948 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
29949 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
29950 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
29951 Include conf/gcry.rmk.
29952 * include/grub/auth.h: Rewritten.
29953 * include/grub/crypto.h: New file.
29954 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
29955 * include/grub/normal.h (read_crypto_list): New prototype.
29956 * lib/crypto.c: New file.
29957 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29958 * lib/pbkdf2.c: Likewise.
29959 * normal/auth.c (grub_auth_strcmp): Removed.
29960 (grub_iswordseparator): Likewise.
29961 (grub_auth_strword): Likewise.
29962 (is_authenticated): Use grub_strword.
29963 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
29964 and grub_strword. Pass entered password to authentication callback.
29965 * normal/crypto.c: New file.
29966 * normal/main.c: Call read_crypto_list.
29967 * util/grub-mkpasswd-pbkdf2.c: New file.
29968 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
29969
42841caa
VS
299702010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
29971
29972 Fix descent and ascent calculation.
29973
29974 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
29975 (options): New option "asce".
29976 (usage): Likewise.
29977 (add_char): Ignore invalid glyphs for descent calculation.
29978 Calculate ascent from actual content.
29979 (print_glyphs): Use 'asce'.
29980 (write_font): Likewise. Allow ascent override.
29981 (main): Handle "asce" option.
29982
e7730de7 299832010-01-06 Carles Pina i Estany <carles@pina.cat>
29984
29985 * kern/err.c: Include `<grub/i18n.h>'.
29986 (grub_print_error): Add full stop. Gettextizze.
29987 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
29988 (grub_bsd_load_elf): Capitalise ELF.
29989 (grub_cmd_freebsd_loadenv): Add `s' in error string.
29990 (grub_cmd_freebsd_module): Likewise.
29991 (grub_cmd_freebsd_module_elf): Likewise.
29992 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
29993
40e3a41f 299942010-01-06 Carles Pina i Estany <carles@pina.cat>
29995
29996 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
29997 * commands/search_file.c (HELP_MESSAGE): New macro.
29998 * commands/search_label.c (HELP_MESSAGE): Likewise.
29999 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30000 * po/POTFILES: Add `commands/search_file.c',
30001 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30002 `commands/search.c'.
30003
83507e68
RM
300042010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30005
30006 * config.rpath: Update from Gnulib.
30007
465c787b
YB
300082010-01-05 Yves Blusseau <blusseau@zetam.org>
30009
30010 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30011
6581dd3a
YB
300122010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30013
30014 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30015
3bff18c5
CW
300162010-01-05 Colin Watson <cjwatson@ubuntu.com>
30017
30018 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30019 arguments to fread so that we get a return value in bytes, rather
30020 than something that will normally be rounded down to 0.
30021 Adjust error handling to avoid producing garbage when size_t is not
30022 the same size as long long.
30023
a1368118
CW
300242010-01-05 Colin Watson <cjwatson@ubuntu.com>
30025
30026 * util/mkisofs/write.c (padblock_write): Check return value of
30027 fread.
30028
7c302978
RM
300292010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30030
30031 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30032 floppy images now.
30033
30034 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30035
e33ace06
RM
300362010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30037
30038 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30039 instead of manual alignment.
30040 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30041 verbose). Avoid attempts to read past end of the device
30042 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30043 but GRUB_DISK_CACHE_SIZE may exceed that).
30044
4b856776
RM
300452010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30046
30047 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30048 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30049 it to upper layer.
30050
52c2d97f
VS
300512010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30052
30053 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30054 New constant.
30055 (grub_efi_piwg_device_path): New structure
30056 (grub_efi_piwg_device_path_t): New type.
30057 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30058 (devpath_1): Transform to a structure. All users updated.
30059 (devpath_2): Likewise.
30060 (devpath_3): Likewise.
30061 (devpath_4): Likewise.
30062 (devpath_5): Likewise.
30063
98ff6a54
VS
300642010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30065
30066 * loader/efi/appleloader.c: Restored. Update all users.
30067
3a73dcb6
RM
300682010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30069
30070 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30071
30072 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30073 (struct boot_blocklist): Move from here ...
30074 * include/grub/i386/pc/boot.h [ASM_FILE]
30075 (struct grub_boot_blocklist): ... to here. Update all users.
30076 (setup): Only initialize `start' member of `first_block'
30077 structure. Add assert() calls to verify the other members.
30078
30079 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30080 (generate_image): Fix broken blocklist length initialization.
30081 Add assert() call to verify blocklist `segment' field.
30082
ab0eeb0c
RM
300832010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30084
30085 * loader/efi/appleloader.c: Remove. Update all users.
30086
58bc8bd5
RM
300872010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30088
30089 * boot/i386/pc/boot.S: Update copyright year.
30090 * boot/i386/pc/cdboot.S: Likewise.
30091 * boot/i386/pc/diskboot.S: Likewise.
30092 * boot/i386/pc/lnxboot.S: Likewise.
30093 * boot/i386/pc/pxeboot.S: Likewise.
30094 * bus/pci.c: Likewise.
30095 * commands/cmp.c: Likewise.
30096 * commands/help.c: Likewise.
30097 * commands/hexdump.c: Likewise.
30098 * commands/i386/pc/halt.c: Likewise.
30099 * commands/i386/pc/play.c: Likewise.
30100 * commands/i386/pc/vbeinfo.c: Likewise.
30101 * commands/ls.c: Likewise.
30102 * commands/test.c: Likewise.
30103 * disk/dmraid_nvidia.c: Likewise.
30104 * disk/i386/pc/biosdisk.c: Likewise.
30105 * disk/ieee1275/nand.c: Likewise.
30106 * disk/ieee1275/ofdisk.c: Likewise.
30107 * disk/lvm.c: Likewise.
30108 * disk/raid.c: Likewise.
30109 * disk/raid6_recover.c: Likewise.
30110 * disk/scsi.c: Likewise.
30111 * fs/affs.c: Likewise.
30112 * fs/cpio.c: Likewise.
30113 * fs/ext2.c: Likewise.
30114 * fs/hfs.c: Likewise.
30115 * fs/iso9660.c: Likewise.
30116 * fs/ntfs.c: Likewise.
30117 * fs/sfs.c: Likewise.
30118 * fs/udf.c: Likewise.
30119 * fs/ufs.c: Likewise.
30120 * fs/xfs.c: Likewise.
30121 * gencmdlist.sh: Likewise.
30122 * genmk.rb: Likewise.
30123 * include/grub/disk.h: Likewise.
30124 * include/grub/efi/api.h: Likewise.
30125 * include/grub/efi/efi.h: Likewise.
30126 * include/grub/efi/pe32.h: Likewise.
30127 * include/grub/elf.h: Likewise.
30128 * include/grub/fs.h: Likewise.
30129 * include/grub/i386/at_keyboard.h: Likewise.
30130 * include/grub/i386/pc/memory.h: Likewise.
30131 * include/grub/i386/pc/vbe.h: Likewise.
30132 * include/grub/i386/pci.h: Likewise.
30133 * include/grub/i386/tsc.h: Likewise.
30134 * include/grub/ieee1275/ieee1275.h: Likewise.
30135 * include/grub/ntfs.h: Likewise.
30136 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30137 * include/grub/sparc64/libgcc.h: Likewise.
30138 * include/grub/symbol.h: Likewise.
30139 * include/grub/types.h: Likewise.
30140 * include/multiboot2.h: Likewise.
30141 * io/gzio.c: Likewise.
30142 * kern/device.c: Likewise.
30143 * kern/disk.c: Likewise.
30144 * kern/efi/efi.c: Likewise.
30145 * kern/efi/mm.c: Likewise.
30146 * kern/elf.c: Likewise.
30147 * kern/file.c: Likewise.
30148 * kern/i386/dl.c: Likewise.
30149 * kern/i386/pc/init.c: Likewise.
30150 * kern/i386/pc/startup.S: Likewise.
30151 * kern/ieee1275/ieee1275.c: Likewise.
30152 * kern/ieee1275/init.c: Likewise.
30153 * kern/main.c: Likewise.
30154 * kern/mm.c: Likewise.
30155 * kern/powerpc/dl.c: Likewise.
30156 * kern/sparc64/dl.c: Likewise.
30157 * kern/x86_64/dl.c: Likewise.
30158 * lib/hexdump.c: Likewise.
30159 * loader/efi/appleloader.c: Likewise.
30160 * loader/i386/ieee1275/linux.c: Likewise.
30161 * loader/i386/pc/chainloader.c: Likewise.
30162 * loader/i386/pc/linux.c: Likewise.
30163 * loader/i386/pc/multiboot2.c: Likewise.
30164 * loader/ieee1275/multiboot2.c: Likewise.
30165 * loader/multiboot2.c: Likewise.
30166 * loader/multiboot_loader.c: Likewise.
30167 * loader/powerpc/ieee1275/linux.c: Likewise.
30168 * normal/completion.c: Likewise.
30169 * normal/menu_entry.c: Likewise.
30170 * partmap/apple.c: Likewise.
30171 * util/grub.d/10_hurd.in: Likewise.
30172 * util/hostfs.c: Likewise.
30173 * video/readers/png.c: Likewise.
30174
e2d70b5c
CW
301752010-01-03 Colin Watson <cjwatson@ubuntu.com>
30176
30177 * include/grub/misc.h (GNUC_PREREQ): New macro.
30178 (ATTRIBUTE_ERROR): New macro.
30179 * include/grub/list.h (grub_bad_type_cast_real): Use
30180 ATTRIBUTE_ERROR.
30181
a173283f 301822010-01-03 Carles Pina i Estany <carles@pina.cat>
30183
30184 * normal/menu_text.c (print_message): Change messages.
30185
7fa7ff74 301862010-01-03 Carles Pina i Estany <carles@pina.cat>
30187
30188 * normal/menu_entry.c (store_completion): Gettextizze.
30189
136d24f6 301902010-01-03 Carles Pina i Estany <carles@pina.cat>
30191
30192 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30193
f936862e 301942010-01-03 Carles Pina i Estany <carles@pina.cat>
30195
30196 * po/POTFILES: Sort correctly.
30197
29c44ad1 301982010-01-03 Carles Pina i Estany <carles@pina.cat>
30199
30200 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30201 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30202 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30203 full stop.
30204 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30205 summary. Gettextizze the strings.
30206 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30207 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30208 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30209 full stop.
30210 (GRUB_MOD_INIT): Remove command name from summary.
30211 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30212 summary.
30213 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30214 * term/i386/pc/serial.c (options): Add full stops.
30215 (GRUB_MOD_INIT): Remove command name from the summary.
30216
77a79592 302172010-01-03 Carles Pina i Estany <carles@pina.cat>
30218
30219 * commands/acpi.c: Gettextizze help strings and/or options. Include
30220 `grub/i18n.h' if needed.
30221 * commands/blocklist.c: Likewise.
30222 * commands/boot.c: Likewise.
30223 * commands/cat.c: Likewise.
30224 * commands/cmp.c: Likewise.
30225 * commands/configfile.c: Likewise.
30226 * commands/crc.c: Likewise.
30227 * commands/date.c: Likewise.
30228 * commands/echo.c: Likewise.
30229 * commands/efi/fixvideo.c: Likewise.
30230 * commands/efi/loadbios.c: Likewise.
30231 * commands/gptsync.c: Likewise.
30232 * commands/halt.c: Likewise.
30233 * commands/handler.c: Likewise.
30234 * commands/hdparm.c: Likewise.
30235 * commands/hexdump.c: Likewise.
30236 * commands/i386/cpuid.c: Likewise.
30237 * commands/i386/pc/drivemap.c: Likewise.
30238 * commands/i386/pc/halt.c: Likewise.
30239 * commands/i386/pc/pxecmd.c: Likewise.
30240 * commands/i386/pc/vbeinfo.c: Likewise.
30241 * commands/i386/pc/vbetest.c: Likewise.
30242 * commands/ieee1275/suspend.c: Likewise.
30243 * commands/keystatus.c: Likewise.
30244 * commands/loadenv.c: Likewise.
30245 * commands/ls.c: Likewise.
30246 * commands/lsmmap.c: Likewise.
30247 * commands/lspci.c: Likewise.
30248 * commands/memrw.c: Likewise.
30249 * commands/minicmd.c: Likewise.
30250 * commands/parttool.c: Likewise.
30251 * commands/password.c: Likewise.
30252 * commands/probe.c: Likewise.
30253 * commands/read.c: Likewise.
30254 * commands/reboot.c: Likewise.
30255 * commands/search.c: Likewise.
30256 * commands/sleep.c: Likewise.
30257 * commands/test.c: Likewise.
30258 * commands/true.c: Likewise.
30259 * commands/usbtest.c: Likewise.
30260 * commands/videotest.c: Likewise.
30261 * commands/xnu_uuid.c: Likewise.
30262 * disk/loopback.c: Likewise.
30263 * hello/hello.c: Likewise.
30264 * loader/i386/bsd.c: Likewise.
30265 * term/i386/pc/serial.c: Likewise.
30266 * po/POTFILES: Add new files.
30267
da8d5c53
CW
302682010-01-02 Colin Watson <cjwatson@ubuntu.com>
30269
30270 * term/i386/pc/at_keyboard.c
30271 (keyboard_controller_wait_untill_ready): Rename to ...
30272 (keyboard_controller_wait_until_ready): ... this. Update all users.
30273
33937904 302742010-01-01 Carles Pina i Estany <carles@pina.cat>
30275
30276 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30277 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30278 string using string width.
30279 * normal/menu_text.c (grub_print_message_indented): Use
30280 grub_print_spaces and not print_spaces.
30281 (print_timeout): Likewise.
30282 (print_spaces): Move to...
30283 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30284
3fd3b8d8
RM
302852010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30286
30287 Import from Gnulib.
30288
30289 * gnulib/getdelim.c: New file.
30290 * gnulib/getline.c: Likewise.
30291
33433555
VS
302922009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30293
30294 * include/grub/list.h (grub_assert_fail): Removed.
30295 (grub_bad_type_cast_real): New function.
30296 (grub_bad_type_cast): New macro.
30297 (GRUB_AS_LIST): Use grub_bad_type_cast.
30298 (GRUB_AS_LIST_P): Likewise.
e44721e8 30299 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30300 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30301 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30302 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30303 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30304
f5a51306
VS
303052009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30306
30307 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30308 Fix syntax error.
30309
90d1e879
RM
303102009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30311
30312 * configure.ac: Check for TARGET_CFLAGS initialization before we
30313 initialize it ourselves (sigh).
30314 Move a few modifications to TARGET_CFLAGS to be unconditional
30315 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30316 eh_frame)
30317
30318 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30319 * term/i386/pc/at_keyboard.c
30320 (keyboard_controller_wait_untill_ready): Likewise.
30321 (keyboard_controller_led): Rename `led_status' paramter to avoid
30322 name conflict.
30323
465b5a81 303242009-12-28 Carles Pina i Estany <carles@pina.cat>
30325
30326 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30327 quotes.
30328
c181849b
VS
303292009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30330
30331 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30332
9c8739a4
VS
303332009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30334
30335 * normal/menu_text.c (grub_print_message_indented): Prevent
30336 past-the-end-of-array dereference.
30337
3e74249c
VS
303382009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30339
30340 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30341 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30342
64fd18ed 303432009-12-27 Carles Pina i Estany <carles@pina.cat>
30344
30345 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30346 * normal/main.c (grub_normal_read_line): Remove a space from the
30347 default prompt.
30348
714af9b9 303492009-12-27 Carles Pina i Estany <carles@pina.cat>
30350
30351 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30352 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30353 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30354 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30355 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30356 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30357 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30358
82f3e412 303592009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30360
30361 * video/readers/jpeg.c (cmd): Declare.
30362 (grub_cmd_jpegtest): Use `grub_command_t' type.
30363 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30364 Assign to `cmd'.
30365 (GRUB_MOD_FINI): Use `cmd' to unregister.
30366 * video/readers/png.c (cmd): Declare.
30367 (grub_cmd_pngtest): Use `grub_command_t' type.
30368 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30369 Assign to `cmd'.
30370 (GRUB_MOD_FINI): Use `cmd' to unregister.
30371 * video/readers/tga.c (cmd): Declare.
30372 (grub_cmd_tgatest): Use `grub_command_t' type.
30373 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30374 Assign to `cmd'.
30375 (GRUB_MOD_FINI): Use `cmd' to unregister.
30376
82f3e412 303772009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30378
30379 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30380 stops.
30381 * kern/corecmd.c (grub_register_core_commands): Likewise.
30382 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30383 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30384 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30385 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30386 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30387 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30388 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30389 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30390 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30391 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30392 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30393 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30394 * normal/handler.c (insert_handler): Likewise.
30395 * normal/main.c (GRUB_MOD_INIT): Likewise.
30396 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30397
fdcdbb66 303982009-12-26 Carles Pina i Estany <carles@pina.cat>
30399
30400 * commands/help.c (grub_cmd_help): Print the command name before the
30401 summary.
30402 (GRUB_MOD_INIT): Remove command name from the summary.
30403 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30404 string as summary.
fdcdbb66 30405 * lib/arg.c (find_long): Print the command name before the summary.
30406 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30407 summary.
30408 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30409 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30410 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30411 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30412 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30413 * commands/date.c (GRUB_MOD_INIT): Likewise.
30414 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30415 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30416 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30417 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30418 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30419 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30420 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30421 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30422 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30423 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30424 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30425 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30426 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30427 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30428 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30429 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30430 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30431 * commands/password.c (GRUB_MOD_INIT): Likewise.
30432 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30433 * commands/read.c (GRUB_MOD_INIT): Likewise.
30434 * commands/search.c (GRUB_MOD_INIT): Likewise.
30435 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30436 * commands/test.c (GRUB_MOD_INIT): Likewise.
30437 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30438 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30439 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30440 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30441 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30442 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30443 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30444 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30445 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30446 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30447 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30448 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30449 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30450 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30451
9c288be2
VS
304522009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30453
30454 Use search command for preliminar UUID search.
30455
30456 * commands/search.c: Split into ...
30457 * commands/search_wrap.c: ...this
30458 * commands/search.c: ...and this.
30459 * commands/search_file.c: New file.
30460 * commands/search_label.c: New file.
30461 * commands/search_uuid.c: New file.
30462 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30463 Add commands/search_wrap.c, commands/search_file.c,
30464 commands/search_label.c and commands/search_uuid.c.
30465 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30466 (search_mod_SOURCES): Set to commands/search_wrap.c.
30467 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30468 search_label.mod.
30469 (search_fs_file_mod_SOURCES): New variable.
30470 (search_fs_file_mod_CFLAGS): Likewise.
30471 (search_fs_file_mod_LDFLAGS): Likewise.
30472 (search_label_mod_SOURCES): Likewise.
30473 (search_label_mod_CFLAGS): Likewise.
30474 (search_label_mod_LDFLAGS): Likewise.
30475 (search_fs_uuid_mod_SOURCES): New variable.
30476 (search_fs_uuid_mod_CFLAGS): Likewise.
30477 (search_fs_uuid_mod_LDFLAGS): Likewise.
30478 (fs_file_mod_SOURCES): Removed.
30479 (fs_file_mod_CFLAGS): Likewise.
30480 (fs_file_mod_LDFLAGS): Likewise.
30481 (fs_uuid_mod_SOURCES): Removed.
30482 (fs_uuid_mod_CFLAGS): Likewise.
30483 (fs_uuid_mod_LDFLAGS): Likewise.
30484 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30485 Set to util/grub-install.in.
30486 * disk/fs_file.c: Removed.
30487 * disk/fs_uuid.c: Likewise.
30488 * include/grub/search.h: New file.
30489 * util/grub-install.in: Handle sparc64.
30490 Create and use load.cfg.
30491 * util/sparc64/ieee1275/grub-install.in: Removed.
30492
db943399
VS
304932009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30494
30495 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30496 Ignore return status if CF is cleared.
30497 (grub_biosdisk_get_diskinfo_standard): Likewise.
30498
3fdae612
RM
304992009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30500
30501 * term/i386/pc/at_keyboard.c
30502 (keyboard_controller_wait_untill_ready): New function.
30503 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30504 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30505 for keyboard polling, rather than duplicate the same loop. This
30506 saves a few bytes in code size.
30507
7ebaa2b4
VS
305082009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30509
30510 Support for (pxe[:server[:gateway]]) syntax and
30511 use environment variable for PXE.
30512
30513 * commands/i386/pc/pxecmd.c (options): Removed.
30514 (print_ip): Removed.
30515 (grub_cmd_pxe): Removed
30516 (grub_cmd_pxe_unload): New function.
30517 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30518 (grub_pxe_your_ip): Made static.
30519 (grub_pxe_default_server_ip): Likewise.
30520 (grub_pxe_default_gateway_ip): Likewise.
30521 (grub_pxe_blksize): Likewise.
30522 (parse_ip): New function.
30523 (grub_pxe_open): Support server and gateway specification.
30524 (grub_pxe_close): Free disk->data.
30525 (grub_pxefs_open): Use disk->data.
30526 (grub_pxefs_read): Likewise.
30527 (grub_env_write_readonly): New function.
30528 (set_mac_env): Likewise.
30529 (set_env_limn_ro): Likewise.
30530 (parse_dhcp_vendor): Likewise.
30531 (grub_pxe_detect): Set the environment variables.
30532 (set_ip_env): New function.
30533 (write_ip_env): Likewise.
30534 (grub_env_write_pxe_default_server): Likewise.
30535 (grub_env_write_pxe_default_gateway): Likewise.
30536 (grub_env_write_pxe_blocksize): Likewise.
30537 (GRUB_MOD_INIT(pxe)): Set environment variables.
30538 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30539 (grub_pxe_mac_addr_t): ... this. All users updated.
30540 (grub_pxe_your_ip): Removed.
30541 (grub_pxe_server_ip): Likewise.
30542 (grub_pxe_gateway_ip): Likewise.
30543 (grub_pxe_blksize): Likewise.
30544
ec5f98ab 305452009-12-25 Carles Pina i Estany <carles@pina.cat>
30546
30547 * commands/help.c: Include `<grub/i18n.h>'.
30548 (grub_cmd_help): Gettextizze.
30549 (GRUB_MOD_INIT): Likewise.
30550 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30551 (GRUB_MOD_INIT): Gettextizze.
30552 * commands/search.c: Include `<grub/i18n.h>'.
30553 (options): Gettextizze.
30554 (GRUB_MOD_INIT): Gettextizze.
30555 * lib/arg.c: Include `<grub/i18n.h>'.
30556 (help_options): Gettextizze.
30557 (find_long): Likewise.
30558 (grub_arg_show_help): Likewise.
30559 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30560 (read_command_list): Gettextizze.
30561 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30562 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30563
22815526
RM
305642009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30565
30566 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30567 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30568 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30569 (led_status): New variable.
30570 (keyboard_controller_led): New function.
30571 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30572 update led status for caps lock, num lock and scroll lock.
30573
0ad46fd7
FZ
305742009-12-25 Felix Zielcke <fzielcke@z-51.de>
30575
30576 * util/hostdisk.c (open_device): Fix a comment.
30577
d0e158c2
RM
305782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30579
30580 * util/grub-install.in (host_os): New variable.
30581 * util/i386/efi/grub-install.in (host_os): Likewise.
30582
401c0ad6
RM
305832009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30584
30585 * util/mkisofs/write.c (padblock_write): Abort when given an
30586 excedingly large embed image, instead of silently truncating it.
30587
d14d3370
RM
305882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30589
30590 * include/multiboot.h: Indentation fixes.
30591
eeed10b4
RM
305922009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30593
30594 * include/multiboot.h (struct multiboot_aout_symbol_table)
30595 (struct multiboot_elf_section_header_table): New structure
30596 declarations (stolen from GRUB Legacy).
30597 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30598 table information.
30599
30600 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30601 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30602 type aliases.
30603
681c70ab
RM
306042009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30605
30606 * include/multiboot.h: Make comments src2texi-friendly.
30607
e4d47d8d
RM
306082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30609
30610 For consistency with [multiboot]/docs/boot.S.
30611
30612 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30613 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30614 (MULTIBOOT_MAGIC2): Rename from this ...
30615 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30616
a0b70bda
RM
306172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30618
30619 * include/multiboot.h: Remove `<grub/types.h>'.
30620 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30621 types. Update all users.
30622
61ba42be 306232009-12-25 Carles Pina i Estany <carles@pina.cat>
30624
30625 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30626 `couldn't' and `can not' by `cannot'.
30627 * commands/i386/pc/drivemap.c: Likewise.
30628 * disk/ata.c: Likewise.
30629 * disk/ieee1275/nand.c: Likewise.
30630 * fs/affs.c: Likewise.
30631 * fs/fat.c: Likewise.
30632 * fs/hfs.c: Likewise.
30633 * fs/hfsplus.c: Likewise.
30634 * fs/iso9660.c: Likewise.
30635 * fs/jfs.c: Likewise.
30636 * fs/minix.c: Likewise.
30637 * fs/reiserfs.c: Likewise.
30638 * fs/sfs.c: Likewise.
30639 * fs/udf.c: Likewise.
30640 * fs/ufs.c: Likewise.
30641 * fs/xfs.c: Likewise.
30642 * loader/powerpc/ieee1275/linux.c: Likewise.
30643 * loader/sparc64/ieee1275/linux.c: Likewise.
30644 * util/grub-probe.c: Likewise.
30645 * util/misc.c: Likewise.
30646
7fd0baee 306472009-12-24 Carles Pina i Estany <carles@pina.cat>
30648
30649 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30650 grub_errno calls.
30651 * commands/acpi.c: Likewise.
30652 * commands/blocklist.c: Likewise.
30653 * commands/efi/loadbios.c: Likewise.
30654 * commands/i386/pc/drivemap.c: Likewise.
30655 * commands/loadenv.c: Likewise.
30656 * commands/memrw.c: Likewise.
30657 * commands/password.c: Likewise.
30658 * commands/videotest.c: Likewise.
30659 * disk/ata.c: Likewise.
30660 * disk/ata_pthru.c: Likewise.
30661 * disk/dmraid_nvidia.c: Likewise.
30662 * disk/ieee1275/nand.c: Likewise.
30663 * disk/ieee1275/ofdisk.c: Likewise.
30664 * disk/loopback.c: Likewise.
30665 * disk/lvm.c: Likewise.
30666 * disk/mdraid_linux.c: Likewise.
30667 * disk/raid.c: Likewise.
30668 * disk/raid6_recover.c: Likewise.
30669 * disk/scsi.c: Likewise.
30670 * efiemu/main.c: Likewise.
30671 * efiemu/mm.c: Likewise.
30672 * efiemu/pnvram.c: Likewise.
30673 * efiemu/symbols.c: Likewise.
30674 * font/font.c: Likewise.
30675 * fs/cpio.c: Likewise.
30676 * fs/hfsplus.c: Likewise.
30677 * fs/iso9660.c: Likewise.
30678 * fs/jfs.c: Likewise.
30679 * fs/minix.c: Likewise.
30680 * fs/ntfs.c: Likewise.
30681 * fs/ntfscomp.c: Likewise.
30682 * fs/reiserfs.c: Likewise.
30683 * fs/ufs.c: Likewise.
30684 * fs/xfs.c: Likewise.
30685 * gettext/gettext.c: Likewise.
30686 * include/grub/auth.h: Likewise.
30687 * kern/elf.c: Likewise.
30688 * kern/file.c: Likewise.
30689 * kern/ieee1275/init.c: Likewise.
30690 * kern/ieee1275/mmap.c: Likewise.
30691 * kern/ieee1275/openfw.c: Likewise.
30692 * kern/powerpc/dl.c: Likewise.
30693 * kern/sparc64/dl.c: Likewise.
30694 * lib/arg.c: Likewise.
30695 * loader/i386/bsd.c: Likewise.
30696 * loader/i386/bsdXX.c: Likewise.
30697 * loader/i386/efi/linux.c: Likewise.
30698 * loader/i386/efi/xnu.c: Likewise.
30699 * loader/i386/ieee1275/linux.c: Likewise.
30700 * loader/i386/linux.c: Likewise.
30701 * loader/i386/multiboot.c: Likewise.
30702 * loader/i386/pc/linux.c: Likewise.
30703 * loader/i386/pc/multiboot2.c: Likewise.
30704 * loader/i386/xnu.c: Likewise.
30705 * loader/ieee1275/multiboot2.c: Likewise.
30706 * loader/macho.c: Likewise.
30707 * loader/machoXX.c: Likewise.
30708 * loader/multiboot2.c: Likewise.
30709 * loader/multiboot_loader.c: Likewise.
30710 * loader/powerpc/ieee1275/linux.c: Likewise.
30711 * loader/sparc64/ieee1275/linux.c: Likewise.
30712 * loader/xnu.c: Likewise.
30713 * loader/xnu_resume.c: Likewise.
30714 * mmap/i386/pc/mmap.c: Likewise.
30715 * normal/menu_viewer.c: Likewise.
30716 * partmap/acorn.c: Likewise.
30717 * partmap/amiga.c: Likewise.
30718 * partmap/apple.c: Likewise.
30719 * script/lexer.c: Likewise.
30720 * term/gfxterm.c: Likewise.
30721 * term/i386/pc/serial.c: Likewise.
30722 * term/i386/pc/vga.c: Likewise.
30723 * term/ieee1275/ofconsole.c: Likewise.
30724 * term/terminfo.c: Likewise.
30725 * video/bitmap.c: Likewise.
30726 * video/efi_gop.c: Likewise.
30727 * video/efi_uga.c: Likewise.
30728 * video/fb/video_fb.c: Likewise.
30729 * video/i386/pc/vbe.c: Likewise.
30730 * video/readers/tga.c: Likewise.
30731 * video/video.c: Likewise.
30732
0ad46fd7 307332009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
30734
30735 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30736 * commands/lspci.c: Likewise.
30737 * commands/probe.c: Likewise.
30738 * commands/xnu_uuid.c: Likewise.
30739 * conf/i386-coreboot.rmk: Likewise.
30740 * conf/i386-efi.rmk: Likewise.
30741 * conf/i386-ieee1275.rmk: Likewise.
30742 * conf/i386-pc.rmk: Likewise.
30743 * conf/powerpc-ieee1275.rmk: Likewise.
30744 * conf/sparc64-ieee1275.rmk: Likewise.
30745 * conf/x86_64-efi.rmk: Likewise.
30746 * fs/i386/pc/pxe.c: Likewise.
30747 * gettext/gettext.c: Likewise.
30748 * include/grub/efi/graphics_output.h: Likewise.
30749 * include/grub/i386/pc/memory.h: Likewise.
30750 * kern/env.c: Likewise.
30751 * kern/i386/qemu/startup.S: Likewise.
30752 * lib/i386/pc/biosnum.c: Likewise.
30753 * lib/i386/relocator.c: Likewise.
30754 * lib/i386/relocator_asm.S: Likewise.
30755 * lib/relocator.c: Likewise.
30756 * loader/i386/bsd.c: Likewise.
30757 * loader/i386/multiboot.c: Likewise.
30758 * loader/i386/pc/chainloader.c: Likewise.
30759 * loader/i386/xnu.c: Likewise.
30760 * loader/xnu.c: Likewise.
30761 * normal/main.c: Likewise.
30762 * normal/menu_text.c: Likewise.
30763 * util/getroot.c: Likewise.
30764 * util/grub-mkconfig_lib.in: Likewise.
30765 * util/grub.d/00_header.in: Likewise.
30766 * util/i386/pc/grub-mkimage.c: Likewise.
30767 * util/mkisofs/eltorito.c: Likewise.
30768 * util/mkisofs/exclude.h: Likewise.
30769 * util/mkisofs/hash.c: Likewise.
30770 * util/mkisofs/iso9660.h: Likewise.
30771 * util/mkisofs/joliet.c: Likewise.
30772 * util/mkisofs/mkisofs.c: Likewise.
30773 * util/mkisofs/mkisofs.h: Likewise.
30774 * util/mkisofs/multi.c: Likewise.
30775 * util/mkisofs/name.c: Likewise.
30776 * util/mkisofs/rock.c: Likewise.
30777 * util/mkisofs/tree.c: Likewise.
30778 * util/mkisofs/write.c: Likewise.
30779 * video/efi_gop.c: Likewise.
30780
009ec743
VS
307812009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30782
30783 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30784 size counting.
30785
0ad46fd7 307862009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
30787
30788 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30789 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30790
d3d30ea0
VS
307912009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30792
30793 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30794 (GRUB_MOD_INIT(memrw)): Update help line.
30795
a34f5c70
VS
307962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30797
30798 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30799 Use grub_extcmd_t. All users updated.
30800 (options): New variable.
30801 (grub_cmd_read): Restructure for readability. Support "-v" option.
30802 (grub_cmd_write): Restructure for readability.
30803
0ad46fd7 308042009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
30805
30806 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30807
0ad46fd7 308082009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
30809
30810 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30811 with the actual contents of the correspondending make variable.
30812 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30813 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30814 specifying `*.lst' and `efiemu??.o'
30815
0ad46fd7 308162009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
30817
30818 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30819 after function name.
30820 Noticed by Rene Engelhard <rene@debian.org>.
30821
dc77a799
VS
308222009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30823
30824 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30825 (options): New variable.
30826 (iospace): Likewise.
30827 (grub_lspci_iter): List IO spaces if "-i" was given.
30828 (grub_cmd_lspci): Parse options.
30829 (GRUB_MOD_INIT(lspci)): Use extcmd.
30830 (GRUB_MOD_FINI(lspci)): Likewise.
30831
0ad46fd7 308322009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
30833
30834 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30835 `function' keyword.
30836 Patch by Tony Mancill <tmancill@debian.org>.
30837
b5d5993b
VS
308382009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30839
30840 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
30841 (grub_uhci_portstatus): Likewise.
30842 (grub_uhci_portstatus): Add necessary delay.
11d18281 30843 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 30844
941903f2 308452009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 30846
941903f2 30847 * commands/acpi.c (options): Fix capitalizations and/or full stops.
30848 (GRUB_MOD_INIT): Likewise.
30849 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 30850 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
30851 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 30852 * commands/efi/loadbios.c (enable_rom_area): Likewise.
30853 (enable_rom_area): Likewise.
30854 (GRUB_MOD_INIT): Likewise.
30855 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30856 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
30857 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30858 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
30859 * commands/hexdump.c (options): Likewise.
30860 * commands/i386/cpuid.c (options): Likewise.
30861 (GRUB_MOD_INIT): Likewise.
30862 * commands/i386/pc/drivemap.c (options): Likewise.
30863 (GRUB_MOD_INIT): Likewise.
30864 * commands/i386/pc/halt (options): Likewise.
30865 (GRUB_MOD_INIT): Likewise.
30866 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30867 * commands/i386/pc/pxecmd.c (options): Likewise.
30868 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
30869 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
30870 * commands/keystatus.c (options): Likewise.
30871 (GRUB_MOD_INIT): Likewise.
30872 * commands/loadenv.c (options): Likewise.
30873 * commands/ls.c (options): Likewise.
30874 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30875 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30876 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30877 * commands/parttool.c (helpmsg): Likewise.
30878 * commands/probe.c (options): Likewise.
30879 * commands/read.c (GRUB_MOD_INIT): Likewise.
30880 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
30881 * commands/search.c (options): Likewise.
30882 * commands/sleep.c (options): Likewise.
30883 * commands/test.c (GRUB_MOD_INIT): Likewise.
30884 * commands/true.c (GRUB_MOD_INIT): Likewise.
30885 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
30886 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
30887 * lib/arg.c (help_options): Likewise.
e9bbb4e7 30888 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
30889 `$(XGETTEXT)'.
98a50553 30890 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 30891
0ad46fd7 308922009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 30893
ef3c2c3a 30894 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
30895 instead of specifying them explicit.
30896
7922f68b
RM
308972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30898
30899 * NEWS: Add grub-probe support for GNU/Hurd.
30900
537ce47f
RM
309012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30902
30903 * NEWS: gettext was added after 1.97.
30904
9b214e3a
RM
309052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30906
30907 * util/mkisofs/msdos_partition.h: New file (based on
30908 include/grub/msdos_partition.h).
30909 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
30910 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
30911 (ld_options, main): Recognize --protective-msdos-label.
30912 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
30913 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
30914 (padblock_write): If `use_protective_msdos_label' is set, patch a
30915 protective DOS-style label in the output image.
30916
30917 * util/grub-mkrescue.in: Use --protective-msdos-label.
30918
e9309813
RM
309192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30920
30921 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
30922 boot.
30923
0ae56929
RM
309242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30925
30926 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
30927 variables.
30928 (ld_options, main): Recognize `--embedded-boot'.
30929 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
30930 declarations.
30931 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
30932 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
30933 (padblock_write): Likewise. Rewrite to support embedded boot image.
30934
30935 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
30936 for BIOS-based disk boot instead of only ElTorito.
30937
b15937b1
RM
309382009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30939
30940 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
30941 build (not needed for bootstrap).
30942
52cc3ce0
RM
309432009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30944
30945 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
30946 from i386-pc build (not needed for bootstrap).
30947 Rewrite a pair of strings.
30948
36f5ff04
RM
309492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30950
30951 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
30952
973c6c85 309532009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
30954
30955 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
30956
05d21547
AB
309572009-12-21 Andreas Born <futur.andy@googlemail.com>
30958
30959 * kern/env.c (grub_env_context_open): Mark exported variable for
30960 reexport.
30961
0175d51f
AB
309622009-12-21 Andreas Born <futur.andy@googlemail.com>
30963
30964 * kern/env.c (grub_env_export): Create nonexistent variables before
30965 exporting.
30966
7f39d92f 309672009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 30968
7f39d92f 30969 * include/grub/auth.h: Include `<grub/i18n.h>'.
30970 (GRUB_GET_PASSWORD): Gettextizze string.
30971 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
30972 menu_text.c.
30973 (grub_utf8_to_ucs4_alloc): Fix indentation.
30974 (grub_print_ucs4): Likewise.
30975 (grub_getstringwidth): Likewise.
30976 (print_message_indented): New declaration.
30977 * normal/auth.c: Include `<grub/i18n.h>'.
30978 (grub_auth_check_authentication): Gettexttize string.
30979 * normal/cmdline.c: Include `<grub/i18n.h>'.
30980 (grub_cmdline_get): Gettextizze.
30981 * normal/color.c: Include `<grub/i18n.h>'.
30982 (grub_parse_color_name_pair): Gettexttize strings.
30983 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
30984 string (use `print_message_indented').
30985 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
30986 `include/grub/normal.h'.
30987 (print_message_indented): Renamed to ...
30988 (grub_print_message_indented): ... this. Remove `static' qualifer (now
30989 used in normal/main.c).
30990 (print_message): Use `grub_print_message_indented' instead of
30991 `print_message_indented'.
30992 (print_timeout): Likewise.
30993 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
30994 (grub_normal_print_device_info): Gettexttize strings.
30995 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
30996
3041d898
VS
309972009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30998
30999 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31000 of arguments. Return number of tokens and not arguments. All users
31001 updated.
31002
de15bf8e
VS
310032009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31004
31005 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31006 non-MSDOS paritions.
31007
e0a6ca52
VS
310082009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31009
31010 * include/grub/types.h (UNUSED): Removed since it conflicts with
31011 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31012 Reported by Grégoire Sutre.
31013
b99518d1 310142009-12-19 Carles Pina i Estany <carles@pina.cat>
31015
31016 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31017 (grub_print_ucs4_alloc): Likewise.
31018 (grub_getstringwidth): Likewise.
31019 * normal/main.c (grub_normal_init_page): Gettextize version string.
31020 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31021 (getstringwidth): Renamed to ...
31022 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31023 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31024 (grub_print_ucs4): Remove `static' qualifer (now used in
31025 normal/main.c).
31026 * po/POTFILES: Add normal/main.c.
31027
bfd5e52b 310282009-12-19 Carles Pina i Estany <carles@pina.cat>
31029
31030 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31031 (print_message_indented): Add `margin_left' and `margin_right'
31032 parameters.
31033 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31034 strings.
31035 (print_timeout): Use `print_message_indented' to print the message.
31036 Deletes `second_stage' parameter.
31037 (run_menu): Update `print_timeout' calls.
31038
5a1ad2b9
VS
310392009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31040
31041 Fix console palette on OpenFirmware.
31042
31043 * term/ieee1275/ofconsole.c (MAX): Removed.
31044 (colors): Redone based on VGA palette.
31045 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31046 colors are supported.
31047 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31048
b045f00a
VS
310492009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31050
31051 Fix potential EfiEmu double prepare.
31052
31053 * efiemu/main.c (prepared): New variable
31054 (grub_efiemu_unload): Set prepare to '0'.
31055 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31056
31057 set_virtual_address_map support.
31058
31059 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31060 prototype.
31061 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31062 prototype.
31063 (grub_efiemu_crc32): Likewise.
31064 (grub_efiemu_crc64): Likewise.
31065 (grub_efiemu_set_virtual_address_map): Likewise.
31066 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31067 New definition.
31068 (grub_autoefi_set_virtual_address_map): Likewise.
31069 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31070 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31071 Restructure flow to accomodate it.
31072 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31073 (grub_efiemu_crc): Recompute CRC32.
31074 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31075 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31076 * efiemu/symbols.c (relocated_handle): New variable.
31077 (grub_efiemu_free_syms): Free relocated_handle.
31078 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31079 (grub_efiemu_write_sym_markers): New function.
31080 (grub_efiemu_set_virtual_address_map): Likewise.
31081
31082 Newer XNU parameters.
31083
31084 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31085 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31086 (grub_xnu_fill_devicetree): New prototype.
31087 (grub_xnu_heap_real_start): New variable.
31088 * loader/xnu.c (get_name_ptr): New function.
31089 (grub_xnu_load_driver): Fill namelen and name.
31090
31091 64-bit xnu support.
31092
31093 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31094 and 'loader/macho64.c'.
31095 * conf/i386-pc.rmk: Likewise.
31096 * conf/x86_64-efi.rmk: Likewise.
31097 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31098 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31099 * include/grub/macho.h (grub_macho_segment64): New structure.
31100 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31101 (grub_macho_size32): ... to this.
31102 (grub_macho32_get_entry_point): Renamed from ...
31103 (grub_macho_get_entry_point32): ... to this.
31104 (grub_macho_contains_macho64): New prototype.
31105 (grub_macho_size64): Likewise.
31106 (grub_macho_get_entry_point64): Likewise.
31107 (grub_macho32_load): Renamed from ...
31108 (grub_macho_load32): ... to this.
31109 (grub_macho32_filesize): Renamed from ...
31110 (grub_macho_filesize32): ... to this.
31111 (grub_macho32_readfile): Renamed from ...
31112 (grub_macho_readfile32): ... to this.
31113 (grub_macho_filesize64): New prototype.
31114 (grub_macho_readfile64): Likewise.
31115 (grub_macho_parse32): Likewise.
31116 (grub_macho_parse64): Likewise.
31117 * loader/macho.c: Split into ...
31118 * loader/machoXX.c: ... and this. Replace 32 with XX.
31119 * loader/macho32.c: New file.
31120 * loader/macho64.c: Likewise.
31121 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31122 (grub_cmd_xnu_kernel): Make 32-bit only.
31123 (grub_cmd_xnu_kernel64): New function.
31124 (grub_xnu_load_driver): Support Mach-O 64.
31125 (grub_cmd_xnu_mkext): Likewise.
31126 * util/grub.d/30_os-prober.in (osx_entry): New function.
31127 Generate entries for 64-bit boot too.
31128
31129 Eliminate ad-hoc tree format in XNU and EfiEmu.
31130
31131 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31132 * efiemu/pnvram.c: Rewritten to use environment variables.
31133 All users updated.
31134
31135 Inline utf16_to_utf8.
31136
31137 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31138 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31139 All users updated.
31140 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31141
31142 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31143 * commands/usbtest.c (grub_usb_get_string): ... move here.
31144 (usb_print_str): Fix error handling.
31145 * include/grub/usb.h (grub_usb_get_string): Remove.
31146
31147 UTF-8 to UTF-16 transformation.
31148
31149 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31150 (charset_mod_SOURCES): New variable.
31151 (charset_mod_CFLAGS): Likewise.
31152 (charset_mod_LDFLAGS): Likewise.
31153 * include/grub/utf.h: New file.
31154 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31155
31156 Support for device properties.
31157
31158 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31159 (grub_xnu_devprop_device_header): Likewise.
31160 (grub_xnu_devprop_device_descriptor): Likewise.
31161 (grub_xnu_devprop_add_device): New prototype.
31162 (grub_xnu_devprop_remove_device): Likewise.
31163 (grub_xnu_devprop_remove_property): Likewise.
31164 (grub_xnu_devprop_add_property_utf8): Likewise.
31165 (grub_xnu_devprop_add_property_utf16): Likewise.
31166 (grub_cpu_xnu_init): Likewise.
31167 (grub_cpu_xnu_fini): Likewise.
31168 (grub_cpu_xnu_unload): Likewise.
31169 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31170 (property_descriptor): Likewise.
31171 (devices): New variable.
31172 (grub_xnu_devprop_remove_property): New function.
31173 (grub_xnu_devprop_add_device): Likewise.
31174 (grub_xnu_devprop_remove_device): Likewise.
31175 (grub_xnu_devprop_add_property): Likewise.
31176 (grub_xnu_devprop_add_property_utf8): Likewise.
31177 (grub_xnu_devprop_add_property_utf16): Likewise.
31178 (hextoval): Likewise.
31179 (grub_cpu_xnu_fill_devprop): Likewise.
31180 (grub_cmd_devprop_load): Likewise.
31181 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31182 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31183 (cmd_devprop_load): New variable.
31184 (grub_cpu_xnu_init): New function.
31185 (grub_cpu_xnu_fini): Likewise.
31186 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31187 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31188 (grub_cmd_xnu_devtree): Likewise.
31189 (hextoval): New function.
31190 (unescape): Likewise.
31191 (grub_xnu_fill_devicetree): Likewise.
31192
31193 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31194 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31195
0945f181
VS
311962009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31197
31198 Workaround for broken ATI VBE.
31199
31200 * video/i386/pc/vbe.c (last_set_mode): New variable.
31201 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31202 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31203 (grub_video_vbe_setup): Don't check for reserved flag.
31204
0ad46fd7 312052009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31206
31207 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31208 the `find' command.
31209
c179ebe4
VS
312102009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31211
31212 UUID support for HFS.
31213
31214 * fs/hfs.c (grub_hfs_uuid): New function.
31215 (grub_hfs_fs): New value .uuid.
31216 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31217
0ad46fd7 312182009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31219
31220 Fix a segfault with parsing unknown long options.
31221
31222 * util/grub-mkrelpath.c (options): Zero terminate it.
31223
c4a3e41a
CPE
312242009-12-13 Carles Pina i Estany <carles@pina.cat>
31225
31226 * include/grub/misc.h (grub_puts): New declaration.
31227 (grub_puts_): Likewise.
a22008a6 31228 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31229 (grub_puts_): Likewise.
31230
2e8a7602
RM
312312009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31232
31233 * util/grub-probe.c (probe): Improve error message.
31234
b50b77b9
RM
312352009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31236
31237 * loader/i386/multiboot_elfxx.c
31238 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31239 initialization.
31240
312412009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31242
31243 Relocator framework
31244
31245 * loader/i386/xnu_helper.S: Removed. All users updated.
31246 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31247 (relocator_mod_SOURCES): New variable.
31248 (relocator_mod_CFLAGS): Likewise.
31249 (relocator_mod_LDFLAGS): Likewise.
31250 (relocator_mod_ASFLAGS): Likewise.
31251 * conf/x86_64.rmk: Likewise.
31252 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31253 (grub_multiboot_payload_entry_offset): Likewise.
31254 (grub_multiboot_forward_relocator): Likewise.
31255 (grub_multiboot_forward_relocator_end): Likewise.
31256 (grub_multiboot_backward_relocator): Likewise.
31257 (grub_multiboot_backward_relocator_end): Likewise.
31258 (grub_multiboot_payload_eip): New variable.
31259 (grub_multiboot_payload_orig): Likewise.
31260 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31261 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31262 * include/grub/i386/memory.h
31263 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31264 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31265 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31266 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31267 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31268 * include/grub/i386/relocator.h: New file.
31269 * include/grub/x86_64/relocator.h: Likewise.
31270 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31271 (XNU_RELOCATOR): New macro.
31272 (grub_xnu_launcher_start): Remove.
31273 (grub_xnu_launcher_end): Likewise.
31274 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31275 (grub_xnu_heap_real_start): Remove.
31276 (grub_xnu_heap_start): Change to void *. All users updated.
31277 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31278 * lib/i386/relocator.c: New file.
31279 * lib/i386/relocator_asm.S: Likewise.
31280 * lib/i386/relocator_backward.S: Likewise.
31281 * lib/mips/relocator.c: Likewise.
31282 * lib/mips/relocator_asm.S: Likewise.
31283 * lib/relocator.c: Likewise.
31284 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31285 (entry): Removed.
31286 (playground): Likewise.
31287 (grub_multiboot_payload_orig): New variable.
31288 (grub_multiboot_payload_dest): Likewise.
31289 (grub_multiboot_payload_size): Likewise.
31290 (grub_multiboot_payload_eip): Likewise.
31291 (grub_multiboot_payload_esp): Likewise.
31292 (grub_multiboot_boot): Use grub_relocator32_boot.
31293 (grub_multiboot_unload): Free relocators.
31294 (grub_multiboot): Setup stack. Use relocators.
31295 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31296 (grub_multiboot_load_elfXX): Use relocators.
31297 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31298 (grub_multiboot_payload_size): Likewise.
31299 (grub_multiboot_payload_dest): Likewise.
31300 (grub_multiboot_payload_entry_offset): Likewise.
31301 (grub_multiboot_forward_relocator): Likewise.
31302 (grub_multiboot_backward_relocator): Likewise.
31303 (grub_multiboot_real_boot): Likewise.
31304 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31305 (grub_xnu_entry_point): Likewise.
31306 (grub_xnu_arg1): Likewise.
31307 (grub_xnu_stack): Likewise.
31308 (grub_xnu_launch): Removed.
31309 (grub_xnu_boot_resume): New function.
31310 (grub_xnu_boot): Use relocators.
31311 * loader/i386/xnu_helper.S: Removed.
31312 * loader/xnu.c (grub_xnu_heap_start): New variable.
31313 (grub_xnu_heap_size): Likewise.
31314 (grub_xnu_heap_malloc): Use relocators.
31315 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31316
29eb90c6
VS
313172009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31318
31319 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31320 anything.
31321
31027430
CPE
313222009-12-13 Carles Pina i Estany <carles@pina.cat>
31323
31324 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31325 GRUB_ERR_NONE before calling grub_env_set.
31326
dc0c71d9
RM
313272009-12-12 Robert Millan <rmh@aybabtu.com>
31328
31329 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31330 * genmk.rb (video): New variable.
31331 (CLEANFILES, VIDEOFILES): Add #{video}.
31332 (#{video}): New target rule.
31333 * genvideolist.sh: New file.
31334 * Makefile.in (pkglib_DATA): Add video.lst.
31335 (video.lst): New target rule.
31336 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31337 `video.lst'.
31338 * util/grub.d/30_os-prober.in: Replace `vbe' with
31339 ${GRUB_VIDEO_BACKEND}.
31340
2a4bfcf0
RM
313412009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31342
31343 * THANKS: Add David Miller.
31344
2a3aa4d5
RM
313452009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31346
31347 libpciaccess support.
31348
31349 * Makefile.in (LIBPCIACCESS): New variable.
31350 (enable_grub_emu_pci): Likewise.
31351 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31352 util/pci.c and commands/lspci.c.
31353 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31354 * configure.ac (grub-emu-pci): New option.
31355 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31356 (grub_pci_device_unmap_range): Likewise.
31357 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31358 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31359 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31360 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31361 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31362 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31363 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31364 * include/grub/pciutils.h: New file.
31365 * util/pci.c: Likewise.
31366
0ad46fd7 313672009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31368
31369 * util/misc.c: Don't include <errno.h> twice.
31370
0ad46fd7 313712009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31372
31373 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31374 name in an error message.
31375 (grub_biosdisk_rw): Likewise.
31376
2e59983c
VS
313772009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31378
31379 Eliminate NTFS 4Gib barrier.
31380
31381 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31382 (read_run_data): Likewise.
31383 (grub_ntfs_read_run_list): Likewise.
31384 (grub_ntfs_read_block): Likewise.
31385 (grub_ntfs_iterate_dir): Likewise.
31386 (read_mft): Likewise.
31387 (read_data): Likewise.
31388 Use COM_LOG_LEN.
31389 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31390 to avoid 64-bit division
31391 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31392 (grub_ntfs_rlst): Use grub_disk_addr_t.
31393
71ee178a
VS
313942009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31395
31396 Eliminate grub-fstest 4Gib barrier.
31397
31398 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31399 (read_file): Fix error reporting.
31400
2520d4b8
VS
314012009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31402
31403 Eliminate hexdump 4Gib barrier.
31404
31405 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31406 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31407
e1f27065
VS
314082009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31409
31410 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31411 Fixes amarsh bug.
31412
1a0f7f45
RM
314132009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31414
31415 Remove miscellaneous files in distclean target.
31416
31417 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31418
c631d9fb
CW
314192009-12-09 Colin Watson <cjwatson@ubuntu.com>
31420
31421 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31422 if they're already set. This resolves the conflict between my
31423 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31424 fixing the --grub-probe option again.
31425 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31426 change on 2009-10-06, so that we now once again source
31427 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31428
7c7b6106
RM
314292009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31430
31431 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31432 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31433 `util/devicemap.c'.
31434
e3069ec1
CPE
314352009-12-08 Carles Pina i Estany <carles@pina.cat>
31436
31437 * include/grub/misc.h (grub_printf_): New declaration.
31438 * kern/misc.c (grub_printf_): New definition.
31439 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31440 instead of `grub_printf' and `_'.
31441 * normal/menu_entry.c (store_completion): Likewise.
31442 (run): Likewise.
31443 (grub_menu_entry_run): Likewise.
31444 * normal/menu_text.c (grub_wait_after_message): Likewise.
31445 (notify_booting): Likewise.
31446 (notify_fallback): Likewise.
31447 (notify_execution_failure): Likewise.
31448
d6ceebf1
CW
314492009-12-07 Colin Watson <cjwatson@ubuntu.com>
31450
31451 * configure.ac: Check for vasprintf.
31452 * util/misc.c (asprintf): Move allocation from here ...
31453 (vasprintf): ... to here. New function.
31454 (xasprintf): New function.
31455 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31456 prototypes.
31457 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31458 * util/grub-mkfont.c (write_font): Likewise.
31459 * util/grub-probe.c (probe): Likewise.
31460 * util/hostdisk.c (make_device_name): Likewise.
31461
de6daa8b
DM
314622009-12-06 David S. Miller <davem@sunset.davemloft.net>
31463
31464 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31465 anything even prefixed with 'cdrom' as a cdrom.
31466
0ad46fd7 314672009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31468
31469 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31470 mount points.
31471
98d3dc02
CPE
314722009-12-05 Carles Pina i Estany <carles@pina.cat>
31473
31474 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31475 grub_gettext_msg_list.
31476 (grub_gettext_gettranslation_from_position): Return const char *
31477 and not char *.
a2c1332b 31478 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31479 returns from the list if existing there.
31480 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31481 (grub_gettext_delete_list): Delete the list.
31482 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31483 lang environment variable is changed.
31484 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31485
b283f108
VS
314862009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31487
31488 Rename kernel.mod to kernel.img.
31489
31490 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31491 (kernel_mod_EXPORTS): Rename to ...
31492 (kernel_img_EXPORTS): ... this.
31493 (kernel_mod_SOURCES): Rename to ...
31494 (kernel_img_SOURCES): ... this.
31495 (kernel_mod_HEADERS): Rename to ...
31496 (kernel_img_HEADERS): ... this. All users updated.
31497 (kernel_mod_CFLAGS): Rename to ...
31498 (kernel_img_CFLAGS): ... this.
31499 (kernel_mod_ASFLAGS): Rename to ...
31500 (kernel_img_ASFLAGS): ... this.
31501 (kernel_mod_LDFLAGS): Rename to ...
31502 (kernel_img_LDFLAGS): ... this.
31503 * conf/x86_64-efi.rmk: Likewise.
31504 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31505 (read_kernel_image): ... this. All users updated.
31506 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31507
69055f8a
CPE
315082009-12-05 Carles Pina i Estany <carles@pina.cat>
31509
31510 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31511 (print_spaces): New function.
31512 (grub_print_ucs4): New function.
31513 (getstringwidth): New function.
31514 (print_message_indented): New function.
31515 (print_message): Gettexttize strings using print_message_indented.
31516 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31517 width.
31518 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31519 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31520 Gettextize.
31521 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31522 string.
31523 (run): Likewise.
31524 (grub_menu_entry_run): Likewise.
31525 * PO/POTFILES: Add normal/menu_entry.c.
31526
f616f51c
VS
315272009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31528
31529 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31530
57bbe3be
CPE
315312009-12-05 Carles Pina i Estany <carles@pina.cat>
31532
31533 * util/grub-install.in: Install gettext .mo files.
31534 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31535
013d67a1
CPE
315362009-12-05 Carles Pina i Estany <carles@pina.cat>
31537
31538 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31539 grub_dprintf.
31540
fb954db0
RM
315412009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31542
31543 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31544 non-firmware-dependant one in realmode.S takes precedence.
31545
6b8474f8
RM
315462009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31547
31548 * commands/halt.c: Replace misc arch-specific headers with
31549 `<grub/misc.h>'.
31550 * commands/reboot.c: Likewise.
31551 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31552 `<grub/misc.h>'.
31553 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31554 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31555 (kernel_img_SOURCES): ... to here.
31556
31557 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31558 * include/grub/i386/pc/init.h: Likewise.
31559 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31560 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31561
31562 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31563
31564 * include/grub/i386/halt.h: Remove.
31565 * include/grub/i386/reboot.h: Likewise.
31566
31567 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31568
4b2e6ca2
DM
315692009-12-03 David S. Miller <davem@sunset.davemloft.net>
31570
31571 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31572 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31573 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31574 "progname.h"
31575 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31576 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31577 (usage): Add missing comma in printf.
31578
5239348f
RM
315792009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31580
31581 Use the same reboot approach on i386 coreboot and qemu as we do on
31582 BIOS.
31583
31584 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31585 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31586 * kern/i386/reboot.c: Remove.
31587 * include/grub/i386/reboot.h (grub_reboot): Export function.
31588 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31589 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31590 0xf000:0xfff0 instead of 0xffff:0x0000.
31591 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31592 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31593
ef34cbd4
RM
315942009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31595
31596 Fix $srcdir != $objdir build.
31597
31598 * Makefile.in (po/%.po): Rewrite as ...
31599 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31600
dc9837ea
ST
316012009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31602
31603 Fix GNU/Hurd grub-install crash.
31604 * util/grub-probe.c (probe): Try to access `path' only when it is not
31605 NULL.
31606
2f857f98
VS
316072009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31608
31609 Correct module naming.
31610
31611 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31612 (GRUB_MOD_INIT(efi_uga)): ... to this
31613 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31614 (GRUB_MOD_FINI(efi_uga)): ... to this
31615 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31616 (GRUB_MOD_INIT(efi_gop)): ... to this
31617 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31618 (GRUB_MOD_FINI(efi_gop)): ... to this
31619
c5448046
RM
316202009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31621
31622 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31623 translatable.
31624 (usage): Translate `arg' strings using gettext().
31625 Thanks to Jordi Mallach for the suggestion.
31626
c85184ad
VS
316272009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31628
31629 GOP support. Based on patch from Bean
31630 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31631
31632 * video/efi_gop.c: New file.
31633 * include/grub/efi/graphics_output.h: Likewise.
31634 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31635 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31636 variables.
31637 * conf/x86_64-efi.rmk: Likewise.
31638
8a4c48d8
VS
316392009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31640
31641 Rename efi_fb to efi_uga.
31642
31643 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31644 'efi_uga.mod'.
31645 (efi_fb_mod_SOURCES): Rename this ...
31646 (efi_uga_mod_SOURCES): ... to this.
31647 (efi_fb_mod_CFLAGS): Rename this ...
31648 (efi_uga_mod_CFLAGS): ... to this.
31649 (efi_fb_mod_LDFLAGS): Rename this ...
31650 (efi_uga_mod_LDFLAGS): ... to this.
31651 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31652 'efi_uga.mod'.
31653 (efi_fb_mod_SOURCES): Rename this ...
31654 (efi_uga_mod_SOURCES): ... to this.
31655 (efi_fb_mod_CFLAGS): Rename this ...
31656 (efi_uga_mod_CFLAGS): ... to this.
31657 (efi_fb_mod_LDFLAGS): Rename this ...
31658 (efi_uga_mod_LDFLAGS): ... to this.
31659 * video/efi_fb.c: Move this ...
31660 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31661
fb6c1a7b
RM
316622009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31663
31664 * po/README: New file. Explain our PO file workflow.
31665
3bc7896c
RM
316662009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31667
31668 * po/ChangeLog: Remove. Move relevant entries back to ...
31669 * ChangeLog: ... here.
31670 * po/ca.po: Remove (now handled by TLP).
31671 * po/id.po: Likewise.
31672 * po/zh_CN.po: Likewise.
31673 * Makefile.in (LINGUAS): Initialize in a way that supports
31674 empty set.
31675
9ed4841d
RM
316762009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31677
31678 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31679 reliing on po/LINGUAS.
31680 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31681 (po/%.po): ... this.
31682
0ad46fd7 316832009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31684
31685 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31686 (main): Use `program_name' instead of nonexistent `progname'.
31687
e30dd392
FZ
316882009-11-26 Felix Zielcke <fzielcke@z-51.de>
31689
31690 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31691 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31692
7656de4f
RM
316932009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31694
31695 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31696 commit.
31697 * conf/i386-efi.rmk: Likewise.
31698 * conf/i386-ieee1275.rmk: Likewise.
31699 * conf/powerpc-ieee1275.rmk: Likewise.
31700 * conf/sparc64-ieee1275.rmk: Likewise.
31701 * conf/x86_64-efi.rmk: Likewise.
31702
db77c4d4
FZ
317032009-11-26 Felix Zielcke <fzielcke@z-51.de>
31704
31705 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31706
a755bb04
FZ
317072009-11-26 Felix Zielcke <fzielcke@z-51.de>
31708
31709 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31710
8a4c07fd
RM
317112009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31712
31713 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31714 (grub_mkdevicemap_SOURCES): New variable.
31715 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31716 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31717 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31718 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31719 (grub_mkdevicemap_SOURCES): Remove.
31720 * conf/i386-efi.rmk: Likewise.
31721 * conf/i386-ieee1275.rmk: Likewise.
31722 * conf/i386-pc.rmk: Likewise.
31723 * conf/powerpc-ieee1275.rmk: Likewise.
31724 * conf/sparc64-ieee1275.rmk: Likewise.
31725 * conf/x86_64-efi.rmk: Likewise.
31726 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31727 (usage): Fix strings to use `program_name'.
31728 (main): Initialize gettext.
31729 * util/grub-editenv.c: Likewise.
31730 * util/grub-emu.c: Likewise.
31731 * util/grub-fstest.c: Likewise.
31732 * util/grub-mkdevicemap.c: Likewise.
31733 * util/grub-mkfont.c: Likewise.
31734 * util/grub-mkrelpath.c: Likewise.
31735 * util/grub-pe2elf.c: Likewise.
31736 * util/grub-probe.c: Likewise.
31737 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31738 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31739 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31740
31741 * util/misc.c: Include `"progname.h"'.
31742 (progname): Remove variable.
31743 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31744
6f61ed55
FZ
317452009-11-25 Felix Zielcke <fzielcke@z-51.de>
31746
31747 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31748 printf and print a newline after the menuentry header line.
31749 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31750
f022876b
FZ
317512009-11-25 Felix Zielcke <fzielcke@z-51.de>
31752
31753 autoconf >= 2.60 support $(localedir).
31754
31755 * INSTALL: Note that autoconf 2.60 is required.
31756 * configure.ac (AC_PREREQ): Bump to 2.60.
31757 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31758 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31759
6717926e
YB
317602009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31761
31762 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31763 aclocal is run.
31764
08806a54
RM
317652009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31766
31767 * normal/main.c (grub_normal_read_line): Fix off-by-one
31768 buffer overflow.
31769
13b33fba
RM
317702009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31771
31772 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31773 "parser.grub" in grub_command_execute() call.
31774
4a8572e9
CPE
317752009-11-24 Carles Pina i Estany <carles@pina.cat>
31776
31777 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31778 * conf/i386-efi.rmk: Likewise.
31779 * conf/i386-ieee1275.rmk: Likewise.
31780 * conf/i386-pc.rmk: Likewise.
31781 * conf/powerpc-ieee1275.rmk: Likewise.
31782 * conf/sparc64-ieee1275.rmk: Likewise.
31783 * conf/x86_64-efi.rmk: Likewise.
31784 * gettext/gettex.c: Include <grub/i18n.h>.
31785 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31786 here ...
31787 * include/grub/i18n.h: ... to here
31788 * include/grub/i18n.h: ... to here.
31789 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 31790 (grub_gettext_dummy): Move above user.
4a8572e9 31791
bee48093
FZ
317922009-11-24 Felix Zielcke <fzielcke@z-51.de>
31793
31794 * util/Makefile.in (install-local): Convert a `for' into a normal
31795 shell expansion.
31796
a031e91c
RM
317972009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31798
31799 * autogen.sh: Add automake call.
31800 * config.guess: Remove.
31801 * config.sub: Likewise.
31802 * install-sh: Likewise.
31803
26bec39d
FZ
318042009-11-24 Felix Zielcke <fzielcke@z-51.de>
31805
31806 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31807
8e2532fd
FZ
318082009-11-24 Felix Zielcke <fzielcke@z-51.de>
31809
31810 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31811 function to a normal shell `for'.
31812
fefa1b7d
FZ
318132009-11-24 Felix Zielcke <fzielcke@z-51.de>
31814
31815 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31816
4501250b
FZ
318172009-11-24 Felix Zielcke <fzielcke@z-51.de>
31818
31819 * util/grub-mkrelpath.c: New file.
31820 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31821 (grub_mkrelpath_SOURCES): New variable.
31822 * include/grub/util/misc.h: New function prototype.
31823 * util/misc.c (make_system_path_relative_to_its_root): New function.
31824
31825 * util/grub-mkconfig_lib.in (bindir): New variable.
31826 (grub_mkrelpath): Likewise.
31827 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31828
31829 * util/probe.c (probe): Make the file path relative to its root.
31830 Change a info message to use the GRUB path. Enable again the
31831 check if we can read the file with GRUB facilities.
31832
31833 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31834 to its root.
31835
11d9778b
FZ
318362009-11-24 Felix Zielcke <fzielcke@z-51.de>
31837
31838 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
31839 platform.
31840
4465287d
FZ
318412009-11-24 Felix Zielcke <fzielcke@z-51.de>
31842
31843 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
31844 strncmp().
31845
62b47f22
FZ
318462009-11-24 Felix Zielcke <fzielcke@z-51.de>
31847
31848 * util/getroot.c (grub_util_is_dmraid): New function.
31849 (grub_util_get_dev_abstraction): Treat dmraid and multipath
31850 devices as normal ones, not as LVM.
31851
1eafb9b9 318522009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
31853
31854 * conf/common.rmk: Add grub-gettext_lib target and updates
31855 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
31856 LDFLAGS.
31857 * gettext/gettext.c: New file. (Reads mo files).
31858 * include/grub/file.h (grub_file_pread): New prototype.
31859 * include/grub/i18n.h (_): New prototype.
31860 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
31861 prototypes.
31862 * kern/misc.c (grub_gettext_dummy): New function.
31863 * normal/menu_text.c: Include <grub/i18n.h>.
31864 * normal/menu_text.c (print_timeout): Gettexttize string.
31865 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
31866 * po/POTFILES: Add `normal/menu_text.c'.
31867 * po/ca.po: Add new translations.
c3ea6bd4
CPE
31868 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
31869 gettext module and defines locale_dir and lang in grub.cfg.
31870 * NEWS: Add gettext support.
31871
0fdb2568
RM
318722009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31873
31874 * util/hostdisk.c: Include `<grub/i18n.h>'.
31875 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
31876 (make_device_name): Rewrite using asprintf.
31877 (convert_system_partition_to_system_disk): Replace 0 with NULL.
31878 (find_system_device): If a device is not found, generate one just
31879 by reusing the OS path name.
31880 (read_device_map): Make it permissible for device.map not to exist.
31881
f515aa62
RM
318822009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31883
31884 * script/sh/execute.c: Move from here ...
31885 * script/execute.c: ... to here. Update all users.
31886 * script/sh/function.c: Move from here ...
31887 * script/function.c: ... to here. Update all users.
31888 * script/sh/lexer.c: Move from here ...
31889 * script/lexer.c: ... to here. Update all users.
31890 * script/sh/main.c: Move from here ...
31891 * script/main.c: ... to here. Update all users.
31892 * script/sh/parser.y: Move from here ...
31893 * script/parser.y: ... to here. Update all users.
31894 * script/sh/script.c: Move from here ...
31895 * script/script.c: ... to here. Update all users.
31896
f84b481b
RM
318972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31898
31899 * configure.ac: Detect all `emu' platforms. Define
31900 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
31901 --enable-grub-emu logic. Disable include/grub/machine
31902 symlink on `emu' platforms.
31903
31904 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
31905 * gensymlist.sh.in: Likewise.
31906
31907 * include/grub/i386/coreboot/machine.h: Remove file.
31908 * include/grub/i386/efi/machine.h: Likewise.
31909 * include/grub/i386/ieee1275/machine.h: Likewise.
31910 * include/grub/i386/pc/machine.h: Likewise.
31911 * include/grub/i386/qemu/machine.h: Likewise.
31912 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31913 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31914 * include/grub/x86_64/efi/machine.h: Likewise.
31915
31916 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
31917 * commands/halt.c: Likewise.
31918 * commands/reboot.c: Likewise.
31919 * include/grub/autoefi.h: Likewise.
31920 * include/grub/i386/at_keyboard.h: Likewise.
31921 * include/grub/i386/kernel.h: Likewise.
31922 * include/grub/i386/loader.h: Likewise.
31923 * include/grub/i386/pc/memory.h: Likewise.
31924 * kern/dl.c: Likewise.
31925 * kern/i386/coreboot/init.c: Likewise.
31926 * loader/i386/bsd.c: Likewise.
31927 * loader/i386/linux.c: Likewise.
31928 * loader/multiboot_loader.c: Likewise.
31929 * term/i386/pc/serial.c: Likewise.
31930 * term/usb_keyboard.c: Likewise.
31931
31932 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
31933 `<grub/machine/machine.h>'
31934 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
31935 * util/misc.c: Remove `<grub/machine/machine.h>' and
31936 `<grub/machine/time.h>'.
31937
31938 * Makefile.in (enable_grub_emu): Remove variable.
31939 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
31940
31941 * conf/any-emu.rmk: New file.
31942 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
31943 (grub_emu_init.c): Move from here ...
31944 * conf/any-emu.rmk: ... to here.
31945
31946 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
31947 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
31948 * conf/any-emu.rmk: ... to here.
31949
4efeab03
RM
319502009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31951
31952 * include/grub/parser.h (grub_parser_register): Document need
31953 of `name' parameter.
31954 * normal/main.c (grub_normal_read_line): Simplify prompt string.
31955 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
31956 "sh" to "grub".
31957
ea1dd8bf
RM
319582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31959
31960 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
31961 `$(XGETTEXT)'.
31962 * include/grub/i18n.h (N_): New macro.
31963 * util/mkisofs/mkisofs.h: Likewise.
31964 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
31965 around N_().
31966 (usage): Use gettext() to translate help strings when printing them.
31967
0c140626
RM
319682009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31969
31970 Based on patch from Bean
31971 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31972
31973 * video/efi_fb.c: New file.
31974 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
31975 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31976 variables.
31977 * conf/x86_64-efi.rmk: Likewise.
31978
87d58298
RM
319792009-11-22 Robert Millan <rmh.grub@aybabtu.com>
31980
31981 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
31982 * util/i386/pc/grub-setup.c: Likewise.
31983
994cc3a3
ST
319842009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
31985
31986 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
31987 <hurd/fs.h>
31988 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
31989 file_get_storage_info to implement grub_guess_root_device.
31990
26a61d6a
FZ
319912009-11-21 Felix Zielcke <fzielcke@z-51.de>
31992
31993 * Makefile.in (target): Use make's builtin $(shell) function
31994 instead of calling directly $(SHELL) to create the locale directories,
31995 inside the $(foreach) function.
31996
74ff1dd5
FZ
319972009-11-21 Felix Zielcke <fzielcke@z-51.de>
31998
31999 * util/grub-mkrescue.in: Print an error and usage if output option
32000 has not been given.
32001
0b787d0e
FZ
320022009-11-21 Felix Zielcke <fzielcke@z-51.de>
32003
32004 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32005 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32006 root and /boot are on different devices.
32007
1164b270
RM
320082009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32009
32010 Fix build for srcdir != objdir.
32011
32012 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32013 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32014 $(srcdir).
32015 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32016 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32017 reference for input.
32018
13774a2f
RM
320192009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32020
32021 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32022 or hardlinking it). Remove -J option, Joliet is not compatible with
32023 multiple source directories.
32024
efda854e
RM
320252009-11-21 Carles Pina i Estany <carles@pina.cat>
320262009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32027
32028 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32029 (process_input_dir): New function. Process an arbitrary input
32030 directory.
32031 Misc adjustments to support both "override mode" and system-wide mode.
32032
6c09890c
FZ
320332009-11-20 Felix Zielcke <fzielcke@z-51.de>
32034
32035 * configure.ac (UNIFONT_BDF): Rename to ...
32036 (FONT_SOURCE): ... this. Update all users.
32037
a797824f
FZ
320382009-11-20 Felix Zielcke <fzielcke@z-51.de>
32039
32040 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32041 to the list of unifont files to look for.
32042
cd4f42b0
RM
320432009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32044
32045 Patch from Joe Auricchio <jauricchio@gmail.com>
32046 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32047 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32048 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32049
393c783d
FZ
320502009-11-19 Felix Zielcke <fzielcke@z-51.de>
32051
32052 * Makefile.in (install-local): Add a missing backslash.
32053
b2f1e327
FZ
320542009-11-19 Felix Zielcke <fzielcke@z-51.de>
32055
32056 * include/grub/x86_64/io.h: New file.
32057
f577f7a0
RM
320582009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32059
32060 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32061 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32062 Include `"progname.h"'.
32063 (main): Initialize gettext.
32064 * util/i386/pc/grub-setup.c: Gettexttize.
32065 * util/i386/pc/grub-mkimage.c: Likewise.
32066
32067 * Makefile.in (po/*.po): Redefine as ...
32068 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32069
3bc7896c
RM
32070 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32071
c37943b6
RM
320722009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32073
32074 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32075 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32076 (program_name): Remove.
32077 (main): Initialize gettext support.
6323f705
RM
32078 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32079 Include `<libintl.h>'.
32080 (_): New macro.
c37943b6
RM
32081
32082 * util/mkisofs/eltorito.c: Gettexttize.
32083 * util/mkisofs/joliet.c: Likewise.
32084 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32085 * util/mkisofs/multi.c: Likewise.
32086 * util/mkisofs/rock.c: Likewise.
32087 * util/mkisofs/tree.c: Likewise.
32088 * util/mkisofs/write.c: Likewise.
32089
3bc7896c
RM
32090 * po/POTFILES: Update with new files.
32091
5ce77c6e
RM
320922009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32093
32094 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32095 * util/mkisofs/iso9660.h: Likewise.
32096 * util/mkisofs/joliet.c: Likewise.
32097 * util/mkisofs/mkisofs.c: Likewise.
32098 * util/mkisofs/mkisofs.h: Likewise.
32099 * util/mkisofs/rock.c: Likewise.
32100 * util/mkisofs/tree.c: Likewise.
32101 * util/mkisofs/write.c: Likewise.
32102
32103 * util/mkisofs/eltorito.c (rcsid): Remove.
32104 * util/mkisofs/hash.c: Likewise.
32105 * util/mkisofs/joliet.c: Likewise.
32106 * util/mkisofs/name.c: Likewise.
32107 * util/mkisofs/rock.c: Likewise.
32108 * util/mkisofs/tree.c: Likewise.
32109 * util/mkisofs/write.c: Likewise.
32110
1dabbc77
RM
321112009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32112
32113 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32114 instead of static allocation.
32115 * util/mkisofs/match.h: Likewise.
32116
633877cb
RM
321172009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32118
3bc7896c
RM
32119 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32120 and `util/grub.d/10_linux.in'.
633877cb
RM
32121 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32122 translatable Shell files.
32123
af1c0c85
RM
321242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32125
32126 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32127
769ae37b
RM
321282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32129
32130 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32131 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32132 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32133 Add gettext initialization.
32134 (kfreebsd_entry): Make menuentry output translatable.
32135
321362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32137
32138 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32139 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32140 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32141 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32142 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32143 * po/LINGUAS: New file.
769ae37b
RM
32144
321452009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32146
32147 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32148 other things).
32149 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32150 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32151 bindtextdomain() calls for gettext initialization.
32152
321532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32154
32155 * gnulib/progname.c: New file (imported from Gnulib).
32156 * gnulib/progname.h: Likewise.
32157 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32158 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32159 (usage): Replace `progname' with `program_name'.
32160 (main): Use set_program_name() for program name initialization.
32161
321622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32163
32164 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32165 from here ...
32166 * Makefile.in (CPPFLAGS): ... to here.
32167
321682009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32169
32170 * aclocal.m4: Move from here ...
32171 * acinclude.m4: ... to here.
32172 * autogen.sh: Add call to `aclocal'.
32173 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32174
321752009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32176
32177 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32178 (LINGUAS): New variable.
32179 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32180 (install-local): Install MO files.
32181 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32182 * include/grub/i18n.h: New file.
3bc7896c
RM
32183 * po/POTFILES: New file.
32184 * po/ca.po: New file.
769ae37b
RM
32185 * util/grub.d/10_linux.in (bindir): New variable.
32186 Add gettext initialization.
32187 (linux_entry): Make menuentry output translatable.
32188 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32189 (usage): Make --help output translatable.
32190 (main): Initialize gettext.
32191
02c0a6ad
RM
321922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32193
32194 * import_gcry.py: New file (written by Vladimir with minor
32195 adjustments).
32196 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32197 ciphers.
32198 * INSTALL: Document that Python is required for bootstrap.
32199
322002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32201
32202 Import ciphers from libgcrypt 1.4.4.
32203
32204 * lib/libgcrypt/cipher/ChangeLog
32205 * lib/libgcrypt/cipher/ac.c
32206 * lib/libgcrypt/cipher/arcfour.c
32207 * lib/libgcrypt/cipher/bithelp.h
32208 * lib/libgcrypt/cipher/blowfish.c
32209 * lib/libgcrypt/cipher/camellia-glue.c
32210 * lib/libgcrypt/cipher/camellia.c
32211 * lib/libgcrypt/cipher/camellia.h
32212 * lib/libgcrypt/cipher/cast5.c
32213 * lib/libgcrypt/cipher/cipher.c
32214 * lib/libgcrypt/cipher/crc.c
32215 * lib/libgcrypt/cipher/des.c
32216 * lib/libgcrypt/cipher/dsa.c
32217 * lib/libgcrypt/cipher/ecc.c
32218 * lib/libgcrypt/cipher/elgamal.c
32219 * lib/libgcrypt/cipher/hash-common.c
32220 * lib/libgcrypt/cipher/hash-common.h
32221 * lib/libgcrypt/cipher/hmac-tests.c
32222 * lib/libgcrypt/cipher/md.c
32223 * lib/libgcrypt/cipher/md4.c
32224 * lib/libgcrypt/cipher/md5.c
32225 * lib/libgcrypt/cipher/primegen.c
32226 * lib/libgcrypt/cipher/pubkey.c
32227 * lib/libgcrypt/cipher/rfc2268.c
32228 * lib/libgcrypt/cipher/rijndael-tables.h
32229 * lib/libgcrypt/cipher/rijndael.c
32230 * lib/libgcrypt/cipher/rmd.h
32231 * lib/libgcrypt/cipher/rmd160.c
32232 * lib/libgcrypt/cipher/rsa.c
32233 * lib/libgcrypt/cipher/seed.c
32234 * lib/libgcrypt/cipher/serpent.c
32235 * lib/libgcrypt/cipher/sha1.c
32236 * lib/libgcrypt/cipher/sha256.c
32237 * lib/libgcrypt/cipher/sha512.c
32238 * lib/libgcrypt/cipher/tiger.c
32239 * lib/libgcrypt/cipher/twofish.c
32240 * lib/libgcrypt/cipher/whirlpool.c
32241
af2f93ac
RM
322422009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32243
32244 Fix build for systems without error().
32245
32246 * gnulib/error.c: New file (imported from Gnulib).
32247 * gnulib/error.h: Likewise.
32248 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32249 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32250 (this variable is now used by error()).
32251
73fb3dd5
FZ
322522009-11-16 Felix Zielcke <fzielcke@z-51.de>
32253
814f5e96
FZ
32254 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32255 instead of relying that char is signed.
73fb3dd5 32256
a691ca33
VS
322572009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32258
32259 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32260 blocksize different from specified.
32261 (grub_pxefs_read): Likewise.
32262
2af8f0f4
FZ
322632009-11-16 Felix Zielcke <fzielcke@z-51.de>
32264
32265 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32266
32267 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32268 (grub_ata_readwrite): Likewise. Update 2 format strings.
32269 (grub_atapi_read): Likewise.
32270
32271 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32272 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32273 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32274 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32275 (ata_mod_LDFLAGS): Move from here ...
32276 * conf/i386.rmk: ... to here ...
32277 * conf/x86_64-efi.rmk: ... and here.
32278 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32279 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32280
83bdecaf
RM
322812009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32282
32283 Relicense multiboot.h, with RMS' blessing.
32284
32285 * include/multiboot.h: Change to X11 license.
32286
fd6fd3d7
RM
322872009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32288
32289 Support --version in grub-mkisofs.
32290
32291 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32292 (OPTION_VERSION): New macro.
32293 (ld_options): Recognize --version.
32294 (usage): Move `program_name' from here ...
32295 (program_name): ... to here. Add `static' qualifier.
32296 (main): Recognize `OPTION_VERSION'.
32297
16a88c49
FZ
322982009-11-15 Felix Zielcke <fzielcke@z-51.de>
32299
32300 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32301 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32302
a4158476
RM
323032009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32304
32305 Fix help2man generation for mkisofs.
32306
32307 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32308 (usage): Send output to stdout (rather than stderr).
32309
fc2208b0
RM
323102009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32311
32312 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32313 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32314 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32315 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32316 (bin_SCRIPTS): Add `grub-mkfloppy'.
32317 (grub_mkfloppy_SOURCES): New variable.
32318
32319 * util/grub-mkrescue.in: New file.
32320 * util/i386/pc/grub-mkfloppy.in: New file.
32321
32322 * util/i386/coreboot/grub-mkrescue.in: Remove.
32323 * util/i386/pc/grub-mkrescue.in: Remove.
32324
8d0edf4a
RM
323252009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32326
32327 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32328 from here ...
32329 * include/multiboot.h (struct multiboot_header): ... to here. Update
32330 all users.
32331 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32332 from here ...
32333 * include/multiboot.h (struct multiboot_info): ... to here. Update
32334 all users.
32335 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32336 from here ...
32337 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32338 Update all users.
32339 * include/grub/multiboot.h (struct grub_mod_list): Move
32340 from here ...
32341 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32342 Update all users.
32343
a73f5969
RM
323442009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32345
32346 * include/multiboot2.h (multiboot_word): Rename from this ...
32347 (multiboot2_word): ... to this. Update all users.
32348 (multiboot_header): Rename from this ...
32349 (multiboot2_header): ... to this. Update all users.
32350 (multiboot_tag_header): Rename from this ...
32351 (multiboot2_tag_header): ... to this. Update all users.
32352 (multiboot_tag_start): Rename from this ...
32353 (multiboot2_tag_start): ... to this. Update all users.
32354 (multiboot_tag_name): Rename from this ...
32355 (multiboot2_tag_name): ... to this. Update all users.
32356 (multiboot_tag_module): Rename from this ...
32357 (multiboot2_tag_module): ... to this. Update all users.
32358 (multiboot_tag_memory): Rename from this ...
32359 (multiboot2_tag_memory): ... to this. Update all users.
32360 (multiboot_tag_unused): Rename from this ...
32361 (multiboot2_tag_unused): ... to this. Update all users.
32362 (multiboot_tag_end): Rename from this ...
32363 (multiboot2_tag_end): ... to this. Update all users.
32364
1c8927f0
RM
323652009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32366
32367 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32368 this platform we should support Multiboot1 first.
32369
32370 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32371 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32372 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32373
6e1e0d89
RM
323742009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32375
32376 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32377 of write calls (converting them to fwrite() if they aren't already).
32378 (get_torito_desc): Likewise.
32379 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32380
7f2b34d8
RM
323812009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32382
32383 * util/i386/pc/grub-install.in: Move from here ...
32384 * util/grub-install.in: ... to here. Update all users.
32385
c0ef3311
CW
323862009-11-11 Colin Watson <cjwatson@ubuntu.com>
32387
32388 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32389
e1f240ff
RM
323902009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32391
32392 Support for El Torito without floppy emulation.
32393
32394 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32395 (init_boot_catalog): Improve error handling.
32396 (get_torito_desc): Don't use floppy emulation unless requested by
32397 user. Patch boot information table when requested via
32398 `-boot-info-table'.
32399 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32400 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32401 (use_boot_info_table): New variables.
32402 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32403 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32404 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32405 `--eltorito-emul-floppy'.
32406 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32407 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32408 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32409 (use_boot_info_table, get_731): New prototypes.
32410 * util/mkisofs/write.c (get_731): New function.
32411
af7d4de5
FZ
324122009-11-11 Felix Zielcke <fzielcke@z-51.de>
32413
32414 Fix the generation of the man page.
32415
32416 * util/pc/i386/grub-install.in: Source
32417 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32418
2c55dbc0
RM
324192009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32420
32421 Large file support for grub-mkisofs.
32422
32423 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32424 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32425 (session_start): Upgrade type to `uint64_t'. Update all users.
32426 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32427 (struct directory_entry): Upgrade type of `starting_block' and
32428 `size' to `uint64_t'. Update all users.
32429 (struct deferred): Remove unused structure.
32430 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32431 Update all users.
32432 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32433 file is larger than `UINT32_MAX'.
32434 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32435 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32436 return value.
32437 (struct deferred_write): Upgrade type of `extent' and `size' to
32438 `uint64_t'. Update all users.
32439 (last_extent_written): Upgrade type to `uint64_t'. Update all
32440 users.
32441 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32442 Update all users. Upgrade type of `remain' to `int64_t' and
32443 `use' to `size_t'. Use error() to handle fread() errors.
32444 (write_files): Rely on write_one_file() rather than calling
32445 xfwrite() directly.
32446
6a9cead5
FZ
324472009-11-09 Felix Zielcke <fzielcke@z-51.de>
32448
32449 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32450
4825d790
RM
324512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32452
32453 * util/mkisofs/fnmatch.c: Remove.
32454 * util/mkisofs/getopt1.c: Likewise.
32455 * util/mkisofs/getopt.c: Likewise.
32456 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32457 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32458 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32459 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32460 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32461
32462 * configure.ac: Detect `mingw32msvc' host_os.
32463 Check for lstat(), getuid() and getgid().
32464
32465 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32466 instances of `u_char' with `uint8_t'.
32467
32468 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32469 [!HAVE_GETUID] (getuid): New function (stub).
32470 [!HAVE_GETGID] (getgid): Likewise.
32471 [!HAVE_LSTAT] (lstat): Likewise.
32472 [!S_IROTH] (S_IROTH): New macro (dummy).
32473 [!S_IRGRP] (S_IRGRP): Likewise.
32474
84b860d8
RM
324752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32476
32477 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32478 conditional expression).
32479
66e9b712
RM
324802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32481
32482 Import from Gnulib.
32483
32484 * gnulib/fnmatch.c: New file.
32485 * gnulib/fnmatch.h: Likewise.
32486 * gnulib/fnmatch_loop.c: Likewise.
32487 * gnulib/getopt.c: Likewise.
32488 * gnulib/getopt.h: Likewise.
32489 * gnulib/getopt1.c: Likewise.
32490 * gnulib/getopt_int.h: Likewise.
32491 * gnulib/gettext.h: Likewise.
32492
34f4a5b0
RM
324932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32494
32495 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32496 * normal/handler.c (read_handler_list): Likewise.
32497
ac451143
RM
324982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32499
32500 Misc cleanup.
32501
32502 * kern/command.c (grub_register_command_prio): Use
32503 grub_zalloc() instead of explicitly zeroing data.
32504 * kern/list.c: Include `<grub/mm.h>'.
32505 (grub_named_list_find): Replace `0' with `NULL'.
32506 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32507 (fs_module_list): Change type to `grub_named_list_t'. Update all
32508 users.
32509 * normal/dyncmd.c (read_command_list): Add space between function
32510 call and parenthesis.
32511 * normal/handler.c (read_handler_list): Likewise.
32512
4089b167
RM
325132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32514
32515 * normal/auth.c (punishment_delay): Moved from here ...
32516 (grub_auth_strcmp): ... to here (inside function).
32517
325f5037
RM
325182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32519
32520 * include/grub/list.h (struct grub_named_list): Remove `const'
32521 qualifier from `name'.
32522 (struct grub_prio_list): Likewise.
32523
7aea29a3
RM
325242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32525
32526 * normal/auth.c: Include `<grub/time.h>'.
32527 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32528
3fd6f044
RM
325292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32530
32531 * normal/auth.c (punishment_delay): New variable.
32532 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32533 (grub_auth_check_authentication): Punish failed login attempts with
32534 an incremental (2^N) delay.
32535
a4cd68e4
RM
325362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32537
32538 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32539 path with $(srcdir).
32540
7ad12f43
VS
325412009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32542
32543 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32544
c1129f03
RM
325452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32546
32547 * util/i386/coreboot/grub-mkrescue.in: New file.
32548 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32549 variables.
32550
32551 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32552 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32553 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32554 requirements.
32555 * util/mkisofs/defaults.h: New file.
32556 * util/mkisofs/eltorito.c: Likewise.
32557 * util/mkisofs/exclude.h: Likewise.
32558 * util/mkisofs/fnmatch.c: Likewise.
32559 * util/mkisofs/getopt.c: Likewise.
32560 * util/mkisofs/getopt1.c: Likewise.
32561 * util/mkisofs/hash.c: Likewise.
32562 * util/mkisofs/include/fctldefs.h: Likewise.
32563 * util/mkisofs/include/mconfig.h: Likewise.
32564 * util/mkisofs/include/prototyp.h: Likewise.
32565 * util/mkisofs/include/statdefs.h: Likewise.
32566 * util/mkisofs/iso9660.h: Likewise.
32567 * util/mkisofs/joliet.c: Likewise.
32568 * util/mkisofs/match.c: Likewise.
32569 * util/mkisofs/match.h: Likewise.
32570 * util/mkisofs/mkisofs.c: Likewise.
32571 * util/mkisofs/mkisofs.h: Likewise.
32572 * util/mkisofs/multi.c: Likewise.
32573 * util/mkisofs/name.c: Likewise.
32574 * util/mkisofs/rock.c: Likewise.
32575 * util/mkisofs/tree.c: Likewise.
32576 * util/mkisofs/write.c: Likewise.
32577
ec8bb77d
VS
325782009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32579
32580 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32581 being insecure.
32582
3716b12c
RM
325832009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32584
32585 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32586 `grub-mkimage' (and use $0 when possible).
32587
b97b7b91
RM
325882009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32589
32590 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32591 error message for excessively large memory map.
32592
04114812
RM
325932009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32594
32595 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32596 executable bit.
32597
e4eb2373
RM
325982009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32599
32600 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32601 message for coreboot users.
32602
c926e1d5 326032009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32604
32605 Fix build with GNU gold.
32606
32607 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32608 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32609 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32610 link addresses.
32611 * aclocal.m4: Likewise.
32612
86e5b1db 326132009-11-04 Felix Zielcke <fzielcke@z-51.de>
32614
32615 * configure.ac (AC_PREREQ): Bump to 2.59d.
32616 * INSTALL: Make it more clear when Autoconf and Ruby are
32617 needed and when to run `./autogen.sh'.
32618
246cd78f 326192009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32620
32621 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32622 OSes.
32623
4f9dfb37 326242009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32625
32626 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32627
b82bd5e1 326282009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32629
32630 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32631 giving it to GNU Mach.
32632
ff1a9bca 326332009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32634
32635 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32636 GNU partition number to get internal GRUB partition number.
32637
61697d9c 326382009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32639
32640 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32641 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32642
a50569e1 326432009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32644
32645 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32646 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32647 case.
32648
5b153867 326492009-11-01 Felix Zielcke <fzielcke@z-51.de>
32650
32651 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32652
d9e2cd70 326532009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32654
32655 Fix build problem.
32656
32657 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32658 `-isystem=$(srcdir)/include'.
32659
805111a4 326602009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32661
32662 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32663 checked (grub-install doesn't currently rely on it).
32664
fa6e945f 326652009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32666
32667 Revert SVN r2660.
32668
32669 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32670 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32671 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32672 * conf/i386-ieee1275.rmk: Likewise.
32673 * conf/i386-pc.rmk: Likewise.
32674 * conf/powerpc-ieee1275.rmk: Likewise.
32675 * conf/sparc64-ieee1275.rmk: Likewise.
32676 * conf/x86_64-efi.rmk: Likewise.
32677
cee15086 326782009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32679
32680 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32681
95b9239e 326822009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32683
32684 * include/grub/misc.h: Stop checking for APPLE_CC.
32685
2ed19dfd 326862009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32687
32688 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32689 doesn't cause an infinite call loop.
32690
fdcdde19 326912009-10-28 Felix Zielcke <fzielcke@z-51.de>
32692
32693 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32694 strings.
32695
cefabfe1 326962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32697
32698 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32699 variable.
32700 * Makefile.in: Likewise.
32701
ed96ab6d 327022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32703
32704 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32705
0579b753 327062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32707
32708 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32709
478df409 327102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32711
32712 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32713
083d1679 327142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32715
32716 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32717 from here ...
32718 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32719
5947ae32 327202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32721
32722 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32723 in $(MAKEINFO) invocation. This makes it clear in output that
32724 errors are being ignored.
32725
94180ff6 327262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32727
32728 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32729 from here ...
32730 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32731 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32732 * conf/i386-ieee1275.rmk: Likewise.
32733 * conf/i386-pc.rmk: Likewise.
32734 * conf/powerpc-ieee1275.rmk: Likewise.
32735 * conf/sparc64-ieee1275.rmk: Likewise.
32736 * conf/x86_64-efi.rmk: Likewise.
32737
9031b03a 327382009-10-26 Colin Watson <cjwatson@ubuntu.com>
32739
32740 * util/grub-editenv.c (main): If only a command is given, use
32741 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32742 (usage): FILENAME is now optional and has a default.
32743
e4f6809b 327442009-10-26 Colin Watson <cjwatson@ubuntu.com>
32745
32746 Improve grub-mkconfig performance when there are several menu
32747 entries on a single filesystem.
32748
32749 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32750 prepare_grub_to_access_device.
32751 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32752 * util/grub.d/30_os-prober.in: Likewise.
32753
67937d4d 327542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32755
32756 * util/grub.d/10_freebsd.in: Remove.
32757 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32758 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32759
ee3756cc 327602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32761
5c35048e 32762 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 32763
4dea1c6f 327642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32765
32766 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32767 grub_util_error() call.
32768
042484d7 327692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32770
32771 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32772 `reserved_first_sector' member.
32773 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32774 `reserved_first_sector' to 1.
32775 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32776 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32777 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32778 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32779 filesystems which begin at first sector.
32780 (options): New option --skip-fs-probe.
32781 (main): Handle --skip-fs-probe and pass it to setup().
32782
d64448a7 327832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32784
32785 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32786 (memset): Fix function prototype.
32787
508d42ec 327882009-10-25 Robert Millan <rmh.grub@aybabtu.com>
327892009-10-25 Vasily Averin <vvs@parallels.com>
32790
32791 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32792 `dirent.direntlen == 0'.
32793
b240e30c 327942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32795
32796 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32797 `cpio'.
32798 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32799
346e7fbe 328002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32801
32802 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32803 `__trampoline_setup' and `__ucmpdi2'.
32804 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32805 that libgcc provides.
32806
cdb308b0 328072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32808
32809 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32810 * include/grub/sparc64/libgcc.h (memset): Likewise.
32811 * include/grub/misc.h (memset, memcmp): New function prototypes.
32812
fb26abc2 328132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32814
32815 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32816 `cpio'.
32817 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32818
f6693890 328192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32820
32821 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32822 * docs/grub.cfg: Compensate for recent change in multiboot
32823 loader (since 2009-08-14 it won't pass filename to payload).
32824 * util/grub.d/10_hurd.in: Likewise.
32825
0933cdc0 328262009-10-21 Felix Zielcke <fzielcke@z-51.de>
32827
32828 * config.guess: Update to latest version from config git
32829 repository.
32830 * config.sub: Likewise.
32831
3b2fe8c2 328322009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32833
32834 Fix build on sparc64.
32835
32836 * configure.ac: Perform checks for libgcc symbols before
32837 adding `-nostdlib' to LDFLAGS.
32838
46695a62 328392009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32840
32841 Let user specify OpenBSD root device.
32842
32843 * loader/i386/bsd.c (openbsd_root): New variable.
32844 (openbsd_opts): New option 'root'.
32845 (OPENBSD_ROOT_ARG): New macro.
32846 (grub_openbsd_boot): Use 'openbsd_root'.
32847 (grub_cmd_openbsd): Fill 'openbsd_root'.
32848
d2b6b7fc 328492009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32850
32851 * NEWS: Misc adjustments.
32852
421bd7ac 328532009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32854
32855 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
32856
f1d29d87 328572009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32858
32859 * configure.ac: Bump version to 1.97.
32860
6f3cd880 328612009-10-16 Colin Watson <cjwatson@ubuntu.com>
32862
32863 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
32864 -mno-3dnow on x86 architectures. Some toolchains enable these
32865 features by default, but they rely on registers that aren't enabled
32866 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
32867
035f7122 328682009-10-15 Robert Millan <rmh.grub@aybabtu.com>
32869
32870 Make entry text a bit more readable.
32871
32872 * util/grub.d/10_linux.in: Add `with' before `Linux'.
32873
44998e58 328742009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32875
32876 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
32877
cd2851b3 328782009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32879
32880 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
32881 operations.
32882
c6f3b249 328832009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32884
32885 * configure.ac: Add missing dollar.
32886
6b5886ba 328872009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32888
32889 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
32890
32891 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
32892 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
32893 exports.
32894 * include/grub/sparc64/libgcc.h: Likewise. Use
32895 preprocessor conditionals.
32896
e9d66f6d 328972009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32898
32899 * conf/common.rmk (grub-dumpbios): Remove rule.
32900 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
32901 * util/grub-dumpbios.in: Remove file.
32902
9155bc17 329032009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32904
32905 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
32906 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
32907
32908 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
32909 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
32910 users.
32911
32912 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
32913 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
32914 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
32915 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
32916 users.
32917
bf7f7a18 329182009-10-12 Robert Millan <rmh.grub@aybabtu.com>
32919
32920 * term/tparm.c: Switch to GPLv3.
32921
86564c26 329222009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32923
32924 * include/grub/i386/cpuid.h: Add header protection.
32925
5c936493 329262009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32927
32928 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
32929
32930 * include/grub/i386/cpuid.h: New file.
32931 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
32932 (has_longmode): Rename to ...
32933 (grub_cpuid_has_longmode): ... this. Update all users. Remove
32934 `static' attribute.
32935 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
32936 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
32937 on a CPU that doesn't implement AMD64 instruction set.
32938
186e7cf2 329392009-10-06 Colin Watson <cjwatson@ubuntu.com>
32940
32941 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
32942 that version.texi is rebuilt on version number changes.
32943
83b65c4a 329442009-10-06 Colin Watson <cjwatson@ubuntu.com>
32945
32946 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
32947 Fixes bug #27602.
32948
d244281c 329492009-10-06 Colin Watson <cjwatson@ubuntu.com>
32950
32951 * util/i386/pc/grub-install.in: Source
32952 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
32953 that the --grub-probe option will work.
32954 * util/sparc64/ieee1275/grub-install.in: Likewise.
32955
da25306d 329562009-10-05 Robert Millan <rmh.grub@aybabtu.com>
32957
32958 * configure.ac: Bump version to 1.97~beta4.
32959
e8ee83c0 329602009-10-03 Robert Millan <rmh.grub@aybabtu.com>
32961
32962 Resync grub-mkdevicemap in x86_64-efi.
32963
32964 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
32965 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
32966 `util/devicemap.c'.
32967
50dcabcf 329682009-10-01 Colin Watson <cjwatson@ubuntu.com>
32969
32970 * util/grub-editenv.c (create_envblk_file): Write new block with a
32971 .new suffix and then rename it into place, to ensure atomic
32972 creation.
32973
0e51c3a7 329742009-09-28 Robert Millan <rmh.grub@aybabtu.com>
32975
32976 Do not automatically install headers.
32977
32978 * Makefile.in (include_DATA): Remove. Update all users.
32979
31299a95 329802009-09-26 Robert Millan <rmh.grub@aybabtu.com>
32981
32982 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
32983 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
32984
32985 * util/osdetect.lua: Remove.
32986 * script/lua/lauxlib.c: Likewise.
32987 * script/lua/ldebug.c: Likewise.
32988 * script/lua/grub_main.c: Likewise.
32989 * script/lua/lauxlib.h: Likewise.
32990 * script/lua/ldebug.h: Likewise.
32991 * script/lua/ltablib.c: Likewise.
32992 * script/lua/liolib.c: Likewise.
32993 * script/lua/lstrlib.c: Likewise.
32994 * script/lua/lualib.h: Likewise.
32995 * script/lua/ldo.c: Likewise.
32996 * script/lua/ldump.c: Likewise.
32997 * script/lua/ldo.h: Likewise.
32998 * script/lua/loslib.c: Likewise.
32999 * script/lua/lundump.c: Likewise.
33000 * script/lua/grub_lib.c: Likewise.
33001 * script/lua/ldblib.c: Likewise.
33002 * script/lua/lundump.h: Likewise.
33003 * script/lua/lmem.c: Likewise.
33004 * script/lua/grub_lib.h: Likewise.
33005 * script/lua/lmathlib.c: Likewise.
33006 * script/lua/lstate.c: Likewise.
33007 * script/lua/ltm.c: Likewise.
33008 * script/lua/lvm.c: Likewise.
33009 * script/lua/lmem.h: Likewise.
33010 * script/lua/lstate.h: Likewise.
33011 * script/lua/ltm.h: Likewise.
33012 * script/lua/ltable.c: Likewise.
33013 * script/lua/lvm.h: Likewise.
33014 * script/lua/llex.c: Likewise.
33015 * script/lua/lgc.c: Likewise.
33016 * script/lua/grub_lua.h: Likewise.
33017 * script/lua/loadlib.c: Likewise.
33018 * script/lua/lfunc.c: Likewise.
33019 * script/lua/lopcodes.c: Likewise.
33020 * script/lua/lparser.c: Likewise.
33021 * script/lua/ltable.h: Likewise.
33022 * script/lua/llex.h: Likewise.
33023 * script/lua/lgc.h: Likewise.
33024 * script/lua/lfunc.h: Likewise.
33025 * script/lua/lbaselib.c: Likewise.
33026 * script/lua/lopcodes.h: Likewise.
33027 * script/lua/lparser.h: Likewise.
33028 * script/lua/lzio.c: Likewise.
33029 * script/lua/linit.c: Likewise.
33030 * script/lua/lobject.c: Likewise.
33031 * script/lua/llimits.h: Likewise.
33032 * script/lua/lstring.c: Likewise.
33033 * script/lua/lzio.h: Likewise.
33034 * script/lua/lapi.c: Likewise.
33035 * script/lua/lcode.c: Likewise.
33036 * script/lua/lua.h: Likewise.
33037 * script/lua/lobject.h: Likewise.
33038 * script/lua/lstring.h: Likewise.
33039 * script/lua/lapi.h: Likewise.
33040 * script/lua/lcode.h: Likewise.
33041 * script/lua/luaconf.h: Likewise.
33042
cb8a2c38 330432009-09-26 Colin Watson <cjwatson@ubuntu.com>
33044
33045 * docs/grub.texi (Command-line and menu entry commands): Document
33046 date and echo commands.
33047
6b9b6276 330482009-09-24 Pavel Roskin <proski@gnu.org>
33049
33050 * include/grub/kernel.h (struct grub_module_header): Remove
33051 `grub_module_header_types'. Make `type' unsigned. Make `size'
33052 32-bit on all platforms.
33053 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33054 8-bit field. Use grub_host_to_target32() for `size'.
33055 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33056 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33057 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33058
4e5a02a7 330592009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33060
33061 Fix "lost keypress" bug in at_keyboard.
33062
33063 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33064 Checks for readyness of input buffer (without flushing it).
33065 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33066 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33067
c6dcedf6 330682009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33069
33070 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33071 size check within GRUB_MACHINE_PCBIOS section.
33072
74c958b1 330732009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33074
33075 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33076 return value.
33077 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33078 KEYBOARD_ISREADY check.
33079 (grub_at_keyboard_checkkey): Rename to ...
33080 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33081 Remove gratuitous cast.
33082
ff420223 330832009-09-23 Colin Watson <cjwatson@ubuntu.com>
33084
33085 * configure.ac: Call AC_PROG_MKDIR_P.
33086 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33087 version.texi in $(builddir) rather than $(srcdir).
33088 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33089 to makeinfo's @include search path.
33090
d96875df 330912009-09-23 Felix Zielcke <fzielcke@z-51.de>
33092
33093 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33094
9b3f8365 330952009-09-23 Felix Zielcke <fzielcke@z-51.de>
33096
33097 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33098 for `*.dpkg-new'.
33099
c44c90db 331002009-09-21 Colin Watson <cjwatson@ubuntu.com>
33101
33102 Build info documentation. Some code borrowed from Automake.
33103
33104 * configure.ac: Check for makeinfo.
33105 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33106 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33107 docs/version.texi.
33108 (MOSTLYCLEANFILES): Add vti.tmp.
33109 (docs/version.texi, docs/stamp-vti): Update automatically.
33110 (docs/grub.info): Build info documentation. Use --force and ignore
33111 errors for now.
33112 (all-local): Add $(INFOS).
33113 (install-local): Install info files.
33114 (uninstall): Uninstall info files.
33115 * docs/version.texi: Remove from revision control. This file is
33116 automatically generated on build now.
33117 * gendistlist.sh: Add `*.info'.
33118
e0b37bb5 331192009-09-21 Felix Zielcke <fzielcke@z-51.de>
33120
33121 * kern/term.c: Fix indentation.
33122
5a78865b 331232009-09-21 Felix Zielcke <fzielcke@z-51.de>
33124
33125 * util/hostdisk.c: Fix a comment.
33126
dace7e8a 331272009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33128
33129 Fix regression introduced in r2539.
33130
33131 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33132 to 0xA1.
33133
a83d079b 331342009-09-19 Colin Watson <cjwatson@ubuntu.com>
33135
33136 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33137 os-prober. Under normal operation, it does not print anything to
33138 stderr; if it does, we need to debug it, and throwing away stderr
33139 makes that excessively difficult.
a83d079b 33140
be94a509 331412009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33142
33143 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33144
63f745e8 331452009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33146
33147 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33148 AC_LANG_PROGRAM from autoconf.
33149 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33150 prototypes (fixes warning).
33151
33152 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33153 `--disable-werror' was used.
33154
bbb2a70f 331552009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33156
33157 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33158 uninitialized `lastaddr'.
33159
77c24f1d 331602009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33161
0f0b8c87 33162 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33163
07197f23 331642009-09-14 Colin Watson <cjwatson@ubuntu.com>
33165
33166 * commands/test.c (get_fileinfo): Return immediately if
33167 grub_fs_probe fails.
33168
dabf1798 331692009-09-14 José Martínez <xosemp@gmail.com>
33170
33171 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33172
d52109a7 331732009-09-14 Colin Watson <cjwatson@ubuntu.com>
33174
33175 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33176 output.
33177
56532179 331782009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33179
33180 * configure.ac: Remove --enable-grub-pe2elf. Only build
33181 grub-pe2elf when needed by the build system itself.
33182 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33183
8ef070f5 331842009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33185
33186 * configure.ac: Bump version to 1.97~beta3.
33187 * docs/version.texi: Likewise.
33188
61229557 331892009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33190
33191 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33192 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33193 from here ...
33194 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33195 (grub_linux_setup_video): ... to here (with some adjustments).
33196
5c9f8d84 331972009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33198
33199 Fix memory corruption issue (spotted by Colin Watson).
33200
33201 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33202 causing returned size to be stored in an incorrect memory location.
33203 Fix use of uninitialized value when storing the returned size.
33204
e8f5d6e9 332052009-09-12 Yves Blusseau <blusseau@zetam.org>
33206
33207 Change clean rules to properly remove files
33208
33209 * genmk.rb: add new clean rules
33210 * Makefile.in (clean): add the new targets
33211 (mostlyclean): likewise
33212
cda2a409 332132009-09-11 Colin Watson <cjwatson@ubuntu.com>
33214
33215 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33216 to grub_uint64_t.
33217 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33218 non-resident files.
33219
86695375 332202009-09-11 Colin Watson <cjwatson@ubuntu.com>
33221
33222 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33223 part of bug #27349.
33224
8aa1541a 332252009-09-10 Felix Zielcke <fzielcke@z-51.de>
33226
33227 * util/grub-mkconfig.in: Make the created config mode 400 and
33228 print a warning if it fails.
33229
48d9bb0a 332302009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33231
33232 * util/grub.d/40_custom.in: Ask user to type custom entries below
33233 comment, rather than below 'exec tail' line.
33234
3b0521be 332352009-09-10 Colin Watson <cjwatson@ubuntu.com>
33236
33237 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33238 visible in grub.cfg.
33239
50051d55 332402009-09-10 Colin Watson <cjwatson@ubuntu.com>
33241
33242 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33243 file.
33244
c0d34387 332452009-09-10 Felix Zielcke <fzielcke@z-51.de>
33246
33247 * docs/grub.cfg: Add an example menu entry for memtest86+.
33248
80a608f3 332492009-09-09 Felix Zielcke <fzielcke@z-51.de>
33250
a2094832 33251 * config.guess: Update to latest version from config git.
80a608f3 33252 * config.sub: Likewise.
33253
99423078 332542009-09-08 Colin Watson <cjwatson@ubuntu.com>
33255
33256 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33257 unknown-command case. Fixes bug #27320.
33258
44454e4c 332592009-09-08 Felix Zielcke <fzielcke@z-51.de>
33260
33261 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33262 `help' if the command exists.
33263
e30d87ad 332642009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33265
33266 * INSTALL: Require GCC 4.1.3 or later.
33267
9a86f1ec 332682009-09-06 Yves Blusseau <blusseau@zetam.org>
33269
33270 * Makefile.in (RMKFILES): add i386-qemu.rmk
33271 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33272 $(srcdir)/stamp-h.in
33273
7f26d466 332742009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33275
33276 * util/grub-probe.c (probe): Comment out buggy codepath, which
33277 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33278 should be re-enabled after 1.97.
33279
3a613259 332802009-09-05 Felix Zielcke <fzielcke@z-51.de>
33281
33282 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33283 find searches for.
33284
197f76c7 332852009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33286
33287 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33288 unnecessary calls to grub_error.
33289
70ba68ce 332902009-09-04 Colin Watson <cjwatson@ubuntu.com>
33291
33292 * NEWS: Mention `keystatus' and Unicode fonts.
33293
4ff0d7a4 332942009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33295
33296 * configure.ac: Bump version to 1.97~beta2.
33297 * docs/version.texi: Likewise.
33298
77c55a87 332992009-09-03 Colin Watson <cjwatson@ubuntu.com>
33300
33301 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33302 containing unwind information in some cases where it previously did
33303 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33304 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33305 discussion.
33306
f79572cd 333072009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33308
33309 Embedding loadenv module into grub-emu
33310
33311 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33312 commands/loadenv.c
33313 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33314 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33315 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33317 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33318 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33319
93a81088 333202009-09-03 Magnus Granberg <zorry@ume.nu>
33321
33322 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33323 include -fPIE in the default specs.
33324 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33325 to TARGET_CFLAGS.
33326
160034b2 333272009-09-03 Felix Zielcke <fzielcke@z-51.de>
33328
33329 * INSTALL: Note that GNU Bison 2.3 or later is required.
33330
087c07c4 333312009-09-03 Colin Watson <cjwatson@ubuntu.com>
33332
33333 * kern/i386/pc/startup.S: Fix typo.
33334
cbf978c0 333352009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33336
33337 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33338 according to GCS.
33339
333402009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33341
33342 * docs/grub.texi (Naming convention): Describe one-based partition
33343 numbering.
33344 (Device syntax): Likewise.
33345 (File name syntax): Likewise.
33346 (Block list syntax): Likewise.
33347 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33348 menu.lst.
33349 (File name syntax): Likewise.
33350 (Command-line and menu entry commands): Document acpi, blocklist,
33351 crc, export, insmod, keystatus, ls, set, and unset commands.
33352
f3e8cdfd 333532009-09-02 Colin Watson <cjwatson@ubuntu.com>
33354
33355 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33356 to avoid implying that only one of --shift, --ctrl, or --alt may be
33357 used.
33358
c0bc232b 333592009-09-02 Colin Watson <cjwatson@ubuntu.com>
33360
33361 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33362 rather than comparing against S_IFREG, which will almost never work.
33363
aa0f752d 333642009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33365
33366 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33367 (write_blocklists): Likewise.
33368
ecb3166a 333692009-09-01 Colin Watson <cjwatson@ubuntu.com>
33370
33371 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33372 argument to grub_printf.
33373
c403a125 333742009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33375
33376 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33377 non GNU test.
31aba781 33378
b5e7312c 333792009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33380
33381 * kern/file.c (grub_file_read): Spelling fix
33382
fe00f472 333832009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33384
33385 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33386 loading of headers in some cases.
33387
cc55302e 333882009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33389
33390 * configure.ac: Bump version to 1.97~beta1.
33391 * docs/version.texi: Likewise.
33392
5c90cdd2 333932009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33394
33395 * include/grub/i386/xnu.h: Add license header.
33396 include grub/err.h explicitly.
33397
c90edae4 333982009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33399
33400 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33401 to `ufs' in the vfs.root.mountfrom kernel parameter.
33402
d8888b5c 334032009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33404
33405 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33406
33407 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33408 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33409
33410 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33411 `ARRAY_SIZE' macro.
33412
6f07b921 334132009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33414
33415 * kern/file.c (grub_file_read): Check offset.
33416 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33417 * fs/jfs.c (grub_jfs_read_file): Likewise.
33418 * fs/ntfs.c (grub_ntfs_read): Likewise.
33419 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33420 * fs/minix.c (grub_minix_read_file): Correct offset check.
33421 * fs/ufs.c (grub_ufs_read_file): Likewise.
33422
b4f34077 334232009-08-28 Colin Watson <cjwatson@ubuntu.com>
33424
33425 * term/i386/pc/console.c (bios_data_area): Cast
33426 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33427
e7c69859 334282009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33429
33430 1-bit optimised blitters.
33431
33432 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33433 prototype.
33434 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33435 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33436 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33437 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33438 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33439 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33440 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33441 function.
33442 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33443 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33444 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33445 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33446 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33447 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33448 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33449 when possible.
33450 * video/video.c (grub_video_get_blit_format): Return
33451 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33452
a57da43f 334532009-08-28 Colin Watson <cjwatson@ubuntu.com>
33454
33455 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33456 the first argument to grub_printf.
33457
4cbe67e5 334582009-08-28 Colin Watson <cjwatson@ubuntu.com>
334592009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33460
33461 Add `getkeystatus' terminal method. Add a new `keystatus' command
33462 to query it.
33463
33464 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33465 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33466 modifier key bitmasks.
33467 (struct grub_term_input): Add `getkeystatus' member.
33468 (grub_getkeystatus): Add prototype.
33469 * kern/term.c (grub_getkeystatus): New function.
33470
33471 * include/grub/i386/pc/memory.h
33472 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33473 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33474 Data Area layout.
33475 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33476 (grub_console_term_input): Set `getkeystatus' member.
33477 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33478 constants.
33479 (grub_usb_keyboard_getreport): Likewise.
33480 (grub_usb_keyboard_checkkey): Likewise.
33481 (grub_usb_keyboard_getkeystatus): New function.
33482 (grub_usb_keyboard_term): Set `getkeystatus' member.
33483
33484 * commands/keystatus.c: New file.
33485 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33486 (keystatus_mod_SOURCES): New variable.
33487 (keystatus_mod_CFLAGS): Likewise.
33488 (keystatus_mod_LDFLAGS): Likewise.
33489 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33490 commands/keystatus.c.
33491 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33492 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33493 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33495 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33496 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33497
6e2a9085 334982009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33499
33500 Split befs.mod and afs.mod into *_be.mod and *.mod
33501
33502 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33503 (grub_fstest_SOURCES): Likewise.
33504 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33505 (afs_be_mod_SOURCES): New variable.
33506 (afs_be_mod_CFLAGS): Likewise.
33507 (afs_be_mod_LDFLAGS): Likewise.
33508 (befs_be_mod_SOURCES): Likewise.
33509 (befs_be_mod_CFLAGS): Likewise.
33510 (befs_be_mod_LDFLAGS): Likewise.
33511 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33512 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33513 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33514 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33515 (grub_emu_SOURCES): Likewise.
33516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33517 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33518 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33519 * fs/afs_be.c: New file.
33520 * fs/befs_be.c: New file.
33521 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33522 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33523 (U16): Replaced with ...
33524 (grub_afs_to_cpu16): ...this. All users updated.
33525 (U32): Replaced with ...
33526 (grub_afs_to_cpu32): ...this. All users updated.
33527 (U64): Replaced with ...
33528 (grub_afs_to_cpu64): ...this. All users updated.
33529 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33530 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33531 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33532 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33533 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33534 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33535 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33536 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33537 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33538 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33539 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33540
32a71655 335412009-08-26 Bean <bean123ch@gmail.com>
33542
33543 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33544 64-bit number.
33545 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33546 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33547 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33548
552bf6c5 335492009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33550
33551 NetBSD memory map support.
33552
33553 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33554 (grub_netbsd_btinfo_mmap_header): New structure.
33555 (grub_netbsd_btinfo_mmap_entry): Likewise.
33556 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33557
1ae2078c 335582009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33559
33560 Enable bsd.mod on coreboot.
33561
33562 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33563 (bsd_mod_SOURCES): New variable.
33564 (bsd_mod_CFLAGS): Likewise.
33565 (bsd_mod_LDFLAGS): Likewise.
33566 (bsd_mod_ASFLAGS): Likewise.
33567 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33568 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33569
beefc598 335702009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33571
33572 Cleanup NetBSD root support.
33573
33574 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33575 grub_bsd_get_device.
33576 Fix typo.
33577
3b76e68b 335782009-08-25 Felix Zielcke <fzielcke@z-51.de>
33579
33580 * util/grub.d/00_header.in: Move check for the video backend of
33581 gfxterm from here ...
33582 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33583 a suitable video backend.
33584
aea664ea 335852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33586
33587 Fix breakage in grub-setup.
33588
33589 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33590 "msdos_partition_map".
33591
ff747d50 335922009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33593
33594 Fix breakage in normal/auth.c.
33595
33596 * normal/auth.c (grub_iswordseparator): New function.
33597
e7e1f93f 335982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33599
33600 Authentication support.
33601
33602 * commands/password.c: New file.
33603 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33604 (password_mod_SOURCES): New variable.
33605 (password_mod_CFLAGS): Likewise.
33606 (password_mod_LDFLAGS): Likewise.
33607 (normal_mod_SOURCES): Add normal/auth.c.
33608 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33609 normal/auth.c.
33610 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33611 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33612 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33614 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33615 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33616 * include/grub/auth.h: New file.
33617 * include/grub/err.h (grub_err_t): New enum value
33618 GRUB_ERR_ACCESS_DENIED.
33619 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33620 'users'.
33621 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33622 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33623 users updated.
33624 * normal/auth.c: New file.
33625 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33626 (grub_cmdline_run): Don't allow to go to command line without
33627 authentication.
33628 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33629 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33630 menuentry without superuser rights.
33631 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33632 user isn't a superuser.
33633
70f1161d 336342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33635
33636 Save space by inlining misc.c functions.
33637
33638 * kern/misc.c (grub_iswordseparator): Made static.
33639 * kern/misc.c (grub_strcat): Moved from here ...
33640 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33641 * kern/misc.c (grub_strncat): Moved from here ...
33642 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33643 * kern/misc.c (grub_strcasecmp): Moved from here ...
33644 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33645 * kern/misc.c (grub_strncasecmp): Moved from here ...
33646 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33647 * kern/misc.c (grub_isalpha): Moved from here ...
33648 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33649 * kern/misc.c (grub_isdigit): Moved from here ...
33650 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33651 * kern/misc.c (grub_isgraph): Moved from here ...
33652 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33653 * kern/misc.c (grub_tolower): Moved from here ...
33654 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33655
48e40bff 336562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33657
33658 * script/sh/function.c (grub_script_function_find): Cut error message
33659 not to flood terminal.
33660 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33661 limit.
33662 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33663
c385bfc3 336642009-08-24 Colin Watson <cjwatson@ubuntu.com>
33665
33666 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33667 `report' grub_uint8_t *.
33668 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33669 Use a 50-millisecond timeout rather than just repeating
33670 grub_usb_keyboard_getreport 50 times.
33671 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33672
2d21e3e8 336732009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33674
33675 Rename *_partition_map to part_*
33676
33677 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33678 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33679 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33680 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33681 All users updated.
33682 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33683 All users updated.
33684 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33685 * util/grub-probe.c (probe_partmap): Don't transform partition name
33686 to get module name.
33687
dd103c4e 336882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33689
33690 Fix OpenBSD and NetBSD support.
33691
33692 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33693 memory address conflict.
33694 (OPENBSD_MMAP_ACPI): New definition.
33695 (OPENBSD_MMAP_NVS): Likewise.
33696 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33697 and OPENBSD_MMAP_NVS.
33698 Add memory map terminator
33699 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 33700 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 33701
16c84d74 337022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33703
33704 Let user specify NetBSD root device.
33705
33706 * loader/i386/bsd.c (netbsd_root): New variable.
33707 (netbsd_opts): New option 'root'.
33708 (NETBSD_ROOT_ARG): New macro.
33709 (grub_netbsd_boot): Use 'netbsd_root'.
33710 (grub_bsd_unload): Free 'netbsd_root'.
33711 (grub_cmd_netbsd): Fill 'netbsd_root'.
33712
adb29902 337132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33714
33715 Support for 64-bit NetBSD.
33716
33717 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33718 point when booting non-FreeBSD.
33719
f5ae9f74 337202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33721
33722 Support --no-smp and --no-acpi for NetBSD.
33723
33724 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33725 (NETBSD_AB_NOACPI): Likewise.
33726 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33727 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33728
de74f136 337292009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33730
33731 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33732 errors.
33733 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33734 errors. Call grub_error when needed.
33735
e9a925da 337362009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33737
33738 * commands/search.c (search_fs): Try searching without autoload first.
33739 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33740 filesystem module explicitly for faster booting.
33741
5174302b 337422009-08-23 Colin Watson <cjwatson@ubuntu.com>
33743
33744 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33745
c8c80635 337462009-08-23 Colin Watson <cjwatson@ubuntu.com>
33747
33748 * util/grub.d/30_os-prober.in: Disable os-prober if
33749 `GRUB_DISABLE_OS_PROBER' was set to true.
33750
71acf5e5 337512009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33752
33753 * partmap/pc.c: Rename to ...
33754 * partmap/msdos.c: ... this. Update all users.
33755 (grub_pc_partition_map): Rename to ...
33756 (grub_msdos_partition_map): ... this. Update all users.
33757
33758 * parttool/pcpart.c: Rename to ...
33759 * parttool/msdospart.c: ... this. Update all users.
33760
33761 * include/grub/pc_partition.h: Rename to ...
33762 * include/grub/msdos_partition.h: ... this. Update all users.
33763 (grub_pc_partition_bsd_entry): Rename to ...
33764 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33765 (grub_pc_partition_disk_label): Rename to ...
33766 (grub_msdos_partition_disk_label): ... this. Update all users.
33767 (grub_pc_partition_entry): Rename to ...
33768 (grub_msdos_partition_entry): ... this. Update all users.
33769 (grub_pc_partition_mbr): Rename to ...
33770 (grub_msdos_partition_mbr): ... this. Update all users.
33771 (grub_pc_partition): Rename to ...
33772 (grub_msdos_partition): ... this. Update all users.
33773 (grub_pc_partition_is_empty): Rename to ...
33774 (grub_msdos_partition_is_empty): ... this. Update all users.
33775 (grub_pc_partition_is_extended): Rename to ...
33776 (grub_msdos_partition_is_extended): ... this. Update all users.
33777 (grub_pc_partition_is_bsd): Rename to ...
33778 (grub_msdos_partition_is_bsd): ... this. Update all users.
33779
33780 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33781 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33782 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33783 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33784 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33785 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33786 (gpt_mod_LDFLAGS): Rename to ...
33787 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33788 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33789 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33790 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33791 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33792 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33793 (part_gpt_mod_LDFLAGS): ... this.
33794 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33795 `pcpart.mod' to `msdospart.mod'.
33796 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33797 to ...
33798 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33799 (msdospart_mod_LDFLAGS): ... this.
33800
c11fded5 338012009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33802
33803 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33804 (openbsd_opts): Likewise.
33805 (netbsd_opts): Likewise.
33806 (freebsd_flags): Added 0 terminator.
33807 (openbsd_flags): Likewise.
33808 (netbsd_flags): Likewise.
33809 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33810 (grub_cmd_freebsd): Transformed into extended command.
33811 (grub_cmd_openbsd): Likewise.
33812 (grub_cmd_netbsd): Likewise.
33813 (cmd_freebsd): Changed type to grub_extcmd_t.
33814 (cmd_openbsd): Likewise.
33815 (cmd_netbsd): Likewise.
33816 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33817 grub_cmd_openbsd as extended commands.
33818 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33819 cmd_netbsd and cmd_openbsd
33820
11d1c769 338212009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33822
33823 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33824
7a9094e5 338252009-08-21 Pavel Roskin <proski@gnu.org>
33826
5496c37e 33827 * Makefile.in (install-local): When checking if a file is in the
33828 build directory, use "test -e" to detect symlinks.
33829
7a9094e5 33830 * Makefile.in (install-local): Remove all files in
33831 $(DESTDIR)$(pkglibdir) before installing new files there.
33832
e53cea11 338332009-08-18 Felix Zielcke <fzielcke@z-51.de>
33834
33835 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33836 grub-mkelfimage.
33837
9aced544 338382009-08-18 Felix Zielcke <fzielcke@z-51.de>
33839
33840 * util/grub-mkconfig.in: Don't use gfxterm by default if not
33841 explicitly specified by the user.
33842
b7da6bab 338432009-08-18 Pavel Roskin <proski@gnu.org>
33844
33845 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
33846 grub_uint8_t pointer for data.
33847 * include/grub/fbutil.h (struct grub_video_fbblit_info):
33848 Likewise.
33849 * video/fb/fbutil.c: Remove unnecessary casts.
33850
19f1b335 338512009-08-17 Michal Suchanek <hramrach@centrum.cz>
33852
33853 VBE cleanup.
33854
33855 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
33856 (grub_vbe_set_video_mode): Save active mode info
33857 only after setting the mode.
33858 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
33859 second argument.
33860
2f467aa9 338612009-08-17 Michal Suchanek <hramrach@centrum.cz>
33862
33863 Rename variables for clarity.
33864
33865 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
33866 (active_vbe_mode_info): ... this. All users updated.
33867 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
33868 All users updated.
33869 (initial_mode): Rename to ...
33870 (initial_vbe_mode): ... this. All users updated.
33871 (mode_in_use): Rename to ..
33872 (vbe_mode_in_use): ... this. All users updated.
33873 (mode_list): Rename to ..
33874 (vbe_mode_list): ... this. All users updated.
33875 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
33876 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
33877 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
33878 'mode_list_size' to 'vbe_mode_list_size'.
33879 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
33880 'best_mode_info' to 'best_vbe_mode_info' and
33881 'best_mode' to 'best_vbe_mode'
33882
6025fcd7 338832009-08-17 Michal Suchanek <hramrach@centrum.cz>
33884
33885 Remove duplicate grub_video_fb_get_video_ptr.
33886
33887 * include/grub/fbutil.h (get_data_ptr): Rename to ...
33888 (grub_video_fb_get_video_ptr): ... this.
33889 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
33890 * video/fb/fbutil.c: Add comment about addressing.
33891 (get_data_ptr): Rename to ...
33892 (grub_video_fb_get_video_ptr): ... this. All users updated.
33893 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
33894
cc8c6faf 338952009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33896
33897 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
33898 grub_dprintf() that was just added.
33899
08aa61f0 339002009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33901
33902 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
33903 (DEFAULT_VIDEO_MODE): Remove macros.
33904 (grub_linux_boot): Remove assumption that Linux has FB support,
33905 and use "text" as default video mode.
33906
7cef4f75 339072009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
33908
33909 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
33910 grub_dprintf.
33911 * fs/fat.c (grub_fat_read_data): Likewise.
33912
e1f39873 339132009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33914
33915 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
33916 payload.
33917 (grub_module): Likewise.
33918
c166d79e 339192009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33920
33921 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
33922 mbi->cmdline but free playground.
33923
c60cee8e 339242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33925
33926 Handle group offset on UFS1.
33927
33928 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
33929 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
33930
c0d8b5d4 339312009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33932
33933 Split ufs.mod into ufs1.mod and ufs2.mod.
33934
33935 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
33936 (grub_fstest_SOURCES): Likewise.
33937 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
33938 (ufs_mod_SOURCES): Remove.
33939 (ufs_mod_CFLAGS): Likewise.
33940 (ufs_mod_LDFLAGS): Likewise.
33941 (ufs1_mod_SOURCES): New variable.
33942 (ufs1_mod_CFLAGS): Likewise.
33943 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 33944 (ufs2_mod_SOURCES): New variable.
33945 (ufs2_mod_CFLAGS): Likewise.
33946 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 33947 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
33948 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33949 Likewise.
33950 (grub_emu_SOURCES): Likewise.
33951 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33952 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33953 (grub_setup_SOURCES): Likewise.
33954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33955 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
33956 (grub_setup_SOURCES): Likewise.
33957 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33958 Likewise.
33959 * fs/ufs2.c: New file.
33960 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
33961
d3539132 339622009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33963
33964 Framebuffer split.
33965
33966 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
33967 subsystem at the end.
33968 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
33969 (video_fb_mod_SOURCES): New variable.
33970 (video_fb_mod_CFLAGS): Likewise.
33971 (video_fb_mod_LDFLAGS): Likewise.
33972 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
33973 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
33974 * video/i386/pc/vbeblit.c: Moved from here ...
33975 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
33976 * video/i386/pc/vbefill.c: Moved from here ...
33977 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
33978 * video/i386/pc/vbeutil.c: Moved from here ...
33979 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
33980 * include/grub/i386/pc/vbeblit.h: Moved from here ...
33981 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
33982 * include/grub/i386/pc/vbefill.h: Moved from here ...
33983 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
33984 * include/grub/i386/pc/vbeutil.h: Moved from here ...
33985 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
33986 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
33987 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
33988 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
33989 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
33990 (grub_video_adapter): Added 'get_info_and_fini'.
33991 (grub_video_get_info_and_fini): New prototype.
33992 (grub_video_set_mode): make modestring const char *.
33993 * loader/i386/linux.c (grub_linux_setup_video): Use
33994 grub_video_get_info_and_fini.
33995 (grub_linux_boot): Move modesetting just before booting.
33996 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
33997 grub_video_get_info_and_fini.
33998 * video/i386/pc/vbe.c: Moved framebuffer part ...
33999 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34000 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34001 grub_video_fbstd_colors and grub_video_fb_set_palette.
34002 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34003 grub_video_fb_init.
34004 (grub_video_vbe_fini): Use grub_video_fb_fini.
34005 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34006 render_target and use grub_video_fb_set_active_render_target and
34007 grub_video_fb_set_palette.
34008 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34009 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34010 (grub_video_vbe_adapter): Use framebuffer.
34011 * video/video.c (grub_video_get_info_and_fini): New function.
34012 (grub_video_set_mode): Make modestring const char *.
34013 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34014 values are already initialised.
34015
d404ee56 340162009-08-14 Pavel Roskin <proski@gnu.org>
34017
34018 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34019 ABS and APPLE_CC.
34020 * boot/i386/pc/diskboot.S: Likewise.
34021 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34022 sectors allow compilation on MacOSX.
34023 * conf/i386-pc.rmk: Enable unconditional compilation of
34024 lnxboot.img.
34025
9a10df16 340262009-08-13 Colin Watson <cjwatson@ubuntu.com>
34027
34028 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34029 * util/grub.d/00_header.in: Enter interruptible sleep if
34030 GRUB_HIDDEN_TIMEOUT is set.
34031
be3c9ca7 340322009-08-13 Yves Blusseau <blusseau@zetam.org>
34033
34034 * include/grub/symbol.h: Add the LOCAL macro.
34035 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34036 starting with "L_".
34037
1f9e557e 340382009-08-13 Pavel Roskin <proski@gnu.org>
34039
9ca62843 34040 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34041 any modern compilers we support.
34042
1f9e557e 34043 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34044 Use local labels starting with "L_" so that Apple assembler
34045 knows they are local.
34046
81623db6 340472009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34048
34049 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34050 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34051 (bsd_kernel_types): ... this enum.
34052
34053 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34054 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34055 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34056
34057 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34058 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34059 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34060 messages.
34061
f5d35e7a 340622009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34063
34064 * util/grub-dumpdevtree: Moved from here ...
34065 * util/i386/efi/grub-dumpdevtree: ... to here.
34066 (hexify): New function. Converts a string to its hex version.
34067 Generate hex versions of "efi" and "device-properties" by calling
34068 hexify() on the ASCII strings rather than by hardcoding numbers.
34069
d1e1d527 340702009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34071
34072 * fs/jfs.c: Update copyright year.
34073
1ebbe064 340742009-08-08 Felix Zielcke <fzielcke@z-51.de>
34075
34076 * util/grub.d/00_header.in: Fix a comment.
34077 * util/grub.d/10_linux.in: Likewise.
34078 * util/grub.d/10_windows.in: Likewise.
34079 * util/grub.d/10_hurd.in: Likewise.
34080
a78c8d24 340812009-08-08 Felix Zielcke <fzielcke@z-51.de>
34082
34083 * util/grub-mkconfig.in: Allow the user to specify the used font
34084 with GRUB_FONT.
34085
29a6b9e8 340862009-08-08 Pavel Roskin <proski@gnu.org>
34087
b5f16cc4 34088 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34089 available, xfs.mod needs it now.
34090
2f5cb827 34091 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34092 the "g" modifier in sed when the intention is to strip something
34093 once. This fixes comparison of kernels with multiple dashes.
34094
29a6b9e8 34095 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34096 on it. Add missing space before closing bracket. Fix
34097 misleading formatting.
34098
892a3d98 340992009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34100
34101 * docs/grub.texi: Major overhaul. Remove all sections that are
34102 specific to GRUB Legacy, or mostly composed of Legacy-specific
34103 information.
34104
ed94253f 341052009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34106
34107 * docs/version.texi: New file. Provides version information for
34108 grub.texi.
34109
126d6628 341102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34111
34112 * docs/grub.texi: Update CVS information to SVN.
34113 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34114
998b5aa9 341152009-08-07 Felix Zielcke <fzielcke@z-51.de>
34116
34117 * util/grub-mkconfig.in: Remove a wrong `fi'.
34118
818e094a 341192009-08-07 Felix Zielcke <fzielcke@z-51.de>
34120
34121 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34122 (grub_jfs_uuid): New function.
34123 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34124
b969c52f 341252009-08-07 Felix Zielcke <fzielcke@z-51.de>
34126
34127 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34128 of it to ...
34129 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34130 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34131
7a4894cc 341322009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34133
34134 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34135 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34136 Update all users.
34137
34138 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34139 not just "vmlinu[zx]".
34140 Moved from here ...
34141 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34142 all users.
34143
34144 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34145 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34146 all users.
34147
4e2171f8 341482009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34149
34150 * util/grub.d/10_freebsd.in: Use an absolute device path for
34151 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34152
6dcfcb32 341532009-08-06 Felix Zielcke <fzielcke@z-51.de>
34154
34155 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34156 handling of multiple abstraction modules.
34157
f56a8756 341582009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34159
34160 Fix a bug resulting in black screen when loading Linux using a
34161 packed video mode.
34162
34163 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34164 function.
34165
34166 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34167 (grub_vbe_bios_getset_dac_palette_width): New function.
34168 (grub_vbe_bios_get_dac_palette_width)
34169 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34170 grub_vbe_bios_getset_dac_palette_width()).
34171
34172 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34173 check for return status.
34174 (grub_vbe_get_video_mode_info): When getting information for a packed
34175 mode (<= 8 bpp), obtain DAC palette width using
34176 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34177 {red,green,blue}_mark_size.
34178
222671b2 341792009-08-04 Felix Zielcke <fzielcke@z-51.de>
34180
ecb1a6d9 34181 * commands/search.c (options): Fix help output to match actual code.
222671b2 34182
f84114f5 341832009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34184
34185 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34186 of homegrown code.
34187
bd288a20 341882009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34189
34190 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34191 on XFS or ReiserFS.
34192
8aab5e25 341932009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34194
34195 Support Apple partition map with sector size different from 512 bytes.
34196
34197 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34198 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34199 and 'apart.partmap_size'.
34200
6ad6258a 342012009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
342022009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34203
34204 Fix cpuid command.
34205
34206 * commands/i386/cpuid.c (options): New variable.
34207 (grub_cmd_cpuid): Return real error.
34208 (GRUB_MOD_INIT(cpuid)): Declare options.
34209
67459bc6 342102009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34211
34212 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34213 valid.
34214
fbc6ab54 342152009-07-31 Bean <bean123ch@gmail.com>
34216
34217 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34218 log2_inode.
34219 (grub_fshelp_node): Move inode field to the end.
34220 (grub_xfs_data): Remove inode field.
34221 (grub_xfs_inode_block): Calculate inode size using sblock.
34222 (grub_xfs_inode_offset): Likewise.
34223 (grub_xfs_read_inode): Calculate inode size using sblock.
34224 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34225 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34226 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34227 to match inode size.
34228 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34229 not accessible when data is null.
34230 (grub_xfs_open): Likewise.
34231
f45d6cfc 342322009-07-31 Bean <bean123ch@gmail.com>
34233
34234 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34235 Don't change pv->disk if it's already set.
34236
34237 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34238 (grub_raid_register): ... here.
34239 (grub_raid_rescan): Removed.
34240
34241 * include/grub/raid.h (grub_raid_rescan): Removed.
34242
34243 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34244 (fstest): Replace grub_raid_rescan with module fini function followed
34245 by init function.
34246
34247 * util/grub-probe.c: Add include file <grub/raid.h>.
34248 (probe_raid_level): New function.
34249 (probe): Detect abstraction by walking the disk device, support two
34250 level of abstraction (LVM on RAID) when detecting partition map.
34251
24443b5a 342522009-07-31 Pavel Roskin <proski@gnu.org>
34253
34254 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34255 to grub_zalloc(), it was erroneous.
34256 Reported by Bean <bean123ch@gmail.com>
34257
a275d9e7 342582009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34259
34260 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34261 embedding zone, not only the first one.
a275d9e7 34262
56c5a47f 342632009-07-29 Joe Auricchio <jauricchio@gmail.com>
34264
34265 * term/gfxterm.c (clear_char): New function.
34266 (grub_virtual_screen_setup): Use clear_char.
34267 (scroll_up): Likewise.
34268 (grub_virtual_screen_cls): Likewise.
34269
67bb323a 342702009-07-29 Felix Zielcke <fzielcke@z-51.de>
34271
34272 * util/deviceiter.c (get_acceleraid_disk_name): New static
34273 function.
34274 (grub_util_iterate_devices): Handle Accelraid devices.
34275 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34276
388a7c75 342772009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34278
34279 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34280 separator for the suggested gfxpayload string (';' collides with the
34281 parser and needs escaping).
34282
3bb7abcf 342832009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34284
34285 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34286 Clear direction flag before jumping to OS.
34287 (grub_multiboot2_real_boot): Likewise.
34288
2ddd36d7 342892009-07-28 Felix Zielcke <fzielcke@z-51.de>
34290
34291 * util/i386/pc/grub-install: Fix parsing of --disk-module
34292 option.
34293
c521b62b 342942009-07-28 Felix Zielcke <fzielcke@z-51.de>
34295
34296 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34297 when embedding.
34298
880e0a0c 342992009-07-26 Felix Zielcke <fzielcke@z-51.de>
34300
34301 * util/grub-mkconfig.in (package_version): New variable.
34302 Use it do display the version.
34303
2366e356 343042009-07-25 Felix Zielcke <fzielcke@z-51.de>
34305
34306 * kern/file.c (grub_file_open): Revert to previous check with
34307 grub_errno.
34308
7ad8c80e 343092009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34310
34311 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34312 from help line. It's out of sync with code.
34313
72b9658b 343142009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34315
34316 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34317 entries on failed boot.
34318
77435277 343192009-07-25 Felix Zielcke <fzielcke@z-51.de>
34320
34321 * kern/file.c (grub_file_open): Fix an error check.
34322
fcaa8b21 343232009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34324
35d16c74 34325 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34326 partition map couldn't be identified.
fcaa8b21 34327
48904cd1 343282009-07-23 Pavel Roskin <proski@gnu.org>
34329
ef3c317f 34330 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34331 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34332 case of little endian words becomes just an optimization.
34333 Respect const modifier.
ad8ea1f4 34334 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34335
48904cd1 34336 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34337 to avoid loss of upper bits if align is unsigned and shorter
34338 than addr.
34339
260c9a89 343402009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34341
34342 UUID support for UFS
34343
34344 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34345 (grub_ufs_uuid): New function.
34346 (grub_ufs_fs): add .uuid
34347
f76ce889 343482009-07-21 Pavel Roskin <proski@gnu.org>
34349
34350 * kern/dl.c (grub_dl_check_header): Make static.
34351
6a6cbcaf 343522009-07-21 Felix Zielcke <fzielcke@z-51.de>
34353
34354 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34355 add drivemap for Vista. It breaks Windows 7.
34356
cffcddb2 343572009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34358
34359 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34360 128 bytes
34361
1ef44b80 343622009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34363
34364 Add BFS support
34365
34366 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34367 (grub_fstest_SOURCES): Likewise.
34368 (pkglib_MODULES): Add befs.mod.
34369 (befs_mod_SOURCES): New variable.
34370 (befs_mod_CFLAGS): Likewise.
34371 (befs_mod_LDFLAGS): Likewise.
34372 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34373 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34374 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34375 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34376 (grub_setup_SOURCES): Likewise.
34377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34378 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34379 (grub_setup_SOURCES): Likewise.
34380 * fs/befs.c: New file.
34381 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34382 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34383 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34384 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34385 (B_KEY_INDEX_ALIGN): New declaration.
34386 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34387 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34388 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34389 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34390 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34391 (grub_afs_mount) [MODE_BFS]: Likewise.
34392 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34393 (grub_afs_fs): Use GRUB_AFS_FSNAME
34394 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34395 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34396 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34397 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34398
4f253044 343992009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34400
34401 * util/getroot.c (find_root_device): Add support for MacOSX.
34402 * util/hostdisk.c: Likewise.
34403
57a55913 344042009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34405
34406 * font/font.c (find_glyph): Check whether a font is present to avoid
34407 segmentation fault.
75421ca9 34408
344092009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34410
34411 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34412
e98cd0c2 344132009-07-20 Pavel Roskin <proski@gnu.org>
34414
34415 * configure.ac: Trim excessively wordy excuses.
34416
1d2d169a 344172009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34418
34419 Add symlink, mtime and label support to AtheFS.
34420
34421 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34422 (grub_afs_iterate_dir): Handle symlinks.
34423 (grub_afs_open): Use grub_afs_read_symlink.
34424 (grub_afs_dir): Likewise.
34425 Pass mtime.
34426 (grub_afs_label): New function.
34427 (grub_afs_fs): Add grub_afs_label.
34428 (grub_afs_read_symlink): New function.
34429
186f3189 344302009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34431
34432 Fix AtheFS support.
34433
34434 * fs/afs.c: Fix comments style.
34435 (grub_afs_blockrun): Declare as packed.
34436 (grub_afs_datastream): Likewise.
34437 (grub_afs_bnode): Likewise.
34438 (grub_afs_btree): Likewise.
34439 (grub_afs_sblock): Likewise.
34440 Declare `name' as char.
34441 (grub_afs_inode): Declare as packed.
34442 Change void *vnode to grub_uint32_t unused.
34443 (grub_afs_iterate_dir): Check that key_size is positive.
34444 (grub_afs_mount): Don't read superblock twice.
75421ca9 34445 (grub_afs_dir): Don't free node in case of error,
186f3189 34446 grub_fshelp_find_file already handles this.
34447 (grub_afs_open): Likewise.
34448
5680109e 344492009-07-19 Pavel Roskin <proski@gnu.org>
34450
34451 * Makefile.in: Remove LIBLZO and enable_lzo.
34452 * conf/i386-pc.rmk: Remove lzo support.
34453 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34454 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34455 support.
34456 * kern/i386/pc/lzo1x.S: Remove.
34457 * kern/i386/pc/startup.S: Remove lzo support.
34458 * util/i386/pc/grub-mkimage.c: Likewise.
34459
ac70fa32 344602009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34461
34462 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34463 * fs/xfs.c (grub_xfs_dir): Likewise.
34464 * fs/afs.c (grub_afs_dir): Likewise.
34465 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34466 (grub_iso9660_open): Likewise.
34467 * fs/jfs.c (grub_jfs_open): Likewise.
34468 * fs/ext2.c (grub_ext2_dir): Likewise.
34469 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34470 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34471
eab58da2 344722009-07-16 Pavel Roskin <proski@gnu.org>
34473
d2838156 34474 * configure.ac: Never add "-c" to CFLAGS.
34475
55c70904 34476 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34477
43e6200c 34478 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34479 grub_cv_cc_efiemu should be used.
34480
ce7a733d 34481 * configure.ac: Typo fixes.
34482
eab58da2 34483 * kern/mm.c (grub_zalloc): New function.
34484 (grub_debug_zalloc): Likewise.
34485 * include/grub/mm.h: Declare grub_zalloc() and
34486 grub_debug_zalloc().
34487 * util/misc.c (grub_zalloc): New function.
34488 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34489 instead of grub_malloc(), remove unneeded initializations.
34490 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34491 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34492 * commands/parttool.c (grub_cmd_parttool): Likewise.
34493 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34494 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34495 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34496 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34497 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34498 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34499 (grub_cmd_efiemu_pnvram): Likewise.
34500 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34501 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34502 (grub_iso9660_iterate_dir): Likewise.
34503 * fs/jfs.c (grub_jfs_opendir): Likewise.
34504 * fs/ntfs.c (list_file): Likewise.
34505 (grub_ntfs_mount): Likewise.
34506 * kern/disk.c (grub_disk_open): Likewise.
34507 * kern/dl.c (grub_dl_load_core): Likewise.
34508 * kern/elf.c (grub_elf_file): Likewise.
34509 * kern/env.c (grub_env_context_open): Likewise.
34510 (grub_env_set): Likewise.
34511 (grub_env_set_data_slot): Likewise.
34512 * kern/file.c (grub_file_open): Likewise.
34513 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34514 * loader/i386/multiboot.c (grub_module): Likewise.
34515 * loader/xnu.c (grub_xnu_create_key): Likewise.
34516 (grub_xnu_create_value): Likewise.
34517 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34518 (read_config_file): Likewise.
34519 * normal/menu_entry.c (make_screen): Likewise.
34520 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34521 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34522 * script/sh/script.c (grub_script_parse): Likewise.
34523 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34524 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34525 * video/readers/png.c (grub_png_output_byte): Likewise.
34526 (grub_video_reader_png): Likewise.
34527
830afef7 345282009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34529
34530 Enable all targets that can be built by default
34531
830afef7 34532 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34533 grub-mkfont and grub-fstest if they can be built
34534
ee293aee 345352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34536
34537 Fix hang and segmentation fault in grub-emu-usb
34538
34539 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34540 * util/usb.c (grub_libusb_devices): likewise
34541 (grub_libusb_init): rename to ...
34542 (GRUB_MOD_INIT (libusb)):...this
34543 (grub_libusb_fini): rename to ..
34544 (GRUB_MOD_FINI (libusb)):...this
34545 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34546 * include/grub/disk.h (grub_raid_init): removed, it's useless
34547 (grub_raid_fini): likewise
34548 (grub_lvm_init): likewise
34549 (grub_lvm_fini): likewise
34550 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34551 by grub_init_all
34552
94414221 345532009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34554
34555 Fix libusb
34556
34557 * Makefile.in (LIBUSB): new macro
34558 * genmk.rb (Utility/print_tail): new method
34559 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34560 (top level): call util.print_tail at the end.
34561
59ade63d 345622009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34563
34564 Make FreeBSD accept zpool.cache
34565
34566 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34567 type is /boot/zfs/zpool.cache
34568
a58da8c7 345692009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34570
34571 Fix 64-bit efiemu
34572
34573 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34574 correct wrong typedef
34575 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34576
20591577 345772009-07-15 Pavel Roskin <proski@gnu.org>
34578
560ca572 34579 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34580 * kern/disk.c (struct grub_disk_cache): Likewise.
34581
e8e8e4fd 34582 * commands/probe.c (options): Typo fix.
34583
fde24e10 34584 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34585 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34586 accordingly.
34587 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34588
379c54c1 34589 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34590 the end of "Error" to make the message more readable.
34591
7bd8f5bf 34592 * boot/i386/pc/boot.S (kernel_segment): Remove.
34593 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34594 for destination.
34595
40b132c5 34596 * boot/i386/pc/boot.S (boot_version): Remove.
34597 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34598 Remove.
34599
20591577 34600 * include/grub/i386/pc/boot.h: Sort all offsets.
34601 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34602 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34603 * boot/i386/pc/boot.S: Assert location of every offset listed in
34604 include/grub/i386/pc/boot.h.
34605
2df32b2c 346062009-07-13 Pavel Roskin <proski@gnu.org>
34607
44b5d879 34608 * include/grub/i386/coreboot/machine.h: Rename
34609 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34610 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34611 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34612
17dc3751 34613 * kern/dl.c: Force native word size to suppress warnings when
34614 compiling grub-emu.
34615
2df32b2c 34616 * kern/device.c (grub_device_iterate): Change struct part_ent to
34617 hold the name, not a pointer to it. Use one grub_malloc() per
34618 partition, not two. Free partition_name if grub_malloc() fails.
34619 Set ents to NULL only before grub_partition_iterate() is called.
34620
75c59f59 346212009-07-11 Bean <bean123ch@gmail.com>
34622
34623 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34624 childname.
34625
0ae1bf88 346262009-07-10 Bean <bean123ch@gmail.com>
346272009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34628
34629 * kern/ieee1275/openfw.c (grub_children_iterate)
34630 (grub_devalias_iterate): Fix size evaluation for property or path
34631 strings, which was broken since r2132.
34632
8279cade 346332009-07-07 Pavel Roskin <proski@gnu.org>
34634
7d8a52d3 34635 * commands/search.c (search_file): Merge into ...
34636 (search_fs): ... this. Accept search type as argument.
34637 (grub_cmd_search): Pass search type to search_fs().
34638
25f9a05a 34639 * include/grub/util/console.h: New file.
34640 * util/console.c: Use it instead of grub/machine/console.h.
34641 * util/grub-emu.c: Likewise.
34642
8279cade 34643 * lib/arg.c (find_long_option): Remove.
34644 (find_long): Add `len' argument, make `s' const char *.
34645 (grub_arg_parse): Parse long options in place, not in a
34646 temporary buffer.
34647
4a11b60f 346482009-07-06 Pavel Roskin <proski@gnu.org>
34649
99f68041 34650 * commands/search.c (search_fs): Fix potential NULL pointer
34651 dereference.
34652
4a11b60f 34653 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34654 function pointer.
34655
e110f4de 346562009-07-06 Daniel Mierswa <impulze@impulze.org>
34657
34658 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34659 comparison.
34660
46eeb6a2 346612009-07-05 Pavel Roskin <proski@gnu.org>
34662
bab74958 34663 * include/grub/i386/linux.h (struct linux_kernel_params):
34664 Restore padding3, it's still needed.
34665
46eeb6a2 34666 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34667 FreeBSD.
34668 * util/osdetect.lua: Likewise.
34669
b4a1dc79 346702009-07-05 Bean <bean123ch@gmail.com>
34671
34672 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34673
34674 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34675 (grub_lua_getenv): Likewise.
34676 (grub_lua_setenv): Likewise.
34677 (save_errno): New function.
34678 (push_result): Likewise.
34679 (grub_lua_enum_device): Likewise.
34680 (grub_lua_enum_file): Likewise.
34681 (grub_lua_file_open): Likewise.
34682 (grub_lua_file_close): Likewise.
34683 (grub_lua_file_seek): Likewise.
34684 (grub_lua_file_read): Likewise.
34685 (grub_lua_file_getline): Likewise.
34686 (grub_lua_file_getsize): Likewise.
34687 (grub_lua_file_getpos): Likewise.
34688 (grub_lua_file_eof): Likewise.
34689 (grub_lua_file_exist): Likewise.
34690 (grub_lua_add_menu): Likewise.
34691
34692 * script/lua/grub_lua.h (isupper): New inline function.
34693 (islower): Likewise.
34694 (ispunct): Likewise.
34695 (isxdigit): Likewise.
34696 (strcspn): Change to normal function.
34697 (strpbkr): New function declaration.
34698 (memchr): Likewise.
34699
34700 * script/lua/grub_main.c (scan_str): New function.
34701 (strcspn): Likewise.
34702 (strpbrk): Likewise.
34703 (memchr): Likewise.
34704
34705 * script/lua/linit.c (lualibs): Enable the string library.
34706
34707 * util/osdetect.lua: New file.
34708
2da92295 347092009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34710
34711 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34712 `capabilities' member.
34713
b2582ec9 347142009-07-02 Pavel Roskin <proski@gnu.org>
34715
34716 * genparttoollist.sh: Add missing newline at the end.
34717
32622956 347182009-07-01 Pavel Roskin <proski@gnu.org>
34719
87a7339e 34720 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34721
d23af54e 34722 * util/hostdisk.c (open_device): Remove `const' from
34723 `sysctl_size', as sysctlbyname() can change it (in this case it
34724 doesn't actually happen).
34725
c94b18a9 34726 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34727 using signed long int constants.
34728
c6cd3ef0 34729 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34730 constant to avoid a warning on FreeBSD.
34731
0df63420 34732 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34733 where it's needed.
34734
999577f1 34735 * Makefile.in: Install include/grub/machine symlink.
34736
6f41557f 34737 * Makefile.in: When installing symlinks, use "cp -fR", which
34738 works on FreeBSD and MacOSX.
34739 From Yves Blusseau <cl7m42e02@sneakemail.com>
34740
c8d22988 34741 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34742 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34743
1b96e952 34744 * util/misc.c: Move grub_reboot() and grub_halt() ...
34745 * util/grub-emu.c: ... here. Make main_env static.
34746 * include/grub/util/misc.h: Remove main_env.
34747
2ef0084d 34748 * kern/mm.c: Use correct format to print size_t.
34749
32622956 34750 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34751 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34752 * kern/powerpc/dl.c: Likewise.
34753 * kern/sparc64/dl.c: Likewise.
34754 * kern/x86_64/dl.c: Likewise.
34755
3f7f0cd0 347562009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34757
34758 Fix grub-emu build on sparc64-ieee1275.
34759
75421ca9 34760 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 34761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34762
211d06b5 347632009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34764
34765 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34766 (grub_reboot, grub_halt): New functions.
34767
34768 * util/i386/pc/misc.c: Delete. Update all users.
34769 * util/sparc64/ieee1275/misc.c: Likewise.
34770 * util/powerpc/ieee1275/misc.c: Likewise.
34771
aaf53e3c 347722009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34773
34774 * conf/i386.rmk (setjmp_mod_SOURCES)
34775 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34776 * conf/common.rmk (setjmp_mod_SOURCES)
34777 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34778 to use $(target_cpu).
34779 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34780 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34781 * conf/powerpc-ieee1275.rmk: Likewise.
34782 * conf/sparc64-ieee1275.rmk: Likewise.
34783
34784 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34785 $(target_cpu) for kern/$(target_cpu)/dl.c.
34786 * conf/i386-efi.rmk: Likewise.
34787 * conf/i386-ieee1275.rmk: Likewise.
34788 * conf/x86_64-efi.rmk: Likewise.
34789 * conf/i386-coreboot.rmk: Likewise.
34790 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34791 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34792 kern/$(target_cpu)/cache.S.
34793 * conf/sparc64-ieee1275.rmk: Likewise.
34794
a337130b 347952009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34796
34797 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34798 type to `grub_uint8_t', and adjust `padding9' accordingly.
34799
c6fe4d53 348002009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34801
b09db61d 34802 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34803
c6fe4d53 34804 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34805 assembly in final jump, using register constraints.
34806
b09db61d 34807 (grub_linux_boot): For text mode, initialize `have_vga' using
34808 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34809
34810 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34811 right before the final jump.
34812
34813 Set `video_mode' to 0x3.
34814
34815 Document initialization of `video_page', `video_mode' and
34816 `video_ega_bx'.
34817
28333ad0 348182009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34819
34820 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34821 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 34822 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 34823
02164e1b 348242009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34825
34826 Fix build on Debian / sparc.
34827
34828 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34829
18b6c557 348302009-06-28 Pavel Roskin <proski@gnu.org>
34831
85f2aab6 34832 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34833 fix a warning.
34834
18b6c557 34835 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34836
ad760f81 348372009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34838
34839 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
34840 `err'.
34841
87a4623b 348422009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34843
34844 Revert r2338.
34845
34846 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
34847 file can't be opened. grub_file_open() is already supposed to set
75421ca9 34848 grub_errno / grub_errmsg appropriately.
87a4623b 34849 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34850
8231fb77 348512009-06-27 Pavel Roskin <proski@gnu.org>
348522009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34853
34854 * include/grub/dl.h: Include grub/elf.h.
34855 (struct grub_dl): Add symtab field.
34856 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
34857 GRUB_MODULES_MACHINE_READONLY.
34858 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
34859 of the header for read-only modules.
34860 (grub_dl_unload): Free mod->symtab for read-only modules.
34861 * kern/i386/dl.c: Use mod->symtab.
34862 * kern/powerpc/dl.c: Likewise.
34863 * kern/sparc64/dl.c: Likewise.
34864 * kern/x86_64/dl.c: Likewise.
34865
34866 * conf/i386-qemu.rmk: New file.
34867 * kern/i386/qemu/startup.S: Likewise.
34868 * kern/i386/qemu/mmap.c: Likewise.
34869 * boot/i386/qemu/boot.S: Likewise.
34870 * include/grub/i386/qemu/time.h: Likewise.
34871 * include/grub/i386/qemu/serial.h: Likewise.
34872 * include/grub/i386/qemu/kernel.h: Likewise.
34873 * include/grub/i386/qemu/console.h: Likewise.
34874 * include/grub/i386/qemu/boot.h: Likewise.
34875 * include/grub/i386/qemu/init.h: Likewise.
34876 * include/grub/i386/qemu/machine.h: Likewise.
34877 * include/grub/i386/qemu/loader.h: Likewise.
34878 * include/grub/i386/qemu/memory.h: Likewise.
34879
34880 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
34881 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
34882 [qemu] (pkglib_IMAGES): Add `boot.img'.
34883 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
34884 [qemu] (boot_img_FORMAT): New variables.
34885 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
34886 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
34887 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
34888 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
34889 [qemu] (kernel_img_FORMAT): New variables.
34890
34891 * configure.ac: Recognise `i386-qemu'.
34892
34893 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
34894 (for no compression).
34895 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
34896 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
34897 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
34898 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
34899 ifdefs).
34900
97fe384e 349012009-06-27 Pavel Roskin <proski@gnu.org>
34902
34903 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
34904 read.
34905 * efiemu/prepare32.c: Likewise.
34906 * efiemu/prepare64.c: Likewise.
34907
c402ab17 349082009-06-26 Pavel Roskin <proski@gnu.org>
34909
34910 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
34911 * include/grub/elf.h: Define symbols without "32" or "64" based
34912 on GRUB_TARGET_WORDSIZE.
34913 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
34914 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
34915 ELF definitions.
34916 * efiemu/loadcore64.c: Likewise.
34917 * loader/i386/bsd32.c: Likewise.
34918 * loader/i386/bsd64.c: Likewise.
34919 * kern/dl.c: Remove own ELF definitions.
34920 * util/i386/efi/grub-mkimage.c: Likewise.
34921
9bbdfd4d 349222009-06-23 Robert Millan <rmh.grub@aybabtu.com>
34923
34924 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
34925 segment 0x0 unconditionally, because the reference generated by
34926 GAS is an absolute address.
34927
a42ce6e9 349282009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34929
34930 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
34931 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
34932
c952cf92 349332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34934
34935 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
34936 indexes. Check for -f explicitly.
cc3752ad 34937 (search_file): Improve error message.
34938 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 34939
132a0a59 349402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34941
34942 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
34943 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
34944
387a140c 349452009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34946
34947 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
34948 * conf/i386-ieee1275.rmk: Likewise.
34949 * conf/i386-coreboot.rmk: Likewise.
34950
34951 * kern/i386/pc/startup.S (grub_stop): Remove function.
34952 * kern/i386/ieee1275/startup.S: Likewise.
34953 * kern/i386/coreboot/startup.S: Likewise.
34954 * kern/i386/misc.S (grub_stop): New function.
34955
41da9665 349562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34957
34958 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
34959 * kern/i386/realmode.S (real_to_prot): ... to here.
34960
bf337234 349612009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34962
34963 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
34964 with `kernel.img'.
34965 (kernel_elf_SOURCES): Rename to ...
34966 (kernel_img_SOURCES): ... this.
34967 (kernel_elf_HEADERS): Rename to ...
34968 (kernel_img_HEADERS): ... this. Update all users.
34969 (kernel_elf_ASFLAGS): Rename to ...
34970 (kernel_img_ASFLAGS): ... this.
34971 (kernel_elf_CFLAGS): Rename to ...
34972 (kernel_img_CFLAGS): ... this.
34973 (kernel_elf_LDFLAGS): Rename to ...
34974 (kernel_img_LDFLAGS): ... this.
34975 * conf/i386-coreboot.rmk: Likewise.
34976 * conf/powerpc-ieee1275.rmk: Likewise.
34977
34978 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
34979 with "kernel.img".
34980
f52196ff 349812009-06-21 Pavel Roskin <proski@gnu.org>
34982
c3cee413 34983 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
34984 to match nested functions.
34985 * loader/sparc64/ieee1275/linux.c: Likewise.
34986
f52196ff 34987 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
34988
58750afc 349892009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34990
34991 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
34992 all i386 platforms.
34993
15355c7d 349942009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34995
34996 Fix asm file handling on ELF, and remove workarounds.
34997
34998 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 34999 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35000 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35001 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35002
3f3ec72b 350032009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35004
35005 Load BSD ELF modules
35006
35007 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35008 and loader/i386/bsd64.c
35009 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35010 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35011 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35012 (grub_freebsd_load_elfmodule32): New declaration
35013 (grub_freebsd_load_elfmoduleobj64): Likewise
35014 (grub_freebsd_load_elf_meta32): Likewise
35015 (grub_freebsd_load_elf_meta64): Likewise
35016 (grub_freebsd_add_meta): Likewise
35017 (grub_freebsd_add_meta_module): Likewise
35018 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35019 (grub_freebsd_add_meta_module): Likewise and move module-specific
35020 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35021 (grub_cmd_freebsd): Add elf-kernel specific parts
35022 based on grub_freebsd_add_meta_module
35023 (grub_cmd_freebsd_module): Add type parsing moved from
35024 grub_freebsd_add_meta_module
35025 (grub_cmd_freebsd_module_elf): New function
35026 (cmd_freebsd_module_elf): New variable
35027 (GRUB_MOD_INIT): Register freebsd_module_elf
35028 * loader/i386/bsd32.c: New file
35029 * loader/i386/bsd64.c: Likewise
35030 * loader/i386/bsdXX.c: Likewise
35031 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35032 (grub_elf64_load): Likewise
35033 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35034 All users updated
35035 (grub_elf64_load_hook_t): Likewise
35036
0db15301 350372009-06-21 Colin Watson <cjwatson@ubuntu.com>
35038
35039 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35040 variable.
35041 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35042 don't write a menu entry for recovery mode.
35043
546796c1 350442009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35045
35046 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35047 after it's no longer needed.
35048
cd7310d5 350492009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35050
35051 * include/grub/i386/loader.h (grub_linux_prot_size)
35052 (grub_linux_tmp_addr, grub_linux_real_addr)
35053 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35054 GRUB_MACHINE_PCBIOS.
35055 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35056 common grub_util_info() call to ...
35057 (generate_image): ... here.
35058 Fix use of uninitialized memory, comparison of signed with
35059 unsigned integers and memory leak.
35060 Remove bogus module address message.
35061
ab32d3b5 350622009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35063
35064 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35065 grub_raid_register
35066 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35067
024ef597 350682009-06-19 Pavel Roskin <proski@gnu.org>
35069
35070 * configure.ac: Remove stray AC_MSG_CHECKING.
35071
3ac72b51 350722009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35073
35074 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35075
e14cd814 350762009-06-18 Pavel Roskin <proski@gnu.org>
35077
35078 * conf/common.rmk: Add fs_file.mod.
35079 * disk/fs_file.c: New file.
35080 * include/grub/disk.h (enum grub_disk_dev_id): Add
35081 GRUB_DISK_DEVICE_FILE_ID.
35082
26586d98 350832009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35084
35085 Fix build with Apple's toolchain. Part 2
35086
35087 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35088 a fake start
35089
26de2bcd 350902009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35091
35092 Fix build with Apple's toolchain. Part 1
35093
35094 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35095 for long calls
35096 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35097 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35098 Apple's toolchain
35099
09b3490b 351002009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35101
35102 Fix warnings
35103
35104 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35105 (decomp_block): initialize ch
35106 use grub_memcpy instead of memcpy
35107
c22a006a 351082009-06-17 Pavel Roskin <proski@gnu.org>
35109
d3638678 35110 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35111 version, use declarations needed to use vga_text as the startup
35112 console.
35113
c22a006a 35114 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35115 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35116 the kernel.
35117 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35118 and grub_at_keyboard_fini(), it's done on module load and
35119 unload.
35120
05b129e0 351212009-06-17 Felix Zielcke <fzielcke@z-51.de>
35122
35123 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35124 file can't be found.
35125 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35126
cf24ed9e 351272009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35128
35129 Fix newline handling
35130
35131 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35132 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35133 (grub_script_yylex): don't segfault on unterminated script
35134 newline terminates command and variable
35135
74aa8e4b 351362009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35137
35138 avoid double grub_adjust_range call. Bug reported by David Simner
35139
35140 * kern/disk.c (grub_disk_write): change to raw disk access before
35141 calling disk_read
35142
1bd265f3 351432009-06-17 Colin Watson <cjwatson@ubuntu.com>
35144
35145 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35146 spaces, for the benefit of help2man.
35147 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35148
a2d08c06 351492009-06-16 Pavel Roskin <proski@gnu.org>
35150
35151 * kern/i386/halt.c: Include grub/machine/init.h.
35152 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35153
b97bcb19 351542009-06-16 Felix Zielcke <fzielcke@z-51.de>
35155
35156 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35157 drivemap menuentry.
35158
0644f96c 351592009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35160
35161 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35162 `echo' command.
35163
3ef17a2e 351642009-06-16 Pavel Roskin <proski@gnu.org>
35165
35166 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35167 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35168 save %dx, we only need %dl and we never change it.
35169 * boot/i386/pc/cdboot.S: Don't set the root drive.
35170 * boot/i386/pc/pxeboot.S: Likewise.
35171 * include/grub/i386/pc/boot.h: Remove
35172 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35173 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35174 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35175 * kern/i386/pc/init.c (make_install_device): Remove references
35176 to grub_root_drive.
35177 * kern/i386/pc/startup.S: Likewise.
35178 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35179
693fe637 351802009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35181
35182 xnu_uuid command
35183
35184 * commands/xnu_uuid.c: new file
35185 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35186 (xnu_uuid_mod_SOURCES): new variable
35187 (xnu_uuid_mod_CFLAGS): likewise
35188 (xnu_uuid_mod_LDFLAGS): likewise
35189 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35190 * conf/i386-ieee1275.rmk: likewise
35191 * conf/i386-pc.rmk: likewise
35192 * conf/powerpc-ieee1275.rmk: likewise
35193 * conf/sparc64-ieee1275.rmk: likewise
35194 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35195
c9da87d0 351962009-06-16 Pavel Roskin <proski@gnu.org>
35197
35198 * configure.ac: Avoid '==' in test command, it's not portable.
35199
9c6f4596 352002009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35201
35202 Probe command
35203
35204 * commands/probe.c: new file
35205 * conf/common.rmk (pkglib_MODULES): add probe.mod
35206 (probe_mod_SOURCES): new variable
35207 (probe_mod_CFLAGS): likewise
35208 (probe_mod_LDFLAGS): likewise
35209 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35210 * conf/i386-ieee1275.rmk: likewise
35211 * conf/i386-pc.rmk: likewise
35212 * conf/powerpc-ieee1275.rmk: likewise
35213 * conf/sparc64-ieee1275.rmk: likewise
35214
70b7f9fd 352152009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35216
35217 Fix handling of string like \"hello\" and "a
35218 b"
35219
35220 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35221 (grub_script_yylex): fix parsing of quoting, escaping and newline
35222
71c79a6b 352232009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35224
dd74360c 35225 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35226 handling
dd74360c 35227
0644f96c 352282009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35229
35230 * util/grub-mkconfig.in: Fix parsing of --output option.
35231
e40893c3 352322009-06-12 Pavel Roskin <proski@gnu.org>
35233
35234 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35235 genmk.rb don't need to be generated or installed.
35236
3a1acfe2 352372009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35238
35239 * commands/i386/pc/drivemap_int13h.S: add more comments
35240
3a4575d4 352412009-06-11 Pavel Roskin <proski@gnu.org>
35242
0658e928 35243 * Makefile.in (uninstall): Uninstall manuals.
35244
ca0388f0 35245 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35246 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35247 and update-grub_lib in two places.
35248 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35249
e3b27c39 35250 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35251 a compiler warning.
35252
3a4575d4 35253 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35254 `entry_lo' to fix variable shadowing.
35255
af1f4f55 352562009-06-11 Christian Franke <franke@computer.org>
35257
35258 * kern/misc.c (__enable_execute_stack): Add missing return type
35259 to prevent gcc warning.
35260
5225e649 352612009-06-11 Felix Zielcke <fzielcke@z-51.de>
35262
35263 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35264
7d83bd47 352652009-06-11 Pavel Roskin <proski@gnu.org>
35266
c1cb63ba 35267 * Makefile.in: Don't rely on any scripts being executable.
35268 Always use $(SHELL) to run shell scripts.
35269
7d83bd47 35270 * configure.ac: Always define ___main if using -nostdlib. This
35271 fixes tests on Cygwin.
35272
948f48e7 352732009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35274
35275 UDF fix
35276
7d83bd47 35277 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35278 is in bytes and not in blocks
7d83bd47 35279
8ada9bc1 352802009-06-11 Pavel Roskin <proski@gnu.org>
35281
35282 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35283 warning.
35284
25ad2323 352852009-06-11 Felix Zielcke <fzielcke@z-51.de>
35286
35287 * util/grub.d/30_os-prober.in: Fix a comment. Source
35288 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35289 to set the root device. Place drivemap command in the generated
35290 chain entry.
35291
e65acb0c 352922009-06-11 Pavel Roskin <proski@gnu.org>
35293
35294 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35295 have long been resolved.
35296
f285fe2d 352972009-06-11 Colin Watson <cjwatson@ubuntu.com>
35298
bd47b0b5 35299 * util/grub.d/10_linux.in: Capitalise "Linux".
35300
f285fe2d 35301 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35302
a0c62e4e 353032009-06-11 Pavel Roskin <proski@gnu.org>
35304
b6783cb2 35305 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35306 fix a gcc warning and ensure that the function won't ever exit.
35307
dde032e8 35308 * kern/i386/ieee1275/init.c: Add missing prototype for
35309 grub_stop_floppy().
35310
22cd079d 35311 * loader/ieee1275/multiboot2.c [__i386__]: Include
35312 grub/cpu/multiboot.h.
35313
a0c62e4e 35314 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35315 casts to short - they are not portable and cause warnings. Fix
35316 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35317
63963d17 353182009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35319
35320 Drivemap fixes
35321
35322 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35323 new function
35324 (grub_get_root_biosnumber_saved): new variable
35325 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35326 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35327 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35328 %dx after the call if necessary
35329 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35330 (boot_mod_SOURCES): remove
35331 (boot_mod_CFLAGS): remove
35332 (boot_mod_LDFLAGS): remove
35333 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35334 (boot_mod_SOURCES): new variable
35335 (boot_mod_CFLAGS): likewise
35336 (boot_mod_LDFLAGS): likewise
35337 * conf/i386-efi.rmk: likewise
35338 * conf/i386-ieee1275.rmk: likewise
35339 * conf/i386-pc.rmk: likewise
35340 * conf/powerpc-ieee1275.rmk: likewise
35341 * conf/sparc64-ieee1275.rmk: likewise
35342 * conf/x86_64-efi.rmk: likewise
35343 * include/grub/i386/pc/biosnum.h: new file
35344 * lib/i386/pc/biosnum.c: likewise
35345 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35346 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35347 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35348
33abf7ae 353492009-06-10 Pavel Roskin <proski@gnu.org>
35350
5ac35b35 35351 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35352 Use separate variables. Read only the file size at the end, but
35353 not the checksum that we don't use.
35354
5c5215d5 35355 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35356 Adjust all callers.
35357
27d5fef7 35358 * kern/ieee1275/openfw.c: Remove libc includes.
35359 * kern/ieee1275/cmain.c: Likewise.
35360 * include/grub/ieee1275/ieee1275.h: Likewise.
35361
33abf7ae 35362 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35363 compiler warnings.
35364
19d50c2b 353652009-06-10 Felix Zielcke <fzielcke@z-51.de>
35366
35367 * Makefile.in: Remove all trailing whitespace.
35368 * conf/i386-pc.rmk: Likewise.
35369 * conf/powerpc-ieee1275.rmk: Likewise.
35370 * conf/sparc64-ieee1275.rmk: Likewise.
35371 * docs/grub.texi: Likewise.
35372 * docs/texinfo.tex: Likewise.
35373 * disk/fs_uuid.c: Likewise.
35374 * disk/lvm.c: Likewise.
35375 * disk/scsi.c: Likewise.
35376 * disk/ata.c: Likewise.
35377 * disk/ieee1275/ofdisk.c: Likewise.
35378 * disk/i386/pc/biosdisk.c: Likewise.
35379 * disk/host.c: Likewise.
35380 * disk/raid.c: Likewise.
35381 * disk/efi/efidisk.c: Likewise.
35382 * disk/usbms.c: Likewise.
35383 * disk/memdisk.c: Likewise.
35384 * disk/loopback.c: Likewise.
35385 * kern/powerpc/dl.c: Likewise.
35386 * kern/device.c: Likewise.
35387 * kern/dl.c: Likewise.
35388 * kern/sparc64/dl.c: Likewise.
35389 * kern/ieee1275/ieee1275.c: Likewise.
35390 * kern/term.c: Likewise.
35391 * kern/fs.c: Likewise.
35392 * kern/i386/dl.c: Likewise.
35393 * kern/i386/pc/startup.S: Likewise.
35394 * kern/i386/pc/init.c: Likewise.
35395 * kern/i386/pc/mmap.c: Likewise.
35396 * kern/i386/pc/lzo1x.S: Likewise.
35397 * kern/i386/ieee1275/init.c: Likewise.
35398 * kern/i386/realmode.S: Likewise.
35399 * kern/i386/tsc.c: Likewise.
35400 * kern/partition.c: Likewise.
35401 * kern/corecmd.c: Likewise.
35402 * kern/file.c: Likewise.
35403 * kern/efi/efi.c: Likewise.
35404 * kern/efi/init.c: Likewise.
35405 * kern/efi/mm.c: Likewise.
35406 * kern/main.c: Likewise.
35407 * kern/err.c: Likewise.
35408 * kern/env.c: Likewise.
35409 * kern/disk.c: Likewise.
35410 * kern/generic/millisleep.c: Likewise.
35411 * kern/generic/rtc_get_time_ms.c: Likewise.
35412 * kern/misc.c: Likewise.
35413 * kern/parser.c: Likewise.
35414 * genmk.rb: Likewise.
35415 * configure.ac: Likewise.
35416 * boot/i386/pc/diskboot.S: Likewise.
35417 * boot/i386/pc/pxeboot.S: Likewise.
35418 * boot/i386/pc/boot.S: Likewise.
35419 * boot/i386/pc/lnxboot.S: Likewise.
35420 * boot/i386/pc/cdboot.S: Likewise.
35421 * parttool/pcpart.c: Likewise.
35422 * video/readers/tga.c: Likewise.
35423 * video/video.c: Likewise.
35424 * video/bitmap.c: Likewise.
35425 * lib/envblk.c: Likewise.
35426 * lib/i386/setjmp.S: Likewise.
35427 * fs/xfs.c: Likewise.
35428 * fs/afs.c: Likewise.
35429 * fs/fat.c: Likewise.
35430 * fs/ntfs.c: Likewise.
35431 * fs/udf.c: Likewise.
35432 * fs/affs.c: Likewise.
35433 * fs/iso9660.c: Likewise.
35434 * fs/hfs.c: Likewise.
35435 * fs/fshelp.c: Likewise.
35436 * fs/ext2.c: Likewise.
35437 * fs/jfs.c: Likewise.
35438 * fs/reiserfs.c: Likewise.
35439 * fs/hfsplus.c: Likewise.
35440 * fs/minix.c: Likewise.
35441 * fs/cpio.c: Likewise.
35442 * fs/sfs.c: Likewise.
35443 * fs/ufs.c: Likewise.
35444 * efiemu/prepare.c: Likewise.
35445 * efiemu/loadcore_common.c: Likewise.
35446 * efiemu/runtime/efiemu.sh: Likewise.
35447 * efiemu/runtime/efiemu.S: Likewise.
35448 * efiemu/runtime/efiemu.c: Likewise.
35449 * efiemu/pnvram.c: Likewise.
35450 * efiemu/main.c: Likewise.
35451 * efiemu/i386/pc/cfgtables.c: Likewise.
35452 * efiemu/i386/loadcore64.c: Likewise.
35453 * efiemu/i386/loadcore32.c: Likewise.
35454 * efiemu/loadcore.c: Likewise.
35455 * efiemu/symbols.c: Likewise.
35456 * efiemu/mm.c: Likewise.
35457 * include/grub/autoefi.h: Likewise.
35458 * include/grub/datetime.h: Likewise.
35459 * include/grub/term.h: Likewise.
35460 * include/grub/hfs.h: Likewise.
35461 * include/grub/lvm.h: Likewise.
35462 * include/grub/i386/tsc.h: Likewise.
35463 * include/grub/i386/linux.h: Likewise.
35464 * include/grub/i386/xnu.h: Likewise.
35465 * include/grub/i386/efiemu.h: Likewise.
35466 * include/grub/i386/pc/biosdisk.h: Likewise.
35467 * include/grub/i386/pc/memory.h: Likewise.
35468 * include/grub/i386/pc/vbe.h: Likewise.
35469 * include/grub/parttool.h: Likewise.
35470 * include/grub/video.h: Likewise.
35471 * include/grub/memory.h: Likewise.
35472 * include/grub/fs.h: Likewise.
35473 * include/grub/partition.h: Likewise.
35474 * include/grub/xnu.h: Likewise.
35475 * include/grub/efi/api.h: Likewise.
35476 * include/grub/efi/pe32.h: Likewise.
35477 * include/grub/efi/memory.h: Likewise.
35478 * include/grub/multiboot.h: Likewise.
35479 * include/grub/usbdesc.h: Likewise.
35480 * include/grub/multiboot2.h: Likewise.
35481 * include/grub/acpi.h: Likewise.
35482 * include/grub/efiemu/efiemu.h: Likewise.
35483 * include/grub/disk.h: Likewise.
35484 * include/grub/ieee1275/ieee1275.h: Likewise.
35485 * include/grub/net.h: Likewise.
35486 * include/grub/machoload.h: Likewise.
35487 * include/grub/macho.h: Likewise.
35488 * include/multiboot.h: Likewise.
35489 * genmoddep.awk: Likewise.
35490 * normal/main.c: Likewise.
35491 * normal/menu_entry.c: Likewise.
35492 * normal/menu_viewer.c: Likewise.
35493 * normal/completion.c: Likewise.
35494 * normal/cmdline.c: Likewise.
35495 * normal/misc.c: Likewise.
35496 * normal/datetime.c: Likewise.
35497 * bus/usb/usbtrans.c: Likewise.
35498 * bus/usb/ohci.c: Likewise.
35499 * bus/usb/uhci.c: Likewise.
35500 * bus/usb/usb.c: Likewise.
35501 * mmap/efi/mmap.c: Likewise.
35502 * mmap/i386/pc/mmap_helper.S: Likewise.
35503 * mmap/i386/pc/mmap.c: Likewise.
35504 * mmap/i386/mmap.c: Likewise.
35505 * mmap/i386/uppermem.c: Likewise.
35506 * mmap/mmap.c: Likewise.
35507 * commands/acpi.c: Likewise.
35508 * commands/echo.c: Likewise.
35509 * commands/blocklist.c: Likewise.
35510 * commands/loadenv.c: Likewise.
35511 * commands/usbtest.c: Likewise.
35512 * commands/boot.c: Likewise.
35513 * commands/parttool.c: Likewise.
35514 * commands/search.c: Likewise.
35515 * commands/cat.c: Likewise.
35516 * commands/i386/pc/play.c: Likewise.
35517 * commands/i386/pc/drivemap.c: Likewise.
35518 * commands/i386/pc/vbeinfo.c: Likewise.
35519 * commands/i386/pc/acpi.c: Likewise.
35520 * commands/i386/pc/vbetest.c: Likewise.
35521 * commands/ls.c: Likewise.
35522 * commands/cmp.c: Likewise.
35523 * commands/test.c: Likewise.
35524 * commands/efi/acpi.c: Likewise.
35525 * commands/gptsync.c: Likewise.
35526 * commands/help.c: Likewise.
35527 * partmap/amiga.c: Likewise.
35528 * partmap/apple.c: Likewise.
35529 * partmap/acorn.c: Likewise.
35530 * partmap/pc.c: Likewise.
35531 * partmap/sun.c: Likewise.
35532 * partmap/gpt.c: Likewise.
35533 * script/sh/lexer.c: Likewise.
35534 * script/sh/function.c: Likewise.
35535 * font/font.c: Likewise.
35536 * font/font_cmd.c: Likewise.
35537 * loader/powerpc/ieee1275/linux.c: Likewise.
35538 * loader/efi/chainloader.c: Likewise.
35539 * loader/multiboot_loader.c: Likewise.
35540 * loader/macho.c: Likewise.
35541 * loader/i386/multiboot.c: Likewise.
35542 * loader/i386/linux.c: Likewise.
35543 * loader/i386/pc/linux.c: Likewise.
35544 * loader/i386/pc/multiboot2.c: Likewise.
35545 * loader/i386/pc/chainloader.c: Likewise.
35546 * loader/i386/pc/xnu.c: Likewise.
35547 * loader/i386/bsd_trampoline.S: Likewise.
35548 * loader/i386/efi/linux.c: Likewise.
35549 * loader/i386/multiboot_elfxx.c: Likewise.
35550 * loader/i386/bsd_helper.S: Likewise.
35551 * loader/i386/bsd.c: Likewise.
35552 * loader/i386/linux_trampoline.S: Likewise.
35553 * loader/i386/xnu_helper.S: Likewise.
35554 * loader/i386/xnu.c: Likewise.
35555 * loader/i386/bsd_pagetable.c: Likewise.
35556 * loader/i386/multiboot_helper.S: Likewise.
35557 * loader/xnu.c: Likewise.
35558 * loader/xnu_resume.c: Likewise.
35559 * io/gzio.c: Likewise.
35560 * term/efi/console.c: Likewise.
35561 * term/terminfo.c: Likewise.
35562 * term/ieee1275/ofconsole.c: Likewise.
35563 * term/i386/pc/serial.c: Likewise.
35564 * term/i386/pc/vesafb.c: Likewise.
35565 * term/i386/pc/vga.c: Likewise.
35566 * term/usb_keyboard.c: Likewise.
35567 * term/gfxterm.c: Likewise.
35568 * aclocal.m4: Likewise.
35569 * util/lvm.c: Likewise.
35570 * util/grub.d/30_os-prober.in: Likewise.
35571 * util/grub.d/10_hurd.in: Likewise.
35572 * util/console.c: Likewise.
35573 * util/grub-macho2img.c: Likewise.
35574 * util/grub-probe.c: Likewise.
35575 * util/hostfs.c: Likewise.
35576 * util/i386/pc/grub-mkimage.c: Likewise.
35577 * util/i386/pc/grub-setup.c: Likewise.
35578 * util/i386/efi/grub-mkimage.c: Likewise.
35579 * util/grub-mkconfig.in: Likewise.
35580 * util/raid.c: Likewise.
35581 * util/resolve.c: Likewise.
35582 * util/grub-mkdevicemap.c: Likewise.
35583 * util/grub-emu.c: Likewise.
35584 * util/getroot.c: Likewise.
35585 * util/hostdisk.c: Likewise.
35586 * util/usb.c: Likewise.
35587 * util/grub-editenv.c: Likewise.
35588 * util/misc.c: Likewise.
35589
d2d49665 355902009-06-10 Felix Zielcke <fzielcke@z-51.de>
35591
35592 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35593 `genparttoollist.sh'.
35594 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35595 Add `*.sh' to the list find searches for and change `mdate.sh'
35596 to `mdate-sh'.
35597
fe052e37 355982009-06-10 Pavel Roskin <proski@gnu.org>
35599
2763ac18 35600 * include/grub/multiboot2.h: Provide compatibility defines for
35601 multiboot2.h.
35602 * include/multiboot2.h: Include stdint.h only if needed, using
35603 angle brackets.
35604 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35605 grub/multiboot2.h.
35606 * loader/ieee1275/multiboot2.c: Likewise.
35607 * loader/multiboot2.c: Likewise.
35608 * loader/multiboot_loader.c: Likewise.
35609
437e6adc 35610 * configure.ac: Use -nostdlib when probing for the target. It
35611 should not be required to have libc for the target.
35612
06a6836c 35613 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35614 they fail without libc headers for the target.
35615 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35616 exports.
35617 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35618 preprocessor conditionals.
35619
fe052e37 35620 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35621 build system doesn't need to be aware of the tar.c internals.
35622
afd22553 356232009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35624
afd22553 35625 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35626
6b787c4f 356272009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35628
35629 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35630 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35631
356322009-06-09 Felix Zielcke <fzielcke@z-51.de>
35633
35634 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35635 aren't available if ata.mod gets used.
6b787c4f 35636
473d1e45 356372009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35638
473d1e45 35639 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35640 initialising controller.
473d1e45 35641 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35642
255a27d4 356432009-06-08 Felix Zielcke <fzielcke@z-51.de>
35644
35645 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35646 to choose between ata and biosdisk module on i386-pc.
35647
473d1e45 356482009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35649
d55842d8 35650 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35651 Subclass and Programming Interface fields in terms of the 3 byte
35652 Class Code register.
35653 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35654
fa5db0b1 35655 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35656 interface is OHCI. Add grub_dprintf for symmetry with
35657 bus/usb/uhci.c.
35658 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35659 interface is UHCI. Add interf variable for programming
35660 interface. Print interface with class/subclass.
35661
c0947beb 35662 * bus/usb/ohci.c: Set interf with correct field.
35663
69da8877 35664 * bus/usb/uhci.c: Remove unneeded doubled lines.
35665 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35666 Remove whitespace inside comment.
35667
9e172e30 356682009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35669
35670 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35671 as fallback an equivalent option without depth.
35672
de65ee2b 356732009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35674
35675 Not fail if unable to retrieve C/H/S on LBA disks
35676
473d1e45 35677 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35678 if unable to retrieve C/H/S on LBA disks
35679
b57ea2c9 356802009-06-08 Pavel Roskin <proski@gnu.org>
35681
35682 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35683 about aliasing.
35684
af361263 356852009-06-08 Felix Zielcke <fzielcke@z-51.de>
35686
35687 * Makefile.in (uninstall): Remove all $lib_DATA files.
35688
4c9ec6b3 356892009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35690
35691 Bugfix: install on partitionless device
35692
35693 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35694 is a whole disk
35695
e76fc924 356962009-06-08 Felix Zielcke <fzielcke@z-51.de>
35697
35698 * Makefile.in (uninstall): Remove all $include_DATA files.
35699
ba5a0d05 357002009-06-08 Felix Zielcke <fzielcke@z-51.de>
35701
35702 * commands/true.c: New file. Implement the true and false commands.
35703 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35704 (true_mod_SOURCES): New variable.
35705 (true_mod_CFLAGS): Likewise.
35706 (true_mod_LDFLAGS): Likewise.
35707
c8048e32 357082009-06-05 Colin D Bennett <colin@gibibit.com>
35709
35710 Optimized font character lookup using binary search instead of linear
35711 search. Fonts now are required to have the character index ordered by
35712 code point.
35713
35714 * font/font.c (load_font_index): Verify that fonts have ordered
35715 character indices.
35716 (find_glyph): Use binary search instead of linear search to find a
35717 character in a font.
35718
408305be 357192009-06-05 Michael Scherer <misc@mandriva.org>
35720
35721 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35722 uses case sensitive btree.
35723 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35724 only for case insensitive filesystems.
35725
8ee1e0d9 357262009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35727
35728 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35729 * conf/common.rmk (search_mod_CFLAGS): likewise
35730
a9966eb1 357312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35732
473d1e45 35733 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 35734 compensate a compiler bug
35735
9e7100fb 357362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35737
473d1e45 35738 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 35739 instead of '\b'
473d1e45 35740
ede21d71 357412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35742
35743 Definitions for creating asm symbols with Apple's CC
35744
35745 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35746 [APPLE_CC] (VARIABLE): likewise
35747
9dbf7653 357482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35749
35750 Disable lnxboot.img when compiled
35751 with Apple's CC
35752
35753 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35754 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35755 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35756 [! APPLE_CC] (CODE_LENG): skip
35757 [! APPLE_CC] (setup_sects): likewise
35758 [! APPLE_CC]: skip filling
473d1e45 35759
e93cdc3d 357602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35761
35762 Address in trampolines based on 32-bit registers when compiled
35763 with Apple's CC
35764
473d1e45 35765 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 35766 for addresses
35767 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35768
6c688477 357692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35770
35771 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35772
35773 * kern/misc.c [APPLE_CC] (memcpy): new function
35774 [APPLE_CC] (memmove): likewise
35775 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 35776 (memcpy): define alias conditionally on !APPLE_CC
6c688477 35777 (memset): likewise
35778 (abort): likewise
35779 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35780 APPLE_CC are defined
35781 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35782 (grub_assert_fail): make prototype conditional
35783
e37ffc5c 357842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35785
35786 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35787
473d1e45 35788 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35789 grub-macho2img
e37ffc5c 35790 (CLEANFILES): add grub-macho2img
35791 (grub_macho2img_SOURCES): new variable
35792 * kern/i386/pc/startup.S (bss_start): new variable
35793 (bss_end): likewise
35794 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35795 * util/grub-macho2img.c: new file
35796
cf00df31 357972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35798
35799 Use objconv when compiling with Apple's CC
35800
35801 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35802 (efiemu64.o): likewise
35803 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35804 when compiling with Apple's CC
35805 (efiemu64_s.o): likewise
35806 * configure.ac: check for objconv when compiling with Apple's CC
35807 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 35808
d119a20c 358092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35810
35811 Define segment as well as section when compiling with
35812 Apple's CC
35813
35814 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35815 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35816 (efiemu_convert_pointer): likewise
35817 (efiemu_set_virtual_address_map): likewise
35818 (efiemu_convert_pointer): likewise
35819 (efiemu_getcrc32): likewise
35820 (init_crc32_table): likewise
35821 (reflect): likewise
35822 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35823 (GRUB_MOD_DEP): likewise
473d1e45 35824
c8600122 358252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35826
35827 Allow a compilation without -mcmodel=large
35828
35829 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35830 when compiled without -mcmodel=large
473d1e45 35831 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 35832 without -mcmodel=large
473d1e45 35833 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 35834 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 35835
e8df1d4e 358362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35837
35838 Remove nested functions in efiemu core
35839
35840 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 35841
cc6c3ac1 358422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35843
35844 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
35845
35846 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
35847 temporary storage
473d1e45 35848 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
35849 using Apple's CC
cc6c3ac1 35850 (grub_cpu_is_tsc_supported): likewise
35851 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 35852
3e325901 358532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35854
35855 Absolute addressing through constant with Apple's cc
35856
35857 * kern/i386/pc/startup.S: Define necessary constants
35858 and address through it when using ABS with Apple's CC
35859 * boot/i386/pc/diskboot.S: likewise
35860 * boot/i386/pc/boot.S: likewise
35861 * boot/i386/pc/lnxboot.S: likewise
35862 * boot/i386/pc/cdboot.S: likewise
35863 * mmap/i386/pc/mmap_helper.S: likewise
35864 * commands/i386/pc/drivemap_int13h.S: likewise
35865
2b167a72 358662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35867
35868 Check if compiler is apple cc
35869
35870 * Makefile.in (ASFLAGS): new variable
35871 (TARGET_ASFLAGS): likewise
35872 (TARGET_MODULE_FORMAT): likewise
35873 (TARGET_APPLE_CC): likewise
35874 (OBJCONV): likewise
35875 (TARGET_IMG_CFLAGS): likewise
35876 (TARGET_CPPFLAGS): add includedir
35877 * configure.ac: call grub_apple_cc and grub_apple_target_cc
35878 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
35879 Check for linker script only if compiler isn't Apple's CC
35880 (TARGET_MODULE_FORMAT): set
35881 (TARGET_APPLE_CC): likewise
35882 (TARGET_ASFLAGS): likewise
35883 (ASFLAGS): likewise
35884 Check for objcopy only if compiler isn't Apple's CC
35885 Check for BSS symbol only if compiler isn't Apple's CC
35886 * genmk.rb: adapt nm options if we use Apple's utils
35887 * aclocal.m4 (grub_apple_cc): new test
35888 (grub_apple_target_cc): likewise
473d1e45 35889
fb14123e 358902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35891
35892 Simplify sed expressions and improve awk
35893
35894 * Makefile.in (install-local): simplify sed expression
35895 * gencmdlist.sh: likewise
35896 * genmoddep.awk: avoid adding module as a dependency of itself
35897
5b889789 358982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35899
35900 Add missing start symbols
35901
35902 * boot/i386/pc/boot.S: add start
fb14123e 35903 * boot/i386/pc/pxeboot.S: likewise
473d1e45 35904
fd2bf2e3 359052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35906
35907 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 35908
35909 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 35910 (relocate_addresses): consider both r_addend and value at offset
35911 (make_mods_section): zerofill modinfo and header
35912 (convert_elf): write prefix here
473d1e45 35913
5389763d 359142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35915
35916 Use .asciz instead of .string
35917
35918 * i386/pc/diskboot.S: use .asciz instead of .string
35919 * i386/pc/boot.S: likewise
35920 * include/grub/dl.h (GRUB_MOD_DEP): likewise
35921 (GRUB_MOD_NAME): likewise
473d1e45 35922
3eb5ed4e 359232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35924
35925 gfxpayload support
35926
35927 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
35928 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
35929 (grub_video_setup): remove
35930 (grub_video_set_mode): new prototype
35931 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
35932 (vid_mode): remove
35933 (linux_vesafb_res): compile only on PCBIOS
35934 (grub_linux_boot): support gfxpayload
35935 * loader/i386/pc/xnu.c (video_hook): new function
35936 (grub_xnu_set_video): support gfxpayload
35937 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
35938 (DEFAULT_VIDEO_HEIGHT): likewise
35939 (DEFAULT_VIDEO_FLAGS): likewise
35940 (DEFAULT_VIDEO_MODE): new definition
35941 (video_hook): new function
35942 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 35943 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 35944 loading xnu
35945 * video/video.c (grub_video_setup): removed
473d1e45 35946 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 35947 grub_video_setup
35948
4b0e1143 359492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35950
35951 Avoid calling biosdisk in drivemap
35952
35953 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
35954 (revparse_biosdisk): likewise
35955 (list_mappings): derive name from id directly
35956 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 35957
fda6cb98 359582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35959
35960 Script fixes
35961
35962 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
35963 (grub_lexer_param): add tokenonhold
35964 (grub_script_create_cmdline): remove cmdline. All callers updated
35965 (grub_script_function_create): make functionname
35966 grub_script_arg. All callers updated
35967 (grub_script_execute_argument_to_string): new prototype
35968 * kern/parser.c (state_transitions): reorder
35969 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 35970 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 35971 make global
35972 (grub_script_execute_cmdline): use new format
35973 * script/sh/function.c (grub_script_function_create): make functionname
35974 grub_script_arg. All callers updated
473d1e45 35975 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 35976 (grub_script_yylex): remove
35977 (grub_script_yylex2): renamed to ...
35978 (grub_script_yylex): ...renamed
35979 parse the expressions like a${b}c
35980 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
35981 (GRUB_PARSER_TOKEN_VAR): remove
35982 (GRUB_PARSER_TOKEN_NAME): likewise
35983 ("if"): declare as typeless
35984 ("while"): likewise
35985 ("function"): likewise
35986 ("else"): likewise
35987 ("then"): likewise
35988 ("fi"): likewise
35989 (text): remove
35990 (argument): likewise
35991 (script): accept empty scripts and make exit on error
35992 (arguments): use GRUB_PARSER_TOKEN_ARG
35993 (function): likewise
35994 (command): move error handling to script
35995 (menuentry): move grub_script_lexer_ref before
473d1e45 35996 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 35997 argument. All callers updated
35998
f4448a07 359992009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36000
36001 Prevent GRUB from probing floppies during boot.
36002
36003 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36004 * commands/search.c (options): Add --no-floppy.
36005 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36006 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36007 --no-floppy when searching for UUIDs.
36008
2bf5885a 360092009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36010
36011 Simplify the code duplication in commands/search.c.
36012
36013 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36014 (search_fs): ... this. Update all users.
36015
f6fd460a 360162009-06-03 Felix Zielcke <fzielcke@z-51.de>
36017
36018 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36019
cbb3c83e 360202009-05-28 Pavel Roskin <proski@gnu.org>
36021
57788cfd 36022 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36023 Remove the original symlink explicitly.
36024
cbb3c83e 36025 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36026 just one slash. That's how grub_fshelp_find_file() does it.
36027
cd0d5e30 360282009-05-26 Pavel Roskin <proski@gnu.org>
36029
f0f8bbe2 36030 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36031 to `str'.
36032
cd0d5e30 36033 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36034 possibly unused.
36035
8c2cab51 360362009-05-25 Christian Franke <franke@computer.org>
36037
36038 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36039 register.
36040 (grub_atapi_identify): Add wait after drive select.
36041 (grub_ata_identify): Do more strict status register check before
36042 calling grub_atapi_identify (). Suppress error message if status
36043 register is 0x00 after command failure. Add status register
36044 check after PIO read to avoid bogus identify due to stuck DRQ.
36045 Thanks to Pavel Roskin for testing.
36046 (grub_device_initialize): Remove unsafe status register check.
36047 Thanks to 'phcoder' for problem report and patch.
36048 Prevent sign extension in debug message.
36049
230c0ad6 360502009-05-23 Colin D Bennett <colin@gibibit.com>
36051
36052 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36053 definition file, and functions defined in `normal/menu.c' have had
36054 their prototypes moved to `include/grub/menu.h' for consistency.
36055
36056 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36057 from normal.h.
36058 (grub_menu_get_entry): Likewise.
36059 (grub_menu_get_timeout): Likewise.
36060 (grub_menu_set_timeout): Likewise.
36061 (grub_menu_execute_entry): Likewise.
36062 (grub_menu_execute_with_fallback): Likewise.
36063 (grub_menu_entry_run): Likewise.
36064
36065 * include/grub/normal.h: Re-ordered and grouped function
36066 prototypes by file that the function is defined in.
36067 (grub_menu_execute_callback): Removed; moved to menu.h.
36068 (grub_menu_get_entry): Likewise.
36069 (grub_menu_get_timeout): Likewise.
36070 (grub_menu_set_timeout): Likewise.
36071 (grub_menu_execute_entry): Likewise.
36072 (grub_menu_execute_with_fallback): Likewise.
36073 (grub_menu_entry_run): Likewise.
36074 (grub_menu_addentry): Renamed from this ...
36075 (grub_normal_add_menu_entry): ... to this.
36076
36077 * normal/main.c (grub_menu_addentry): Renamed from this ...
36078 (grub_normal_add_menu_entry): ... to this.
36079
36080 * script/sh/execute.c (grub_script_execute_menuentry): Update
36081 reference to renamed grub_menu_addentry function.
36082
861f03a5 360832009-05-23 Felix Zielcke <fzielcke@z-51.de>
36084
36085 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36086
96b1619a 360872009-05-22 Pavel Roskin <proski@gnu.org>
36088
bf6a5fb2 36089 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36090 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36091 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36092 compiling for the i386 targets, but not for the utilities.
36093
96b1619a 36094 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36095 to grub_uint8_t.
36096 (grub_root_drive): Likewise.
36097 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36098 remove alignment.
36099 (grub_root_drive): Change size to byte.
36100 (grub_start_addr): Remove.
36101 (grub_end_addr): Likewise.
36102 (grub_apm_bios_info): Likewise.
36103
b729776b 361042009-05-21 Felix Zielcke <fzielcke@z-51.de>
36105
36106 * normal/i386: Remove.
36107 * normal/powerpc: Likewise.
36108 * normal/sparc64: Likewise.
36109 * normal/x86_64: Likewise.
36110
0a15ce80 361112009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36112
36113 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36114 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36115 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36116
33db9015 361172009-05-18 Colin D Bennett <colin@gibibit.com>
36118
d6da58e6 36119 Display error messages when parsing a Lua statement fails.
36120 Previously, executing a syntactically invalid statement like
36121 ")foo" or "bar;" would silently fail.
33db9015 36122
36123 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36124 (grub_lua_parse_line): Improved reporting of Lua parser and
36125 execution errors.
33db9015 36126
46422c89 361272009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36128
36129 Remove -Werror which causes build to fail on some systems
36130
36131 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36132 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36133 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36134
22f53a96 361352009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36136
36137 trampoline for linux on 64-bit platform
36138
18f547ad 36139 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36140 loader/i386/efi/linux_trampoline.S
36141 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36142 declaration
d6da58e6 36143 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36144 here
22f53a96 36145 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36146 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36147 trampoline
22f53a96 36148 (jumpvector): removed
36149 (grub_linux_trampoline_start): new declaration
36150 (grub_linux_trampoline_end): likewise
36151 (grub_linux_boot): use trampoline when on 64-bit platform
36152 * loader/i386/linux.c: likewise
36153
cb5a0f40 361542009-05-16 Pavel Roskin <proski@gnu.org>
36155
36156 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36157 const to avoid a warning.
36158 (grub_lua_setenv): Likewise.
36159 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36160 lmsg to fix a warning.
36161
334f2c28 361622009-05-16 Felix Zielcke <fzielcke@z-51.de>
36163
36164 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36165 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36166 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36167 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36168 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36169 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36170 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36171 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36172
59e5d3ec 361732009-05-16 Felix Zielcke <fzielcke@z-51.de>
36174
36175 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36176
9d87a1ba 361772009-05-16 Bean <bean123ch@gmail.com>
36178
36179 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36180 (lua_mod_SOURCES): New variable.
36181 (lua_mod_CFLAGS): Likewise.
36182 (lua_mod_LDFLAGS): Likewise.
36183
36184 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36185 (setjmp_mod_SOURCES): New variable.
36186 (setjmp_mod_CFLAGS): Likewise.
36187 (setjmp_LDFLAGS): Likewise.
36188
36189 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36190 (setjmp_mod_SOURCES): New variable.
36191 (setjmp_mod_CFLAGS): Likewise.
36192 (setjmp_LDFLAGS): Likewise.
36193
36194 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36195 (setjmp_mod_SOURCES): New variable.
36196 (setjmp_mod_CFLAGS): Likewise.
36197 (setjmp_LDFLAGS): Likewise.
36198
36199 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36200 (setjmp_mod_SOURCES): New variable.
36201 (setjmp_mod_CFLAGS): Likewise.
36202 (setjmp_LDFLAGS): Likewise.
36203
36204 * normal/i386/setjmp.S: Moved from here ...
36205 * lib/i386/setjmp.S: ... Moved here
36206 * normal/x86_64/setjmp.S: Moved from here ...
36207 * lib/x86_64/setjmp.S: ... Moved here
36208 * normal/powerpc/setjmp.S: Moved from here ...
36209 * lib/powerpc/setjmp.S: ... Moved here
36210 * normal/sparc64/setjmp.S: Moved from here ...
36211 * lib/sparc64/setjmp.S: ... Moved here
36212
36213 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36214 returns_twice in mingw.
36215
36216 * script/lua/grub_lib.c: New file.
36217 * script/lua/grub_lib.h: Likewise.
36218 * script/lua/grub_lua.h: Likewise.
36219 * script/lua/grub_main.c: Likewise.
36220 * script/lua/lapi.c: Likewise.
36221 * script/lua/lapi.h: Likewise.
36222 * script/lua/lauxlib.c: Likewise.
36223 * script/lua/lauxlib.h: Likewise.
36224 * script/lua/lbaselib.c: Likewise.
36225 * script/lua/lcode.c: Likewise.
36226 * script/lua/lcode.h: Likewise.
36227 * script/lua/ldblib.c: Likewise.
36228 * script/lua/ldebug.c: Likewise.
36229 * script/lua/ldebug.h: Likewise.
36230 * script/lua/ldo.c: Likewise.
36231 * script/lua/ldo.h: Likewise.
36232 * script/lua/ldump.c: Likewise.
36233 * script/lua/lfunc.c: Likewise.
36234 * script/lua/lfunc.h: Likewise.
36235 * script/lua/lgc.c: Likewise.
36236 * script/lua/lgc.h: Likewise.
36237 * script/lua/linit.c: Likewise.
36238 * script/lua/liolib.c: Likewise.
36239 * script/lua/llex.c: Likewise.
36240 * script/lua/llex.h: Likewise.
36241 * script/lua/llimits.h: Likewise.
36242 * script/lua/lmathlib.c: Likewise.
36243 * script/lua/lmem.c: Likewise.
36244 * script/lua/lmem.h: Likewise.
36245 * script/lua/loadlib.c: Likewise.
36246 * script/lua/lobject.c: Likewise.
36247 * script/lua/lobject.h: Likewise.
36248 * script/lua/lopcodes.c: Likewise.
36249 * script/lua/lopcodes.h: Likewise.
36250 * script/lua/loslib.c: Likewise.
36251 * script/lua/lparser.c: Likewise.
36252 * script/lua/lparser.h: Likewise.
36253 * script/lua/lstate.c: Likewise.
36254 * script/lua/lstate.h: Likewise.
36255 * script/lua/lstring.c: Likewise.
36256 * script/lua/lstring.h: Likewise.
36257 * script/lua/lstrlib.c: Likewise.
36258 * script/lua/ltable.c: Likewise.
36259 * script/lua/ltable.h: Likewise.
36260 * script/lua/ltablib.c: Likewise.
36261 * script/lua/ltm.c: Likewise.
36262 * script/lua/ltm.h: Likewise.
36263 * script/lua/lua.h: Likewise.
36264 * script/lua/luaconf.h: Likewise.
36265 * script/lua/lualib.h: Likewise.
36266 * script/lua/lundump.c: Likewise.
36267 * script/lua/lundump.h: Likewise.
36268 * script/lua/lvm.c: Likewise.
36269 * script/lua/lvm.h: Likewise.
36270 * script/lua/lzio.c: Likewise.
36271 * script/lua/lzio.h: Likewise.
36272
5e898c9d 362732009-05-16 Bean <bean123ch@gmail.com>
36274
36275 * include/grub/kernel.h (grub_module_header_types): Add type
36276 OBJ_TYPE_CONFIG.
36277
36278 * kern/main.c (grub_load_config): New function.
36279 (grub_main): Call grub_load_config to read boot config.
36280
36281 * grub-mkimage (generate_image): New parameter config_path.
36282 (options): New option --config.
36283 (main): Parse --config option, and pass it to generate_image.
36284
cf353a47 362852009-05-14 Christian Franke <franke@computer.org>
36286
36287 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36288 This fixes build on Cygwin.
36289
3834887f 362902009-05-14 Pavel Roskin <proski@gnu.org>
36291
36292 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36293 jump. This saves two bytes, so the typical case of 2 swapped
36294 drives would fit 32 bytes.
36295
8090fc01 362962009-05-13 Pavel Roskin <proski@gnu.org>
36297
ac963883 36298 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36299 grub_uint32_t to avoid a warning.
36300
8090fc01 36301 * loader/i386/linux.c (allocate_pages): When assigning
36302 real_mode_mem, cast through grub_size_t to fix a warning. The
36303 code already makes sure that the value would fit a pointer.
36304 (grub_linux_setup_video): Cast render_target->data to
36305 grub_size_t to fix a warning.
36306
18f547ad 363072009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36308
36309 * commands/i386/pc/drivemap.c: New file - implement drivemap
36310 command.
36311 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36312 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36313
6f6a8b28 363142009-05-13 Pavel Roskin <proski@gnu.org>
36315
36316 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36317 embedding_area_exists.
36318
15fbf4c4 363192009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36320
36321 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36322 it easier to understand / work with.
59978c8a 36323 Improve warning messages for cases where there's no embedding area,
36324 or when it is too small (or core.img too large).
15fbf4c4 36325
238e871f 363262009-05-13 Pavel Roskin <proski@gnu.org>
36327
0ab3a9a4 36328 * loader/i386/pc/multiboot2.c: Add necessary includes for
36329 grub_multiboot2_real_boot().
36330
a2c8c5f8 36331 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36332 PX record is always little-endian. We only need the lower 2
36333 bytes of the mode.
36334
faec96af 36335 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36336 facilitate code reuse.
36337 (grub_cpio_mount): Use "struct head", not a char buffer. This
36338 fixes a warning reported by gcc 4.4.
36339
238e871f 36340 * kernel/disk.c (grub_disk_read): Use void pointer for the
36341 buffer.
36342 (grub_disk_write): Use const void pointer for the buffer.
36343 Adjust all callers. Remove unnecessary casts.
36344
901d2f0c 363452009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36346
36347 * util/i386/pc/grub-install.in: Update copyright year.
36348
18f547ad 363492009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36350
36351 gptsync
36352
36353 * commands/gptsync.c: new file
36354 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36355 (gptsync_mod_SOURCES): new variable
36356 (gptsync_mod_CFLAGS): likewise
36357 (gptsync_mod_LDFLAGS): likewise
18f547ad 36358 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36359 new definition
36360 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36361 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36362 * conf/i386-ieee1275.rmk: likewise
36363 * conf/i386-pc.rmk: likewise
36364 * conf/powerpc-ieee1275.rmk: likewise
36365
b4ba690a 363662009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36367
36368 Fixed grub-emu
36369
36370 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36371 (grub_dl_ref): likewise
36372
317e1a44 363732009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36374
36375 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36376 split in two functions (one for msdos and one for gpt).
36377
041b8094 363782009-05-08 Pavel Roskin <proski@gnu.org>
36379
752473c2 36380 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36381 not modified.
36382
041b8094 36383 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36384 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36385 Initialize them with -1. Add sanity check for bad1. Eliminate
36386 nerr variable.
36387
172800ce 363882009-05-08 David S. Miller <davem@davemloft.net>
36389
36390 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36391
29aa5e81 363922009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36393
36394 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36395 existence.
29aa5e81 36396
96613b62 363972009-05-05 Felix Zielcke <fzielcke@z-51.de>
36398
36399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36400 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36401
eef73c8a 364022009-05-05 David S. Miller <davem@davemloft.net>
36403
36404 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36405
119494b5 364062009-05-05 Pavel Roskin <proski@gnu.org>
36407
36408 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36409 of grub_dl_ref() and grub_dl_unref().
36410 * commands/parttool.c: Remove preprocessor conditionals around
36411 grub_dl_ref() and grub_dl_unref().
36412 * fs/affs.c: Likewise.
36413 * fs/afs.c: Likewise.
36414 * fs/cpio.c: Likewise.
36415 * fs/ext2.c: Likewise.
36416 * fs/fat.c: Likewise.
36417 * fs/hfs.c: Likewise.
36418 * fs/hfsplus.c: Likewise.
36419 * fs/iso9660.c: Likewise.
36420 * fs/jfs.c: Likewise.
36421 * fs/minix.c: Likewise.
36422 * fs/ntfs.c: Likewise.
36423 * fs/reiserfs.c: Likewise.
36424 * fs/sfs.c: Likewise.
36425 * fs/udf.c: Likewise.
36426 * fs/ufs.c: Likewise.
36427 * fs/xfs.c: Likewise.
36428 * include/grub/dl.h: Likewise.
36429 * loader/xnu.c: Likewise.
36430
de5fd76e 364312009-05-04 Pavel Roskin <proski@gnu.org>
36432
36433 * commands/acpi.c: Remove unused variable my_mod.
36434 * partmap/amiga.c: Likewise.
36435 * partmap/apple.c: Likewise.
36436 * partmap/gpt.c: Likewise.
36437 * partmap/pc.c: Likewise.
36438 * partmap/sun.c: Likewise.
36439 * term/gfxterm.c: Likewise.
36440 * term/i386/pc/vesafb.c: Likewise.
36441 * term/i386/pc/vga.c: Likewise.
36442
983598ad 364432009-05-04 David S. Miller <davem@davemloft.net>
36444
36445 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36446 pointer args to grub_ieee1275_get_property().
36447
8aadec43 36448 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36449
9554b15e 36450 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36451 devices, and do not traverse down under controller nodes.
36452
67e23c90 36453 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36454 (grub_ofdisk_open): Use it to un-escape "," characters.
36455 * kern/disk.c (find_part_sep): New.
36456 (grub_disk_open): Use it to find the first non-escaped ','
36457 character in the disk name.
36458 * util/ieee1275/devicemap.c (escape_of_path): New.
36459 (grub_util_emit_devicemap_entry): Use it.
36460 * util/sparc64/ieee1275/grub-install.in: Update script to
36461 strip partition specifiers properly by not triggering on
36462 '\' escaped ',' characters.
36463
74bfdd2f 364642009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36465
36466 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36467 to 0x300.
36468 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36469 resolutions.
36470 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36471 on documentation from Wikipedia).
36472
4241d2b1 364732009-05-04 Pavel Roskin <proski@gnu.org>
36474
36475 * disk/ata.c: Spelling fixes.
36476 * disk/raid.c: Likewise.
36477 * disk/usbms.c: Likewise.
36478 * disk/dmraid_nvidia.c: Likewise.
36479 * kern/ieee1275/openfw.c: Likewise.
36480 * kern/ieee1275/init.c: Likewise.
36481 * kern/ieee1275/cmain.c: Likewise.
36482 * boot/i386/pc/cdboot.S: Likewise.
36483 * video/readers/png.c: Likewise.
36484 * video/i386/pc/vbe.c: Likewise.
36485 * fs/udf.c: Likewise.
36486 * fs/hfs.c: Likewise.
36487 * fs/reiserfs.c: Likewise.
36488 * efiemu/runtime/efiemu.c: Likewise.
36489 * efiemu/main.c: Likewise.
36490 * efiemu/mm.c: Likewise.
36491 * include/grub/elf.h: Likewise.
36492 * include/grub/xnu.h: Likewise.
36493 * include/grub/usbdesc.h: Likewise.
36494 * include/grub/usb.h: Likewise.
36495 * include/grub/script_sh.h: Likewise.
36496 * include/grub/lib/LzmaEnc.h: Likewise.
36497 * include/grub/efiemu/efiemu.h: Likewise.
36498 * include/grub/command.h: Likewise.
36499 * normal/menu.c: Likewise.
36500 * normal/main.c: Likewise.
36501 * normal/datetime.c: Likewise.
36502 * bus/usb/uhci.c: Likewise.
36503 * mmap/i386/uppermem.c: Likewise.
36504 * mmap/mmap.c: Likewise.
36505 * commands/acpi.c: Likewise.
36506 * commands/test.c: Likewise.
36507 * partmap/apple.c: Likewise.
36508 * font/font.c: Likewise.
36509 * loader/sparc64/ieee1275/linux.c: Likewise.
36510 * loader/macho.c: Likewise.
36511 * loader/i386/bsd_trampoline.S: Likewise.
36512 * loader/i386/bsd.c: Likewise.
36513 * loader/xnu.c: Likewise.
36514 * term/i386/pc/vesafb.c: Likewise.
36515 * term/usb_keyboard.c: Likewise.
36516 * util/resolve.c: Likewise.
36517 * util/getroot.c: Likewise.
36518
0cfc0083 365192009-05-04 Felix Zielcke <fzielcke@z-51.de>
36520
36521 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36522
7c1d00cd 365232009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36524
36525 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36526 build error.
36527
b01f0548 365282009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36529
36530 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36531 parameter only available on BIOS.
36532
ecc3eb22 365332009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36534
36535 Removed wrong semicolon in declaration
36536
36537 * grub/misc.h (grub_dprintf): remove semicolon
36538
112972a9 365392009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36540
36541 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36542 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36543 is done by grub_cmd_linux() now).
36544 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36545 restore video to text mode.
36546 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36547 indicates lack of "vga=" parameter. "vga=0" is mapped to
36548 `GRUB_LINUX_VID_MODE_NORMAL'.
36549
afd5c115 365502009-05-04 Felix Zielcke <fzielcke@z-51.de>
36551
36552 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36553 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36554 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36555 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36556 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36557 `grub_script.tab.c'.
36558
36559 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36560 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36562 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36563 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36564
faa517ce 36565 * Makefile.in: Remove duplicated 2008 in Copyright line.
36566
ae0c0bdc 365672009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36568
473d1e45 36569 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36570 unconditionally.
36571 * include/grub/util/misc.h (grub_util_warn): New declaration.
36572
36573 * util/i386/pc/grub-install.in: Understand --force and pass it down
36574 to grub-setup.
36575
36576 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36577 down to setup().
36578 (setup): Improve error messages and add warnings when requested to
36579 install in odd layouts. Refuse to install using blocklists unless
36580 --force was set.
36581
18f547ad 365822009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36583
36584 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36585
6d260daa 365862009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36587
36588 Updated copyright year
36589
36590 * fs/hfsplus.c: updated copyright year
18f547ad 36591
69f853f8 365922009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36593
36594 HFS+ UUID
36595
18f547ad 36596 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36597 in the space previously used by unused3
36598 (grub_hfsplus_uuid): new function
36599 (grub_hfsplus_fs): added uuid field
36600
4c402e73 366012009-05-03 Pavel Roskin <proski@gnu.org>
36602
36603 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36604 suppress warnings. It's no longer needed.
36605 * disk/host.c: Likewise.
36606 * disk/ata_pthru.c: Likewise.
36607 * disk/loopback.c: Likewise.
36608 * hook/datehook.c: Likewise.
36609 * parttool/pcpart.c: Likewise.
36610 * fs/i386/pc/pxe.c: Likewise.
36611 * fs/ntfscomp.c: Likewise.
36612 * efiemu/main.c: Likewise.
36613 * mmap/mmap.c: Likewise.
36614 * commands/crc.c: Likewise.
36615 * commands/hexdump.c: Likewise.
36616 * commands/hdparm.c: Likewise.
36617 * commands/acpi.c: Likewise.
36618 * commands/echo.c: Likewise.
36619 * commands/minicmd.c: Likewise.
36620 * commands/blocklist.c: Likewise.
36621 * commands/memrw.c: Likewise.
36622 * commands/loadenv.c: Likewise.
36623 * commands/usbtest.c: Likewise.
36624 * commands/lsmmap.c: Likewise.
36625 * commands/boot.c: Likewise.
36626 * commands/parttool.c: Likewise.
36627 * commands/configfile.c: Likewise.
36628 * commands/search.c: Likewise.
36629 * commands/ieee1275/suspend.c: Likewise.
36630 * commands/cat.c: Likewise.
36631 * commands/i386/pc/pxecmd.c: Likewise.
36632 * commands/i386/pc/play.c: Likewise.
36633 * commands/i386/pc/halt.c: Likewise.
36634 * commands/i386/pc/vbeinfo.c: Likewise.
36635 * commands/i386/pc/vbetest.c: Likewise.
36636 * commands/lspci.c: Likewise.
36637 * commands/date.c: Likewise.
36638 * commands/handler.c: Likewise.
36639 * commands/ls.c: Likewise.
36640 * commands/test.c: Likewise.
36641 * commands/cmp.c: Likewise.
36642 * commands/efi/loadbios.c: Likewise.
36643 * commands/efi/fixvideo.c: Likewise.
36644 * commands/halt.c: Likewise.
36645 * commands/help.c: Likewise.
36646 * commands/reboot.c: Likewise.
36647 * hello/hello.c: Likewise.
36648 * script/sh/main.c: Likewise.
36649 * loader/xnu.c: Likewise.
36650 * term/terminfo.c: Likewise.
36651 * term/i386/pc/serial.c: Likewise.
36652 * term/usb_keyboard.c: Likewise.
36653
515b5079 366542009-05-03 David S. Miller <davem@davemloft.net>
36655
36656 * normal/menu.c: Include grub/parser.h
36657
dfc31a22 366582009-05-03 Pavel Roskin <proski@gnu.org>
36659
2fee74f1 36660 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36661 not char*.
36662 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36663 Suggested by Javier Martín <lordhabbit@gmail.com>
36664
dfc31a22 36665 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36666 efiemu??.o doesn't exist.
36667 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36668 copying.
36669
18f547ad 366702009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36671
36672 FreeBSD 64-bit support
36673
18f547ad 36674 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36675 and loader/i386/bsd_trampoline.S
36676 (bsd_mod_ASFLAGS): new variable
36677 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36678 (FREEBSD_MODTYPE_KERNEL64): likewise
36679 (grub_bsd64_trampoline_start): likewise
36680 (grub_bsd64_trampoline_end): likewise
36681 (grub_bsd64_trampoline_selfjump): likewise
36682 (grub_bsd64_trampoline_gdt): likewise
36683 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36684 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36685 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36686 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36687 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36688 of "attrib" member
36689 * loader/i386/bsd_pagetable.c: new file
36690 * loader/i386/bsd_trampoline.S: likewise
36691 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36692 (ALIGN_VAR): likewise
36693 (entry_hi): new variable
36694 (kern_end_mdofs): likewise
36695 (is_64bit): likewise
36696 (grub_freebsd_add_meta): use ALIGN_VAR
36697 (grub_e820_mmap): new declaration
36698 (grub_freebsd_add_mmap): new function
36699 (grub_freebsd_add_meta_module): support 64 bit kernels
36700 (grub_freebsd_list_modules): use ALIGN_VAR
36701 (gdt_descriptor): new declaration
36702 (grub_freebsd_boot): support 64 bit kernels
36703 (grub_bsd_elf64_hook): new function
36704 (grub_bsd_load_elf): support elf64
36705
038c5720 367062009-05-03 Bean <bean123ch@gmail.com>
36707
36708 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36709 after we get the result of if statement.
36710
fc45fb58 367112009-05-03 Bean <bean123ch@gmail.com>
36712
36713 * Makefile.in (enable_efiemu): New variable.
36714
36715 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36716 set.
36717 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36718 path.
36719 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36720 path, add -mno-red-zone option.
36721 (efiemu64_s.o): Likewise.
36722 (efiemu64.o): Use macro $^ for source file.
36723
36724 * configure.ac (--enable-efiemu): New option.
36725
bbee0f2b 367262009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36727
36728 xnu support
36729
36730 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36731 (pkglib_MODULES): add xnu.mod
36732 (xnu_mod_SOURCES): new variable
36733 (xnu_mod_CFLAGS): likewise
36734 (xnu_mod_LDFLAGS): likewise
36735 (xnu_mod_ASFLAGS): likewise
36736 * conf/i386-pc.rmk: likewise
36737 * conf/x86_64-efi.rmk: likewise
7dd4a573 36738 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 36739 new declaration
36740 * include/grub/i386/macho.h: new file
36741 * include/grub/i386/xnu.h: likewise
36742 * include/grub/macho.h: likewise
36743 * include/grub/machoload.h: likewise
36744 * include/grub/x86_64/macho.h: likewise
36745 * include/grub/x86_64/xnu.h: likewise
36746 * include/grub/xnu.h: likewise
36747 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36748 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36749 * loader/i386/efi/xnu.c: new file
36750 * loader/i386/pc/xnu.c: likewise
36751 * loader/i386/xnu.c: likewise
36752 * loader/i386/xnu_helper.S: likewise
36753 * loader/macho.c: likewise
36754 * loader/xnu.c: likewise
36755 * loader/xnu_resume.c: likewise
36756 * util/grub-dumpdevtree: likewise
36757 * include/grub/i386/pit.h: include grub/err.h
36758 (grub_pit_wait): export
36759 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 36760
5caf964d 367612009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36762
36763 Efiemu
7dd4a573 36764
5caf964d 36765 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 36766 _linux_efi, linux_efi.
36767 new files in grub-emu
5caf964d 36768 new targets efiemu32.o and efiemu64.o
36769 * loader/linux_normal_efiemu.c: likewise
36770 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 36771 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 36772 files to copy
36773 * include/grub/autoefi.h: new file
7dd4a573 36774 * include/grub/i386/efiemu.h: likewise
5caf964d 36775 * include/grub/i386/pc/efiemu.h: likewise
36776 * include/grub/efi/api.h: add LL suffix when necessary
36777 new definitions relating to tables
36778 * include/grub/efiemu/efiemu.h: new file
36779 * include/grub/efiemu/runtime.h: likewise
36780 * efiemu/prepare.c: likewise
36781 * efiemu/loadcore_common.c: likewise
36782 * efiemu/loadcore64.c: likewise
36783 * efiemu/runtime/efiemu.sh: likewise
36784 * efiemu/runtime/efiemu.S: likewise
36785 * efiemu/runtime/efiemu.c: likewise
36786 * efiemu/runtime/config.h: likewise
36787 * efiemu/prepare32.c: likewise
36788 * efiemu/main.c: likewise
36789 * efiemu/modules/pnvram.c: likewise
36790 * efiemu/modules/i386: likewise
36791 * efiemu/modules/i386/pc: likewise
36792 * efiemu/modules/acpi.c: likewise
36793 * efiemu/i386/pc/cfgtables.c: likewise
36794 * efiemu/i386/loadcore64.c: likewise
36795 * efiemu/i386/loadcore32.c: likewise
36796 * efiemu/prepare64.c: likewise
36797 * efiemu/loadcore.c: likewise
36798 * efiemu/symbols.c: likewise
36799 * efiemu/mm.c: likewise
36800 * efiemu/loadcore32.c: likewise
7dd4a573 36801
368022009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 36803
36804 ACPI spoofing
36805
36806 * commands/acpi.c: new file
36807 * commands/i386/pc/acpi.c: likewise
36808 * commands/efi/acpi.c: likewise
36809 * include/grub/acpi.h: likewise
36810 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36811 (acpi_mod_SOURCES): new variable
36812 (acpi_mod_CFLAGS): likewise
36813 (acpi_mod_LDFLAGS): likewise
36814 * conf/i386-efi.rmk: likewise
36815 * conf/x86_64-efi.rmk: likewise
36816
7dd4a573 368172009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 36818
36819 Missing part from mmap patch
36820
36821 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36822 (grub_mmap_unregister)
36823 (grub_mmap_free_and_unregister): use grub_mmap_register
36824
7dd4a573 368252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 36826
36827 Mmap services
36828
36829 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36830 * loader/i386/linux.c (find_mmap_size): likewise
36831 (allocate_pages): likewise
36832 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36833 (grub_fill_multiboot_mmap): likewise
36834 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36835 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36836 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
36837 (OPENBSD_MMAP_RESERVED): likewise
36838 * include/grub/i386/pc/memory.h: include grub/memory.h
36839 (grub_lower_mem): removed
36840 (grub_upper_mem): likewise
36841 (GRUB_MACHINE_MEMORY_ACPI): new definition
36842 (GRUB_MACHINE_MEMORY_NVS): likewise
36843 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
36844 (GRUB_MACHINE_MEMORY_HOLE): likewise
36845 (grub_machine_mmap_register): likewise
36846 (grub_machine_mmap_unregister): likewise
36847 (grub_machine_get_upper): likewise
36848 (grub_machine_get_lower): likewise
36849 (grub_machine_get_post64): likewise
36850 * include/grub/i386/efi/memory.h: new file
36851 * include/grub/x86_64/efi/memory.h: likewise
36852 * include/grub/efi/memory.h: likewise
36853 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
36854 (mmap_mod_SOURCES): new variable
36855 (mmap_mod_LDFLAGS): likewise
36856 (mmap_mod_ASFLAGS): likewise
36857 * conf/i386-coreboot.rmk: likewise
36858 * conf/i386-ieee1275.rmk: likewise
36859 * conf/i386-efi.rmk: likewise
36860 * conf/x86_64-efi.rmk: likewise
36861 * include/grub/types.h (UINT_TO_PTR): new macro
36862 (PTR_TO_UINT32): likewise
36863 (PTR_TO_UINT64): likewise
36864 * include/grub/memory.h: new file
36865 * mmap/i386/pc/mmap.c: likewise
36866 * mmap/i386/pc/mmap_helper.S: likewise
36867 * mmap/i386/uppermem.c: likewise
36868 * mmap/mmap.c: likewise
36869 * mmap/efi/mmap.c: likewise
7dd4a573 36870 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 36871 grub_upper_mem
36872 * kern/i386/pc/init.c (grub_lower_mem): removed variable
36873 (grub_upper_mem): likewise
36874 (grub_machine_init): don't use grub_upper_mem,
36875 make grub_lower_mem local
36876 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
36877 grub_mmap_iterate and grub_mmap_get_upper
36878 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
36879
d558e6b5 368802009-05-02 Bean <bean123ch@gmail.com>
36881
36882 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
36883 script/sh/parser.y.
36884 (pkglib_MODULES): Add normal.mod and sh.mod.
36885 (normal_SOURCES): New variable.
36886 (normal_mod_CFLAGS): Likewise.
36887 (normal_mod_LDFLAGS): Likewise.
36888 (sh_mod_SOURCES): Likewise.
36889 (sh_mod_CFLAGS): Likewise.
36890 (sh_mod_LDFLAGS): Likewise.
36891
36892 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
36893 script/sh/lexer.c_DEPENDENCIES.
36894 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
36895 kern/rescue_reader.c and kern/rescue_parser.c.
36896 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
36897 (grub_emu_SOURCES): Change source files.
36898 (pkglib_MODULES): Remove normal.mod.
36899 (normal_SOURCES): Removed.
36900 (normal_mod_CFLAGS): Likewise.
36901 (normal_mod_LDFLAGS): Likewise.
36902 * conf/i386-coreboot.rmk: Likewise.
36903 * conf/i386-efi.rmk: Likewise.
36904 * conf/i386-ieee1276.rmk: Likewise.
36905 * conf/powerpc-ieee1275.rmk: Likewise.
36906 * conf/sparc64-ieee1275.rmk: Likewise.
36907 * conf/x86_64-efi.rmk: Likewise.
36908
36909 * include/grub/command.h (grub_command_execute): New inline function.
36910
36911 * include/grub/menu.h (grub_menu_entry): Removed commands field.
36912
36913 * include/grub/normal.h: Remove <grub/setjmp.h>.
36914 (grub_fs_module_list): Moved to normal/autofs.c.
36915 (grub_exit_env): Removed.
36916 (grub_command_execute): Likewise.
36917 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
36918 parameter script.
36919 (read_command_list): New function declaration.
36920 (read_fs_list): Likewise.
36921
36922 * include/parser.h: Include <grub/reader.h>.
36923 (grub_parser_split_cmdline): Change type of getline parameter.
36924 (grub_parser): New structure.
36925 (grub_parser_class): New variable.
36926 (grub_parser_execute): New function declaration.
36927 (grub_register_rescue_parser): Likewise.
36928 (grub_parser_register): New inline function.
36929 (grub_parser_unregister): Likewise.
36930 (grub_parser_get_current): Likewise.
36931 (grub_parser_set_current): Likewise.
36932
36933 * include/grub/reader.h: New file.
36934 * kern/reader.c: Likewise.
36935 * kern/rescue_parser.c: Likewise.
36936 * kern/rescue_reader.c: Likewise.
36937 * normal/autofs.c: Likewise.
36938 * normal/dyncmd.c: Likewise.
36939
36940 * include/grub/rescue.h: Removed.
36941 * normal/command.h: Likewise.
36942
36943 * include/grub/script.h: Moved to ...
36944 * include/grub/script_sh.h: ... Moved here.
36945 * normal/execute.c: Moved to ...
36946 * script/sh/execute.c: ... Moved here.
36947 * normal/function.c: Moved to ...
36948 * script/sh/function.c: ... Moved here.
36949 * normal/lexer.c: Moved to ...
36950 * script/sh/lexer.c: ... Moved here.
36951 * normal/parser.y: Moved to ...
36952 * script/sh/parser.y: ... Moved here.
36953 * normal/script.c: Moved to ...
36954 * script/sh/script.c: ... Moved here.
36955
36956 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
36957 <grub/reader.h>.
36958 (grub_exit_env): Removed.
36959 (fs_module_list): Moved to normal/autofs.c.
36960 (grub_file_getline): Don't handle comment here.
36961 (free_menu): Skip removed field entry->commands.
36962 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
36963 script parameter.
36964 (read_config_file): Removed nested parameter, change getline function.
36965 (grub_enter_normal_mode): Removed.
36966 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
36967 (read_command_list): Likewise.
36968 (autoload_fs_module): Moved to normal/autofs.c.
36969 (read_fs_list): Likewise.
36970 (reader_nested): New variable.
36971 (grub_normal_execute): Run parser.sh to switch to sh parser.
36972 (grub_cmd_rescue): Removed.
36973 (cmd_normal): Removed.
36974 (grub_cmd_normal): Unregister itself at the beginning. Don't register
36975 rescue command.
36976 (grub_cmdline_run): New function.
36977 (grub_normal_reader_init): Likewise.
36978 (grub_normal_read_line): Likewise.
36979 (grub_env_write_pager): Likewise.
36980 (cmdline): New variable.
36981 (grub_normal_reader): Likewise.
36982 (GRUB_MOD_INIT): Register normal reader and set as current, register
36983 pager hook, register normal command with grub_register_command_prio,
36984 so that it won't show up in command.lst.
36985 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
36986 grub_fs_autoload_hook.
36987
36988 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
36989 (grub_menu_execute_entry): Replace grub_script_execute with
36990 grub_parser_execute, change parameter to grub_command_execute.
36991
36992 * normal/menu_text.c: Remove <grub/script.h>.
36993
36994 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
36995 and <grub/parser.h>.
36996 (run): Change editor_getline to use new parser interface. Change
36997 parameter to grub_command_execute.
36998
36999 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37000 <grub/reader.h> and <grub/parser.h>.
37001 (grub_load_normal_mode): Execute normal command.
37002 (grub_main): Call grub_register_core_commands,
37003 grub_register_rescue_parser and grub_register_rescue_reader, use
37004 grub_reader_loop to enter input loop.
37005
7dd4a573 37006 * kern/parser.c (grub_parser_split_cmdline): Change type of
37007 getline parameter.
d558e6b5 37008 (grub_parser_class): New variable.
37009 (grub_parser_execute): New function.
37010
37011 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37012 * loader/multiboot2.c: Likewise.
37013 * loader/sparc64/ieee1275/linux.c: Likewise.
37014
37015 * util/grub-emu.c (read_command_list): New dummy function.
37016
18db813d 370172009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37018
37019 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37020 count to 16 for CCISS and IDA.
37021
6c67de15 370222009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37023
37024 * normal/menu_text.c (grub_wait_after_message): Print a newline
37025 after waiting for user input.
37026
37027 * loader/i386/linux.c: Include `<grub/normal.h>'.
37028 (grub_cmd_linux): Improve the error message about `ask' mode, by
37029 waiting for user input so it's not missed (we can do this, since
37030 user requested interaction).
37031
d9dc87b0 370322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37033
37034 Added missing lst to grub-mkrescue
37035
37036 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37037 and ${input_dir}/parttool.lst
37038
ac8a2baa 370392009-04-30 David S. Miller <davem@davemloft.net>
37040
ad22a610 37041 * util/hostdisk.c (device_is_wholedisk): New function.
37042 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37043 zero only if device_is_wholedisk() returns true.
37044
6966215d 37045 * util/hostdisk.c (convert_system_partition_to_system_disk):
37046 Handle virtual disk devices named /dev/vdiskX as found on sparc
37047 and powerpc.
37048
ac8a2baa 37049 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37050 lettered partition specifier is found, convert to numbered.
37051
979b4fb4 370522009-04-29 David S. Miller <davem@davemloft.net>
37053
e2bf39b2 37054 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37055 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37056
3c64e104 37057 * normal/command.c: Add missing newline at end of file.
37058
979b4fb4 37059 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37060 warnings.
37061 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37062 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37063 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37064 ihandles have a 32-bit type but need to be stored in a "void *".
37065
136d9f82 370662009-04-28 Pavel Roskin <proski@gnu.org>
37067
9459c306 37068 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37069 not disk. Adjust all dependencies.
2e08a26a 37070 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37071 grub_disk_close().
37072
136d9f82 37073 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37074 parent's partition, don't copy it by reference, as it gets freed
37075 on close.
37076
7dd4a573 370772009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37078
37079 Preboot hooks support
37080
37081 * commands/boot.c (struct grub_preboot_t): new declaration
37082 (preboots_head): new variable
37083 (preboots_tail): likewise
37084 (grub_loader_register_preboot_hook): new function
37085 (grub_loader_unregister_preboot_hook): likewise
37086 (grub_loader_set): launch preboot hooks
37087 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37088 (grub_loader_register_preboot_hook): new declaration
37089 (grub_loader_unregister_preboot_hook): likewise
37090
5af922b5 370912009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37092
37093 Warning fix
37094
7dd4a573 37095 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37096 calling grub_dprintf
37097
a5562c30 370982009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37099
37100 Bug and warning fixes
37101
7dd4a573 37102 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37103 declaration
37104 * commands/test.c (test_parse): fixed bug with file tests and corrected
37105 declaration of find_file
37106
4006f85c 371072009-04-26 Pavel Roskin <proski@gnu.org>
37108
37109 * Makefile.in: Don't install empty manual pages if help2man is
37110 missing. Use help2man option for output, not shell redirection.
37111
5c77c3de 371122009-04-26 David S. Miller <davem@davemloft.net>
37113
37114 * util/grub-mkdevicemap.c (make_device_map): Add missing
37115 NESTED_FUNC_ATTR to process_device().
37116
033b10a8 371172009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37118
37119 Test command
37120
37121 * commands/test.c: rewritten to use bash-like test
37122
e4343593 371232009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37124
37125 Parttool autoloading and improvements
37126
7dd4a573 37127 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37128 (parttool.lst): new target
37129 * genmk.rb: generate parttool-*
37130 (CLEANFILES): add #{parttool}
37131 (PARTTOOLFILES): new variable
37132 * genparttoollist.sh: new file
7dd4a573 37133 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37134 (grub_pcpart_type): likewise
37135 * commands/parttool.c (helpmsg): new variable
37136 (grub_cmd_parttool): output help if not enough arguments are supplied
37137 autoload modules
37138 (GRUB_MOD_INIT(parttool)): use helpmsg
37139
0d312500 371402009-04-24 David S. Miller <davem@davemloft.net>
37141
7dd4a573 37142 Avoiding opening same device multiple times in device iterator.
0d312500 37143
37144 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37145 and use it to build a list of partitions in iterate_disk() and
0d312500 37146 iterate_partition().
37147
ac20caff 37148 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37149 on disk->data.
37150
0dcf7495 37151 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37152 grub_devalias_iterate() result instead of unconditional 0.
37153 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37154 Also, capture hook return value, either directly or via
37155 grub_children_iterate(), and propagate to caller.
37156 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37157 grub_children_iterate): Return value is now 'int' instead of
37158 'grub_err_t'.
37159 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37160 like a proper iterator, stopping when hooks return non-zero.
37161 (grub_devalias_iterate): Likewise.
37162
c8c08833 371632009-04-23 David S. Miller <davem@davemloft.net>
37164
37165 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37166
f01005a8 371672009-04-22 David S. Miller <davem@davemloft.net>
37168
37169 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37170 is larger than address_cells, use that value for address_cells too.
37171
4e8269da 37172 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37173 IEEE1275_MAX_PATH_LEN): Define.
37174 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37175 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37176 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37177 'devtype'. Explicitly NULL terminate devalias expansion.
37178
a1447506 37179 * util/sparc64/ieee1275/misc.c: New file.
37180 * util/sparc64/ieee1275/grub-setup.c: New file.
37181 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37182 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37183 * util/sparc64/ieee1275/grub-install.in: New file.
37184 * util/ieee1275/ofpath.c: New file.
37185 * util/ieee1275/devicemap.c: New file.
37186 * util/devicemap.c: New file.
37187 * util/deviceiter.c: New file.
37188 * kern/sparc64/ieee1275/init.c: New file.
37189 * include/grub/util/ofpath.h: New file.
37190 * include/grub/util/deviceiter.h: New file.
37191 * util/grub-mkdevicemap.c: Include deviceiter.h.
37192 Implement using grub_util_emit_devicemap_entry and
37193 grub_util_iterate_devices.
37194 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37195 util/devicemap.c into grub-mkdevicemap
37196 * conf/i386-efi.rmk: Likewise.
37197 * conf/i386-ieee1275.rmk: Likewise.
37198 * conf/i386-pc.rmk: Likewise.
37199 * conf/powerpc-ieee1275.rmk: Likewise.
37200 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37201 images and installation utilities. Build kernel as image
37202 instead of as elf binary. Use common rules as much as possible.
37203
7dd4a573 372042009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37205
37206 Correct GPT definition
37207
7dd4a573 37208 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37209 of "attrib" member
37210
c6c5219f 372112009-04-19 Felix Zielcke <fzielcke@z-51.de>
37212
37213 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37214
0552ff9f 372152009-04-19 David S. Miller <davem@davemloft.net>
37216
37217 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37218 (grub_rescue_cmd_linux): Rename to...
37219 (grub_cmd_linux): and fix prototype.
37220 (grub_rescue_cmd_initrd): Rename to...
37221 (grub_cmd_initrd): and fix prototype.
37222 (cmd_linux, cmd_initrd): New.
37223 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37224 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37225
d1a282fc 372262009-04-17 Pavel Roskin <proski@gnu.org>
37227
07c5039f 37228 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37229 format.
37230 (grub_ohci_transfer): Likewise.
37231
b012002d 37232 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37233
1bc09c35 37234 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37235 return without a value. Fix inconsistent indentation.
37236
e0ff9126 37237 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37238 match struct grub_fs.
37239
d1a282fc 37240 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37241 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37242 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37243 * commands/lspci.c (grub_lspci_iter): Likewise.
37244
a96df3f2 372452009-04-16 Bean <bean123ch@gmail.com>
37246
37247 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37248 value.
37249
41bb0fe9 372502009-04-15 Pavel Roskin <proski@gnu.org>
37251
37252 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37253 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37254 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37255 definitions.
37256
596c6970 372572009-04-15 Felix Zielcke <fzielcke@z-51.de>
37258
37259 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37260 that no multiple data or metadata areas are supported and `Unknown
596c6970 37261 metadata header'.
37262
7dd4a573 372632009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37264
37265 Move loader out of the kernel
37266
37267 * kern/loader.c: moved to ...
37268 * commands/boot.c: ... moved here
37269 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37270 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37271 * include/grub/kernel.h (grub_machine_fini): export
37272 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37273 (grub_loader_set): likewise
37274 (grub_loader_unset): likewise
37275 (grub_loader_boot): likewise
37276 * conf/common.rmk: new module boot.mod
37277 (pkglib_MODULES): add boot.mod
37278 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37279 (grub_emu_SOURCES): likewise
37280 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37281 (grub_emu_SOURCES): likewise
37282 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37283 (grub_emu_SOURCES): likewise
37284 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37285 (grub_emu_SOURCES): likewise
37286 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37287 (grub_emu_SOURCES): likewise
7dd4a573 37288 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37289 (grub_emu_SOURCES): likewise
0d5d5653 37290 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37291 (grub_emu_SOURCES): likewise
0d5d5653 37292
7dd4a573 372932009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37294
37295 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37296
5999d619 37297 * kern/misc.c (grub_itoa): Removed function
37298 (grub_ltoa): likewise
37299 (grub_vsprintf): use grub_lltoa
37300
7dd4a573 373012009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37302
37303 Restore grub-emu
37304
37305 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37306 * conf/i386-coreboot.rmk: likewise
37307 * conf/i386-ieee1275.rmk: likewise
37308 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37309
20318222 373102009-04-15 Felix Zielcke <fzielcke@z-51.de>
37311
37312 * INSTALL: Add that `./autogen.sh' needs to be run before
37313 `./configure.'.
37314
d05f0df3 373152009-04-14 Bean <bean123ch@gmail.com>
37316
37317 * Makefile.in (pkglib_DATA): Add handler.lst.
37318 (handler.lst): New rule.
37319
37320 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37321 * conf/i386-coreboot.rmk: Likewise.
37322 * conf/i386-ieee1275.rmk: Likewise.
37323 * conf/i386-efi.rmk: Likewise.
37324 * conf/x86_64-efi.rmk: Likewise.
37325 * conf/powerpc-ieee1275.rmk: Likewise.
37326 * conf/sparc64-ieee1275.rmk: Likewise.
37327
37328 * genhandlerlist.sh: New file.
37329
37330 * genmk.rb: Add rules to generate handler.lst.
37331
37332 * include/grub/normal.h (grub_file_getline): New function definition.
37333 (read_handler_list): Likewise.
37334 (free_handler_list): Likewise.
37335
37336 * include/grub/term.h (grub_term_register_input): Add name parameter
37337 for auto generation of handler.lst.
37338 (grub_term_register_output): Likewise.
37339
37340 * normal/handler.c: New file.
37341
37342 * normal/main.c (get_line): Renamed to grub_file_getline.
37343 (read_config_file): Use the newly renamed grub_file_getline.
37344 (read_command_list): Likewise.
37345 (read_fs_list): Likewise.
37346 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37347 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37348
37349 * term/efi/console.c (grub_console_init): Add name parameter for auto
37350 generation of handler.lst.
37351 * term/gfxterm.c: Likewise.
37352 * term/i386/pc/at_keyboard.c: Likewise.
37353 * term/i386/pc/console.c: Likewise.
37354 * term/i386/pc/serial.c: Likewise.
37355 * term/i386/pc/vesafb.c: Likewise.
37356 * term/i386/pc/vga.c: Likewise.
37357 * term/i386/pc/vga_text.c: Likewise.
37358 * term/ieee1275/ofconsole.c: Likewise.
37359 * term/usb_keyboard.c: Likewise.
37360
33c846be 373612009-04-14 Bean <bean123ch@gmail.com>
37362
37363 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37364 properly with null character.
37365
4484e01e 373662009-04-14 Felix Zielcke <fzielcke@z-51.de>
37367
37368 * configure: Remove.
37369 * config.h.in: Likewise.
f93d668e 37370 * stamp-h.in: Likewise.
4484e01e 37371 * DISTLIST: Likewise.
37372 * conf/common.mk: Likewise.
37373 * conf/i386-coreboot.mk: Likewise.
37374 * conf/i386-efi.mk: Likewise.
37375 * conf/i386-ieee1275.mk: Likewise.
37376 * conf/i386.mk: Likewise.
37377 * conf/i386-pc.mk: Likewise.
37378 * conf/powerpc-ieee1275.mk: Likewise.
37379 * conf/sparc64-ieee1275.mk: Likewise.
37380 * conf/x86_64-efi.mk: Likewise.
37381
37382 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37383 develop on GRUB.
37384
7dd4a573 373852009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37386 David S. Miller <davem@davemloft.net>
37387
37388 * util/hostdisk.c (make_device_name): Fix buffer length
37389 calculations.
37390
e25b5a8c 373912009-04-14 Felix Zielcke <fzielcke@z-51.de>
37392
37393 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37394 <sys/param.h> and <sys/sysctl.h>.
37395 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37396 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37397 opening the device and reset them afterwards.
37398
1f1f580c 373992009-04-13 Pavel Roskin <proski@gnu.org>
37400
37401 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37402 Reported by John Stanley <jpsinthemix@verizon.net>
37403
7ebc2d6b 374042009-04-13 Robert Millan <rmh@aybabtu.com>
37405
37406 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37407 that name for menuentries when appropriate.
7ebc2d6b 37408
d8ba3667 374092009-04-13 Felix Zielcke <fzielcke@z-51.de>
37410
37411 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37412
cba416eb 374132009-04-13 Robert Millan <rmh@aybabtu.com>
37414
37415 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37416 to Linux, simply abort telling the user it's no longer supported.
37417
a547a745 374182009-04-13 Felix Zielcke <fzielcke@z-51.de>
37419
37420 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37421 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37422 `freebsd_loadenv' only when devices.hints exist.
37423
232a769c 374242009-04-13 Pavel Roskin <proski@gnu.org>
37425
37426 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37427
c3012039 374282009-04-13 Felix Zielcke <fzielcke@z-51.de>
37429
37430 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37431 partition number.
37432 (grub_drive): Likewise.
37433
234022fe 374342009-04-13 David S. Miller <davem@davemloft.net>
37435
37436 * kern/sparc64/ieee1275/ieee1275.c: New file.
37437 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37438 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37439 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37440 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37441 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37442 grub_ieee1275_alloc_physmem): Declare new exported functions.
37443
d8e1836c 37444 * include/grub/sparc64/ieee1275/loader.h: New file.
37445 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37446 * include/grub/sparc64/kernel.h: Likewise.
37447 * loader/sparc64/ieee1275/linux.c: Likewise.
37448
96bd81ec 37449 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37450 (grub_fstest_SOURCES): Likewise.
37451
6a4737e5 37452 * util/hostdisk.c (make_device_name): Do not make any assumptions
37453 about the length of drive names.
37454
1d7a72fd 37455 * kern/dl.c (grub_dl_load_file): Close file immediately when
37456 we are done using it.
37457
56bc2471 374582009-04-12 David S. Miller <davem@davemloft.net>
37459
37460 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37461 values. Noticed by Pavel Roskin.
37462
df38d0bb 37463 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37464 target compiler.
7dd4a573 37465
e382e93a 37466 * genmk.rb: Add more flexible image type specification, also
37467 pass --strip-unneeded to objcopy.
37468 * conf/i386-pc.rmk: Use *_FORMAT.
37469 * conf/i386-pc.mk: Rebuilt.
37470
f5dbbca9 37471 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37472 (OFDISK_HASH_SZ): Define.
37473 (ofdisk_hash): New hash table.
37474 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37475 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37476 instead of device phandle which is not unique.
37477
91c88b12 37478 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37479 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37480 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37481 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37482 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37483 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37484 GRUB_KERNEL_MACHINE_DATA_END): Define.
37485 (grub_kernel_image_size, grub_total_module_size): Declare.
37486
5b5d4aa5 374872009-04-12 Pavel Roskin <proski@gnu.org>
37488
7dd4a573 37489 * configure.ac: Change the logic when we check for target tools.
37490 Do it when the target is specified and it's different from the
37491 specified value of the host.
5b5d4aa5 37492
c91e1793 374932009-04-11 Felix Zielcke <fzielcke@z-51.de>
37494
37495 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37496 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37497 GNU/kFreeBSD. Check if a device is a character device. Use
37498 DIOCGMEDIASIZE to get the size.
37499 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37500 support for GNU/kFreeBSD.
37501 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37502 is a character device instead of a block device. Add support for
37503 FreeBSD device names.
37504
37505 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37506 is a character device instead of a block device.
37507
37508 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37509 is a character device instead of a block device.
37510
b1ac8644 375112009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37512
37513 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37514 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37515 FreeBSD. Check if a device is a character device. Use
37516 DIOCGMEDIASIZE to get the size.
37517 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37518 support for FreeBSD.
37519 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37520 is a character device instead of a block device. Add support for
37521 FreeBSD device names.
37522
37523 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37524 a character device instead of a block device.
37525 (grub_util_check_char_device): New function.
37526
37527 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37528 a character device instead of a block device.
37529
37530 * include/grub/util/getroot.h (grub_util_check_char_device): New
37531 prototype.
37532
a3f7515a 375332009-04-11 David S. Miller <davem@davemloft.net>
37534
37535 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37536 static libgcc.
37537 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37538 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37539 function, if present.
37540 (__bswapdi2): Likewise.
37541
0d44993d 37542 * include/grub/sparc64/ieee1275/boot.h: New file.
37543 * boot/sparc64/ieee1275/boot.S: Likewise.
37544 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37545
ed3d2bc2 37546 * kern/misc.c (grub_ltoa): New function.
37547 (grub_vsprintf): Use it to format 'long' integers.
37548
d3bfb59c 375492009-04-10 David S. Miller <davem@davemloft.net>
37550
37551 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37552 slots are of type grub_ieee1275_cell_t.
37553 (grub_nand_read): Likewise.
37554 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37555 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37556 macros are used to compare values in arg/ret block of the call.
37557 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37558 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37559 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37560 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37561 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37562 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37563 grub_ieee1275_close, grub_ieee1275_set_property,
37564 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37565 grub_ieee1275_cell_t.
37566 * kern/ieee1275/openfw.c (grub_map): Likewise.
37567 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37568 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37569
450e2238 37570 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37571 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37572 (grub_devalias_iterate): Likewise.
37573
7dd4a573 375742009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37575
37576 UFS improvements
37577
37578 * fs/ufs.c (INODE_NBLOCKS): new definition
37579 (struct grub_ufs_dirent): added fields for non-BSD dirents
37580 (grub_ufs_get_file_block): fixed double indirect handling
37581 (grub_ufs_lookup_symlink): use more robust way to determine whether
37582 symlink is inline
37583 (grub_ufs_find_file): support for non-BSD dirents
37584 (grub_ufs_dir): support for non-BSD dirents
37585
e7e6862a 375862009-04-10 Bean <bean123ch@gnail.com>
37587
37588 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37589 attribute, otherwise the size would be wrong for i386 platform.
37590
37591 * include/grub/pci.h (grub_pci_read_word): New inline function.
37592 (grub_pci_read_byte): Likewise.
37593 (grub_pci_write): Likewise.
37594 (grub_pci_write_word): Likewise.
37595 (grub_pci_write_byte): Likewise.
37596
37597 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37598
37599 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37600 (find_framebuf): Scan pci to locate the frame buffer address.
37601
37602 * commands/efi/fixvideo.c: New file.
37603
37604 * commands/efi/loadbios.c: Likewise.
37605
37606 * commands/memrw.c: Likewise.
37607
37608 * util/grub-dumpbios.in: Likewise.
37609
37610 * conf/common.rmk (grub-dumpbios): New utility.
37611 (pkglib_MODULES): New module memrw.mod.
37612 (memrw_mod_SOURCE): New macro.
37613 (memrw_mod_CFLAGS): Likewise.
37614 (memrw_mod_LDFLAGS): Likewise.
37615
7dd4a573 37616 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37617 fixvideo.mod.
37618 (loadbios_mod_SOURCE): New macro.
37619 (loadbios_mod_CFLAGS): Likewise.
37620 (loadbios_mod_LDFLAGS): Likewise.
37621 (fixvideo_mod_SOURCE): Likewise.
37622 (fixvideo_mod_CFLAGS): Likewise.
37623 (fixvideo_mod_LDFLAGS): Likewise.
37624
7dd4a573 37625 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37626 fixvideo.mod.
37627 (loadbios_mod_SOURCE): New macro.
37628 (loadbios_mod_CFLAGS): Likewise.
37629 (loadbios_mod_LDFLAGS): Likewise.
37630 (fixvideo_mod_SOURCE): Likewise.
37631 (fixvideo_mod_CFLAGS): Likewise.
37632 (fixvideo_mod_LDFLAGS): Likewise.
37633
af63ada2 376342009-04-08 Felix Zielcke <fzielcke@z-51.de>
37635
37636 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37637
c2cdde70 376382009-04-07 David S. Miller <davem@davemloft.net>
37639
37640 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37641 support for R_SPARC_OLO10 relocations. Fix compile warning for
37642 R_SPARC_WDISP30 case.
ea3f72cf 37643 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37644
761319cf 376452009-04-06 Pavel Roskin <proski@gnu.org>
37646
1007d1f5 37647 * include/grub/misc.h (ARRAY_SIZE): New macro.
37648 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37649 New macro.
37650 * loader/i386/linux.c (allocate_pages): Use free_pages().
37651 (grub_linux_unload): Don't use free_pages().
37652 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37653 wrong index. Treat all other modes as text modes.
37654 (grub_cmd_linux): Initialize vid_mode unconditionally to
37655 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37656
761319cf 37657 * commands/help.c (print_command_help): Use cmd->prio, not
37658 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37659
ea761d40 376602009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37661
ea761d40 37662 Parttool
37663
37664 * parttool/pcpart.c: new file
37665 * commands/parttool.c: likewise
37666 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37667 (parttool_mod_SOURCES): new variable
37668 (parttool_mod_CFLAGS): likewise
37669 (parttool_mod_LDFLAGS): likewise
37670 (pcpart_mod_SOURCES): likewise
37671 (pcpart_mod_CFLAGS): likewise
37672 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37673 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37674 and parttool/pcpart.c
37675 * conf/i386-efi.rmk: likewise
37676 * conf/i386-ieee1275.rmk: likewise
37677 * conf/i386-pc.rmk: likewise
37678 * conf/powerpc-ieee1275.rmk: likewise
37679 * conf/sparc64-ieee1275.rmk: likewise
37680 * conf/x86_64-ieee1275.rmk: likewise
37681
05aaebfb 376822009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37683
37684 Support for mtime and further expandability of dir command
37685
37686 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37687 * include/grub/datetime.h: ... moved here and added
05aaebfb 37688 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37689 * include/grub/fs.h: new syntax for dir and mtime functions in
37690 struct grub_fs
05aaebfb 37691 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37692 and GRUB_FSHELP_FLAGS_MASK
37693 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37694 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37695 (grub_ext2_mtime): new function
37696 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37697 (grub_hfsplus_mtime): new function
37698 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37699 (GRUB_UFS_ATTR_FILE): likewise
37700 (GRUB_UFS_ATTR_LNK): likewise
37701 (struct grub_ufs_sblock): new fields mtime
37702 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37703 all users updated
37704 (grub_ufs_dir): mtime support
37705 (grub_ufs_mtime): new function
37706 * fs/affs.c (grub_affs_dir): use new dir syntax
37707 * fs/afs.c (grub_afs_dir): likewise
37708 * fs/cpio.c (grub_cpio_dir): likewise
37709 * fs/fat.c (grub_fat_find_dir): likewise
37710 * fs/hfs.c (grub_hfs_dir): likewise
37711 * fs/iso9660.c (grub_iso9660_dir): likewise
37712 * fs/jfs.c (grub_jfs_dir): likewise
37713 * fs/minix.c (grub_minix_dir): likewise
37714 * fs/ntfs.c (grub_ntfs_dir): likewise
37715 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37716 * fs/sfs.c (grub_sfs_dir): likewise
37717 * fs/xfs.c (grub_xfs_dir): likewise
37718 * util/hostfs.c (grub_hostfs_dir): likewise
37719 * lib/datetime.c: moved to ...
37720 * normal/datetime.c: ... moved here
37721 (grub_unixtime2datetime): new function
37722 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 37723 * normal/completion.c (iterate_dir): use new dir syntax
37724 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 37725 last modification time of a volume
7dd4a573 37726 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 37727 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 37728 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 37729 (normal_mod_SOURCES): likewise
37730 (datetime_mod_SOURCES): Removed lib/datetime.c
37731 * conf/i386-efi.rmk: likewise
7dd4a573 37732 * conf/i386-ieee1275.rmk: likewise
05aaebfb 37733 * conf/i386-pc.rmk: likewise
37734 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37735 * conf/sparc64-ieee1275.rmk: likewise
37736 * conf/x86_64-efi.rmk: likewise
05aaebfb 37737
8a7e1a14 377382009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37739
37740 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 37741
37742 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 37743 on grub_fat_find_dir
37744 (grub_fat_find_dir): use grub_fat_iterate_dir
37745 (grub_fat_label): likewise
37746
04186a9c 377472009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37748
7dd4a573 37749 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 37750 and command.h
37751 remove extraneous kernel_elf_HEADERS
37752
da4c0bb6 377532009-04-04 Bean <bean123ch@gnail.com>
37754
37755 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37756
37757 * util/misc.c: Likewise.
37758
54ad9555 377592009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37760
37761 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37762 instead of grub_printf.
37763
7a6bf9f2 377642009-04-03 Robert Millan <rmh@aybabtu.com>
37765
37766 * loader/i386/linux.c (grub_linux_setup_video): Fill
37767 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37768 values from `mode info' structure instead of hardcoded
37769 values.
37770
3fcc2083 377712009-04-01 Pavel Roskin <proski@gnu.org>
37772
37773 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37774 unused now.
37775 * genmk.rb: Likewise.
37776 * configure.ac: Likewise.
37777
5ec9740b 377782009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37779
37780 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37781 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37782
5270cec8 377832009-04-01 David S. Miller <davem@davemloft.net>
37784
37785 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 37786 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 37787 (grub_setjmp): Mark with 'returns_twice' attribute.
37788 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37789 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37790 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37791
9c3dd854 377922009-04-01 Robert Millan <rmh@aybabtu.com>
37793
37794 Reapply fix from 2008-07-28 which was accidentally reverted; also
37795 perform the same fix to a similar check in same function.
37796
37797 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37798 with the same number are found, just use issue a warning with
37799 grub_dprintf(), as this error has been reported to be non-fatal.
37800
0d818b7e 378012009-03-31 Pavel Roskin <proski@gnu.org>
37802
37803 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37804 for cross-compilation.
37805
95646d92 378062009-03-30 Robert Millan <rmh@aybabtu.com>
37807
37808 Fix i386-ieee1275 build.
37809
37810 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37811 Remove declaration.
37812
6a003ed1 378132009-03-30 Pavel Roskin <proski@gnu.org>
37814
37815 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37816 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37817 zero-terminated, rely only on the strlen value. Fix comparison
37818 of strings differing in length.
37819
92f33540 378202009-03-30 Robert Millan <rmh@aybabtu.com>
37821
37822 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37823 checking for abi version. Improve error messages on BIOS to notify
37824 user about `linux16' command.
37825
a8c48fd5 378262009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37827
f968172e 37828 Leak fixes
a8c48fd5 37829
f968172e 37830 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37831 in case of collision
37832 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 37833
9c323f09 378342009-03-29 Robert Millan <rmh@aybabtu.com>
37835
37836 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
37837 set `vid_mode' accordingly.
37838 (grub_linux_boot): Process `vid_mode' and set video mode.
37839
ae68f423 378402009-03-29 Robert Millan <rmh@aybabtu.com>
37841
37842 * util/grub.d/10_linux.in (linux_entry): New function.
37843 Factorize generation of Linux boot entries.
37844
5709cfc4 378452009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
37846
37847 Make the format of Environment Block plain text. The boot loader
37848 part is not tested well yet.
7dd4a573 37849
5709cfc4 37850 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
37851 (buffer): Removed.
37852 (envblk): Likewise.
37853 (usage): Remove "info" and "clear". Add "unset". Update the
37854 description of "set", as this does not delete variables any
37855 longer.
37856 (create_envblk_file): Complete rewrite.
37857 (open_envblk_file): Likewise.
37858 (cmd_info): Removed.
37859 (cmd_list): Likewise.
37860 (cmd_set): Likewise.
37861 (cmd_clear): Likewise.
37862 (list_variables): New function.
37863 (write_envblk): Likewise.
37864 (set_variables): Likewise.
37865 (unset_variables): Likewise.
37866 (main): Complete rewrite.
37867
37868 * commands/loadenv.c (buffer): Removed.
37869 (envblk): Likewise.
37870 (open_envblk_file): New function.
37871 (read_envblk_file): Complete rewrite.
37872 (grub_cmd_load_env): Likewise.
37873 (grub_cmd_list_env): Likewise.
37874 (struct blocklist): New struct.
37875 (free_blocklists): New function.
37876 (check_blocklists): Likewise.
37877 (write_blocklists): Likewise.
37878 (grub_cmd_save_env): Complete rewrite.
37879
37880 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
37881 a plain text signature.
37882 (GRUB_ENVBLK_MAXLEN): Removed.
37883 (struct grub_envblk): Complete rewrite.
37884 (grub_envblk_find): Removed.
37885 (grub_envblk_insert): Likewise.
37886 (grub_envblk_open): New prototype.
37887 (grub_envblk_set): Likewise.
37888 (grub_envblk_delete): Put const to VALUE.
37889 (grub_envblk_iterate): Put const to NAME and VALUE.
37890 (grub_envblk_close): New prototype.
37891 (grub_envblk_buffer): New inline function.
37892 (grub_envblk_size): Likewise.
37893
37894 * lib/envblk.c: Include grub/mm.h.
37895 (grub_env_find): Removed.
37896 (grub_envblk_open): New function.
37897 (grub_envblk_close): Likewise.
37898 (escaped_value_len): Likewise.
37899 (find_next_line): Likewise.
37900 (grub_envblk_insert): Removed.
37901 (grub_envblk_set): New function.
37902 (grub_envblk_delete): Complete rewrite.
37903 (grub_envblk_iterate): Likewise.
37904
a9368fd3 379052009-03-28 Robert Millan <rmh@aybabtu.com>
37906
37907 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
37908 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
37909 variables. Use 16-bit loader.
37910 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
37911 loader.
37912 * kern/i386/loader.S (grub_linux_boot): Rename to ...
37913 (grub_linux16_boot): ... this. Update all users.
37914 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
37915 (grub_linux_boot): ... this. Update all users.
37916
37917 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
37918 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
37919 commands to `linux16' and `initrd16'.
37920 (GRUB_MOD_FINI(linux)): Rename to ...
37921 (GRUB_MOD_FINI(linux16)): ... this.
37922
e4dd5a7e 379232009-03-24 Pavel Roskin <proski@gnu.org>
37924
37925 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
37926 not just for compilation.
37927
c04d6e05 379282009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
37929
37930 Move multiboot helper out of kernel
37931
37932 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
37933 `loader/i386/multiboot_helper.S'.
37934 * conf/i386-coreboot.rmk: Likewise
37935 * conf/i386-ieee1275.rmk: Likewise
37936
37937 * kern/i386/loader.S: Move multiboot helpers from here...
37938 * loader/i386/multiboot_helper.S: ...moved here
37939 * include/grub/i386/loader.h: Move declarations of multiboot
37940 helpers from here...
37941 * include/grub/i386/multiboot.h: ...moved here
37942 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
37943
42a5b3fc 379442009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37945
37946 * kern/env.c (grub_env_context_open): Added an argument to specify
37947 whether a new context inherits exported variables from current
37948 one. This is useful when making a sandbox to interpret a config
37949 file.
37950 All callers updated.
37951
37952 * include/grub/env.h (grub_env_context_open): Updated the prototype.
37953
b28bbc4e 379542009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37955
37956 * kern/env.c (grub_env_context_close): Fix memory leaks.
37957
f04f02e4 379582009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37959
37960 * normal/main.c (grub_normal_execute): Added an argument
37961 BATCH to specify if an interactive interface should be provided
37962 after reading a config file.
37963 All callers updated.
37964 (read_command_list): Prevent being executed twice.
37965 (read_fs_list): Likewise.
37966
42a5b3fc 37967 * include/grub/normal.h (grub_normal_execute): Updated the
37968 prototype.
f04f02e4 37969
41473ac2 379702009-03-22 Pavel Roskin <proski@gno.org>
37971
fbc00b0c 37972 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
37973 _start.
37974 * kern/i386/pc/startup.S: Likewise.
37975 * kern/i386/efi/startup.S: Likewise.
37976 * kern/i386/ieee1275/startup.S: Likewise.
37977 * kern/i386/coreboot/startup.S: Likewise.
37978 * kern/x86_64/efi/startup.S: Likewise.
37979
41473ac2 37980 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
37981 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
37982 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
37983
2274cc8f 379842009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
37985
37986 Bugfixes in multiboot for bugs uncovered by solaris kernel.
37987
37988 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
37989 limit detection.
37990 Use vaddr of correct segment for entry_point.
37991
b1b797cb 379922009-03-21 Bean <bean123ch@gmail.com>
37993
37994 * commands/blocklist.c: Add include file <grub/command.h>, remove
37995 <grub/normal.h> and <grub/arg.h>.
37996 (grub_cmd_blocklist): Use the new command interface.
37997 (GRUB_MOD_INIT): Likewise.
37998 (GRUB_MOD_FINI): Likewise.
37999 * commands/boot.c: Likewise.
38000 * commands/cat.c: Likewise.
38001 * commands/cmp.c: Likewise.
38002 * commands/configfile.c: Likewise.
38003 * commands/crc.c: Likewise.
38004 * commands/echo.c: Likewise.
38005 * commands/halt.c: Likewise.
38006 * commands/handler.c: Likewise.
38007 * commands/hdparm.c: Likewise.
38008 * commands/help.c: Likewise.
38009 * commands/hexdump.c: Likewise.
38010 * commands/loadenv.c: Likewise.
38011 * commands/ls.c: Likewise.
38012 * commands/lsmmap.c: Likewise.
38013 * commands/lspci.c: Likewise.
38014 * commands/loadenv.c: Likewise.
38015 * commands/read.c: Likewise.
38016 * commands/reboot.c: Likewise.
38017 * commands/search.c: Likewise.
38018 * commands/sleep.c: Likewise.
38019 * commands/test.c: Likewise.
38020 * commands/usbtest.c: Likewise.
38021 * commands/videotest.c: Likewise.
38022 * commands/i386/cpuid.c: Likewise.
38023 * commands/i386/pc/halt.c: Likewise.
38024 * commands/i386/pc/play.c: Likewise.
38025 * commands/i386/pc/pxecmd.c: Likewise.
38026 * commands/i386/pc/vbeinfo.c: Likewise.
38027 * commands/i386/pc/vbetest.c: Likewise.
38028 * commands/ieee1275/suspend.c: Likewise.
38029 * disk/loopback.c: Likewise.
38030 * font/font_cmd.c: Likewise.
38031 * hello/hello.c: Likewise.
38032 * loader/efi/appleloader.c: Likewise.
38033 * loader/efi/chainloader.c: Likewise.
38034 * loader/i386/bsd.c: Likewise.
38035 * loader/i386/efi/linux.c: Likewise.
38036 * loader/i386/ieee1275/linux.c: Likewise.
38037 * loader/i386/linux.c: Likewise.
38038 * loader/i386/pc/chainloader.c: Likewise.
38039 * loader/i386/pc/linux.c: Likewise.
38040 * loader/powerpc/ieee1275/linux.c: Likewise.
38041 * loader/multiboot_loader.c: Likewise.
38042 * term/gfxterm.c: Likewise.
38043 * term/i386/pc/serial.c: Likewise.
38044 * term/terminfo.c: Likewise.
38045
38046 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38047 * term/i386/pc/vga.c: Likewise.
38048 * video/readers/jpeg.c: Likewise.
38049 * video/readers/png.c: Likewise.
38050 * video/readers/tga.c: Likewise.
38051
38052 * util/grub-fstest (cmd_loopback): Removed.
38053 (cmd_blocklist): Likewise.
38054 (cmd_ls): Likewise.
38055 (grub_register_command): Likewise.
38056 (grub_unregister_command): Likewise.
38057 (execute_command): Use grub_command_find to locate command and execute
38058 it.
38059
38060 * include/grub/efi/chainloader.h: Removed.
38061 * loader/efi/chainloader_normal.c: Likewise.
38062 * loader/i386/bsd_normal.c: Likewise.
38063 * loader/i386/pc/chainloader_normal.c: Likewise.
38064 * loader/i386/pc/multiboot_normal.c: Likewise.
38065 * loader/linux_normal.c: Likewise.
38066 * loader/multiboot_loader_normal.c: Likewise.
38067 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38068
38069 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38070 and grub_register_command_p1.
38071
38072 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38073 kern/command.c, lib/arg.c and commands/extcmd.c.
38074 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38075 (minicmd_mod_SOURCES): New variable.
38076 (minicmd_mod_CFLAGS): Likewise.
38077 (minicmd_mod_LDFLAGS): Likewise.
38078 (extcmd_mod_SOURCES): Likewise.
38079 (extcmd_mod_CFLAGS): Likewise.
38080 (extcmd_mod_LDFLAGS): Likewise.
38081 (boot_mod_SOURCES): Removed.
38082 (boot_mod_CFLAGS): Likewise.
38083 (boot_mod_LDFLAGS): Likewise.
38084
38085 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38086 kern/corecmd.c.
38087 (kernel_img_HEADERS): Add command.h.
38088 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38089 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38090 and lib/arg.c.
38091 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38092 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38093 remove the corresponding normal mode command.
38094 (normal_mod_SOURCES): Remove normal/arg.c.
38095 * conf/i386-coreboot.rmk: Likewise.
38096 * conf/i386-efi.rmk: Likewise.
38097 * conf/i386-ieee1275.rmk: Likewise.
38098 * conf/powerpc-ieee1275.rmk: Likewise.
38099 * conf/x86_64-efi.rmk: Likewise.
38100
38101 * include/grub/arg.h: Move from here ...
38102 * include/grub/lib/arg.h: ... to here.
38103
38104 * normal/arg.c: Move from here ...
38105 * lib/arg.c: ... to here.
38106
38107 * commands/extcmd.c: New file.
38108 * commands/minicmd.c: Likewise.
38109 * include/grub/command.h: Likewise.
38110 * include/grub/extcmd.h: Likewise.
38111 * kern/command.c: Likewise.
38112 * kern/corecmd.c: Likewise.
38113
38114 * kern/list.c (grub_list_iterate): Return int instead of void.
38115 (grub_list_insert): New function.
38116 (grub_prio_list_insert): Likewise.
38117
38118 * kern/rescue.c (grub_rescue_command): Removed.
38119 (grub_rescue_command_list): Likewise.
38120 (grub_rescue_register_command): Likewise.
38121 (grub_rescue_unregister_command): Likewise.
38122 (grub_rescue_cmd_boot): Move to minicmd.c
38123 (grub_rescue_cmd_help): Likewise.
38124 (grub_rescue_cmd_info): Likewise.
38125 (grub_rescue_cmd_boot): Likewise.
38126 (grub_rescue_cmd_testload): Likewise.
38127 (grub_rescue_cmd_dump): Likewise.
38128 (grub_rescue_cmd_rmmod): Likewise.
38129 (grub_rescue_cmd_lsmod): Likewise.
38130 (grub_rescue_cmd_exit): Likewise.
38131 (grub_rescue_print_devices): Moved to corecmd.c.
38132 (grub_rescue_print_files): Likewise.
38133 (grub_rescue_cmd_ls): Likewise.
38134 (grub_rescue_cmd_insmod): Likewise.
38135 (grub_rescue_cmd_set): Likewise.
38136 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38137 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38138 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38139 commands, remove grub_rescue_register_command calls.
b1b797cb 38140
7d074e3c 38141 * normal/command.c (grub_register_command): Removed.
b1b797cb 38142 (grub_unregister_command): Likewise.
38143 (grub_command_find): Likewise.
38144 (grub_iterate_commands): Likewise.
38145 (rescue_command): Likewise.
38146 (export_command): Moved to corecmd.c.
38147 (set_command): Removed.
38148 (unset_command): Likewise.
38149 (insmod_command): Likewise.
38150 (rmmod_command): Likewise.
38151 (lsmod_command): Likewise.
38152 (grub_command_init): Likewise.
38153
38154 * normal/completion.c (iterate_command): Use cmd->prio to check for
38155 active command.
38156 (complete_arguments): Use grub_extcmd_t structure to find options.
38157 (grub_normal_do_completion): Change function grub_iterate_commands to
38158 grub_command_iterate.
38159
38160 * normal/execute.c (grub_script_execute_cmd): No need to parse
38161 argument here.
38162
38163 * normal/main.c (grub_dyncmd_dispatcher): New function.
38164 (read_command_list): Register unload commands as dyncmd.
38165 (grub_cmd_normal): Use new command interface, register rescue,
38166 unregister normal at entry, register normal, unregister rescue at exit.
38167
38168 * include/grub/list.h (grub_list_test_t): New type.
38169 (grub_list_iterate): Return int instead of void.
38170 (grub_list_insert): New function.
38171 (GRUB_AS_NAMED_LIST_P): New macro.
38172 (GRUB_AS_PRIO_LIST): Likewise.
38173 (GRUB_AS_PRIO_LIST_P): Likewise.
38174 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38175 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38176 (grub_prio_list): New structure.
38177 (grub_prio_list_insert): New function.
38178 (grub_prio_list_remove): New inline function.
38179
38180 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38181 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38182 (GRUB_COMMAND_FLAG_MENU): Likewise.
38183 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38184 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38185 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38186 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38187 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38188 (grub_command): Likewise.
38189 (grub_register_command): Likewise.
38190 (grub_command_find): Likewise.
38191 (grub_iterate_commands): Likewise.
38192 (grub_command_init): Likewise.
38193 (grub_arg_parse): Likewise.
38194 (grub_arg_show_help): Likewise.
38195
38196 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38197 (grub_rescue_unregister_command): Likewise.
38198
38199 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38200 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38201 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38202
38203 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38204 grub_rescue_cmd_initrd.
38205 * include/grub/i386/loader.h: Likewise.
38206 * include/grub/x86_64/loader.h: Likewise.
38207
38208 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38209
1f4147aa 382102009-03-21 Bean <bean123ch@gmail.com>
38211
38212 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38213 instead of stat in mingw environment.
38214
38215 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38216
38217 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38218
38219 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38220 AC_CONFIG_LINKS.
38221
2156d5ba 382222009-03-21 Bean <bean123ch@gmail.com>
38223
38224 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38225 out of range error.
38226
177b82ca 382272009-03-18 Michel Dänzer <michel@daenzer.net>
38228
38229 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38230 checking inode flags for EXT4_EXTENTS_FLAG.
38231
14aad807 382322009-03-18 Robert Millan <rmh@aybabtu.com>
38233
38234 * loader/i386/linux.c: Include `<grub/video.h>' and
38235 `<grub/i386/pc/vbe.h>'..
38236 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38237 (grub_linux32_boot): Attempt to configure video settings with
38238 grub_linux_setup_video().
38239 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38240 to avoid grub_console_fini() which would step out of graphical mode
38241 unconditionally.
38242
8cf83a27 382432009-03-14 Robert Millan <rmh@aybabtu.com>
38244
38245 Fix build on powerpc.
38246 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38247
40164e75 382482009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38249
38250 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38251 background image command.
38252
c58bc32a 382532009-03-12 Colin D Bennett <colin@gibibit.com>
38254
38255 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38256 (grub_gfxterm_putchar): Extract pairs of identical calls to
38257 draw_cursor out of conditional blocks.
38258
5415144a 382592009-03-11 Pavel Roskin <proski@gnu.org>
38260
38261 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38262 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38263
6394042e 382642009-03-11 Robert Millan <rmh@aybabtu.com>
38265
38266 * loader/i386/multiboot_elfxx.c
38267 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38268
b7b50e5f 382692009-03-11 Felix Zielcke <fzielcke@z-51.de>
38270
38271 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38272 `kern/handler.c'.
38273
1ca7fc96 382742009-03-11 Robert Millan <rmh@aybabtu.com>
38275
38276 * loader/i386/multiboot.c (code_size): New variable.
38277 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38278 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38279 4-byte alignment to MBI and others by increasing
7d074e3c 38280 `boot_loader_name_length' appropriately.
1ca7fc96 38281
38282 * loader/i386/multiboot_elfxx.c
38283 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38284
a83ea1d2 382852009-03-09 Felix Zielcke <fzielcke@z-51.de>
38286
38287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38288 `fs/ext2.c'.
38289
aa9f3bff 382902009-03-08 Robert Millan <rmh@aybabtu.com>
38291
38292 Make loader/i386/linux.c usable on i386-pc again.
38293
38294 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38295 memory to heap.
38296 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38297 `#error' stanza.
38298
d8b3b60e 382992009-03-07 Bean <bean123ch@gmail.com>
38300
38301 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38302 allocation.
38303
b362c9e9 383042009-03-06 Robert Millan <rmh@aybabtu.com>
38305
38306 Fix display issue on terminals with screen size other than 80x25
38307 (e.g. gfxterm with resolution higher than 640x480).
38308
38309 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38310 position relative to the center of the terminal instead of relying
b362c9e9 38311 on a hardcoded offset.
38312
9304eef1 383132009-03-04 Robert Millan <rmh@aybabtu.com>
38314
38315 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38316 installed.
38317
38318 * Makefile.in (host_kernel): New variable.
38319 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38320 scripts instead of just the windows one.
38321 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38322
eabc95fb 383232009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38324
38325 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38326 `kern/handler.c'.
38327 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38328 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38329 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38331 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38332 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38333
ceb1223c 383342009-03-04 Felix Zielcke <fzielcke@z-51.de>
38335
38336 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38337 or if there's no space for the disk label and print the partition number on a
38338 invalid magic.
38339
4910684a 383402009-03-04 Felix Zielcke <fzielcke@z-51.de>
38341
38342 * util/misc.c: Include <time.h>.
38343 (grub_millisleep): New function.
38344
7e9ca17a 383452009-03-04 Bean <bean123ch@gmail.com>
38346
38347 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38348 another option -mno-red-zone.
38349
38350 * commands/handler.c: Change module description.
38351
38352 * kern/handler.c: Add missing space at the end of description line.
38353
38354 * kern/list.c: Likewise.
38355
f501677c 383562009-03-03 Robert Millan <rmh@aybabtu.com>
38357
38358 Move more components to the relocation area, and fix mbi pointer
38359 handling to use the destination rather than the origin (thanks to
38360 Vladimir Serbinenko for spotting).
38361
38362 * loader/i386/multiboot.c (mbi_dest): New variable.
38363 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38364 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38365 relocation area.
38366
9902d047 383672009-03-01 Bean <bean123ch@gmail.com>
38368
50fb7002 38369 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38370 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38371 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38372 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38373
38374 * loader/i386/efi/linux.c (acpi_guid): New variable.
38375 (acpi_guid): Likewise.
38376 (EBDA_SEG_ADDR): New constant.
38377 (LOW_MEM_ADDR): Likewise.
38378 (FAKE_EBDA_SEG): Likewise.
38379 (fake_bios_data): New function.
38380 (grub_linux_boot): Call fake_bios_data.
38381
71b9f361 383822009-03-01 Bean <bean123ch@gmail.com>
38383
38384 * commands/terminal.c: Removed.
38385
38386 * commands/handler.c: New file.
38387
38388 * include/grub/list.h: Likewise.
38389
38390 * include/grub/handler.h: Likewise.
38391
38392 * kern/list.c: Likewise.
38393
38394 * kern/handler.c: Likewise.
38395
38396 * kern/term.h: Include header file <grub/handler.h>.
38397 (grub_term_input): Move next field to the beginning.
38398 (grub_term_output): Likewise.
38399 (grub_term_input_class): New variable.
38400 (grub_term_output_class): Likewise.
38401 (grub_term_register_input): Changed to inline function.
38402 (grub_term_register_output): Likewise.
38403 (grub_term_unregister_input): Likewise.
38404 (grub_term_unregister_output): Likewise.
38405 (grub_term_set_current_input): Likewise.
38406 (grub_term_set_current_output): Likewise.
38407 (grub_term_get_current_input): Likewise.
38408 (grub_term_get_current_output): Likewise.
38409 (grub_term_iterate_input): Removed.
38410 (grub_term_iterate_output): Likewise.
38411
38412 * kern/term.c (grub_term_list_input): Removed.
38413 (grub_term_list_output): Likewise.
38414 (grub_term_input_class): New variable.
38415 (grub_term_output_class): Likewise.
50fb7002 38416 (grub_cur_term_input): Change variable as macro.
71b9f361 38417 (grub_cur_term_output): Likewise.
38418 (grub_term_register_input): Removed.
38419 (grub_term_register_output): Likewise.
38420 (grub_term_unregister_input): Likewise.
38421 (grub_term_unregister_output): Likewise.
38422 (grub_term_set_current_input): Likewise.
38423 (grub_term_set_current_output): Likewise.
38424 (grub_term_iterate_input): Likewise.
38425 (grub_term_iterate_output): Likewise.
38426 (grub_term_get_current_input): Likewise.
38427 (grub_term_get_current_output): Likewise.
38428
38429 * util/grub-editenv.c: Include header file <grub/handler.h>.
38430 (grub_term_get_current_input): Removed.
38431 (grub_term_get_current_output): Likewise.
38432 (grub_term_input_class): New variable.
50fb7002 38433 (grub_term_output_class): Likewise.
71b9f361 38434
38435 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38436 (grub_term_get_current_output): Likewise.
38437 (grub_term_input_class): New variable.
50fb7002 38438 (grub_term_output_class): Likewise.
71b9f361 38439
38440 * util/grub-probe.c (grub_term_get_current_input): Removed.
38441 (grub_term_get_current_output): Likewise.
38442 (grub_term_input_class): New variable.
50fb7002 38443 (grub_term_output_class): Likewise.
71b9f361 38444
38445 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38446 (grub_term_get_current_output): Likewise.
38447 (grub_term_input_class): New variable.
50fb7002 38448 (grub_term_output_class): Likewise.
71b9f361 38449
38450 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38451 (terminal_mod_SOURCES): Likewise.
38452 (terminal_mod_CFLAGS): Likewise.
38453 (terminal_mod_LDFLAGS): Likewise.
38454
38455 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38456 handler.c.
38457 (kernel_img_SOURCES): Add list.c and handler.c.
38458 (kernel_img_HEADERS): Add list.h and handler.h.
38459
38460 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38461 handler.c.
38462 (kernel_mod_SOURCES): Add list.c and handler.c.
38463 (kernel_mod_HEADERS): Add list.h and handler.h.
38464
38465 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38466 handler.c.
38467 (kernel_elf_SOURCES): Add list.c and handler.c.
38468 (kernel_elf_HEADERS): Add list.h and handler.h.
38469
38470 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38471 handler.c.
38472 (kernel_elf_SOURCES): Add list.c and handler.c.
38473 (kernel_elf_HEADERS): Add list.h and handler.h.
38474
38475 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38476 handler.c.
38477 (kernel_mod_SOURCES): Add list.c and handler.c.
38478 (kernel_mod_HEADERS): Add list.h and handler.h.
38479
38480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38481 handler.c.
38482 (kernel_elf_SOURCES): Add list.c and handler.c.
38483 (kernel_elf_HEADERS): Add list.h and handler.h.
38484
8a31787f 384852009-02-27 Robert Millan <rmh@aybabtu.com>
38486
38487 Factorize elf32 / elf64 code in Multiboot loader. This will
38488 prevent it from getting out of sync again.
38489
38490 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38491 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38492 grub_multiboot_load_elf64): Move from here ...
38493 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38494 grub_multiboot_load_elf): ... to here (new file).
38495
51cd3dfc 384962009-02-27 Robert Millan <rmh@aybabtu.com>
38497
38498 * util/grub.d/10_linux.in: Rename "single-user mode" to
38499 "recovery mode".
38500
6e8c9c3a 385012009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38502
38503 Don't leak in SCSI code.
38504 * disk/scsi.c (grub_scsi_close): free `scsi'.
38505
4b6bf4f9 385062009-02-27 Robert Millan <rmh@aybabtu.com>
38507
38508 * loader/i386/pc/multiboot.c: Move from here ...
38509 * loader/i386/multiboot.c: ... to here. Update all users.
38510
b9413424 385112009-02-27 Robert Millan <rmh@aybabtu.com>
38512
38513 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38514 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38515
50fb7002 385162009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38517
38518 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38519 b-tree.
38520
8cc50345 385212009-02-27 Robert Millan <rmh@aybabtu.com>
38522
38523 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38524 `0x' qualifier as 0 when base is specified as parameter).
38525
6e09b8b7 385262009-02-24 Bean <bean123ch@gmail.com>
38527
38528 * configure.ac: Check for -mcmodel=large in x86_64 target.
38529
38530 * include/grub/efi/api.h (efi_call_10): New macro.
38531 (efi_wrap_10): New function.
38532
38533 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38534 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38535 (GRUB_PE32_REL_BASED_LOW): Likewise.
38536 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38537 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38538 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38539 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38540 (GRUB_PE32_REL_BASED_REL): Likewise.
38541 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38542 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38543 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38544
38545 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38546 issue.
38547
38548 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38549 (efi_wrap_10): New function.
38550
38551 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38552
38553 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38554 MB/MBP model (NV chipset).
38555 (devdata_devs): Add devpath_5 to the list.
38556
38557 * load/i386/efi/linux.c (video_base): Remove variable.
38558 (RGB_MASK): New macro.
38559 (RGB_MAGIC): Likewise.
38560 (LINE_MIN): Likewise.
38561 (LINE_MAX): Likewise.
38562 (FBTEST_STEP): Likewise.
38563 (FBTEST_COUNT): Likewise.
38564 (fb_list): New variable.
38565 (grub_find_video_card): Remove function.
38566 (find_framebuf): New function.
38567 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38568 line length.
38569
38570 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38571 problem for x86_64.
38572
74b21bee 385732009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38574
38575 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38576
38577 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38578 coding tool name.
38579
a455f472 385802009-02-22 Robert Millan <rmh@aybabtu.com>
38581
38582 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38583 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38584 in our relocation, instead of using it directly from heap. Also
38585 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38586
6374daf3 385872009-02-21 Robert Millan <rmh@aybabtu.com>
38588
38589 Implement USB keyboard support (based on patch by Marco Gerards)
38590
38591 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38592 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38593 (usb_keyboard_mod_LDFLAGS): New variables.
38594
38595 * term/usb_keyboard.c: New file.
38596
8fa4ea70 385972009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38598
38599 Corrected wrong declaration
38600
38601 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38602
353976ac 386032009-02-14 Christian Franke <franke@computer.org>
38604
38605 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38606 (grub_lspci_iter): Print class code and programming interface byte.
38607
6aa1169b 386082009-02-14 Christian Franke <franke@computer.org>
38609
38610 * gendistlist.sh: Ignore `.svn' directories.
38611
265372ca 386122009-02-14 Felix Zielcke <fzielcke@z-51.de>
38613
38614 * fs/fat.c: Add 2009 to Copyright line.
38615
9ff516f3 386162009-02-14 Christian Franke <franke@computer.org>
38617
38618 * commands/hdparm.c: New file. Provides `hdparm' command
38619 which sends ATA commands via grub_disk_ata_pass_through ().
38620
38621 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38622
38623 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38624 and <grub/cpu/io.h> to include/grub/ata.h.
38625 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38626 (GRUB_CDROM_SECTOR_SIZE): Remove.
38627 (GRUB_ATA_*): Move to include/grub/ata.h.
38628 (GRUB_ATAPI_*): Likewise.
38629 (enum grub_ata_commands): Likewise.
38630 (enum grub_ata_timeout_milliseconds): Likewise.
38631 (struct grub_ata_device): Likewise.
38632 (grub_ata_regset): Likewise.
38633 (grub_ata_regget): Likewise.
38634 (grub_ata_regset2): Likewise.
38635 (grub_ata_regget2): Likewise.
38636 (grub_ata_check_ready): Likewise.
38637 (grub_ata_wait_not_busy): Remove static, exported in
38638 include/grub/ata.h.
38639 (grub_ata_wait_drq): Likewise.
38640 (grub_ata_pio_read): Likewise.
38641
38642 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38643 function for hdparm.mod.
38644
38645 * include/grub/ata.h: New file, contains declarations from
38646 disk/ata.c.
38647 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38648
38649 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38650 (grub_disk_ata_pass_through): New exported variable.
38651
38652 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38653
772e23da 386542009-02-13 Colin D Bennett <colin@gibibit.com>
38655
38656 Support multiple fallback entries, and provide an API to support
38657 executing default+fallback menu entries. Renamed the `terminal' menu
38658 viewer to `text'.
38659
38660 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38661 variable declaration.
38662 (grub_menu_execute_callback): New structure declaration.
38663 (grub_menu_execute_callback_t): New typedef.
38664 (grub_menu_execute_with_fallback): New function declaration.
38665 (grub_menu_get_entry): Likewise.
38666 (grub_menu_get_timeout): Likewise.
38667 (grub_menu_set_timeout): Likewise.
38668
38669 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38670
38671 * normal/menu.c (grub_wait_after_message): Moved to
38672 `normal/menu_text.c'.
38673 (draw_border): Likewise.
38674 (print_message): Likewise.
38675 (print_entry): Likewise.
38676 (print_entries): Likewise.
38677 (grub_menu_init_page): Likewise.
38678 (get_entry_number): Likewise.
38679 (print_timeout): Likewise.
38680 (run_menu): Likewise.
38681 (grub_menu_execute_entry): Likewise.
38682 (show_text_menu): Likewise.
38683 (get_and_remove_first_entry_number): New function.
38684 (grub_menu_execute_with_fallback): Likewise.
38685 (get_entry): Renamed to ...
38686 (grub_menu_get_entry): .. this and made it global.
38687 (get_timeout): Renamed to ...
38688 (grub_menu_get_timeout): ... this and made it global.
38689 (set_timeout): Renamed to ...
38690 (grub_menu_set_timeout): ... this and made it global.
38691 (grub_normal_terminal_menu_viewer): Renamed to ...
38692 (grub_normal_text_menu_viewer): ... this.
38693
38694 * normal/menu_text.c: New file. Extracted text-menu-specific code
38695 from normal/menu.c.
38696
38697 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38698 (normal_mod_SOURCES): Likewise.
38699
38700 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38701 (normal_mod_SOURCES): Likewise.
38702
38703 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38704 (normal_mod_SOURCES): Likewise.
38705
38706 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38707 (normal_mod_SOURCES): Likewise.
38708
38709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38710 (normal_mod_SOURCES): Likewise.
38711
38712 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38713 (normal_mod_SOURCES): Likewise.
38714
38715 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38716 (normal_mod_SOURCES): Likewise.
38717
16ac430e 387182009-02-11 Robert Millan <rmh@aybabtu.com>
38719
38720 * util/grub.d/00_header.in: Update old reference to `font' command.
38721
06ff20fc 387222009-02-10 Felix Zielcke <fzielcke@z-51.de>
38723
38724 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38725
38726 Based on patch from Javier Martín.
38727
96da9407 387282009-02-09 Felix Zielcke <fzielcke@z-51.de>
38729
38730 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 38731 to avoid false positives with FAT.
96da9407 38732 (grub_fstest_SOURCES): Likewise.
38733 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38734 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38735 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38736 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38737 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38738 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38739
6dca6fe4 387402009-02-09 Felix Zielcke <fzielcke@z-51.de>
38741
06ff20fc 38742 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 38743 bpb.version_specific.fat12_or_fat16.fstype and
38744 bpb.version_specific.fat32.fstype.
38745
2550c62f 387462009-02-08 Robert Millan <rmh@aybabtu.com>
38747
be110b30 38748 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 38749
56978920 387502009-02-08 Robert Millan <rmh@aybabtu.com>
38751
38752 * Makefile.in (host_os, host_cpu): New variables.
38753 (target_os): Remove. Update all users.
38754
d64399b5 387552009-02-08 Marco Gerards <marco@gnu.org>
38756
38757 * Makefile.in (enable_grub_emu_usb): New variable.
38758 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38759 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38760 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38761 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38762 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38763 `usbtest.mod' and `usbms.mod'.
38764 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38765 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38766 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38767 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38768 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38769 variables.
38770
38771 * disk/usbms.c: New file.
38772
38773 * include/grub/usb.h: Likewise.
38774
38775 * include/grub/usbtrans.h: Likewise.
38776
38777 * include/grub/usbdesc.h: Likewise.
38778
38779 * bus/usb/usbtrans.c: Likewise.
38780
38781 * bus/usb/ohci.c: Likewise.
38782
38783 * bus/usb/uhci.c: Likewise.
38784
38785 * bus/usb/usbhub.c: Likewise.
38786
38787 * bus/usb/usb.c: Likewise.
38788
38789 * commands/usbtest.c: Likewise.
38790
38791 * util/usb.c: Likewise.
50fb7002 38792
d64399b5 38793 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38794
38795 * configure.ac: Test for libusb presence.
50fb7002 38796
d64399b5 38797 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38798
2b40d6bb 387992009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38800
38801 * kern/mm.c: Add more comments.
38802
73a4ce81 388032009-02-08 Robert Millan <rmh@aybabtu.com>
38804
38805 Patch from Javier Martín.
38806 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38807 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38808
f821ce59 388092009-02-08 Robert Millan <rmh@aybabtu.com>
38810
38811 * fs/cpio.c: Split tar functionality to ...
38812 * fs/tar.c: ... here (new file). Update all users.
38813
aebfc4b0 388142009-02-07 Robert Millan <rmh@aybabtu.com>
38815
38816 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38817 backward-incompatible features.
38818
38819 Based on patch from Javier Martín, with some adjustments.
38820
50fb7002 388212009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 38822
38823 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38824
0bb5115e 388252009-02-07 Robert Millan <rmh@aybabtu.com>
38826
38827 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38828 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38829 after the RAID stuff.
38830
38a0f8e7 388312009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38832
50fb7002 38833 Fixes problem when running vbetest command as reported by
38a0f8e7 38834 Vladimir Serbinenko <phcoder@gmail.com>.
38835
38836 * (grub_vbe_set_video_mode): Fixed problem with text modes.
38837
3143cc1c 388382009-02-04 Felix Zielcke <fzielcke@z-51.de>
38839
38840 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
38841 /dev/md/NpN style mdraid devices.
38842
9cba6fce 388432009-02-03 Felix Zielcke <fzielcke@z-51.de>
38844
38845 * util/unifont2pff.rb: Remove.
38846
e507a2c1 388472009-02-03 Felix Zielcke <fzielcke@z-51.de>
38848
38849 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
38850 `#'.
38851
d2c2b4cd 388522009-02-03 Felix Zielcke <fzielcke@z-51.de>
38853
38854 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
38855 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38856 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38857 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38859 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38860 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38861
b4315fb0 388622009-02-02 Christian Franke <franke@computer.org>
38863
38864 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
38865
de3aa260 388662009-02-01 Felix Zielcke <fzielcke@z-51.de>
38867
7c3ff286 38868 * INSTALL: Note that we now require at least autoconf 2.59 and
38869 that LZO is optional.
de3aa260 38870
825a182b 388712009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38872
38873 Base on patch on bug #24154 created by Tomas Tintera
38874 <trosos@seznam.cz>.
38875
38876 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
38877
a69ef770 388782009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38879
7c3ff286 38880 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 38881 <bero@arklinux.org>.
38882
38883 * normal/parser.y (script_init): Add missing semicolon.
38884
6fa42fa6 388852009-01-31 Colin D Bennett <colin@gibibit.com>
38886
7c3ff286 38887 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 38888 (free_menu_entry_classes): Added.
38889 (grub_normal_menu_addentry): Added class property handling.
38890 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
38891 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
38892
38893 * normal/menu_viewer.c: New file.
38894
38895 * normal/menu.c (run_menu_entry): Renamed to ...
38896 (grub_menu_execute_entry): ... this and made it as global.
38897 (grub_menu_run): Renamed to ...
38898 (show_text_menu): ... this and made it local.
38899 (show_text_menu): Adapt to new function names.
38900 (grub_normal_terminal_menu_viewer): New global variable.
38901
38902 * include/grub/menu.h: New file.
38903
38904 * include/grub/menu_viewer.h: New file.
38905
38906 * include/grub/normal.h: Added include to grub/menu.h.
38907 (grub_menu_entry): Moved to include/grub/menu.h.
38908 (grub_menu_entry_t): Likewise.
38909 (grub_menu): Likewise.
38910 (grub_menu_t): Likewise.
38911 (grub_normal_terminal_menu_viewer): Added.
38912 (grub_menu_execute_entry): Likewise.
38913 (grub_menu_run): Removed.
38914
38915 * DISTLIST: Added include/grub/menu.h.
38916 Added include/grub/menu_viewer.h.
38917 Added normal/menu_viewer.c.
38918
389192009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
38920
38921 * normal/execute.c (grub_script_execute_menuentry): Changed to use
38922 arglist for menutitle arguments.
38923
38924 * normal/main.c (grub_normal_menu_addentry): Likewise.
38925
38926 * normal/parser.y (menuentry): Likewise.
38927
38928 * normal/script.c (grub_script_create_cmdmenu): Likewise.
38929
38930 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
38931 (grub_script_create_cmdmenu): Likewise.
38932
38933 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
38934
38935 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
38936 changes.
38937
38938 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
38939
38940 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
38941
38942 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
38943
38944 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38945
38946 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38947
38948 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38949
56192c23 389502009-01-30 Christian Franke <franke@computer.org>
38951
38952 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
38953 in option help text.
38954
d72521b3 389552009-01-27 Pavel Roskin <proski@gnu.org>
38956
38957 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
38958
994b5e84 389592009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38960
38961 * commands/lsmmap.c: Add include to grub/machine/memory.h.
38962
38963 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
38964
38965 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
38966 unregister function.
38967
6a7eab2c 389682009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38969
38970 * disk/scsi.c (grub_scsi_read): Fix sign problem.
38971
38972 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
38973
38974 * util/grub-mkfont.c (usage): Fix typo.
38975
38976 * util/elf/grub-mkimage.c (load_modules): Fix warning.
38977
1806b56e 389782009-01-26 Daniel Mierswa <impulze@impulze.org>
38979
3fb18f09 38980 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
38981
336e1fb9 38982 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
38983
1806b56e 38984 * kern/misc.c (grub_strcasecmp): New function.
38985 (grub_strcasecmp): Use grub_size_t instead of int for length.
38986 Fix return value.
38987 * include/grub/misc.h: Update function prototypes.
38988
580b2a0f 389892009-01-26 Robert Millan <rmh@aybabtu.com>
38990
38991 * configure.ac: Fix cross-compilation check.
ef257b36 38992
d31c24f1 389932009-01-22 Christian Franke <franke@computer.org>
38994
38995 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
38996 (precision) digit string. Allow `.format2' without `format1' (width).
38997 Limit input chars for `%s' output to `format2' if specified. This is
38998 compatible with standard printf ().
38999
3138b44c 390002009-01-22 Christian Franke <franke@computer.org>
39001
39002 * disk/ata.c (grub_ata_wait_status): Replace by ...
39003 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39004 other status bits may be invalid while BSY is asserted.
39005 (grub_ata_check_ready): New function.
39006 (grub_ata_cmd): Removed.
39007 (grub_ata_wait_drq): New function.
39008 (grub_ata_strncpy): Remove inline.
39009 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39010 and error check now done by grub_ata_wait_drq ().
39011 (grub_ata_pio_write): Likewise.
39012 (grub_atapi_identify): Set DEV before check for !BSY. Use
39013 grub_ata_wait_drq () to wait for data.
39014 (grub_ata_device_initialize): Add status register check to
39015 detect missing SATA slave devices. Add debug messages.
39016 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39017 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39018 transfer loop by grub_ata_pio_write ().
39019 (grub_ata_identify): Set DEV before check for !BSY. Use
39020 grub_ata_wait_drq () to wait for data.
ef257b36 39021 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39022 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39023 read/write in one loop. Fix invalid command on write. Fix incomplete
39024 command on (size % batch) == 0. Add missing error check after write of
39025 last block. Add debug messages.
39026 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39027
59a64ef6 390282009-01-19 Christian Franke <franke@computer.org>
39029
39030 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39031 (GRUB_ATAPI_IREASON_*): Likewise.
39032 (grub_ata_pio_write): Fix timeout error return.
39033 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39034 (grub_atapi_wait_drq): New function.
39035 (grub_atapi_packet): New parameter `size'.
39036 Use grub_atapi_wait_drq () and direct write instead of
39037 grub_ata_pio_write ().
39038 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39039 reads the number of bytes requested by the device for each DRQ
39040 assertion.
39041 (grub_atapi_write): Remove old implementation, return not
39042 implemented instead.
39043
1cfe20b3 390442009-01-19 Christian Franke <franke@computer.org>
39045
39046 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39047 of 512 to calculate data size.
39048 (grub_scsi_read12): Likewise.
39049 (grub_scsi_write10): Likewise.
39050 (grub_scsi_write12): Likewise.
39051 (grub_scsi_read): Adjust size according to blocksize.
39052 Add checks for invalid blocksize and unaligned transfer.
39053
bee5fe5d 390542009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39055
39056 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39057
ef257b36 39058 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39059 width glyphs.
39060
3e643f8c 390612009-01-19 Robert Millan <rmh@aybabtu.com>
39062
39063 * config.guess: Update to latest version from config git.
39064 * config.sub: Likewise.
39065
4fa80998 390662009-01-17 Felix Zielcke <fzielcke@z-51.de>
39067
39068 * Makefile.in: Change font compilation to use new grub-mkfont instead
39069 of java version.
39070
39071 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39072 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39073 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39074 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39075 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39076 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39077 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39078 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39079 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39080
7086085b 390812009-01-16 Christian Franke <franke@computer.org>
39082
39083 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39084 (enum grub_ata_timeout_milliseconds): New enum.
39085 (grub_ata_wait_status): Add parameter milliseconds.
39086 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39087 recovery from timed-out commands.
39088 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39089 return grub_errno instead of REG_ERROR.
39090 (grub_ata_pio_write): Add parameter milliseconds.
39091 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39092 Pass milliseconds to grub_ata_wait_status () and
39093 grub_ata_pio_read ().
39094 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39095 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39096 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39097 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39098 It is not suitable for device detection, because DEV bit is ignored,
39099 the command may run too long, and not all devices set the signature
39100 properly.
39101 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39102 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39103 Fix device selection, DEV bit must be set first to address the registers
39104 of the correct device.
39105 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39106 grub_ata_pio_read/write ().
39107 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39108 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39109
4a412913 391102009-01-13 Carles Pina i Estany <carles@pina.cat>
39111
39112 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39113
7795c55e 391142009-01-13 Bean <bean123ch@gmail.com>
d913988c 39115
39116 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39117
7795c55e 391182009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39119
39120 * Makefile.in: (enable_grub_mkfont): New variable.
39121 (freetype_cflags): Likewise.
39122 (freetype_libs): Likewise.
39123
39124 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39125 (grub_mkfont_SOURCES): New variable.
39126 (grub_mkfont_CFLAGS): Likewise.
39127 (grub_mkfont_LDFLAGS): Likewise.
39128
39129 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39130 library if `--enable-grub-mkfont' is requested.
39131 (enable_grub_mkfont): New variable.
39132 (freetype_cflags): Likewise.
39133 (freetype_libs): Likewise.
39134
39135 * util/grub-mkfont.c: New file.
39136
093af1fe 391372009-01-12 Christian Franke <franke@computer.org>
39138
39139 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39140 mode check. Fix setting of compat_use[].
39141
f36cc108 391422009-01-10 Robert Millan <rmh@aybabtu.com>
39143
39144 Update a few copyright years which we forgot to do in 2008 (only for
39145 files whose changes made in 2008 were copyright-significant)
39146
39147 * Makefile.in: Add 2008 to Copyright line.
39148 * disk/ieee1275/ofdisk.c: Likewise.
39149 * disk/efi/efidisk.c: Likewise.
39150 * kern/dl.c: Likewise.
39151 * kern/sparc64/ieee1275/init.c: Likewise.
39152 * kern/mm.c: Likewise.
39153 * kern/efi/mm.c: Likewise.
39154 * boot/i386/pc/boot.S: Likewise.
39155 * genfslist.sh: Likewise.
39156 * fs/iso9660.c: Likewise.
39157 * fs/hfs.c: Likewise.
39158 * fs/jfs.c: Likewise.
39159 * fs/minix.c: Likewise.
39160 * fs/ufs.c: Likewise.
39161 * gensymlist.sh.in: Likewise.
39162 * genkernsyms.sh.in: Likewise.
39163 * include/grub/misc.h: Likewise.
39164 * include/grub/types.h: Likewise.
39165 * include/grub/symbol.h: Likewise.
39166 * include/grub/elf.h: Likewise.
39167 * include/grub/kernel.h: Likewise.
39168 * include/grub/disk.h: Likewise.
39169 * include/grub/dl.h: Likewise.
39170 * include/grub/i386/linux.h: Likewise.
39171 * include/grub/i386/pc/biosdisk.h: Likewise.
39172 * include/grub/efi/api.h: Likewise.
39173 * include/grub/efi/pe32.h: Likewise.
39174 * include/grub/util/misc.h: Likewise.
39175 * normal/execute.c: Likewise.
39176 * normal/arg.c: Likewise.
39177 * normal/completion.c: Likewise.
39178 * normal/lexer.c: Likewise.
39179 * normal/parser.y: Likewise.
39180 * normal/misc.c: Likewise.
39181 * commands/i386/pc/vbeinfo.c: Likewise.
39182 * commands/hexdump.c: Likewise.
39183 * commands/terminal.c: Likewise.
39184 * commands/ls.c: Likewise.
39185 * commands/help.c: Likewise.
39186 * partmap/pc.c: Likewise.
39187 * loader/efi/chainloader.c: Likewise.
39188 * loader/multiboot_loader.c: Likewise.
39189 * loader/i386/pc/multiboot2.c: Likewise.
39190 * term/efi/console.c: Likewise.
39191 * term/i386/pc/serial.c: Likewise.
39192 * util/lvm.c: Likewise.
39193 * util/console.c: Likewise.
39194 * util/i386/efi/grub-mkimage.c: Likewise.
39195 * util/raid.c: Likewise.
39196
7f02114b 391972009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39198
39199 * commands/videotest.c: Removed include to grub/machine/memory.h.
39200
39201 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39202 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39203 (video_mod_SOURCES): Removed.
39204 (video_mod_CFLAGS): Likewise.
39205 (video_mod_LDFLAGS): Likewise.
39206 (gfxterm_mod_SOURCES): Likewise.
39207 (gfxterm_mod_CFLAGS): Likewise.
39208 (gfxterm_mod_LDFLAGS): Likewise.
39209 (videotest_mod_SOURCES): Likewise.
39210 (videotest_mod_CFLAGS): Likewise.
39211 (videotest_mod_LDFLAGS): Likewise.
39212 (bitmap_mod_SOURCES): Likewise.
39213 (bitmap_mod_CFLAGS): Likewise.
39214 (bitmap_mod_LDFLAGS): Likewise.
39215 (tga_mod_SOURCES): Likewise.
39216 (tga_mod_CFLAGS): Likewise.
39217 (tga_mod_LDFLAGS): Likewise.
39218 (jpeg_mod_SOURCES): Likewise.
39219 (jpeg_mod_CFLAGS): Likewise.
39220 (jpeg_mod_LDFLAGS): Likewise.
39221 (png_mod_SOURCES): Likewise.
39222 (png_mod_CFLAGS): Likewise.
39223 (png_mod_LDFLAGS): Likewise.
39224
39225 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39226 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39227 (video_mod_SOURCES): Added.
39228 (video_mod_CFLAGS): Likewise.
39229 (video_mod_LDFLAGS): Likewise.
39230 (videotest_mod_SOURCES): Likewise.
39231 (videotest_mod_CFLAGS): Likewise.
39232 (videotest_mod_LDFLAGS): Likewise.
39233 (bitmap_mod_SOURCES): Likewise.
39234 (bitmap_mod_CFLAGS): Likewise.
39235 (bitmap_mod_LDFLAGS): Likewise.
39236 (tga_mod_SOURCES): Likewise.
39237 (tga_mod_CFLAGS): Likewise.
39238 (tga_mod_LDFLAGS): Likewise.
39239 (jpeg_mod_SOURCES): Likewise.
39240 (jpeg_mod_CFLAGS): Likewise.
39241 (jpeg_mod_LDFLAGS): Likewise.
39242 (png_mod_SOURCES): Likewise.
39243 (png_mod_CFLAGS): Likewise.
39244 (png_mod_LDFLAGS): Likewise.
39245 (gfxterm_mod_SOURCES): Likewise.
39246 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39247 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39248
39249 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39250 grub/machine/console.h.
39251
644fff97 392522009-01-04 Jerone Young <jerone@gmail.com>
39253
39254 Make on screen instructions clearer
39255
39256 Based on patch created by Jidanni <jidanni@jidanni.org>
39257
39258 * normal/menu.c: print clearer instructions on the screen
39259
1e901a75 392602009-01-02 Colin D Bennett <colin@gibibit.com>
39261
39262 New font engine.
34c44600 39263
1e901a75 39264 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39265 build system and fixed gfxterm.c to work with different sized fonts.
39266
39267 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39268
1e901a75 39269 * configure: Re-generated.
34c44600 39270
1e901a75 39271 * DISTLIST: Removed font/manager.c.
39272 Added font/font.c.
39273 Added font/font_cmd.c.
34c44600 39274
1e901a75 39275 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39276 compilation.
34c44600 39277
1e901a75 39278 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39279
39280 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39281
39282 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39283
1e901a75 39284 * normal/menu.c: Likewise.
34c44600 39285
1e901a75 39286 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39287 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39288
1e901a75 39289 * include/grub/font.h: Replaced with new file.
34c44600 39290
1e901a75 39291 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39292 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39293 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39294 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39295 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39296 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39297 fg_red, fg_green, fg_blue, fg_alpha.
39298 (grub_video_adapter): Removed blit_glyph.
34c44600 39299 (grub_video_blit_glyph): Removed.
39300
1e901a75 39301 * font/manager.c: Removed file.
34c44600 39302
39303 * font/font.c: New file.
39304
1e901a75 39305 * font/font_cmd.c: Likewise.
34c44600 39306
1e901a75 39307 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39308
1e901a75 39309 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39310 (grub_video_vbe_map_rgba): Likewise.
39311 (grub_video_vbe_unmap_color_int): Likewise.
39312 (grub_video_vbe_blit_glyph): Removed.
39313 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39314
1e901a75 39315 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39316 (get_pixel): Likewise.
34c44600 39317 (set_pixel): Likewise.
39318
1e901a75 39319 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39320
1e901a75 39321 * term/gfxterm.c: Adapted to new font engine.
34c44600 39322
1e901a75 39323 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39324
1e901a75 39325 * term/i386/pc/vga.c: Likewise.
34c44600 39326
1e901a75 39327 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39328
1e901a75 39329 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39330
1e901a75 39331 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39332
1e901a75 39333 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39334
1e901a75 39335 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39336
1e901a75 39337 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39338
1e901a75 39339 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39340
1e901a75 39341 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39342
1e901a75 39343 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39344
39345 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39346
1e901a75 39347 * util/grub-mkconfig_lib.in: Changed font extension.
39348
278922e8 393492008-12-28 Felix Zielcke <fzielcke@z-51.de>
39350
39351 * util/getroot.c (grub_util_get_grub_dev): Add support for
39352 /dev/md/dNNpNN style partitionable mdraid devices.
39353
3ced05cf 393542008-12-12 Alex Smith <alex@alex-smith.me.uk>
39355
39356 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39357 at a time limit of the PXE TFTP API correctly.
39358 (grub_pxefs_close): Likewise.
39359
7fd0ee30 393602008-11-29 Robert Millan <rmh@aybabtu.com>
39361
34c44600 39362 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39363 grub_ata_device_initialize() calls.
39364
34c44600 393652008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39366
39367 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39368 iteration failed.
39369 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39370
89313780 393712008-11-28 Robert Millan <rmh@aybabtu.com>
39372
39373 Fix build on powerpc-ieee1275. Based on patch created by
39374 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39375 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39376 `kern/ieee1275/mmap.c'.
39377 * include/grub/powerpc/ieee1275/memory.h: New file.
39378
15257703 39379 Provide grub-install on coreboot.
39380 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39381 (grub_install_SOURCES): New variable.
39382 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39383 usable on coreboot.
39384
9fc5388a 393852008-11-25 Felix Zielcke <fzielcke@z-51.de>
39386
39387 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39388 to `grub_term_input_t'.
39389 (grub_term_get_current_output): Change return type to
39390 `grub_term_output_t'.
39391
bc3a2f31 393922008-11-22 Robert Millan <rmh@aybabtu.com>
39393
34c44600 39394 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39395 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39396 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39397 grub_vga_text_cls().
39398
80fc88f2 39399 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39400 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39401
cbf36fd3 39402 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39403 to 0x200000 (avoids trouble with some OFW implementations, and matches
39404 with the one in Yaboot).
39405 Reported by Manoel Abranches
39406
73e8e268 394072008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39408
39409 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39410 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39411
73e8e268 39412 * util/grub-mkconfig_lib.in (grub_warn): New function.
39413 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39414 warnings, to obtain consistent formatting.
39415 * util/grub.d/00_header.in: Likewise.
39416 * util/update-grub_lib.in: Likewise.
39417
e94045a1 39418 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39419 Move comment text to `#error' stanza.
e94045a1 39420
79d29fd7 39421 Harmonize ieee1275's grub_available_iterate() with the generic
39422 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39423 build problem on i386-ieee1275):
39424 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39425 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39426 parameter `type'. Update all users of this function.
39427 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39428 `kern/ieee1275/mmap.c'.
39429 * kern/ieee1275/init.c
39430 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39431 with ...
39432 (grub_machine_mmap_iterate): ... this.
39433 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39434 return type to `grub_err_t'. Update all implementations of this
39435 function prototype.
39436 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39437 Likewise.
39438
60d6b16e 39439 Add `lsmmap' command (lists firmware-provided memory map):
39440 * commands/lsmmap.c: New file.
39441 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39442 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39443 variables.
39444 * conf/powerpc-ieee1275.rmk: Likewise.
39445 * conf/i386-coreboot.rmk: Likewise.
39446 * conf/i386-ieee1275.rmk: Likewise.
39447
ebaaf49b 394482008-11-19 Robert Millan <rmh@aybabtu.com>
39449
39450 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39451 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39452 constraints to initrd allocation (based on code from
39453 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39454 for Linux to find it.
ebaaf49b 39455
dfab719f 394562008-11-14 Robert Millan <rmh@aybabtu.com>
39457
39458 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39459 order to cope with duplicate slashes.
39460
10fc3eb9 394612008-11-14 Robert Millan <rmh@aybabtu.com>
39462
39463 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39464 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39465 don't want to mess with lower memory, because it is used in the Linux
39466 loader.
39467
39468 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39469 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39470 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39471 is in our heap (probably as a result of it being corrupted during
2f2a3442 39472 decompression). Add #error instance with comment to explain why this
39473 loader isn't currently usable on PC/BIOS.
10fc3eb9 39474
e2e07847 394752008-11-14 Robert Millan <rmh@aybabtu.com>
39476
39477 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39478 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39479
fe8e8d69 394802008-11-12 Robert Millan <rmh@aybabtu.com>
39481
39482 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39483
39484 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39485 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39486 from here ...
39487 * include/grub/i386/pc/memory.h: ... to here.
39488
976b07d0 394892008-11-12 Robert Millan <rmh@aybabtu.com>
39490
39491 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39492 split).
39493
39494 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39495 (grub_console_cur_color, grub_console_real_putchar)
39496 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39497 (grub_console_setcolorstate, grub_console_setcolor)
39498 (grub_console_getcolor): Move from here ...
39499 * include/grub/i386/vga_common.h: ... to here (new file).
39500
39501 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39502 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39503 `<grub/i386/io.h>'.
39504 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39505 `<grub/i386/vga_common.h>'.
39506
76679cd3 395072008-11-12 Robert Millan <rmh@aybabtu.com>
39508
39509 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39510 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39511 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39512 variables.
39513 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39514 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39515
39516 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39517 grub_console_init() with call to grub_vga_text_init().
39518 (grub_machine_fini): Replace call to
39519 grub_console_fini() with call to grub_vga_text_fini() and
39520 grub_at_keyboard_fini().
39521
39522 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39523 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39524 (grub_console_setcolorstate, grub_console_setcolor)
39525 (grub_console_getcolor): New function prototypes.
39526
39527 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39528 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39529 (grub_vga_text_setcursor): Static-ize.
39530 (grub_vga_text_term): New structure.
39531 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39532
39533 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39534 (grub_console_cur_color, grub_console_standard_color)
39535 (grub_console_normal_color, grub_console_highlight_color)
39536 (map_char, grub_console_putchar, grub_console_getcharwidth)
39537 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39538 (grub_console_getcolor): Move from here ...
39539 * term/i386/vga_common.c: ... to here (same function names).
39540
95b841d3 395412008-11-12 Robert Millan <rmh@aybabtu.com>
39542
39543 Use newly-added Multiboot support in coreboot.
39544
39545 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39546 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39547
39548 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39549 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39550 (codestart): Store the MBI in `startup_multiboot_info' when we're
39551 being loaded using Multiboot.
39552
39553 * kern/i386/coreboot/init.c (grub_machine_init): Move
39554 grub_at_keyboard_init() call to beginning of function (useful for
39555 debugging). Call grub_machine_mmap_init() before attempting to use
39556 grub_machine_mmap_iterate().
39557 (grub_lower_mem, grub_upper_mem): Move from here ...
39558 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39559 here (new file).
39560
39561 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39562 function prototype.
39563
761ca975 395642008-11-12 Robert Millan <rmh@aybabtu.com>
39565
39566 Fix a regression introduced by the at_keyboard.mod split. Because
39567 some terminals are default on some platforms and non-default on
39568 others, the first terminal being registered determines which is
39569 going to be default.
39570
39571 * kern/term.c (grub_term_register_input): If this is the first
39572 terminal being registered, set it as the current one.
39573 (grub_term_register_output): Likewise.
39574
39575 * term/efi/console.c (grub_console_init): Do not call
39576 grub_term_set_current_output() or grub_term_set_current_input().
39577 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39578 * term/i386/pc/console.c (grub_console_init): Likewise.
39579 (grub_console_fini): Do not call grub_term_set_current_input()
39580 (but leave grub_term_set_current_output() to restore text mode).
39581
6c529df7 395822008-11-10 Robert Millan <rmh@aybabtu.com>
39583
39584 * util/grub.d/00_header.in: Add backward compatibility check for
39585 versions of terminal.mod that don't understand `terminal_input' or
39586 `terminal_output'.
39587
132e4113 395882008-11-09 Robert Millan <rmh@aybabtu.com>
39589
39590 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39591 `terminal_input' / `terminal_output', not `terminal'.
39592
ac293d50 395932008-11-08 Robert Millan <rmh@aybabtu.com>
39594
39595 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39596 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39597
0025933a 395982008-11-08 Robert Millan <rmh@aybabtu.com>
39599
39600 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39601 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39602 members. Update all users.
39603 * util/console.c (grub_ncurses_term): Split in ...
39604 (grub_ncurses_term_input): ... this, and ...
39605 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39606 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39607
37c86336 396082008-11-08 Robert Millan <rmh@aybabtu.com>
39609
39610 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39611 (PKGDATA): Add $(pkgdata_SRCDIR).
39612 (pkglib_BUILDDIR): New variable.
39613 (pkgdata_SRCDIR): New variable.
39614 (build_env.mk): New target.
39615 (include_DATA): New variable.
39616 (install-local): Install $(include_DATA) files in $(includedir).
39617
b6c15a2d 396182008-11-07 Pavel Roskin <proski@gnu.org>
39619
d99d46f1 39620 * gendistlist.sh: Use C locale for sorting to ensure consistent
39621 output on all systems.
39622
b6c15a2d 39623 * util/grub.d/00_header.in: Remove incorrect space before
39624 "serial".
39625
c32ee8c9 396262008-11-07 Robert Millan <rmh@aybabtu.com>
39627
39628 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39629 per specification.
39630 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39631 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39632 (based on find_multi_boot1_header).
39633 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39634 using find_multi_boot2_header(), and abort if neither Multiboot or
39635 Multiboot headers were found.
39636
651c29b7 396372008-11-07 Robert Millan <rmh@aybabtu.com>
39638
39639 Modularize at_keyboard.mod:
39640
39641 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39642 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39643 (at_keyboard_mod_LDFLAGS): New variables.
39644
39645 Actual terminal split:
39646
39647 * include/grub/term.h (struct grub_term): Split in ...
39648 (struct grub_term_input): ... this, and ...
39649 (struct grub_term_output): ... this. Update all users.
39650 (grub_term_set_current): Split in ...
39651 (grub_term_set_current_input): ... this, and ...
39652 (grub_term_set_current_output): ... this.
39653 (grub_term_get_current): Split in ...
39654 (grub_term_get_current_input): ... this, and ...
39655 (grub_term_get_current_output): ... this.
39656 (grub_term_register): Split in ...
39657 (grub_term_register_input): ... this, and ...
39658 (grub_term_register_output): ... this.
39659 (grub_term_unregister): Split in ...
39660 (grub_term_unregister_input): ... this, and ...
39661 (grub_term_unregister_output): ... this.
39662 (grub_term_iterate): Split in ...
39663 (grub_term_iterate_input): ... this, and ...
39664 (grub_term_iterate_output): ... this.
39665
39666 * kern/term.c (grub_term_list): Split in ...
39667 (grub_term_list_input): ... this, and ...
39668 (grub_term_list_output): ... this. Update all users.
39669 (grub_cur_term): Split in ...
39670 (grub_cur_term_input): ... this, and ...
39671 (grub_cur_term_output): ... this. Update all users.
39672 (grub_term_set_current): Split in ...
39673 (grub_term_set_current_input): ... this, and ...
39674 (grub_term_set_current_output): ... this.
39675 (grub_term_get_current): Split in ...
39676 (grub_term_get_current_input): ... this, and ...
39677 (grub_term_get_current_output): ... this.
39678 (grub_term_register): Split in ...
39679 (grub_term_register_input): ... this, and ...
39680 (grub_term_register_output): ... this.
39681 (grub_term_unregister): Split in ...
39682 (grub_term_unregister_input): ... this, and ...
39683 (grub_term_unregister_output): ... this.
39684 (grub_term_iterate): Split in ...
39685 (grub_term_iterate_input): ... this, and ...
39686 (grub_term_iterate_output): ... this.
39687
39688 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39689 a check for input and one for output (and only attempt to get keys
39690 from user when input works).
39691
39692 * util/grub-probe.c (grub_term_get_current): Split in ...
39693 (grub_term_get_current_input): ... this, and ...
39694 (grub_term_get_current_output): ... this.
39695 * util/grub-fstest.c: Likewise.
39696 * util/i386/pc/grub-setup.c: Likewise.
39697 * util/grub-editenv.c: Likewise.
39698
39699 Portability adjustments:
39700
39701 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39702 `term/i386/pc/at_keyboard.c'.
39703 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39704 grub_keyboard_controller_init() (now handled by terminal .init).
39705 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39706 grub_at_keyboard_init().
39707 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39708 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39709 at_keyboard.mod via input terminal interface).
39710 * include/grub/i386/coreboot/console.h: Convert into a stub for
39711 `<grub/i386/pc/console.h>'.
39712
39713 Migrate full terminals to new API:
39714
39715 * term/efi/console.c (grub_console_term): Split into ...
39716 (grub_console_term_input): ... this, and ...
39717 (grub_console_term_output): ... this. Update all users.
39718 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39719 (grub_ofconsole_init): Split into ...
39720 (grub_ofconsole_init_input): ... this, and ...
39721 (grub_ofconsole_init_output): ... this.
39722 (grub_ofconsole_term): Split into ...
39723 (grub_ofconsole_term_input): ... this, and ...
39724 (grub_ofconsole_term_output): ... this. Update all users.
39725 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39726 (grub_serial_term_input): ... this, and ...
39727 (grub_serial_term_output): ... this. Update all users.
39728 * term/i386/pc/console.c (grub_console_term): Split into ...
39729 (grub_console_term_input): ... this, and ...
39730 (grub_console_term_output): ... this. Update all users.
39731 (grub_console_term_input): Only enable it on PC/BIOS platform.
39732 (grub_console_init): Remove grub_keyboard_controller_init() call.
39733
39734 Migrate input terminals to new API:
39735
39736 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39737 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39738 i386-specific anyway).
39739 (grub_console_checkkey): Rename to ...
39740 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39741 users.
39742 (grub_keyboard_controller_orig): New variable.
39743 (grub_console_getkey): Rename to ...
39744 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39745 users.
39746 (grub_keyboard_controller_init): Static-ize. Save original
39747 controller value so that it can be restored ...
39748 (grub_keyboard_controller_fini): ... here (new function).
39749 (grub_at_keyboard_term): New structure.
39750 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39751 functions.
39752
39753 Migrate output terminals to new API:
39754
39755 * term/i386/pc/vga.c (grub_vga_term): Change type to
39756 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39757 members. Update all users.
39758 * term/gfxterm.c (grub_video_term): Change type to
39759 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39760 members. Update all users.
39761 * include/grub/i386/pc/console.h (grub_console_checkkey)
39762 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39763 etc).
39764
39765 Migrate `terminal' command and userland tools to new API:
39766
39767 * commands/terminal.c (grub_cmd_terminal): Split into ...
39768 (grub_cmd_terminal_input): ... this, and ...
39769 (grub_cmd_terminal_output): ... this.
39770 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39771 `terminal_input' and `terminal_output'.
39772 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39773 `terminal_input' / `terminal_output' API.
39774 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39775 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39776 provided ${GRUB_TERMINAL}, convert it).
39777
96e5d876 397782008-11-04 Robert Millan <rmh@aybabtu.com>
39779
39780 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39781 for FreeBSD.
39782 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39783
556f3775 397842008-11-03 Bean <bean123ch@gmail.com>
39785
39786 * kern/elf.c (grub_elf32_load): Revert to previous code.
39787 (grub_elf64_load): Likewise.
39788
39789 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39790
926b9823 397912008-11-01 Robert Millan <rmh@aybabtu.com>
39792
39793 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39794 (TARGET_CPPFLAGS): Likewise.
39795 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39796
1432e958 397972008-11-01 Carles Pina i Estany <carles@pina.cat>
39798
39799 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39800
dba3f844 398012008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 39802
39803 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39804 addition of objects until the code is not going to be able to fail.
39805
dba3f844 398062008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 39807
39808 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39809 (add a missing NULL check, and correct them by moving the pointer
39810 operations after the actual check).
39811
7ab28c21 398122008-10-29 Robert Millan <rmh@aybabtu.com>
39813
39814 * util/i386/pc/grub-install.in: Handle empty string as output from
39815 make_system_path_relative_to_its_root().
39816
1b7748eb 398172008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39818
39819 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39820 circular metadata worst case scenario. If the metadata is circular
39821 then copy the wrap in place.
39822 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39823 project lib/format_text/layout.h
39824 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39825
c9618ab2 398262008-10-03 Felix Zielcke <fzielcke@z-51.de>
39827
7a36edca 39828 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 39829
bf981c62 398302008-10-03 Felix Zielcke <fzielcke@z-51.de>
39831
39832 * util/update-grub_lib.in: Mention filename in warning message.
39833
6d994591 398342008-09-29 Felix Zielcke <fzielcke@z-51.de>
39835
39836 * NEWS: Update for rename of update-grub to grub-mkconfig.
39837
18ade780 398382008-09-29 Felix Zielcke <fzielcke@z-51.de>
39839
39840 * util/update-grub_lib.in: Copy to ...
39841 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 39842 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 39843 * util/update-grub.in: Rename to ...
39844 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
39845 option. Add `--output' option to allow users to specify the generated
39846 configuration file. Default to stdout.
39847 (update_grub_dir): Rename to ...
39848 (grub_mkconfig_dir): ... this.
39849 (grub_cfg): Default to an empty string.
39850 * conf/common.rmk (update-grub): Rename to ...
39851 (grub-mkconfig): ... this.
39852 (update-grub_lib): Copy to ...
39853 (grub-mkconfig_lib): ... this.
39854 (update-grub_SCRIPTS): Copy to ...
39855 (grub-mkconfig_SCRIPTS): ... this. Update all users.
39856 (update-grub_DATA): Rename to ...
39857 (grub-mkconfig_DATA): ... this.
39858
556ce6ac 398592008-09-28 Robert Millan <rmh@aybabtu.com>
39860
39861 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
39862 to `modified'. Add the real `created' field.
39863 (grub_iso9660_uuid): Use `modified' rather than `created' for
39864 constructing the UUID.
39865
398662008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 39867
39868 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
39869 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
39870
92274e85 398712008-09-28 Bean <bean123ch@gmail.com>
39872
39873 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
39874 Thanks to Christian Franke for finding this bug.
39875
add6f17a 398762008-09-25 Robert Millan <rmh@aybabtu.com>
39877
39878 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
39879 instances of grub_util_get_disk_name() (see previous commit).
39880
d2a367b8 398812008-09-25 Robert Millan <rmh@aybabtu.com>
39882
39883 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
39884 `util/i386/get_disk_name.c'.
39885 * conf/i386-efi.rmk: Likewise.
39886 * conf/x86_64-efi.rmk: Likewise.
39887 * conf/i386-coreboot.rmk: Likewise.
39888 * conf/i386-ieee1275.rmk: Likewise.
39889 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
39890 `util/ieee1275/get_disk_name.c'.
39891 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
39892 * util/ieee1275/get_disk_name.c: Remove file.
39893 * util/i386/get_disk_name.c: Remove file.
39894 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
39895 "hd%d" for device.map entries, rather than using
39896 grub_util_get_disk_name().
39897
81a06771 398982008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 39899
39900 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
39901 warning.
39902 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
39903
5a004279 399042008-09-24 Carles Pina i Estany <carles@pina.cat>
39905
39906 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
39907 Changed to 0x5100.
39908 (GRUB_TERM_PPAGE): Changed to 0x4900.
39909
397093d3 399102008-09-24 Robert Millan <rmh@aybabtu.com>
39911
39912 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
39913 macros (they were i386-pc specific).
39914 * include/grub/sparc64/ieee1275/console.h: Likewise.
39915 * include/grub/efi/console.h: Likewise.
39916
a91b6c7c 399172008-09-22 Bean <bean123ch@gmail.com>
39918
39919 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
39920 resident and in attribute list.
39921
39922 * include/grub/ntfs.h (BMP_LEN): Removed.
39923
c40fd116 399242008-09-22 Bean <bean123ch@gmail.com>
39925
81a06771 39926 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 39927 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
39928
39929 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
39930 error occurs, as grub_disk_open will call grub_disk_close, which will
39931 call p->close (scsi).
39932
81a06771 399332008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 39934
39935 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
39936 (AC_PREREQ): Bumped to 2.59.
39937 (AC_TRY_COMPILE): Replace obsolete macro with ...
39938 (AC_COMPILE_IFELSE): ... this.
39939 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
39940 (AC_LINK_IFELSE): ... this.
39941
5dc43410 399422008-09-21 Felix Zielcke <fzielcke@z-51.de>
39943
39944 * autogen.sh: Add a call to `gendistlist.sh'.
39945
9035dce4 399462008-09-19 Christian Franke <franke@computer.org>
39947
39948 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
39949 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
39950 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
39951 Export __enable_execute_stack() to modules.
39952 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
39953 New function.
39954
7fd75377 399552008-09-09 Felix Zielcke <fzielcke@z-51.de>
39956
040030b3 39957 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
39958 Sort the list.
39959
399602008-09-09 Felix Zielcke <fzielcke@z-51.de>
39961
39962 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 39963 #include <grub/util/hostdisk.h>.
39964
89d5ffcf 399652008-09-08 Robert Millan <rmh@aybabtu.com>
39966
39967 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
39968 segments when their filesz is zero (grub_file_read() interprets
81a06771 39969 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 39970 Use `lowest_segment' rather than 0 for calculating the current
39971 segment load address.
39972
40da438f 399732008-09-08 Robert Millan <rmh@aybabtu.com>
39974
39975 * util/hostdisk.c (open_device): Replace a grub_util_info() call
39976 with grub_dprintf("hostdisk", ...), as it was so verbose that it
39977 clobbered useful information.
39978
ddbf5556 399792008-09-08 Robert Millan <rmh@aybabtu.com>
39980
39981 * include/grub/util/biosdisk.h: Move to ...
39982 * include/grub/util/hostdisk.h: ... here. Update all users.
39983 * util/biosdisk.c: Move to ...
39984 * util/hostdisk.c: ... here. Update all users.
39985
783d0f48 399862008-09-07 Robert Millan <rmh@aybabtu.com>
39987
39988 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
39989 variables.
39990 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
39991 and length can be stored directly in the `mbi->mmap_addr' and
39992 `mbi->mmap_length' struct fields.
39993
548e2ea5 399942008-09-07 Robert Millan <rmh@aybabtu.com>
39995
39996 * conf/i386.rmk: New file. Provides declaration for building
39997 `cpuid.mod'.
39998 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
39999 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40000 variables.
40001 Include `conf/i386.mk'.
40002 * conf/i386-efi.rmk: Likewise.
40003 * conf/x86_64-efi.rmk: Likewise.
40004 * conf/i386-coreboot.rmk: Likewise.
40005 * conf/i386-ieee1275.rmk: Likewise.
40006
0ea85a37 400072008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40008
40009 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40010 Adds optimization support for BGR based modes.
40011
40012 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40013 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40014 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40015 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40016 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40017 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40018 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40019 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40020 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40021 (grub_video_i386_vbeblit_index_index): Likewise.
40022 (grub_video_i386_vbeblit_replace_directN): Added.
40023 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40024 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40025 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40026 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40027 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40028 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40029 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40030 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40031 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40032 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40033 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40034 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40035 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40036
40037 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40038 (grub_video_i386_vbefill_R8G8B8): Likewise.
40039 (grub_video_i386_vbefill_index): Likewise.
40040 (grub_video_i386_vbefill_direct32): Added.
40041 (grub_video_i386_vbefill_direct24): Likewise.
40042 (grub_video_i386_vbefill_direct16): Likewise.
40043 (grub_video_i386_vbefill_direct8): Likewise.
40044
81a06771 40045 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40046 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40047 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40048 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40049 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40050 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40051
0ea85a37 40052 * video/video.c (grub_video_get_blit_format): Updated to use new
40053 blit formats. Added handling for 16 bit color modes.
81a06771 40054
40055 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40056 fillers.
40057 (common_blitter): Updated to use new blitters.
40058
40059 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40060 Removed.
40061 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40062 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40063 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40064 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40065 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40066 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40067 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40068 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40069 (grub_video_i386_vbeblit_index_index): Likewise.
40070 (grub_video_i386_vbeblit_replace_directN): Added.
40071 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40072 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40073 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40074 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40075 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40076 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40077 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40078 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40079 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40080 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40081 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40082 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40083 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40084
0ea85a37 40085 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40086 (grub_video_i386_vbefill_R8G8B8): Likewise.
40087 (grub_video_i386_vbefill_index): Likewise.
40088 (grub_video_i386_vbefill_direct32): Added.
40089 (grub_video_i386_vbefill_direct24): Likewise.
40090 (grub_video_i386_vbefill_direct16): Likewise.
40091 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40092
0ea85a37 40093 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40094 types.
81a06771 40095
0ea85a37 40096 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40097 types.
81a06771 40098
0ea85a37 40099 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40100 blitter types.
81a06771 40101
0ea85a37 40102 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40103 types.
40104
e8a83df6 401052008-09-06 Felix Zielcke <fzielcke@z-51.de>
40106
40107 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40108 RAID level 1.
40109
6bcd8ee5 401102008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40111
6bcd8ee5 40112 * fs/iso9660.c (grub_iso9660_date): New structure.
40113 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40114 (grub_iso9660_uuid): New function.
c375ae58 40115
59261157 401162008-09-05 Bean <bean123ch@gmail.com>
40117
40118 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40119
40120 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40121 insensitive bit for names in Win32 and Win32 & DOS namespace.
40122
40123 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40124
40125 * include/grub/types.h (LONG_MAX): Likewise.
40126
58b6645a 401272008-09-04 Felix Zielcke <fzielcke@z-51.de>
40128
4ee55921 40129 * util/getroot.c: Include <config.h>.
40130 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40131 add support for /dev/md/N devices and handle LVM double dash escaping.
40132
401332008-09-04 Felix Zielcke <fzielcke@z-51.de>
40134
40135 * config.guess: Update to latest version from config git.
40136 * config.sub: Likewise.
58b6645a 40137
9124f65d 401382008-09-03 Robert Millan <rmh@aybabtu.com>
40139
40140 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40141 `disk->total_sectors'.
40142
81a06771 401432008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40144
40145 * include/grub/normal.h: Fixed incorrect comment for
40146 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40147
81a06771 401482008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40149
40150 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40151 values with defines.
40152
40153 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40154 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40155 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40156 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40157 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40158 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40159 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40160 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40161 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40162 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40163 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40164 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40165 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40166 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40167 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40168 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40169 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40170 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40171 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40172
93d5cbf8 401732008-08-31 Robert Millan <rmh@aybabtu.com>
40174
40175 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40176 declaration.
40177 (grub_multiboot): Fix a few warnings.
40178
21751d50 401792008-08-31 Robert Millan <rmh@aybabtu.com>
40180
40181 * loader/i386/pc/multiboot.c: Update comment not to say that
40182 boot_device support is unimplemented.
40183
e27a75c5 401842008-08-31 Robert Millan <rmh@aybabtu.com>
40185
40186 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40187 or memory map support are unimplemented.
40188
81a06771 401892008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40190
40191 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40192
81a06771 401932008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40194
40195 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40196 total video memory in 'vbeinfo' output; show color format details for
40197 each video mode.
40198
7c5d8d95 401992008-08-30 Pavel Roskin <proski@gnu.org>
40200
40201 * util/genmoddep.c: Remove for real this time.
40202 * DISTLIST: Remove util/genmoddep.c.
40203
4cebd25a 402042008-08-30 Robert Millan <rmh@aybabtu.com>
40205
40206 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40207 as required by Multiboot spec (it was already 4-byte aligned, but
40208 only by chance).
40209
b497a269 402102008-08-29 Pavel Roskin <proski@gnu.org>
40211
e3925185 40212 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40213 * kern/powerpc/ieee1275/startup.S: ... this.
40214 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40215 * DISTLIST: Likewise.
40216
b497a269 40217 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40218 grub/cpu/kernel.h. Add start label for consistency with other
40219 platforms. Add grub_prefix immediately after start. Add jump
40220 to the code after grub_prefix.
40221 * include/grub/powerpc/kernel.h: Provide valid values for
40222 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40223
6e5a42fe 402242008-08-29 Bean <bean123ch@gmail.com>
40225
40226 * configure.ac: Change host_os to cygwin for mingw.
40227 (asprintf): New check for function.
40228
40229 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40230 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40231
40232 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40233 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40234 sync, sleep and grub_util_get_disk_size for mingw.
40235
40236 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40237 to get size in mingw.
40238 (open_device): Use flag O_BINARY if it's defined.
40239 (find_root_device): Add dummy code for mingw.
40240
40241 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40242 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40243 (get_scsi_disk_name): Return 0 for mingw.
40244
40245 * util/hostfs.c: #include <grub/util/misc.h>.
40246 (grub_hostfs_open): Use "rb" flag to open file, use
40247 grub_util_get_disk_size to get disk size for mingw.
40248
40249 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40250 (asprintf): New function if HAVE_ASPRINTF is not set.
40251 (sync): New function for mingw.
40252 (sleep): Likewise.
40253 (grub_util_get_disk_size): Likewise.
40254
ab3f2673 402552008-08-28 Pavel Roskin <proski@gnu.org>
40256
40257 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40258 kern/time.c.
40259
1c282483 402602008-08-28 Robert Millan <rmh@aybabtu.com>
40261
40262 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40263
678e849c 402642008-08-28 Robert Millan <rmh@aybabtu.com>
40265
40266 Change find_grub_drive() syntax so it doesn't prevent it from
40267 detecting NULL names as errors.
40268
40269 * util/biosdisk.c (find_grub_drive): Move free slot search code
40270 from here ...
40271 (find_free_slot): ... to here.
40272 (read_device_map): Use find_free_slot() to search for free slots.
40273
965c75ca 402742008-08-27 Marco Gerards <marco@gnu.org>
40275
40276 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40277 (scsi_mod_SOURCES): New variable.
40278 (scsi_mod_CFLAGS): Likewise
40279 (scsi_mod_LDFLAGS): Likewise.
40280
40281 * disk/scsi.c: New file.
40282
40283 * include/grub/scsi.h: Likewise.
40284
40285 * include/grub/scsicmd.h: Likewise.
40286
40287 * disk/ata.c: Include <grub/scsi.h>.
40288 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40289 instead.
40290 (grub_ata_iterate): Skip ATAPI devices.
40291 (grub_ata_open): Only handle ATAPI devices.
40292 (struct grub_atapi_read): Removed.
40293 (grub_atapi_readsector): Likewise.
40294 (grub_ata_read): No longer handle ATAPI devices.
40295 (grub_ata_write): Likewise.
40296 (grub_atapi_iterate): New function.
40297 (grub_atapi_read): Likewise.
40298 (grub_atapi_write): Likewise.
40299 (grub_atapi_open): Likewise.
40300 (grub_atapi_close): Likewise.
40301 (grub_atapi_dev): New variable.
40302 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40303 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40304
40305 * include/grub/disk.h (enum grub_disk_dev_id): Add
40306 `GRUB_DISK_DEVICE_SCSI_ID'.
40307
c07ae501 403082008-08-26 Robert Millan <rmh@aybabtu.com>
40309
40310 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40311 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40312 descriptive.
40313
5ed20adc 403142008-08-23 Bean <bean123ch@gmail.com>
40315
40316 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40317 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40318 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40319 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40320 dm_nv.mod.
40321 (raid5rec_mod_SOURCES): New macro.
40322 (raid5rec_mod_CFLAGS): Likewise.
40323 (raid5rec_mod_LDFLAGS): Likewise.
40324 (raid6rec_mod_SOURCES): Likewise.
40325 (raid6rec_mod_CFLAGS): Likewise.
40326 (raid6rec_mod_LDFLAGS): Likewise.
40327 (mdraid_mod_SOURCES): Likewise.
40328 (mdraid_mod_CFLAGS): Likewise.
40329 (mdraid_mod_LDFLAGS): Likewise.
40330 (dm_nv_mod_SOURCES): Likewise.
40331 (dm_nv_mod_CFLAGS): Likewise.
40332 (dm_nv_mod_LDFLAGS): Likewise.
40333
40334 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40335 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40336 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40337
40338 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40339 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40340
40341 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40342
40343 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40344
40345 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40346
40347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40348
40349 * disk/raid5_recover.c: New file.
40350
40351 * disk/raid6_recover.c: Likewise.
40352
40353 * disk/mdraid_linux.c: Likewise.
40354
40355 * disk/dmraid_nvidia.c: Likewise.
40356
40357 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40358 ULONG_MAX.
40359
40360 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40361 calculate the size of raid device.
40362 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40363 different layout of raid5.
40364 (grub_raid_scan_device): Remove code specific to mdraid.
40365 (grub_raid_list): New variable.
40366 (free_array): New function.
40367 (grub_raid_register): Likewise.
40368 (grub_raid_unregister): Likewise.
40369 (grub_raid_rescan): Likewise.
40370 (GRUB_MOD_INIT): Don't iterate device here.
40371 (GRUB_MOD_FINI): Use free_array to release resource.
40372
40373 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40374 (grub_raid5_recover_func_t): New function variable type.
40375 (grub_raid6_recover_func_t): Likewise.
40376 (grub_raid5_recover_func): New variable.
40377 (grub_raid6_recover_func): Likewise.
40378 (grub_raid_register): New function.
40379 (grub_raid_unregister): Likewise.
40380 (grub_raid_rescan): Likewise.
40381 (grub_raid_block_xor): Likewise.
40382
40383 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40384 (CMD_CRC): New macro.
40385 (part): Removed.
40386 (read_file): Handle device as well as file.
40387 (cmd_crc): New function.
40388 (fstest): Handle multiple disks.
40389 (options): Remove part, raw and long, add root and diskcount.
40390 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40391 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40392 add handling for the new options, support multiple disks.
40393
40394 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40395
29c18915 403962008-08-23 Bean <bean123ch@gmail.com>
40397
40398 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40399
40400 * genfslist.sh: Ignore kernel.mod.
40401
40402 * genpartmaplist.sh: Likewise.
40403
8415f261 404042008-08-23 Robert Millan <rmh@aybabtu.com>
40405
40406 * util/getroot.c (find_root_device): Skip anything that starts with
40407 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40408
d5a7dc5b 404092008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40410
d5a7dc5b 40411 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40412 * util/grub.d/00_header.in: Allow the administrator to change default
40413 gfxmode via ${GRUB_GFXMODE}.
40414
380cfbb4 404152008-08-21 Felix Zielcke <fzielcke@z-51.de>
40416
40417 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40418
c9baafe7 404192008-08-21 Robert Millan <rmh@aybabtu.com>
40420
40421 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40422 loader.
40423 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40424 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40425
e290bef2 404262008-08-20 Carles Pina i Estany <carles@pina.cat>
40427
40428 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40429 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40430
f9dbfc96 404312008-08-19 Robert Millan <rmh@aybabtu.com>
40432
40433 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40434 (struct grub_virtual_screen): Remove `cursor_color'.
40435 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40436 initialization.
40437 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40438
dd6bd6ab 404392008-08-18 Robert Millan <rmh@aybabtu.com>
40440
40441 Unify (identical) linux_normal.c files.
40442 * loader/i386/efi/linux_normal.c: Move from here ...
40443 * loader/linux_normal.c: ... to here. Update all users.
40444 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40445 * loader/i386/ieee1275/linux_normal.c: Likewise.
40446
7f42f83e 404472008-08-18 Robert Millan <rmh@aybabtu.com>
40448
40449 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40450 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40451 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40452 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40453 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40454 New macros.
40455 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40456 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40457 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40458 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40459 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40460 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40461 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40462 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40463 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40464 portably using grub_getxy().
40465 Replace `-EFI' with `-bzImage' in boot message.
40466
38487ddb 404672008-08-17 Robert Millan <rmh@aybabtu.com>
40468
40469 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40470
deceb3ec 404712008-08-17 Robert Millan <rmh@aybabtu.com>
40472
40473 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40474
40475 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40476 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40477 (grub_machine_mmap_iterate): New function declaration.
40478 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40479 structure.
40480 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40481 macros.
40482
40483 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40484 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40485 Move e820 parsing from here ...
40486 * kern/i386/pc/mmap.c: New file.
40487 (grub_machine_mmap_iterate): ... to here.
40488
40489 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40490 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40491 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40492 (grub_available_iterate): Redeclare to return `void', and redeclare
40493 its hook to use grub_uint64_t as addr and size parameters, and rename
40494 to ...
40495 (grub_machine_mmap_iterate): ... this. Update all users.
40496
40497 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40498 to make it more readable. Rename to ...
40499 (grub_machine_mmap_iterate): ... this.
40500
40501 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40502 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40503 (grub_multiboot): Allocate an extra region after the payload, and fill
40504 it with a Multiboot memory map. Adjust a.out loader to calculate size
40505 with the extra space.
40506 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40507 with the extra space.
40508
f8aa0f43 405092008-08-17 Carles Pina i Estany <carles@pina.cat>
40510
9807deb9 40511 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40512
605f5bb6 405132008-08-17 Felix Zielcke <fzielcke@z-51.de>
40514
40515 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40516 mdate-sh to the list `find' searches for.
40517 * DISTLIST: Regenerated.
40518
210db6c6 405192008-08-16 Felix Zielcke <fzielcke@z-51.de>
40520
40521 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40522 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40523 genmoddep.awk, gensymlist.sh.in.
40524 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40525 * DISTLIST: Regenerated.
48cdbfd4 40526 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40527
1082b929 405282008-08-16 Robert Millan <rmh@aybabtu.com>
40529
40530 * disk/raid.c (grub_raid_init): Handle/report errors set by
40531 grub_device_iterate().
40532 * disk/lvm.c (grub_lvm_init): Likewise.
40533
42ce5170 405342008-08-15 Bean <bean123ch@gmail.com>
40535
40536 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40537 and datehook.mod.
40538 (datetime_mod_SOURCES): New macro.
40539 (datetime_mod_CFLAGS): Likewise.
40540 (datetime_mod_LDFLAGS): Likewise.
40541 (date_mod_SOURCES): Likewise.
40542 (date_mod_CFLAGS): Likewise.
40543 (date_mod_LDFLAGS): Likewise.
40544 (datehook_mod_SOURCES): Likewise.
40545 (datehook_mod_CFLAGS): Likewise.
40546 (datehook_mod_LDFLAGS): Likewise.
40547
40548 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40549 and datehook.mod.
40550 (datetime_mod_SOURCES): New macro.
40551 (datetime_mod_CFLAGS): Likewise.
40552 (datetime_mod_LDFLAGS): Likewise.
40553 (date_mod_SOURCES): Likewise.
40554 (date_mod_CFLAGS): Likewise.
40555 (date_mod_LDFLAGS): Likewise.
40556 (datehook_mod_SOURCES): Likewise.
40557 (datehook_mod_CFLAGS): Likewise.
40558 (datehook_mod_LDFLAGS): Likewise.
40559
40560 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40561 and datehook.mod.
40562 (datetime_mod_SOURCES): New macro.
40563 (datetime_mod_CFLAGS): Likewise.
40564 (datetime_mod_LDFLAGS): Likewise.
40565 (date_mod_SOURCES): Likewise.
40566 (date_mod_CFLAGS): Likewise.
40567 (date_mod_LDFLAGS): Likewise.
40568 (datehook_mod_SOURCES): Likewise.
40569 (datehook_mod_CFLAGS): Likewise.
40570 (datehook_mod_LDFLAGS): Likewise.
40571
40572 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40573 and datehook.mod.
40574 (datetime_mod_SOURCES): New macro.
40575 (datetime_mod_CFLAGS): Likewise.
40576 (datetime_mod_LDFLAGS): Likewise.
40577 (date_mod_SOURCES): Likewise.
40578 (date_mod_CFLAGS): Likewise.
40579 (date_mod_LDFLAGS): Likewise.
40580 (datehook_mod_SOURCES): Likewise.
40581 (datehook_mod_CFLAGS): Likewise.
40582 (datehook_mod_LDFLAGS): Likewise.
40583
40584 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40585 and datehook.mod.
40586 (datetime_mod_SOURCES): New macro.
40587 (datetime_mod_CFLAGS): Likewise.
40588 (datetime_mod_LDFLAGS): Likewise.
40589 (date_mod_SOURCES): Likewise.
40590 (date_mod_CFLAGS): Likewise.
40591 (date_mod_LDFLAGS): Likewise.
40592 (datehook_mod_SOURCES): Likewise.
40593 (datehook_mod_CFLAGS): Likewise.
40594 (datehook_mod_LDFLAGS): Likewise.
40595
40596 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40597
40598 * commands/date.c: New file.
40599
40600 * hook/datehook.c: Likewise.
40601
40602 * include/grub/lib/datetime.h: Likewise.
40603
40604 * include/grub/i386/cmos.h: Likewise.
40605
40606 * lib/datetime.c: Likewise.
40607
40608 * lib/i386/datetime.c: Likewise.
40609
40610 * lib/efi/datetime.c: Likewise.
40611
0e9242da 406122008-08-14 Robert Millan <rmh@aybabtu.com>
40613
40614 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40615 (grub_mkelfimage_SOURCES): New variable.
40616 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40617
40618 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40619 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40620 * conf/powerpc-ieee1275.rmk: Likewise.
40621 * conf/i386-ieee1275.rmk: Likewise.
40622
40623 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40624 * kern/i386/coreboot/init.c: Likewise.
40625
40626 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40627 with `<grub/cpu/kernel.h>'.
40628 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40629 to ...
40630 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40631 * kern/i386/coreboot/startup.S: Likewise.
40632
40633 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40634 (GRUB_MOD_GAP): Remove.
40635 * include/grub/powerpc/kernel.h: New file.
40636 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40637 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40638 * include/grub/i386/kernel.h: New file.
40639 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40640 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40641 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40642
40643 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40644 `grub-mkelfimage'.
40645 Use --directory when invoking grub_mkimage.
40646
40647 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40648 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40649 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40650 and GRUB_KERNEL_CPU_PREFIX.
40651
b86408f8 406522008-08-14 Felix Zielcke <fzielcke@z-51.de>
40653
d5e619ca 40654 * include/grub/err.h (grub_err_printf): New function prototype.
40655 * util/misc.c (grub_err_printf): New function.
40656 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40657 grub_printf.
40658 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40659
7161f0e0 406602008-08-13 Robert Millan <rmh@aybabtu.com>
40661
40662 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40663
a1967522 406642008-08-13 Robert Millan <rmh@aybabtu.com>
40665
40666 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40667 boot entry.
40668
371458b5 406692008-08-12 Robert Millan <rmh@aybabtu.com>
40670
40671 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40672 of the relocation code from here ...
40673 (grub_multiboot): ... to here.
40674 (forward_relocator, backward_relocator): Move from here ...
40675 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40676 (grub_multiboot_backward_relocator): ... to here.
40677 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40678 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40679 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40680 (grub_multiboot_forward_relocator_end)
40681 (grub_multiboot_backward_relocator)
40682 (grub_multiboot_backward_relocator_end): New variables.
40683
05f9452b 406842008-08-12 Bean <bean123ch@gmail.com>
40685
40686 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40687
20024ab0 406882008-08-11 Robert Millan <rmh@aybabtu.com>
40689
40690 * kern/i386/linuxbios/startup.S: Move from here ...
40691 * kern/i386/coreboot/startup.S: ... to here.
40692
40693 * kern/i386/linuxbios/init.c: Move from here ...
40694 * kern/i386/coreboot/init.c: ... to here.
40695
40696 * kern/i386/linuxbios/table.c: Move from here ...
40697 * kern/i386/coreboot/mmap.c: ... to here.
40698
40699 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40700
e352e9cd 407012008-08-11 Robert Millan <rmh@aybabtu.com>
40702
40703 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40704 errors. Leave it to the upper layer to handle them.
40705
2d05bc6a 407062008-08-09 Christian Franke <franke@computer.org>
40707
40708 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40709 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40710 Install `grub.d/10_windows' only on Cygwin.
40711 * configure.ac: Add subst of `target_os'.
40712 Check `target_os' also before setting TARGET_OBJ2ELF.
40713 Add `--enable-grub-pe2elf'.
40714
042bd419 407152008-08-08 Robert Millan <rmh@aybabtu.com>
40716
40717 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40718 (grub_last_time): Change type to grub_uint64_t.
40719 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40720 (grub_disk_close): Likewise.
40721
40722 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40723 (run_menu): Migrate code from to using grub_get_time_ms().
40724
40725 * util/misc.c (grub_get_time_ms): New function.
40726
7f280db5 407272008-08-08 Marco Gerards <marco@gnu.org>
40728
40729 * disk/ata.c (grub_ata_regget): Change return type to
40730 `grub_uint8_t'.
40731 (grub_ata_regget2): Likewise.
40732 (grub_ata_wait_status): New function.
40733 (grub_ata_wait_busy): Removed function, updated all users to use
40734 `grub_ata_wait_status'.
40735 (grub_ata_wait_drq): Likewise.
40736 (grub_ata_cmd): New function.
40737 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40738 error handling.
40739 (grub_ata_pio_write): Add error handling.
40740 (grub_atapi_identify): Likewise.
40741 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40742 handling.
40743 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40744 handling. Actually use the detected registers. Reorder the
40745 detection logic such that it is easier to read.
40746 (grub_ata_pciinit): Do not assign the same ID to each controller.
40747 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40748 handling.
40749 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40750
40751 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40752
1fbc5e66 407532008-08-08 Marco Gerards <marco@gnu.org>
40754
40755 * NEWS: Update.
40756
819ce6c0 407572008-08-07 Bean <bean123ch@gmail.com>
40758
40759 * include/grub/x86_64/pci.h: New file.
40760
5c41d44d 407612008-08-07 Christian Franke <franke@computer.org>
40762
40763 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40764 (TIMER2_GATE): Likewise.
40765 (grub_pit_wait): Add enable/disable of the timer2 gate
40766 bit of port 0x61. This fixes a possible infinite loop.
40767
5ebc275d 407682008-08-07 Bean <bean123ch@gmail.com>
40769
40770 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40771 kern/i386/tsc.c and kern/i386/pit.c.
40772
40773 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40774 x86_64 platform.
40775
40776 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40777 <grub/i386/tsc.h>.
40778
40779 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40780
e383b3d0 407812008-08-07 Bean <bean123ch@gmail.com>
40782
40783 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40784
40785 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40786
40787 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40788 multiple inclusion. Add #include <grub/types.h>.
40789
1cbb58ac 407902008-08-06 Christian Franke <franke@computer.org>
40791
40792 * conf/common.rmk: Build and install `10_windows'.
40793 * util/grub.d/10_windows.in: New script.
40794
337f5a1e 407952008-08-06 Pavel Roskin <proski@gnu.org>
40796
40797 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40798
057bc4ac 407992008-08-06 Robert Millan <rmh@aybabtu.com>
40800
40801 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40802 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40803
2b99f123 408042008-08-06 Bean <bean123ch@gmail.com>
40805
40806 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40807 (grub_pxefs_fs_int): Remove dummy definition.
40808 (grub_pxefs_open): Use data->block_size to store the current block
40809 size setting.
40810 (grub_pxefs_read): Use block size stored in data->block_size. As the
40811 value of grub_pxe_blksize can be changed after the file is opened.
40812
9f0234cb 408132008-08-06 Bean <bean123ch@gmail.com>
40814
40815 * fs/i386/pc/pxe.c (curr_file): new variable.
40816 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40817 require the dummy internal file system anymore.
40818 (grub_pxefs_read): Removed.
40819 (grub_pxefs_close): Likewise.
40820 (grub_pxefs_fs_int): Likewise.
40821 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40822 connection when we switch file.
40823 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40824
a55d42e0 408252008-08-06 Robert Millan <rmh@aybabtu.com>
40826
40827 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40828 `halt.mod'.
40829 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40830 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40831
40832 * kern/i386/halt.c: New file.
40833 * kern/i386/reboot.c: Likewise.
40834 * include/grub/i386/reboot.h: Likewise.
40835 * include/grub/i386/halt.h: Likewise.
40836
40837 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
40838 Include `<grub/cpu/halt.h>'.
40839 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
40840 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
40841
40842 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
40843 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
40844 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
40845 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
40846 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
40847 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
40848 from here ...
40849 * include/grub/i386/at_keyboard.h: ... to here.
40850
24371d26 408512008-08-05 Robert Millan <rmh@aybabtu.com>
40852
40853 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
40854 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
40855 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
40856 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40857 `kern/generic/millisleep.c'.
40858
40859 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
40860 instead of grub_get_rtc().
40861 (grub_tsc_init): Initialize `tsc_boot_time'.
40862
40863 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
40864 (grub_machine_init): Use grub_tsc_init() rather than
40865 installing an RTC-based handler via grub_install_get_time_ms().
40866
40867 * kern/i386/pit.c: New file.
40868 * include/grub/i386/pit.h: Likewise.
40869
9e7007b3 408702008-08-05 Bean <bean123ch@gmail.com>
40871
40872 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
40873
40874 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
40875 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
40876 (pxe_mod_SOURCES): New macro.
40877 (pxe_mod_CFLAGS): Likewise.
40878 (pxe_mod_LDFLAGS): Likewise.
40879 (pxecmd_mod_SOURCES): Likewise.
40880 (pxecmd_mod_CFLAGS): Likewise.
40881 (pxecmd_mod_LDFLAGS): Likewise.
40882
40883 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
40884 (grub_pxe_call): Likewise.
40885
40886 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
40887
40888 * commands/i386/pc/pxecmd.c: New file.
40889
9f0234cb 40890 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 40891
40892 * include/grub/i386/pc/pxe.h: Likewise.
40893
6977d49f 408942008-08-05 Bean <bean123ch@gmail.com>
40895
40896 * util/console.c (grub_console_cur_color): New variable.
40897 (grub_console_standard_color): Likewise.
40898 (grub_console_normal_color): Likewise.
40899 (grub_console_highlight_color): Likewise.
40900 (color_map): Likewise.
40901 (use_color): Likewise.
40902 (NUM_COLORS): New macro.
40903 (grub_ncurses_setcolorstate): Handle color properly.
40904 (grub_ncurses_setcolor): Don't change color here, just remember the
40905 settings, color will be set in grub_ncurses_setcolorstate.
40906 (grub_ncurses_getcolor): New function.
40907 (grub_ncurses_init): Initialize color pairs.
40908 (grub_ncurses_term): New member grub_ncurses_getcolor.
40909
9c2ff3ee 409102008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 40911
9c2ff3ee 40912 High resolution timer support. Implemented for x86 CPUs using TSC.
40913 Extracted generic grub_millisleep() so it's linked in only as needed.
40914 This requires a Pentium compatible CPU; if the RDTSC instruction is
40915 not supported, then it falls back on the generic grub_get_time_ms()
40916 implementation that uses the machine's RTC.
40917
40918 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
40919 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40920 `kern/generic/millisleep.c'.
40921
40922 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
40923 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
40924
40925 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
40926 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
40927
40928 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40929
40930 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40931 `kern/generic/millisleep.c'.
40932
40933 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40934
40935 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
40936
40937 * kern/generic/rtc_get_time_ms.c: New file.
40938
40939 * kern/generic/millisleep.c: New file.
337f5a1e 40940
9c2ff3ee 40941 * kern/misc.c: Don't include
40942 <kern/time.h> anymore.
40943 (grub_millisleep_generic): Removed.
40944
40945 * commands/sleep.c (grub_interruptible_millisleep): Uses
40946 grub_get_time_ms() instead of grub_get_rtc().
40947
40948 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
40949 function.
40950 (grub_cpu_is_cpuid_supported): New inline function.
40951 (grub_cpu_is_tsc_supported): New inline function.
40952 (grub_tsc_init): New function prototype.
40953 (grub_tsc_get_time_ms): New function prototype.
40954
40955 * kern/i386/tsc.c (grub_get_time_ms): New file.
40956
40957 * include/grub/time.h: Include <grub/types.h.
40958 (grub_millisleep_generic): Removed.
40959 (grub_get_time_ms): New prototype.
40960 (grub_install_get_time_ms): New prototype.
40961 (grub_rtc_get_time_ms): New prototype.
40962
40963 * kern/time.c (grub_get_time_ms): New function.
40964 (grub_install_get_time_ms): New function.
40965
40966 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
40967 <grub/time.h> anymore.
40968 (grub_millisleep): Removed.
40969 (grub_machine_init): Call grub_tsc_init.
40970
40971 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
40972 get_time_ms() implementation.
40973
40974 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
40975 (ieee1275_get_time_ms): New function.
40976 (grub_machine_init): Install get_time_ms() implementation.
40977
40978 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
40979 (grub_machine_init): Call grub_tsc_init().
40980 (grub_millisleep): Removed.
bf06a93f 40981
9c2ff3ee 40982 * kern/ieee1275/init.c (grub_millisleep): Removed.
40983 (grub_machine_init): Install ieee1275_get_time_ms()
40984 implementation.
40985 (ieee1275_get_time_ms): New function.
40986 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
40987 real work.
40988
9ec92aaf 409892008-08-05 Marco Gerards <marco@gnu.org>
40990
40991 * disk/ata.c: Include <grub/pci.h>.
40992 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
40993 (grub_ata_initialize): Rewritten.
40994 (grub_ata_device_initialize): New function.
40995
8d23f507 409962008-08-04 Pavel Roskin <proski@gnu.org>
40997
40998 * kern/main.c: Include grub/mm.h.
40999
5e15ee3d 410002008-08-04 Robert Millan <rmh@aybabtu.com>
41001
41002 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41003 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41004 corruption problem).
41005
a9053f8f 410062008-08-04 Robert Millan <rmh@aybabtu.com>
41007
41008 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41009 warnings introduced in my last commit.
41010
dd19c7d7 410112008-08-03 Robert Millan <rmh@aybabtu.com>
41012
41013 Make PCI available on all i386 architectures.
41014
41015 * include/grub/i386/pc/pci.h: Move from here ...
41016 * include/grub/i386/pci.h: ... to here.
41017
41018 * include/grub/i386/pc/pci.h: Remove.
41019 * include/grub/i386/efi/pci.h: Remove.
41020 * include/grub/x86_64/efi/pci.h: Remove.
41021
41022 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41023 `<grub/cpu/pci.h>'.
41024
41025 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41026 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41027 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41028
41029 * conf/i386-ieee1275.rmk: Likewise.
41030
e14a6184 410312008-08-03 Robert Millan <rmh@aybabtu.com>
41032
41033 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41034 (grub_console_setcursor): Make it possible to set cursor off.
41035
52768e37 410362008-08-03 Robert Millan <rmh@aybabtu.com>
41037
41038 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41039 of modules instead of assuming which platform provides what.
41040 * util/update-grub.in: Likewise.
41041
2d52f57f 410422008-08-03 Robert Millan <rmh@aybabtu.com>
41043
41044 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41045 instead of `grub_install_dos_part' to determine whether a drive needs
41046 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41047 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41048
2a5cd121 410492008-08-02 Robert Millan <rmh@aybabtu.com>
41050
41051 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41052
93808428 410532008-08-02 Robert Millan <rmh@aybabtu.com>
41054
41055 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41056 of informational grub_dprintf() calls.
41057
3bd0a12a 410582008-08-02 Robert Millan <rmh@aybabtu.com>
41059
41060 * disk/memdisk.c (memdisk_size): Don't initialize.
41061 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41062
41063 * include/grub/i386/pc/kernel.h
41064 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41065 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41066 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41067 (grub_arch_memdisk_size): Remove.
41068
41069 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41070 field (was only used to transfer a constant). Add `type' field to
41071 support multiple module types.
41072 (grub_module_iterate): New function.
41073
41074 * kern/device.c (grub_device_open): Do not hide error messages
41075 when grub_disk_open() fails. Use grub_print_error() instead.
41076
41077 * kern/i386/pc/init.c (grub_arch_modules_addr)
41078 (grub_arch_memdisk_size): Remove functions.
41079 (grub_arch_modules_addr): Return the module address in high memory
41080 (now that it isn't copied anymore).
41081
41082 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41083 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41084 decompression routine (grub_total_module_size already includes that
41085 now). Don't copy modules back to low memory.
41086
41087 * kern/main.c: Include `<grub/mm.h>'.
41088 (grub_load_modules): Split out (and use) ...
41089 (grub_module_iterate): ... this function, which iterates through
41090 module objects and runs a hook.
41091 Comment out grub_mm_init_region() call, as it would cause non-ELF
41092 modules to be overwritten.
41093
41094 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41095 the memdisk image in its own region, make it part of the module list.
41096 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41097 (main): Parse --memdisk|-m option, and pass user-provided path as
41098 parameter to generate_image().
41099 (add_segments): Pass `memdisk_path' down to load_modules().
41100 (load_modules): Embed memdisk image in module section when requested.
41101 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41102 `header.type' instead of `header.offset'.
41103
41104 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41105 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41106 (memdisk_mod_LDFLAGS): New variables.
41107 * conf/i386-coreboot.rmk: Likewise.
41108 * conf/i386-ieee1275.rmk: Likewise.
41109
a927cc73 411102008-08-02 Robert Millan <rmh@aybabtu.com>
41111
41112 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41113 (backward_relocator): New variables. Used to allocate and relocate
41114 the payload, respectively.
41115 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41116 address, install the appropriate relocator code in each bound of
a927cc73 41117 the payload, and set the entry point such that
41118 grub_multiboot_real_boot() will jump to one of them.
41119
41120 * kern/i386/loader.S (grub_multiboot_payload_size)
41121 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41122 (grub_multiboot_payload_entry_offset): New variables.
41123 (grub_multiboot_real_boot): Set cpu context to what the relocator
41124 expects, and jump to the relocator instead of the payload.
41125
41126 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41127 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41128 (grub_multiboot_payload_entry_offset): Export.
41129
b15d8a0c 411302008-08-01 Bean <bean123ch@gmail.com>
41131
41132 * normal/menu_entry.c (editor_getline): Don't return the original
41133 string as result, as it will be released by lexer once it has done
41134 using it.
41135
cdfb3d22 411362008-08-01 Robert Millan <rmh@aybabtu.com>
41137
41138 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41139 within menuentries, not before them.
41140 util/grub.d/10_hurd.in: Likewise.
41141
9175e93d 411422008-08-01 Bean <bean123ch@gmail.com>
41143
41144 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41145 (bufio_mod_SOURCES): New macro.
41146 (bufio_mod_CFLAGS): Likewise.
41147 (bufio_mod_LDFLAGS): Likewise.
41148
41149 * include/grub/bufio.h: New file.
41150
41151 * io/bufio.c: Likewise.
41152
41153 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41154 (grub_video_reader_png): Use grub_buffile_open to open file.
41155
41156 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41157 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41158
41159 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41160 (grub_video_reader_tga): Use grub_buffile_open to open file.
41161
41162 * font/manager.c: Include <grub/bufio.h>.
41163 (add_font): Use grub_buffile_open to open file.
41164
3d8383e7 411652008-07-31 Robert Millan <rmh@aybabtu.com>
41166
41167 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41168 ELF segments, use a macro for arbitrarily accessing any of them instead
41169 of preparing a pointer that allows access to one at a time.
41170 (grub_multiboot_load_elf64): Likewise.
41171
16e641b6 411722008-07-31 Bean <bean123ch@gmail.com>
41173
41174 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41175 GRUB_KERNEL_MACHINE_DATA_END.
41176
59198b72 411772008-07-30 Robert Millan <rmh@aybabtu.com>
41178
41179 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41180 Increase from 0x50 to 0x60.
41181 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41182 use UUIDs to identify the root drive for them. If that's not
41183 possible, abort.
41184 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41185 check, for cross-disk installs.
41186
ae88bca3 411872008-07-30 Robert Millan <rmh@aybabtu.com>
41188
41189 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41190 is non-empty, use it to set the `prefix' environment variable instead
41191 of the usual approach.
41192 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41193 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41194 environment variable instead of dummy make_install_device().
41195
41196 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41197 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41198 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41199
41200 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41201 New variable reference.
41202 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41203 New macro. Defines offset of `grub_prefix' within startup.S (relative
41204 to `start').
41205 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41206 section within startup.S (relative to `start').
41207 * include/grub/i386/coreboot/kernel.h: Likewise.
41208
41209 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41210 Overwrite grub_prefix with its contents, at the beginning of the
41211 first segment.
41212 (main): Understand -p|--prefix.
41213
14f41dd1 412142008-07-30 Robert Millan <rmh@aybabtu.com>
41215
41216 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41217
4ca049a3 412182008-07-30 Robert Millan <rmh@aybabtu.com>
41219
41220 * term/i386/pc/vga_text.c (grub_console_cls): Use
41221 grub_console_gotoxy() to go back to beginning of the screen.
41222 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41223
2921d337 412242008-07-29 Christian Franke <franke@computer.org>
41225
41226 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41227 Add conversion of emulated mount points on Cygwin.
41228
b609876d 412292008-07-29 Christian Franke <franke@computer.org>
41230
41231 * util/update-grub.in: Add a check for admin
41232 group on Cygwin.
41233 Remove old `grub.cfg.new' before creation.
41234 Add `-f' to `mv' to handle the different filesystem
41235 semantics of Windows.
41236
e93e4679 412372008-07-29 Bean <bean123ch@gmail.com>
41238
41239 * normal/main.c (get_line): Fix buffer overflow bug.
41240
41694fd0 412412008-07-28 Robert Millan <rmh@aybabtu.com>
41242
41243 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41244 (struct grub_apple_header): New struct. Describes the layout of
41245 the partmap header.
41246 (apple_partition_map_iterate): Check the header magic as well as the
41247 partition magic (which was already being checked).
41248
cfd0b4e6 412492008-07-28 Pavel Roskin <proski@gnu.org>
41250
41251 * genmk.rb: Add a warning to the beginning of the output that
41252 it's a generated file and should not be edited.
41253
93cce016 412542008-07-28 Robert Millan <rmh@aybabtu.com>
41255
41256 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41257 with the same number are found, just use issue a warning with
41258 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41259
cd1df915 412602008-07-27 Robert Millan <rmh@aybabtu.com>
41261
41262 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41263 information.
41264
b70a8427 412652008-07-27 Bean <bean123ch@gmail.com>
41266
41267 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41268 (grub_fat_find_dir): Ignore case when comparing filename.
41269
8f5e379f 412702008-07-27 Bean <bean123ch@gmail.com>
41271
41272 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41273 smallino, as it's more descriptive, and i8count can be confused with
41274 the other field count.
41275 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41276 inode type.
41277
a85cd5a0 412782008-07-27 Bean <bean123ch@gmail.com>
41279
41280 * commands/crc.c: New file.
41281
41282 * lib/crc.c: Likewise.
41283
41284 * include/grub/lib/crc.h: Likewise.
41285
41286 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41287
41288 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41289 (hexdump): Move this function to ...
41290
41291 * lib/hexdump.c: ... here.
41292
41293 * include/grub/hexdump.h: Renamed to ...
41294
41295 * include/grub/lib/hexdump.h: ... this.
41296
41297 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41298
41299 * util/grub-editenv.c: Likewise.
41300
41301 * include/envblk.h: Renamed to ...
41302
41303 * include/lib/envblk.h: ... this.
41304
41305 * util/envblk.c: Renamed to ...
41306
41307 * lib/envblk.c: ... this.
41308
41309 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41310 lib/hexdump.c.
41311 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41312 (pkglib_MODULES): Add crc.mod.
41313 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41314 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41315 (crc_mod_SOURCES): New macro.
41316 (crc_mod_CFLAGS): Likewise.
41317 (crc_mod_LDFLAGS): Likewise.
41318
41319 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41320
41321 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41322
41323 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41324
41325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41326
41327 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41328
c298def0 413292008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41330
41331 * commands/help.c: Include <grub/term.h>.
41332 (TERM_WIDTH): Removed. Updated all users.
41333
cc349fb3 413342008-07-27 Pavel Roskin <proski@gnu.org>
41335
41336 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41337 spurious warnings about a comment within a comment.
41338
9051607e 413392008-07-25 Robert Millan <rmh@aybabtu.com>
41340
41341 * util/getroot.c (find_root_device): Skip devices that match
41342 /dev/dm-[0-9]. This lets the real device be found for any type of
41343 abstraction (LVM, EVMS, RAID..).
41344 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41345 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41346 device is found first, find_root_device() will now skip it.
41347
01453bfc 413482008-07-24 Pavel Roskin <proski@gnu.org>
41349
41350 * include/grub/types.h: Use __builtin_bswap32() and
41351 __builtin_bswap64() with gcc 4.3 and newer.
41352
6af9849f 413532008-07-24 Christian Franke <franke@computer.org>
41354
3a0fa256 41355 * util/i386/pc/grub-install.in: If `--debug' is specified,
41356 pass `--verbose' to grub-setup.
41357 Abort script if make_system_path_relative_to_its_root() fails.
41358
7810e747 413592008-07-24 Bean <bean123ch@gmail.com>
41360
41361 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41362 variable `target_platform' should be `platform'.
41363
42290e17 413642008-07-24 Bean <bean123ch@gmail.com>
41365
51cc5193 41366 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41367 (grub_png_init_fixed_block): New function.
41368 (grub_png_decode_image_data): Handle fixed huffman code compression.
41369
2a8a80e4 413702008-07-24 Bean <bean123ch@gmail.com>
41371
41372 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41373 (grub_pe2elf_SOURCES): New macro.
41374 (CLEANFILES): Add grub-pe2elf.
41375
41376 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41377 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41378 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41379 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41380 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41381 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41382 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41383 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41384 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41385 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41386 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41387 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41388 (GRUB_PE32_DT_FUNCTION): Likewise.
41389 (GRUB_PE32_REL_I386_DIR32): Likewise.
41390 (GRUB_PE32_REL_I386_REL32): Likewise.
41391 (grub_pe32_symbol): New structure.
41392 (grub_pe32_reloc): Likewise.
41393
41394 * util/grub-pe2elf.c: New file.
41395
41396 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41397 start symbol in non pc platform.
41398
41399 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41400
41401 The following patches are from Christian Franke.
41402
41403 * include/grub/dl.h: Remove .previous, gas supports this only
41404 for ELF format.
41405
41406 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41407 Remove .type, gas supports this only for ELF format.
41408
41409 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41410 nullbytes in symbol table. This fixes an infinite loop if table is
41411 zero filled.
41412
41413 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41414 TARGET_IMG_LDFLAGS and EXEEXT.
41415
41416 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41417 TARGET_IMG_LDFLAGS_AC.
41418 (grub_CHECK_STACK_ARG_PROBE): New function.
41419
41420 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41421
41422 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41423
41424 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41425 to set TARGET_IMG_LD* accordingly.
41426 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41427 Add call to grub_CHECK_STACK_ARG_PROBE.
41428 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41429
41430 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41431
41432 * genmk.rb: Add EXEEXT to CLEANFILES.
41433
12ccdb75 414342008-07-23 Robert Millan <rmh@aybabtu.com>
41435
41436 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41437 define the codes for arrows and lines used for the menu).
41438 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41439 as well.
41440
41441 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41442 fonts, because the latter are too slow.
41443
18eeaf04 414442008-07-21 Bean <bean123ch@gmail.com>
41445
41446 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41447 a20. Run keyboard test last, as it will cause macbook to halt.
41448
b095e2ad 414492008-07-18 Pavel Roskin <proski@gnu.org>
41450
41451 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41452 load foreign architecture modules correctly anyway. Keep
41453 support for loading host architecture modules, whether we
41454 compile them or not.
41455
737feb35 414562008-07-17 Pavel Roskin <proski@gnu.org>
41457
3f4ce737 41458 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41459 change target_cpu. The compiler default can mismatch target_cpu
41460 in any case.
41461
4ad2d049 41462 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41463 * kern/efi/efi.c: Likewise.
41464
f6130a12 41465 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41466 target compiler is functional.
41467 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41468 are set up.
41469
58393a2d 41470 * configure.ac: Default to efi platform for x86_64-apple. Allow
41471 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41472 adjustments from the rest, only do them if target is not
41473 explicitly given. Merge other adjustments with the final sanity
41474 check. Remove an extraneous check for supported CPU. Be
41475 specific which CPU and which platform is not supported.
41476
737feb35 41477 * configure.ac: Default to pc platform for x86_64.
41478
546f966a 414792008-07-17 Robert Millan <rmh@aybabtu.com>
41480
41481 Partial LinuxBIOS -> Coreboot rename.
41482
41483 * conf/i386-linuxbios.rmk: Renamed to ...
41484 * conf/i386-coreboot.rmk: ... this.
41485 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41486 * configure.ac: Accept "coreboot" as input platform (but maintain
41487 compatibility with "linuxbios").
41488 * include/grub/i386/linuxbios: Renamed to ...
41489 * include/grub/i386/coreboot: ... this.
41490
20011694 414912008-07-17 Bean <bean123ch@gmail.com>
41492
41493 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41494 (appleldr_mod_SOURCE): New variable.
20011694 41495 (appleldr_mod_CFLAGS): Likewise.
41496 (appleldr_mod_LDFLAGS): Likewise.
41497 (pci_mod_SOURCES): Likewise.
41498 (pci_mod_CFLAGS): Likewise.
41499 (pci_mod_LDFLAGS): Likewise.
41500 (lspci_mod_SOURCES): Likewise.
41501 (lspci_mod_CFLAGS): Likewise.
41502 (lspci_mod_LDFLAGS): Likewise.
41503
41504 * conf/x86_64-efi.rmk: New file.
41505
41506 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41507 macro.
41508 (grub_efidisk_write): Likewise.
41509
41510 * include/efi/api.h (efi_call_0): New macro.
41511 (efi_call_1): Likewise.
41512 (efi_call_2): Likewise.
41513 (efi_call_3): Likewise.
41514 (efi_call_4): Likewise.
41515 (efi_call_5): Likewise.
41516 (efi_call_6): Likewise.
41517
41518 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41519 grub_rescue_cmd_chainloader.
41520
41521 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41522 (grub_pe32_optional_header): Change some fields based on i386 or
41523 x86_64 platform.
41524 (GRUB_PE32_PE32_MAGIC): Likewise.
41525
41526 * include/grub/efi/uga_draw.h: New file.
41527
41528 * include/grub/elf.h (STN_ABS): New constant.
41529 (R_X86_64_NONE): Relocation constant for x86_64.
41530 (R_X86_64_64): Likewise.
41531 (R_X86_64_PC32): Likewise.
41532 (R_X86_64_GOT32): Likewise.
41533 (R_X86_64_PLT32): Likewise.
41534 (R_X86_64_COPY): Likewise.
41535 (R_X86_64_GLOB_DAT): Likewise.
41536 (R_X86_64_JUMP_SLOT): Likewise.
41537 (R_X86_64_RELATIVE): Likewise.
41538 (R_X86_64_GOTPCREL): Likewise.
41539 (R_X86_64_32): Likewise.
41540 (R_X86_64_32S): Likewise.
41541 (R_X86_64_16): Likewise.
41542 (R_X86_64_PC16): Likewise.
41543 (R_X86_64_8): Likewise.
41544 (R_X86_64_PC8): Likewise.
41545
41546 * include/grub/i386/efi/pci.h: New file.
41547
41548 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41549 Change it value based on platform.
41550 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41551 (GRUB_E820_RAM): Likewise.
41552 (GRUB_E820_RESERVED): Likewise.
41553 (GRUB_E820_ACPI): Likewise.
41554 (GRUB_E820_NVS): Likewise.
41555 (GRUB_E820_EXEC_CODE): Likewise.
41556 (GRUB_E820_MAX_ENTRY): Likewise.
41557 (grub_e820_mmap): New structure.
41558 (linux_kernel_header): Change the efi field according to different
41559 kernel version, also field from linux_kernel_header.
41560
41561 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41562
41563 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41564 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41565 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41566 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41567 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41568 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41569 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41570 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41571 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41572 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41573
41574 * include/grub/x86_64/efi/kernel.h: New file.
41575
41576 * include/grub/x86_64/efi/loader.h: Likewise.
41577
41578 * include/grub/x86_64/efi/machine.h: Likewise.
41579
41580 * include/grub/x86_64/efi/pci.h: Likewise.
41581
41582 * include/grub/x86_64/efi/time.h: Likewise.
41583
41584 * include/grub/x86_64/linux.h: Likewise.
41585
41586 * include/grub/x86_64/setjmp.h: Likewise.
41587
41588 * include/grub/x86_64/time.h: Likewise.
41589
41590 * include/grub/x86_64/types.h: Likewise.
41591
41592 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41593 GRUB_TARGET_SIZEOF_VOID_P.
41594
41595 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41596 (grub_efi_locate_handle): Likewise.
41597 (grub_efi_open_protocol): Likewise.
41598 (grub_efi_set_text_mode): Likewise.
41599 (grub_efi_stall): Likewise.
41600 (grub_exit): Likewise.
41601 (grub_reboot): Likewise.
41602 (grub_halt): Likewise.
41603 (grub_efi_exit_boot_services): Likewise.
41604 (grub_get_rtc): Likewise.
41605
41606 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41607 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41608 (grub_efi_allocate_pages): Wrap efi calls.
41609 (grub_efi_free_pages): Wrap efi calls.
41610 (grub_efi_get_memory_map): Wrap efi calls.
41611
41612 * kern/x86_64/dl.c: New file.
41613
41614 * kern/x86_64/efi/callwrap.S: Likewise.
41615
41616 * kern/x86_64/efi/startup.S: Likewise.
41617
41618 * loader/efi/appleloader.c: Likewise.
41619
41620 * loader/efi/chainloader.c (cmdline): New variable.
41621 (grub_chainloader_unload): Wrap efi calls.
41622 (grub_chainloader_boot): Likewise.
41623 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41624 command line.
41625
41626 * loader/efi/chainloader_normal.c (chainloader_command):
41627 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41628 command line.
41629
41630 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41631 method.
41632 (grub_e820_add_region): New function.
41633 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41634 booting.
41635 (grub_find_video_card): New function.
41636 (grub_linux_setup_video): New function.
41637 (grub_rescue_cmd_linux): Probe for video information.
41638
41639 * normal/x86_64/setjmp.S: New file.
41640
41641 * term/efi/console.c (map_char): New function.
41642 (grub_console_putchar): Map unicode char.
41643 (grub_console_checkkey): Wrap efi calls.
41644 (grub_console_getkey): Likewise.
41645 (grub_console_getwh): Likewise.
41646 (grub_console_gotoxy): Likewise.
41647 (grub_console_cls): Likewise.
41648 (grub_console_setcolorstate): Likewise.
41649 (grub_console_setcursor): Likewise.
41650
41651 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41652
59652a20 416532008-07-16 Pavel Roskin <proski@gnu.org>
41654
ef294055 41655 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41656 format strings.
41657
59652a20 41658 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41659 pointer, not an integer. This fixes a warning and prevents
41660 precision loss on 64-bit systems.
41661 (relocate_addresses): Remove unneeded cast.
41662
afc3b5d7 416632008-07-15 Pavel Roskin <proski@gnu.org>
41664
506b2b3e 41665 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41666
62ead89c 41667 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41668
c4cd51d7 41669 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41670 Fix comparison between signed and unsigned.
41671
0d3d8f28 41672 * include/grub/i386/ieee1275/console.h: Declare
41673 grub_console_init() and grub_console_fini().
41674
8804b286 41675 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41676 It's empty and unused.
41677
ee01cf35 41678 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41679 beginning to avoid warnings with some compilers.
41680
afc3b5d7 41681 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41682 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41683
e4e8eaa5 416842008-07-14 Pavel Roskin <proski@gnu.org>
41685
407aceb4 41686 * kern/env.c (grub_register_variable_hook): Don't copy empty
41687 string, it leaks memory. Pass "" to grub_env_set(), it should
41688 handle constant strings.
41689
e4e8eaa5 41690 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41691 * commands/cmp.c (grub_cmd_cmp): Likewise.
41692 * kern/dl.c (grub_dl_flush_cache): Likewise.
41693 (grub_dl_load_core): Likewise.
41694 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41695 (grub_elf64_load_phdrs): Likewise.
41696
d4e2dad3 416972008-07-13 Pavel Roskin <proski@gnu.org>
41698
41699 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41700 between signed and unsigned.
41701 (LzmaEnc_Finish): Fix warning about an unused parameter.
41702
aa24b516 417032008-07-13 Bean <bean123ch@gmail.com>
41704
41705 * Makefile.in (enable_lzo): New rule.
41706
41707 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41708
41709 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41710
41711 * boot/i386/pc/lnxboot.S: #include <config.h>.
41712
41713 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 41714 its value according to the compression algorithm used, lzo or lzma.
aa24b516 41715
41716 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41717 compression algorithm according to configure macro.
41718
41719 * kern/i386/pc/startup.S (codestart): Likewise.
41720
41721 * kern/i386/pc/lzma_decode.S: New file.
41722
41723 * include/grub/lib/LzFind.h: Likewise.
41724
41725 * include/grub/lib/LzHash.h: Likewise.
41726
41727 * include/grub/lib/LzmaDec.h: Likewise.
41728
41729 * include/grub/lib/LzmaEnc.h: Likewise.
41730
41731 * include/grub/lib/LzmaTypes.h: Likewise.
41732
41733 * lib/LzFind.c: Likewise.
41734
41735 * lib/LzmaDec.c: Likewise.
41736
41737 * lib/LzmaEnc.c: Likewise.
41738
4ae821ac 417392008-07-13 Bean <bean123ch@gmail.com>
41740
41741 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41742 (grub_ext4_extent_header): New structure.
41743 (grub_ext4_extent): Likewise.
41744 (grub_ext4_extent_idx): Likewise.
41745 (grub_ext4_find_leaf): New function.
41746 (grub_ext2_read_block): Handle extents.
41747
9a745147 417482008-07-12 Robert Millan <rmh@aybabtu.com>
41749
41750 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41751
d49a4cf6 417522008-07-11 Robert Millan <rmh@aybabtu.com>
41753
41754 * util/grub.d/40_custom.in: New file. Example on how to add custom
41755 entries to /etc/grub.d.
41756 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41757 40_custom (implicitly, by merging all the grub.d rules).
41758
947414b4 417592008-07-11 Pavel Roskin <proski@gnu.org>
41760
0059cf6f 41761 * commands/read.c (grub_getline): Fix invalid memory access.
41762 Don't add newline to the variable value.
41763
947414b4 41764 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41765 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41766 (serial_hw_get_port): Check validity of the port number.
41767 (grub_cmd_serial): Check return value of serial_hw_get_port().
41768
62a02d00 417692008-07-07 Pavel Roskin <proski@gnu.org>
41770
41771 * boot/i386/pc/diskboot.S (notification_string): Replace
41772 "Loading kernel" with just "loading". This is shorter, less
41773 confusing and saves a few bytes for possible future changes.
41774
3e5581b0 417752008-07-05 Pavel Roskin <proski@gnu.org>
41776
ea387a48 41777 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41778 size for ATAPI devices, they are undefined. Output sector
41779 number in decimal form.
41780
3e5581b0 41781 * disk/ata.c: Use named constants for status bits.
41782
fdecb8fd 417832008-07-04 Pavel Roskin <proski@gnu.org>
41784
bcd35b90 41785 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41786 grub_addr_t before casting it to the void pointer to fix a
41787 warning. Non-addressable regions are discarded earlier.
41788 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41789 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41790 (check_signature): Don't shadow table_header.
41791 (grub_linuxbios_table_iterate): Cast numeric constants to
41792 grub_linuxbios_table_header_t.
41793 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41794 grub_stop().
41795
af58ab3d 41796 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41797 prevent warnings.
41798
1759aa57 41799 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41800 pointer, which can cause warnings. Support 64-bit addresses.
41801
fdecb8fd 41802 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41803 of sizeof(long). This fixes PowerPC image generation on x86_64.
41804
8516d2a8 418052008-07-04 Robert Millan <rmh@aybabtu.com>
41806
41807 This fixes a performance issue when pc & gpt partmap iterators
41808 didn't abort iteration even after our hook found what it was
fe987087 41809 looking for (often causing expensive probes of non-existent drives).
8516d2a8 41810
41811 Some callers relied on previous buggy behaviour, since they would
34c44600 41812 raise an error when their own hooks caused early abortion of its
8516d2a8 41813 iteration.
41814
41815 * kern/device.c (grub_device_open): Improve error message.
41816 * disk/lvm.c (grub_lvm_open): Likewise.
41817 * disk/raid.c (grub_raid_open): Likewise.
41818
41819 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41820 when hook requests it, independently of grub_errno.
41821 (pc_partition_map_probe): Do not fail when find_func() caused
41822 early abortion of pc_partition_map_iterate().
41823
41824 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41825 when hook requests it, independently of grub_errno.
41826 (gpt_partition_map_probe): Do not fail when find_func() caused
41827 early abortion of gpt_partition_map_iterate().
41828
41829 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41830 when hook requests it, independently of grub_errno. Do not fail when
41831 part_map_iterate_hook() caused early abortion of p->iterate().
41832
41833 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41834 when grub_partition_iterate() returned with non-zero.
41835
277d0de9 418362008-07-03 Pavel Roskin <proski@gnu.org>
41837
41838 * disk/ata.c (grub_ata_pio_write): Check status before writing,
41839 like we do in grub_ata_pio_read().
41840 (grub_ata_readwrite): Always write individual sectors. Fix the
41841 sector count for the remainder.
41842 (grub_ata_write): Enable writing to ATA devices. Correctly
41843 report error for ATAPI devices.
41844
d4c9b428 418452008-07-02 Pavel Roskin <proski@gnu.org>
41846
e43fc690 41847 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
41848 warning.
41849
f707af42 41850 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
41851 for every read sector, we already increment it for the whole
41852 batch. This fixes reading more than 256 sectors at once.
41853
11e16b15 41854 * util/grub-editenv.c (cmd_info): Cast argument to long
41855 explicitly. ptrdiff_t reduces to int on i386.
41856
cbabfdd4 41857 * util/grub-editenv.c (main): Be specific which parameter is
41858 missing.
41859
b8fbce0a 41860 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
41861 (memdisk): Make memdisk_orig_addr a pointer.
41862
c9c8e606 41863 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
41864 for file offsets, use grub_off_t instead. Fix printf format
41865 warnings.
41866
ca62e598 41867 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
41868 there. Real unexpected warnings should not drown in the noise
41869 about known problems.
41870
ce8d1766 41871 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
41872 grub_disk_addr_t for memory addresses.
41873
00c7a56a 41874 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
41875 explicitly to fix a warning.
41876
08d3ef09 41877 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
41878
cb71ba20 41879 * Makefile.in (MODULE_LDFLAGS): New variable.
41880 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
41881 the linker accepts --build-id=none.
41882 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
41883 MODULE_LDFLAGS.
41884 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
41885
d4c9b428 41886 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
41887 those in Linux XFS code. Provide a way to access 64-bit parent
41888 inode.
41889 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
41890 the end of struct grub_xfs_dir_header.
41891
d4156eee 418922008-07-02 Bean <bean123ch@gmail.com>
41893
41894 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
41895 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41896 and GRUB_IEEE1275_FLAG_NO_ANSI.
41897
41898 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
41899 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41900 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
41901
41902 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
41903 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
41904
41905 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
41906 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
41907
41908 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
41909 esc sequence on non ANSI terminal.
41910 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
41911
41912 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
41913 beginning of file.
41914
2270f77b 419152008-07-02 Bean <bean123ch@gmail.com>
41916
41917 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
41918 (grub_editenv_SOURCES): New variable.
41919 (pkglib_MODULES): Add loadenv.mod.
41920 (loadenv_mod_SOURCES): New variable.
41921 (loadenv_mod_CFLAGS): Likewise.
41922 (loadenv_mod_LDFLAGS): Likewise.
41923
41924 * include/grub/envblk.h: New file.
41925
41926 * util/envblk.c: New file.
41927
41928 * util/grub-editenv.c: New file.
41929
41930 * commands/loadenv.c: New file.
41931
0e9e51ec 419322008-07-01 Pavel Roskin <proski@gnu.org>
41933
d89b7634 41934 * include/multiboot2.h (struct multiboot_tag_module): Use char,
41935 not unsigned char. This fixes warnings and is consistent with
41936 other tags.
41937
bf1835b1 41938 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
41939
8222a04b 41940 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
41941
6a42d99d 41942 * term/tparm.c (analyze): Always set *popcount.
41943
10b159d1 41944 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
41945 cast to fix a warning.
41946
b8789f6c 41947 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
41948 cast to suppress a warning.
41949
29d7e38a 41950 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
41951 grub_fshelp_read_file() expects.
41952
f341f669 41953 * fs/fat.c: Fix UUID calculation on big-endian systems. We
41954 write uuid as a 32-bit value in CPU byte order, so declare and
41955 use it as such.
41956
0e9e51ec 41957 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
41958 long if the format specifier expects it.
41959 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
41960 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41961 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
41962 long to fix a warning.
41963 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
41964 grub_dprintf() arguments to fix warnings.
41965
3aefa857 419662008-06-30 Pavel Roskin <proski@gnu.org>
41967
56c7668b 41968 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
41969 install_bsd_part immediately before core.img is embedded or
41970 modified on disk. This fixes core.img verification if core.img
41971 cannot be embedded.
41972
3aefa857 41973 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
41974 core_path to calculate the blocklist.
41975 Patch from Javier Martín <lordhabbit@gmail.com>
41976
5444088d 419772008-06-29 Robert Millan <rmh@aybabtu.com>
41978
41979 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
41980 block to disk block.
41981 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
41982 Patch from Niels Böhm <bitbucket@arcor.de>
41983
674835c8 419842008-06-29 Robert Millan <rmh@aybabtu.com>
41985
41986 * util/update-grub_lib.in (font_path): Search for fonts in
41987 /boot/grub first, which is more likely to be readable (we aren't
41988 deciding where fonts live, just looking for them).
41989
f527dbc8 419902008-06-26 Pavel Roskin <proski@gnu.org>
41991
6c2d8df6 41992 * util/biosdisk.c (read_device_map): Don't leave dead map
41993 entries for devices failing stat() check.
41994
f527dbc8 41995 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
41996 core_path_dev for the core.img path on the target device.
41997
aebe3d13 419982008-06-26 Robert Millan <rmh@aybabtu.com>
41999
42000 * disk/fs_uuid.c: New file.
42001 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42002 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42003 (fs_uuid_mod_LDFLAGS): New variables.
42004 * include/grub/disk.h (grub_disk_dev_id): Add
42005 `GRUB_DISK_DEVICE_UUID_ID'.
42006 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42007 implement iterate().
42008
37aaf354 420092008-06-26 Robert Millan <rmh@aybabtu.com>
42010
42011 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42012 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42013 Linux image includes no initrd.
42014
25ff262a 420152008-06-21 Javier Martín <lordhabbit@gmail.com>
42016
42017 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42018 call to resolve the core image location that effectively appended the
42019 name twice.
42020
76a2bd44 420212008-06-21 Robert Millan <rmh@aybabtu.com>
42022
42023 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42024 call from here ...
42025
42026 * util/grub.d/10_hurd.in: ... to here ...
42027 * util/grub.d/10_linux.in: ... and here.
42028
650e1c79 420292008-06-19 Robert Millan <rmh@aybabtu.com>
42030
fe987087 42031 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42032 after it has been set by grub_machine_set_prefix().
42033
6ce63911 420342008-06-19 Robert Millan <rmh@aybabtu.com>
42035
42036 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42037 search result when not saving to variable, not the other way around.
42038 When saving to variable, abort iteration as soon as a match is found.
42039
73940cec 420402008-06-19 Robert Millan <rmh@aybabtu.com>
42041
42042 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42043 check for partition that provides /boot/grub. Its logic is flawed,
42044 as it prevents prepare_grub_to_access_device() from being called
42045 multiple times.
42046
3c62a39d 420472008-06-19 Robert Millan <rmh@aybabtu.com>
42048
42049 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42050 "insmod" command directly when abstraction modules are needed,
fe987087 42051 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42052 since it had already been processed).
42053
47395a42 420542008-06-19 Pavel Roskin <proski@gnu.org>
42055
42056 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42057 changed. This is needed in case GRUB_LIBDIR changes.
42058 * conf/i386-ieee1275.rmk: Likewise.
42059 * conf/i386-linuxbios.rmk: Likewise.
42060 * conf/i386-pc.rmk: Likewise.
42061 * conf/powerpc-ieee1275.rmk: Likewise.
42062
a145ac2d 420632008-06-18 Pavel Roskin <proski@gnu.org>
42064
42065 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42066 kernel_elf_symlist.c to symlist.c for consistency with other
42067 architectures. Update all users.
42068 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42069
7847c51e 420702008-06-18 Robert Millan <rmh@aybabtu.com>
42071
42072 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42073 it in prefix.
42074
42075 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42076 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42077 a RAID device, run setup() for all members independently on whether
42078 LVM abstraction is being used.
42079 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42080 If grub-mkimage has set `*install_dos_part == -2', don't override this
42081 value.
42082 Perform *install_dos_part adjustments independently on whether
42083 we're embedding or not.
42084 Clarify error message when image is too big for embedding.
42085 Remove duplicate *install_dos_part stanza.
42086
b23e5644 420872008-06-17 Robert Millan <rmh@aybabtu.com>
42088
42089 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42090 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42091 variables.
42092 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42093 values in grub_ofconsole_normal_color and
42094 grub_ofconsole_highlight_color (they're not directly related to
42095 background and foreground).
42096 (grub_ofconsole_setcolorstate): Extract background and foreground
42097 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42098
0aac2f79 420992008-06-17 Robert Millan <rmh@aybabtu.com>
42100
42101 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42102 /boot/grub for the check in last commit, not /boot (they could be
42103 different partitions).
42104
3cca7ef3 421052008-06-16 Robert Millan <rmh@aybabtu.com>
42106
42107 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42108 asked to setup access for the same partition that provides /boot,
42109 don't bother using UUIDs since our root already has the value we
42110 want.
42111
347396d8 421122008-06-16 Robert Millan <rmh@aybabtu.com>
42113
42114 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42115 I2O devices.
42116 Patch from Sven Mueller <sven@debian.org>.
42117
991477f8 421182008-06-16 Robert Millan <rmh@aybabtu.com>
42119
42120 * util/update-grub.in: Check for $EUID instead of $UID.
42121 Reported by Vincent Zweije.
42122
d31a32a1 421232008-06-16 Bean <bean123ch@gmail.com>
42124
fe987087 42125 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42126 (grub_ext2_read_block): Likewise.
42127 (grub_ext2_read_inode): Likewise.
42128 (grub_ext2_mount): Likewise.
42129 (grub_ext2_close): Likewise.
42130 (grub_ext3_get_journal): Removed.
42131
fe987087 42132 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42133 (grub_reiserfs_read_symlink): Likewise.
42134 (grub_reiserfs_mount): Likewise.
42135 (grub_reiserfs_open): Likewise.
42136 (grub_reiserfs_read): Likewise.
42137 (grub_reiserfs_close): Likewise.
42138 (grub_reiserfs_get_journal): Removed.
42139
42140 * fs/fshelp.c (grub_fshelp_read): Removed.
42141 (grub_fshelp_map_block): Likewise.
42142
42143 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42144 (grub_fshelp_journal): Likewise.
42145 (grub_fshelp_read): Likewise.
42146 (grub_fshelp_map_block): Likewise.
42147
3540a760 421482008-06-16 Pavel Roskin <proski@gnu.org>
42149
42150 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42151 floating point anymore.
42152 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42153
95614c84 421542008-06-15 Pavel Roskin <proski@gnu.org>
42155
42156 * commands/ls.c (grub_ls_list_files): Use integer calculations
42157 for human readable format, avoid floating point use.
42158 * kern/misc.c (grub_ftoa): Remove.
42159 (grub_vsprintf): Remove floating point support.
42160
50465dd6 421612008-06-15 Robert Millan <rmh@aybabtu.com>
42162
fe6b695a 42163 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42164 devices.
42165 Reported by Max Vozeler.
42166
a9207284 421672008-06-15 Robert Millan <rmh@aybabtu.com>
42168
42169 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42170 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42171 skipped later.
42172 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42173 the beginning of the prefix.
42174
42175 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42176 It is assumed that if we have a memdisk, grub-mkimage has set
42177 grub_prefix to include the "(memdisk)" drive in it.
42178
a7cbd45a 421792008-06-15 Robert Millan <rmh@aybabtu.com>
42180
42181 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42182 Initialize keyboard controller after registering the terminal, so that
42183 grub_printf() can be called from grub_keyboard_controller_init().
42184
21cf716a 421852008-06-15 Robert Millan <rmh@aybabtu.com>
42186
42187 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42188 extent-btree which is written as big endian on disk.
42189 Reported by Alain Greppin <al@chilibi.org>.
42190
23a64d8e 421912008-06-14 Robert Millan <rmh@aybabtu.com>
42192
42193 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42194 * util/i386/pc/grub-install.in (modules): Likewise.
42195
d687651c 421962008-06-13 Pavel Roskin <proski@gnu.org>
42197
42198 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42199
dfe9ddd4 422002008-06-13 Bean <bean123ch@gmail.com>
42201
42202 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42203
42204 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42205
42206 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42207 to indicate sparse block.
42208
16ae7781 422092008-06-12 Pavel Roskin <proski@gnu.org>
42210
e6d1a308 42211 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42212 number, grub_fshelp_read() does it for us.
42213
16ae7781 42214 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42215 linear disk read with journal translation.
42216 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42217 * include/grub/fshelp.h: Declare grub_fshelp_read().
42218
40fd3a2b 422192008-06-09 Pavel Roskin <proski@gnu.org>
42220
42221 * fs/minix.c (grub_minix_mount): Handle error reading
42222 superblock.
42223
f5679726 422242008-06-08 Robert Millan <rmh@aybabtu.com>
42225
42226 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42227 don't append the RAID prefix afterwards.
42228 Reported by Clint Adams.
42229
ce525529 422302008-06-08 Robert Millan <rmh@aybabtu.com>
42231
42232 Based on description from Pavel:
42233 * kern/disk.c (grub_disk_check_range): Rename to ...
42234 (grub_disk_adjust_range): ... this. Add a comment explaining the
42235 tasks performed by this function.
42236
ad4936a0 422372008-06-08 Robert Millan <rmh@aybabtu.com>
42238
42239 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42240 `num_serial' (for consistency with other variables).
42241 (struct grub_ntfs_data): Add `uuid' member.
42242 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42243 (grub_ntfs_uuid): New function.
42244 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42245
dc20b0f9 422462008-06-07 Pavel Roskin <proski@gnu.org>
42247
42248 * util/biosdisk.c (open_device): Revert last change to the
42249 function, it broke installation. The sector needs to be
42250 different dependent on which device is opened.
42251
c5e3cfba 422522008-06-06 Robert Millan <rmh@aybabtu.com>
42253
42254 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42255 rest of GRUB, and breakage doesn't happen if its value were modified.
42256
42257 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42258 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42259 a constant (same value).
42260 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42261 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42262
26a1f8c4 422632008-06-06 Robert Millan <rmh@aybabtu.com>
42264
42265 * util/biosdisk.c (open_device): Do not modify sector offset when
42266 accessing a partition. kern/disk.c already handles this for us.
42267
25d6b327 422682008-06-06 Robert Millan <rmh@aybabtu.com>
42269
42270 * util/grub-emu.c (grub_machine_init): Move code in this function from
42271 here ...
42272 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42273 segfault in case grub_printf() is called).
42274
42275 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42276 grub_probe. Update all users not to explicitly add it again.
42277 (grub_device): New variable; contains corresponding device for grubdir.
42278 (fs_module, partmap_module, devabstraction_module): Pass
42279 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42280 every time.
42281
9ece62fb 422822008-06-05 Robert Millan <rmh@aybabtu.com>
42283
42284 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42285 is found, print it (same layout as with labels).
42286
1ad36d37 422872008-06-04 Robert Millan <rmh@aybabtu.com>
42288
42289 * util/biosdisk.c (get_drive): Rename to ...
42290 (find_grub_drive): ... this. Update all users.
42291
42292 (get_os_disk): Rename to ...
42293 (convert_system_partition_to_system_disk): ... this. Update all users.
42294
42295 (find_drive): Rename to ...
42296 (find_system_device): ... this. Update all users.
42297
e6a30859 422982008-06-04 Robert Millan <rmh@aybabtu.com>
42299
42300 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42301 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42302 (make_device_map): Likewise.
42303
00c108a4 423042008-06-01 Robert Millan <rmh@aybabtu.com>
42305
42306 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42307 before dereferencing it.
42308
42309 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42310 union with fat12/fat16-specific ones. Add some new fields, including
42311 `num_serial' for both versions.
42312 (struct grub_fat_data): Add `uuid' member.
42313 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42314 names. Initialize `data->uuid' using `num_serial'.
42315 (grub_fat_uuid): New function.
42316 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42317
42318 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42319 (grub_reiserfs_uuid): New function.
42320 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42321 member.
42322
42323 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42324 (grub_xfs_uuid): New function.
42325 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42326
1385c5bb 423272008-06-01 Robert Millan <rmh@aybabtu.com>
42328
42329 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42330 code that is backward compatible with pre-uuid search command.
42331
c682dfd7 423322008-05-31 Robert Millan <rmh@aybabtu.com>
42333
42334 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42335 floppies after everything else, to ensure floppy drive isn't accessed
42336 unnecessarily (patch from Bean).
42337
b7db5d47 423382008-05-31 Robert Millan <rmh@aybabtu.com>
42339
42340 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42341 not print device names when we were asked to set a variable.
42342
6e037aa9 423432008-05-31 Robert Millan <rmh@aybabtu.com>
42344
42345 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42346 using "cursor-on" and "cursor-off" commands (understood at least by
42347 the Open Firmware flavour on OLPC).
42348
41305bc8 423492008-05-31 Michael Gorven <michael@gorven.za.net>
42350
42351 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42352 on and off sequences.
42353
69ba137e 423542008-05-31 Robert Millan <rmh@aybabtu.com>
42355
42356 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42357 * util/update-grub.in: Likewise.
42358
520ae21b 423592008-05-30 Pavel Roskin <proski@gnu.org>
42360
42361 * util/biosdisk.c (linux_find_partition): Simplify logic and
42362 make the code more universal. Keep special processing for
42363 devfs, but use a simple rule for all other devices. If the
42364 device ends with a number, append 'p' and the partition number.
42365 Otherwise, append only the partition number.
42366
5786569b 423672008-05-30 Robert Millan <rmh@aybabtu.com>
42368
42369 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42370 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42371 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42372 the `root' parameter to Linux.
42373
51500452 423742008-05-30 Robert Millan <rmh@aybabtu.com>
42375
42376 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42377 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42378 --fs_uuid with --fs-uuid.
42379 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42380 all filesystems support them).
42381
811d3878 423822008-05-30 Robert Millan <rmh@aybabtu.com>
42383
42384 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42385 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42386
cab63c95 423872008-05-30 Robert Millan <rmh@aybabtu.com>
42388
42389 * util/grub.d/00_header.in: Remove obsolete comment referencing
42390 convert_system_path_to_grub_path().
42391 * util/update-grub.in: Likewise.
42392 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42393 (convert_system_path_to_grub_path): Add a warning message explaining
42394 that this function is deprecated. Rely on is_path_readable_by_grub()
42395 for the readability checks.
42396 (font_path): Use is_path_readable_by_grub() for the readability
42397 check rather than convert_system_path_to_grub_path().
42398
972e2f7a 423992008-05-30 Robert Millan <rmh@aybabtu.com>
42400
42401 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42402 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42403 converting it first.
42404 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42405 grub.cfg for access to font file, and afterwards call it again to set
42406 the root device.
42407
62191274 424082008-05-30 Robert Millan <rmh@aybabtu.com>
42409
42410 * commands/search.c (options): Add --fs_uuid option.
42411 (search_fs_uuid): New function.
42412 (grub_cmd_search): Fix --set argument passing.
42413 Use search_fs_uuid() when requested via --fs_uuid.
42414 (grub_search_init): Update help message.
42415 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42416 and redeclare it as an array of 16-bit words.
42417 (grub_ext2_uuid): New function.
42418 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42419 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42420 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42421 (GRUB_DEVICE_BOOT_UUID): New variables.
42422 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42423 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42424 whenever possible.
42425 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42426 just assume `root' variable has the right value.
42427 * util/grub.d/10_linux.in: Likewise.
42428 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42429 via PRINT_FS_UUID.
42430 (main): Recognise `-t fs_uuid' argument.
42431
01b73ec8 424322008-05-30 Robert Millan <rmh@aybabtu.com>
42433
42434 * util/biosdisk.c (map): Redefine structure to hold information
42435 about GRUB drive name.
fe6b695a 42436 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42437 drive names.
42438 (call_hook): Remove.
42439 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42440 member. Assume drive has partitions.
42441 (grub_util_biosdisk_open): Access device names via `.device' struct
42442 member.
42443 (open_device): Likewise.
42444 (find_drive): Likewise.
42445 (read_device_map): Adjust map[] usage to match the new struct
42446 definition. Don't check for duplicates (still possible, but not cheap
42447 anymore).
42448 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42449 (make_device_name): Remove assumption of BIOS-like drive names.
42450
22f16596 424512008-05-30 Pavel Roskin <proski@gnu.org>
42452
42453 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42454 compiling execute.c doesn't need grub_script.tab.h anymore.
42455 (normal/command.c_DEPENDENCIES): Likewise.
42456 (normal/function.c_DEPENDENCIES): Likewise.
42457 * conf/i386-ieee1275.rmk: Likewise.
42458 * conf/i386-linuxbios.rmk: Likewise.
42459 * conf/i386-pc.rmk: Likewise.
42460 * conf/powerpc-ieee1275.rmk: Likewise.
42461 * conf/sparc64-ieee1275.rmk: Likewise.
42462
528ad8f2 424632008-05-29 Pavel Roskin <proski@gnu.org>
42464
d1dff95d 42465 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42466 when scanning metadata for volume group name.
42467
528ad8f2 42468 * include/grub/script.h: Don't include grub_script.tab.h. It's
42469 a generated file, which may only be included from the files with
42470 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42471 use union YYSTYPE, as the later allows forward declaration.
42472 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42473
47248e08 424742008-05-29 Robert Millan <rmh@aybabtu.com>
42475
42476 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42477 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42478 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42479 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42480 scan codes.
42481
ee632529 424822008-05-29 Robert Millan <rmh@aybabtu.com>
42483
42484 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42485 control key combinations.
42486
eee96e08 424872008-05-29 Robert Millan <rmh@aybabtu.com>
42488
42489 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42490 * util/ieee1275/grub-install.in: ... to here.
42491 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42492 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42493 (grub_install_SOURCES): Likewise.
42494
da9a6a94 424952008-05-29 Robert Millan <rmh@aybabtu.com>
42496
42497 * fs/affs.c: Update copyright year.
42498 * fs/ext2.c: Likewise.
42499 * fs/fshelp.c: Likewise.
42500 * fs/hfsplus.c: Likewise.
42501 * fs/ntfs.c: Likewise.
42502 * fs/xfs.c: Likewise.
42503 * include/grub/fshelp.h: Likewise.
42504 * util/grub-mkdevicemap.c: Likewise.
42505
12e65f3a 425062008-05-28 Robert Millan <rmh@aybabtu.com>
42507
42508 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42509 might need to be fatfs to support some firmware implementations
42510 (e.g. OFW or EFI).
42511
23023641 425122008-05-28 Robert Millan <rmh@aybabtu.com>
42513
42514 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42515 devices.
42516 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42517 (make_device_map): Likewise.
42518
887d2619 425192008-05-20 Bean <bean123ch@gmail.com>
42520
42521 * fs/fshelp.c (grub_fshelp_map_block): New function.
42522 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42523 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42524
42525 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42526 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42527 (grub_fshelp_journal): New structure.
42528 (grub_fshelp_map_block): New function prototype.
42529 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42530 (grub_fshelp_map_block): Likewise.
42531
42532 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42533 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42534 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42535 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42536 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42537 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42538 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42539 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42540 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42541 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42542 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42543 (grub_ext2_sblock): New members for journal support.
42544 (grub_ext3_journal_header): New structure.
42545 (grub_ext3_journal_revoke_header): Likewise.
42546 (grub_ext3_journal_block_tag): Likewise.
42547 (grub_ext3_journal_sblock): Likewise.
42548 (grub_fshelp_node): New members logfile and journal.
42549 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42550 grub_fshelp_map_block to get real block number.
42551 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42552 number.
42553 (grub_ext2_read_inode): Likewise.
42554 (grub_ext3_get_journal): New function.
42555 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42556 (grub_ext2_close): Release memory used by journal.
42557
42558 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42559 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42560 (grub_reiserfs_transaction_header): Renamed to
42561 grub_reiserfs_description_block, replace field data with real_blocks.
42562 (grub_reiserfs_commit_block): New structure.
42563 (grub_reiserfs_data): New member journal.
42564 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42565 number.
42566 (grub_reiserfs_read_symlink): Likewise.
42567 (grub_reiserfs_iterate_dir): Likewise.
42568 (grub_reiserfs_open): Likewise.
42569 (grub_reiserfs_read): Likewise.
42570 (grub_reiserfs_get_journal): New function.
42571 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42572 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42573 using grub_reiserfs_get_journal.
42574 (grub_reiserfs_close): Release memory used by journal.
42575
42576 * fs/affs.c (grub_affs_read_block): Change block type to
42577 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42578
42579 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42580
42581 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42582
42583 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42584
42585 * fs/udf.c (grub_udf_read_block): Change block type to
42586 grub_disk_addr_t. Use type cast to avoid warning.
42587
42588 * fs/xfs.c (grub_xfs_read_block): Likewise.
42589
b7c6bed5 425902008-05-16 Christian Franke <franke@computer.org>
42591
42592 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42593 to ensure that break with ESC will always work.
42594 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42595 Remove ESC from keyboard queue.
42596
eedf167f 425972008-05-16 Christian Franke <franke@computer.org>
42598
42599 * util/biosdisk.c: [__CYGWIN__] Add includes.
42600 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42601 (get_os_disk): Move variable declarations to OS specific
42602 parts to avoid warning.
42603 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42604 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42605 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42606 Cygwin.
42607 * util/getroot.c: [__CYGWIN__] Add includes.
42608 (strip_extra_slashes): Fix "/" case.
42609 [__CYGWIN__] (get_win32_path): New function.
42610 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42611 [__CYGWIN__] (find_root_device): Disable.
42612 [__CYGWIN__] (get_bootsec_serial): New function.
42613 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42614 [__linux__] (grub_guess_root_device): Add early returns to simplify
42615 structure.
42616 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42617 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42618 check for Linux only.
42619
a079699e 426202008-05-15 Bean <bean123ch@gmail.com>
42621
42622 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42623 keyboard hang problem in apple's intel mac.
42624
1cf4059a 426252008-05-09 Robert Millan <rmh@aybabtu.com>
42626
42627 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42628 devices.
42629 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42630 (make_device_map): Likewise.
42631 Reported by Aurelien Jarno <aurel32@debian.org>
42632
ed759390 426332008-05-07 Ian Campbell <ijc@hellion.org.uk>
42634
42635 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42636 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42637 (make_device_map): Output entries for xvd type disks.
42638
b56c4eaa 426392008-05-07 Robert Millan <rmh@aybabtu.com>
42640
42641 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42642 devices.
42643 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42644 (make_device_map): Likewise.
42645 Reported by Roland Dreier <rdreier@cisco.com>
42646
7f8866ed 426472008-05-07 Robert Millan <rmh@aybabtu.com>
42648
42649 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42650 grub_strstr() call. Correct a few mistakes in failure path handling.
42651
b0346e0f 426522008-05-06 Robert Millan <rmh@aybabtu.com>
42653
42654 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42655 Do not print a trailing slash (therefore, the root directory is an
42656 empty string).
42657 (convert_system_path_to_grub_path): Do not remove trailing slash
42658 from make_system_path_relative_to_its_root() output.
42659
42660 * util/i386/pc/grub-install.in: Add trailing slash to output from
42661 make_system_path_relative_to_its_root().
42662
6cf12cbd 426632008-05-06 Robert Millan <rmh@aybabtu.com>
42664
42665 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42666 ensures that output lines aren't intermangled with those sent to
42667 stderr (via grub_util_info()).
42668 * util/grub-probe.c (grub_refresh): Likewise.
42669 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42670
0fbb3117 426712008-05-05 Christian Franke <franke@computer.org>
42672
42673 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42674 Add Cygwin device names.
42675 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42676 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42677 (check_device): Return error instead of success on empty name.
42678 (make_device_map): Move label inside linux specific code to
42679 prevent compiler warning.
42680
8124cdb7 426812008-04-30 Robert Millan <rmh@aybabtu.com>
42682
42683 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42684 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42685 first boot option.
42686 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42687
094c01d0 426882008-04-29 Robert Millan <rmh@aybabtu.com>
42689
42690 * docs/grub.cfg: New file (example GRUB configuration).
42691
f4b1fc02 426922008-04-26 Robert Millan <rmh@aybabtu.com>
42693
329ce2a5 42694 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42695 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42696 and `disk/ieee1275/nand.c'.
f4b1fc02 42697
25f16ec1 426982008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 42699
25f16ec1 42700 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42701 i386-linuxbios.
42702
42703 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42704 change the buffer size to 4096 for cdrom device.
42705
42706 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42707 and nand.mod.
42708 (_linux_mod_SOURCES): New variable.
42709 (_linux_mod_CFLAGS): Likewise.
42710 (_linux_mod_LDFLAGS): Likewise.
42711 (linux_mod_SOURCES): Likewise.
42712 (linux_mod_CFLAGS): Likewise.
42713 (linux_mod_LDFLAGS): Likewise.
42714 (nand_mod_SOURCES): Likewise.
42715 (nand_mod_CFLAGS): Likewise.
42716 (nand_mod_LDFLAGS): Likewise.
42717
42718 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42719 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42720 type property. (nand device in olpc don't have this property)
42721
42722 * include/grub/disk.h (grub_disk_dev_id): New macro
42723 GRUB_DISK_DEVICE_NAND_ID.
42724
42725 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42726 function prototype.
42727 (grub_rescue_cmd_initrd): Likewise.
42728
42729 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42730 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42731 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 42732
25f16ec1 42733 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42734 GRUB_MACHINE_IEEE1275 is defined.
42735
42736 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42737 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42738
42739 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42740 on nested function heap_init.
42741 (grub_upper_mem): New variable for i386-ieee1275.
42742 (grub_get_extended_memory): New function for i386-ieee1275.
42743 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42744
42745 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42746 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42747 property.
f19dbdb7 42748
25f16ec1 42749 * loader/i386/ieee1275/linux.c: New file.
42750
42751 * loader/i386/ieee1275/linux_normal.c: New file.
42752
42753 * disk/ieee1275/nand.c: New file.
42754
e89d61e9 427552008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42756
42757 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42758 value.
42759 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42760
602566f6 427612008-04-18 Robert Millan <rmh@aybabtu.com>
42762
42763 Restructures early code path on ieee1275 to unify grub_main() as
42764 the first C function that is executed in every platform.
42765
42766 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42767 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42768 cmain().
42769 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42770 * kern/ieee1275/cmain.c (cmain): Rename to ...
42771 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42772 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42773 at the beginning.
42774
57490c2b 427752008-04-18 Robert Millan <rmh@aybabtu.com>
42776
42777 * util/update-grub.in: Fix syntax error when setting
42778 `GRUB_PRELOAD_MODULES'.
42779 Reported by Stephane Chazelas <stephane@artesyncp.com>
42780
1977517d 427812008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42782
42783 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42784 section into account, newer toolchains generate unique build ids
42785 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 42786 we want build ids to be preserved
1977517d 42787 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42788 far from other sections don't cause the raw binary images grow
42789 size
42790
bfb1f1a2 427912008-04-15 Robert Millan <rmh@aybabtu.com>
42792
42793 * disk/lvm.c: Update copyright year.
42794 * kern/misc.c: Likewise.
42795
01979850 427962008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42797
42798 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 42799 there is no memory left for physical volume name.
01979850 42800
0a1150e2 428012008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42802
42803 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42804 volume name mapping to support bigger than 9 character names properly.
42805
82ead3fe 428062008-04-13 Robert Millan <rmh@aybabtu.com>
42807
42808 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42809 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42810
e54a72f5 428112008-04-13 Christian Franke <franke@computer.org>
42812
42813 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42814 to create a floppy emulation boot CD when non emulation mode
42815 does not work.
42816 Enable Joliet CD filesystem extension.
42817
9fe86034 428182008-04-13 Robert Millan <rmh@aybabtu.com>
42819
42820 * kern/misc.c (grub_strncat): Fix off-by-one error.
42821 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42822
42823 * kern/env.c (grub_env_context_close): Clear current context, not
42824 previous one.
42825 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42826
42827 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42828
7ceeee39 428292008-04-13 Robert Millan <rmh@aybabtu.com>
42830
42831 Improve robustness when handling LVM.
42832
42833 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 42834 (and leave `*p' unmodified).
7ceeee39 42835 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42836 through it.
42837 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
42838 iterating through it.
42839 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
42840 through it.
fe6b695a 42841 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 42842 when due) on each grub_lvm_getvalue() or grub_strstr() call.
42843 Don't assume `vg->pvs != NULL' when iterating through it.
42844
58cd3d85 428452008-04-13 Robert Millan <rmh@aybabtu.com>
42846
42847 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
42848 * genmk.rb (partmap): New variable.
42849 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
42850 (#{partmap}): New target rule.
42851 * genpartmaplist.sh: New file.
42852 * Makefile.in (pkglib_DATA): Add partmap.lst.
42853 (partmap.lst): New target rule.
42854 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
42855 modules (including all partition maps), instead of preloading them.
42856
78b51059 428572007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
42858
42859 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
42860 `linux-boot-prober' (if installed) to detect other operating
42861 systems which are installed on the computer and add them to
42862 the boot menu.
42863 * conf/common.rmk: Build and install 30_os-prober.
42864
a91627b4 428652008-04-12 Robert Millan <rmh@aybabtu.com>
42866
42867 * kern/powerpc/ieee1275/init.c: Move from here ...
42868 * kern/ieee1275/init.c: ... to here. Update all users.
42869
42870 * kern/powerpc/ieee1275/cmain.c: Move from here ...
42871 * kern/ieee1275/cmain.c: ... to here. Update all users.
42872
42873 * kern/powerpc/ieee1275/openfw.c: Move from here ...
42874 * kern/ieee1275/openfw.c: ... to here. Update all users.
42875
42876 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
42877 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
42878
322562ea 428792008-04-10 Pavel Roskin <proski@gnu.org>
42880
42881 * configure.ac: Always use "_cv_" in cache variables for
42882 compatibility with Autoconf 2.62.
42883
a02a73c5 428842008-04-07 Robert Millan <rmh@aybabtu.com>
42885
42886 Revert grub/machine/init.h addition by Pavel (since it breaks on
42887 i386-ieee1275 and others):
42888 * util/i386/pc/misc.c: Remove grub/machine/init.h.
42889 * util/powerpc/ieee1275/misc.c: Likewise.
42890
25c024b1 428912008-04-07 Robert Millan <rmh@aybabtu.com>
42892
42893 * util/grub-probe.c (probe): Improve error message.
42894
3cbd2f98 428952008-04-07 Robert Millan <rmh@aybabtu.com>
42896
42897 * util/biosdisk.c (read_device_map): Skip devices that don't exist
42898 (this prevents the presence of a bogus entry from ruining the whole
42899 thing).
42900
87a297bf 429012008-04-06 Pavel Roskin <proski@gnu.org>
42902
36747a62 42903 * util/biosdisk.c: Include grub/util/biosdisk.h.
42904 * util/grub-fstest.c (execute_command): Make static.
42905 * util/grub-mkdevicemap.c (check_device): Likewise.
42906 * util/i386/pc/misc.c: Include grub/machine/init.h.
42907 * util/powerpc/ieee1275/misc.c: Likewise.
42908 * util/lvm.c: Include grub/util/lvm.h.
42909 * util/misc.c: Include grub/kernel.h, grub/misc.h and
42910 grub/cache.h.
42911 * util/raid.c: Include grub/util/raid.h.
42912 (grub_util_getdiskname): Make static.
42913
87a297bf 42914 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
42915 grub_hostfs_fini(), as they are called from grub_init_all() and
42916 grub_fini_all() respectively. This fixes an infinite loop in
42917 grub-fstest due to double registration of hostfs.
42918 Reported by Christian Franke <Christian.Franke@t-online.de>
42919
f6ce7629 429202008-04-05 Pavel Roskin <proski@gnu.org>
42921
42922 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
42923 all 8 functions. Otherwise, probe function 0 only.
42924
070e49e4 429252008-04-04 Pavel Roskin <proski@gnu.org>
42926
8b088a4c 42927 * commands/lspci.c (grub_lspci_iter): Print the bus number
42928 correctly.
42929
4f657021 42930 * commands/lspci.c (grub_pci_classes): Fix typos.
42931 (grub_lspci_iter): Don't print func twice. Print vendor ID
42932 before device ID, as it's normally done.
42933
070e49e4 42934 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42935 Fix signedness warnings.
42936 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
42937 Likewise.
42938 * util/ieee1275/get_disk_name.c: Include config.h so that
42939 _GNU_SOURCE is defined and getline() is declared. Mark an
42940 unused argument as such. Fix a signedness warning.
42941
ba7328dc 429422008-04-02 Pavel Roskin <proski@gnu.org>
42943
26887f22 42944 * genkernsyms.sh.in: Use more robust assignments for CC and
42945 srcdir. Quote srcdir.
42946 * gensymlist.sh.in: Likewise. Assert at the compile time that
42947 the symbol table is not empty.
42948
ba7328dc 42949 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
42950 * fs/cpio.c (grub_cpio_read): Likewise.
42951
0f582c6b 429522008-04-01 Pavel Roskin <proski@gnu.org>
42953
4b6e1995 42954 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
42955 * disk/host.c (grub_host_open): Likewise.
42956 * disk/loopback.c (grub_loopback_open): Likewise.
42957 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
42958 disk->id as in disk/host.c, not a multi-character constant.
42959
828a2768 42960 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
42961 later is obsolete, potentially dangerous and sets a bad example.
42962 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
42963 * util/misc.c (grub_util_get_image_size): Likewise.
42964
2bb4fb47 42965 * disk/loopback.c (options): Improve help for "--partitions".
42966
0f582c6b 42967 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
42968 options to align them with the short options, e.g. "echo -e".
42969
a33224e0 429702008-03-31 Bean <bean123ch@gmail.com>
42971
42972 * video/reader/png.c (grub_png_data): New member is_16bit and
42973 image_data.
42974 (grub_png_decode_image_header): Detect 16 bit png image.
42975 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
42976 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
42977 (grub_video_reader_png): Release memory occupied by image_data.
42978
42979 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
42980 4096 bytes.
42981 (grub_nfs_mount): Skip the test for sector per cluster.
42982
42983 * include/grub/ntfs.h (MAX_SPC): Removed.
42984
86cb4f54 429852008-03-31 Bean <bean123ch@gmail.com>
42986
42987 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
42988 (grub_probe_SOURCES): Add fs/afs.c.
42989 (grub_fstest_SOURCES): Likewise.
42990 (afs_mod_SOURCES): New variable.
42991 (afs_mod_CFLAGS): Likewise.
42992 (afs_mod_LDFLAGS): Likewise.
42993
42994 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
42995 (grub_emu_SOURCES): Likewise.
42996
42997 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42998
42999 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43000
43001 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43002
43003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43004
43005 * fs/afs.c: New file.
43006
17c74c21 430072008-03-30 Pavel Roskin <proski@gnu.org>
43008
4cb68e89 43009 * disk/host.c: Include grub/misc.h to fix a warning.
43010 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43011 warnings about implicit declarations.
43012
8790bb04 43013 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43014 variable.
43015 * include/grub/i386/loader.h: Change declaration of
43016 grub_linux_boot() to match what grub_loader_set() expects.
43017 * util/getroot.c (grub_guess_root_device): Return const char* to
43018 fix a warning.
43019 * util/grub-probe.c (probe): Fix a warning about uninitialized
43020 abstraction_name variable.
43021 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43022 second argument as unused to fix a warning.
43023
9a3f3296 43024 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43025 missing grub_error() call.
43026
0ecef90d 43027 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43028 2.60 and newer uses it to define datadir.
43029
0bf6d401 43030 * commands/sleep.c: Fix warning about implicit declaration.
43031 * disk/memdisk.c: Likewise.
43032 * loader/aout.c: Likewise.
43033 * loader/i386/bsd_normal.c: Likewise.
43034 * util/grub-probe.c: Likewise.
43035
7cdacf97 43036 * commands/i386/cpuid.c (has_longmode): Make static.
43037 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43038 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43039
17c74c21 43040 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43041 GDT. This is more robust, as %ds can change.
43042 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43043 calling real_to_prot().
43044 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43045
80a3e68b 430462008-03-28 Pavel Roskin <proski@gnu.org>
43047
43048 * kern/i386/pc/startup.S: Assert that uncompressed functions
43049 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43050 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43051 code, as they push parts of the code (error handlers) beyond
43052 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43053 code as correctness and size.
43054
77bcd272 430552008-03-28 Pavel Roskin <proski@gnu.org>
43056
43057 * kern/i386/pc/startup.S
43058 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43059 data block address to the real mode, keep offset minimal. This
43060 works around a bug in AWARD BIOS on old Athlon systems, which
43061 makes CD detection hang.
43062
c5dfd43b 430632008-03-26 Pavel Roskin <proski@gnu.org>
43064
43065 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43066 const.
43067 * include/grub/normal.h: Add grub_parse_color_name_pair()
43068 declaration.
43069
bf962df2 430702008-03-24 Bean <bean123ch@gmail.com>
43071
43072 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43073 (cd_count): Removed.
43074 (cd_drive): New variable.
43075 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43076 (grub_biosdisk_call_hook): Likewise.
43077 (grub_biosdisk_iterate): Change cdrom detection method.
43078 (grub_biosdisk_open): Replace cd_start with cd_drive.
43079 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43080 detect cdrom device.
43081
43082 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43083 Removed.
43084 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43085 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43086 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43087 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43088 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43089 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43090 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43091 (grub_biosdisk_cdrp): New structure.
43092 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43093
43094 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43095
43096 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43097 device.
43098
43099 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43100 New function.
43101
68e7fc7a 431022008-03-20 Robert Millan <rmh@aybabtu.com>
43103
43104 Remove 2 TiB limit in ata.mod.
43105 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43106 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43107 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43108 grub_uint64_t instead of grub_uint32_t.
43109
38ad2cf5 431102008-03-05 Bean <bean123ch@gmail.com>
43111
43112 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43113 (grub_multiboot): Set boot device.
43114
43115 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43116
2b89344e 431172008-03-02 Bean <bean123ch@gmail.com>
43118
43119 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43120 symlink_buffer.
43121
87a95d1f 431222008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43123
43124 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43125 texinfo.tex.
43126
43127 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43128 modified.
43129
43130 * docs/fdl.texi: New file.
f19dbdb7 43131
87a95d1f 43132 * docs/mdate-sh: New file. Copied from gnulib.
43133 * docs/texinfo.tex: Likewise.
43134
43135 * config.guess: Updated from gnulib.
43136 * install-sh: Likewise.
43137
7dc15d8e 431382008-02-28 Robert Millan <rmh@aybabtu.com>
43139
43140 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43141 (aout_mod_SOURCES): New variable.
43142 (aout_mod_CFLAGS): Likewise.
43143 (aout_mod_LDFLAGS): Likewise.
43144
43145 * conf/i386-ieee1275.rmk: Likewise.
43146
b00ab696 431472008-02-28 Robert Millan <rmh@aybabtu.com>
43148
43149 * util/update-grub.in: Reorganise terminal validity check. Accept
43150 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43151 Based on suggestion by Franklin PIAT.
43152
79ca2d78 431532008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43154
43155 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43156 function.
43157 * util/getroot.c (grub_util_check_block_device): New function that
43158 returns the given argument if it is a block device and returns NULL else.
43159 * util/grub-probe.c (argument_is_device): New variable.
43160 (probe): Promote device_name from a variable to an argument. Receive
43161 device_name from grub_util_check_block_device() if path is NULL and from
43162 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43163 (options): Introduce new parameter '-d, --device'.
79ca2d78 43164 (main): Add description of the new parameter to the help screen.
43165 Rename path variable to argument. Set argument_is_device if the '-d'
43166 option is given. Pass argument to probe() depending on
43167 argument_is_device.
43168
0d16e571 431692008-02-24 Bean <bean123ch@gmail.com>
43170
43171 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43172 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43173 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43174 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43175 (GRUB_ISO9660_VOLDESC_END): Likewise.
43176 (grub_iso9660_primary_voldesc): New member escape.
43177 (grub_iso9660_data): New member joliet.
43178 (grub_iso9660_convert_string): New function.
43179 (grub_iso9660_mount): Detect joliet extension.
43180 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43181 (grub_iso9660_iso9660_label): Likewise.
43182
43183 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43184 (grub_setup_SOURCES): Add fs/udf.c.
43185 (grub_fstest_SOURCES): Likewise.
43186 (udf_mod_SOURCES): New variable.
43187 (udf_mod_CFLAGS): Likewise.
43188 (udf_mod_LDFLAGS): Likewise.
43189
43190 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43191 (grub_emu_SOURCES): Likewise.
43192
43193 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43194
43195 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43196
43197 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43198
43199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43200
43201 * fs/udf.c: New file.
43202
8a594a17 432032008-02-24 Robert Millan <rmh@aybabtu.com>
43204
43205 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43206 (normal/lexer.c_DEPENDENCIES): New variables.
43207 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43208 (normal/lexer.c_DEPENDENCIES): Likewise.
43209 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43210 (normal/lexer.c_DEPENDENCIES): Likewise.
43211 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43212 (normal/lexer.c_DEPENDENCIES): Likewise.
43213 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43214 (normal/lexer.c_DEPENDENCIES): Likewise.
43215 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43216 (normal/lexer.c_DEPENDENCIES): Likewise.
43217
2dc33c03 432182008-02-23 Robert Millan <rmh@aybabtu.com>
43219
43220 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43221 since they were intended to be in hex. This didn't break previously
43222 because of a bug in gpt_partition_map_iterate() (see below).
43223
43224 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43225 when checking the validity of GPT header.
43226 Remove `partno', since it always provides the same information as `i'.
43227
f6f4cfb0 432282008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43229
43230 * include/grub/efi/time.h: Fix a wrong comment.
43231
79ff665f 432322008-02-19 Pavel Roskin <proski@gnu.org>
43233
43234 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43235 message.
43236
d38e24c2 432372008-02-19 Bean <bean123ch@gmail.com>
43238
43239 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43240 (aout_mod_SOURCES): New variable.
43241 (aout_mod_CFLAGS): Likewise.
43242 (aout_mod_LDFLAGS): Likewise.
43243 (_bsd_mod_SOURCES): New variable.
43244 (_bsd_mod_CFLAGS): Likewise.
43245 (_bsd_mod_LDFLAGS): Likewise.
43246 (bsd_mod_SOURCES): New variable.
43247 (bsd_mod_CFLAGS): Likewise.
43248 (bsd_mod_LDFLAGS): Likewise.
43249
43250 * include/grub/aout.h: New file.
43251
43252 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43253
43254 * include/grub/i386/bsd.h: New file.
43255
43256 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43257 to make it public.
43258
43259 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43260 function is called, so that it's possible to change it inside the hook.
43261 (grub_elf64_load): Likewise.
43262 (grub_elf_file): Don't close the file if elf header is not found.
43263 (grub_elf_close): Close the file if grub_elf_file fails (The new
43264 grub_elf_file won't close it).
43265 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43266 (grub_elf64_size): Likewise.
43267
43268 * kern/i386/loader.S (grub_unix_real_boot): New function.
43269
43270 * loader/aout.c: New file.
43271
43272 * loader/i386/bsd.c: New file.
43273
43274 * loader/i386/bsd_normal.c: New file.
43275
43276 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43277
43278 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43279 can test other formats.
d38e24c2 43280
b93bdb0f 432812008-02-19 Robert Millan <rmh@aybabtu.com>
43282
43283 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43284 (grub_gpt_partition_type_empty): Redefine with macro from
43285 `<grub/gpt_partition.h>'.
43286 (gpt_partition_map_iterate): Adjust partition type comparison.
43287
43288 Export `entry' as partmap-specific `part.data' struct.
43289 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43290
43291 * include/grub/gpt_partition.h (grub_gpt_header)
43292 (grub_gpt_partentry): ... to here (new file).
43293
43294 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43295
43296 (grub_gpt_partition_type_bios_boot): New const variable, defined
43297 with macro from `<grub/gpt_partition.h>'.
43298
43299 (setup): Replace `first_start' with `embed_region', which keeps
43300 track of the embed region (and is partmap-agnostic).
43301
43302 Replace find_first_partition_start() with find_usable_region(),
43303 which finds a usable region for embedding using partmap-specific
43304 knowledge (supports PC/MSDOS and GPT).
43305
43306 Fix all assumptions that the embed region start at sector 1, using
43307 `embed_region.start' from now on. Similarly, use `embed_region.end'
43308 rather than `first_start' to calculate available size.
43309
43310 In grub_util_info() message, replace "into after the MBR" with an
43311 indication of the specific sector our embed region starts at.
43312
66cb40f6 433132008-02-19 Robert Millan <rmh@aybabtu.com>
43314
43315 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43316 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43317 `commands/reboot.c'.
43318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43319 (halt_mod_SOURCES): Likewise.
43320 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43321 (halt_mod_SOURCES): Likewise.
43322
b7202015 433232008-02-17 Christian Franke <franke@computer.org>
43324
43325 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43326
32b0fc49 433272008-02-17 Robert Millan <rmh@aybabtu.com>
43328
43329 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43330 set `first_start' to 0 for non-PC/MSDOS partition maps.
43331
aca63502 433322008-02-16 Robert Millan <rmh@aybabtu.com>
43333
43334 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43335 do not assume partition map is PC/MSDOS before performing checks that
43336 are specific to that layout.
43337
0de8be86 433382008-02-13 Robert Millan <rmh@aybabtu.com>
43339
43340 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43341 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43342 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43343
c3db8364 433442008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43345
43346 * configure.ac: Only a cosmetic change on the handling of
43347 -fno-stack-protector.
43348
f714229e 433492008-02-12 Alexandre Boeglin <alex@boeglin.org>
43350
c3db8364 43351 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43352 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43353 reboot.c.
f714229e 43354 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43355 (halt_mod_SOURCES): New variable.
43356 (halt_mod_CFLAGS): Likewise.
43357 (halt_mod_LDFLAGS): Likewise.
43358 (reboot_mod_SOURCES): Likewise.
43359 (reboot_mod_CFLAGS): Likewise.
43360 (reboot_mod_LDFLAGS): Likewise.
43361
c3db8364 43362 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43363 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43364 reboot.c.
f714229e 43365 (halt_mod_SOURCES): Likewise.
43366 (reboot_mod_SOURCES): Likewise.
43367
c3db8364 43368 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43369 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43370 (reboot_mod_SOURCES): Likewise.
43371
43372 * commands/i386/pc/reboot.c: merge this file ...
43373
43374 * commands/ieee1275/reboot.c: ... and this file ...
43375
43376 * commands/reboot.c: ... to this file.
c3db8364 43377 Add some precompiler directive to include the correct header for
43378 each machine.
f714229e 43379
43380 * commands/ieee1275/halt.c: move this file ...
43381
43382 * commands/halt.c: ... to here.
c3db8364 43383 Add some precompiler directive to include the correct header for
43384 each machine.
f714229e 43385
43386 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43387 (grub_halt): Likewise.
43388
43389 * kern/efi/efi.c (grub_reboot): New function.
43390 (grub_halt): Likewise.
43391
c74493e0 433922008-02-12 Robert Millan <rmh@aybabtu.com>
43393
43394 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43395 /dev (like it is done for /dev/mapper). This doesn't provide support
43396 for EVMS, but at least it is now easy to identify the problem when it
43397 arises.
43398
d0db4b04 433992008-02-11 Robert Millan <rmh@aybabtu.com>
43400
43401 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43402 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43403 comparing it with -1, not 0.
43404
bf748642 434052008-02-10 Robert Millan <rmh@aybabtu.com>
43406
43407 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43408 `disk/lvm.c'.
43409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43410 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43411
43412 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43413 `disk/lvm.c' to the end of the list.
43414 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43415 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43416
b5db202a 434172008-02-10 Robert Millan <rmh@aybabtu.com>
43418
43419 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43420 grub_print_error() instead. This will let user know why we're entering
43421 rescue mode.
43422 Based on suggestions from Sam Morris.
43423
83abee31 434242008-02-10 Alexandre Boeglin <alex@boeglin.org>
43425
43426 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43427 on remaining N args, instead of "--" arg N times.
43428
78d5a08b 434292008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43430
43431 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43432 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43433 pattern for unknown glyphs.
43434
68807e5f 434352008-02-09 Robert Millan <rmh@aybabtu.com>
43436
43437 * configure.ac: Probe for `help2man'.
43438 * Makefile.in (builddir): New variable.
43439 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43440 or otherwise add a few flags/options to it.
43441 (install-local): For every executable utility or script that is
43442 installed, invoke $(HELP2MAN) to install a manpage based on --help
43443 output.
43444
43445 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43446 that it doesn't prevent --help from working in build tree.
43447
43448 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43449 with `bug-grub@gnu.org'.
43450 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43451 * util/update-grub.in (usage): New function.
43452 Implement proper argument check, with support for --help and --version
43453 (as well as existing -y).
43454
434552008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43456
43457 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43458 avoid overwriting previous output.
43459 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43460
c1962162 434612008-02-09 Robert Millan <rmh@aybabtu.com>
43462
43463 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43464 drawing the menu.
43465
3dac2e3f 434662008-02-09 Robert Millan <rmh@aybabtu.com>
43467
43468 * commands/sleep.c: New file.
43469 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43470 (sleep_mod_SOURCES): New variable.
43471 (sleep_mod_CFLAGS): Likewise.
43472 (sleep_mod_LDFLAGS): Likewise.
43473
7a634e08 434742008-02-09 Robert Millan <rmh@aybabtu.com>
43475
43476 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43477 situations in which we can deduce the RAID size and the superblock
43478 doesn't match it.
43479
b92f0c18 434802008-02-09 Robert Millan <rmh@aybabtu.com>
43481
43482 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43483 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43484 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43485
43486 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43487 and return a grub_diskmemberlist_t composed of physical array members.
43488 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43489
43490 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43491 prototype.
43492 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43493 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43494 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43495
43496 * util/grub-probe.c (probe): Move partmap probing code from here ...
43497 (probe_partmap): ... to here.
43498 (probe): Use probe_partmap() once for the disk we're probing, and
43499 additionally, when such disk contains a memberlist() struct member,
43500 once for each disk that is contained in the structure returned by
43501 memberlist().
43502
91a4bf68 435032008-02-09 Robert Millan <rmh@aybabtu.com>
43504
43505 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43506 environment variable to 'all' in order to obtain debug output from
43507 non-util/ code.
43508 * util/i386/pc/grub-setup.c (main): Likewise.
43509
a96f9caa 435102008-02-08 Robert Millan <rmh@aybabtu.com>
43511
43512 * disk/raid.c (grub_raid_scan_device): Check for
43513 `array->device[sb.this_disk.number]' rather than for
43514 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43515 guaranteed to be accessible.
a96f9caa 43516
b37a9222 435172008-02-08 Robert Millan <rmh@aybabtu.com>
43518
43519 * disk/raid.c: Update copyright.
43520 * fs/cpio.c: Likewise.
43521 * include/grub/raid.h: Likewise.
43522 * loader/i386/pc/multiboot.c: Likewise.
43523 * util/hostfs.c: Likewise.
43524
5626aee1 435252008-02-08 Robert Millan <rmh@aybabtu.com>
43526
43527 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43528 to a grub_disk_t array.
43529 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43530 `device[x]'.
43531 (grub_raid_scan_device): Replace `device[x].name' accesses with
43532 `device[x]->name'. Simplify initialization of `array->device[x]'.
43533
554f0187 435342008-02-08 Robert Millan <rmh@aybabtu.com>
43535
43536 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43537 grub_dprintf() calls.
43538 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43539 error message.
43540
1ec8425d 435412008-02-07 Christian Franke <franke@computer.org>
43542
43543 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43544 instead of fseek and ftell to support large files.
43545 (grub_hostfs_read): Likewise.
43546
f2156fda 435472008-02-07 Robert Millan <rmh@aybabtu.com>
43548
43549 Patch from Jeroen Dekkers.
43550 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43551 failure, since successfully reading all array members might not be
f2156fda 43552 required.
43553
9216e0e7 435542008-02-06 Robert Millan <rmh@aybabtu.com>
43555
43556 * util/grub-probe.c (probe): Simplify partmap probing (with the
43557 assumption that the first word up to the underscore equals to
43558 the module name).
43559
b0dfd29a 435602008-02-06 Christian Franke <franke@computer.org>
43561
43562 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43563 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43564 last block of a cpio or tar stream.
43565 Check for "TRAILER!!!" instead of any empty data
43566 block to detect last block of a cpio stream.
43567 (grub_cpio_dir): Fix constness of variable np.
43568 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43569 cpio or tar trailer is detected. This fixes a crash
43570 on open of a non existing file.
43571
c32865bf 435722008-02-05 Bean <bean123ch@gmail.com>
43573
43574 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43575 address of entry.
43576 (grub_multiboot_load_elf64): Likewise.
43577 (grub_multiboot): Initialize mbi structure.
43578
43579 * util/grub-fstest.c: Don't include unused header file script.h.
43580
fe6b695a 43581 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43582 of file.
43583 (grub_fstest_SOURCES): Likewise.
43584
409480b7 435852008-02-05 Robert Millan <rmh@aybabtu.com>
43586
43587 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43588 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43589 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43590 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43591
43592 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43593 (translation_table): Replace hardcoded values with macros
43594 provided by `<grub/term.h>'.
43595
43596 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43597 (keyboard_map): Correct/add a few values, with macros provided
43598 by `<grub/term.h>'.
43599 (keyboard_map_shift): Zero values that don't differ from their
43600 `keyboard_map' equivalents.
43601 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43602 Discard the second scan code that is always sent by Caps lock.
43603 Only use `keyboard_map_shift' when it provides a non-zero value,
43604 otherwise fallback to `keyboard_map'.
43605
99fadbaa 436062008-02-04 Bean <bean123ch@gmail.com>
43607
43608 * Makefile.in (enable_grub_fstest): New variable.
43609
43610 * conf/common.rmk (grub_fstest_init.lst): New rule.
43611 (grub_fstest_init.h): Likewise.
43612 (grub_fstest_init.c): Likewise.
43613 (util/grub-fstest.c_DEPENDENCIES): New variable.
43614 (grub_fstest_SOURCES): Likewise.
43615
43616 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43617
43618 * util/grub-fstest.c: New file.
43619
bf567c50 436202008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43621
43622 Make grub-setup handle a separate root device.
f19dbdb7 43623
bf567c50 43624 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43625 so that the root device can be compared with the destination
43626 device.
43627 When embedding the core image, if the root and destination devices
43628 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43629 0xFF.
43630 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43631
9be6b98b 436322008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43633
43634 Add support for having a grub directory in a different drive. This
43635 is still only the data handling part.
f19dbdb7 43636
9be6b98b 43637 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43638 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43639 (grub_root_drive): New variable.
43640
43641 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43642 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43643 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43644 as it was.
43645
43646 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43647
43648 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43649 macro.
43650 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43651
43652 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43653 is bogus, because PXE booting does not specify any drive
43654 correctly.
43655
43656 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43657 am not sure if this is really correct.
43658
43659 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43660 is always identical to the boot drive when booting from a CD.
43661
43662 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43663 longer.
43664 (root_drive): New variable.
43665 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43666 (setup_sectors): Push %dx right after popping it, because %dh will
43667 be modified later.
43668 (copy_buffer): Restore %dx.
43669
e0ca0677 436702008-02-03 Robert Millan <rmh@aybabtu.com>
43671
43672 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43673 use `cdboot.img' for cdrom images.
43674
3b3f6629 436752008-02-03 Robert Millan <rmh@aybabtu.com>
43676
43677 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43678 only setup gfxterm when `font' command has succeeded.
43679
d42b3672 436802008-02-03 Robert Millan <rmh@aybabtu.com>
43681
43682 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43683 (grub_rescue_cmd_multiboot_loader)
43684 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43685
fa370ea6 436862008-02-03 Pavel Roskin <proski@gnu.org>
43687
e0c5dacb 43688 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43689 %edx and %esi from stack only after grub_gate_a20() is called.
43690 grub_gate_a20() clobbers %edx.
43691
f2a76e1d 436922008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43693
43694 * configure.ac (AC_INIT): Bumped to 1.96.
43695
43696 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43697 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43698 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43699 video/readers/png.c.
43700
90fd32d1 437012008-02-03 Bean <bean123ch@gmail.com>
9be665dd 43702
43703 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43704 (cdboot_img_SOURCES): New variable.
43705 (cdboot_img_ASFLAGS): New variable.
43706 (cdboot_img_LDFLAGS): New variable.
43707
43708 * boot/i386/pc/cdboot.S: New file.
43709
43710 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43711 (cd_count): Likewise.
43712 (grub_biosdisk_get_drive): Add support for cd device.
43713 (grub_biosdisk_call_hook): Likewise.
43714 (grub_biosdisk_iterate): Likewise.
43715 (grub_biosdisk_open): Likewise.
43716 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43717 (grub_biosdisk_rw): Support reading from cd device.
43718 (GRUB_MOD_INIT): Iterate cd devices.
43719
43720 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43721 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43722 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43723
43724 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43725
4020aa53 437262008-02-02 Robert Millan <rmh@aybabtu.com>
43727
43728 * commands/read.c: New file.
43729 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43730 (read_mod_SOURCES): New variable.
43731 (read_mod_CFLAGS): Likewise.
43732 (read_mod_LDFLAGS): Likewise.
43733
e03a1132 437342008-02-02 Robert Millan <rmh@aybabtu.com>
43735
43736 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43737 determining whether menu has to be displayed.
43738
58c69220 437392008-02-02 Marco Gerards <marco@gnu.org>
43740
43741 * bus/pci.c: New file.
43742
43743 * include/grub/pci.h: Likewise.
43744
43745 * include/grub/i386/pc/pci.h: Likewise.
43746
43747 * commands/lspci.c: Likewise.
43748
43749 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43750 `lspci.mod'.
43751 (pci_mod_SOURCES): New variable.
43752 (pci_mod_CFLAGS): Likewise.
43753 (pci_mod_LDFLAGS): Likewise.
43754 (lspci_mod_SOURCES): Likewise.
43755 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 43756 (lspci_mod_LDFLAGS): Likewise.
58c69220 43757
c004e1b4 437582008-02-02 Bean <bean123ch@gmail.com>
43759
43760 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43761 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43762
43763 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43764 (grub_xfs_btree_node): New structure.
43765 (grub_xfs_btree_root): New structure.
43766 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43767 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43768 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43769 (GRUB_XFS_EXTENT_SIZE): Likewise.
43770 (grub_xfs_read_block): Support btree format type.
43771 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43772 Use directory block as basic unit.
43773
43774 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43775
43776 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43777 __attribute__ ((__regparm__ (1))).
43778
f95562bf 437792008-02-01 Robert Millan <rmh@aybabtu.com>
43780
43781 Correct a mistake in previous commit.
43782
43783 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43784 top.
43785 (normal/command.c_DEPENDENCIES): New variable.
43786
7d31f41f 437872008-02-01 Robert Millan <rmh@aybabtu.com>
43788
43789 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43790 top.
43791 (normal/command.c_DEPENDENCIES): New variable.
43792 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43793 * conf/i386-ieee1275.rmk: Likewise.
43794 * conf/i386-linuxbios.rmk: Likewise.
43795 * conf/i386-pc.rmk: Likewise.
43796 * conf/sparc64-ieee1275.rmk: Likewise.
43797 * conf/powerpc-ieee1275.rmk: Likewise.
43798 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43799
43800 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43801
60b6be74 438022008-02-01 Robert Millan <rmh@aybabtu.com>
43803
43804 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43805 call at beginning of function.
43806
078522ab 438072008-01-31 Pavel Roskin <proski@gnu.org>
43808
43809 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 43810 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43811 (grub_mkrescue_SOURCES): Likewise.
078522ab 43812 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43813
ccaa8a5f 438142008-01-30 Robert Millan <rmh@aybabtu.com>
43815
43816 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43817 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43818 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43819 (grub_probe_SOURCES): ... to here.
43820
43821 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43822 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43823 * conf/i386-ieee1275.rmk: Likewise.
43824 * conf/i386-linuxbios.rmk: Likewise.
43825 * conf/powerpc-ieee1275.rmk: Likewise.
43826
ae5a9cd7 438272008-01-30 Tristan Gingold <gingold@free.fr>
43828
43829 * kern/rescue.c: Silently accept empty lines.
43830
70bc2ef2 438312008-01-29 Bean <bean123ch@gmail.com>
43832
43833 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43834 (real_code_2): Code cleanup and change comment style.
43835 (move_memory): Avoid using 32-bit address mode.
43836
6a4d50ea 438372008-01-29 Bean <bean123ch@gmail.com>
43838
43839 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
43840 (png_mod_SOURCES): New variable.
43841 (png_mod_CFLAGS): Likewise.
43842 (png_mod_LDFLAGS): Likewise.
43843
43844 * video/readers/png.c: New file.
43845
11cc30ac 438462008-01-28 Robert Millan <rmh@aybabtu.com>
43847
43848 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
43849 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
43850 `ifndef GRUB_MOD_GAP' hack.
43851 * util/elf/grub-mkimage.c (add_segments): Likewise.
43852
3abc589f 438532008-01-27 Robert Millan <rmh@aybabtu.com>
43854
43855 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
43856 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 43857 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 43858
e1907778 438592008-01-27 Robert Millan <rmh@aybabtu.com>
43860
43861 Get grub-emu to build again (including parallel builds).
43862
43863 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
43864 Split into ...
43865 (util/grub-emu.c_DEPENDENCIES): ... this, ...
43866 (normal/execute.c_DEPENDENCIES): ... this, ...
43867 (grub-emu_DEPENDENCIES): ... and this.
43868
43869 * conf/i386-efi.rmk: Likewise.
43870 * conf/i386-linuxbios.rmk: Likewise.
43871 * conf/i386-ieee1275.rmk: Likewise.
43872 * conf/powerpc-ieee1275.rmk: Likewise.
43873 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
43874
2216b101 438752008-01-27 Robert Millan <rmh@aybabtu.com>
43876
43877 * NEWS: Add a few items.
43878
f75172d9 438792008-01-27 Robert Millan <rmh@aybabtu.com>
43880
43881 Fix parallel builds with grub-emu. Based on earlier commit for
43882 grub-probe and grub-setup.
43883
43884 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43885 (util/grub-emu.c_DEPENDENCIES): ... this.
43886 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43887 (util/grub-emu.c_DEPENDENCIES): ... this.
43888 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43889 (util/grub-emu.c_DEPENDENCIES): ... this.
43890 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43891 (util/grub-emu.c_DEPENDENCIES): ... this.
43892 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43893 (util/grub-emu.c_DEPENDENCIES): ... this.
43894
3f51de77 438952008-01-27 Pavel Roskin <proski@gnu.org>
43896
43897 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
43898 to create a gap between _end and the modules added to the image
43899 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
43900 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
43901 * util/elf/grub-mkimage.c (add_segments): Likewise.
43902
2033f53e 439032008-01-26 Pavel Roskin <proski@gnu.org>
43904
43905 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
43906 just return an error.
43907
22da1f6f 439082008-01-26 Bean <bean123ch@gmail.com>
43909
43910 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
43911 (grub_reiserfs_get_item): Save offset of the next item.
43912 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
43913
2a9525e6 439142008-01-25 Robert Millan <rmh@aybabtu.com>
43915
43916 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
43917 make all filesystem sources appear together (possibly fixing omissions
43918 while at it).
43919 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43920 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43921 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43923
43924 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
43925 add `kern/file.c'.
43926 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
43927 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43928 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
43929 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43930
43931 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
43932 (probe): Add a sanity check to make sure of our ability to read
43933 requested files when probing for filesystem type.
43934
43935 * genmk.rb: Update copyright year (2007).
43936
43937 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
43938 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
43939 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
43940 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
43941 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
43942 : Remove function prototypes.
43943
b95f71b5 439442008-01-25 Robert Millan <rmh@aybabtu.com>
43945
43946 Revert my previous commits (based on wrong assumption of how grub_errno
43947 works).
43948
fe6b695a 43949 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 43950 * kern/file.c (grub_file_open): Likewise.
43951
d08bbb49 439522008-01-24 Pavel Roskin <proski@gnu.org>
43953
43954 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
43955 that hang if GRUB tries to setup colors.
43956 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
43957 colors for firmwares that don't support it.
43958 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
43959 Recognize Open Hack'Ware, set flags to work around its
43960 limitations.
43961
605e36ed 439622008-01-24 Robert Millan <rmh@aybabtu.com>
43963
43964 * kern/file.c (grub_file_open): Do not account previous failures of
43965 unrelated functions when grub_errno is checked for.
43966 Reported by Oleg Strikov.
43967
bac332a1 439682008-01-24 Bean <bean123ch@gmail.com>
43969
43970 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
43971 (grub_ufs_sblock): New member volume name.
43972 (grub_ufs_find_file): Fix string copy bug.
43973 (grub_ufs_label): Implement this function properly.
43974
43975 * fs/hfs.c (grub_hfs_cnid_type): New enum.
43976 (grub_hfs_iterate_records): Use the correct file number for extents
43977 and catalog file. Fix problem in next index calculation.
43978 (grub_hfs_find_node): Replace recursive function call with loop.
43979 (grub_hfs_iterate_dir): Replace recursive function call with loop.
43980
15c80c09 439812008-01-23 Robert Millan <rmh@aybabtu.com>
43982
43983 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
43984 `<grub/symbol.h>' and `<grub/multiboot.h>'.
43985 (grub_multiboot2_real_boot): New function prototype.
43986
43987 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
43988 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
43989
43990 * kern/i386/ieee1275/init.c (grub_os_area_addr)
43991 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
43992
305338fd 439932008-01-23 Robert Millan <rmh@aybabtu.com>
43994
43995 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
43996 #ifdef'ed out grub_printf().
43997
3ea52685 439982008-01-23 Robert Millan <rmh@aybabtu.com>
43999
44000 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44001 grub_dprintf calls, since they make "debug=all" mode unusable.
44002 (grub_console_checkkey): Likewise.
44003
5882ae4b 440042008-01-23 Robert Millan <rmh@aybabtu.com>
44005
44006 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44007 `term/i386/pc/at_keyboard.c'.
44008 (pkglib_MODULES): Add `serial.mod'.
44009 (serial_mod_SOURCES): New variable.
44010 (serial_mod_CFLAGS): Likewise.
44011 (serial_mod_LDFLAGS): Likewise.
44012
44013 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44014 `<grub/powerpc/ieee1275/console.h>'.
44015 (grub_keyboard_controller_init): New function prototype.
44016 (grub_console_checkkey): Likewise.
44017 (grub_console_getkey): Likewise.
44018
44019 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44020 keyboard on i386.
44021
44022 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44023 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44024
06ab5303 440252008-01-23 Robert Millan <rmh@aybabtu.com>
44026
44027 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44028 present, "(memdisk)/boot/grub" becomes the default prefix.
44029
44030 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44031 a memdisk tarball with all the modules. Add --overlay=DIR option that
44032 allows users to overlay additional files into the image.
44033
dbb475a4 440342008-01-23 Robert Millan <rmh@aybabtu.com>
44035
44036 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44037 and `machine/memory.h'.
44038 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44039 (_multiboot_mod_SOURCES): New variable.
44040 (_multiboot_mod_CFLAGS): Likewise.
44041 (_multiboot_mod_LDFLAGS): Likewise.
44042 (multiboot_mod_SOURCES): Likewise.
44043 (multiboot_mod_CFLAGS): Likewise.
44044 (multiboot_mod_LDFLAGS): Likewise.
44045
44046 * include/grub/i386/ieee1275/loader.h: New file.
44047
44048 * include/grub/i386/ieee1275/machine.h: Likewise.
44049
44050 * include/grub/i386/ieee1275/memory.h: Likewise.
44051
44052 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44053 variable declaration.
44054 (grub_os_area_size): Likewise.
44055
44056 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44057 (grub_lower_mem, grub_upper_mem): New variables.
44058 (grub_stop_floppy): New function (just to make
44059 grub_multiboot2_real_boot() happy).
44060
44061 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44062 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44063 (grub_stop): New function.
44064 Include `"../realmode.S"' and `"../loader.S"'.
44065
44066 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44067 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44068
44069 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44070 rely on grub_multiboot2_real_boot() for final boot.
44071
25638629 440722008-01-22 Robert Millan <rmh@aybabtu.com>
44073
44074 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44075 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44076 device that doesn't look like an SD card.
44077 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44078 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44079 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44080 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44081 found.
44082
9dad816d 440832008-01-22 Robert Millan <rmh@aybabtu.com>
44084
44085 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44086 avoid claiming over our own code.
44087
34842f2d 440882008-01-22 Bean <bean123ch@gmail.com>
44089
44090 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44091 (jpeg_mod_SOURCES): New variable.
44092 (jpeg_mod_CFLAGS): Likewise.
44093 (jpeg_mod_LDFLAGS): Likewise.
44094
44095 * video/readers/jpeg.c : New file.
44096
44023a28 440972008-01-22 Bean <bean123ch@gmail.com>
44098
44099 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44100 there are no more items.
44101
bc2d8ac6 441022008-01-21 Robert Millan <rmh@aybabtu.com>
44103
44104 * kern/mm.c (grub_mm_init_region): Improve debug message.
44105
261bd4bc 441062008-01-21 Robert Millan <rmh@aybabtu.com>
44107
44108 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44109 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44110 address.
44111 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44112 a C macro.
44113 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44114 Indicates start of upper memory.
44115 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44116 (generate_image): Abort when image size is big enough to corrupt
44117 upper memory.
44118
44119 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44120 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44121 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44122 instead of hardcoding 0xA0000.
44123 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44124 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44125 instead of hardcoding 0xA0000.
44126
f970b55e 441272008-01-21 Robert Millan <rmh@aybabtu.com>
44128
44129 * disk/memdisk.c (memdisk_size): New variable.
44130 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44131 `memdisk_size'.
44132 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44133 image to dynamic memory.
44134 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44135 `memdisk_size'. Free memdisk block.
44136
1a8b0526 441372008-01-21 Robert Millan <rmh@aybabtu.com>
44138
44139 Fix detection of very small filesystems (like tar).
44140
44141 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44142 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44143 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44144 a problem with this disk).
44145
6e9b4aab 441462008-01-21 Robert Millan <rmh@aybabtu.com>
44147
44148 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44149 on grub_biosdisk_rw_standard() error.
44150
0d8837b2 441512008-01-21 Robert Millan <rmh@aybabtu.com>
44152
44153 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44154 recent changes.
44155 * kern/elf.c: Likewise.
44156 * kern/ieee1275/ieee1275.c: Likewise.
44157 * kern/powerpc/ieee1275/openfw.c: Likewise.
44158 * term/ieee1275/ofconsole.c: Likewise.
44159
ffd36e34 441602008-01-21 Robert Millan <rmh@aybabtu.com>
44161
44162 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44163
3f0093d0 44164 * include/grub/kernel.h (grub_arch_memdisk_addr)
44165 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44166
3f0093d0 44167 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44168 (grub_arch_memdisk_size): ... to here.
ffd36e34 44169
6c391b21 441702008-01-21 Robert Millan <rmh@aybabtu.com>
44171
44172 Mostly based on bugfix from Bean.
44173
44174 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44175 attribute with hook() parameter.
44176 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44177 declaration.
44178 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44179 attribute with hook() parameter.
44180 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44181 declaration.
44182
55a581dc 441832008-01-21 Robert Millan <rmh@aybabtu.com>
44184
44185 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44186 (pkglib_MODULES): Add `memdisk.mod'.
44187 (memdisk_mod_SOURCES): New variable.
44188 (memdisk_mod_CFLAGS): Likewise.
44189 (memdisk_mod_LDFLAGS): Likewise.
44190
44191 * disk/memdisk.c: New file.
44192
44193 * include/grub/disk.h (grub_disk_dev_id): Add
44194 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44195
44196 * include/grub/i386/pc/kernel.h
44197 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44198 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44199 (grub_kernel_image_size): New variable declaration.
44200 (grub_total_module_size): Likewise.
44201 (grub_memdisk_image_size): Likewise.
44202
44203 * include/grub/i386/pc/memory.h
44204 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44205
44206 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44207 (grub_arch_memdisk_addr): New variable declaration.
44208 (grub_arch_memdisk_size): Likewise.
44209
44210 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44211 (grub_arch_memdisk_size): Likewise.
44212
44213 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44214 (codestart): Replace hardcoded `0x100000' with
44215 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44216
44217 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44218 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44219 not NULL, append the contents of the file it refers to, at the end of
44220 the compressed kernel image. Initialize `grub_memdisk_image_size'
44221 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44222 (options): Add "memdisk"|'m' option.
44223 (main): Parse --memdisk|-m option, and pass user-provided path as
44224 parameter to generate_image().
44225
3d7f54c9 442262008-01-20 Robert Millan <rmh@aybabtu.com>
44227
44228 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44229 grub_dprintf() calls from here ...
44230 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44231
0bf74728 442322008-01-20 Robert Millan <rmh@aybabtu.com>
44233
44234 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44235
44236 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44237 declaration.
44238 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44239 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44240 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44241 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44242 property).
44243 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44244 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44245
33bf70a7 442462008-01-19 Robert Millan <rmh@aybabtu.com>
44247
fe6b695a 44248 Get rid of confusing function (superseded by
33bf70a7 44249 `grub_ieee1275_get_integer_property')
44250 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44251 prototype.
44252 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44253 function.
44254 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44255 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44256 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44257
e2da7d26 442582008-01-19 Robert Millan <rmh@aybabtu.com>
44259
44260 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44261 command after "shut-down", since implementations differ on which
44262 the command for halt is.
44263
59f1fd8d 442642008-01-19 Robert Millan <rmh@aybabtu.com>
44265
44266 * include/grub/i386/linuxbios/console.h: Add header protection.
44267 (grub_keyboard_controller_init): New function prototype.
44268 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44269 (KEYBOARD_COMMAND_READ): Likewise.
44270 (KEYBOARD_COMMAND_WRITE): Likewise.
44271 (KEYBOARD_SCANCODE_SET1): Likewise.
44272 (grub_keyboard_controller_write): New function.
44273 (grub_keyboard_controller_read): Likewise.
44274 (grub_keyboard_controller_init): Likewise.
44275
44276 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44277 (grub_console_init): On coreboot/LinuxBIOS, call
44278 grub_keyboard_controller_init().
44279
5f5a7c15 442802008-01-19 Robert Millan <rmh@aybabtu.com>
44281
44282 PowerPC changes provided by Pavel Roskin.
44283
44284 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44285 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44286 don't rely on cmain() doing it.
44287 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44288 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44289
1210e168 442902008-01-16 Robert Millan <rmh@aybabtu.com>
44291
44292 * include/grub/i386/linuxbios/memory.h
44293 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44294 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44295 receive `table_header' as argument. Instead, probe for it in the
44296 known memory ranges where it can be present.
44297 (grub_available_iterate): Do not pass a fixed `table_header' address
44298 to grub_linuxbios_table_iterate().
44299
3d04eab8 443002008-01-15 Robert Millan <rmh@aybabtu.com>
44301
44302 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44303 * conf/i386-ieee1275.rmk: New file.
44304 * include/grub/i386/ieee1275/console.h: Likewise.
44305 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44306 * include/grub/i386/ieee1275/kernel.h: Likewise.
44307 * include/grub/i386/ieee1275/time.h: Likewise.
44308 * kern/i386/ieee1275/init.c: Likewise.
44309 * kern/i386/ieee1275/startup.S: Likewise.
44310
d1bc1b73 443112008-01-15 Robert Millan <rmh@aybabtu.com>
44312
44313 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44314 when pointers are 32-bit (but still do set it to one when they are
44315 64-bit).
44316
66a65807 443172008-01-15 Robert Millan <rmh@aybabtu.com>
44318
44319 * include/grub/ieee1275/ieee1275.h
44320 (grub_ieee1275_get_integer_property): New function prototype.
44321
44322 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44323 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44324 grub_ieee1275_get_property() to handle endianness.
66a65807 44325
44326 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44327 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44328 where appropriate.
66a65807 44329 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44330 (grub_map): Likewise.
44331 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44332
a83ccafd 443332008-01-15 Bean <bean123ch@gmail.com>
44334
44335 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44336 (grub_script_execute_cmdline): Reset grub_errno.
44337
44338 * normal/main.c (read_config_file): Reset grub_errno.
44339
44340 * normal/parse.y (script_init): New.
44341 (script): Move function and menuentry here.
44342 (delimiter): New.
44343 (command): Add delimiter at the end of command.
44344 (commands): Adjust to match the new command.
44345 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44346 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44347 (if): Use the new commands.
44348
44349 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44350
df6ecfc6 443512008-01-15 Robert Millan <rmh@aybabtu.com>
44352
44353 * normal/menu.c (run_menu): Move timeout message from here ...
44354 (print_timeout): ... to here.
44355 (run_menu): Use print_timeout() once during initial draw to print
44356 the whole message, and again in every clock tick to update only
44357 the number of seconds.
44358
87ae25eb 443592008-01-15 Robert Millan <rmh@aybabtu.com>
44360
44361 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44362 actual size of `available' from grub_ieee1275_get_property(), and
44363 restrict parsing to that bound.
44364
47bf09a4 443652008-01-15 Christian Franke <franke@computer.org>
44366
44367 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44368 (argp_program_version): Remove variable.
44369 (argp_program_bug_address): Likewise.
44370 (options): Convert from struct argp_option to struct option.
44371 (struct arguments): Remove.
44372 (parse_opt): Remove.
44373 (usage): New function.
44374 (main): Replace struct args members by simple variables.
44375 Replace argp_parse() by getopt_long().
44376 Add switch to evaluate options.
44377 Add missing "(...)" around root_dev in prefix string.
44378
c86f1469 443792008-01-14 Robert Millan <rmh@aybabtu.com>
44380
44381 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44382 for grub_ieee1275_exit(), in order to improve portability.
44383
e622c559 443842008-01-14 Robert Millan <rmh@aybabtu.com>
44385
44386 * util/grub.d/10_linux.in (prefix): Define.
44387 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44388
44cb1ec8 443892008-01-13 Pavel Roskin <proski@gnu.org>
44390
44391 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44392 grub_errno if no errors have been detected.
44393
1eb8c802 443942008-01-12 Robert Millan <rmh@aybabtu.com>
44395
44396 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44397 (grub_util_get_dev_abstraction): New function prototype.
44398
44399 * util/getroot.c: Include `<grub/util/getroot.h>'
44400 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44401 (grub_util_get_dev_abstraction): ... here (new function).
44402
44403 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44404 `PRINT_ABSTRACTION'.
44405 (probe): Probe for abstraction type when requested.
44406 (main): Understand `--target=abstraction'.
44407
44408 * util/i386/efi/grub-install.in: Add abstraction module to core
44409 image when it is found to be necessary.
44410 * util/i386/pc/grub-install.in: Likewise.
44411 * util/powerpc/ieee1275/grub-install.in: Likewise.
44412
44413 * util/update-grub_lib.in (font_path): Return system path without
44414 converting to GRUB path.
44415 * util/update-grub.in: Convert system path returned by font_path()
44416 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44417 abstraction module is needed for loading fonts (if any). Export
44418 that as `GRUB_PRELOAD_MODULES'.
44419 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44420 insmod commands).
44421
52bd3de9 444222008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44423
44424 Remove some unused code from reiserfs.
f19dbdb7 44425
52bd3de9 44426 * fs/reiserfs.c (struct grub_reiserfs_key)
44427 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44428 (struct grub_reiserfs_node_body): Removed.
44429 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44430 Likewise.
44431 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44432 Likewise.
44433 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44434 Likewise.
44435 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44436 Likewise.
44437 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44438 Likewise.
44439 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44440 Likewise.
44441 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44442 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44443 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44444
2f80039d 444452008-01-10 Robert Millan <rmh@aybabtu.com>
44446
44447 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44448 Determines if a file is garbage left by packaging systems, etc.
44449 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44450 for processing /etc/grub.d scripts.
44451 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44452 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44453 as a condition for processing Linux images.
44454
87888032 444552008-01-10 Pavel Roskin <proski@gnu.org>
44456
44457 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44458 to compile reiserfs.c on PowerPC.
44459
7e54fced 444602008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44461
44462 * kern/device.c (grub_device_iterate): Do not abort device iteration
44463 when one of the devices cannot be opened.
44464 * kern/disk.c (grub_disk_open): Do not account previous failures of
44465 unrelated functions when grub_errno is checked for.
44466
5aa541e6 444672008-01-08 Robert Millan <rmh@aybabtu.com>
44468
44469 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44470 `! grub_linux_is_bzimage', change order of address comparison to make
44471 it more intuitive, and improve "too big zImage" error message.
44472
7076340d 444732008-01-08 Robert Millan <rmh@aybabtu.com>
44474
44475 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44476 `$(update-grub_DATA)'.
44477 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44478 targets.
44479
9ca70333 444802008-01-07 Robert Millan <rmh@aybabtu.com>
44481
44482 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44483 which instruction is modified by grub-setup during installation
44484 (since it wasn't obvious by only looking at this file).
44485
38ccf575 444862008-01-07 Robert Millan <rmh@aybabtu.com>
44487
44488 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44489 listing actual TODO items.
44490
f5db4291 444912008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44492
868967cf 44493 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44494 correctly.
44495 (grub_reiserfs_get_key_offset): Likewise.
44496 (grub_reiserfs_set_key_offset): Likewise.
44497 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44498 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44499
44500 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44501 better to remove the bitfield version completely.
f19dbdb7 44502
868967cf 445032008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44504
f5db4291 44505 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44506 allocated from the heap, due to the fshelp implementation.
44507 (grub_reiserfs_dir): Free NODE, due to the same reason.
44508
492e6d9d 445092008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44510
44511 Mostly from Vincent Pelletier:
f19dbdb7 44512
492e6d9d 44513 * fs/reiserfs.c: New file.
f19dbdb7 44514
492e6d9d 44515 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44516 (reiserfs_mod_SOURCES): New variable.
44517 (reiserfs_mod_CFLAGS): Likewise.
44518 (reiserfs_mod_LDFLAGS): Likewise.
44519
44520 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44521 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44522 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44523 normal/color.c.
44524
9ce3e7c1 445252008-01-06 Robert Millan <rmh@aybabtu.com>
44526
44527 * normal/color.c: Remove `<grub/env.h>'.
44528
f3b58148 445292008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44530
44531 * include/grub/normal.h: Include <grub/env.h>.
44532
7ac3bcfa 445332008-01-05 Robert Millan <rmh@aybabtu.com>
44534
44535 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44536 usage example with `(hd0,1)'.
fb358190 44537 Reported by Samuel Thibault.
7ac3bcfa 44538
c8ee99d7 445392008-01-05 Robert Millan <rmh@aybabtu.com>
44540
44541 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44542 (grub_linux_boot_zimage): Rename to ...
44543 (grub_linux_boot): ... this.
44544 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44545 (grub_linux_boot_zimage): Conditionalize zImage copy.
44546
44547 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44548 (grub_linux_boot_bzimage): Remove prototype.
44549 (grub_linux_boot_zimage): Rename to ...
44550 (grub_linux_boot): ... this.
44551
44552 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44553 (grub_linux_boot): Remove function.
44554
0ece25b1 445552008-01-05 Robert Millan <rmh@aybabtu.com>
44556
44557 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44558 (grub_env_write_color_highlight): Likewise.
44559 (grub_wait_after_message): Likewise.
44560
44561 * normal/color.c: New file.
44562
44563 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44564 (normal_mod_DEPENDENCIES): Likewise.
44565
44566 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44567 (normal_mod_DEPENDENCIES): Likewise.
44568
44569 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44570 (normal_mod_DEPENDENCIES): Likewise.
44571
44572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44573 (normal_mod_DEPENDENCIES): Likewise.
44574
44575 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44576 for waiting after a message is printed.
44577 * normal/main.c (read_config_file): Likewise.
44578 (grub_normal_init): Register grub_env_write_color_normal() and
44579 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44580 `color_highlight' variables as global.
44581
44582 * normal/menu.c (grub_wait_after_message): New function.
44583 (grub_color_menu_normal): New variable. Replaces ...
44584 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44585 (grub_color_menu_highlight): New variable. Replaces ...
44586 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44587 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44588 `GRUB_TERM_COLOR_STANDARD'.
44589 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44590 `normal_code' and `highlight_code' to `old_color_normal' and
44591 `old_color_highlight', respectively.
44592 (grub_menu_init_page): Update colors when drawing the menu, based on
44593 `menu_color_normal' and `menu_color_highlight' variables.
44594 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44595 a message is printed.
44596
182dd4e5 445972008-01-05 Robert Millan <rmh@aybabtu.com>
44598
44599 * kern/env.c (grub_env_context_open): Propagate hooks for global
44600 variables to new context.
44601
44602 * kern/main.c (grub_set_root_dev): Export `root' variable.
44603
ddf8f6ad 446042008-01-05 Robert Millan <rmh@aybabtu.com>
44605
44606 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44607 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44608 them.
44609
d8b43d9b 446102008-01-05 Robert Millan <rmh@aybabtu.com>
44611
44612 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44613
2bff2de3 446142008-01-04 Christian Franke <franke@computer.org>
44615
44616 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44617 of eisa_mmap.
44618
97eab917 446192008-01-03 Pavel Roskin <proski@gnu.org>
44620
44621 * kern/i386/linuxbios/init.c: Put "void" to all function
44622 declarations with no arguments.
44623 * kern/powerpc/ieee1275/init.c: Likewise.
44624 * term/i386/pc/at_keyboard.c: Likewise.
44625 * term/i386/pc/vga_text.c: Likewise.
44626 * util/grub-mkdevicemap.c: Likewise.
44627
b9416d00 446282008-01-02 Robert Millan <rmh@aybabtu.com>
44629
44630 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44631 message when loaded image is out of bounds.
44632 (grub_multiboot_load_elf64): Likewise.
44633
92695df9 446342008-01-02 Pavel Roskin <proski@gnu.org>
44635
44636 * util/grub.d/10_linux.in: Try version without ".old" when
44637 looking for initrd. It's better to use initrd from the newer
44638 kernel of the same version than no initrd at all.
44639
d98d9cad 446402008-01-01 Robert Millan <rmh@aybabtu.com>
44641
44642 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44643
dbfdce36 446442008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44645
f19dbdb7 44646 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44647 grub_video_get_active_render_target.
44648 (grub_video_adapter): Added unmap_color and get_active_render_target.
44649
f19dbdb7 44650 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44651 grub_video_get_active_render_target.
44652 (grub_video_get_info): Changed method to accept NULL pointer as an
44653 argument to allow detection of active video adapter.
44654
44655 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44656 grub_video_vbe_unmap_color_int.
44657 Added grub_video_vbe_unmap_color and
44658 grub_video_vbe_get_active_render_target.
44659 (grub_video_vbe_adapter): Added unmap_color and
44660 get_active_render_target.
44661
f19dbdb7 44662 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44663 with grub_video_vbe_unmap_color_int.
44664
44665 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44666 (DEFAULT_NORMAL_COLOR): Likewise.
44667 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44668 (DEFAULT_FG_COLOR): Removed.
44669 (DEFAULT_BG_COLOR): Likewise.
44670 (DEFAULT_CURSOR_COLOR): Changed value.
44671 (grub_virtual_screen): Added standard_color_setting,
44672 normal_color_setting, highlight_color_setting and term_color.
44673 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44674 (bitmap_width): Added.
44675 (bitmap_height): Likewise.
44676 (bitmap): Likewise.
44677 (set_term_color): Likewise.
44678 (grub_virtual_screen_setup): Changed to use new terminal coloring
44679 settings.
44680 (grub_gfxterm_init): Added init for bitmap.
44681 (grub_gfxterm_fini): Added destroy for bitmap.
44682 (redraw_screen_rect): Updated to use background bitmap and new
44683 terminal coloring.
44684 (scroll_up): Added optimization for case when there is no bitmap.
44685 (grub_gfxterm_cls): Fixed to use correct background color.
44686 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44687 coloring.
44688 (grub_virtual_screen_setcolor): Likewise.
44689 (grub_virtual_screen_getcolor): Added.
44690 (grub_gfxterm_background_image_cmd): Likewise.
44691 (grub_video_term): Added setcolor and getcolor.
44692 (MOD_INIT): Added registration of background_image command.
44693 (MOD_TERM): Added unregistration for background_image command.
44694
c3c20931 446952007-12-30 Pavel Roskin <proski@gnu.org>
44696
44697 * loader/multiboot_loader.c: Fix multiboot command
44698 unregistration. Fix all typos in the word "multiboot".
44699
df266716 447002007-12-29 Pavel Roskin <proski@gnu.org>
94239199 44701
44702 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44703 support for initrd names used in Fedora.
44704
fc6e896c 447052007-12-26 Bean <bean123ch@gmail.com>
44706
44707 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44708 (cpio_mod_SOURCES): New variable.
44709 (cpio_mod_CFLAGS): Likewise.
44710 (cpio_mod_LDFLAGS): Likewise.
44711
44712 * fs/cpio.c: New file.
44713
44714 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44715
44716 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44717
44718 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44719
44720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44721
533110ad 447222007-12-25 Robert Millan <rmh@aybabtu.com>
44723
44724 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44725 (grub_getcolor): New function.
44726
44727 * kern/term.c (grub_getcolor): New function.
44728 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44729 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44730 (print_entry): Set normal and highlight colors to
44731 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44732 respectively, before printing and restore them to old
44733 values afterwards.
44734 (grub_menu_init_page): Likewise. Fill an additional colored space
44735 that would otherwise be left blank.
44736
44737 * term/efi/console.c (grub_console_getcolor): New function.
44738 (struct grub_console_term.getcolor): New variable.
44739 * term/i386/pc/console.c (grub_console_getcolor): New function.
44740 (struct grub_console_term.getcolor): New variable.
44741 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44742 (struct grub_console_term.getcolor): New variable.
44743
44744 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44745 (struct grub_console_term.setcolor): Remove variable.
44746 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44747 (struct grub_console_term.setcolor): Remove variable.
44748 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44749 (struct grub_console_term.setcolor): Remove variable.
44750 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44751 (struct grub_console_term.setcolor): Remove variable.
44752
4931827f 447532007-12-25 Robert Millan <rmh@aybabtu.com>
44754
44755 * configure.ac: Search for possible unifont.hex locations, and
44756 define UNIFONT_HEX if found.
44757
44758 * Makefile.in (UNIFONT_HEX): Define variable.
44759 (DATA): Rename to ...
44760 (PKGLIB): ... this. Update all users.
44761 (PKGDATA): New variable.
44762 (pkgdata_IMAGES): Rename to ...
44763 (pkglib_IMAGES): ... this. Update all users.
44764 (pkgdata_MODULES): Rename to ...
44765 (pkglib_MODULES): ... this. Update all users.
44766 (pkgdata_PROGRAMS): Rename to ...
44767 (pkglib_PROGRAMS): ... this. Update all users.
44768 (pkgdata_DATA): Rename to ...
44769 (pkglib_DATA): ... this. Update all users.
44770 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44771 (unicode.pff, ascii.pff): New rules.
44772 (all-local): Add `$(PKGDATA)' dependency.
44773 (install-local): Process `$(PKGDATA)'.
44774
44775 * util/update-grub_lib.in (font_path): Search for *.pff files in
44776 a few more locations, including `${pkgdata}'.
44777
57e57e31 447782007-12-23 Robert Millan <rmh@aybabtu.com>
44779
44780 Patch from Bean <bean123ch@gmail.com>:
44781 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44782 `size'.
44783
4bc72aa9 447842007-12-21 Bean <bean123ch@gmail.com>
44785
44786 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44787 (ntfscomp_mod_SOURCES): New variable.
44788 (ntfscomp_mod_CFLAGS): Likewise.
44789 (ntfscomp_mod_LDFLAGS): Likewise.
44790
44791 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44792 (grub_probe_SOURCES): Likewise.
44793 (grub_emu_SOURCES): Likewise.
44794
44795 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44796 (grub_emu_SOURCES): Likewise.
44797
44798 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44799 (grub_emu_SOURCES): Likewise.
44800
44801 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44802 (grub_emu_SOURCES): Likewise.
44803
44804 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44805 (read_run_list): Renamed to grub_ntfs_read_run_list.
44806 (decomp_nextvcn): Moved to ntfscomp.c.
44807 (decomp_getch): Likewise.
44808 (decomp_get16): Likewise.
44809 (decomp_block): Likewise.
44810 (read_block): Likewise.
44811 (read_data): Partially moved to ntfscomp.c.
44812 (fixup): Change unsigned to grub_uint16_t.
44813 (read_mft): Change unsigned long to grub_uint32_t.
44814 (read_attr): Likewise.
44815 (read_data): Likewise.
44816 (read_run_data): Likewise.
44817 (read_run_list): Likewise.
44818 (read_mft): Likewise.
44819
44820 * fs/ntfscomp.c: New file.
44821
44822 * include/grub/ntfs.h: New file.
44823
af680a87 448242007-12-16 Robert Millan <rmh@aybabtu.com>
44825
44826 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44827 IDE disk check, since Linux is known to support 20 IDE disks.
44828 Reported by Colin Watson.
44829
84be7599 448302007-12-15 Bean <bean123ch@gmail.com>
44831
44832 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44833 (lnxboot_img_SOURCES): New variable.
44834 (lnxboot_img_ASFLAGS): Likewise.
44835 (lnxboot_img_LDFLAGS): Likewise.
44836
44837 * boot/i386/pc/lnxboot.S: New file.
44838
6af9db01 448392007-11-24 Pavel Roskin <proski@gnu.org>
44840
44841 * configure.ac: Test if '--build-id=none' is supported by the
44842 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
44843 objcopy to generate incorrect binary files (binutils
44844 2.17.50.0.18-1 as shipped by Fedora 8).
44845 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
44846 linking, so that build ID doesn't break the test.
44847
7361cfe6 448482007-11-24 Pavel Roskin <proski@gnu.org>
44849
44850 * include/grub/i386/time.h: use "void" in the argument list
44851 of grub_cpu_idle().
44852 * include/grub/powerpc/time.h: Likewise.
44853 * include/grub/sparc64/time.h: Likewise.
44854
1593e10c 448552007-11-18 Christian Franke <franke@computer.org>
44856
44857 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
44858 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
44859 This fixes the problem that function keys did not work in grub-emu.
44860
3b8db1a8 448612007-11-18 Christian Franke <franke@computer.org>
44862
44863 * disk/host.c (grub_host_open): Remove attribute unused from
44864 name parameter. Add check for "host". This fixes the problem
44865 that grub-emu does not find partitions.
44866
2e29408d 448672007-11-18 Christian Franke <franke@computer.org>
44868
44869 * util/hostfs.c (is_dir): New function.
44870 (grub_hostfs_dir): Handle missing dirent.d_type case.
44871 (grub_hostfs_read): Add missing fseek().
44872 (grub_hostfs_label): Clear label pointer. This fixes a crash
44873 of grub-emu on "ls (host)".
44874
398cd047 448752007-11-18 Christian Franke <franke@computer.org>
44876
44877 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
44878 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
44879 to 64 bit boundary by default.
44880
c405c391 448812007-11-18 Bean <bean123ch@gmail.com>
44882
44883 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
44884 (hexdump_mod_SOURCES): New variable.
44885 (hexdump_mod_CFLAGS): Likewise.
44886 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 44887
c405c391 44888 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44889
44890 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44891
44892 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44893
44894 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44895
44896 * include/grub/hexdump.h: New file.
44897
44898 * commands/hexdump.c: New file.
44899
5cced7fd 449002007-11-10 Robert Millan <rmh@aybabtu.com>
44901
44902 * commands/i386/pc/play.c (beep_off): Switch order of arguments
44903 in grub_outb() calls.
44904 (beep_on): Likewise.
44905
8b714eb0 449062007-11-10 Christian Franke <franke@computer.org>
44907
44908 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
44909 (grub_menu_run): Likewise.
44910
ce0f1839 449112007-11-10 Robert Millan <rmh@aybabtu.com>
44912
44913 * include/grub/i386/efi/machine.h: New file.
44914 * include/grub/i386/linuxbios/machine.h: Likewise.
44915 * include/grub/i386/pc/machine.h: Likewise.
44916 * include/grub/powerpc/ieee1275/machine.h: Likewise.
44917 * include/grub/sparc64/ieee1275/machine.h: Likewise.
44918
44919 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
44920 (serial_hw_io_addr): New variable.
44921 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
44922 instead of `(unsigned short *) 0x400'.
44923
270c237d 449242007-11-10 Bean <bean123ch@gmail.com>
44925
44926 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
44927
a87783bf 449282007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44929
44930 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
44931 (vga_mod_SOURCES): Added.
44932 (vga_mod_CFLAGS): Likewise.
44933 (vga_mod_LDFLAGS): Likewise.
44934
44935 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
44936 grub_outb() calls.
44937 (set_map_mask): Likewise.
44938 (set_read_map): Likewise.
44939 (set_read_address): Likewise.
44940 (vga_font): Removed variable.
44941 (get_vga_glyph): Removed function.
44942 (invalidate_char): Likewise.
44943 (write_char): Changed to use grub_font_get_glyph() for font
44944 information.
44945 (grub_vga_putchar): Likewise.
44946 (grub_vga_getcharwidth): Likewise.
44947
6433b448 449482007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44949
44950 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
44951 flags.
44952 (pxeboot_img_LDFLAGS): Likewise.
44953 (diskboot_img_LDFLAGS): Likewise.
44954 (kernel_img_LDFLAGS): Likewise.
44955
49178511 449562007-11-06 Robert Millan <rmh@aybabtu.com>
44957
44958 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
44959 in grub_outb() calls.
44960 (serial_hw_init): Likewise.
44961
53b052de 449622007-11-05 Robert Millan <rmh@aybabtu.com>
44963
44964 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
44965 spaces. Skip non-regular files.
44966
5ab33bba 449672007-11-05 Robert Millan <rmh@aybabtu.com>
44968
44969 * kern/disk.c (grub_disk_firmware_fini)
44970 (grub_disk_firmware_is_tainted): New variables.
44971
44972 * include/grub/disk.h (grub_disk_firmware_fini)
44973 (grub_disk_firmware_is_tainted): Likewise.
44974
44975 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
44976 (grub_disk_biosdisk_fini): ... to here.
44977 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
44978 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
44979 is set. Register grub_disk_biosdisk_fini() in
44980 `grub_disk_firmware_fini'.
44981
44982 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
44983 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
44984 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
44985 to finish existing firmware disk interface.
44986
44987 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
44988 (ata_mod_SOURCES): New variable.
44989 (ata_mod_CFLAGS): Likewise.
44990 (ata_mod_LDFLAGS): Likewise.
44991
0149ab7c 449922007-11-05 Robert Millan <rmh@aybabtu.com>
44993
44994 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
44995 (grub_ata_wait): Reimplement using grub_millisleep().
44996
44997 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
44998 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
44999
be7ac41e 450002007-11-03 Marco Gerards <marco@gnu.org>
45001
45002 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45003 (CRTC_ADDR_PORT): New macro.
45004 (CRTC_DATA_PORT): Likewise.
45005 (CRTC_CURSOR): Likewise.
45006 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45007 (CRTC_CURSOR_ADDR_LOW): Likewise.
45008 (update_cursor): New function.
45009 (grub_console_real_putchar): Call `update_cursor'.
45010 (grub_console_gotoxy): Likewise.
45011 (grub_console_cls): Set the default color when clearing the
45012 screen.
45013 (grub_console_setcursor): Implemented.
45014
bb06ab2e 450152007-11-03 Marco Gerards <marco@gnu.org>
45016
45017 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45018 become activate.
45019 (grub_ata_pio_write): Likewise.
45020
45021 (grub_atapi_identify): Wait after issuing an ATA command.
45022 (grub_atapi_packet): Likewise.
45023 (grub_ata_identify): Likewise.
45024 (grub_ata_readwrite): Likewise.
45025
cf8f780b 450262007-11-03 Marco Gerards <marco@gnu.org>
45027
45028 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45029 (grub_ata_pio_write): Likewise.
45030 (grub_ata_readwrite): Use `grub_error', instead of
45031 returning `grub_errno'.
45032
ed649e54 450332007-11-03 Marco Gerards <marco@gnu.org>
45034
45035 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45036 grub_ata_pio_write once for every single sector, instead of for
45037 multiple sectors.
45038
ca25d8f0 450392007-10-31 Robert Millan <rmh@aybabtu.com>
45040
45041 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45042
45043 * conf/i386-linuxbios.rmk: New file.
45044
45045 * kern/i386/pc/hardware.c: Likewise.
45046 * term/i386/pc/at_keyboard.c: Likewise.
45047 * term/i386/pc/vga_text.c: Likewise.
45048
45049 * include/grub/i386/linuxbios/boot.h: Likewise.
45050 * include/grub/i386/linuxbios/console.h: Likewise.
45051 * include/grub/i386/linuxbios/init.h: Likewise.
45052 * include/grub/i386/linuxbios/kernel.h: Likewise.
45053 * include/grub/i386/linuxbios/loader.h: Likewise.
45054 * include/grub/i386/linuxbios/memory.h: Likewise.
45055 * include/grub/i386/linuxbios/serial.h: Likewise.
45056 * include/grub/i386/linuxbios/time.h: Likewise.
45057
45058 * kern/i386/linuxbios/init.c: Likewise.
45059 * kern/i386/linuxbios/startup.S: Likewise.
45060 * kern/i386/linuxbios/table.c: Likewise.
45061
e911ecc1 450622007-10-31 Marco Gerards <marco@gnu.org>
45063
45064 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45065 (ata_mod_SOURCES): New variable.
45066 (ata_mod_CFLAGS): Likewise.
45067 (ata_mod_LDFLAGS): Likewise.
45068
45069 * disk/ata.c: New file.
45070
45071 * include/grub/disk.h (grub_disk_dev_id): Add
45072 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45073
7f66d0e0 450742007-10-31 Robert Millan <rmh@aybabtu.com>
45075
45076 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45077 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45078
45079 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45080 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45081
45082 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45083 `<grub/types.h>'.
45084
45085 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45086
5cd7dd46 450872007-10-27 Robert Millan <rmh@aybabtu.com>
45088
3236ca65 45089 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45090
2ebfc90f 450912007-10-22 Robert Millan <rmh@aybabtu.com>
45092
45093 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45094 `"../realmode.S"'.
45095 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45096
73fcb0f3 450972007-10-22 Robert Millan <rmh@aybabtu.com>
45098
45099 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45100 (pkgdata_MODULES): Add `biosdisk.mod'.
45101 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45102 variables.
45103
45104 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45105 (grub_biosdisk_init): Replace with ...
45106 (GRUB_MOD_INIT(biosdisk)): ... this.
45107 (grub_biosdisk_fini): Replace with ...
45108 (GRUB_MOD_FINI(biosdisk)): ... this.
45109
45110 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45111 (grub_machine_init): Remove call to grub_biosdisk_init().
45112 (grub_machine_fini): Remove call to grub_machine_fini().
45113
45114 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45115
3381d274 451162007-10-22 Robert Millan <rmh@aybabtu.com>
45117
45118 * include/grub/time.h: New file.
45119 * include/grub/i386/time.h: Likewise.
45120 * include/grub/powerpc/time.h: Likewise.
45121 * include/grub/sparc64/time.h: Likewise.
45122
45123 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45124 instances to ...
45125 (KERNEL_MACHINE_TIME_HEADER): ... this.
45126 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45127 instances to ...
45128 (KERNEL_MACHINE_TIME_HEADER): ... this.
45129 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45130 instances to ...
45131 (KERNEL_MACHINE_TIME_HEADER): ... this.
45132
45133 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45134 (grub_millisleep): New function.
45135 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45136 (grub_millisleep): New function.
45137 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45138 Remove `grub/machine/time.h' include.
45139 (grub_millisleep): New function.
45140 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45141 Remove `grub/machine/time.h' include.
45142 (grub_millisleep): New function.
45143
45144 * include/grub/misc.h (grub_div_roundup): New function.
45145
45146 * kern/misc.c: Include `<grub/time.h>'.
45147 (grub_millisleep_generic): New function.
45148
45149 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45150 Add `time.h'.
45151 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45152 Add `time.h'.
45153 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45154 `machine/time.h'. Add `time.h'.
45155 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45156
a39a0312 451572007-10-21 Robert Millan <rmh@aybabtu.com>
45158
45159 * include/grub/misc.h (grub_max): New function.
45160
2aad70e2 451612007-10-21 Robert Millan <rmh@aybabtu.com>
45162
45163 * util/misc.c (grub_util_info): Call fflush() before returning.
45164
54b71c4b 451652007-10-20 Robert Millan <rmh@aybabtu.com>
45166
45167 * genmk.rb (Image): Copy `extra_flags' from here ...
45168 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45169
45170 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45171 to `argc' and `args' arguments.
45172
a979f513 451732007-10-17 Robert Millan <rmh@aybabtu.com>
45174
45175 * kern/i386/loader.S: New file.
45176
45177 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45178 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45179 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45180 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45181 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45182 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45183 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45184 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45185 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45186 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45187 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45188 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45189 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45190 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45191
45192 * kern/i386/realmode.S: New file.
45193
45194 * kern/i386/pc/startup.S (protstack): Moved from here ...
45195 * kern/i386/realmode.S (protstack)... to here.
45196 * kern/i386/pc/startup.S (gdt): Moved from here ...
45197 * kern/i386/realmode.S (gdt)... to here.
45198 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45199 * kern/i386/realmode.S (prot_to_real)... to here.
45200
45201 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45202 `kern/i386/realmode.S'.
45203
825fc8fd 452042007-10-17 Robert Millan <rmh@aybabtu.com>
45205
45206 * include/grub/i386/loader.h: New file.
45207
45208 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45209 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45210 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45211 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45212 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45213 * include/grub/i386/loader.h (grub_linux_prot_size)
45214 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45215 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45216 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45217 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45218
45219 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45220
e179b2f4 452212007-10-15 Robert Millan <rmh@aybabtu.com>
45222
45223 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45224 filesystem when dev->disk is unset.
45225 Do probe for filesystem even when dev->disk->has_partitions is set.
45226 In case a filesystem is found, always report it.
45227 In case it isn't, if dev->disk->has_partitions is set, report that
45228 a partition table was found instead of reporting that no filesystem
45229 could be identified.
45230
5db82af6 452312007-10-12 Robert Millan <rmh@aybabtu.com>
45232
45233 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45234 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45235
68f6ac74 45236 * include/grub/types.h (grub_host_to_target16): New macro.
45237 (grub_host_to_target32): Likewise.
45238 (grub_host_to_target64): Likewise.
45239 (grub_target_to_host16): Likewise.
45240 (grub_target_to_host32): Likewise.
45241 (grub_target_to_host64): Likewise.
5db82af6 45242
45243 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45244 Renamed from to ...
45245 (GRUB_MOD_ALIGN): ...this. Update all users.
45246
68f6ac74 45247 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45248 grub_host_to_target32.
45249 Replace grub_be_to_cpu32 with grub_target_to_host32.
45250 (load_modules): Likewise.
45251 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45252 Replace grub_be_to_cpu32 with grub_target_to_host32.
45253 Replace grub_cpu_to_be16 with grub_host_to_target16.
45254 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45255
3cf497cc 452562007-10-12 Robert Millan <rmh@aybabtu.com>
45257
45258 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45259 * util/elf/grub-mkimage.c: ... here.
45260
45261 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45262 `util/powerpc/ieee1275/grub-mkimage.c'.
45263
c8cc3692 452642007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45265
c8cc3692 45266 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45267 and make it easier to figure out.
45268 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45269 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45270 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45271 leave us with less than HEAP_MIN_SIZE total heap.
45272 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45273
5c58b791 452742007-10-03 Robert Millan <rmh@aybabtu.com>
45275
45276 * include/grub/i386/io.h: New file.
45277 * commands/i386/pc/play.c (inb): Removed.
45278 (outb): Removed.
45279 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45280 with grub_outb().
afcd2ef8 45281 * term/i386/pc/serial.c (inb): Removed.
45282 (outb): Removed.
45283 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45284 with grub_outb().
45285 * term/i386/pc/vga.c (inb): Removed.
45286 (outb): Removed.
45287 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45288 with grub_outb().
5c58b791 45289
1a477ed6 452902007-10-02 Robert Millan <rmh@aybabtu.com>
45291
45292 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45294 Reported by Marcin Kurek.
45295
6b5d80fa 452962007-09-07 Robert Millan <rmh@aybabtu.com>
45297
45298 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45299 SmartFirmware version updates (as released by Sven Luther), and avoid
45300 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45301 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45302 known broken.
45303
5618afbf 453042007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45305
45306 From Hitoshi Ozeki:
45307 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45308 when merging two regions.
45309
6139dcd9 453102007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45311
508e39ee 45312 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45313 * normal/completion.c (grub_normal_do_completion): Likewise.
45314 Reported by Hitoshi Ozeki.
45315
453162007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45317
6139dcd9 45318 Do not use devices at boot in chainloading.
f19dbdb7 45319
6139dcd9 45320 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45321 (boot_part_addr): Likewise.
45322 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45323 with BOOT_DRIVE and BOOT_PART_ADDR.
45324 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45325 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45326
38da6516 453272007-08-29 Robert Millan <rmh@aybabtu.com>
45328
45329 Patch from Simon Peter <dn.tlp@gmx.net>:
45330 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45331 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45332 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45333 util/i386/pc/grub-setup.c_DEPENDENCIES.
45334 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45335 util/grub-probe.c_DEPENDENCIES.
45336 * conf/powerpc-ieee1275.rmk: Likewise.
45337
29d0928c 453382007-08-28 Robert Millan <rmh@aybabtu.com>
45339
45340 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45341 to tell grub-mkdevicemap how to name devices.
45342 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45343 feature).
45344
45345 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45346 util/i386/get_disk_name.c.
45347 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45348 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45349 util/ieee1275/get_disk_name.c.
45350
45351 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45352
45353 * DISTLIST: Add util/i386/get_disk_name.c and
45354 util/ieee1275/get_disk_name.c.
45355
45356 * util/grub-mkdevicemap.c: Replace device naming logic with
45357 grub_util_get_disk_name() calls.
45358
5a0d3cca 453592007-08-20 Robert Millan <rmh@aybabtu.com>
45360
45361 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45362 (so that it works for both plural and singular quantities).
45363
8b72db2f 453642007-08-05 Robert Millan <rmh@aybabtu.com>
45365
45366 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45367 so that [xz] isn't taken into account when determining order.
45368
352466bf 453692007-08-02 Marco Gerards <marco@gnu.org>
45370
45371 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45372 `include/multiboot2.h', `include/grub/elfload.h',
45373 `include/multiboot.h', `include/grub/multiboot.h',
45374 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45375 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45376 `kern/elf.c', `loader/multiboot_loader.c',
45377 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45378 `loader/i386/pc/multiboot2.c',
45379 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45380 `util/i386/pc/grub-mkrescue.in'. Remove
45381 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45382 `include/grub/i386/pc/util/biosdisk.h' and
45383 `include/grub/powerpc/ieee1275/multiboot.h'.
45384
8f096014 453852007-08-02 Bean <bean123ch@gmail.com>
45386
45387 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45388 (ntfs_mod_SOURCES): New variable.
45389 (ntfs_mod_CFLAGS): Likewise.
45390 (ntfs_mod_LDFLAGS): Likewise.
45391
45392 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45393 (grub_probe_SOURCES): Likewise.
45394 (grub_emu_SOURCES): Likewise.
45395
45396 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45397 (grub_emu_SOURCES): Likewise.
45398
45399 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45400 (grub_emu_SOURCES): Likewise.
f19dbdb7 45401
8f096014 45402 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45403
45404 * fs/ntfs.c: New file.
45405
9959f7db 454062007-08-02 Bean <bean123ch@gmail.com>
45407
45408 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45409
45410 * file.h (grub_file): Likewise.
45411
45412 * fshelp.h (grub_fshelp_read_file): Likewise.
45413
45414 * util/i386/pc/grub-setup.c (setup): Likewise.
45415 (save_first_sector): Likewise.
45416 (save_blocklists): Likewise.
f19dbdb7 45417
9959f7db 45418 * fs/affs.c (grub_affs_read_file): Likewise.
45419
45420 * fs/ext2.c (grub_ext2_read_file): Likewise.
45421
45422 * fs/fat.c (grub_fat_read_data): Likewise.
45423
45424 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45425
45426 * fs/hfs.c (grub_hfs_read_file): Likewise.
45427
45428 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45429
45430 * fs/jfs.c (grub_jfs_read_file): Likewise.
45431
45432 * fs/minix.c (grub_minix_read_file): Likewise.
45433
45434 * fs/sfs.c (grub_sfs_read_file): Likewise.
45435
45436 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45437
9959f7db 45438 * fs/xfs.c (grub_xfs_read_file): Likewise.
45439
45440 * command/blocklist.c (read_blocklist): Likewise.
45441 (print_blocklist): Likewise.
45442
0a203f83 454432007-08-02 Marco Gerards <marco@gnu.org>
45444
45445 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45446 `util/hostfs.c'.
45447
45448 * disk/host.c: New file.
45449
45450 * util/hostfs.c: Likewise.
45451
45452 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45453 return `GRUB_ERR_BAD_FS'.
45454 * fs/sfs.c (grub_sfs_mount): Likewise.
45455 * fs/xfs.c (grub_xfs_mount): Likewise.
45456
45457 * include/grub/disk.h (enum grub_disk_dev_id): Add
45458 `GRUB_DISK_DEVICE_HOST_ID'.
45459
45460 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45461
e5dfe777 454622007-07-24 Jerone Young <jerone@gmail.com>
45463
f19dbdb7 45464 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45465 modules for compilation.
45466 * conf/powerpc-ieee1275.rmk: Likewise.
45467
45468 * include/multiboot.h: Move multiboot definitions to one file. Rename
45469 many definitions to not get grub specific.
45470 * include/multiboot2.h: Create header with multiboot 2 definitions.
45471 * include/grub/multiboot.h: Header for grub specific function
45472 prototypes and definitions.
45473 * include/grub/multiboot2.h: Likewise.
45474 * include/grub/multiboot_loader.h: Likewise.
45475 * include/grub/i386/pc/multiboot.h: Removed.
45476 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45477
45478 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45479 and 2 to allow for one multiboot and module commands.
45480 * loader/multiboot2.c: Add multiboot2 functionality.
45481 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45482 and definition names.
45483 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45484 2 functions.
45485 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45486 ieee1275 specific multiboot2 code.
45487
45488 * kern/i386/pc/startup.S: Change headers and definition names for
45489 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45490
daf0f0ba 454912007-07-22 Robert Millan <rmh@aybabtu.com>
45492
45493 * geninitheader.sh: Process file specified in first parameter rather
45494 than hardcoding grub_modules_init.lst.
fe6b695a 45495 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45496 than hardcoding grub_modules_init.h.
45497
45498 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45499 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45500 grub_probe_init.[ch] and grub_setup_init.[ch].
45501
45502 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45503 grub_modules_init.h with grub_emu_init.h.
45504 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45505 grub_probe_init.[ch] files.
45506 * conf/i386-efi.rmk: Likewise.
45507 * conf/i386-pc.rmk: Likewise.
45508 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45509 grub_setup_init.[ch] files.
45510
45511 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45512 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45513 to initialize modules rather than a list of hardcoded functions.
45514 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45515 grub_init_all() to initialize modules rather than a list of hardcoded
45516 functions.
45517
54cdc1cc 455182007-07-22 Robert Millan <rmh@aybabtu.com>
45519
45520 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45521 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45522
ad0686cc 455232007-07-22 Robert Millan <rmh@aybabtu.com>
45524
45525 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45526 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45527 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45528 flag when running on SmartFirmware.
45529 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45530 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45531 was set.
45532
45533 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45534 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45535 rather than decreasing it.
45536
45537 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45538 there's not enough space to do it, fail in the same way as when it
45539 can't be done because there are no partitions.
45540
45541 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45542 when nvsetenv failed.
45543
969c02ec 455442007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45545
45546 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45547 because this rule is automatically generated.
45548 (grub-mkrescue): Removed for the same reason as above.
45549
5a79f472 455502007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45551
45552 Migrate to GNU General Public License Version 3.
f19dbdb7 45553
5a79f472 45554 * COPYING: Replaced with the plain text version of GPLv3.
45555
45556 * config.guess: Updated from gnulib.
45557 * config.sub: Likewise.
45558
45559 * geninit.sh: Output a GPLv3 copyright notice.
45560 * geninitheader.sh: Likewise.
45561 * genmodsrc.sh: Likewise.
45562 * gensymlist.sh.in: Likewise.
45563
45564 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45565 * boot/i386/pc/diskboot.S: Likewise.
45566 * boot/i386/pc/pxeboot.S: Likewise.
45567 * commands/blocklist.c: Likewise.
45568 * commands/boot.c: Likewise.
45569 * commands/cat.c: Likewise.
45570 * commands/cmp.c: Likewise.
45571 * commands/configfile.c: Likewise.
45572 * commands/echo.c: Likewise.
45573 * commands/help.c: Likewise.
45574 * commands/ls.c: Likewise.
45575 * commands/search.c: Likewise.
45576 * commands/terminal.c: Likewise.
45577 * commands/test.c: Likewise.
45578 * commands/videotest.c: Likewise.
45579 * commands/i386/cpuid.c: Likewise.
45580 * commands/i386/pc/halt.c: Likewise.
45581 * commands/i386/pc/play.c: Likewise.
45582 * commands/i386/pc/reboot.c: Likewise.
45583 * commands/i386/pc/vbeinfo.c: Likewise.
45584 * commands/i386/pc/vbetest.c: Likewise.
45585 * commands/ieee1275/halt.c: Likewise.
45586 * commands/ieee1275/reboot.c: Likewise.
45587 * commands/ieee1275/suspend.c: Likewise.
45588 * disk/loopback.c: Likewise.
45589 * disk/lvm.c: Likewise.
45590 * disk/raid.c: Likewise.
45591 * disk/efi/efidisk.c: Likewise.
45592 * disk/i386/pc/biosdisk.c: Likewise.
45593 * disk/ieee1275/ofdisk.c: Likewise.
45594 * font/manager.c: Likewise.
45595 * fs/affs.c: Likewise.
45596 * fs/ext2.c: Likewise.
45597 * fs/fat.c: Likewise.
45598 * fs/fshelp.c: Likewise.
45599 * fs/hfs.c: Likewise.
45600 * fs/hfsplus.c: Likewise.
45601 * fs/iso9660.c: Likewise.
45602 * fs/jfs.c: Likewise.
45603 * fs/minix.c: Likewise.
45604 * fs/sfs.c: Likewise.
45605 * fs/ufs.c: Likewise.
45606 * fs/xfs.c: Likewise.
45607 * hello/hello.c: Likewise.
45608 * include/grub/acorn_filecore.h: Likewise.
45609 * include/grub/arg.h: Likewise.
45610 * include/grub/bitmap.h: Likewise.
45611 * include/grub/boot.h: Likewise.
45612 * include/grub/cache.h: Likewise.
45613 * include/grub/device.h: Likewise.
45614 * include/grub/disk.h: Likewise.
45615 * include/grub/dl.h: Likewise.
45616 * include/grub/elfload.h: Likewise.
45617 * include/grub/env.h: Likewise.
45618 * include/grub/err.h: Likewise.
45619 * include/grub/file.h: Likewise.
45620 * include/grub/font.h: Likewise.
45621 * include/grub/fs.h: Likewise.
45622 * include/grub/fshelp.h: Likewise.
45623 * include/grub/gzio.h: Likewise.
45624 * include/grub/hfs.h: Likewise.
45625 * include/grub/kernel.h: Likewise.
45626 * include/grub/loader.h: Likewise.
45627 * include/grub/lvm.h: Likewise.
45628 * include/grub/misc.h: Likewise.
45629 * include/grub/mm.h: Likewise.
45630 * include/grub/net.h: Likewise.
45631 * include/grub/normal.h: Likewise.
45632 * include/grub/parser.h: Likewise.
45633 * include/grub/partition.h: Likewise.
45634 * include/grub/pc_partition.h: Likewise.
45635 * include/grub/raid.h: Likewise.
45636 * include/grub/rescue.h: Likewise.
45637 * include/grub/script.h: Likewise.
45638 * include/grub/setjmp.h: Likewise.
45639 * include/grub/symbol.h: Likewise.
45640 * include/grub/term.h: Likewise.
45641 * include/grub/terminfo.h: Likewise.
45642 * include/grub/tparm.h: Likewise.
45643 * include/grub/types.h: Likewise.
45644 * include/grub/video.h: Likewise.
45645 * include/grub/efi/api.h: Likewise.
45646 * include/grub/efi/chainloader.h: Likewise.
45647 * include/grub/efi/console.h: Likewise.
45648 * include/grub/efi/console_control.h: Likewise.
45649 * include/grub/efi/disk.h: Likewise.
45650 * include/grub/efi/efi.h: Likewise.
45651 * include/grub/efi/pe32.h: Likewise.
45652 * include/grub/efi/time.h: Likewise.
45653 * include/grub/i386/linux.h: Likewise.
45654 * include/grub/i386/setjmp.h: Likewise.
45655 * include/grub/i386/types.h: Likewise.
45656 * include/grub/i386/efi/kernel.h: Likewise.
45657 * include/grub/i386/efi/loader.h: Likewise.
45658 * include/grub/i386/efi/time.h: Likewise.
45659 * include/grub/i386/pc/biosdisk.h: Likewise.
45660 * include/grub/i386/pc/boot.h: Likewise.
45661 * include/grub/i386/pc/chainloader.h: Likewise.
45662 * include/grub/i386/pc/console.h: Likewise.
45663 * include/grub/i386/pc/init.h: Likewise.
45664 * include/grub/i386/pc/kernel.h: Likewise.
45665 * include/grub/i386/pc/loader.h: Likewise.
45666 * include/grub/i386/pc/memory.h: Likewise.
45667 * include/grub/i386/pc/multiboot.h: Likewise.
45668 * include/grub/i386/pc/serial.h: Likewise.
45669 * include/grub/i386/pc/time.h: Likewise.
45670 * include/grub/i386/pc/vbe.h: Likewise.
45671 * include/grub/i386/pc/vbeblit.h: Likewise.
45672 * include/grub/i386/pc/vbefill.h: Likewise.
45673 * include/grub/i386/pc/vbeutil.h: Likewise.
45674 * include/grub/i386/pc/vga.h: Likewise.
45675 * include/grub/ieee1275/ieee1275.h: Likewise.
45676 * include/grub/ieee1275/ofdisk.h: Likewise.
45677 * include/grub/powerpc/libgcc.h: Likewise.
45678 * include/grub/powerpc/setjmp.h: Likewise.
45679 * include/grub/powerpc/types.h: Likewise.
45680 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45681 * include/grub/powerpc/ieee1275/console.h: Likewise.
45682 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45683 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45684 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45685 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45686 * include/grub/powerpc/ieee1275/time.h: Likewise.
45687 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45688 * include/grub/sparc64/libgcc.h: Likewise.
45689 * include/grub/sparc64/setjmp.h: Likewise.
45690 * include/grub/sparc64/types.h: Likewise.
45691 * include/grub/sparc64/ieee1275/console.h: Likewise.
45692 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45693 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45694 * include/grub/sparc64/ieee1275/time.h: Likewise.
45695 * include/grub/util/biosdisk.h: Likewise.
45696 * include/grub/util/getroot.h: Likewise.
45697 * include/grub/util/lvm.h: Likewise.
45698 * include/grub/util/misc.h: Likewise.
45699 * include/grub/util/raid.h: Likewise.
45700 * include/grub/util/resolve.h: Likewise.
45701 * io/gzio.c: Likewise.
45702 * kern/device.c: Likewise.
45703 * kern/disk.c: Likewise.
45704 * kern/dl.c: Likewise.
45705 * kern/elf.c: Likewise.
45706 * kern/env.c: Likewise.
45707 * kern/err.c: Likewise.
45708 * kern/file.c: Likewise.
45709 * kern/fs.c: Likewise.
45710 * kern/loader.c: Likewise.
45711 * kern/main.c: Likewise.
45712 * kern/misc.c: Likewise.
45713 * kern/mm.c: Likewise.
45714 * kern/parser.c: Likewise.
45715 * kern/partition.c: Likewise.
45716 * kern/rescue.c: Likewise.
45717 * kern/term.c: Likewise.
45718 * kern/efi/efi.c: Likewise.
45719 * kern/efi/init.c: Likewise.
45720 * kern/efi/mm.c: Likewise.
45721 * kern/i386/dl.c: Likewise.
45722 * kern/i386/efi/init.c: Likewise.
45723 * kern/i386/efi/startup.S: Likewise.
45724 * kern/i386/pc/init.c: Likewise.
45725 * kern/i386/pc/lzo1x.S: Likewise.
45726 * kern/i386/pc/startup.S: Likewise.
45727 * kern/ieee1275/ieee1275.c: Likewise.
45728 * kern/powerpc/cache.S: Likewise.
45729 * kern/powerpc/dl.c: Likewise.
45730 * kern/powerpc/ieee1275/cmain.c: Likewise.
45731 * kern/powerpc/ieee1275/crt0.S: Likewise.
45732 * kern/powerpc/ieee1275/init.c: Likewise.
45733 * kern/powerpc/ieee1275/openfw.c: Likewise.
45734 * kern/sparc64/cache.S: Likewise.
45735 * kern/sparc64/dl.c: Likewise.
45736 * kern/sparc64/ieee1275/init.c: Likewise.
45737 * kern/sparc64/ieee1275/openfw.c: Likewise.
45738 * loader/efi/chainloader.c: Likewise.
45739 * loader/efi/chainloader_normal.c: Likewise.
45740 * loader/i386/efi/linux.c: Likewise.
45741 * loader/i386/efi/linux_normal.c: Likewise.
45742 * loader/i386/pc/chainloader.c: Likewise.
45743 * loader/i386/pc/chainloader_normal.c: Likewise.
45744 * loader/i386/pc/linux.c: Likewise.
45745 * loader/i386/pc/linux_normal.c: Likewise.
45746 * loader/i386/pc/multiboot.c: Likewise.
45747 * loader/i386/pc/multiboot_normal.c: Likewise.
45748 * loader/powerpc/ieee1275/linux.c: Likewise.
45749 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45750 * normal/arg.c: Likewise.
45751 * normal/cmdline.c: Likewise.
45752 * normal/command.c: Likewise.
45753 * normal/completion.c: Likewise.
45754 * normal/execute.c: Likewise.
45755 * normal/function.c: Likewise.
45756 * normal/lexer.c: Likewise.
45757 * normal/main.c: Likewise.
45758 * normal/menu.c: Likewise.
45759 * normal/menu_entry.c: Likewise.
45760 * normal/misc.c: Likewise.
45761 * normal/parser.y: Likewise.
45762 * normal/script.c: Likewise.
45763 * normal/i386/setjmp.S: Likewise.
45764 * normal/powerpc/setjmp.S: Likewise.
45765 * normal/sparc64/setjmp.S: Likewise.
45766 * partmap/acorn.c: Likewise.
45767 * partmap/amiga.c: Likewise.
45768 * partmap/apple.c: Likewise.
45769 * partmap/gpt.c: Likewise.
45770 * partmap/pc.c: Likewise.
45771 * partmap/sun.c: Likewise.
45772 * term/gfxterm.c: Likewise.
45773 * term/terminfo.c: Likewise.
45774 * term/efi/console.c: Likewise.
45775 * term/i386/pc/console.c: Likewise.
45776 * term/i386/pc/serial.c: Likewise.
45777 * term/i386/pc/vesafb.c: Likewise.
45778 * term/i386/pc/vga.c: Likewise.
45779 * term/ieee1275/ofconsole.c: Likewise.
45780 * util/biosdisk.c: Likewise.
45781 * util/console.c: Likewise.
45782 * util/genmoddep.c: Likewise.
45783 * util/getroot.c: Likewise.
45784 * util/grub-emu.c: Likewise.
45785 * util/grub-mkdevicemap.c: Likewise.
45786 * util/grub-probe.c: Likewise.
45787 * util/lvm.c: Likewise.
45788 * util/misc.c: Likewise.
45789 * util/raid.c: Likewise.
45790 * util/resolve.c: Likewise.
45791 * util/update-grub.in: Likewise.
45792 * util/update-grub_lib.in: Likewise.
45793 * util/grub.d/00_header.in: Likewise.
45794 * util/grub.d/10_hurd.in: Likewise.
45795 * util/grub.d/10_linux.in: Likewise.
45796 * util/i386/efi/grub-install.in: Likewise.
45797 * util/i386/efi/grub-mkimage.c: Likewise.
45798 * util/i386/pc/grub-install.in: Likewise.
45799 * util/i386/pc/grub-mkimage.c: Likewise.
45800 * util/i386/pc/grub-mkrescue.in: Likewise.
45801 * util/i386/pc/grub-setup.c: Likewise.
45802 * util/i386/pc/misc.c: Likewise.
45803 * util/powerpc/ieee1275/grub-install.in: Likewise.
45804 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45805 * util/powerpc/ieee1275/misc.c: Likewise.
45806 * video/bitmap.c: Likewise.
45807 * video/video.c: Likewise.
45808 * video/i386/pc/vbe.c: Likewise.
45809 * video/i386/pc/vbeblit.c: Likewise.
45810 * video/i386/pc/vbefill.c: Likewise.
45811 * video/i386/pc/vbeutil.c: Likewise.
45812 * video/readers/tga.c: Likewise.
45813
3572d015 458142007-07-02 Robert Millan <rmh@aybabtu.com>
45815
45816 * conf/i386-efi.rmk: Replace obsolete reference to
45817 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45818 with util/getroot.c.
45819 * conf/powerpc-ieee1275.rmk: Likewise.
45820 * conf/sparc64-ieee1275.rmk: Likewise.
45821
45822 * util/grub-emu.c (main): Fix unchecked pointer handling.
45823
2c2a681b 458242007-07-02 Robert Millan <rmh@aybabtu.com>
45825
45826 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45827 invocation to fail, in order to support partition-less media.
45828
45829 * util/i386/pc/grub-install.in: Likewise.
45830
45831 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45832 which fs or partmap modules are needed (akin to its sister scripts).
45833
45834 Also use grub-probe to get rid of unportable /proc/mounts check.
45835
45836 Print the same informational message that the other scripts do, before
fe6b695a 45837 exiting.
2c2a681b 45838
6193defe 458392007-06-23 Robert Millan <rmh@aybabtu.com>
45840
fe6b695a 45841 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 45842 a font file can be found and, if so, echo the GRUB path to it.
45843
45844 * util/update-grub.in: Handle multiple terminals depending on user
45845 input, platform availability and font file presence. Propagate
45846 variables of our findings to /etc/grub.d/ children.
45847
45848 * util/grub.d/00_header.in: Handle multiple terminals, based on
45849 environment setup by update-grub.
45850
eface1dc 458512007-06-23 Robert Millan <rmh@aybabtu.com>
45852
ba50d28f 45853 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 45854
bf697e28 458552007-06-21 Robert Millan <rmh@aybabtu.com>
45856
45857 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
45858 indicate end of data section in kernel image.
45859 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
45860 GRUB_KERNEL_MACHINE_DATA_END.
45861
45862 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
45863 space for it.
45864 * kern/i386/efi/startup.S: Likewise.
45865
45866 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
45867 during image generation. Implement --prefix option to override this
45868 patch.
45869 * util/i386/efi/grub-mkimage.c: Likewise.
45870
45871 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
45872 code to make path relative to its root into a separate function.
45873
45874 * util/i386/pc/grub-install.in: Use newly provided
45875 make_system_path_relative_to_its_root() to convert ${grubdir}, then
45876 pass the result to grub-install --prefix.
45877
baa574b4 458782007-06-13 Robert Millan <rmh@aybabtu.com>
45879
45880 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
45881 DEFAULT_DEVICE_MAP.
45882 * util/grub-emu.c: Use above definitions from misc.h instead of
45883 defining them.
45884 * util/grub-mkdevicemap.c: Likewise.
45885 * util/i386/pc/grub-setup.c: Likewise.
45886 * util/grub-probe.c: Likewise.
45887 (probe): Abort with grub_util_error() when either
45888 grub_guess_root_device or grub_util_get_grub_dev fails.
45889
0215dcbf 458902007-06-12 Robert Millan <rmh@aybabtu.com>
45891
45892 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
45893 "pager" assignment.
45894 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
45895 "pcdata".
45896 * util/grub-probe.c (probe): Likewise for "drive_name".
45897
8af2ab7b 458982007-06-11 Robert Millan <rmh@aybabtu.com>
45899
45900 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
45901 not just the cdrom one.
45902
59d31694 459032007-06-11 Robert Millan <rmh@aybabtu.com>
45904
45905 * util/i386/pc/grub-mkrescue.in: Add "set -e".
45906 Add --pkglibdir=DIR option to override pkglibdir.
45907 Mention --image-type=TYPE in help output.
45908 Fix --grub-mkimage (it was a no-op).
fe6b695a 45909 Abort gracefully when no parameter is given.
59d31694 45910
7ee367e4 459112007-06-11 Robert Millan <rmh@aybabtu.com>
45912
45913 * util/i386/pc/grub-mkrescue.in: New file.
45914 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
45915 * Makefile.in: Handle bin_SCRIPTS.
45916
29b0ed46 459172007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
45918
45919 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
45920 list of video modes.
45921
c0f90770 459222007-06-06 Robert Millan <rmh@aybabtu.com>
45923
45924 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
45925 file doesn't exist, or if it is in a filesystem grub can't read.
45926
45927 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
45928 not abort if GRUB_DRIVE could not be defined. Rearrange generated
45929 header comment to fit in 80 columns when the variables are resolved.
45930
45931 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
45932 could be identified by update-grub. Remove redundant check for
fe6b695a 45933 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 45934 handles that).
45935
fb36dc26 459362007-06-04 Robert Millan <rmh@aybabtu.com>
45937
45938 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
45939
45940 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
45941
45942 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
45943
0c68c93e 459442007-06-04 Robert Millan <rmh@aybabtu.com>
45945
45946 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
45947
45948 * include/grub/partition.h: Declare grub_apple_partition_map_init and
45949 grub_apple_partition_map_fini.
45950
45951 * util/biosdisk.c
45952 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
45953 to access >2 TiB disks).
45954
45955 Print disk->total_sectors with %llu instead of %lu, since this
45956 variable is always 64-bit (prevents wrong disk size from being displayed
45957 on either >2 TiB disk or big-endian CPU).
45958
45959 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
45960 into a generic case that supports all (sane) partition maps.
45961
45962 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
45963 breaks big-endian.
45964
45965 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
45966 and grub_apple_partition_map_fini() after that.
45967
0f23eb74 459682007-06-01 Robert Millan <rmh@aybabtu.com>
45969
45970 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
45971
45972 * util/grub.d/00_header.in: Only enable gfxterm when
45973 convert_system_path_to_grub_path() succeeds.
45974
42c71976 459752007-05-20 Robert Millan <rmh@aybabtu.com>
45976
45977 * util/update-grub_lib.in: New file.
45978 * DISTLIST: Add update-grub_lib.in.
45979 * conf/common.rmk: Generate update-grub_lib and install it in
45980 $(lib_DATA).
45981 * Makefile.in: Add install routine for $(lib_DATA).
45982
45983 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
45984 function provided by update-grub_lib to support arbitrary paths of
45985 unifont.pff.
45986 * util/update-grub.in: Use convert_system_path_to_grub_path() to
45987 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
45988
5beb2291 459892007-05-19 Robert Millan <rmh@aybabtu.com>
45990
45991 * commands/i386/cpuid.c: New module.
45992 * DISTLIST: Add it.
45993 * conf/i386-efi.rmk: Enable cpuid.mod.
45994 * conf/i386-pc.rmk: Likewise.
45995
7262eca1 459962007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45997
45998 * kern/disk.c (grub_disk_read): Check return value of
45999 grub_realloc().
46000
260ba823 460012007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46002
46003 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46004 arrays.
46005 * disk/raid.c (grub_raid_open): Likewise.
46006
1ecb6cf2 460072007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46008
46009 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46010 stack instead of on the heap.
46011
46012 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46013 before doing a read on it.
46014
46015 * configure.ac: Only use -fno-stack-protector for the target
46016 environment.
f19dbdb7 46017
21c8cbb1 460182007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46019
46020 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46021 __attribute_ ((unused)) to mode_type argument.
46022
46023 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46024
21c8cbb1 46025 * kern/misc.c (memcmp): Fix prototype.
46026
46027 * include/grub/partition.h [GRUB_UTIL]
46028 (grub_gpt_partition_map_init): Add prototype.
46029 (grub_gpt_partition_map_fini): Likewise.
46030
46031 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46032 at the right place.
46033
46034 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46035 (grub_fat_read_data): Likewise.
46036 (grub_fat_find_dir): Likewise.
46037
46038 * font/manager.c (find_glyph): Make table a const.
46039 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46040
849d55d3 460412007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46042
46043 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46044 code, first search for device in /dev/mapper, then in /dev.
46045 (grub_util_get_grub_dev): New function.
46046 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46047 prototype.
46048 * util/grub-probe.c (probe): Remove check for RAID, call
46049 grub_util_get_grub_dev() instead of
46050 grub_util_biosdisk_get_grub_dev().
46051 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46052 grub_util_biosdisk_get_grub_dev().
46053 * util/i386/pc/grub-setup.c (main): Likewise.
46054
8fff7c2f 460552007-05-16 Robert Millan <rmh@aybabtu.com>
46056
46057 * DISTLIST: Update for the latest changes.
46058 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46059 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46060 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46061 grub/util/biosdisk.h.
46062 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46063 grub/util/biosdisk.h.
46064
48e12b52 460652007-05-16 Robert Millan <rmh@aybabtu.com>
46066
46067 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46068
46b9d128 460692007-05-16 Robert Millan <rmh@aybabtu.com>
46070
46071 * util/i386/efi/grub-install.in: New.
46072 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46073 newly added grub-install.
46074 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46075 include.
46076 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46077 grub/util/biosdisk.h.
46078 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46079 grub/util/biosdisk.h.
46080
2d1a40a9 460812007-05-16 Robert Millan <rmh@aybabtu.com>
46082
46083 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46084 * include/grub/util/biosdisk.h: ... here.
46085 * util/i386/pc/biosdisk.c: Moved to ...
46086 * util/biosdisk.c: ... here.
46087 * util/i386/pc/getroot.c: Moved to ...
46088 * util/getroot.c: ... here.
46089 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46090 * util/grub-mkdevicemap.c: ... here.
46091 * util/i386/pc/grub-probe.c: Moved to ...
46092 * util/grub-probe.c: ... here.
46093
9e26e3bc 460942007-05-15 Robert Millan <rmh@aybabtu.com>
46095
46096 * util/update-grub.in: Remove duplicated line in grub.cfg header
46097 message.
46098
57f96397 460992007-05-13 Robert Millan <rmh@aybabtu.com>
46100
46101 * util/update-grub.in: Fix a few assumptions about the devices holding
46102 /, /boot and /boot/grub being the same.
46103 * util/grub.d/00_header.in: Likewise.
46104 * util/grub.d/10_hurd.in: Likewise.
46105 * util/grub.d/10_linux.in: Likewise.
46106
46107 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46108 patterns. Use that to define the `.old' suffix as older than `'.
46109
46110 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46111
46112 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46113 the grub.cfg header message.
46114
2e610d62 461152007-05-11 Robert Millan <rmh@aybabtu.com>
46116
46117 * util/update-grub.in: Create device.map if it doesn't already exist,
46118 before attempting to run grub-probe.
46119 Check for grub-probe and grub-mkdevicemap with the same code
46120 grub-install is using.
46121 Remove test mode.
46122
3f6a10ef 461232007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46124
46125 * Makefile.in: Add the datarootdir autoconf variable.
46126
02e7b75e 461272007-05-09 Robert Millan <rmh@aybabtu.com>
46128
46129 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46130 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46131
75f396cc 461322007-05-07 Robert Millan <rmh@aybabtu.com>
46133
46134 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46135 determine partition map module.
46136 * util/i386/pc/grub-install.in: Use this feature to decide which
46137 partition module to load, instead of hardcoding pc and gpt.
46138
da65cb36 461392007-05-07 Robert Millan <rmh@aybabtu.com>
46140
46141 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46142 source directory differs from build directory.
46143
b57d6a91 461442007-05-05 Robert Millan <rmh@aybabtu.com>
46145
46146 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46147 initialisation.
46148
509d00f1 461492007-05-05 Robert Millan <rmh@aybabtu.com>
46150
46151 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46152
c48f23ef 461532007-05-05 Robert Millan <rmh@aybabtu.com>
46154
46155 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46156 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46157
20b97658 461582007-05-05 Robert Millan <rmh@aybabtu.com>
46159
46160 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46161 (grub_probe_SOURCES): Likewise.
46162 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46163 GPT and initialize dos_part and bsd_part accordingly.
46164 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46165 install_bsd_part.
46166 (main): Activate gpt module for use during partition identification,
46167 and deactivate it afterwards.
46168 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46169 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46170 partition identification, and deactivate it afterwards.
46171
99123174 461722007-05-05 Robert Millan <rmh@aybabtu.com>
46173
46174 * term/i386/pc/console.c (grub_console_fini): Call
46175 grub_term_set_current() before grub_term_unregister().
46176
ebd97f6e 461772007-05-04 Robert Millan <rmh@aybabtu.com>
46178
46179 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46180 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46181 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46182 and update-grub_DATA.
46183 * conf/common.rmk: Build and install update-grub components.
46184 * conf/common.mk: Regenerate.
46185 * util/update-grub.in: New. Core of update-grub.
46186 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46187 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46188 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46189 * util/grub.d/README: New. Document grub.d directory layout.
46190
b06a264d 461912007-05-01 Robert Millan <rmh@aybabtu.com>
46192
46193 * util/grub-emu.c: Move initialization functions
46194 grub_util_biosdisk_init() and grub_init_all() before
46195 grub_util_biosdisk_get_grub_dev(), which relies on them.
46196
41f0050e 461972007-04-19 Robert Millan <rmh@aybabtu.com>
46198
46199 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46200 it is used later.
46201
04582bb3 462022007-04-18 Jerone Young <jerone@gmail.com>
46203
f19dbdb7 46204 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46205 stanza.
46206
08db4632 462072007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46208
08db4632 46209 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46210 continue on and look for device node with real device name.
46211
801b76be 462122007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46213
fe6b695a 46214 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46215 ability.
46216 * Makefile.in: Add autoconf package transformation code.
46217 * util/i386/pc/grub-install.in: Likewise.
46218 * util/powerpc/ieee1275/grub-install.in: Likewise.
46219
6795c4e1 462202007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46221
46222 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46223 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46224 (EXT2_REVISION): Likewise.
46225 (EXT2_INODE_SIZE): Likewise.
46226 (struct grub_ext2_block_group): Added a missing member
46227 "used_dirs".
46228 (grub_ext2_read_inode): Divide by the inode size in a superblock
46229 instead of 128 to obtain INODES_PER_BLOCK.
46230 Use the macro EXT2_INODE_SIZE instead of directly using
46231 SBLOCK->INODE_SIZE.
46232
d70af616 462332007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46234
46235 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46236 superblock instead of the structure size to compute an
46237 offset. This fixes the problem that GRUB could not read a
46238 filesystem when inode size is different from 128-byte.
46239
3b801603 462402007-03-05 Marco Gerards <marco@gnu.org>
46241
46242 * normal/main.c (read_config_file): When "menu" is not set, create
46243 an initial context.
46244
4785bfe4 462452007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46246
46247 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46248 (HEAP_LIMIT): New macro.
46249 (grub_claim_heap): Claim memory up to `heaplimit'.
46250
a0cbb023 462512007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46252
46253 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46254 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46255 (_start): Likewise.
46256 (grub_arch_modules_addr): Return address after `_end'.
46257 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46258 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46259 (add_segments): Calculate `_end' from phdr size and location.
46260 (ALIGN_UP): Moved to ...
46261 * include/grub/misc.h: here.
46262 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46263 New macro.
46264 (GRUB_IEEE1275_MODULE_BASE): Removed.
46265
fd7d8eba 462662007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46267
46268 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46269 loop boundary.
46270
9b09e6fc 462712007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46272
46273 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46274 All users updated.
46275 (grub_elf64_load_hook_t): Likewise.
46276 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46277 debug output.
46278
3ce27299 462792007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46280
46281 * kern/mm.c: Update copyright.
46282 (grub_mm_debug): Correct syntax error.
46283 (grub_mm_dump_free): New function.
46284 (grub_debug_free): Call `grub_free'.
46285 * include/grub/mm.h: Update copyright.
46286 (grub_mm_dump_free): Add declaration.
46287
077d5fee 462882007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46289
46290 * include/grub/ieee1275/ieee1275.h: Update copyright.
46291 * kern/powerpc/ieee1275/init.c: Likewise.
46292 * kern/powerpc/ieee1275/openfw.c: Likewise.
46293
46294 * loader/powerpc/ieee1275/linux.c: Likewise.
46295 * include/grub/elfload.h: Likewise.
46296 * kern/elf.c: Likewise.
46297 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46298 callers.
46299 (grub_elf64_load): Likewise.
46300 (grub_elf32_load_segment): Move to a nested function.
46301 (grub_elf64_load_segment): Likewise.
46302
dc946850 463032007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46304
46305 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46306 prototype.
46307 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46308 (grub_heap_len): Likewise.
46309 (HEAP_SIZE): New macro.
46310 (grub_claim_heap): New function.
46311 (grub_machine_init): Don't claim heap directly. Call
46312 `grub_claim_heap'.
46313 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46314 (grub_available_iterate): New function.
46315
baa2a121 463162007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46317
46318 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46319 * configure.ac: Use it for testing the HOST and TARGET compilers.
46320
4fe9862e 463212006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46322
46323 * Makefile.in (enable_grub_emu): New variable.
46324 * configure.ac (--enable-grub-emu): New option.
46325 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46326 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46327 * conf/i386-pc.rmk: Likewise.
46328 * conf/powerpc-ieee1275.rmk: Likewise.
46329 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46330
a8aa5762 463312006-12-12 Marco Gerards <marco@gnu.org>
46332
46333 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46334
46335 * kern/env.c (grub_env_unset): Don't free the member `value' when
46336 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46337 pointer.
46338
46339 * normal/main.c (current_menu): Removed.
46340 (free_menu): Unset the `menu' environment variable.
46341 (grub_normal_menu_addentry): Make use of the environment variable
46342 `menu', instead of using the global `current_menu'. Allocate
46343 memory for the sourcecode of this entry.
46344 (read_config_file): New argument `nested', changed all callers.
46345 Only in the case of a new context, initialize a new menu. Set the
46346 `menu' environment variable.
46347 (grub_normal_execute): Don't set and unset the environment
46348 variable `menu' here anymore. Only free the menu when leaving the
46349 context.
46350
46351 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46352 leak.
46353
957b3a3e 463542006-12-11 Marco Gerards <marco@gnu.org>
46355
46356 * normal/menu_entry.c (run): Fix off by one bug so the last line
46357 is executed. Move the loader check to outside the loop.
46358
ef875714 463592006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46360
46361 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46362
4e739985 463632006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46364
46365 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46366 the number of sectors. Reported by Andrey Shuvikov
46367 <mr_hyro@yahoo.com>.
f19dbdb7 46368
790707f2 463692006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46370
46371 * kern/disk.c (grub_disk_read): When there is a read error, always
46372 try to read only the necessary data.
f19dbdb7 46373
790707f2 46374 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46375 disk/raid.c.
46376 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46377 prototype.
46378 [GRUB_UTIL] (grub_raid_fini): Likewise.
46379 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46380 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46381 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46382 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46383 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46384 and grub_raid_fini().
f19dbdb7 46385
03e58196 463862006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46387
46388 * include/grub/types.h (__unused): Rename to UNUSED.
46389 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46390 (grub_elf64_size): Likewise.
f19dbdb7 46391
ae4f23bf 463922006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46393
46394 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46395 grub_error_push and grub_error_pop in the error-handling path.
46396 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46397 length.
46398
2166cc83 463992006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46400
46401 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46402 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46404 (kernel_elf_SOURCES): Likewise.
46405 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46406 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46407 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46408 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46409 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46410 (elf_mod_SOURCES): New variable.
46411 (elf_mod_CFLAGS): Likewise.
46412 (elf_mod_LDFLAGS): Likewise.
46413 * include/grub/types.h (__unused): New macro.
46414 * include/grub/elfload.h: New file.
46415 * kern/elf.c: Likewise.
46416 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46417 (ELF32_LOADMASK): New macro.
46418 (ELF64_LOADMASK): Likewise.
46419 (vmlinux): Removed.
46420 (grub_linux_load32): New function.
46421 (grub_linux_load64): Likewise.
46422 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46423 Use grub_elf_t instead of grub_file_t.
46424
a09d5aa5 464252006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46426
46427 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46428 `catch_result' to struct set_color_args.
46429
d976fc51 464302006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46431
46432 * normal/menu.c: Include grub/script.h.
46433 * normal/menu_entry.c: Likewise.
46434 * include/grub/normal.h: Do not include grub/script.h.
46435
67507549 464362006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46437
46438 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46439
69203a99 464402006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46441
46442 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46443 disk.
46444 (grub_disk_close): Print debug messages when closing a disk.
46445 (grub_disk_read): Print debug messages when disk read fails.
46446 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46447 filesystem type.
46448 * kern/partition.c: Include misc.h.
46449 (grub_partition_iterate): Print debug messages when detecting
46450 partition type.
46451
e2b8278c 464522006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46453
46454 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46455 is negative.
46456 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46457
97b2f2ff 464582006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46459
46460 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46461 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46462
6555d655 464632006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46464
46465 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46466 instead of sizeof(lv). Patch by Michael Guntsche.
46467
4d42b77f 464682006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46469
46470 * disk/lvm.c: Rename VGS to VG_LIST.
46471 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46472 (grub_lvm_open): Likewise.
46473 Thanks to Michael Guntsche for finding this bug.
46474
5d74d927 464752006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46476
46477 * configure.ac (AC_INIT): Bumped to 1.95.
46478
a1bb27e4 464792006-10-14 Robert Millan <rmh@aybabtu.com>
46480
46481 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46482 with "/dev/.static/dev/md".
46483
e0994b8b 464842006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46485
46486 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46487 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46488 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46489 DRIVE_NAME are always freed.
46490
46491 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46492 DOS_PART, as a DOS partition is counted from one instead of zero
46493 now. Reported by Robert Millan.
46494
ddd5cee9 464952006-10-14 Robert Millan <rmh@aybabtu.com>
46496
46497 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46498 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46499 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46500 string returned by grub_guess_root_device.
46501 * util/i386/pc/grub-setup.c: Likewise.
46502 * util/i386/pc/grub-probefs.c: Likewise.
46503
46504 * util/i386/pc/grub-probefs.c: Rename to ...
46505 * util/i386/pc/grub-probe.c: ... this.
46506 * DISTLIST: Remove grub-probefs, add grub-probe.
46507 * conf/i386-efi.rmk: Likewise.
46508 * conf/i386-pc.rmk: Likewise.
46509 * util/i386/pc/grub-install.in: Likewise.
46510
46511 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46512 choose which information we want to print.
46513
2b002173 465142006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46515
46516 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46517 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46518 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46519 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46520 video/readers/tga.c and video/i386/pc/vbeutil.c.
46521
465222006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46523
46524 Added support for RAID and LVM.
f19dbdb7 46525
2b002173 46526 * disk/lvm.c: New file.
46527 * disk/raid.c: Likewise.
46528 * include/grub/lvm.h: Likewise.
f19dbdb7 46529 * include/grub/raid.h: Likewise.
2b002173 46530 * include/grub/util/lvm.h: Likewise.
46531 * include/grub/util/raid.h: Likewise.
46532 * util/lvm.c: Likewise.
46533 * util/raid.c: Likewise.
46534
46535 * include/grub/disk.h (grub_disk_dev_id): Add
46536 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46537 (grub_disk_get_size): New prototype.
46538 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46539 returns a partition.
46540 (grub_disk_get_size): New function.
f19dbdb7 46541
2b002173 46542 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46543 verbatim if grub_install_dos_part is -2.
46544
46545 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46546 and LVM devices.
46547
46548 * util/i386/pc/grub-setup.c (setup): New argument
46549 MUST_EMBED. Force embedding of GRUB when the argument is
46550 true. Close FILE before returning.
46551 (main): Add support for RAID and LVM.
f19dbdb7 46552
2b002173 46553 * conf/common.rmk: Add RAID and LVM modules.
46554 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46555 util/lvm.c.
46556 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46557
46558 * kern/misc.c (grub_strstr): New function.
46559 * include/grub/misc.h (grub_strstr): New prototype.
46560
050548d0 465612006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46562
46563 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46564
da849d2d 465652006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46566
46567 * kern/misc.c (grub_strtoull): Guess the base only if not
46568 specified.
46569
97b2f2ff 465702006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46571
46572 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46573 PowerMac support.
46574
97b2f2ff 465752006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46576
46577 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46578
46579 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46580 Remove `flags' argument. All callers changed.
46581 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46582 (IEEE1275_IHANDLE_INVALID): New variable.
46583 (IEEE1275_CELL_INVALID): New variable.
46584 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46585 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46586 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46587 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46588 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46589 codes from Open Firmware. All callers updated.
46590 (grub_ieee1275_next_property): Directly return Open Firmware return
46591 code.
46592 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46593 Standardize error checking from `grub_ieee1275_get_property'.
46594 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46595 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46596
97b2f2ff 465972006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46598
46599 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46600 `instance_to_package_args' to `instance_to_path_args'.
46601
46602 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46603 `grub_ieee1275_chosen'.
46604
46605 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46606 `grub_ieee1275_interpret'.
46607
97b2f2ff 466082006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46609
46610 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46611
97b2f2ff 466122006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46613
46614 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46615 (__cmpdi): Likewise.
46616
46617 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46618 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46619 `grub_ssize_t'.
46620
02bb8acc 46621 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46622
46623 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46624 to type `grub_ssize_t'.
46625 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46626
7f9a8531 466272006-09-22 Marco Gerards <marco@gnu.org>
46628
46629 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46630 newlines.
46631
b5ef1102 466322006-09-22 Marco Gerards <marco@gnu.org>
46633
46634 * commands/echo.c: New file.
46635
46636 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46637
46638 * conf/common.rmk (echo_mod_SOURCES): New variable.
46639 (echo_mod_CFLAGS): Likewise.
46640 (echo_mod_LDFLAGS): Likewise.
46641
2cff3677 466422006-09-22 Marco Gerards <marco@gnu.org>
46643
46644 * normal/main.c (get_line): Malloc memory instead of using
46645 preallocated memory. Removed the arguments `cmdline' and
46646 `max_len'. Updated all callers.
46647
6ba4688b 466482006-09-22 Marco Gerards <marco@gnu.org>
46649
46650 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46651 (normal_mod_DEPENDENCIES): Likewise.
46652
46653 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46654 (normal_mod_DEPENDENCIES): Likewise.
46655
46656 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46657
e02ac02c 466582006-09-22 Johan Rydberg <jrydberg@gnu.org>
46659
46660 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46661 programs.
46662 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46663 (normal_mod_DEPENDENCIES): Likewise.
46664 * conf/i386-pc.mk: Regenerate.
46665 * conf/i386-efi.mk: Likewise
46666 * conf/common.mk: Likewise.
46667 * conf/powerpc-ieee1275.mk: Likewise.
46668 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46669
8d252e44 466702006-09-22 Robert Millan <rmh@aybabtu.com>
46671
46672 Sync with i386 version.
46673 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46674 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46675
209bf7ac 466762006-09-21 Robert Millan <rmh@aybabtu.com>
46677
46678 Import from GRUB Legacy (lib/device.c):
46679 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46680 (init_device_map) [__linux__]: Add support for I2O devices.
46681
6b146090 466822006-09-14 Marco Gerards <marco@gnu.org>
46683
46684 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46685 `-melf_i386'.
46686
e38600a8 466872006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46688
46689 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46690 /boot/grub/*.lst.
78fa1790 46691
2952da5d 46692 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 46693
2952da5d 46694 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46695 before adding it to device.map.
46696
01b82a64 466972006-08-15 Johan Rydberg <jrydberg@gnu.org>
46698
fe6b695a 46699 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 46700 compiles a file; using the -MD option.
46701 * conf/common.mk: Regenerate.
46702 * conf/i386-pc.mk: Likewise.
46703 * conf/i386-efi.mk: Likewise.
46704 * conf/powerpc-ieee1275.mk: Likewise.
46705 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46706
1064790d 467072006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46708
46709 Move the prototypes of grub_setjmp and grub_longjmp to
46710 cpu/setjmp.h, so that each architecture may specify different
46711 attributes.
f19dbdb7 46712
1064790d 46713 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46714 (grub_longjmp): Likewise.
46715 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46716 (grub_longjmp): Likewise.
46717 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46718 (grub_longjmp): Likewise.
46719
46720 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46721 [!GRUB_UTIL] (grub_longjmp): Removed.
46722
29dda3ed 467232006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46724
46725 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46726 "color!" method does not return any value.
46727
ad2a06ed 467282006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46729
46730 * include/grub/bitmap.h: New file.
46731
46732 * include/grub/i386/pc/vbeutil.h: Likewise.
46733
46734 * video/bitmap.c: Likewise.
46735
46736 * video/readers/tga.c: Likewise.
46737
46738 * video/i386/pc/vbeutil.c: Likewise.
46739
46740 * commands/videotest.c: Code cleanup and updated to reflect to new
46741 video API.
46742
46743 * term/gfxterm.c: Likewise.
46744
46745 * video/video.c: Likewise.
46746
46747 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46748 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46749 (bitmap_mod_SOURCES): New entry.
46750 (bitmap_mod_CFLAGS): Likewise.
46751 (bitmap_mod_LDFLAGS): Likewise.
46752 (tga_mod_SOURCES): Likewise.
46753 (tga_mod_CFLAGS): Likewise.
46754 (tga_mod_LDFLAGS): Likewise.
46755
46756 * include/grub/video.h (grub_video_blit_operators): New enum type.
46757 (grub_video_render_target): Changed as forward declaration and moved
46758 actual definition to be video driver specific.
46759 (grub_video_adapter.blit_bitmap): Added blitting operator.
46760 (grub_video_adapter.blit_render_target): Likewise.
46761 (grub_video_blit_bitmap): Likewise.
46762 (grub_video_blit_render_target): Likewise.
46763
46764 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46765 driver specific render target definition.
46766 (grub_video_vbe_map_rgba): Added driver internal helper.
46767 (grub_video_vbe_unmap_color): Updated to use
46768 grub_video_i386_vbeblit_info.
46769 (grub_video_vbe_get_video_ptr): Likewise.
46770
46771 * include/grub/i386/pc/vbeblit.h
46772 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46773 grub_video_i386_vbeblit_info.
46774 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46775 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46776 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46777 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46778 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46779 (grub_video_i386_vbeblit_index_index): Likewise.
46780 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46781 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46782 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46783 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46784 operator.
46785 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46786 operator.
46787
46788 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46789 include/grub/i386/pc/vbeblit.h.
46790
46791 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46792 Updated to use grub_video_i386_vbeblit_info.
46793 (grub_video_i386_vbefill_R8G8B8): Likewise.
46794 (grub_video_i386_vbefill_index): Likewise.
46795 (grub_video_i386_vbefill): Added generic filler.
46796
46797 * video/i386/pc/vbefill.c: Updated to reflect changes on
46798 include/grub/i386/pc/vbefill.h.
46799
46800 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46801 grub_video_i386_vbeblit_info.
46802 (grub_video_vbe_unmap_color): Likewise.
46803 (grub_video_vbe_blit_glyph): Likewise.
46804 (grub_video_vbe_scroll): Likewise.
46805 (grub_video_vbe_draw_pixel): Removed function.
46806 (grub_video_vbe_get_pixel): Likewise.
46807 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46808 updated code to use it.
46809 (common_blitter): Added common blitter for render target and bitmap.
46810 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46811 (grub_video_vbe_blit_render_target): Likewise.
46812
bc8c036d 468132006-07-30 Johan Rydberg <jrydberg@gnu.org>
46814
46815 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46816 is in text mode if there is no console control protocol instance
46817 available.
46818
684a8eff 468192006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46820
46821 * include/grub/video.h: Code cleanup.
46822
46823 * include/grub/i386/pc/vbe.h: Likewise.
46824
46825 * video/i386/pc/vbe.c: Likewise.
46826
46827 * video/i386/pc/vbeblit.c: Likewise.
46828
46829 * video/i386/pc/vbefill.c: Likewise.
46830
46831 * video/video.c: Likewise. Also added more comments.
46832
5915059b 468332006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46834
46835 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46836 (struct grub_biosdisk_dap): Likewise.
46837
46838 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
46839 linkage settings for all functions.
46840
90ce5d56 468412006-07-12 Marco Gerards <marco@gnu.org>
46842
46843 * configure.ac (--enable-mm-debug): Fix typo.
46844
46845 * genkernsyms.sh.in: Use proper quoting for `CC'.
46846
43e7f879 468472006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
46848
46849 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
46850 (normal_mod_ASFLAGS): Remove "-m32".
46851
4889bdec 468522006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
46853
46854 * util/misc.c: Include config.h.
46855 [!HAVE_MEMALIGN]: Do not include malloc.h.
46856 (grub_memalign): Use posix_memalign, if present. Then, use
46857 memalign, if present. Otherwise, emit an error.
46858
46859 * util/grub-emu.c: Do not include malloc.h.
46860
46861 * include/grub/util/misc.h: Include unistd.h. This is required for
46862 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
46863 D. Eades III <hde@foobar-qux.org>.
46864
46865 * configure.ac (AC_GNU_SOURCE): Added.
46866 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
46867 type.
46868
fd39d4da 468692006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
46870
46871 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
46872 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
46873
b786f3b5 468742006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
46875
46876 * include/grub/types.h (grub_host_addr_t): Rename to
46877 grub_target_addr_t.
46878 (grub_host_off_t): Rename to grub_target_off_t.
46879 (grub_host_size_t): Rename to grub_target_size_t.
46880 (grub_host_ssize_t): Rename to grub_target_ssize_t.
46881 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
46882
46883 * include/grub/kernel.h (struct grub_module_header): Change type
46884 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
46885 (grub_module_info): Likewise.
f19dbdb7 46886
051988bb 468872006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46888
46889 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
46890 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
46891 Velazquez <jesus.velazquez@gmail.com>.
46892
deae281b 468932006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46894
46895 Count partitions from 1 instead of 0 in the string representation
46896 of partitions. Still use 0-based internally.
f19dbdb7 46897
deae281b 46898 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
46899 (sun_partition_map_iterate): Use grub_partition_t instead of
46900 struct grub_partition *. Cast DESC->START_CYLINDER to
46901 grub_uint64_t after converting the endian.
46902 (sun_partition_map_probe): Subtract 1 for PARTNUM.
46903 (sun_partition_map_get_name): Add 1 to P->INDEX.
46904
46905 * partmap/pc.c (grub_partition_parse): Subtract 1 for
46906 PCDATA->DOS_PART.
46907 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
46908
46909 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
46910 zero instead of one.
46911 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
46912 (gpt_partition_map_get_name): Add 1 into P->INDEX.
46913
46914 * partmap/apple.c (apple_partition_map_iterate): Change the type
46915 of POS to unsigned.
46916 (apple_partition_map_probe): Subtract 1 for PARTNUM.
46917 (apple_partition_map_get_name): Add 1 into P->INDEX.
46918
46919 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
46920 of POS to unsigned.
46921 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
46922 calculate the offset of a partition.
46923 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
46924 (amiga_partition_map_get_name): Add 1 into P->INDEX.
46925
46926 * partmap/acorn.c (acorn_partition_map_find): Change the type of
46927 SECTOR to grub_disk_addr_t.
46928 (acorn_partition_map_iterate): Likewise.
46929 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
46930 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
46931 top.
46932 (acorn_partition_map_get_name): Add 1 into P->INDEX.
46933
46934 * kern/i386/pc/init.c (make_install_device): Add 1 into
46935 GRUB_INSTALL_DOS_PART.
46936
46937 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
46938 conditional.
46939
524a1e6a 469402006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46941
46942 Clean up the code to support 64-bit addressing in disks and
46943 files. This change is not enough for filesystems yet.
f19dbdb7 46944
524a1e6a 46945 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
46946 type of "start" to grub_uint64_t.
46947 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
46948 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
46949 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
46950 convert addresses.
46951
46952 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
46953 to grub_disk_addr_t.
46954
46955 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
46956 string.
46957
46958 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46959
46960 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
46961 to char *.
46962
46963 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
46964
46965 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
46966
46967 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
46968
46969 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
46970 to grub_off_t, to detect an error from grub_file_seek.
46971 (grub_multiboot_load_elf32): Likewise.
46972
46973 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
46974 maximum unsigned long value when an overflow is detected.
46975 (grub_strtoull): New function.
46976 (grub_divmod64): Likewise.
46977 (grub_lltoa): use grub_divmod64.
46978
46979 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
46980 grub_disk_addr_t.
46981 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
46982 the pointer to next character. Use grub_strtoull instead of
46983 grub_strtoul.
46984 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
46985 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
46986 respectively.
46987
fe6b695a 46988 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 46989 return value is signed.
46990 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
46991 test if OFFSET is less than zero, as OFFSET is unsigned now.
46992
46993 * kern/disk.c (struct grub_disk_cache): Change the type of
46994 "sector" to grub_disk_addr_t.
46995 (grub_disk_cache_get_index): Change the type of SECTOR to
46996 grub_disk_addr_t. Calculate the hash with SECTOR casted to
46997 unsigned after shifting.
46998 (grub_disk_cache_invalidate): Change the type of SECTOR to
46999 grub_disk_addr_t.
47000 (grub_disk_cache_unlock): Likewise.
47001 (grub_disk_cache_store): Likewise.
47002 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47003 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47004 grub_disk_addr_t and grub_uint64_t, respectively.
47005 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47006 body, as the value of OFFSET is tweaked by
47007 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47008 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47009 respectively.
47010 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47011 body, as the value of OFFSET is tweaked by
47012 grub_disk_check_range. Change the types of LEN and N to
47013 grub_size_t.
47014
47015 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47016 and "saved_offset" to grub_off_t.
47017 (test_header): Cast BUF to char *.
47018 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47019 to char *.
47020 (grub_gzio_read): Change the types of OFFSET and SIZE to
47021 grub_off_t and grub_size_t, respectively.
47022
47023 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47024 Removed.
47025 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47026 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47027 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47028 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47029 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47030
47031 * include/grub/types.h (grub_off_t): Unconditionally set to
47032 grub_uint64_t.
47033 (grub_disk_addr_t): Changed to grub_uint64_t.
47034
47035 * include/grub/partition.h (struct grub_partition): Change the
47036 types of "start", "len" and "offset" to grub_disk_addr_t,
47037 grub_uint64_t and grub_disk_addr_t, respectively.
47038 (grub_partition_get_start): Return grub_disk_addr_t.
47039 (grub_partition_get_len): Return grub_uint64_t.
47040
47041 * include/grub/misc.h (grub_strtoull): New prototype.
47042 (grub_divmod64): Likewise.
47043
47044 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47045 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47046 grub_off_t, respectively.
47047 All callers and references changed.
47048
47049 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47050 grub_size_t in "read".
47051 All callers and references changed.
47052
47053 * include/grub/file.h (struct grub_file): Change the types of
47054 "offset" and "size" to grub_off_t and grub_off_t,
47055 respectively. Change the type of SECTOR to grub_disk_addr_t in
47056 "read_hook".
47057 (grub_file_read): Change the type of LEN to grub_size_t.
47058 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47059 grub_off_t.
47060 (grub_file_size): Return grub_off_t.
47061 (grub_file_tell): Likewise.
47062 All callers and references changed.
47063
47064 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47065 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47066 "write".
47067 (struct grub_disk): Change the type of "total_sectors" to
47068 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47069 "read_hook".
524a1e6a 47070 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47071 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47072 (grub_disk_write): Likewise.
47073 All callers and references changed.
47074
47075 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47076 char * for grub_strncmp to silence gcc.
47077 (grub_iso9660_mount): Likewise.
47078 (grub_iso9660_mount): Likewise.
47079 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47080 return statement.
47081 (grub_iso9660_iterate_dir): Likewise.
47082 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47083
47084 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47085 LEN to grub_disk_addr_t and grub_size_t, respectively.
47086
47087 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47088
47089 * fs/jfs.c (grub_jfs_read_file): Likewise.
47090
47091 * fs/minix.c (grub_jfs_read_file): Likewise.
47092
47093 * fs/sfs.c (grub_jfs_read_file): Likewise.
47094
47095 * fs/ufs.c (grub_jfs_read_file): Likewise.
47096
47097 * fs/xfs.c (grub_jfs_read_file): Likewise.
47098
47099 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47100 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47101 respectively.
47102
47103 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47104 BLKNR to -1 instead of returning GRUB_ERRNO.
47105 (grub_ext2_read_file): Change the types of SECTOR and
47106 LEN to grub_disk_addr_t and grub_size_t, respectively.
47107
47108 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47109 LEN to grub_disk_addr_t and grub_size_t, respectively.
47110
47111 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47112 grub_file_read.
47113
47114 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47115 string. Do not cast SECTOR explicitly.
47116
47117 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47118 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47119 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47120 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47121 over 2TB and LBA mode is not supported, raise an error.
47122 (get_safe_sectors): New function.
47123 (grub_biosdisk_read): Use get_safe_sectors.
47124 (grub_biosdisk_write): Likewise.
47125
47126 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47127 (grub_efidisk_write): Likewise.
47128
47129 * disk/loopback.c (delete_loopback): Cosmetic changes.
47130 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47131 correctly.
47132 (grub_loopback_open): Likewise.
47133 (grub_loopback_read): Likewise. Also, change the type of POS to
47134 grub_off_t, and fix the usage of grub_memset.
47135
47136 * commands/i386/pc/play.c: Include grub/machine/time.h.
47137
47138 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47139 print FILE->SIZE.
47140
47141 * commands/configfile.c: Include grub/env.h.
47142
47143 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47144 GRUB_ERRNO directly instead. Change the type of POS to
47145 grub_off_t. Follow the coding standard.
47146
47147 * commands/blocklist.c: Include grub/partition.h.
47148 (grub_cmd_blocklist): Return an error if the underlying device is
47149 not a disk. Take the starting sector of a partition into account,
47150 if a partition is used.
47151
47152 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47153 a length field.
47154 (lba_mode): Support 64-bit addresses.
47155 (chs_mode): Likewise.
47156 (copy_buffer): Adapted to the new offsets of a length field and a
47157 segment field.
47158 (blocklist_default_start): Allocate 64-bit space.
47159
47160 * boot/i386/pc/boot.S (force_lba): Removed.
47161 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47162 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47163 space.
47164 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47165 is useless.
47166 (lba_mode): Refactored to support a 64-bit address. More size
47167 optimization.
47168 (setup_sectors): Likewise.
47169
53af98ad 471702006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47171
47172 * DISTLIST: Added include/grub/i386/linux.h. Removed
47173 include/grub/i386/pc/linux.h
47174
47175 * configure.ac (AC_INIT): Bumped to 1.94.
47176
47177 * config.guess: Updated from gnulib.
47178 * config.sub: Likewise.
47179 * install-sh: Likewise.
47180 * mkinstalldirs: Likewise.
47181
b4c1940a 471822006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47183
47184 * conf/common.rmk (grub_modules_init.lst): Depended on
47185 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47186 MODSRCFILES.
47187
47188 * genmk.rb (PModule::rule): Reverted the previous change.
47189
cfca1cfd 471902006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47191
47192 * conf/common.rmk (grub_modules_init.lst): Depends on
47193 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47194 that the target does not exist before producing.
47195 (grub_modules_init.h): Remove the target before generating.
47196 (grub_emu_init.c): Likewise.
47197
47198 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47199
aa6d7826 472002006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47201
47202 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47203 for the target-specific tests. Make sure that we also have the
47204 up-to-date target variables for those tests.
47205
26c607b9 472062006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47207
47208 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47209 (PModule::rule): Likewise.
47210
0162321a 472112006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47212
47213 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47214 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47215 target-specific flags should be prefixed.
47216 (PModule::rule): Likewise.
47217
6c826348 472182006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47219
47220 * configure.ac (CMP): Check if cmp is available explicitly.
47221
b977bf01 472222006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47223
47224 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47225 (target_cpu): New variable.
47226 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47227
b977bf01 47228 * util/i386/pc/grub-install.in (host_cpu): Removed.
47229 (target_cpu): New variable.
47230 (pkglibdir): Use target_cpu instead of host_cpu.
47231
47232 * util/genmoddep.c: Removed.
f19dbdb7 47233
b977bf01 47234 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47235 instead of GRUB_HOST_SIZEOF_VOID_P.
47236 * kern/dl.c: Likewise.
47237
47238 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47239 ...
47240 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47241 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47242 (GRUB_TARGET_SIZEOF_LONG): ... this.
47243 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47244 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47245 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47246 to ...
47247 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47248 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47249 (GRUB_TARGET_SIZEOF_LONG): ... this.
47250 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47251 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47252 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47253 to ...
47254 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47255 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47256 (GRUB_TARGET_SIZEOF_LONG): ... this.
47257 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47258 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47259
47260 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47261 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47262 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47263 instead of GRUB_HOST_SIZEOF_LONG.
47264 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47265 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47266 GRUB_CPU_WORDS_BIGENDIAN.
47267 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47268 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47269 grub_host_ssize_t.
47270
47271 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47272 (genmoddep_SOURCES): Likewise.
47273 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47274 (genmoddep_SOURCES): Likewise.
47275 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47276 (genmoddep_SOURCES): Likewise.
47277 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47278 Likewise.
47279 (genmoddep_SOURCES): Likewise.
47280
47281 * genmoddep.awk: New file.
47282
47283 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47284 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47285 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47286 (PModule::rule): Likewise.
47287 (Program::rule): Likewise.
47288 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47289 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47290 respectively.
47291
47292 * configure.ac: Rewritten intensively to use host and target
47293 instead of build and host, respectively.
47294
47295 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47296 (host_cpu): Removed.
47297 (target_cpu): New variable.
47298 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47299 (BUILD_CC): Removed.
47300 (BUILD_CFLAGS): Likewise.
47301 (BUILD_CPPFLAGS): Likewise.
47302 (TARGET_CC): New variable.
47303 (TARGET_CFLAGS): Likewise.
47304 (TARGET_CPPFLAGS): Likewise.
47305 (TARGET_LDFLAGS): Likewise.
47306 (AWK): Likewise.
47307 (include): Use target_cpu instead of host_cpu.
47308 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47309
b977bf01 47310 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47311
f09771a1 473122006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47313
47314 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47315 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47316 field 'false' to 'exec_on_false'.
47317 (grub_script_create_cmdif): Renamed argument names to reflect above
47318 changes.
47319
47320 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47321
47322 * normal/script.c (grub_script_create_cmdif): Likewise.
47323
118f4fb3 473242006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47325
47326 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47327 top.
47328 (grub_hfsplus_btree_recptr): Likewise.
47329 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47330 FILEBLOCK both to pass a block number and store next block
47331 number.
47332 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47333 overflow file correctly. Specify errors appropriately, because
47334 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47335 grub_hfsplus_btree_recptr to get the pointer to a found key.
47336 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47337 is found.
47338
47339 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47340 linux.mod.
47341 (_linux_mod_SOURCES): New variable.
47342 (_linux_mod_CFLAGS): Likewise.
47343 (_linux_mod_LDFLAGS): Likewise.
47344 (linux_mod_SOURCES): Likewise.
47345 (linux_mod_CFLAGS): Likewise.
47346 (linux_mod_LDFLAGS): Likewise.
47347
47348 * DISTLIST: Added loader/i386/efi/linux.c,
47349 loader/i386/efi/linux_normal.c and
47350 include/grub/i386/efi/loader.h.
47351
47352 * loader/i386/efi/linux.c: New file.
47353 * loader/i386/efi/linux_normal.c: Likewise.
47354 * include/grub/i386/efi/loader.h: Likewise.
47355
89a7d726 473562006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47357
47358 * commands/blocklist.c: New file.
47359
47360 * DISTLIST: Added commands/blocklist.c.
47361
47362 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47363 color for the background, and a darker color for the foreground.
89a7d726 47364 (grub_console_checkkey): Return READ_KEY.
47365 (grub_console_cls): Set the background to
47366 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47367
47368 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47369
47370 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47371 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47372
47373 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47374 prototype.
47375
47376 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47377 BG. The spec is wrong again.
47378
47379 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47380 prototype.
47381 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47382
47383 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47384 commands/blocklist.c.
47385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47386
89a7d726 47387 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47388 (blocklist_mod_SOURCES): New variable.
47389 (blocklist_mod_CFLAGS): Likewise.
47390 (blocklist_mod_LDFLAGS): Likewise.
47391
75c8f258 473922006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47393
47394 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47395 duplication.
47396 (lba_mode): Use %eax more intensively to reduce the code size.
47397
da2eb181 473982006-05-20 Marco Gerards <marco@gnu.org>
47399
47400 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47401
47402 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47403 for `menuentry'.
47404 (script): Accept leading newlines.
47405 (newlines): New rule to describe 0 or more newlines.
47406 (commands): Accept `command' with trailing newline. Fixed the
47407 order in which arguments were passed to `grub_script_add_cmd'.
47408 Accept commands separated by newlines.
47409 (function): Changed to accept newlines.
47410 (menuentry) Rewritten.
47411
47412 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47413 front of the list, instead of to the end.
47414
577b4050 474152006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47416
47417 * util/i386/pc/grub-install.in (bindir): New variable.
47418 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47419 Shaver <lbgwjl@gmail.com>.
47420
0d6e1189 474212006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47422
47423 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47424 grub/machine/linux.h
47425 * loader/i386/pc/linux.c: Likewise.
47426
47427 * include/grub/i386/pc/linux.h: Moved to ...
47428 * include/grub/i386/linux.h: ... here.
47429
47430 * include/grub/i386/linux.h (struct linux_kernel_params): New
47431 struct.
f19dbdb7 47432
31b86e9f 474332006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47434
47435 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47436 checking.
47437 (grub_video_vbe_blit_glyph): Likewise.
47438 (grub_video_vbe_blit_bitmap): Likewise.
47439 (grub_video_vbe_blit_render_target): Likewise.
47440
83b984de 474412006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47442
47443 * configure.ac (--with-platform): Properly quote the square
47444 brackets.
47445
5f0413bd 474462006-05-08 Marco Gerards <marco@gnu.org>
47447
47448 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47449 this...
47450 (kernel_elf_HEADERS): ...to this. Updated all users.
47451 (grubof_symlist.c): Renamed from this...
47452 (kernel_elf_symlist.c): ...to this. Updated all users.
47453 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47454 (grubof_SOURCES): Renamed from this...
47455 (kernel_elf_SOURCES): ...to this.
47456 (grubof_HEADERS): Renamed from this...
47457 (kernel_elf_HEADERS): ...to this.
47458 (grubof_CFLAGS): Renamed from this...
47459 (kernel_elf_CFLAGS): ...to this.
47460 (grubof_ASFLAGS): Renamed from this...
47461 (kernel_elf_ASFLAGS): ...to this.
47462 (grubof_LDFLAGS): Renamed from this...
47463 (kernel_elf_LDFLAGS): ...to this.
47464
47465 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47466 this...
47467 (kernel_elf_HEADERS): ...to this. Updated all users.
47468 (grubof_symlist.c): Renamed from this...
47469 (kernel_elf_symlist.c): ...to this. Updated all users.
47470 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47471 (grubof_SOURCES): Renamed from this...
47472 (kernel_elf_SOURCES): ...to this.
47473 (grubof_HEADERS): Renamed from this...
47474 (kernel_elf_HEADERS): ...to this.
47475 (grubof_CFLAGS): Renamed from this...
47476 (kernel_elf_CFLAGS): ...to this.
47477 (grubof_ASFLAGS): Renamed from this...
47478 (kernel_elf_ASFLAGS): ...to this.
47479 (grubof_LDFLAGS): Renamed from this...
47480 (kernel_elf_LDFLAGS): ...to this.
47481
47482 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47483 `kernel.elf' instead of `grubof'.
47484
05568c2e 474852006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47486
47487 Add --with-platform to configure. Use pkglibdir instead of
47488 pkgdatadir. This is reported by Roger Leigh.
47489
47490 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47491 (host_vendor): Likewise.
47492 (host_os): Likewise.
47493 (pkgdatadir): Likewise.
47494 (platform): New variable.
47495 (pkglibdir): Likewise.
47496 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47497
05568c2e 47498 * util/i386/pc/grub-install.in (datadir): Removed.
47499 (host_vendor): Likewise.
47500 (host_os): Likewise.
47501 (pkgdatadir): Likewise.
47502 (platform): New variable.
47503 (pkglibdir): Likewise.
47504 Use PKGLIBDIR instead of PKGDATADIR.
47505
47506 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47507 instead of GRUB_DATADIR.
47508 (main): Likewise.
47509 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47510 (main): Likewise.
47511 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47512 (main): Likewise.
47513
47514 * configure.ac (--with-platform): New option.
47515 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47516
47517 * Makefile.in: Include a makefile based on PLATFORM instead of
47518 HOST_VENDOR.
47519 (pkgdatadir): Not appended by the machine type.
47520 (pkglibdir): Appended by the machine type.
47521 (host_vendor): Removed.
47522 (platform): New variable.
47523 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47524 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47525 (uninstall): Likewise.
47526
4e93851c 475272006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47528
47529 Use the environment context in the menu. Remove the commands
47530 "default" and "timeout", and use variables instead.
f19dbdb7 47531
4e93851c 47532 * normal/menu.c: Include grub/env.h.
47533 (print_entry): Cast TITLE to silence gcc.
47534 (get_timeout): New function.
47535 (set_timeout): Likewise.
47536 (get_entry_number): Likewise.
47537 (run_menu): Use a default entry, a fallback entry and a timeout
47538 in the environment variables "default", "fallback" and
47539 "timeout". Also, tweak the default entry if it is not within the
47540 current menu entries.
47541 (grub_menu_run): Use a fallback entry in the environment variable
47542 "fallback".
47543
47544 * normal/main.c (read_config_file): Do not initialize
47545 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47546 NEWMENU->TIMEOUT.
47547 (grub_normal_execute): Use a data slot to store the menu.
47548
47549 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47550 fallback_entry and timeout.
47551 (struct grub_menu_list): Removed.
47552 (grub_menu_list_t): Likewise.
47553 (struct grub_context): Likewise.
47554 (grub_context_t): Likewise.
47555 (grub_context_get): Likewise.
47556 (grub_context_get_current_menu): Likewise.
47557 (grub_context_push_menu): Likewise.
47558 (grub_context_pop_menu): Likewise.
47559 (grub_default_init): Likewise.
47560 (grub_default_fini): Likewise.
47561 (grub_timeout_init): Likewise.
47562 (grub_timeout_fini): Likewise.
47563
47564 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47565 and timeout.mod.
47566 (normal_mod_SOURCES): Removed normal/context.c.
47567
47568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47569 commands/default.c, commands/timeout.c and normal/context.c.
47570 (normal_mod_SOURCES): Removed normal/context.c.
47571
47572 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47573 commands/timeout.c and normal/context.c.
47574 (normal_mod_SOURCES): Removed normal/context.c.
47575
47576 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47577 commands/default.c, commands/timeout.c and normal/context.c.
47578 (normal_mod_SOURCES): Removed normal/context.c.
47579
47580 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47581 timeout.mod.
47582 (default_mod_SOURCES): Removed.
47583 (default_mod_CFLAGS): Likewise.
47584 (default_mod_LDFLAGS): Likewise.
47585 (timeout_mod_SOURCES): Removed.
47586 (timeout_mod_CFLAGS): Likewise.
47587 (timeout_mod_LDFLAGS): Likewise.
47588
47589 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47590 normal/context.c.
47591
47592 * commands/default.c: Removed.
47593 * commands/timeout.c: Likewise.
47594 * normal/context.c: Likewise.
47595
1eb9cc1d 475962006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47597
47598 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47599
385bd9c1 476002006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47601
47602 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47603 "next" to "prev" for readability.
47604 (struct grub_env_sorted_var): New struct.
47605 (grub_env_context): Renamed to ...
47606 (initial_context): ... this.
47607 (grub_env_var_context): Renamed to ...
47608 (current_context): ... this.
47609 (grub_env_find): Look only at CURRENT_CONTEXT.
47610 (grub_env_context_open): Rewritten to copy exported variables from
47611 previous context.
47612 (grub_env_context_close): Rewritten according to the new
47613 scheme. Also, add an assertion to prevent the initial context from
47614 removed.
47615 (grub_env_insert): Removed the code for the sorted list.
47616 (grub_env_remove): Likewise.
47617 (grub_env_export): Simply mark the variable with
47618 GRUB_ENV_VAR_GLOBAL.
47619 (grub_env_set): A cosmetic change for naming consistency.
47620 (grub_env_get): Likewise.
47621 (grub_env_unset): Likewise.
47622 (grub_env_iterate): Rewritten to sort variables within this
47623 function.
47624 (grub_register_variable_hook): Fixed for naming consistency. Call
47625 grub_env_find again, only if NAME is not found at the first time.
47626 (mangle_data_slot_name): New function.
47627 (grub_env_set_data_slot): Likewise.
47628 (grub_env_get_data_slot): Likewise.
47629 (grub_env_unset_data_slot): Likewise.
47630
47631 * include/grub/env.h (grub_env_var_type): New enum.
47632 (GRUB_ENV_VAR_LOCAL): New constant.
47633 (GRUB_ENV_VAR_GLOBAL): Likewise.
47634 (GRUB_ENV_VAR_DATA): Likewise.
47635 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47636 "type".
47637 (grub_env_set): Replace VAR with NAME for consistency.
47638 (grub_register_variable_hook): Likewise.
47639 (grub_env_export): Specify the name of the argument.
47640 (grub_env_set_data_slot): New prototype.
47641 (grub_env_get_data_slot): Likewise.
47642 (grub_env_unset_data_slot): Likewise.
47643
7f362539 476442006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47645
47646 Extend the loader so that GRUB can accept a loader which comes
47647 back to GRUB when a loaded image exits. Also, this change adds
47648 support for a chainloader on EFI.
f19dbdb7 47649
7f362539 47650 * term/efi/console.c: Include grub/misc.h.
47651 (grub_console_checkkey): Display a scan code on the top for
47652 debugging. This will be removed once the EFI port gets stable.
47653 Correct the scan code mapping.
47654
47655 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47656 allocate memory from larger regions, in order to reduce the number
47657 of allocated regions. Otherwise, the MacOSX loader panics.
47658 (filter_memory_map): Avoid less than 1MB for compatibility with
47659 other loaders.
47660 (add_memory_regions): Allocate from the tail of a region, if
47661 possible, to avoid allocating a region near to 1MB, for the MacOSX
47662 loader.
47663
47664 * kern/efi/init.c (grub_efi_set_prefix): Specify
47665 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47666
47667 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47668 argument IMAGE_HANDLE and specify it to get a loaded image.
47669 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47670 grub_efi_get_loaded_image.
fe6b695a 47671 (grub_efi_get_filename): Divide the length by the size of
7f362539 47672 grub_efi_char16_t.
47673 (grub_efi_get_device_path): New function.
47674 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47675 the length by the size of grub_efi_char16_t for a file path device
47676 path node.
47677
47678 * kern/loader.c (grub_loader_noreturn): New variable.
47679 (grub_loader_set): Accept a new argument NORETURN. Set
47680 GRUB_LOADER_NORETURN to NORETURN.
47681 All callers changed.
47682 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47683 grub_machine_fini.
47684
47685 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47686 prototype.
47687 (grub_efi_get_loaded_image): Take an argument to specify an image
47688 handle.
47689
47690 * include/grub/loader.h (grub_loader_set): Added one more argument
47691 NORETURN.
47692
47693 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47694 instead of grub_efi_open_protocol.
47695 (grub_efidisk_get_device_name): Likewise.
47696 (grub_efidisk_close): Print a newline.
47697 (grub_efidisk_get_device_handle): Fixed to use
47698 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47699 GRUB_EFI_DEVICE_PATH_TYPE.
47700
47701 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47702 * kern/efi/efi.c (device_path_guid): ... here.
47703
47704 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47705 chain.mod.
47706 (kernel_mod_HEADERS): Added efi/disk.h.
47707 (_chain_mod_SOURCES): New variable.
47708 (_chain_mod_CFLAGS): Likewise.
47709 (_chain_mod_LDFLAGS): Likewise.
47710 (chain_mod_SOURCES): Likewise.
47711 (chain_mod_CFLAGS): Likewise.
47712 (chain_mod_LDFLAGS): Likewise.
47713
47714 * DISTLIST: Added include/grub/efi/chainloader.h,
47715 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47716
47717 * include/grub/efi/chainloader.h: New file.
47718 * loader/efi/chainloader.c: Likewise.
47719 * loader/efi/chainloader_normal.c: Likewise.
47720
c0111d6e 477212006-04-30 Marco Gerards <marco@gnu.org>
47722
47723 * commands/configfile.c (grub_cmd_source): New function.
47724 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47725 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47726
df5341da 477272006-04-30 Marco Gerards <marco@gnu.org>
47728
47729 * normal/execute.c (grub_script_execute_cmd): Change the return
47730 type to `grub_err_t'. Correctly return the error.
47731 (grub_script_execute_cmdline): In case a command line is not a
47732 command or a function, try to interpret it as an assignment.
47733
f85934bd 477342006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47735
47736 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47737 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47738 skip a node whose name is obviously invalid as UTF-16,
47739 i.e. contains a NUL character. Stop the iteration when the last
47740 directory entry is found. Instead of using the return value of
47741 grub_hfsplus_btree_iterate_node, store the value in RET and use
47742 it, because the iterator can be stopped by the last directory
47743 entry.
47744
8f8a2cf8 477452006-04-30 Marco Gerards <marco@gnu.org>
47746
47747 * include/grub/env.h (grub_env_export): New prototype. Reported
47748 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47749
a27e84ce 477502006-04-30 Marco Gerards <marco@gnu.org>
47751
47752 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47753 size of the extents in a catalog file record.
47754
eaef0553 477552006-04-29 Marco Gerards <marco@gnu.org>
47756
47757 * commands/configfile.c (grub_cmd_configfile): Execute the
47758 configfile within its own context.
47759
47760 * include/grub/env.h (grub_env_context_open): New prototype.
47761 (grub_env_context_close): Likewise.
47762
47763 * kern/env.c (grub_env): Removed.
47764 (grub_env_sorted): Likewise.
47765 (grub_env_context): New variable.
47766 (grub_env_var_context): Likewise.
47767 (grub_env_find): Search both the active context and the global
47768 context.
47769 (grub_env_context_open): New function.
47770 (grub_env_context_close): Likewise.
47771 (grub_env_insert): Likewise.
47772 (grub_env_remove): Likewise.
47773 (grub_env_export): Likewise.
47774 (grub_env_set): Changed to use helper functions to avoid code
47775 duplication.
47776 (grub_env_iterate): Rewritten so both the current context and the
47777 global context are being used.
47778
47779 * normal/command.c (export_command): New function.
47780 (grub_command_init): Register the `export' function.
47781
7b455f4d 477822006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47783
47784 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47785 explicitly to suppress gcc's warnings.
47786 * fs/fat.c (grub_fat_find_dir): Likewise.
47787 (grub_fat_label): Likewise.
47788 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47789 (grub_xfs_mount): Likewise.
47790 (grub_xfs_label): Likewise.
47791 * fs/affs.c (grub_affs_mount): Likewise.
47792 (grub_affs_label): Likewise.
47793 (grub_affs_iterate_dir): Likewise.
47794 * fs/sfs.c (grub_sfs_mount): Likewise.
47795 (grub_sfs_iterate_dir): Likewise.
47796 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47797 * fs/hfs.c (grub_hfs_mount): Likewise.
47798 (grub_hfs_cmp_catkeys): Likewise.
47799 (grub_hfs_find_dir): Likewise.
47800 (grub_hfs_dir): Likewise.
47801 (grub_hfs_label): Likewise.
47802 * fs/jfs.c (grub_jfs_mount): Likewise.
47803 (grub_jfs_opendir): Likewise.
47804 (grub_jfs_getent): Likewise.
47805 (grub_jfs_lookup_symlink): Likewise.
47806 (grub_jfs_label): Likewise.
47807 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47808 (grub_hfsplus_iterate_dir): Likewise.
47809 (grub_hfsplus_btree_iterate_node): Made static.
47810
47811 * util/grub-emu.c (prefix): New variable.
47812 (grub_machine_set_prefix): New function.
47813 (main): Do not set the environment variable "prefix" here. Only
47814 set PREFIX, which is used later by grub_machine_set_prefix.
47815
47816 * include/grub/video.h: Do not include grub/symbol.h.
47817 (grub_video_register): Not exported. This symbol is not defined in
47818 the kernel.
47819 (grub_video_unregister): Likewise.
47820 (grub_video_iterate): Likewise.
47821 (grub_video_setup): Likewise.
47822 (grub_video_restore): Likewise.
47823 (grub_video_get_info): Likewise.
47824 (grub_video_get_blit_format): Likewise.
47825 (grub_video_set_palette): Likewise.
47826 (grub_video_get_palette): Likewise.
47827 (grub_video_set_viewport): Likewise.
47828 (grub_video_get_viewport): Likewise.
47829 (grub_video_map_color): Likewise.
47830 (grub_video_map_rgb): Likewise.
47831 (grub_video_map_rgba): Likewise.
47832 (grub_video_fill_rect): Likewise.
47833 (grub_video_blit_glyph): Likewise.
47834 (grub_video_blit_bitmap): Likewise.
47835 (grub_video_blit_render_target): Likewise.
47836 (grub_video_scroll): Likewise.
47837 (grub_video_swap_buffers): Likewise.
47838 (grub_video_create_render_target): Likewise.
47839 (grub_video_delete_render_target): Likewise.
47840 (grub_video_set_active_render_target): Likewise.
47841
47842 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
47843 Undefined.
47844 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
47845
47846 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
47847 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47848 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47849 instead of $(srcdir)/genkernsyms.sh.
47850
47851 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
47852 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47853 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47854 instead of $(srcdir)/genkernsyms.sh.
47855
47856 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
47857 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47858 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47859 instead of $(srcdir)/genkernsyms.sh.
47860
47861 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
47862 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47863 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47864 instead of $(srcdir)/genkernsyms.sh.
47865
47866 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
47867 genkernsyms.sh.
47868
47869 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
47870 genkernsyms.sh.
47871 (gensymlist.sh): New target.
47872 (genkernsyms.sh): Likewise.
47873
47874 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
47875 genkernsyms.sh.in and gensymlist.sh.in.
47876
47877 * genkernsyms.sh: Removed.
47878 * gensymlist.sh: Likewise.
f19dbdb7 47879
7b455f4d 47880 * genkernsyms.sh.in: New file.
47881 * gensymlist.sh.in: Likewise.
47882
1885bb27 478832006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47884
47885 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
47886 clobber "prefix", since we may have already set it manually.
47887
71538dff 478882006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47889
47890 * kern/misc.c (abort): New alias for grub_abort.
47891
2965c7cc 478922006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
47893
47894 A new machine-specific function "grub_machine_set_prefix" is
47895 defined. This is called after loading modules, so that a prefix
47896 initialization can use modules. Also, this change adds an
47897 intensive debugging feature for the memory manager via the
47898 configure option "--enable-mm-debug".
f19dbdb7 47899
2965c7cc 47900 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
47901 PART.LEN.
47902
47903 * kern/sparc64/ieee1275/init.c (abort): Removed.
47904 (grub_stop): Likewise.
47905 (grub_exit): New function.
47906 (grub_set_prefix): Renamed to ...
47907 (grub_machine_set_prefix): ... this.
47908 (grub_machine_init): Do not call grub_set_prefix.
47909
47910 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
47911 (grub_machine_set_prefix): ... this.
47912 (grub_machine_init): Do not call grub_set_prefix.
47913
47914 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
47915 (grub_machine_init): Do not set the prefix here.
47916
47917 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
47918
47919 * kern/efi/init.c: Include grub/mm.h.
47920 (grub_efi_set_prefix): New function.
47921
47922 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
47923 (grub_efi_get_filename): New function.
47924 (grub_print_device_path): Renamed to ...
47925 (grub_efi_print_device_path): ... this.
47926
47927 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
47928 [MM_DEBUG] (grub_realloc): Likewise.
47929 [MM_DEBUG] (grub_free): Likewise.
47930 [MM_DEBUG] (grub_memalign): Likewise.
47931 [MM_DEBUG] (grub_mm_debug): New variable.
47932 [MM_DEBUG] (grub_debug_malloc): New function.
47933 [MM_DEBUG] (grub_debug_free): New function.
47934 [MM_DEBUG] (grub_debug_realloc): New function.
47935 [MM_DEBUG] (grub_debug_memalign): New function.
47936
47937 * kern/misc.c (grub_abort): Print a newline to distinguish
47938 the message.
47939
47940 * kern/main.c (grub_main): Call grub_machine_set_prefix and
47941 grub_set_root_dev after loading modules. This is necessary when
47942 setting a prefix depends on modules.
47943
47944 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
47945 (grub_efi_print_device_path): ... this.
47946 (grub_efi_get_filename): New prototype.
47947 (grub_efi_set_prefix): Likewise.
47948
47949 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
47950 and grub/disk.h.
47951 (grub_efidisk_get_device_handle): New prototype.
47952 (grub_efidisk_get_device_name): Likewise.
47953
47954 * include/grub/mm.h: Include config.h.
47955 (MM_DEBUG): Removed.
47956 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
47957 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
47958 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
47959 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
47960 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
47961 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
47962 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
47963 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
47964 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
47965
47966 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
47967
47968 * disk/efi/efidisk.c: Include grub/partition.h.
47969 (iterate_child_devices): New function.
47970 (add_device): First, compare only last device path nodes, so that
47971 devices are sorted by the types.
47972 (grub_efidisk_get_device_handle): New function.
47973 (grub_efidisk_get_device_name): Likewise.
47974
47975 * configure.ac (--enable-mm-debug): New option to enable the
47976 memory manager debugging feature. This makes the binary much
47977 bigger, so is disabled by default.
47978
9cacaa17 479792006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
47980
47981 Use grub_abort instead of grub_stop, and grub_exit must be
47982 define in each architecture now. Also, this change adds support
47983 for EFI disks.
f19dbdb7 47984
9cacaa17 47985 * util/i386/pc/grub-probefs.c: Include grub/term.h.
47986 (grub_getkey): New function.
47987 (grub_term_get_current): Likewise.
47988
47989 * util/i386/pc/grub-setup.c: Include grub/term.h.
47990 (grub_getkey): New function.
47991 (grub_term_get_current): Likewise.
47992
47993 * util/misc.c (grub_stop): Renamed to ...
47994 (grub_exit): ... this.
47995
47996 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
47997 (grub_exit): ... this.
47998 (grub_machine_init): Use grub_abort instead of abort.
47999 (grub_stop): Removed.
48000
48001 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48002 abort.
48003
48004 * kern/i386/pc/startup.S (grub_exit): New function.
48005 (cold_reboot): New label.
48006
48007 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48008 (grub_efi_init): Call grub_efidisk_init.
48009 (grub_efi_fini): Call grub_efidisk_fini.
48010
48011 * kern/efi/efi.c: Include grub/mm.h.
48012 (grub_efi_console_control_guid): Renamed to ...
48013 (console_control_guid): ... this.
48014 (grub_efi_loaded_image_guid): Renamed to ...
48015 (loaded_image_guid): ... this.
48016 (grub_efi_locate_handle): New function.
48017 (grub_efi_open_protocol): Likewise.
48018 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48019 GRUB_EFI_CONSOLE_CONTROL_GUID.
48020 (grub_efi_exit): Removed.
48021 (grub_stop): Likewise.
48022 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48023 (grub_exit): New function.
48024 (grub_print_device_path): Likewise.
48025
48026 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48027 (grub_enter_rescue_mode): Register "exit".
48028
48029 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48030 (grub_abort): New function.
48031
48032 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48033
48034 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48035
48036 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48037
48038 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48039 (grub_print_device_path): New prototype.
48040 (grub_efi_locate_handle): Likewise.
48041 (grub_efi_open_protocol): Likewise.
48042
48043 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48044 * disk/efi/efidisk.c: Likewise.
48045
48046 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48047
48048 * include/grub/efi/console_control.h
48049 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48050
48051 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48052 last 8 bytes as an array.
48053 (GRUB_EFI_DISK_IO_GUID): New macro.
48054 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48055 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48056 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48057 grub_uint8_t.
48058 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48059 (struct grub_efi_device_path): Rename the member "sub_type" to
48060 "subtype".
48061 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48062 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48063 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48064 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48065 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48066 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48067 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48068 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48069 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48070 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48071 (struct grub_efi_pci_device_path): New structure.
48072 (grub_efi_pci_device_path_t): New type.
48073 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48074 (struct grub_efi_pccard_device_path): New structure.
48075 (grub_efi_pccard_device_path_t): New type.
48076 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48077 (struct grub_efi_memory_mapped_device_path): New structure.
48078 (grub_efi_memory_mapped_device_path_t): New type.
48079 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48080 (struct grub_efi_vendor_device_path): New structure.
48081 (grub_efi_vendor_device_path_t): New type.
48082 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48083 (struct grub_efi_controller_device_path): New structure.
48084 (grub_efi_controller_device_path_t): New type.
48085 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48086 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48087 (struct grub_efi_acpi_device_path): New structure.
48088 (grub_efi_acpi_device_path_t): New type.
48089 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48090 (struct grub_efi_expanded_acpi_device_path): New structure.
48091 (grub_efi_expanded_acpi_device_path_t): New type.
48092 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48093 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48094 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48095 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48096 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48097 (struct grub_efi_atapi_device_path): New structure.
48098 (grub_efi_atapi_device_path_t): New type.
48099 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48100 (struct grub_efi_fibre_channel_device_path): New structure.
48101 (grub_efi_fibre_channel_device_path_t): New type.
48102 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48103 (struct grub_efi_1394_device_path): New structure.
48104 (grub_efi_1394_device_path_t): New type.
48105 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48106 (struct grub_efi_usb_device_path): New structure.
48107 (grub_efi_usb_device_path_t): New type.
48108 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48109 (struct grub_efi_usb_class_device_path): New structure.
48110 (grub_efi_usb_class_device_path_t): New type.
48111 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48112 (struct grub_efi_i2o_device_path): New structure.
48113 (grub_efi_i2o_device_path_t): New type.
48114 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48115 (struct grub_efi_mac_address_device_path): New structure.
48116 (grub_efi_mac_address_device_path_t): New type.
48117 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48118 (struct grub_efi_ipv4_device_path): New structure.
48119 (grub_efi_ipv4_device_path_t): New type.
48120 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48121 (struct grub_efi_ipv6_device_path): New structure.
48122 (grub_efi_ipv6_device_path_t): New type.
48123 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48124 (struct grub_efi_infiniband_device_path): New structure.
48125 (grub_efi_infiniband_device_path_t): New type.
48126 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48127 (struct grub_efi_uart_device_path): New structure.
48128 (grub_efi_uart_device_path_t): New type.
48129 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48130 (struct grub_efi_vendor_messaging_device_path): New structure.
48131 (grub_efi_vendor_messaging_device_path_t): New type.
48132 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48133 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48134 (struct grub_efi_hard_drive_device_path): New structure.
48135 (grub_efi_hard_drive_device_path_t): New type.
48136 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48137 (struct grub_efi_cdrom_device_path): New structure.
48138 (grub_efi_cdrom_device_path_t): New type.
48139 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48140 (struct grub_efi_vendor_media_device_path): New structure.
48141 (grub_efi_vendor_media_device_path_t): New type.
48142 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48143 (struct grub_efi_file_path_device_path): New structure.
48144 (grub_efi_file_path_device_path_t): New type.
48145 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48146 (struct grub_efi_protocol_device_path): New structure.
48147 (grub_efi_protocol_device_path_t): New type.
48148 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48149 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48150 (struct grub_efi_bios_device_path): New structure.
48151 (grub_efi_bios_device_path_t): New type.
48152 (struct grub_efi_disk_io): New structure.
48153 (grub_efi_disk_io_t): New type.
48154 (struct grub_efi_block_io_media): New structure.
48155 (grub_efi_block_io_media_t): New type.
48156 (struct grub_efi_block_io): New structure.
48157 (grub_efi_block_io_t): New type.
48158
48159 * include/grub/misc.h (grub_stop): Removed.
48160 (grub_exit): New prototype.
48161 (grub_abort): Likewise.
48162
48163 * include/grub/disk.h (enum grub_disk_dev_id): Added
48164 GRUB_DISK_DEVICE_EFIDISK_ID.
48165
48166 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48167 disk/efi/efidisk.c.
48168 (kernel_syms.lst): Remove the target if an error occurs.
48169
49986a9f 481702006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48171
48172 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48173 as it was simply too buggy.
48174
970d3b8a 481752006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48176
48177 * kern/misc.c (grub_lltoa): New function.
48178 (grub_vsprintf): Added support for the long long suffix,
48179 i.e. "ll".
48180
ff04ec24 481812006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48182
48183 * Makefile.in (LDFLAGS): Add variable.
48184 (LD): Remove variable.
48185 * configure.ac: Add -m32 to LDFLAGS.
48186 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48187 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48188 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48189 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48190 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48191 variables.
48192 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48193 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48194 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48195
37e5e1a4 481962006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48197
48198 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48199 length for unknown glyph.
48200
c352d8dd 482012006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48202
2eab1c0d 48203 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48204
2eab1c0d 48205 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48206 completely. Accept one more argument DIR. The caller has changed.
48207
48208 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48209
48210 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48211 (grub_efi_loaded_image_guid): New variable.
48212 (grub_efi_get_loaded_image): New function.
48213 (grub_arch_modules_addr): Likewise.
48214
48215 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48216 prototype.
48217
48218 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48219 (struct grub_efi_loaded_image): New structure.
48220 (grub_efi_loaded_image_t): New type.
48221
482222006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48223
c352d8dd 48224 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48225 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48226 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48227
6d01d6b4 482282006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48229
48230 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48231
976a4ea0 482322006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48233
48234 * DISTLIST: Added include/grub/efi/console.h,
48235 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48236 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48237
48238 * include/grub/efi/console.h: New file.
48239 * include/grub/efi/time.h: Likewise.
48240 * include/grub/i386/efi/kernel.h: Likewise.
48241 * kern/efi/init.c: Likewise.
48242 * kern/efi/mm.c: Likewise.
48243 * term/efi/console.c: Likewise.
f19dbdb7 48244
976a4ea0 48245 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48246 (grub_stop): Removed.
48247 (grub_get_rtc): Likewise.
48248 (grub_machine_init): Simply call grub_efi_init.
48249 (grub_machine_fini): Call grub_efi_fini.
48250
48251 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48252 (grub_efi_output_string): Removed.
48253 (grub_efi_stall): New function.
48254 (grub_stop): Likewise.
48255 (grub_get_rtc): Likewise.
48256
48257 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48258 (grub_efi_stall): New prototype.
48259 (grub_efi_allocate_pages): Likewise.
48260 (grub_efi_free_pages): Likewise.
48261 (grub_efi_get_memory_map): Likewise.
48262 (grub_efi_mm_init): Likewise.
48263 (grub_efi_mm_fini): Likewise.
48264 (grub_efi_init): Likewise.
48265 (grub_efi_fini): Likewise.
48266
48267 * include/grub/i386/efi/time.h: Do not include
48268 grub/symbol.h. Include grub/efi/time.h.
48269 (GRUB_TICKS_PER_SECOND): Removed.
48270 (grub_get_rtc): Likewise.
48271
48272 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48273 Added padding. The EFI spec is buggy.
48274 (GRUB_EFI_BLACK): New macro.
48275 (GRUB_EFI_BLUE): Likewise.
48276 (GRUB_EFI_GREEN): Likewise.
48277 (GRUB_EFI_CYAN): Likewise.
48278 (GRUB_EFI_RED): Likewise.
48279 (GRUB_EFI_MAGENTA): Likewise.
48280 (GRUB_EFI_BROWN): Likewise.
48281 (GRUB_EFI_LIGHTGRAY): Likewise.
48282 (GRUB_EFI_BRIGHT): Likewise.
48283 (GRUB_EFI_DARKGRAY): Likewise.
48284 (GRUB_EFI_LIGHTBLUE): Likewise.
48285 (GRUB_EFI_LIGHTGREEN): Likewise.
48286 (GRUB_EFI_LIGHTCYAN): Likewise.
48287 (GRUB_EFI_LIGHTRED): Likewise.
48288 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48289 (GRUB_EFI_YELLOW): Likewise.
48290 (GRUB_EFI_WHITE): Likewise.
48291 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48292 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48293 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48294 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48295 (GRUB_EFI_BACKGROUND_RED): Likewise.
48296 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48297 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48298 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48299 (GRUB_EFI_TEXT_ATTR): Likewise.
48300
48301 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48302 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48303 (kernel_mod_HEADERS): Added efi/time.h.
48304
83709125 483052006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48306
48307 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48308 include/grub/efi/api.h, include/grub/efi/console_control.h,
48309 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48310 include/grub/i386/efi/time.h, kern/efi/efi.c,
48311 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48312 and util/i386/efi/grub-mkimage.c.
48313
48314 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48315
48316 * genmk.rb (PModule#rule): Do not export symbols if
48317 #{prefix}_EXPORTS is set to "no".
48318
48319 * conf/i386-efi.mk: New file.
48320 * conf/i386-efi.rmk: Likewise.
48321 * include/grub/efi/api.h: Likewise.
48322 * include/grub/efi/console_control.h: Likewise.
48323 * include/grub/efi/efi.h: Likewise.
48324 * include/grub/efi/pe32.h: Likewise.
48325 * include/grub/i386/efi/time.h: Likewise.
48326 * kern/efi/efi.c: Likewise.
48327 * kern/i386/efi/init.c: Likewise.
48328 * kern/i386/efi/startup.S: Likewise.
48329 * util/i386/efi/grub-mkimage.c: Likewise.
48330
483312006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48332
48333 * include/grub/script.h: Include <grub/parser.h> and
48334 "grub_script.tab.h".
48335 (struct grub_lexer_param): New struct.
48336 (struct grub_parser_param): Likewise.
48337 (grub_script_create_arglist): Pass the state in an argument.
48338 (grub_script_add_arglist): Likewise.
48339 (grub_script_create_cmdline): Likewise.
48340 (grub_script_create_cmdblock): Likewise.
48341 (grub_script_create_cmdif): Likewise.
48342 (grub_script_create_cmdmenu): Likewise.
48343 (grub_script_add_cmd): Likewise.
48344 (grub_script_arg_add): Likewise.
48345 (grub_script_lexer_ref): Likewise.
48346 (grub_script_lexer_deref): Likewise.
48347 (grub_script_lexer_record_start): Likewise.
48348 (grub_script_lexer_record_stop): Likewise.
48349 (grub_script_mem_record): Likewise.
48350 (grub_script_mem_record_stop): Likewise.
48351 (grub_script_malloc): Likewise.
48352 (grub_script_yylex): Likewise.
48353 (grub_script_yyparse): Likewise.
48354 (grub_script_yyerror): Likewise.
48355 (grub_script_yylex): Likewise.
48356 (grub_script_lexer_init): Return the state.
48357
48358 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48359 (grub_script_lexer_done): Likewise.
48360 (grub_script_lexer_getline): Likewise.
48361 (grub_script_lexer_refs): Likewise.
48362 (script): Likewise.
48363 (newscript): Likewise.
48364 (record): Likewise.
48365 (recording): Likewise.
48366 (recordpos): Likewise.
48367 (recordlen): Likewise.
48368 (grub_script_lexer_init): Return the state instead of setting
48369 global variables.
48370 (grub_script_lexer_ref): Use the newly added argument for state
48371 instead of globals.
48372 (grub_script_lexer_deref): Likewise.
48373 (grub_script_lexer_record_start): Likewise.
48374 (grub_script_lexer_record_stop): Likewise.
48375 (recordchar): Likewise.
48376 (nextchar): Likewise.
48377 (grub_script_yylex2): Likewise.
48378 (grub_script_yylex): Likewise.
48379 (grub_script_yyerror): Likewise.
48380
48381 * normal/parser.y (func_mem): Removed variable.
48382 (menu_entry): Likewise.
48383 (err): Likewise.
48384 (%lex-param): New parser option.
48385 (%parse-param): Likewise.
48386 (script): Always return the AST.
48387 (argument): Pass the state around.
48388 (arguments): Likewise.
48389 (grubcmd): Likewise.
48390 (commands): Likewise.
48391 (function): Likewise.
48392 (menuentry): Likewise.
48393 (if_statement): Likewise.
48394 (if): Likewise.
48395
48396 * normal/script.c (grub_script_memused): Removed variable.
48397 (grub_script_parsed): Likewise.
48398 (grub_script_malloc): Added a state argument. Use that instead of
48399 global variables.
48400 (grub_script_mem_record): Likewise.
48401 (grub_script_mem_record_stop): Likewise.
48402 (grub_script_arg_add): Likewise.
48403 (grub_script_add_arglist): Likewise.
48404 (grub_script_create_cmdline): Likewise.
48405 (grub_script_create_cmdif): Likewise.
48406 (grub_script_create_cmdmenu): Likewise.
48407 (grub_script_add_cmd): Likewise.
48408 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48409
e2a8c904 484102006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48411
48412 * normal/command.c (grub_command_init): Remove the title command.
48413
48414 * normal/lexer.c (grub_script_yylex): Renamed from this...
48415 (grub_script_yylex2): ... to this.
48416 (grub_script_yylex): New function. Temporary
48417 introduced to filter some tokens.
48418 (grub_script_yyerror): Print a newline.
48419
48420 * normal/main.c (read_config_file): Output information about the
48421 lines that contain errors. Wait for a key after all lines have
48422 been processed. Don't return an empty menu.
48423
48424 * normal/parser.y (func_mem): Don't initialize.
48425 (menu_entry): Likewise.
48426 (err): New variable.
48427 (script): Don't return anything when an error was encountered.
48428 (ws, returns): Removed rules.
48429 (argument): Disabled concatenated variable support.
48430 (arguments): Remove explicit separators.
48431 (grubcmd): Likewise.
48432 (function): Likewise.
48433 (menuentry): Likewise.
48434 (if): Likewise.
48435 (commands): Likewise. Add error handling.
48436
48437 * normal/script.c (grub_script_create_cmdline): If
48438 `grub_script_parsed' is 0, assume the parser encountered an error.
48439
c9a86192 484402006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48441
48442 * configure.ac: Add support for EFI. Fix the typo
48443 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48444
70f3b243 484452006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48446
48447 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48448 foreign multibyte characters should be shown correctly.
48449
65f201ad 484502006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48451
48452 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48453 calculation.
48454 (read_config_file): Made it to close file before returning.
48455
b4b93674 484562006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48457
48458 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48459 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48460 video/i386/pc/vbefill.c.
48461
48462 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48463 video/i386/pc/vbefill.c.
48464
48465 * include/grub/video.h (grub_video_blit_format): New enum.
48466 (grub_video_mode_info): Added new member blit_format.
48467 (grub_video_get_blit_format): New function prototype.
48468
48469 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48470 function prototype.
48471 (grub_video_vbe_map_rgb): Likewise.
48472 (grub_video_vbe_unmap_color): Likewise.
48473
48474 * include/grub/i386/pc/vbeblit.h: New file.
48475
48476 * include/grub/i386/pc/vbefill.h: New file.
48477
48478 * video/video.c (grub_video_get_blit_format): New function.
48479 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48480 (grub_video_vbe_map_rgb): Likewise.
48481 (grub_video_vbe_unmap_color): Likewise.
48482
48483 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48484 optimized fills.
48485 (grub_video_vbe_blit_render_target): Changed to use more optimized
48486 blits.
48487 (grub_video_vbe_setup): Added detection for optimized settings.
48488 (grub_video_vbe_create_render_target): Likewise.
48489
48490 * video/i386/pc/vbeblit.c: New file.
48491
48492 * video/i386/pc/vbefill.c: New file.
48493
c2379b9c 484942006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48495
48496 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48497 here...
48498
48499 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48500 parsing to support both hex and dec ranges. If filename was missing
48501 show usage information.
48502
bd0d7896 485032006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48504
48505 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48506 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48507
48508 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48509 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48510 (video_mod_SOURCES): Added.
48511 (video_mod_CFLAGS): Likewise.
48512 (video_mod_LDFLAGS): Likewise.
48513 (gfxterm_mod_SOURCES): Likewise.
48514 (gfxterm_mod_CFLAGS): Likewise.
48515 (gfxterm_mod_LDFLAGS): Likewise.
48516 (videotest_mod_SOURCES): Likewise.
48517 (videotest_mod_CFLAGS): Likewise.
48518 (videotest_mod_LDFLAGS): Likewise.
48519 (vesafb_mod_SOURCES): Removed.
48520 (vesafb_mod_CFLAGS): Likewise.
48521 (vesafb_mod_LDFLAGS): Likewise.
48522 (vga_mod_SOURCES): Likewise.
48523 (vga_mod_CFLAGS): Likewise.
48524 (vga_mod_LDFLAGS): Likewise.
48525
48526 * commands/videotest.c: New file.
48527
48528 * font/manager.c (fill_with_default_glyph): Modified to use
48529 grub_font_glyph.
48530 (grub_font_get_glyph): Likewise.
48531 (fontmanager): Renamed from this...
48532 (font_manager): ... to this.
48533
48534 * include/grub/font.h (grub_font_glyph): Added new structure.
48535 (grub_font_get_glyph): Modified to use grub_font_glyph.
48536
48537 * include/grub/misc.h (grub_abs): Added as inline function.
48538
48539 * include/grub/video.h: New file.
48540
48541 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48542 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48543 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48544 (grub_vbe_get_controller_info): Renamed from this...
48545 (grub_vbe_bios_get_controller_info): ... to this.
48546 (grub_vbe_get_mode_info): Renamed from this...
48547 (grub_vbe_bios_get_mode_info): ... to this.
48548 (grub_vbe_set_mode): Renamed from this...
48549 (grub_vbe_bios_set_mode): ... to this.
48550 (grub_vbe_get_mode): Renamed from this...
48551 (grub_vbe_bios_get_mode): ... to this.
48552 (grub_vbe_set_memory_window): Renamed from this...
48553 (grub_vbe_bios_set_memory_window): ... to this.
48554 (grub_vbe_get_memory_window): Renamed from this...
48555 (grub_vbe_bios_get_memory_window): ... to this.
48556 (grub_vbe_set_scanline_length): Renamed from this...
48557 (grub_vbe_set_scanline_length): ... to this.
48558 (grub_vbe_get_scanline_length): Renamed from this...
48559 (grub_vbe_bios_get_scanline_length): ... to this.
48560 (grub_vbe_set_display_start): Renamed from this...
48561 (grub_vbe_bios_set_display_start): ... to this.
48562 (grub_vbe_get_display_start): Renamed from this...
48563 (grub_vbe_bios_get_display_start): ... to this.
48564 (grub_vbe_set_palette_data): Renamed from this...
48565 (grub_vbe_bios_set_palette_data): ... to this.
48566 (grub_vbe_set_pixel_rgb): Removed.
48567 (grub_vbe_set_pixel_index): Likewise.
48568
48569 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48570 from this...
48571 (grub_vbe_bios_get_controller_info): ... to this.
48572 (grub_vbe_get_mode_info): Renamed from this...
48573 (grub_vbe_bios_get_mode_info): ... to this.
48574 (grub_vbe_set_mode): Renamed from this...
48575 (grub_vbe_bios_set_mode): ... to this.
48576 (grub_vbe_get_mode): Renamed from this...
48577 (grub_vbe_bios_get_mode): ... to this.
48578 (grub_vbe_set_memory_window): Renamed from this...
48579 (grub_vbe_bios_set_memory_window): ... to this.
48580 (grub_vbe_get_memory_window): Renamed from this...
48581 (grub_vbe_bios_get_memory_window): ... to this.
48582 (grub_vbe_set_scanline_length): Renamed from this...
48583 (grub_vbe_set_scanline_length): ... to this.
48584 (grub_vbe_get_scanline_length): Renamed from this...
48585 (grub_vbe_bios_get_scanline_length): ... to this.
48586 (grub_vbe_set_display_start): Renamed from this...
48587 (grub_vbe_bios_set_display_start): ... to this.
48588 (grub_vbe_get_display_start): Renamed from this...
48589 (grub_vbe_bios_get_display_start): ... to this.
48590 (grub_vbe_set_palette_data): Renamed from this...
48591 (grub_vbe_bios_set_palette_data): ... to this.
48592 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48593 getting corrupted after calling it. Added more pushes and pops.
48594 (grub_vbe_bios_set_mode): Likewise.
48595 (grub_vbe_bios_get_mode): Likewise.
48596 (grub_vbe_bios_get_memory_window): Likewise.
48597 (grub_vbe_bios_set_scanline_length): Likewise.
48598 (grub_vbe_bios_get_scanline_length): Likewise.
48599 (grub_vbe_bios_get_display_start): Likewise.
48600 (grub_vbe_bios_set_palette_data): Likewise.
48601
48602 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48603 (cl_insert): Likewise.
48604 (cl_delete): Likewise.
48605
48606 * term/gfxterm.c: New file.
48607
48608 * term/i386/pc/vesafb.c: Removed file.
48609
48610 * video/video.c: New file.
48611
48612 * video/i386/pc/vbe.c (real2pm): Added new function.
48613 (grub_video_vbe_draw_pixel): Likewise.
48614 (grub_video_vbe_get_video_ptr): Likewise.
48615 (grub_video_vbe_get_pixel): Likewise
48616 (grub_video_vbe_init): Likewise.
48617 (grub_video_vbe_fini): Likewise.
48618 (grub_video_vbe_setup): Likewise.
48619 (grub_video_vbe_get_info): Likewise.
48620 (grub_video_vbe_set_palette): Likewise.
48621 (grub_video_vbe_get_palette): Likewise.
48622 (grub_video_vbe_set_viewport): Likewise.
48623 (grub_video_vbe_get_viewport): Likewise.
48624 (grub_video_vbe_map_color): Likewise.
48625 (grub_video_vbe_map_rgb): Likewise.
48626 (grub_video_vbe_map_rgba): Likewise.
48627 (grub_video_vbe_unmap_color): Likewise.
48628 (grub_video_vbe_fill_rect): Likewise.
48629 (grub_video_vbe_blit_glyph): Likewise.
48630 (grub_video_vbe_blit_bitmap): Likewise.
48631 (grub_video_vbe_blit_render_target): Likewise.
48632 (grub_video_vbe_scroll): Likewise.
48633 (grub_video_vbe_swap_buffers): Likewise.
48634 (grub_video_vbe_create_render_target): Likewise.
48635 (grub_video_vbe_delete_render_target): Likewise.
48636 (grub_video_vbe_set_active_render_target): Likewise.
48637 (grub_vbe_set_pixel_rgb): Remove function.
48638 (grub_vbe_set_pixel_index): Likewise.
48639 (index_color_mode): Remove static variable.
48640 (active_mode): Likewise.
48641 (framebuffer): Likewise.
48642 (bytes_per_scan_line): Likewise.
48643 (grub_video_vbe_adapter): Added new static variable.
48644 (framebuffer): Likewise.
48645 (render_target): Likewise.
48646 (initial_mode): Likewise.
48647 (mode_in_use): Likewise.
48648 (mode_list): Likewise.
48649
5f97350b 486502006-03-10 Marco Gerards <marco@gnu.org>
48651
48652 * configure.ac (AC_INIT): Bumped to 1.93.
48653
48654 * DISTLIST: Added `include/grub/hfs.h'.
48655
a3c5c6f8 486562006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48657
48658 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48659 18H, which might help the BIOS falling back to next boot media.
48660
6de53d26 486612006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48662
48663 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48664 Poe Chen <poe.poechen@gmail.com>.
48665
77c4a393 486662006-01-17 Marco Gerards <marco@gnu.org>
48667
48668 * include/grub/normal.h: Include <grub/script.h>.
48669 (grub_command_list): Removed struct.
48670 (grub_command_list_t): Removed type.
48671 (grub_menu_entry): Remove members `num' and `command_list'. Add
48672 members `commands' and `sourcecode'.
48673 * include/grub/script.h: Add inclusion guards.
48674 (grub_script_cmd_menuentry): New struct.
48675 (grub_script_execute_menuentry): New prototype.
48676 (grub_script_lexer_record_start): Likewise.
48677 (grub_script_lexer_record_stop): Likewise.
48678 * normal/execute.c (grub_script_execute_menuentry): New function.
48679 * normal/lexer.c (record, recording, recordpos, recordlen): New
48680 variables.
48681 (grub_script_lexer_record_start): New function.
48682 (grub_script_lexer_record_stop): Likewise.
48683 (recordchar): Likewise.
48684 (nextchar): Likewise.
48685 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48686 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48687 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48688 (current_menu): New variable.
48689 (free_menu): Mainly rewritten.
48690 (grub_normal_menu_addentry): New function.
48691 (read_config_file): Rewritten.
48692 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 48693 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 48694 the menu entry.
48695 (run): Mainly rewritten.
48696 * normal/parser.y (menu_entry): New variable.
48697 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48698 (menuentry): New rule.
48699 (command): Add `menuentry'.
48700 (if_statement): Allow additional returns before `fi'.
48701 * normal/script.c (grub_script_create_cmdmenu): New function.
48702
144f1f98 487032006-01-03 Marco Gerards <marco@gnu.org>
48704
48705 * INSTALL: GNU Bison is required.
48706 * configure.ac: Rewritten the test to detect Bison.
48707 * Makefile.in (YACC): New variable. Reported by Xun Sun
48708 <xun.sun.cn@gmail.com>.
48709
af4b2d89 487102006-01-03 Marco Gerards <marco@gnu.org>
48711
48712 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48713 the HFS+ filesystem to filesystem blocks.
48714 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48715 GCC warning is silenced.
48716
15643b71 487172006-01-03 Marco Gerards <marco@gnu.org>
48718
48719 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48720 read from disk from big endian to host byte order.
48721
00905879 487222006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48723
48724 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48725 documentation.
48726 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48727 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48728 embedded HFS+ filesystem.
48729 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48730 (grub_hfs_sblock): Move from here...
48731 * include/grub/hfs.h: To here... New file.
48732 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48733 documentation.
48734 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48735 New macros.
48736 (grub_hfsplus_volheader): Change type of member `magic' to
48737 `grub_uint16_t'.
48738 (grub_hfsplus_data): Add new member `embedded_offset'.
48739 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48740 returned block.
48741 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48742 Calculate the offset.
48743
8899bc3e 487442005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48745
48746 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48747 Removed.
48748 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48749
ae8c0277 487502005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48751
48752 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48753 ENV->NAME is NULL after allocating ENV->VALUE.
48754
07084456 487552005-12-25 Marco Gerards <marco@gnu.org>
48756
48757 * kern/env.c (grub_env_set): Rewritten the error handling code.
48758
4750f5f1 487592005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48760
48761 * geninit.sh: Made more robust, and more portable.
48762
50214199 487632005-12-25 Marco Gerards <marco@gnu.org>
48764
48765 Add support for Apple HFS+ filesystems.
f19dbdb7 48766
50214199 48767 * fs/hfsplus.c: New file.
48768
48769 * DISTLIST: Added `fs/hfsplus.c'.
48770
48771 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48772 (hfsplus_mod_SOURCES): New variable.
48773 (hfsplus_mod_CFLAGS): Likewise.
48774 (hfsplus_mod_LDFLAGS): Likewise.
48775 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48776 (grub_setup_SOURCES): Likewise.
48777 (grub_mkdevicemap_SOURCES): Likewise.
48778 (grub_emu_SOURCES): Likewise.
48779 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48780
48781 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48782
48783 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48784
befaed6c 487852005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48786
48787 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48788 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48789 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48790 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48791 normal/lexer.c, normal/parser.y, normal/script.c, and
48792 partmap/gpt.c.
48793 Removed kern/sparc64/cache.c.
48794
48795 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48796 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48797 grub_emu_init.c.
48798
48799 * configure.ac (AC_INIT): Bumped to 1.92.
48800
6a124103 488012005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48802
48803 * kern/err.c (grub_error_push): Added new function to support error
48804 stacks.
48805 (grub_error_pop): Likewise.
48806 (grub_error_stack_items): New local variable to support error stacks.
48807 (grub_error_stack_pos): Likewise.
48808 (grub_error_stack_assert): Likewise.
48809 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48810 stack depth.
48811 (grub_print_error): Added support to print errors from error stack.
48812
48813 * include/grub/err.h (grub_error_push): Added function prototype.
48814 (grub_error_pop): Likewise.
48815
be973c1b 488162005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48817
48818 * configure.ac: Accept `powerpc64' as host_cpu.
48819 (amd64): Rename to `biarch32'.
48820
48821 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48822 non-cacheline-aligned addresses.
48823
48824 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48825 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48826 if `size' is non-zero.
48827
b04216ab 488282005-12-03 Marco Gerards <mgerards@xs4all.nl>
48829
48830 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48831 and `cd' to make sure the filename is not prefixed with a
48832 directory name.
48833 (pkgdata_MODULES): Add `gpt.mod'.
48834 (gpt_mod_SOURCES): New variable.
48835 (gpt_mod_CFLAGS): Likewise.
48836 (gpt_mod_LDFLAGS): Likewise.
48837
48838 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
48839
48840 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
48841 New macro.
48842
48843 * partmap/gpt.c: New file.
48844
48845 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
48846 GPT partition map is detected.
48847
41730ed9 488482005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
48849
48850 * commands/i386/pc/play.c: New file.
48851 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
48852 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
48853 macros.
f19dbdb7 48854
95dc3643 488552005-11-27 Marco Gerards <mgerards@xs4all.nl>
48856
48857 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
48858 ((unused))' to silence gcc warning.
48859
1569ec51 488602005-11-26 Hollis Blanchard <hollis@penguinppc.org>
48861
48862 * configure.ac: Correct `AC_PROG_YACC' test.
48863
9abde152 488642005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48865
48866 * util/powerpc/ieee1275/grub-install.in: Run the mount point
48867 check before installing files.
48868
44b83271 488692005-11-22 Mike Small <smallm@panix.com>
48870
48871 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
48872 number regex so multidigit numbers are recognized correctly.
48873
488742005-11-22 Mike Small <smallm@panix.com>
48875
48876 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
48877 debugging message before attempting to claim memory.
48878 (grub_rescue_cmd_initrd): Add a claim debugging message and try
48879 multiple addresses in case of failure.
48880
9c12956b 488812005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48882
48883 * term/tparm.c (get_space): Remove empty `if' statement.
48884
48885 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
48886
48887 * kern/parser.c (check_varstate): Rename `state' to 's'.
48888
aeaf81d9 488892005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48890
48891 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
48892 variable definitions to the beginning of each function. Sort stack
48893 variables by size.
48894 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
48895 `buf' argument to `char *'.
48896
79bbb63f 488972005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48898
48899 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
48900 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48901 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 48902 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48903 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48904 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48905 configfile.mod, search.mod, gzio.mod and test.mod.
48906 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48907 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48908 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48909 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48910 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48911 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48912 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48913 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48914 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48915 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48916 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48917 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48918 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48919 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48920 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48921 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48922 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48923 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48924 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48925 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48926 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48927 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48928 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
48929
48930 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
48931 `grep --include'.
48932 (pkgdata_MODULES): Add test.mod.
48933
233b1628 489342005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48935
48936 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
48937 appending to variables with "+=".
48938 (PModule): Use full pathname to generate *.lst filenames.
48939
48940 * Makefile.in: Fixed list rules moved from genmk.rb.
48941 (.DELETE_ON_ERROR): New special target.
48942 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
48943
48944 * conf/i386-pc.rmk: Include conf/common.mk.
48945 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48946 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 48947 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48948 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48949 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48950 configfile.mod, search.mod, gzio.mod and test.mod.
48951 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48952 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48953 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48954 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48955 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48956 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48957 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48958 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48959 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48960 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48961 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48962 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48963 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48964 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48965 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48966 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48967 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48968 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48969 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48970 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48971 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48972 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48973 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
48974 here...
48975 * conf/common.rmk: ... to here. New file.
48976
48977 * conf/common.mk: New file.
48978
16f820c8 489792005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
48980
48981 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
48982 (grub_script.tab.c): ... here.
48983
48984 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
48985 (grub_script.tab.c): ... here.
48986
48987 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
48988 (grub_script.tab.c): ... here.
48989
48990 * normal/command.c (grub_command_find): Fixed a memory leak of
48991 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
48992
63ba1554 489932005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48994
48995 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
48996 "@" which marks the start of a comment on ARM.
48997 (VARIABLE): Likewise.
48998
7f67dc13 489992005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49000
79bbb63f 49001 Add support for Linux/ADFS partition tables.
7f67dc13 49002
49003 * partmap/acorn.c: New file.
49004
49005 * include/grub/acorn_filecore.h: Likewise.
49006
49007 * DISTLIST: Added `partmap/acorn.c' and
49008 `include/grub/acorn_filecore.h'.
f19dbdb7 49009
7f67dc13 49010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49011 `partmap/acorn.c'.
49012 (pkgdata_MODULES): Add `acorn.mod'.
49013 (acorn_mod_SOURCES): New variable.
49014 (acorn_mod_CFLAGS): Likewise.
49015
49016 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49017 `partmap/acorn.c'.
49018 (pkgdata_MODULES): Add `acorn.mod'.
49019 (acorn_mod_SOURCES): New variable.
49020 (acorn_mod_CFLAGS): Likewise.
49021
49022 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49023 (pkgdata_MODULES): Add `acorn.mod'.
49024 (acorn_mod_SOURCES): New variable.
49025 (acorn_mod_CFLAGS): Likewise.
49026 (acorn_mod_LDFLAGS): Likewise.
49027
49028 * include/types.h (grub_disk_addr_t): New typedef.
49029
6d099807 490302005-11-13 Marco Gerards <mgerards@xs4all.nl>
49031
49032 * geninit.sh: New file.
49033
49034 * geninitheader.sh: Likewise.
49035
49036 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49037 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49038 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49039 * commands/configfile.c (grub_configfile_init)
49040 (grub_configfile_fini): Likewise.
49041 * commands/default.c (grub_default_init, grub_default_fini):
49042 Likewise.
49043 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49044 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49045 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49046 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49047 Likewise.
49048 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49049 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49050 Likewise.
49051 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49052 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49053 Likewise.
49054 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49055 Likewise.
fe6b695a 49056 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49057 Likewise.
49058 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49059 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49060 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49061 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49062 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49063 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49064 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49065 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49066 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49067 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49068 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49069 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49070 * partmap/amiga.c (grub_amiga_partition_map_init)
49071 (grub_amiga_partition_map_fini): Likewise.
49072 * partmap/apple.c (grub_apple_partition_map_init)
49073 (grub_apple_partition_map_fini): Likewise.
49074 * partmap/pc.c (grub_pc_partition_map_init)
49075 (grub_pc_partition_map_fini): Likewise.
49076 * partmap/sun.c (grub_sun_partition_map_init,
49077 grub_sun_partition_map_fini): Likewise.
49078 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49079 Likewise.
49080
49081 * util/grub-emu.c: Include <grub_modules_init.h>.
49082 (main): Don't initialize and de-initialize any modules directly,
49083 use `grub_init_all' and `grub_fini_all' instead.
49084
49085 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49086 `grub_vesafb_mod_init'.
49087 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49088 all users.
49089 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49090 `grub_vga_mod_init'. Updated all users.
49091 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49092
6d099807 49093 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49094 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49095 rules.
49096
49097 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49098 Generate a function to initialize the module in utilities.
49099 Updated all callers.
49100 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49101 initialize the module in utilities. Updated all callers.
49102
9046bcf0 491032005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49104
49105 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49106 escape sequence and a literal ^L to clear the screen.
49107
49108 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49109 when returning from Open Firmware.
49110
d13ea639 491112005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49112
49113 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49114 (grub_ofconsole_height): Likewise.
49115 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49116 manually insert a '\n'.
49117 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49118 `grub_ofconsole_height'. Return early if these are already set.
49119
a8fcf206 491202005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49121
49122 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49123 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49124 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49125 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49126 and `normal/script.c'.
49127 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49128 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49129 (test_mod_SOURCES): New variable.
49130 (test_mod_CFLAGS): Likewise.
49131 (test_mod_LDFLAGS): Likewise.
49132 (pkgdata_MODULES): Add `test.mod'.
49133 (grub_script.tab.c): New rule.
49134 (grub_script.tab.h): Likewise.
49135
b6b32745 491362005-11-07 Marco Gerards <mgerards@xs4all.nl>
49137
49138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49139 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49140 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49141 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49142 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49143 (test_mod_SOURCES): New variable.
49144 (test_mod_CFLAGS): Likewise.
49145 (pkgdata_MODULES): Add `test.mod'.
49146 (grub_script.tab.c): New rule.
49147 (grub_script.tab.h): Likewise.
49148
daac212a 491492005-11-06 Marco Gerards <mgerards@xs4all.nl>
49150
49151 Add initial scripting support.
49152
49153 * commands/test.c: New file.
49154 * include/grub/script.h: Likewise.
49155 * normal/execute.c: Likewise.
49156 * normal/function.c: Likewise.
49157 * normal/lexer.c: Likewise.
49158 * normal/parser.y: Likewise.
49159 * normal/script.c: Likewise.
49160
49161 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49162
daac212a 49163 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49164 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49165 `normal/function.c' and `normal/script.c'.
49166 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49167 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49168 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49169 variables.
daac212a 49170 (pkgdata_MODULES): Add `test.mod'.
49171 (grub_script.tab.c): New rule.
49172 (grub_script.tab.h): Likewise.
49173
49174 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49175
49176 * include/grub/normal.h (grub_test_init): New prototype.
49177 (grub_test_fini): Likewise.
f19dbdb7 49178
daac212a 49179 * normal/command.c: Include <grub/script.h>.
49180 (grub_command_execute): Rewritten.
f19dbdb7 49181
daac212a 49182 * util/grub-emu.c (main): Call `grub_test_init' and
49183 `grub_test_fini'.
49184
77500b2b 491852005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49186
49187 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49188 to 0.
49189 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49190 there are no pending characters.
49191
e45deb9e 491922005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49193
49194 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49195 `grub_strndup' to drop device arguments. Replace unnecessary
49196 `grub_strndup' with `grub_strdup'.
49197
4ce32619 491982005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49199
49200 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49201 `debug' environment variable has been set.
49202
492032005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49204
4ce32619 49205 * Makefile.in (install-local): Use $(DATA).
49206 (uninstall): Likewise.
49207 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49208 (sbin_UTILITIES): ... to here.
49209 (sbin_SCRIPTS): New variable.
49210 (grub_install_SOURCES): New variable.
49211 * util/powerpc/ieee1275/grub-install.in: New file.
49212 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49213 variable.
49214 (add_segments): Call `grub_util_get_path'.
49215
25fe6f03 492162005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49217
49218 From Timothy Baldwin:
49219 * commands/ls.c (grub_ls_list_files): Close FILE with
49220 grub_file_close.
49221 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49222
04ccf3ec 492232005-10-24 Marco Gerards <mgerards@xs4all.nl>
49224
49225 * include/grub/parser.h: New file.
49226
49227 * kern/parser.c: Likewise.
49228
49229 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49230 (grub_setup_SOURCES): Likewise.
49231 (grub_probefs_SOURCES): Likewise.
49232 (grub_emu_SOURCES): Likewise.
49233 (kernel_img_HEADERS): Add `parser.h'.
49234
49235 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49236 (grub_emu_SOURCES): Add `kern/parser.c'.
49237 (grubof_SOURCES): Likewise.
49238
49239 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49240 (grubof_SOURCES): Add `kern/parser.c'.
49241
49242 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49243
49244 * kern/misc.c (grub_split_cmdline): Removed function.
49245
49246 * kern/rescue.c: Include <grub/parser.h>.
49247 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49248 of `grub_split_cmdline'.
49249
49250 * normal/command.c: Include <grub/parser.h>.
49251 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49252 of `grub_split_cmdline'.
49253
49254 * normal/completion.c: Include <grub/parser.h>.
49255 (cmdline_state): New variable.
49256 (iterate_dir): End the filename with a quote depending on the
49257 command line state.
49258 (get_state): new function.
49259 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49260 split the arguments and determine the current argument. When the
49261 argument string is not quoted, escape all spaces.
49262
6d8f4b0e 492632005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49264
49265 * normal/sparc64/setjmp.S: New file.
49266
15cf03ed 492672005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49268
49269 * include/grub/sparc64/libgcc.h: New file.
49270 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49271 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49272 normal/sparc64/setjmp.c.
49273
03e8661a 492742005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49275
49276 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49277 * kern/sparc64/cache.S: New file.
49278 * kern/sparc64/cache.c: Removed.
49279 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49280 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49281 -mtune=ultrasparc.
49282 (COMMON_LDFLAGS): Add -melf64_sparc.
49283 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49284 (grubof_SOURCES): Use cache.S instead of cache.c.
49285 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49286 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49287 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49288 commented though.
49289 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49290 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49291 (linux_mod_CFLAGS): Commented out.
49292 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49293 out because module isn't built.
49294 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49295 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49296 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49297 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49298 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49299 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49300 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49301 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49302 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49303 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49304 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49305 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49306 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49307 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49308
34eeec8a 493092005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49310
49311 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49312 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49313 longer, because HFS should not be used on PC.
49314
708367a3 493152005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49316
49317 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49318 consistently within the loop.
49319
6fa1251a 493202005-10-15 Marco Gerards <mgerards@xs4all.nl>
49321
49322 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49323 directory can not be read.
49324
4801580b 493252005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49326
49327 * configure.ac (AC_INIT): Increase the version number to 1.91.
49328
49329 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49330 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49331 term/i386/pc/serial.c.
49332
219ad426 493332005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49334
49335 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49336 file size must be permitted.
49337
49338 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49339 between %ah and %al.
49340
688e5699 493412005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49342
49343 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49344 grub_uint64_t.
49345 Call the hook with a NUL-terminated filename.
49346 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49347 grub_cpu_to_be32.
49348
49349 * kern/term.c (cursor_state): New variable.
49350 (grub_term_set_current): Reset the cursor state on a new
49351 terminal.
49352 (grub_setcursor): Rewritten to use CURSOR_STATE.
49353 (grub_getcursor): New function.
49354
49355 * include/grub/term.h (grub_getcursor): New prototype.
49356
49357 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49358 integers on ARM. Reported by Timothy Baldwin
49359 <T.E.Baldwin99@members.leeds.ac.uk>.
49360
bb34586c 493612005-10-11 Marco Gerards <mgerards@xs4all.nl>
49362
49363 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49364 allocated.
49365 (grub_sfs_dir): Likewise.
49366
9a909877 493672005-10-09 Marco Gerards <mgerards@xs4all.nl>
49368
49369 Add support for the SFS filesystem.
49370
49371 * fs/sfs.c: New file.
49372
49373 * DISTLIST: Added `fs/sfs.c'.
49374
49375 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49376 (grub_probefs_SOURCES): Likewise.
49377 (grub_emu_SOURCES): Likewise.
49378 (pkgdata_MODULES): Add `sfs.mod'.
49379 (sfs_mod_SOURCES): New variable.
49380 (sfs_mod_CFLAGS): Likewise.
49381 (sfs_mod_LDFLAGS): Likewise.
49382
49383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49384 (pkgdata_MODULES): Add `sfs.mod'.
49385 (sfs_mod_SOURCES): New variable.
49386 (sfs_mod_CFLAGS): Likewise.
49387
49388 * util/grub-emu.c (main): Call `grub_sfs_init' and
49389 `grub_sfs_fini'.
49390
49391 * include/grub/fs.h (grub_sfs_init): New prototype.
49392 (grub_sfs_fini): Likewise.
49393
57bdbde3 493942005-10-07 Marco Gerards <mgerards@xs4all.nl>
49395
49396 Add support for the AFFS filesystem.
49397
49398 * fs/affs.c: New file.
49399
49400 * DISTLIST: Added `fs/affs.c'.
49401
49402 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49403 (grub_probefs_SOURCES): Likewise.
49404 (grub_emu_SOURCES): Likewise.
49405 (pkgdata_MODULES): Add `affs.mod'.
49406 (affs_mod_SOURCES): New variable.
49407 (affs_mod_CFLAGS): Likewise.
49408 (affs_mod_LDFLAGS): Likewise.
49409
49410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49411 (pkgdata_MODULES): Add `affs.mod'.
49412 (affs_mod_SOURCES): New variable.
49413 (affs_mod_CFLAGS): Likewise.
49414
49415 * util/grub-emu.c (main): Call `grub_affs_init' and
49416 `grub_affs_fini'.
49417
49418 * include/grub/fs.h (grub_affs_init): New prototype.
49419 (grub_affs_fini): Likewise.
49420
047b67e0 494212005-10-01 Marco Gerards <mgerards@xs4all.nl>
49422
49423 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49424
59b8208a 494252005-10-01 Marco Gerards <mgerards@xs4all.nl>
49426
49427 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49428 `-m32' to CFLAGS.
49429
49430 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49431 linking.
f19dbdb7 49432
59b8208a 49433 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49434 (COMMON_LDFLAGS): New variable.
49435 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49436 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49437 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49438 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49439 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49440 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49441 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49442 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49443 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49444 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49445 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49446 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49447 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49448 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49449 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49450 variables.
49451 (normal_mod_ASFLAGS): Add `-m32'.
49452
49453 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49454 (grub_host_size_t, grub_host_ssize_t): New types.
49455 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49456 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49457 `GRUB_HOST_SIZEOF_VOID_P'.
49458
49459 * include/grub/kernel.h (struct grub_module_header): Type of
49460 member offset changed to `grub_host_off_t'. Type of member size
49461 changed to `grub_host_size_t'.
49462 (struct grub_module_info): Type of member offset changed to
49463 `grub_host_off_t'. Type of member size changed to
49464 `grub_host_size_t'.
49465
b4093103 494662005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49467
49468 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49469
b4093103 49470 * kern/i386/pc/startup.S (multiboot_header): New label.
49471 (multiboot_entry): Likewise.
49472 (multiboot_trampoline): Likewise.
49473
49474 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49475 Increased to 0x4A0.
49476
49477 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49478 put parentheses after a question mark.
49479 [!GRUB_UTIL] (my_mod): New variable.
49480
49481 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49482
b2499b29 494832005-09-28 Marco Gerards <mgerards@xs4all.nl>
49484
49485 Adds support for the XFS filesystem. Btrees are not supported
49486 yet.
49487
49488 * fs/xfs.c: New file.
49489
49490 * DISTLIST: Added `fs/xfs.c'.
49491
49492 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49493 (grub_probefs_SOURCES): Likewise.
49494 (grub_emu_SOURCES): Likewise.
49495 (pkgdata_MODULES): Add `xfs.mod'.
49496 (xfs_mod_SOURCES): New variable.
49497 (xfs_mod_CFLAGS): Likewise.
49498
49499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49500 (pkgdata_MODULES): Add `xfs.mod'.
49501 (xfs_mod_SOURCES): New variable.
49502 (xfs_mod_CFLAGS): Likewise.
49503
49504 * util/grub-emu.c (main): Call `grub_xfs_init' and
49505 `grub_xfs_fini'.
49506
49507 * include/grub/fs.h (grub_xfs_init): New prototype.
49508 (grub_xfs_fini): Likewise.
49509
f19dbdb7 49510
83d37a62 495112005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49512
49513 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49514 color modes, allow greater than 16 colors to be configured as
49515 a default palette.
49516
47d2d65e 495172005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49518
49519 * normal/completion.c (complete_arguments): Add the qualifier
49520 const into OPTIONS.
49521
49522 From Omniflux <omniflux+lists@omniflux.com>:
49523 * include/grub/terminfo.h: New file.
49524 * include/grub/tparm.h: Likewise.
49525 * include/grub/i386/pc/serial.h: Likewise.
49526 * term/terminfo.c: Likewise.
49527 * term/tparm.c: Likewise.
49528 * term/i386/pc/serial.c: Likewise.
49529 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49530 serial.mod.
49531 (terminfo_mod_SOURCES): New variable.
49532 (terminfo_mod_CFLAGS): Likewise.
49533 (serial_mod_SOURCES): Likewise.
49534 (serial_mod_CFLAGS): Likewise.
49535
48b671ff 495362005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49537
49538 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49539 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49540 and kern/powerpc/ieee1275/cmain.c, respectively.
49541
49542 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49543 * kern/powerpc/ieee1275/crt0.S: ... here.
49544
49545 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49546 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49547
48b671ff 49548 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49549 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49550 instead of boot/powerpc/ieee1275/crt0.S and
49551 boot/powerpc/ieee1275/cmain.c, respectively.
49552
49553 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49554 sectors. It was not used anyway.
49555
09fc77a7 495562005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49557
49558 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49559 `unused parameter' warning.
49560
003789c7 495612005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49562
49563 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49564 function.
49565 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49566 getcharwidth.
49567
67f44c86 495682005-08-28 Marco Gerards <metgerards@student.han.nl>
49569
49570 * include/grub/normal.h (enum grub_completion_type): Added
49571 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49572
49573 * normal/cmdline.c (print_completion): Handle
49574 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49575 * normal/menu_entry.c (store_completion): Likewise.
49576
49577 * normal/completion.c (complete_arguments): New function.
49578 (grub_normal_do_completion): Call `complete_arguments' when the
49579 current words start with a dash.
49580
0b5abe02 495812005-08-27 Marco Gerards <metgerards@student.han.nl>
49582
49583 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49584 `gzio.mod' instead of `io.mod').
49585
d9864ee1 495862005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49587
49588 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49589 (DISTDIRS): Added io and video.
49590 Rewrite the search routine to make an output consistently.
49591
49592 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49593 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49594 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49595 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49596 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49597 util/powerpc/ieee1275/misc.c.
f19dbdb7 49598
d9864ee1 49599 * include/grub/gzio.h: New file.
49600 * io/gzio.c: Likewise.
f19dbdb7 49601
d9864ee1 49602 * kern/file.c (grub_file_close): Call grub_device_close only if
49603 FILE->DEVICE is not NULL.
49604
49605 * include/grub/mm.h [!NULL] (NULL): New macro.
49606
49607 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49608
49609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49610 (pkgdata_MODULES): Added gzio.mod.
49611 (gzio_mod_SOURCES): New variable.
49612 (gzio_mod_CFLAGS): Likewise.
49613
49614 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49615 (pkgdata_MODULES): Added gzio.mod.
49616 (gzio_mod_SOURCES): New variable.
49617 (gzio_mod_CFLAGS): Likewise.
49618
49619 * commands/cat.c: Include grub/gzio.h.
49620 (grub_cmd_cat): Use grub_gzfile_open instead of
49621 grub_file_open.
f19dbdb7 49622
d9864ee1 49623 * commands/cmp.c: Include grub/gzio.h.
49624 (grub_cmd_cmp): Use grub_gzfile_open instead of
49625 grub_file_open.
49626
49627 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49628 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49629 grub_file_open.
49630 (grub_rescue_cmd_module): Likewise.
49631
fa46f4b5 496322005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49633
49634 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49635 kern/sparc64/ieee1275/init.c because it contains _start.
49636 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49637
e9211b5d 496382005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49639
49640 * configure.ac: Add support for sparc64 host with ieee1275
49641 firmware.
49642 * configure: Generated from configure.ac.
49643 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49644 instead of int.
49645 (grub_ofdisk_read): Likewise.
49646 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49647 pointers as (void *) to remove a warning.
49648 (grub_ofdisk_close): Likewise.
49649 (grub_ofdisk_read): Likewise.
49650 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49651 returns, so make it return void to remove a warning.
49652 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49653 Corresponding prototype change.
49654 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49655 values, and cast the pointers as (void *) to remove a warning.
49656 (grub_mm_dump): Likewise.
49657 * conf/sparc64-ieee1275.mk: New file.
49658 * conf/sparc64-ieee1275.rmk: Likewise.
49659 * include/grub/sparc64/setjmp.h: Likewise.
49660 * include/grub/sparc64/types.h: Likewise.
49661 * include/grub/sparc64/ieee1275/console.h: Likewise.
49662 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49663 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49664 * include/grub/sparc64/ieee1275/time.h: Likewise.
49665 * kern/sparc64/cache.c: Likewise.
49666 * kern/sparc64/dl.c: Likewise.
49667 * kern/sparc64/ieee1275/init.c: Likewise.
49668 * kern/sparc64/ieee1275/openfw.c: Likewise.
49669
385c6a92 496702005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49671
49672 * util/console.c (grub_ncurses_putchar): If C is greater than
49673 0x7f, set C to a question mark.
49674 (grub_ncurses_getcharwidth): New function.
49675 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49676 getcharwidth.
49677
49678 * normal/menu.c (print_entry): Made aware of Unicode. First,
49679 convert TITLE to UCS-4, and predict the cursor position by
49680 grub_getcharwidth.
49681
49682 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49683 const to SRC.
49684 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49685
16ccb8b1 496862005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49687
49688 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49689 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49690 grub_strcat.
49691
49692 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49693 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49694 grub_strcpy and grub_strlen. Take it into account that a space
49695 character is inserted as a delimiter.
49696
6a85ce79 496972005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49698
49699 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 49700 invalid magic in the error.
6a85ce79 49701
49702 * commands/search.c: New file.
f19dbdb7 49703
6a85ce79 49704 * util/grub-emu.c (main): Call grub_search_init and
49705 grub_search_fini.
49706
49707 * kern/rescue.c (grub_rescue_print_disks): Removed.
49708 (grub_rescue_print_devices): New function.
49709 (grub_rescue_cmd_ls): Use grub_device_iterate with
49710 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49711 grub_rescue_print_disks.
49712
49713 * kern/partition.c (grub_partition_iterate): Return the result of
49714 PARTMAP->ITERATE instead of GRUB_ERRNO.
49715
49716 * kern/device.c: Include grub/partition.h.
49717 (grub_device_iterate): New function.
49718
49719 * include/grub/partition.h (grub_partition_iterate): Return int
49720 instead of grub_err_t.
49721
49722 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49723 prototype.
49724 [GRUB_UTIL] (grub_search_fini): Likewise.
49725
49726 * include/grub/device.h (grub_device_iterate): New prototype.
49727
49728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49729 commands/search.c.
49730 (pkgdata_MODULES): Added search.mod.
49731 (search_mod_SOURCES): New variable.
49732 (search_mod_CFLAGS): Likewise.
49733
49734 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49735 (pkgdata_MODULES): Added search.mod.
49736 (search_mod_SOURCES): New variable.
49737 (search_mod_CFLAGS): Likewise.
49738
49739 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49740 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49741 All callers changed.
49742
49743 * DISTLIST: Added commands/search.c.
49744
ef095434 497452005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49746
49747 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49748 conversion.
49749 (grub_getcharwidth): New function.
49750
49751 * kern/misc.c (grub_utf8_to_ucs4): New function.
49752
49753 * include/grub/term.h (struct grub_term): Added a new member
49754 "getcharwidth".
49755 (grub_getcharwidth): New prototype.
49756
49757 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49758
49759 * term/i386/pc/console.c (map_char): New function. Segregated from
49760 grub_console_putchar.
49761 (grub_console_putchar): Use map_char.
49762 (grub_console_getcharwidth): New function.
49763 (grub_console_term): Specified grub_console_getcharwidth as
49764 getcharwidth.
49765
49766 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49767 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49768
49769 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49770 GRUB_ERRNO.
49771 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49772 on grub_strtoul completely.
49773 (write_char): Declare local variables in the beginning of the
49774 function.
49775 (grub_vesafb_getcharwidth): New function.
49776 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49777 getcharwidth.
49778
1f0a95e4 497792005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49780
49781 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49782 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49783 commands/i386/pc/vbetest.c.
49784
49785 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49786 call grub_vbe_get_controller_info again, because the returned
49787 information is volatile.
49788 (grub_vbe_set_video_mode): Mostly rewritten.
49789 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49790 grub_vbe_status_t correctly.
49791 (grub_vbe_get_video_mode_info): Likewise.
49792 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49793 several if statements.
49794
49795 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49796 * commands/i386/pc/vbeinfo.c: ... this.
49797
49798 * commands/i386/pc/vbe_test.c: Renamed to ...
49799 * commands/i386/pc/vbetest.c: ... this.
49800
49801 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49802 ...
49803 (grub_cmd_vbeinfo): ... this. Save video modes before
49804 iterating. Skip a video mode, if it is not available, not enough
49805 information is given or it is monochrome. Show the memory
49806 model. Leave the interpretation of MODEVAR to grub_strtoul
49807 completely.
49808 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49809 (GRUB_MOD_FINI): Likewise.
49810
49811 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49812 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49813 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49814 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49815 grub_strtoul completely.
49816 (real2pm): Removed.
49817 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49818 (GRUB_MOD_FINI): Likewise.
49819
49820 * normal/misc.c: Include grub/mm.h.
49821
49822 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49823 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49824 (vbe_list_modes_mod_SOURCES): Removed.
49825 (vbe_list_modes_mod_CFLAGS): Likewise.
49826 (vbe_test_mod_SOURCES): Likewise.
49827 (vbe_test_mod_CFLAGS): Likewise.
49828 (vbeinfo_mod_SOURCES): New variable.
49829 (vbeinfo_mod_CFLAGS): Likewise.
49830 (vbetest_mod_SOURCES): Likewise.
49831 (vbetest_mod_CFLAGS): Likewise.
49832
992ffbbe 498332005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49834
49835 * normal/misc.c: New file.
49836
49837 * DISTLIST: Added normal/misc.c.
f19dbdb7 49838
992ffbbe 49839 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
49840 DISK to HOOK. Call HOOK with DISK.
49841 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49842 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49843 * partmap/sun.c (sun_partition_map_iterate): Likewise.
49844
49845 * normal/menu_entry.c (struct screen): Added a new member
49846 "completion_shown".
49847 (completion_buffer): New global variable.
49848 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
49849 (store_completion): New function.
49850 (complete): Likewise.
49851 (clear_completions): Likewise.
49852 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
49853 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
49854 a tab, call complete.
49855
49856 * normal/completion.c (disk_dev): Removed.
49857 (print_simple_completion): Likewise.
49858 (print_partition_completion): Likewise.
49859 (print_func): New global variable.
49860 (add_completion): Do not take the arguments WHAT or PRINT any
49861 longer. Added a new argument TYPE. Instead of printing directly,
49862 call PRINT_FUNC if not NULL.
49863 All callers changed.
49864 (complete_device): Use a local variable DEV instead of
49865 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
49866 (grub_normal_do_completion): Take a new argument HOOK. Do not
49867 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
49868 empty string, return NULL instead.
49869 All callers changed.
49870
49871 * normal/cmdline.c (print_completion): New function.
49872
49873 * kern/partition.c (grub_partition_iterate): Add an argument DISK
49874 to HOOK.
49875 All callers changed.
49876
49877 * kern/disk.c (grub_print_partinfo): Removed.
49878
49879 * include/grub/partition.h (struct grub_partition_map): Add a new
49880 argument DISK into HOOK of ITERATE.
49881 (grub_partition_iterate): Add a new argument DISK to HOOK.
49882
49883 * include/grub/normal.h (enum grub_completion_type): New enum.
49884 (grub_completion_type_t): New type.
49885 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
49886 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
49887 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
49888 (GRUB_COMPLETION_TYPE_FILE): Likewise.
49889 (grub_normal_do_completion): Added a new argument HOOK.
49890 (grub_normal_print_device_info): New prototype.
49891
49892 * include/grub/disk.h (grub_print_partinfo): Removed.
49893
49894 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
49895 (normal_mod_SOURCES): Likewise.
49896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49897 (normal_mod_SOURCES): Likewise.
49898
49899 * commands/ls.c (grub_ls_list_disks): Use
49900 grub_normal_print_device_info instead of grub_print_partinfo. Free
49901 PNAME.
49902 (grub_ls_list_files): Use grub_normal_print_device_info instead of
49903 duplicating the code.
49904
0bd41162 499052005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49906
49907 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 49908 follow GCS more precisely.
49909 * commands/i386/pc/vbe_test.c: Likewise.
49910 * include/grub/i386/pc/vbe.h: Likewise.
49911 * term/i386/pc/vesafb.c: Likewise.
49912 * video/i386/pc/vbe.c: Likewise.
0bd41162 49913
6323696a 499142005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49915
49916 * DISTLIST: Added term/i386/pc/vesafb.c
49917 DISTLIST: Added video/i386/pc/vbe.c
49918 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
49919 DISTLIST: Added commands/i386/pc/vbe_test.c.
49920 * commands/i386/pc/vbe_list_modes.c: New file.
49921 * commands/i386/pc/vbe_test.c: Likewise.
49922 * term/i386/pc/vesafb.c: Likewise.
49923 * video/i386/pc/vbe.c: Likewise.
49924 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
49925 (grub_vbe_probe) Added prototype.
49926 (grub_vbe_set_video_mode) Likewise.
49927 (grub_vbe_get_video_mode) Likewise.
49928 (grub_vbe_get_video_mode_info) Likewise.
49929 (grub_vbe_set_pixel_rgb) Likewise.
49930 (grub_vbe_set_pixel_index) Likewise.
49931 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
49932 (pkgdata_MODULES): Added vesafb.mod.
49933 (pkgdata_MODULES): Added vbe_list_modes.mod.
49934 (pkgdata_MODULES): Added vbe_test.mod.
49935 (vbe_mod_SOURCES): Added.
49936 (vbe_mod_CFLAGS): Likewise.
49937 (vesafb_mod_SOURCES): Likewise.
49938 (vesafb_mod_CFLAGS): Likewise.
49939 (vbe_list_modes_mod_SOURCES): Likewise.
49940 (vbe_list_modes_mod_CFLAGS): Likewise.
49941 (vbe_test_mod_SOURCES): Likewise.
49942 (vbe_test_mod_CFLAGS): Likewise.
49943
0a74e62f 499442005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
49945
0a74e62f 49946 * normal/command.c (grub_command_execute): If INTERACTIVE is
49947 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
49948 CMDLINE. Disable the pager if INTERACTIVE is true.
49949 All callers are changed.
49950
49951 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
49952 before reading a config file.
49953 * normal/main.c (read_config_file): Even if a command is not
49954 found, register it if it is within an entry.
49955
49956 * util/grub-emu.c: Include sys/types.h and unistd.h.
49957 (options): Added --hold.
49958 (struct arguments): Added a new member "hold".
49959 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
49960 missing.
49961 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
49962 cleared by a debugger, if it is not zero.
49963
49964 * include/grub/normal.h (grub_command_execute): Add an argument
49965 INTERACTIVE.
49966
e51f85ae 499672005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
49968
49969 * DISTLIST: Added include/grub/i386/pc/vbe.h.
49970
e9c6f39b 499712005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
49972
49973 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
49974 program with another one, because the old one didn't detect a bug
49975 in gcc-3.4. Always use regparm 2, because the new test is still
49976 not enough for gcc-4.0. Someone must investigate a simple test
49977 case which detects a bug in gcc-4.0.
49978
8de3495c 499792005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
49980
49981 * DISTLIST: Added normal/completion.c.
49982
49983 * normal/completion.c: New file.
f19dbdb7 49984
8de3495c 49985 * term/i386/pc/console.c (grub_console_getwh): New function.
49986 (grub_console_term): Assign grub_console_getwh to getwh.
49987
49988 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
49989 function is defined in normal/completion.c as
49990 grub_normal_do_completion.
49991 (grub_cmdline_get): Use grub_normal_do_completion instead of
49992 grub_tab_complete.
49993
49994 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
49995 returns non-zero, otherwise return 0.
49996 (grub_partition_iterate): First, probe the partition map. Then,
49997 call ITERATE only for this partition map.
49998
49999 * kern/misc.c (grub_strncmp): Rewritten.
50000
50001 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50002 returns non-zero. Otherwise return 0.
50003
50004 * include/grub/partition.h (grub_partition_map_iterate): Return
50005 int instead of void.
50006
50007 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50008
50009 * include/grub/misc.h (grub_strncmp): Change the type of N to
50010 grub_size_t.
50011
50012 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50013 of void.
50014
50015 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50016 unsigned explicitly before comparing it with I.
8de3495c 50017
50018 * kern/main.c (grub_env_write_root): Add the attribute unused into
50019 VAR.
50020
50021 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50022 normal/completion.c.
50023 (normal_mod_SOURCES): Likewise.
50024 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50025 (normal_mod_SOURCES): Likewise.
50026
50027 * normal/command.c (grub_iterate_commands): If ITERATE returns
50028 non-zero, return one immediately.
50029
e85e144b 500302005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50031
50032 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50033 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50034 descriptions.
50035 (grub_vbe_get_controller_info): New function.
50036 (grub_vbe_get_mode_info): Likewise.
50037 (grub_vbe_set_mode): Likewise.
50038 (grub_vbe_get_mode): Likewise.
50039 (grub_vbe_set_memory_window): Likewise.
50040 (grub_vbe_get_memory_window): Likewise.
50041 (grub_vbe_set_scanline_length): Likewise.
50042 (grub_vbe_get_scanline_length): Likewise.
50043 (grub_vbe_set_display_start): Likewise.
50044 (grub_vbe_get_display_start): Likewise.
50045 (grub_vbe_set_palette_data): Likewise.
50046 * include/grub/i386/pc/vbe.h: New file.
50047
c46153d2 500482005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50049
50050 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50051 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50052 * DISTLIST: Likewise.
50053 * kern/ieee1275/of.c: Moved to ...
50054 * kern/ieee1275/ieee1275.c: ... here.
50055
0cb90c45 500562005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50057
50058 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50059 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50060 Pass 0 as `end' parameter to grub_strtoul().
50061
a19fb360 500622005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50063
50064 * include/grub/powerpc/ieee1275/console.h: Do not include
50065 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50066 ifdef.
50067 (grub_console_cur_color): Remove i386-specific prototype.
50068 (grub_console_real_putchar): Likewise.
50069 (grub_console_checkkey): Likewise.
50070 (grub_console_getkey): Likewise.
50071 (grub_console_getxy): Likewise.
50072 (grub_console_gotoxy): Likewise.
50073 (grub_console_cls): Likewise.
50074 (grub_console_setcursor): Likewise.
50075 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50076 Include <grub/machine/console.h>.
50077 * term/ieee1275/ofconsole.c: Likewise.
50078
4ac9bd04 500792005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50080
50081 * Makefile.in (LIBLZO): New variable.
50082
50083 * configure.ac: Check for LZO version 2.
50084
50085 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50086 lzo/lzo1x.h instead of lzo1x.h.
50087
50088 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50089 of -llzo.
50090
50091 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50092 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50093
50094 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50095 copying the data from PARTITION to P.
50096
f4917dfd 500972005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50098
50099 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50100 negative, unload the module.
50101
50102 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50103 map is "pc_partition_map" but not "pc".
50104 (usage): Fix the description. The options are --boot-image and
50105 --core-image but not --boot-file or --core-file.
50106 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50107 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50108 DEFAULT_DIRECTORY.
50109
50110 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50111 --core-file. Specify INSTALL_DEVICE as an argument.
50112
50113 * util/console.c: Include config.h.
50114 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50115 [HAVE_NCURSES_H]: Include ncurses.h.
50116 [HAVE_CURSES_H]: Include curses.h.
50117 [!A_NORMAL] (A_NORMAL): Defined as zero.
50118 [!A_STANDOUT] (A_STANDOUT): Likewise.
50119
50120 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50121 -lncurses.
50122 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50123
50124 * configure.ac: Check for curses libraries and headers.
50125
50126 * Makefile.in (LIBCURSES): New variable.
50127
50128 * genmk.rb (Script::rule): Set the executable bits.
50129
50130 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50131 name of the PC partition map is "pc_partition_map" but not "pc".
50132
0e143073 501332005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50134
50135 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50136 (modules): Likewise.
50137 (usage): Added descriptions for --modules and --grub-probefs.
50138 Handle --modules and --grub-probefs. Save the arguments in MODULES
50139 and GRUB_PROBEFS, respectively.
50140 Auto-detect a filesystem module against GRUBDIR. If the result is
50141 empty and modules are not specified explicitly, abort the
50142 installation. Add the result to MODULES.
50143
50144 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50145 disk/powerpc/ieee1275/ofdisk.c,
50146 include/grub/powerpc/ieee1275/init.h and
50147 term/powerpc/ieee1275/ofconsole.c.
50148 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50149 term/ieee1275/ofconsole.c.
50150
50151 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50152
50153 * COPYING: Upgraded to the latest version. Only the address of the
50154 FSF office has changed.
f19dbdb7 50155
efd6e6d5 501562005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50157
50158 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50159 kern/ieee1275.c with kern/ieee1275/of.c.
50160
50161 * kern/ieee1275.c: Moved to ...
50162 * kern/ieee1275/of.c: ... here.
50163
8ceafda2 501642005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50165
50166 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50167 readability.
8ceafda2 50168
50169 * config.guess: Updated to the latest version from gnulib.
50170 * config.sub: Likewise.
50171 * install.sh: Likewise.
50172 * mkinstalldirs: Likewise.
50173
50174 * include/grub/console.h: Removed. This file is arch-specific. Do
50175 not put this in include/grub.
50176
50177 * include/grub/i386/pc/console.h: Resurrected.
50178
50179 * util/console.c: Include grub/machine/console.h instead of
50180 grub/console.h.
50181 * util/grub-emu.c: Likewise.
50182
267f6cd9 501832005-08-04 Marco Gerards <metgerards@student.han.nl>
50184
50185 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50186 hardcoded value.
f19dbdb7 50187
267f6cd9 50188 From Vincent Pelletier <subdino2004@yahoo.fr>
50189 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50190 Redefined to use grub_getwh.
50191 (grub_term): New member named getwh.
50192 (grub_getwh): New prototype.
50193 * kern/term.c (grub_getwh): New function.
50194 * term/i386/pc/console.c (grub_console_getwh): New function.
50195 (grub_console_term): New member `getwh'.
50196 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50197 (grub_vga_term): New member `getwh'.
0b5abe02 50198 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50199 grub_ssize_t.
50200 (grub_ofconsole_getw): New function.
50201 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50202 (grub_ofconsole_term): New field named getwh and new initial
50203 value.
50204
3be7266d 502052005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50206
50207 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50208 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50209 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50210 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50211 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50212 of <grub/machine/ieee1275.h>.
50213 * commands/ieee1275/reboot.c: Likewise.
50214 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50215 * kern/ieee1275.c: ... to here. All users updated. Change all
50216 parameter structs to use new type `grub_ieee1275_cell_t'.
50217 * term/powerpc/ieee1275/ofconsole.c: Move ...
50218 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50219 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50220 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50221 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50222 to return int.
50223 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50224 Remove unused prototypes. All users updated.
50225 * include/grub/powerpc/ieee1275/console.h: Removed.
50226 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50227 `grub_ieee1275_cell_t'.
50228 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50229 Cast comparisons with -1 to the correct type.
50230 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50231 type to match `grub_ieee1275_entry_fn'.
50232
8b5f3938 502332005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50234
50235 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50236
50237 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50238 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50239 partmap/sun.c.
50240 (grub_probefs_SOURCES): New variable.
50241
50242 * util/i386/pc/grub-probefs.c: New file.
50243
50244 * util/i386/pc/grub-setup.c (main): Call
50245 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50246 grub_hfs_init and grub_jfs_init to initialize the system. Call
50247 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50248 grub_pc_partition_map_fini to finish the system.
50249
ea409713 502502005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50251
50252 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50253 function.
50254 (grub_multiboot_load_elf32): Likewise.
50255 (grub_multiboot_is_elf64): Likewise.
50256 (grub_multiboot_load_elf64): Likewise.
50257 (grub_multiboot_load_elf): Likewise.
50258 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50259 an ELF32 or ELF64 file.
50260 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50261
50262 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50263 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50264 NULL before calling FS->LABEL.
50265 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50266 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50267 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50268 before calling FS->LABEL.
50269
141a288b 502702005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50271
50272 * util/i386/pc/grub-install.in (datadir): New variable.
50273 (libdir): Removed.
50274 (pkgdatadir): New variable.
50275 (pkglibdir): Removed.
50276
0d5f8a54 502772005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50278
50279 * DISTLIST: Added util/i386/pc/grub-install.in.
50280
50281 * util/i386/pc/grub-install.in: New file.
50282
50283 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50284 (grub_install_SOURCES): Likewise.
50285
50286 * genmk.rb: Added support for scripts.
50287 (Script): New class.
50288 (scripts): New variable.
50289
50290 * Makefile.in (install-local): Install sbin_SCRIPTS by
50291 INSTALL_SCRIPT.
50292 (uninstall): Remove sbin_SCRIPTS.
50293
50294 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50295 device, try to get a GRUB device by
50296 grub_util_biosdisk_get_grub_dev.
50297 Free DEST_DEV.
50298
50299 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50300 description for --device-map.
50301
5f968e1e 503022005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50303
50304 Change the semantics of variable hooks. They now return strings
50305 instead of error values.
f19dbdb7 50306
5f968e1e 50307 * util/i386/pc/grub-setup.c: Include grub/env.h.
50308 (setup): Use grub_device_set_root instead of grub_env_set.
50309
50310 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50311 grub_env_get instead of grub_device_set_root and
50312 grub_device_get_root, respectively.
50313
50314 * kern/main.c (grub_env_write_root): New function.
50315 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50316 grub_env_set instead of grub_device_set_root.
50317
50318 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50319 many variables.
50320 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50321 rather than calling ENV->WRITE_HOOK afterwards.
50322 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50323 passing a pointer of a pointer.
50324 (grub_register_variable_hook): Change the types of "read_hook" and
50325 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50326 respectively.
50327 Allocate the default empty string on the heap, because this string
50328 may be freed later.
50329
50330 * kern/device.c: Include grub/env.h.
50331 (grub_device_set_root): Removed.
50332 (grub_device_get_root): Likewise.
50333 (grub_device_open): Use grub_env_get instead of
50334 grub_device_get_root.
50335
50336 * include/grub/env.h (grub_env_read_hook_t): New type.
50337 (grub_env_write_hook_t): Likewise.
50338 (grub_env_var): Change the types of "read_hook" and "write_hook"
50339 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50340 (grub_register_variable_hook): Likewise.
50341
50342 * include/grub/device.h (grub_device_set_root): Removed.
50343 (grub_device_set_root): Likewise.
50344
50345 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50346 make sure that DIRNAME terminates with '/', so that
50347 grub_fat_find_dir will fail if PATH is not a directory.
50348
50349 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50350 from DIRNAME.
50351 Use the qualifier auto for print_files and print_files_long.
50352 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50353 as a regular file.
50354 Put a newline only if there is no error.
50355 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50356 used.
50357
896f0afd 503582005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50359
50360 * kern/partition.c (grub_partition_probe): Initialize PART to
50361 NULL. Otherwise, when no partition map is registered, this returns
50362 a garbage.
50363
b28b81b2 503642005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50365
50366 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50367 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50368 valid.
50369
5f3607e0 503702005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50371
50372 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50373 information on each device, if it does not have partitions. Print
50374 "Device" instead of "Disk", because this function is not specific
50375 to disk devices.
50376
50377 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50378 static to ensure that it is put on the memory rather than a
50379 register.
50380
502c87e8 503812005-07-17 Yoshinori Okuji <okuji@enbug.org>
50382
50383 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50384 (grub_cat_init): Likewise.
50385 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50386 (options): Likewise.
50387 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50388 (grub_configfile_init): Likewise.
50389 * font/manager.c (GRUB_MOD_INIT): Likewise.
50390 * commands/help.c (GRUB_MOD_INIT): Likewise.
50391 (grub_help_init): Likewise.
50392 * normal/command.c (grub_command_init): Likewise.
50393 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50394 * disk/loopback.c (grub_loop_init): Likewise.
50395 (GRUB_MOD_INIT): Likewise.
50396 * commands/ls.c (grub_ls_init): Likewise.
50397 (GRUB_MOD_INIT): Likewise.
50398 (options): Likewise.
50399 * commands/boot.c (grub_boot_init): Likewise.
50400 (GRUB_MOD_INIT): Likewise.
50401 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50402 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50403 (GRUB_MOD_INIT): Likewise.
50404 * commands/cmp.c (grub_cmp_init): Likewise.
50405 (GRUB_MOD_INIT): Likewise.
50406
50407 * normal/arg.c: Use <> instead of "" to include header files.
50408 (SHORT_ARG_HELP): New macro.
50409 (SHORT_ARG_USAGE): Likewise.
50410 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50411 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50412 descriptions.
50413 (find_short): Check if C is 'h' or 'u' explicitly.
50414 (grub_arg_show_help): Use space characters instead of tabs. Treat
50415 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50416 are shown with --help and --usage only if they are not used for
50417 the command itself.
50418 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50419 'h' and 'u'.
50420
50421 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50422 const into "longarg". Change the type of "shortarg" to int.
50423
f806d18e 504242005-07-17 Yoshinori Okuji <okuji@enbug.org>
50425
50426 * boot/i386/pc/boot.S (boot_drive_check): New label.
50427
50428 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50429 macro.
50430
50431 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50432 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50433
e293232b 504342005-07-17 Yoshinori Okuji <okuji@enbug.org>
50435
50436 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50437 When turning off Gate A20, skip the check and return immediately,
50438 because this is not fatal usually.
50439
ebedfd00 504402005-07-17 Yoshinori Okuji <okuji@enbug.org>
50441
50442 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50443 be 0x7C00 instead of 0x8000.
50444
50445 * boot/i386/pc/pxeboot.S: Rewritten.
50446
50447 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50448 EXT_C.
50449 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50450 result.
50451
654fc59f 504522005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50453
50454 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50455 robustness. This routine now supports a BIOS call and System
50456 Control Port A to modify the gate A20.
50457
50458 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50459 Increased to 0x440.
50460
09f9923f 504612005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50462
50463 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50464 device path and resulting ihandle.
50465 (grub_ofdisk_close): dprintf the ihandle being closed.
50466 (grub_ofdisk_read): dprintf function parameters.
50467 * kern/mm.c (grub_mm_init_region): Likewise.
50468 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50469 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50470 size, and boot arguments.
50471 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50472 before loading into memory.
50473 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50474 before loading into memory.
50475
7ef504d8 504762005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50477
50478 * kern/mm.c: Added much documentation.
50479 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50480 8, set to 5 instead of 8.
50481
e0f050c2 504822005-07-10 Yoshinori Okuji <okuji@enbug.org>
50483
50484 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50485
50486 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50487 (grub_mkdevicemap_SOURCES): New variable.
50488
50489 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50490 lib/device.c of GRUB Legacy.
50491
7224189a 504922005-07-10 Yoshinori Okuji <okuji@enbug.org>
50493
50494 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50495 instead of PATH is NULL.
50496
68c864eb 504972005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50498
50499 * commands/cmp.c (BUFFER_SIZE): New macro.
50500 (grub_cmd_cmp): Close the right file at the right time. Compare
50501 only data just read. Don't report files of different size as
50502 identical. Dynamically allocate buffers. Move variable
50503 declarations at the beginning of function.
50504
e6f3e614 505052005-07-09 Yoshinori Okuji <okuji@enbug.org>
50506
50507 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50508 reverse.
50509
f8f1559a 505102004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50511
50512 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50513 when backspace is pressed at beginning of line.
50514
39c9d41d 505152005-07-03 Yoshinori Okuji <okuji@enbug.org>
50516
50517 * DISTLIST: Added genfslist.sh.
50518
50519 * normal/main.c (fs_module_list): New variable.
50520 (autoload_fs_module): New function.
50521 (read_fs_list): Likewise.
50522 (grub_normal_execute): Call read_fs_list.
50523
50524 * kern/fs.c (grub_fs_autoload_hook): New variable.
50525 (grub_fs_probe): Added support for auto-loading.
50526
50527 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50528 (grub_fs_module_list_t): New type.
50529
50530 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50531 (grub_fs_autoload_hook): New prototype.
50532
50533 * genfslist.sh: New file.
f19dbdb7 50534
39c9d41d 50535 * genmk.rb: Added a rule to generate a filesystem list.
50536
121c1d83 505372005-06-30 Marco Gerards <metgerards@student.han.nl>
50538
50539 * configure.ac: Fix the test for cross-compiling.
50540
50541 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50542 define GRUB_UTIL anymore.
50543
50544 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50545 so this function works on other systems than just big endian.
50546 (load_modules): Likewise.
50547 (add_segments): Likewise.
50548
e75d76e1 505492005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50550
50551 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50552 contains `l' modifier, get a long from va_arg().
50553
50b5a0a7 505542005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50555
50556 * kern/mm.c (grub_free): If the next free block which is being
50557 merged is the first free block, set the first block to the block
50558 being freed.
50559 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50560
89371b20 505612005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50562
50563 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50564 `grub_ieee1275_chosen'.
50565
168d6e58 505662005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50567
50568 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50569 (grub_ieee1275_chosen): New variable.
50570 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50571 `chosen'.
50572 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50573 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50574 Rename first argument to `phandle' for consistency.
50575 (grub_ieee1275_get_property_length): Likewise.
50576 (grub_ieee1275_next_property): Likewise. Change type of first argument
50577 to grub_ieee1275_phandle_t.
50578 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50579 Move export next to declaration.
50580 (grub_ieee1275_chosen): New variable.
50581 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50582 Correct cosmetic typo.
50583 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50584 `grub_ieee1275_chosen'.
50585 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50586 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50587 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50588 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50589 `grub_ieee1275_chosen'.
50590
ca5baa3f 505912005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50592
50593 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50594 /chosen/bootargs.
50595 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50596 /chosen/bootargs as "variable=value" pairs.
50597
708b345f 505982005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50599
50600 * include/grub/misc.h (grub_dprintf): New macro.
50601 (grub_real_dprintf): New prototype.
50602 (grub_strword): Likewise.
50603 (grub_iswordseparator): Likewise.
50604 * kern/misc.c (grub_real_dprintf): New function.
50605 (grub_strword): Likewise.
50606 (grub_iswordseparator): Likewise.
50607
f4c5e67c 506082005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50609
50610 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50611 (roundup): Remove macro.
50612 (grub_ieee1275_flags): Make static.
50613 (grub_ieee1275_realmode): Remove.
50614 (grub_ieee1275_test_flag): New function.
50615 (grub_ieee1275_set_flag): Likewise.
50616 (find_options): Rename to `grub_ieee1275_find_options'; update
50617 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50618 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50619 (cmain): New prototype.
50620 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50621 `grub_ieee1275_flags' directly.
50622 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50623 machine/biosdisk.h.
50624 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50625 Don't include grub/machine/init.h.
50626 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50627 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50628 Remove prototype.
50629 (grub_ieee1275_realmode): Likewise.
50630 (grub_ieee1275_flag): New enum.
50631 (grub_ieee1275_test_flag): New prototype.
50632 (grub_ieee1275_set_flag): New prototype.
50633 * include/grub/powerpc/ieee1275/init.h: Remove file.
50634 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50635 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50636 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50637 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50638 comment.
50639 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50640 `grub_ieee1275_test_flag'.
50641 (grub_ieee1275_encode_devname): Likewise.
50642
ed16607e 506432005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50644
50645 * include/grub/powerpc/ieee1275/ieee1275.h
50646 (grub_ieee1275_encode_devname): New prototype.
50647 (grub_ieee1275_get_filename): Likewise.
50648 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50649 function.
50650 (grub_set_prefix): Likewise.
50651 (grub_machine_init): Call grub_set_prefix.
50652 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50653 (grub_parse_type): New enum.
50654 (grub_ieee1275_get_devargs): New function.
50655 (grub_ieee1275_get_devname): Likewise.
50656 (grub_ieee1275_parse_args): Likewise.
50657 (grub_ieee1275_get_filename): Likewise.
50658 (grub_ieee1275_encode_devname): Likewise.
50659
be369920 506602005-03-30 Marco Gerards <metgerards@student.han.nl>
50661
50662 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50663 `grub_loader_unset'.
50664
a5ce3a4a 506652005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50666
50667 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50668 instead of grub_ieee1275_interpret.
50669 (grub_halt_init): New function.
50670 (grub_halt_fini): Likewise.
50671 (GRUB_MOD_INIT): Correct message grammar.
50672 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50673 instead of grub_ieee1275_interpret.
50674 (grub_reboot_init): New function.
50675 (grub_reboot_fini): Likewise.
50676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50677 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50678 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50679 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50680 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50681 function.
50682 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50683 Add prototype.
50684 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50685 prototype.
50686 (grub_halt): Likewise.
50687 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50688 (cmain): Remove __attribute__((unused)).
50689 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50690 (grub_heap_len): Likewise.
50691 (grub_machine_fini): New function.
50692 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50693 (grub_halt): Likewise.
50694 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50695 function.
50696 * util/powerpc/ieee1275/misc.c: New file.
50697
0058f771 506982005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50699
50700 * DISTLIST: New file.
50701 * gendistlist.sh: Likewise.
f19dbdb7 50702
0058f771 50703 * Makefile.in (COMMON_DISTFILES): Removed.
50704 (BOOT_DISTFILES): Likewise.
50705 (CONF_DISTFILES): Likewise.
50706 (DISK_DISTFILES): Likewise.
50707 (FS_DISTFILES): Likewise.
50708 (INCLUDE_DISTFILES): Likewise.
50709 (KERN_DISTFILES): Likewise.
50710 (LOADER_DISTFILES): Likewise.
50711 (TERM_DISTFILES): Likewise.
50712 (UTIL_DISTFILES): Likewise.
50713 (DISTFILES): Likewise.
50714 (uninstall): Uninstall files in $(pkgdata_DATA).
50715 (DISTLIST): New target.
50716 (distdir): Use the contents of the file DISTLIST to get a list of
50717 distributed files.
50718
46b3b8a5 507192005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50720
50721 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50722 descriptor. This is ported from GRUB Legacy.
50723
50724 * gencmdlist.sh: Added an extra semicolon to make it work with
50725 old sed versions. Reported by Robert Bihlmeyer
50726 <robbe@orcus.priv.at>.
50727
5822ff87 507282005-03-08 Yoshinori Okuji <okuji@enbug.org>
50729
50730 Automatic loading of commands is supported.
f19dbdb7 50731
5822ff87 50732 * normal/main.c (read_command_list): New function.
50733 (grub_normal_execute): Call read_command_list.
50734
50735 * normal/command.c (grub_register_command): Return zero or CMD.
50736 Allocate CMD->NAME from the heap.
50737 Initialize CMD->MODULE_NAME to zero.
50738 Find the same name as well. If the same command is found and it is
50739 a dummy command, overwrite members. If it is not a dummy command,
50740 return zero.
50741 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50742 (grub_command_find): If a dummy command is found, load a module
50743 and retry to find a command only once.
50744
50745 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50746 make sure that each command is loaded.
50747
50748 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50749 macro.
50750 (struct grub_command): Remove const from the member `name'.
50751 Add a new member `module_name'.
50752 (grub_register_command): Return grub_command_t.
50753
50754 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50755 sure that each command is loaded.
50756
50757 * genmk.rb (PModule::rule): Specify a module name without the
50758 suffix ".mod" to gencmdlist.sh.
50759
7b1f4b57 507602005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50761
50762 * gencmdlist.sh: New file.
f19dbdb7 50763
7b1f4b57 50764 * genmk.rb (PModule::rule): Generate a rule for a command list.
50765 Clean command.lst.
50766 Generate command.lst from $(COMMANDFILES).
50767
50768 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50769 (DATA): Added $(pkgdata_DATA).
50770 (install-local): Install files in $(pkgdata_DATA).
50771
062aaf39 507722005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50773
50774 * term/i386/pc/vga.c (debug_command): Removed.
50775 (GRUB_MOD_INIT): Do not register the command "debug".
50776
50777 From Hollis Blanchard:
50778 * commands/configfile.c: New file.
50779 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50780 commands/configfile.c.
50781 (pkgdata_MODULES): Added configfile.mod.
50782 (configfile_mod_SOURCES): New variable.
50783 (configfile_mod_CFLAGS): Likewise.
50784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50785 commands/configfile.c.
50786 (pkgdata_MODULES): Added configfile.mod.
50787 (configfile_mod_SOURCES): New variable.
50788 (configfile_mod_CFLAGS): Likewise.
50789 * util/grub-emu.c (main): Call grub_configfile_init and
50790 grub_configfile_fini.
50791 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50792 prototype.
50793 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 50794
cee01aa6 507952005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50796
50797 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50798 address.
50799
50800 * commands/help.c (grub_cmd_help): Do not print newlines after
50801 the last command in print_command_help.
50802
93f3a1d8 508032005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50804
50805 * commands/default.h: New file.
50806 * commands/timeout.h: Likewise.
50807 * normal/context.c: Likewise.
f19dbdb7 50808
93f3a1d8 50809 * util/misc.c: Do not include sys/times.h.
50810 Include sys/time.h and grub/machine/time.h.
50811 (grub_get_rtc): Rewritten with gettimeofday.
50812
50813 * util/grub-emu.c (main): Call grub_default_init and
50814 grub_timeout_init before grub_normal_init, and call
50815 grub_timeout_fini and grub_default_fini after grub_main.
50816
50817 * util/console.c (grub_ncurses_checkkey): Return the read
50818 character or -1.
50819
50820 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50821 timeouts.
50822
50823 * normal/main.c (read_config_file): Push MENU. If this fails,
50824 print an error and wait for a user input.
50825 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50826 If a menu is empty or an error occurs, pop MENU.
50827 (grub_normal_execute): Pop and free MENU after grub_menu_run
50828 returns.
50829
50830 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50831
50832 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50833 include time.h.
50834 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50835 without GRUB_UTIL.
50836 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
50837 time.h.
50838 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50839 without GRUB_UTIL.
50840
50841 * include/grub/normal.h (struct grub_menu_list): New struct.
50842 (grub_menu_list_t): New type.
50843 (struct grub_context): New struct.
50844 (grub_context_t): New type.
50845 (grub_register_command): Got rid of EXPORT_FUNC.
50846 (grub_unregister_command): Likewise.
50847 (grub_context_get): New prototype.
50848 (grub_context_get_current_menu): Likewise.
50849 (grub_context_push_menu): Likewise.
50850 (grub_context_pop_menu): Likewise.
50851 [GRUB_UTIL] (grub_default_init): Likewise.
50852 [GRUB_UTIL] (grub_default_fini): Likewise.
50853 [GRUB_UTIL] (grub_timeout_init): Likewise.
50854 [GRUB_UTIL] (grub_timeout_fini): Likewise.
50855
50856 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
50857 commands/timeout.c and normal/context.c.
50858 (pkgdata_MODULES): Added default.mod and timeout.mod.
50859 (normal_mod_SOURCES): Added normal/context.c.
50860 (default_mod_SOURCES): New variable.
50861 (default_mod_CFLAGS): Likewise.
50862 (timeout_mod_SOURCES): Likewise.
50863 (timeout_mod_CFLAGS): Likewise.
50864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
50865 conf/i386-pc.rmk.
50866 (pkgdata_MODULES): Added default.mod and timeout.mod.
50867 (normal_mod_SOURCES): Added normal/context.c.
50868 (default_mod_SOURCES): New variable.
50869 (default_mod_CFLAGS): Likewise.
50870 (timeout_mod_SOURCES): Likewise.
50871 (timeout_mod_CFLAGS): Likewise.
50872
50873 * Makefile.in (all-local): Added $(MKFILES).
50874
4ed2e1dd 508752005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
50876
50877 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
50878 (grub_emu_SOURCES): Likewise.
50879 (pkgdata_MODULES): Add `sun.mod'.
50880 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50882 `partmap/sun.c'.
50883 (pkgdata_MODULES): Add `sun.mod'.
50884 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50885 * include/grub/partition.h (grub_sun_partition_map_init): New
50886 prototype.
50887 (grub_sun_partition_map_fini): Likewise.
50888 * partmap/sun.c: New file.
50889 * util/grub-emu.c (main): Initialize and de-initialize the sun
50890 partitionmap support.
50891
4d4e372e 508922005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
50893
50894 This implements an Emacs-like menu entry editor.
f19dbdb7 50895
4d4e372e 50896 * normal/menu_entry.c: New file.
f19dbdb7 50897
4d4e372e 50898 * util/console.c (grub_ncurses_putchar): Translate some Unicode
50899 characters to ASCII.
50900 (saved_char): New variable.
50901 (grub_ncurses_checkkey): Rewritten completely.
50902 (grub_ncurses_getkey): Likewise.
50903 (grub_ncurses_init): Call raw instead of cbreak.
50904
50905 * normal/menu.c (print_entry): Do not put a space.
50906 (init_page): Renamed to ...
50907 (grub_menu_init_page): ... this. All callers changed.
50908 (edit_menu_entry): Removed.
50909 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
50910
50911 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
50912
50913 * kern/misc.c (grub_vprintf): Call grub_refresh.
50914
50915 * normal/menu.c (DISP_LEFT): Renamed to ...
50916 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
50917 * normal/menu.c (DISP_UP): Renamed to ...
50918 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
50919 * normal/menu.c (DISP_RIGHT): Renamed to ...
50920 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
50921 * normal/menu.c (DISP_DOWN): Renamed to ...
50922 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
50923 * normal/menu.c (DISP_HLINE): Renamed to ...
50924 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
50925 * normal/menu.c (DISP_VLINE): Renamed to ...
50926 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
50927 * normal/menu.c (DISP_UL): Renamed to ...
50928 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
50929 * normal/menu.c (DISP_UR): Renamed to ...
50930 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
50931 * normal/menu.c (DISP_LL): Renamed to ...
50932 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
50933 * normal/menu.c (DISP_LR): Renamed to ...
50934 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
50935 * normal/menu.c (TERM_WIDTH): Renamed to ...
50936 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
50937 * normal/menu.c (TERM_HEIGHT): Renamed to ...
50938 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
50939 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
50940 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
50941 * normal/menu.c (TERM_MARGIN): Renamed to ...
50942 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
50943 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
50944 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
50945 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
50946 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
50947 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
50948 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
50949 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
50950 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
50951 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
50952 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
50953 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
50954 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
50955 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
50956 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
50957 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
50958 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
50959 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
50960 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
50961 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
50962 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
50963 All callers changed.
50964
50965 * include/grub/normal.h: New prototype.
50966
50967 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50968 normal/menu_entry.c.
50969 (normal_mod_SOURCES): Likewise.
50970 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50971 (normal_mod_SOURCES): Likewise.
50972
e6b92c8a 509732005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
50974
50975 * include/grub/normal.h (grub_halt_init): New prototype.
50976 (grub_halt_fini): Likewise.
50977 (grub_reboot_init): Likewise.
50978 (grub_reboot_fini): Likewise.
50979
50980 * util/grub-emu.c: Include signal.h.
50981 (main_env): New global variable.
50982 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
50983 catch C-c.
50984 (grub_machine_fini): New function.
50985 (main): Call grub_halt_init and grub_reboot_init before
50986 grub_main, and grub_reboot_fini and grub_halt_fini after it.
50987 Call setjmp with MAIN_ENV to go back afterwards.
50988 Call grub_machine_fini right before return.
50989
50990 * include/grub/util/misc.h: Include setjmp.h.
50991 (main_env): New prototype.
50992
50993 * include/grub/kernel.h (grub_machine_fini): New prototype.
50994 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
50995 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
50996
50997 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
50998 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
50999 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51000
e6b92c8a 51001 * util/i386/pc/misc.c: New file.
f19dbdb7 51002
e6b92c8a 51003 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51004 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51005 commands/i386/pc/reboot.c.
51006
c642636f 510072005-02-14 Guillem Jover <guillem@hadrons.org>
51008
51009 * include/grub/dl.h (grub_dl_check_header): New prototype.
51010 (grub_arch_dl_check_header): Change return type to grub_err_t,
51011 remove size parameter and export function. Update all callers.
51012 * kern/dl.c (grub_dl_check_header): New function.
51013 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51014 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51015 are inside the core.
51016 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51017 independent ELF header checks.
51018 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51019 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51020 `grub_dl_check_header' instead of explicit checks. Check for the
51021 ELF type.
51022 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51023 `grub_dl_check_header' instead of explicit checks. Remove arch
51024 specific ELF header checks.
51025
e6b92c8a 51026 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51027 argument SIZE.
51028
5eabe94b 510292005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51030
51031 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51032 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51033
1b14a681 510342005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51035
51036 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51037 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51038 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51039 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51040 * partmap/amiga.c (amiga_partition_map_iterate): Return
51041 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51042 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51043
aca108aa 510442005-02-01 Guillem Jover <guillem@hadrons.org>
51045
51046 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51047 help info.
51048
c9f9c556 510492005-01-31 Marco Gerards <metgerards@student.han.nl>
51050
51051 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51052 Removed prototype.
51053 (grub_rescue_cmd_linux): New prototype.
51054 (grub_rescue_cmd_initrd): Likewise.
51055 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51056 `bi_rec'.
51057 (grub_linux_release_mem): Release the memory for the initrd.
51058 (grub_load_linux): Renamed from this...
51059 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51060 Changed `entry' not to be static. Loop over memory regions to
51061 find another one when the default fails.
51062 (grub_rescue_cmd_initrd): New function.
51063 (grub_linux_init): Remove function.
51064 (grub_linux_fini): Likewise.
51065 (GRUB_MOD_INIT): Register `initrd'.
51066 (GRUB_MOD_FINI): Unregister `initrd'.
51067 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51068 Function removed.
51069 (grub_linux_normal_fini): Likewise.
51070 (GRUB_MOD_INIT): Register `initrd'.
51071 (GRUB_MOD_FINI): Unregister `initrd'.
51072
990cf3aa 510732005-01-31 Marco Gerards <metgerards@student.han.nl>
51074
51075 * commands/help.c: New file.
51076 * normal/arg.c (show_help): Renamed to...
51077 (grub_arg_show_help): ... this.
51078 * commands/i386/pc/halt.c: New file.
51079 * commands/i386/pc/reboot.c: Likewise.
51080 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51081 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51082 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51083 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51084 variables.
51085 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51086 `commands/help.c'.
51087 (pkgdata_MODULES): Add `help.mod'.
51088 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51089 * grub/i386/pc/init.h (grub_reboot): New prototype.
51090 (grub_halt): Likewise.
51091 * include/grub/normal.h (grub_arg_show_help): New prototype.
51092 (grub_help_init): Likewise.
51093 (grub_help_fini): Likewise.
51094 * util/grub-emu.c (main): Initialize and deinitialize the help
51095 command.
51096
51097 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51098
51099 * normal/command.c (grub_command_init): Fixed the description of
51100 the `set' and `unset' commands.
51101
511022005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51103
51104 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51105 function.
51106 * commands/ieee1275/halt.c: New file.
51107 * commands/ieee1275/reboot.c: Likewise.
51108 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51109 `__attribute__ ((unused))'. Some GCS related fixed.
51110 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51111 (grub_suspend_fini): Likewise.
51112 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51113 and `halt.mod'.
51114 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51115 (halt_mod_CFLAGS): New variables.
51116 * include/grub/powerpc/ieee1275/ieee1275.h
51117 (grub_ieee1275_interpret): New prototype.
51118
1ab09cc7 511192005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51120
51121 * include/grub/misc.h (memmove): New prototype.
51122 (memcpy): Likewise.
51123
8b8cbdb2 511242005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51125
51126 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51127 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51128
e3741a27 511292005-01-22 Marco Gerards <metgerards@student.han.nl>
51130
51131 * kern/misc.c (grub_strndup): Function rewritten.
51132
776bd780 511332005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51134
51135 * normal/menu.c (TERM_WIDTH): Macro redefined.
51136 (TERM_TOP_BORDER_Y): Likewise.
51137 (draw_border): Replaced while-loop by a for-loop. Make the number
51138 of lines consistent with the number of lines displayed in
51139 print_entries. Added a margin below the rectangle.
51140 (print_entry): Make the entry fit in the rectangle.
51141 (print_entries): Display the scroll arrows next to the right
51142 border.
51143
78026bce 511442005-01-21 Marco Gerards <metgerards@student.han.nl>
51145
51146 * fs/minix.c (grub_minix_find_file): Reserve more space for
51147 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51148 `grub_strncpy' to copy `path' into it.
51149
67bbaf0f 511502005-01-21 Marco Gerards <metgerards@student.han.nl>
51151
51152 Add the loopback device, a device via which files can be accessed
51153 as devices.
f19dbdb7 51154
67bbaf0f 51155 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51156 (pkgdata_MODULES): Add loopback.mod.
51157 (loopback_mod_SOURCES): New variable.
51158 (loopback_mod_CFLAGS): Likewise.
51159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51160 `disk/loopback.c'.
51161 (pkgdata_MODULES): Add loopback.mod.
51162 (loopback_mod_SOURCES): New variable.
51163 (loopback_mod_CFLAGS): Likewise.
51164 * disk/loopback.c: new file.
51165 * include/grub/normal.h (grub_loop_init): New prototype.
51166 (grub_loop_fini): New prototype.
51167 * util/grub-emu.c (main): Initialize and de-initialize loopback
51168 support.
51169 * include/grub/disk.h (grub_disk_dev_id): Add
51170 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51171
6f1c18bd 511722005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51173
51174 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51175 function.
51176 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51177 (suspend_mod_SOURCES): New variable.
51178 (suspend_mod_CFLAGS): Likewise.
51179 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51180 New prototype.
51181 * commands/ieee1275/suspend.c: New file.
51182
b38551da 511832005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51184
51185 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51186 ((unused))' to `__attribute__ ((used))'.
b38551da 51187 (GRUB_MOD_FINI): Likewise.
51188 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51189 * genmk.rb (PModule): Assign space to common symbols when linking
51190 modules.
51191
777aff39 511922005-01-20 Marco Gerards <metgerards@student.han.nl>
51193
51194 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51195 `unsigned' arguments to `grub_size_t'.
51196 (grub_malloc): Likewise.
51197 (grub_realloc): Likewise.
51198 (grub_memalign): Likewise.
51199 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51200 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51201 * util/misc.c (grub_malloc): Likewise.
51202 (grub_realloc): Likewise.
51203 * kern/mm.c (get_header_from_pointer): Change the casts to
51204 `unsigned' into a cast to `grub_size_t'.
51205
51206 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51207 point to `currnode' when `currnode' is changed.
51208
51209 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51210 Schottelius <nico-linux@schottelius.org>.
51211
d0ff18e1 512122005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51213
51214 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51215 (note_path): Remove variable.
51216 (GRUB_IEEE1275_NOTE_NAME): New macro.
51217 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51218 (grub_ieee1275_note_hdr): New structure.
51219 (grub_ieee1275_note_desc): Likewise.
51220 (grub_ieee1275_note): Likewise.
51221 (load_note): Remove `dir' argument. All callers updated. Remove
51222 `note_img' and `path'. Do not load a file from `note_path'.
51223 Initialize a struct grub_ieee1275_note and write that to `out'.
51224 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51225
4ca7004c 512262005-01-05 Marco Gerards <metgerards@student.han.nl>
51227
51228 * util/misc.c (grub_util_read_image): Revert last change. It
51229 called `grub_util_read_at', which seeks from the beginning of the
51230 file.
51231
0b412211 512322005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51233
51234 * TODO: Add note about endianness in grub-mkimage.
51235 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51236 section.
51237 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51238 (grub_mkimage_SOURCES): New target.
51239 * include/grub/kernel.h (grub_start_addr): Remove variable.
51240 (grub_end_addr): Likewise.
51241 (grub_total_module_size): Likewise.
51242 (grub_kernel_image_size): Likewise.
51243 (GRUB_MODULE_MAGIC): New constant.
51244 (grub_module_info): New structure.
51245 (grub_arch_modules_addr): New prototype.
51246 (grub_get_end_addr): Remove prototype.
51247 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51248 * include/grub/powerpc/ieee1275/kernel.h: New file.
51249 * include/grub/util/misc.h (grub_util_get_fp_size): New
51250 prototype.
51251 (grub_util_read_at): Likewise.
51252 (grub_util_write_image_at): Likewise.
51253 * kern/main.c (grub_get_end_addr): Remove function.
51254 (grub_load_modules): Call grub_arch_modules_addr instead of using
51255 grub_end_addr. Look for a grub_module_info struct in memory. Use
51256 the grub_module_info fields instead of calling grub_get_end_addr
51257 as loop conditions. Move grub_add_unused_region code here.
51258 (grub_add_unused_region): Remove function.
51259 * kern/i386/pc/init.c: Include grub/cache.h.
51260 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51261 one call to add_mem_region.
51262 (grub_arch_modules_addr): New function.
51263 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51264 (grub_total_module_size): Likewise.
51265 Include grub/machine/kernel.h.
51266 (grub_arch_modules_addr): New function.
51267 * util/grub-emu.c (grub_end_addr): Remove variable.
51268 (grub_total_module_size): Likewise.
51269 (grub_arch_modules_addr): New function.
51270 * util/misc.c: Include unistd.h.
51271 (grub_util_get_fp_size): New function.
51272 (grub_util_read_at): Likewise.
51273 (grub_util_write_image_at): Likewise.
51274 (grub_util_read_image): Call grub_util_read_at.
51275 (grub_util_write_image): Call grub_util_write_image_at.
51276 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51277 additional memory in kernel_img for a struct grub_module_info.
51278 Fill in that grub_module_info.
51279 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51280
458786f8 512812005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51282
51283 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51284 New function.
51285 * include/grub/powerpc/ieee1275/ieee1275.h
51286 (grub_ieee1275_milliseconds): New prototype.
51287 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51288 Change to 1000.
51289 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51290 grub_ieee1275_milliseconds.
51291
ac507d1b 512922005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51293
51294 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51295 variable.
51296 (find_options): New function.
51297 (cmain): Call find_options.
51298 * include/grub/powerpc/ieee1275/ieee1275.h
51299 (grub_ieee1275_realmode): New extern variable.
51300 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51301 grub_map if grub_ieee1275_realmode is false.
51302
6b8fd1c4 513032004-12-29 Marco Gerards <metgerards@student.han.nl>
51304
51305 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51306 lines are inserted and make it work like readline. Reported by
51307 Vincent Pelletier <subdino2004@yahoo.fr>.
51308
8514a1e0 513092004-12-28 Marco Gerards <metgerards@student.han.nl>
51310
51311 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51312
51313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51314 `kern/powerpc/cache.S'.
51315
924b6140 513162004-12-27 Marco Gerards <metgerards@student.han.nl>
51317
51318 * genmk.rb: Handle the `Program' class in the main loop. Written
51319 by Johan Rydberg <jrydberg@gnu.org>.
51320 (Program): New class.
51321 (programs): New variable.
51322 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51323 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51324 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51325 (help_arch): Function removed.
51326 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51327 `powerpc/libgcc.h' and `loader.h'.
51328 (pkgdata_PROGRAMS): New variable.
51329 (sbin_UTILITIES): Variable removed.
51330 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51331 (grubof_SOURCES): Variable re-defined so it only includes the
51332 core functionality.
51333 (grubof_CFLAGS): Remove `-DGRUBOF'.
51334 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51335 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51336 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51337 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51338 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51339 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51340 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51341 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51342 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51343 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51344 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51345 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51346 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51347 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51348 (pc_mod_CFLAGS): New variables.
51349 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51350 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51351 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51352 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51353 Moved from here...
51354 * include/grub/i386/pc/init.h (grub_os_area_addr)
51355 (rub_os_area_size): ... to here.
51356 * include/grub/powerpc/ieee1275/ieee1275.h
51357 (grub_ieee1275_entry_fn): Export symbol.
51358 * include/grub/powerpc/ieee1275/init.h: New file.
51359 * include/grub/powerpc/libgcc.h: Likewise.
51360 * include/grub/cache.h: Likewise.
51361 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51362 <hollis@penguinppc.org>.
51363 * kern/dl.c: Include <grub/cache.h>.
51364 (grub_dl_flush_cache): New function.
51365 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51366 for this module.
51367 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51368 (grub_console_init): Removed prototypes.
51369 (grub_machine_init): Don't initialize the modules anymore.
51370 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51371 static.
51372 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51373 Macro undef removed.
51374 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51375 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51376 relocation `R_PPC_REL32'. Return an error when the relocation is
51377 unknown.
51378 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51379 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51380 * util/misc.c (grub_arch_sync_caches): Likewise.
51381
e4b47e0c 513822004-12-19 Marco Gerards <metgerards@student.han.nl>
51383
51384 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51385 `symlist.c', add `grubof_symlist.c'.
51386 (symlist.c): Variable removed.
51387 (grubof_HEADERS): Variable added.
51388 (grubof_symlist.c): New target.
51389 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51390 `kernel_img_HEADERS'.
51391 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51392 * kern/powerpc/dl.c: New file.
51393 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51394 Function removed.
51395 (grub_arch_dl_relocate_symbols): Likewise.
51396 (grub_register_exported_symbols): Likewise.
51397
4ceb3636 513982004-12-13 Marco Gerards <metgerards@student.han.nl>
51399
51400 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51401 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51402 to fail instead. Reported by Vincent Pelletier
51403 <subdino2004@yahoo.fr>.
51404
51405 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51406 it is not allocated. Reported by Vincent Pelletier
51407 <subdino2004@yahoo.fr>.
51408
51409 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51410 output so the output looks better.
f19dbdb7 51411
3f1578fe 514122004-12-04 Marco Gerards <metgerards@student.han.nl>
51413
51414 Modulize the partition map support and add support for the amiga
51415 partition map.
f19dbdb7 51416
3f1578fe 51417 * commands/ls.c: Include <grub/partition.h> instead of
51418 <grub/machine/partition.h>.
51419 * kern/disk.c: Likewise.
51420 * kern/rescue.c: Likewise.
51421 * loader/i386/pc/chainloader.c: Likewise.
51422 * normal/cmdline.c: Likewise.
51423 * kern/powerpc/ieee1275/init.c: Likewise.
51424 (grub_machine_init): Call `grub_pc_partition_map_init',
51425 `grub_amiga_partition_map_init' and
51426 `grub_apple_partition_map_init'.
51427 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51428 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51429 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51430 `partition.h' and `pc_partition.h'.
51431 (grub_setup_SOURCES): Remove
51432 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51433 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51434 (grub_emu_SOURCES): Likewise.
51435 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51436 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51437 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51438 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51439 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51440 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51441 (grubof_SOURCES): Likewise.
51442 * disk/i386/pc/partition.c: File removed.
51443 * disk/powerpc/ieee1275/partition.c: Likewise.
51444 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51445 * include/grub/i386/pc/partition.h: Likewise.
51446 * kern/partition.c: New file.
51447 * partmap/amiga.c: Likewise.
51448 * partmap/apple.c: Likewise.
51449 * partmap/pc.c: Likewise.
51450 * include/grub/partition.h: Likewise..
51451 * include/grub/pc_partition.h: Likewise.
51452 * util/grub-emu.c: Include <grub/partition.h> instead of
51453 <grub/machine/partition.h>.
51454 (main): Call `grub_pc_partition_map_init',
51455 `grub_amiga_partition_map_init' and
51456 `grub_apple_partition_map_init' and deinitialize afterwards.
51457 * util/i386/pc/biosdisk.c: Include `#include
51458 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51459 `<grub/machine/partition.h>'.
51460 * util/i386/pc/grub-setup.c: Likewise.
51461 * util/i386/pc/biosdisk.c: Likewise.
51462 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51463 partition information in case of a PC partition.
51464 * util/i386/pc/grub-setup.c: Include `#include
51465 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51466 `<grub/machine/partition.h>'.
51467 (setup): Only access the PC specific partition information in case
51468 of a PC partition.
51469
0ef4ced9 514702004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51471
0ef4ced9 51472 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51473 (grub_longjmp): Likewise.
51474 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51475 20.
51476 * normal/powerpc/setjmp.S: New file.
51477 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51478 `normal/powerpc/setjmp.S'.
51479 (grubof_CFLAGS): Add `-DGRUBOF'.
51480 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51481 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51482
19950e29 514832004-11-16 Marco Gerards <metgerards@student.han.nl>
51484
51485 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51486 property named `name'. Correctly handle the error returned by
51487 `grub_ieee1275_finddevice' if a device can not be opened.
51488
a2fea427 514892004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51490
51491 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51492 `actual' for negativity.
51493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51494 kern/fshelp.c.
51495
41ea0ea3 514962004-11-01 Marco Gerards <metgerards@student.han.nl>
51497
51498 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51499 (PAGE_OFFSET): New macro.
51500 (CRTC_ADDR_PORT): Likewise.
51501 (CRTC_DATA_PORT): Likewise.
51502 (START_ADDR_HIGH_REGISTER): Likewise.
51503 (START_ADDR_LOW_REGISTER): Likewise.
51504 (GRAPHICS_ADDR_PORT): Likewise.
51505 (GRAPHICS_DATA_PORT): Likewise.
51506 (READ_MAP_REGISTER): Likewise.
51507 (INPUT_STATUS1_REGISTER): Likewise.
51508 (INPUT_STATUS1_VERTR_BIT): Likewise.
51509 (page): New variable.
51510 (wait_vretrace): New function.
51511 (set_read_map): Likewise.
51512 (set_start_address): Likewise.
51513 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51514 the right page.
51515 (check_vga_mem): Take the page into account.
51516 (write_char): Likewise.
51517 (write_cursor): Likewise.
51518 (scroll_up): Likewise. Copy the page to the page that is not
51519 shown and switch between both pages.
51520 (grub_vga_putchar): Fix off by one error.
51521 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51522 account.
51523
ad0bd20b 515242004-11-01 Marco Gerards <metgerards@student.han.nl>
51525
51526 Add support for iso9660 (including rockridge).
f19dbdb7 51527
ad0bd20b 51528 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51529 (iso9660_mod_SOURCES): New variable.
51530 (iso9660_mod_CFLAGS): Likewise.
51531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51532 * include/grub/fs.h (grub_iso9660_init): New prototype.
51533 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51534 * fs/iso9660.c: New file.
51535
51536 * include/grub/misc.h (grub_strncat): New prototype.
51537 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51538
ad0bd20b 51539 * fs/hfs.c (grub_hfs_mount): Translate the error
51540 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51541 * fs/jfs.c (grub_jfs_mount): Likewise.
51542 * fs/ufs.c (grub_ufs_mount): Likewise.
51543
a5477a59 515442004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51545
51546 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51547 which initialized BAT registers.
51548 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51549 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51550 Move from here...
51551 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51552 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51553 ... to here.
51554 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51555 (grub_mapclaim): Likewise.
51556 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51557 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51558 hand.
51559
9304c1f8 515602004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51561
51562 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51563 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51564 -ffreestanding and -msoft-float.
51565
86f4ae25 515662004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51567
51568 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51569 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51570 set in grub_ieee1275_flags.
51571
38912228 515722004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51573
51574 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51575 prototype.
51576 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51577 grub_console_init first.
51578 Change the memory range used for grub_ieee1275_claim and
51579 grub_mm_init_region.
51580 Print an error message if the claim fails.
51581 Include <grub/misc.h>.
51582
d1923dc8 515832004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51584
51585 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51586 Call grub_children_iterate for device nodes of type `scsi',
51587 `ide', or `ata'.
51588 (grub_ofdisk_open): Remove manual device alias resolution.
51589 Fix memory leak when device cannot be opened.
f19dbdb7 51590 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51591 (grub_children_iterate): New prototype.
51592 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51593 New function.
51594 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51595 Return -1 if args.size was -1.
51596
4512e4f3 515972004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51598
51599 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51600 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51601 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51602 Open Firmware's memory for it; claim memory from _start to _end.
51603 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51604 (_end): New extern.
51605 (_start): Zero BSS from __bss_start to _end.
51606 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51607 New extern.
51608 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51609
4d61feb0 516102004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51611
ad0bd20b 51612 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51613 -1 if args.base was -1.
4d61feb0 51614
026fa2f9 516152004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51616
51617 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51618 escape sequence instead of a literal ^L. Also call
51619 grub_ofconsole_gotoxy.
51620
9f2220ef 516212004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51622
51623 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51624 void * arguments to grub_addr_t. All callers updated. Also make
51625 the `result' argument optional.
51626 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51627 All callers updated.
51628
8a572cd7 516292004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51630
51631 * commands/ls.c (grub_ls_list_files): Use the string following the
51632 initial ')', if present, as the filesystem path.
51633 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51634
51635 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51636
18aa81f2 516372004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51638
51639 Make the source code of the menu interface more readable.
f19dbdb7 51640
18aa81f2 51641 * normal/menu.c: Include grub/mm.h.
51642 (TERM_WIDTH): New macro.
51643 (TERM_HEIGHT): Likewise.
51644 (TERM_INFO_HEIGHT): Likewise.
51645 (TERM_MARGIN): Likewise.
51646 (TERM_SCROLL_WIDTH): Likewise.
51647 (TERM_TOP_BORDER_Y): Likewise.
51648 (TERM_LEFT_BORDER_X): Likewise.
51649 (TERM_BORDER_WIDTH): Likewise.
51650 (TERM_MESSAGE_HEIGHT): Likewise.
51651 (TERM_BORDER_HEIGHT): Likewise.
51652 (TERM_NUM_ENTRIES): Likewise.
51653 (TERM_FIRST_ENTRY_Y): Likewise.
51654 (TERM_ENTRY_WIDTH): Likewise.
51655 (TERM_CURSOR_X): Likewise.
51656 (draw_border): Use macros instead of magic numbers.
51657 (print_entry): Likewise.
51658 (print_entries): Likewise.
51659 (run_menu): Likewise. Also, handle the key 'e'.
51660 (run_menu_entry): Ignore empty command lines.
51661 (print_message): Added a new argument EDIT. If EDIT is true,
51662 print a different message.
51663 (init_page): Likewise.
51664 (edit_menu_entry): New function. Not implemented yet.
51665
b47efe30 516662004-09-17 Marco Gerards <metgerards@student.han.nl>
51667
51668 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51669 can be loaded from normal mode.
f19dbdb7 51670
b47efe30 51671 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51672 `multiboot.mod'.
51673 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51674 (multiboot_mod_CFLAGS): New variables.
51675 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51676 * loader/i386/pc/multiboot_normal.c: Likewise.
51677
b47efe30 51678 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51679 attribute `unused'.
f19dbdb7 51680
b47efe30 51681 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51682 `fdiro' to read the mode information from instead of `diro'.
51683
51684 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51685 looking up a symlink.
51686
51687 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51688 macro.
51689 * normal/command.c (grub_command_execute): Don't parse the
51690 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51691 flags of the command.
51692
51693 * normal/menu.c (grub_menu_run): Fix typo.
51694
da75ac71 516952004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51696
51697 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51698
51699 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51700 `y + 1' instead of `y - 1'.
51701
51702 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 51703
062b24c2 517042004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51705
51706 From Hollis Blanchard <hollis@penguinppc.org>:
51707 * kern/misc.c (memmove): New alias for grub_memmove.
51708 (memcmp): New alias for grub_memcmp.
51709 (memset): New alias for grub_memset.
f19dbdb7 51710 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 51711 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 51712 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 51713 (grub_ieee1275_get_property): Likewise.
f19dbdb7 51714
8ddad845 517152004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51716
51717 Added normal mode command `chainloader' as module chain.mod, which
51718 depends on normal.mod and _chain.mod.
f19dbdb7 51719
8ddad845 51720 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51721 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51722 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51723 Deleted prototype.
51724 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51725 but arguments parsing moved to ...
51726 (grub_chainloader_cmd): ... here. New function.
51727 * include/grub/i386/pc/chainloader.h: New file.
51728 * loader/i386/pc/chainloader_normal.c: Likewise.
51729
2c1f4ce3 517302004-09-11 Marco Gerards <metgerards@student.han.nl>
51731
51732 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51733 (grub_mkimage_LDFLAGS): Likewise.
51734 (grub_emu_SOURCES): Likewise.
51735 (kernel_img_HEADERS): Added fshelp.h.
51736 * fs/ext2.c: Include <grub/fshelp.h>.
51737 (FILETYPE_REG): New macro.
51738 (FILETYPE_INO_REG): Likewise.
51739 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51740 Changed all users.
51741 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51742 all users.
51743 (grub_fshelp_node): New struct.
51744 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51745 to a pointer.
51746 (grub_ext2_get_file_block): Removed function.
51747 (grub_ext2_read_block): New function.
51748 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51749 This function was written.
51750 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51751 (grub_ext2_find_file): Removed function.
51752 (grub_ext2_read_symlink): New function.
51753 (grub_ext2_iterate_dir): Likewise.
51754 (grub_ext2_open): Rewritten.
51755 (grub_ext2_dir): Rewritten.
51756 * include/grub/fshelp.h: New file.
51757 * fs/fshelp.c: Likewise.
51758
3c52136a 517592004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51760
51761 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51762 (print_message): Add a missing newline.
51763 (run_menu): Added timeout support.
51764 (run_menu_entry): New local function.
51765 (grub_menu_run): Added support for booting.
51766
51767 * kern/loader.c (grub_loader_is_loaded): New function.
51768
51769 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51770 (grub_get_rtc): Exported.
51771
51772 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51773 (grub_get_rtc): Exported.
51774
51775 * include/grub/normal.h (struct grub_command_list): Remove
51776 constant from the member `command'.
51777
51778 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51779
51780 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51781
51782 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51783
aa033560 517842004-08-28 Marco Gerards <metgerards@student.han.nl>
51785
51786 Add support for the JFS filesystem.
51787
51788 * fs/jfs.c: New file.
51789 * include/grub/fs.h (grub_jfs_init): New prototype.
51790 (grub_jfs_fini): New prototype.
51791 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51792 (grub_emu_SOURCES): Likewise.
51793 (pkgdata_MODULES): Add jfs.mod.
51794 (jfs_mod_SOURCES): New variable.
51795 (jfs_mod_CFLAGS): Likewise.
51796 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51797 (grubof_SOURCES): Likewise.
51798 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51799
51800 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51801 endian to the host endian.
51802 (grub_fat_utf16_to_utf8): Move function from there...
51803 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 51804 the endianness of the source string anymore.
aa033560 51805 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51806
94bc45af 518072004-08-24 Marco Gerards <metgerards@student.han.nl>
51808
51809 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51810 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51811 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51812 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 51813
94bc45af 51814 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51815 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51816 for `node_found' and `it_dir'.
51817 (grub_hfs_dir): Add prototype for `dir_hook'.
51818
51819 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51820 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51821 and `indir32' to silence a gcc warning.
51822
51823 * include/grub/fs.h (grub_hfs_init): New prototype.
51824 (grub_hfs_fini): Likewise.
f19dbdb7 51825
51826
97543f08 518272004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51828
51829 Each disk device has its own id now. This is useful to make use
51830 of multiple disk devices.
f19dbdb7 51831
97543f08 51832 * include/grub/disk.h (grub_disk_dev_id): New enum.
51833 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51834 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51835
51836 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
51837 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51838
51839 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
51840 GRUB_DISK_DEVICE_OFDISK_ID as an id.
51841
51842 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
51843 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51844
51845 * include/grub/disk.h (struct grub_disk_dev): Added a new member
51846 "id" which is used by the cache manager.
51847
51848 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
51849 of just "GRUB".
51850
64372eb4 518512004-08-18 Marco Gerards <metgerards@student.han.nl>
51852
51853 * fs/hfs.c: New file.
51854 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
51855 (grub_emu_SOURCES): Likewise.
51856 (pkgdata_MODULES): Add hfs.mod.
51857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
51858 (grubof_SOURCES): Likewise.
51859 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
51860
51861 * include/grub/misc.h (grub_strncasecmp): Add prototype.
51862 * kern/misc.c (grub_strncasecmp): Add function.
51863
cc61b58f 518642004-08-14 Marco Gerards <metgerards@student.han.nl>
51865
51866 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
51867 with parentheses.
51868
51869 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
51870 (grub_ext2_dir): In case the directory entry type is unknown, read
51871 it from the inode.
51872
0ef123f6 518732004-08-02 Peter Bruin <pjbruin@dds.nl>
51874
51875 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
51876 grub_load_linux instead of grub_rescue_cmd_linux as second
51877 argument of grub_rescue_register_command.
51878
51879 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
51880
a447c5df 518812004-07-27 Marco Gerards <metgerards@student.han.nl>
51882
51883 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
51884 function.
51885 * commands/boot.c: Remove the check for `GRUB_UTIL'.
51886 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51887 `loader/powerpc/ieee1275/linux.c',
51888 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
51889 * include/grub/powerpc/ieee1275/ieee1275.h
51890 (grub_ieee1275_release): New prototype.
51891 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
51892 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
51893 normal, boot, linux and linux_normal.
51894 * loader/powerpc/ieee1275/linux.c: New file.
51895 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
51896
5a9e3546 518972004-07-12 Marco Gerards <metgerards@student.han.nl>
51898
51899 * normal/arg.c (grub_arg_parse): Correct error handling after
51900 reallocating the argumentlist (check if `argl' is not null instead
51901 of checking if `args' is not null).
51902 * kern/mm.c (grub_realloc): Return the same pointer when using the
51903 same region, instead of returning the header address.
51904
e15199cb 519052004-07-11 Marco Gerards <metgerards@student.han.nl>
51906
51907 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
51908 one block instead of two when looking for the initial partition.
51909 (grub_partition_probe): Initialize the local variable `p' with 0.
51910 Use base 10 for the grub_strtoul call.
51911 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
51912 need for one local variable.
51913 (grub_strtoul): Don't add the new value to `num', instead of that
51914 just assign it.
51915
020616c2 519162004-07-11 Marco Gerards <metgerards@student.han.nl>
51917
51918 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
51919 (pxeboot_img_SOURCES): New variable.
51920 (pxeboot_img_ASFLAGS): Likewise.
51921 (pxeboot_img_LDFLAGS): Likewise.
51922 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
51923 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
51924 <lode_leroy@hotmail.com>.
51925
6c51eb64 519262004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51927
51928 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
51929 there was no input.
51930
cfb12aff 519312004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51932
51933 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
51934 the history buffer logic.
51935
6eabba74 519362004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51937
51938 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
51939 (FILETYPE_INO_SYMLINK): New macros.
51940 (grub_ext2_find_file): Check if the node is a directory using the
51941 inode stat information instead of using the filetype in the
51942 dirent. Exclude the first character of an absolute symlink.
51943 (grub_ext2_dir): Mask out the filetype part of the mode member of
51944 the inode.
51945
66e19ef8 519462004-05-24 Marco Gerards <metgerards@student.han.nl>
51947
51948 Add support for UFS version 1 and 2. Add support for the minix
51949 filesystem version 1 and 2, both the variants with 14 and 30 long
51950 filenames.
f19dbdb7 51951
66e19ef8 51952 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
51953 fs/minix.c.
51954 (grub_emu_SOURCES): Likewise.
51955 (pkgdata_MODULES): Add ufs.mod and minix.mod.
51956 (ufs_mod_SOURCES): New variable.
51957 (ufs_mod_CFLAGS): Likewise.
51958 (minix_mod_SOURCES): Likewise.
51959 (minix_mod_CFLAGS): Likewise.
51960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
51961 fs/minix.c.
51962 (grubof_SOURCES): Likewise.
51963 * fs/ufs.c: New file.
51964 * fs/minix.c: New file.
51965 * include/grub/fs.h (grub_ufs_init): New prototype.
51966 (grub_ufs_fini): Likewise.
51967 (grub_minix_init): Likewise.
51968 (grub_minix_fini): Likewise.
51969 * util/grub-emu.c (main): Initialize and deinitialize UFS and
51970 minix fs.
51971
cc2e748a 519722004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
51973
51974 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
51975 commands/ls.c, commands/terminal.c, commands/boot.c,
51976 commands/cmp.c and commands/cat.c.
51977 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
51978
51979 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
51980 "env.h"
51981
4b13b216 519822004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51983
51984 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
51985 and grub_, respectively. Because the conversion is trivial and
51986 mechanical, I omit the details here. Please refer to the CVS
51987 if you need more information.
51988
6a142551 519892004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51990
51991 * include/pupa: Renamed to ...
51992 * include/grub: ... this.
51993 * util/i386/pc/pupa-mkimage.c: Renamed to ...
51994 * util/i386/pc/grub-mkimage.c: ... this.
51995 * util/i386/pc/pupa-setup.c: Renamed to ...
51996 * util/i386/pc/grub-setup.c: ... this.
51997 * util/pupa-emu.c: Renamed to ...
51998 * util/grub-emu.c: ... this.
51999
e56cdf21 520002004-03-29 Marco Gerards <metgerards@student.han.nl>
52001
52002 Add support for the newworld apple macintosh (PPC). This has been
52003 tested on the powerbook 2000 only. It only adds support for
52004 generic ieee1275 functions, console and disk support. This should
52005 be easy to port to other architectures with support for Open
52006 Firmware.
f19dbdb7 52007
e56cdf21 52008 * configure.ac: Accept the powerpc as host_cpu. In the case of
52009 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52010 specific tests are only executed while building for the i386.
52011 Inverse test for crosscompile.
52012 * genmk.rb (Utility): Allow assembler files.
52013 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52014 * conf/powerpc-ieee1275.rmk: New file.
52015 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52016 * disk/powerpc/ieee1275/partition.c: Likewise.
52017 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52018 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52019 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52020 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52021 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52022 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52023 * include/pupa/powerpc/ieee1275/loader.h
52024 * include/pupa/powerpc/setjmp.h: Likewise.
52025 * include/pupa/powerpc/types.h: Likewise.
52026 * kern/powerpc/ieee1275/init.c: Likewise.
52027 * kern/powerpc/ieee1275/openfw.c: Likewise.
52028 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52029
52030 These files were written by Johan Rydberg
52031 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52032
e56cdf21 52033 * boot/powerpc/ieee1275/cmain.c: New file.
52034 * boot/powerpc/ieee1275/crt0.S: Likewise.
52035 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52036 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52037
8c8cc205 520382004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52039
52040 * Makefile.in: Update copyright.
52041 * genmodsrc.sh: Likewise.
52042 * gensymlist.sh: Likewise.
52043 * term/i386/pc/vga.c: Indent correctly.
52044
52045 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52046 bugreporting address.
52047 * util/i386/pc/pupa-setup.c (usage): Likewise,
52048 (main): Call pupa_ext2_init and pupa_ext2_fini.
52049
f19dbdb7 52050 * fs/fat.c (log2): Renamed to ...
8c8cc205 52051 (fat_log2): ... this.
52052 All callers changed.
52053 * kern/misc.c (memcpy): Alias to pupa_memmove.
52054 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52055 lvalue cast.
52056 * util/console.c (pupa_ncurses_fini): Return 0.
52057
52058 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52059 Move fail label here.
52060 [__GNU__]: Don't warn when using stat.
52061 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52062 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52063 long int. Use strtol instead of strtoul.
f19dbdb7 52064
db1771cf 520652004-03-14 Marco Gerards <metgerards@student.han.nl>
52066
52067 * commands/boot.c: New file.
52068 * commands/cat.c: Likewise.
52069 * commands/cmp.c: Likewise.
52070 * commands/ls.c: Likewise.
52071 * commands/terminal.c: Likewise.
52072 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52073 (pupa_register_command): Changed interface to match the new
52074 argument parser.
52075 (pupa_command_execute): Changed (almost rewritten) so it uses
52076 pupa_split_command. Added support for setting variables using the
52077 syntax `foo=bar'.
52078 (rescue_command): Changed to work with the new argument parser.
52079 (terminal_command): Moved from here to commands/terminal.c.
52080 (set_command): New function.
52081 (unset_command): New function.
52082 (insmod_command): New function.
52083 (rmmod_command): New function.
52084 (lsmod_command): New function.
52085 (pupa_command_init): Don't initialize the command terminal
52086 anymore. Initialize the commands set, unset, insmod, rmmod and
52087 lsmod.
52088 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52089 (kernel_img_HEADERS): Add arg.h and env.h.
52090 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52091 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52092 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52093 normal/arg.c.
52094 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52095 terminal.mod.
52096 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52097 (boot_mod_SOURCES): New variable.
52098 (terminal_mod_SOURCES): Likewise.
52099 (ls_mod_SOURCES): Likewise.
52100 (cmp_mod_SOURCES): Likewise.
52101 (cat_mod_SOURCES): Likewise.
52102
52103 * normal/arg.c: New file.
52104 * kern/env.c: Likewise.
52105 * include/pupa/arg.h: Likewise.
52106 * include/pupa/env.h: Likewise.
52107 * font/manager.c (font_command): Changed to match argument parsing
52108 interface changes.
52109 (PUPA_MOD_INIT): Likewise.
52110 * hello/hello.c (pupa_cmd_hello): Likewise.
52111 (PUPA_MOD_INIT): Likewise.
52112 * include/pupa/disk.h: Include <pupa/device.h>.
52113 (pupa_print_partinfo): New prototype.
52114 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52115 (pupa_dl_get_prefix): Likewise.
52116 * include/pupa/misc.h: Include <pupa/err.h>.
52117 (pupa_isgraph): New prototype.
52118 (pupa_isdigit): Likewise.
52119 (pupa_split_cmdline): Likewise.
52120 * include/pupa/normal.h: Include <pupa/arg.h>.
52121 (pupa_command): Changed the prototype of the member `func' to
52122 match the argument parsing interface. Added member `options'.
52123 (pupa_register_command): Updated to match function.
52124 (pupa_arg_parse): New prototype.
52125 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52126 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52127 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52128 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52129 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52130 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52131 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52132 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52133 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52134 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52135 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52136 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52137 * kern/disk.c: Include <pupa/file.h>.
52138 (pupa_print_partinfo): New function.
52139 * kern/dl.c: Include <pupa/env.h>.
52140 (pupa_dl_dir): Variable removed.
52141 (pupa_dl_load): Use the environment variable `prefix' instead of
52142 the variable pupa_dl_dir.
52143 (pupa_dl_set_prefix): Function removed.
52144 (pupa_dl_get_prefix): Likewise.
52145 * kern/i386/pc/init.c: Include <pupa/env.h>.
52146 (pupa_machine_init): Use the environment variable `prefix' instead of
52147 using pupa_dl_set_prefix to set the prefix.
52148 * kern/main.c: Include <pupa/env.h>.
52149 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52150 using pupa_dl_get_prefix to get the prefix.
52151 * kern/misc.c: Include <pupa/env.h>.
52152 (pupa_isdigit): New function.
52153 (pupa_isgraph): Likewise.
52154 (pupa_ftoa): Likewise.
52155 (pupa_vsprintf): Added support for printing values of the type
52156 `double'. Make it possible to format variable output when using
52157 formatting like `%1.2%f'.
52158 (pupa_split_cmdline): New function.
52159 * kern/rescue.c: Include <pupa/env.h>.
52160 (next_word): Removed function.
52161 (pupa_rescue_cmd_prefix): Likewise.
52162 (pupa_rescue_cmd_set): New function.
52163 (pupa_rescue_cmd_unset): New function.
52164 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52165 split the command line instead of splitting it here. Added
52166 support for setting variables using the syntax `foo=bar'. Don't
52167 initialize the prefix command anymore. Initialized the set and
52168 unset commands.
52169 * normal/cmdline.c: Include <pupa/env.h>.
52170 (pupa_tab_complete): Added prototypes for print_simple_completion,
52171 print_partition_completion, add_completion, iterate_commands,
52172 iterate_dev, iterate_part and iterate_dir. Moved code to print
52173 partition information from here to kern/disk.c.
fe6b695a 52174 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52175 * normal/main.c: Include <pupa/env.h>.
52176 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52177 instead of using pupa_dl_get_prefix to get the prefix.
52178 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52179 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52180 warning.
52181 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52182 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52183 ((unused))' to silence a gcc warning.
52184 (pupa_vga_setcolor): Likewise.
52185 (debug_command): Changed to match argument parsing
52186 interface changes.
52187 * util/pupa-emu.c: Include <pupa/env.h>.
52188 (options): Added 0's for unused fields to silence a gcc warning.
52189 (argp): Likewise.
52190 (main): Use the environment variable `prefix' instead of using
52191 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52192 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52193 and terminal.
52194
52195 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52196 * util/misc.c: Include <malloc.h>.
52197 (pupa_malloc): Rewritten so errors are correctly reported.
52198 (pupa_realloc): Likewise.
52199 (pupa_memalign): Likewise.
52200 (pupa_mm_init_region): Declare unused variables with
52201 `__attribute__ ((unused))' to silence a gcc warning.
52202 * normal/i386/setjmp.S: Remove tab at the end of the file to
52203 silence a gcc warning.
52204 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52205 variables with `__attribute__ ((unused))' to silence a gcc
52206 warning.
52207 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52208 local variable i unsigned to silence a gcc warning.
52209
52210 * kern/term.c: Include <pupa/misc.h>.
52211 (pupa_more_lines): New variable.
52212 (pupa_more): Likewise.
52213 (pupa_putcode): When the pager is active pause at the end of every
52214 screen.
52215 (pupa_set_more): New function.
52216 * include/pupa/term.h (pupa_set_more): New prototype.
52217
52218
3b1139cb 522192004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52220
52221 Now this project is GRUB 2 rather than PUPA. The location of
52222 the CVS repository was moved to GRUB's.
f19dbdb7 52223
3b1139cb 52224 * configure.ac: Use bug-grub as the reporting address.
52225 Use GRUB instead of PUPA.
52226 Change the version number to 1.90.
52227
8367695c 522282004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52229
52230 * genkernsyms.sh: Updated copyright information.
52231 * genmk.rb: Likewise.
52232 * genmodsrc.sh: Likewise.
52233 * gensymlist.sh: Likewise.
52234 * boot/i386/pc/boot.S: Likewise.
52235 * boot/i386/pc/diskboot.S: Likewise.
52236 * disk/i386/pc/biosdisk.c: Likewise.
52237 * disk/i386/pc/partition.c: Likewise.
52238 * font/manager.c: Likewise.
52239 * fs/ext2.c: Likewise.
52240 * fs/fat.c: Likewise.
52241 * include/pupa/boot.h: Likewise.
52242 * include/pupa/device.h: Likewise.
52243 * include/pupa/disk.h: Likewise.
52244 * include/pupa/dl.h: Likewise.
52245 * include/pupa/elf.h: Likewise.
52246 * include/pupa/err.h: Likewise.
52247 * include/pupa/file.h: Likewise.
52248 * include/pupa/font.h: Likewise.
52249 * include/pupa/fs.h: Likewise.
52250 * include/pupa/kernel.h: Likewise.
52251 * include/pupa/loader.h: Likewise.
52252 * include/pupa/misc.h: Likewise.
52253 * include/pupa/mm.h: Likewise.
52254 * include/pupa/net.h: Likewise.
52255 * include/pupa/normal.h: Likewise.
52256 * include/pupa/rescue.h: Likewise.
52257 * include/pupa/setjmp.h: Likewise.
52258 * include/pupa/symbol.h: Likewise.
52259 * include/pupa/term.h: Likewise.
52260 * include/pupa/types.h: Likewise.
52261 * include/pupa/i386/setjmp.h: Likewise.
52262 * include/pupa/i386/types.h: Likewise.
52263 * include/pupa/i386/pc/biosdisk.h: Likewise.
52264 * include/pupa/i386/pc/boot.h: Likewise.
52265 * include/pupa/i386/pc/console.h: Likewise.
52266 * include/pupa/i386/pc/init.h: Likewise.
52267 * include/pupa/i386/pc/kernel.h: Likewise.
52268 * include/pupa/i386/pc/linux.h: Likewise.
52269 * include/pupa/i386/pc/loader.h: Likewise.
52270 * include/pupa/i386/pc/memory.h: Likewise.
52271 * include/pupa/i386/pc/multiboot.h: Likewise.
52272 * include/pupa/i386/pc/partition.h: Likewise.
52273 * include/pupa/i386/pc/time.h: Likewise.
52274 * include/pupa/i386/pc/vga.h: Likewise.
52275 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52276 * include/pupa/util/getroot.h: Likewise.
52277 * include/pupa/util/misc.h: Likewise.
52278 * include/pupa/util/resolve.h: Likewise.
52279 * kern/device.c: Likewise.
52280 * kern/disk.c: Likewise.
52281 * kern/dl.c: Likewise.
52282 * kern/err.c: Likewise.
52283 * kern/file.c: Likewise.
52284 * kern/fs.c: Likewise.
52285 * kern/loader.c: Likewise.
52286 * kern/main.c: Likewise.
52287 * kern/misc.c: Likewise.
52288 * kern/mm.c: Likewise.
52289 * kern/rescue.c: Likewise.
52290 * kern/term.c: Likewise.
52291 * kern/i386/dl.c: Likewise.
52292 * kern/i386/pc/init.c: Likewise.
52293 * kern/i386/pc/lzo1x.S: Likewise.
52294 * kern/i386/pc/startup.S: Likewise.
52295 * loader/i386/pc/chainloader.c: Likewise.
52296 * loader/i386/pc/linux.c: Likewise.
52297 * loader/i386/pc/multiboot.c: Likewise.
52298 * normal/cmdline.c: Likewise.
52299 * normal/command.c: Likewise.
52300 * normal/main.c: Likewise.
52301 * normal/menu.c: Likewise.
52302 * normal/i386/setjmp.S: Likewise.
52303 * term/i386/pc/console.c: Likewise.
52304 * term/i386/pc/vga.c: Likewise.
52305 * util/console.c: Likewise.
52306 * util/genmoddep.c: Likewise.
52307 * util/misc.c: Likewise.
52308 * util/pupa-emu.c: Likewise.
52309 * util/resolve.c: Likewise.
52310 * util/unifont2pff.rb: Likewise.
52311 * util/i386/pc/biosdisk.c: Likewise.
52312 * util/i386/pc/getroot.c: Likewise.
52313 * util/i386/pc/pupa-mkimage.c: Likewise.
52314 * util/i386/pc/pupa-setup.c: Likewise.
52315
e6eced71 523162004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52317
52318 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52319 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52320 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52321 reading and reset it after reading.
52322 (pupa_ext2_close): Return PUPA_ERR_NONE.
52323
52324 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52325 Correct value.
52326 (struct linux_kernel_header): Add kernel_version and
52327 initrd_addr_max.
52328 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52329 pupa_file_read succeeds.
52330 (pupa_rescue_cmd_initrd): Implement.
52331
5aded270 523322003-12-03 Marco Gerards <metgerards@student.han.nl>
52333
52334 * fs/ext2.c (pupa_ext2_label): New function.
52335 (pupa_ext2_fs): Added label.
52336 * fs/fat.c (pupa_fat_label): New function.
52337 (pupa_fat_fs): Added label.
52338 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52339
52340 * kern/misc.c (pupa_strndup): New function.
52341 * include/pupa/misc.h (pupa_strndup): New prototype.
52342
52343 * include/pupa/normal.h: Include <pupa/err.h>.
52344 (pupa_set_history): New prototype.
52345 (pupa_iterate_commands): New prototype.
52346 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52347 <pupa/disk.h>, <pupa/file.h>.
52348 (hist_size): New variable.
52349 (hist_lines): Likewise.
52350 (hist_end): Likewise.
52351 (hist_used): Likewise.
52352 (pupa_set_history): New function.
52353 (pupa_history_get): Likewise.
52354 (pupa_history_add): Likewise.
52355 (pupa_history_replace): Likewise.
52356 (pupa_tab_complete): Likewise.
52357 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52358 completion shows partitionnames while completing partitions, this
52359 feature was suggested by Jeff Bailey.
52360 * normal/command.c (pupa_iterate_commands): New function.
52361 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52362 (pupa_normal_init): Initialize history buffer.
52363 (PUPA_MOD_INIT): Likewise.
52364 (pupa_normal_fini): Free the history buffer.
52365 (PUPA_MOD_FINI): Likewise.
52366
52367 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52368 key.
52369
52370 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52371 * configure.ac [i386]: Check for regparam bug.
52372 (NESTED_FUNC_ATTR) [! i386]: Defined.
52373
1f7315a3 523742003-11-17 Marco Gerards <metgerards@student.han.nl>
52375
52376 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52377 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52378 (pupa_emu_SOURCES): New variable.
52379 (pupa_emu_LDFLAGS): Likewise.
52380 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52381 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52382 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52383 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52384 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52385 (pupa_jmp_buf): New typedef.
52386 (pupa_setjmp) [PUPA_UTIL]: New macro.
52387 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52388 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52389 (pupa_refresh): New prototype.
52390 * include/pupa/util/getroot.h: New file.
52391 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52392 it.
52393 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52394 (pupa_rescue_cmd_cat): Likewise.
52395 (pupa_rescue_cmd_ls): Likewise.
52396 (pupa_rescue_cmd_testload): Likewise.
52397 (pupa_rescue_cmd_lsmod): Likewise.
52398 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52399 * normal/menu.c (run_menu): Likewise.
52400 * kern/term.c (pupa_cls): Likewise.
52401 (pupa_refresh): New function.
52402 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52403 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52404 * util/console.c: New file.
f19dbdb7 52405
1f7315a3 52406 * util/i386/pc/getroot.c: New file.
52407 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52408 (pupa_putchar): New function.
52409 (pupa_refresh): Likewise.
52410 (xgetcwd): Function moved to ...
52411 (strip_extra_slashes): Likewise.
52412 (get_prefix): Likewise.
f19dbdb7 52413 * util/i386/pc/getroot.c: ... here.
1f7315a3 52414 (find_root_device): Function moved and renamed to...
52415 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52416 Changed all callers.
52417 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52418 and renamed to...
52419 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52420 Changed all callers.
52421 * util/misc.c (pupa_memalign): New function.
52422 (pupa_mm_init_region): Likewise.
52423 (pupa_register_exported_symbols): Likewise.
52424 (pupa_putchar): Function removed.
52425 * util/pupa-emu.c: New file.
52426
9a5c1ade 524272003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52428
52429 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52430 (_multiboot_mod_SOURCES): New variable.
52431 (_multiboot_mod_CFLAGS): Likewise.
52432 * loader/i386/pc/multiboot.c: New file.
52433 * include/pupa/i386/pc/multiboot.h: Likewise.
52434 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52435 (pupa_multiboot_real_boot): New function.
52436 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52437 (pupa_multiboot_real_boot): New prototype.
52438 (pupa_rescue_cmd_multiboot): Likewise
52439 (pupa_rescue_cmd_module): Likewise.
52440
52441 * kern/loader.c (pupa_loader_set): Continue when
52442 pupa_loader_unload_func() fails.
52443 (pupa_loader_unset): New function.
52444 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52445
52446 * kern/misc.c (pupa_stpcpy): New function.
52447 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52448
8e72a9c0 524492003-11-12 Marco Gerards <metgerards@student.han.nl>
52450
52451 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52452 for available extensions.
52453
52454 * include/pupa/i386/pc/time.h: New file.
52455 * kern/disk.c: Include <pupa/machine/time.h>.
52456 (PUPA_CACHE_TIMEOUT): New macro.
52457 (pupa_last_time): New variable.
52458 (pupa_disk_open): Flush the cache when there was a timeout.
52459 (pupa_disk_close): Reset the timer.
52460 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52461 pupa_currticks.
52462 * util/misc.c: Include <sys/times.h>
52463 (pupa_get_rtc): New function.
52464
c4adbd32 524652003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52466
52467 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52468 as blocks.
52469 (pupa_ext2_get_file_block): Use blocks member.
52470
52471 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52472 first block. Return -1 instead of pupa_errno on error.
52473
bfd30f06 524742003-10-27 Marco Gerards <metgerards@student.han.nl>
52475
52476 * README: In the pupa-mkimage example use _chain instead of chain
52477 and ext2 instead of fat.
52478 * TODO: Replace ext2fs with jfs as an example. Add an item for
52479 adding journal playback for ext2fs.
52480 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52481 (pkgdata_MODULES): Added ext2.mod.
52482 (ext2_mod_SOURCES): New variable.
52483 (ext2_mod_CFLAGS): Likewise.
52484 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52485 * include/pupa/misc.h (pupa_strncpy): New prototype.
52486 (pupa_strcat): Likewise.
52487 (pupa_strncmp): Likewise.
52488 * kern/misc.c (pupa_strcat): Enable function.
52489 (pupa_strncpy): New function.
52490 (pupa_strncmp): Likewise.
52491 * fs/ext2.c: New file.
f19dbdb7 52492
bfd30f06 52493 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52494 when the read failed before retrying.
52495 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52496 (_FILE_OFFSET_BITS): Likewise.
52497 * configure.ac: Added AC_SYS_LARGEFILE.
52498
98d15063 524992003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52500
52501 * genmk.rb (PModule#rule): Make sure to get only symbol names
52502 from the output of nm.
59cad637 52503 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52504
18d9c7cd 525052003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52506
52507 I forgot to check in these changes for a long time. This adds
52508 incomplete support for VGA console, and this is still very
52509 buggy. Also, a lot of consideration is required for I18N,
52510 UNICODE, and VGA font issues. Therefore, assume that this is
52511 such that "better than nothing".
f19dbdb7 52512
18d9c7cd 52513 * font/manager.c: New file.
52514 * include/pupa/font.h: Likewise.
52515 * include/pupa/i386/pc/vga.h: Likewise.
52516 * term/i386/pc/vga.c: Likewise.
52517 * util/unifont2pff.rb: Likewise.
52518
52519 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52520 (pkgdata_MODULES): Added vga.mod and font.mod.
52521 (vga_mod_SOURCES): New variables.
52522 (vga_mod_CFLAGS): Likewise.
52523 (font_mod_SOURCES): Likewise.
52524 (font_mod_CFLAGS): Likewise.
52525
52526 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52527
52528 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52529 (struct pupa_term): Added init and fini.
18d9c7cd 52530 Changed the argument of putchar to pupa_uint32_t.
52531
52532 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52533 (pupa_console_real_putchar): New prototype.
52534 (pupa_console_putchar): Removed.
52535 (pupa_console_checkkey): Exported.
52536 (pupa_console_getkey): Likewise.
52537
52538 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52539 characters.
52540
52541 * kern/term.c (pupa_term_set_current): Rewritten.
52542 (pupa_putchar): Likewise.
52543 (pupa_putcode): New function.
52544
52545 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52546 (pupa_console_real_putchar): ... this.
52547 (pupa_vga_set_mode): New function.
52548 (pupa_vga_get_font): Likewise.
52549
52550 * normal/command.c: Include pupa/term.h.
52551 (terminal_command): New function.
52552 (pupa_command_init): Register the command "terminal".
52553
52554 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52555 (DISP_UP): Likewise.
52556 (DISP_RIGHT): Likewise.
52557 (DISP_DOWN): Likewise.
52558 (DISP_HLINE): Likewise.
52559 (DISP_VLINE): Likewise.
52560 (DISP_UL): Likewise.
52561 (DISP_UR): Likewise.
52562 (DISP_LL): Likewise.
52563 (DISP_LR): Likewise.
52564
52565 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52566
977329f5 525672003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52568
52569 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52570 FIX. Reverse the path_list.
52571
52572 * include/pupa/normal.h: Export pupa_register_command and
52573 pupa_unregister_command.
52574
52575 * hello/hello.c (pupa_cmd_hello): New module.
52576 * conf/i386-pc.rmk: Added hello.mod.
52577
1f5ab428 525782003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52579
52580 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52581
1f5ab428 52582 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52583 (compress_kernel): New variable.
52584 (generate_image): Heavily modified to support compressing a
52585 large part of the core image.
52586
52587 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52588 leak.
52589 (pupa_util_load_image): New function.
52590
52591 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52592 (pupa_compressed_size): New variable.
52593 (codestart): Enable Gate A20 here.
52594 Decompress the compressed part of the core image.
52595 Rearrange the code to put functions and variables which are
52596 required for initialization in the non-compressed part.
52597 Include lzo1x.S.
52598
52599 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52600 here.
52601
52602 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52603
f19dbdb7 52604 * include/pupa/i386/pc/kernel.h
1f5ab428 52605 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52606 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52607 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52608 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52609 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52610
52611 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52612
52613 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52614 (Utility#rule): Likewise.
52615
52616 * configure.ac: Check if LZO is available.
52617
ce5bf700 526182003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52619
52620 * include/pupa/normal.h: New file.
52621 * include/pupa/setjmp.h: Likewise.
52622 * include/pupa/i386/setjmp.h: Likewise.
52623 * normal/cmdline.c: Likewise.
52624 * normal/command.c: Likewise.
52625 * normal/main.c: Likewise.
52626 * normal/menu.c: Likewise.
52627 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52628
ce5bf700 52629 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52630 (pupa_rescue_cmd_initrd): Likewise.
52631
52632 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52633 Likewise.
52634
52635 * kern/i386/pc/startup.S (translation_table): New variable.
52636 (translate_keycode): New function.
52637 (pupa_console_getkey): Call translate_keycode.
52638
52639 * kern/rescue.c (attempt_normal_mode): New function.
52640 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52641 it failed, print a message.
52642
52643 * kern/mm.c (pupa_real_malloc): Print more information when a
52644 free magic is broken.
52645 (pupa_free): If the first free header is not free actually, set
52646 it to P.
52647
52648 * kern/main.c (pupa_load_normal_mode): Just load the module
52649 "normal".
52650 (pupa_main): Don't print the message
52651 "Entering into rescue mode..." here.
52652
52653 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52654 Declared.
52655 (pupa_rescue_cmd_initrd): Likewise.
52656 (pupa_rescue_cmd_initrd): Likewise.
52657
52658 * include/pupa/symbol.h (FUNCTION): Specify the type.
52659 (VARIABLE): Likewise.
52660
52661 * include/pupa/err.h (pupa_err_t): Added
52662 PUPA_ERR_UNKNOWN_COMMAND.
52663
52664 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52665 (pupa_dl_get_prefix): Likewise.
52666
52667 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52668 Added _chain.mod and _linux.mod instead of chain.mod and
52669 linux.mod.
52670 (chain_mod_SOURCES): Renamed to ...
52671 (_chain_mod_SOURCES): ... this.
52672 (chain_mod_CFLAGS): Renamed to ...
52673 (_chain_mod_CFLAGS): ... this.
52674 (linux_mod_SOURCES): Renamed to ...
52675 (_linux_mod_SOURCES): ... this.
52676 (linux_mod_CFLAGS): Renamed to ...
52677 (_linux_mod_CFLAGS): ... this.
52678 (normal_mod_SOURCES): New variable.
52679 (normal_mod_CFLAGS): Likewise.
52680 (normal_mod_ASFLAGS): Likewise.
52681
526822003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52683
52684 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52685 possible.
52686
fe6b695a 52687 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52688 recursively.
52689 (pupa_dl_unref): Unrefer depending modules recursively.
52690 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52691 a module is unloaded before one depending on that module is
52692 unloaded.
52693 (pupa_dl_unload): Unload depending modules explicitly,
52694 if possible.
52695
c04da074 526962003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52697
52698 * include/pupa/i386/pc/linux.h: New file.
52699 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 52700
c04da074 52701 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52702 Removed.
52703 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52704 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52705 of PUPA_CHAINLOADER_BOOT_SECTOR.
52706
52707 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52708 (pupa_linux_prot_size): New variable.
52709 (pupa_linux_tmp_addr): Likewise.
52710 (pupa_linux_real_addr): Likewise.
52711 (pupa_linux_boot_zimage): New function.
52712 (pupa_linux_boot_bzimage): Likewise.
52713
52714 * kern/i386/pc/init.c (struct mem_region): New structure.
52715 (MAX_REGIONS): New macro.
52716 (mem_regions): New variable.
52717 (num_regions): Likewise.
52718 (pupa_os_area_addr): Likewise.
52719 (pupa_os_area_size): Likewise.
52720 (pupa_lower_mem): Likewise.
52721 (pupa_upper_mem): Likewise.
52722 (add_mem_region): New function.
52723 (compact_mem_regions): Likewise.
52724 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52725 the size of the conventional memory and that of so-called upper
52726 memory (before the first memory hole).
52727 Instead of adding each found region to free memory, use
52728 add_mem_region and add them after removing overlaps.
52729 Also, add only 1/4 of the upper memory to free memory. The rest
52730 is used for loading OS images. Maybe this is ad hoc, but this
52731 makes it much easier to relocate OS images when booting.
52732
52733 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52734 (pupa_enter_rescue_mode): Don't register initrd and module.
52735
52736 * kern/mm.c: Include pupa/dl.h.
52737
52738 * kern/main.c: Include pupa/file.h and pupa/device.h.
52739
52740 * kern/loader.c (pupa_loader_load_module_func): Removed.
52741 (pupa_loader_load_module): Likewise.
52742
52743 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52744 ``.o''.
52745
52746 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52747 (pupa_linux_tmp_addr): Likewise.
52748 (pupa_linux_real_addr): Likewise.
52749 (pupa_linux_boot_zimage): Likewise.
52750 (pupa_linux_boot_bzimage): Likewise.
52751
52752 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52753 (pupa_upper_mem): Likewise.
52754 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52755 module is too dangerous.
52756
52757 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52758 (pupa_os_area_size): Likewise.
52759 (pupa_loader_set): Remove the first argument. Loader doesn't
52760 manage modules or initrd any longer.
52761 (pupa_loader_load_module): Removed.
52762
52763 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52764 (linux_mod_SOURCES): New variable.
52765 (linux_mod_CFLAGS): Likewise.
52766
a13f9237 527672003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52768
52769 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52770 the length of a blocklist correctly.
52771
52772 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52773 Use ioctl only if the OS file is a block device.
52774 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52775 not very useful for normal files.
52776
52777 * kern/main.c (pupa_set_root_dev): New function.
52778 (pupa_load_normal_mode): Likewise.
52779 (pupa_main): Call those above.
52780
52781 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52782 pupa_uint16_t.
52783
52784 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52785
a5ffe966 527862003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52787
52788 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52789 (setup): Configure the installed partition information and the
52790 dl prefix.
52791
52792 * loader/i386/pc/chainloader.c (my_mod): New variable.
52793 (pupa_chainloader_unload): New function.
52794 (pupa_rescue_cmd_chainloader): Refer itself.
52795 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52796
52797 * kern/i386/pc/startup.S (install_partition): Removed.
52798 (version_string): Likewise.
52799 (config_file): Likewise.
52800 (pupa_install_dos_part): New variable.
52801 (pupa_install_bsd_part): Likewise.
52802 (pupa_prefix): Likewise.
52803 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52804
52805 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52806 and pupa/misc.h.
52807 (make_install_device): New function.
52808 (pupa_machine_init): Set the dl prefix.
52809
52810 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52811 (buf): Renamed to ...
52812 (linebuf): ... this.
52813 (pupa_rescue_cmd_prefix): New function.
52814 (pupa_rescue_cmd_insmod): Likewise.
52815 (pupa_rescue_cmd_rmmod): Likewise.
52816 (pupa_rescue_cmd_lsmod): Likewise.
52817 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52818 rmmod and lsmod.
52819
52820 * kern/mm.c (pupa_memalign): If failed even after invalidating
52821 disk caches, unload unneeded modules and retry.
52822
52823 * kern/misc.c (pupa_memmove): New function.
52824 (pupa_memcpy): Removed.
52825 (pupa_strcpy): New function.
52826 (pupa_itoa): Made static.
52827
52828 * kern/dl.c (pupa_dl_iterate): New function.
52829 (pupa_dl_ref): Likewise.
52830 (pupa_dl_unref): Likewise.
52831 (pupa_dl_unload): Return if succeeded or not.
52832 (pupa_dl_unload_unneeded): New function.
52833 (pupa_dl_unload_all): Likewise.
52834 (pupa_dl_init): Renamed to ...
52835 (pupa_dl_set_prefix): ... this.
52836 (pupa_dl_get_prefix): New function.
52837
52838 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
52839 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
52840 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52841 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52842 (pupa_install_dos_part): Declared.
52843 (pupa_install_bsd_part): Likewise.
52844 (pupa_prefix): Likewise.
52845 (pupa_boot_drive): Likewise.
52846
52847 * include/pupa/types.h: Fix a typo.
52848
52849 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
52850 pupa_memmove.
52851 (pupa_memmove): Declared.
52852 (pupa_strcpy): Likewise.
52853
52854 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
52855 pupa_mod_init takes one argument, its own module.
52856 (pupa_dl_unload_unneeded): Declared.
52857 (pupa_dl_unload_all): Likewise.
52858 (pupa_dl_ref): Likewise.
52859 (pupa_dl_unref): Likewise.
52860 (pupa_dl_iterate): Likewise.
52861 (pupa_dl_init): Renamed to ...
52862 (pupa_dl_set_prefix): ... this.
52863 (pupa_dl_get_prefix): Declared.
52864
52865 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 52866 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 52867 unloaded.
52868 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
52869 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
52870
52871 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
52872 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
52873
012d7999 528742003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52875
52876 * util/i386/pc/pupa-setup.c (setup): Define the internal
52877 function find_first_partition_start at the top level, because GCC
52878 3.0.x cannot compile internal functions in deeper scopes
52879 correctly.
52880 (find_root_device): Use lstat instead of stat.
52881 Don't follow symbolic links.
52882 Fix the path-constructing code.
52883
52884 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
52885 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
52886 by a BLKGETSIZE ioctl first, because block devices don't fill
52887 the member st_mode of the structure stat on Linux.
52888 [__linux__] (linux_find_partition): Use a temporary buffer
52889 REAL_DEV for the working space. Copy it to DEV before returning.
52890 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
52891 buffer cache consistent.
52892 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
52893 strncmp. The previous value was merely wrong.
52894 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
52895
52896 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
52897 FAT size is 12. The previous value was merely wrong.
52898
52899 * kern/main.c (pupa_main): Don't split the starting message from
52900 newlines.
52901
52902 * kern/term.c (pupa_putchar): Put CR after LF instead of before
52903 LF, because BIOS goes crazy about character attributes in this
52904 case.
52905
1cc73a62 529062003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52907
52908 * include/i386/pc/util/biosdisk.h: New file.
52909 * util/i386/pc/biosdisk.c: Likewise.
52910 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 52911
1cc73a62 52912 * Makefile.in (INCLUDE_DISTFILES): Added
52913 include/pupa/i386/pc/util/biosdisk.h.
52914 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
52915 directory util/i386/pc.
52916 (install-local): Added a rule for sbin_UTILITIES.
52917 (uninstall): Likewise.
52918
52919 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
52920
52921 * util/misc.c (xrealloc): New function.
52922 (pupa_malloc): Likewise.
52923 (pupa_free): Likewise.
52924 (pupa_realloc): Likewise.
52925 (pupa_stop): Likewise.
52926 (pupa_putchar): Likewise.
52927
52928 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
52929
52930 * include/pupa/util/misc.h (xrealloc): Declared.
52931
52932 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
52933 macro.
52934 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
52935 (PUPA_BOOT_MACHINE_BPB_END): ... this.
52936
52937 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
52938 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52939
52940 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
52941 way should be implemented.
52942 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52943
52944 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
52945 the size of NAME for safety.
52946 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
52947 0x88.
52948
52949 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
52950 (pupa_setup_SOURCES): Likewise.
52951
52952 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
52953
08b70fe8 529542002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52955
52956 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
52957 bunch of pushl's from pusha, because this destroys the return
52958 value.
52959
62ddcc8f 529602002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52961
52962 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
52963 This means that any missing prototypes could be fatal. Also, you
52964 must take care when writing assembly code. See the comments at
52965 the beginning of startup.S, for more details.
f19dbdb7 52966
62ddcc8f 52967 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
52968 compilation mechanism.
52969 (pupa_chainloader_real_boot): Likewise.
52970 (pupa_biosdisk_rw_int13_extensions): Likewise.
52971 (pupa_biosdisk_rw_standard): Likewise.
52972 (pupa_biosdisk_check_int13_extensions): Likewise.
52973 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
52974 (pupa_biosdisk_get_diskinfo_standard): Likewise.
52975 (pupa_get_memsize): Likewise.
52976 (pupa_get_mmap_entry): Likewise.
52977 (pupa_console_putchar): Likewise.
52978 (pupa_console_setcursor): Likewise.
52979 (pupa_getrtsecs): Use pushl instead of push.
52980
52981 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
52982 memory instead of the stack for a mmap entry, because some
52983 BIOSes may ignore the maximum size and overflow.
52984
52985 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
52986
52987 * genmk.rb (PModule#rule): Compile automatically generated
52988 sources with module-specific CFLAGS as well as other sources.
52989
9962ed99 529902002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52991
52992 * configure.ac: Check ld.
52993 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
52994 respectively, before checking endianness and sizes.
52995
52996 * Makefile.in (LD): New variable.
f19dbdb7 52997
abdfc3c5 529982002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52999
53000 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53001
6a161fa9 530022002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53003
53004 * Changelog: New file.
53005