]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* Makefile.am (default_payload.elf): Add pata to loaded modules.
[grub2.git] / ChangeLog
CommitLineData
b7526e78
VS
12013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * Makefile.am (default_payload.elf): Add pata to loaded modules.
4 Load config file from (cbfsdisk)/etc/grub.cfg.
5
b40ce651
VS
62013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * util/grub-install-common.c (grub_install_copy_files): Fix module
9 destination directory.
10
3bf4088b
CW
112013-11-18 Colin Watson <cjwatson@ubuntu.com>
12
13 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
14 Handle errors from mkstemp.
15 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
16
35c2851c
VS
172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
20 on primary master on pseries.
21
ea7c1a7d
VS
222013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
25 already loaded. This saves memory needed for tests,
26
96adefdb
VS
272013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
30 work again.
31
5e3cb8a7
VS
322013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
35 work again.
36
256ee7ac
VS
372013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
40 master since with some combinations of qemu and firmware only primary
41 IDE channel is available.
42
f8b4c3b6
VS
432013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
46 low-memory platforms where we don't have enough memory for them.
47 * grub-core/tests/videotest_checksum.c: Likewise.
48
4bf70320
VS
492013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
52 already loaded. This saves memory needed for tests,
53
a284320e
VS
542013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
55
56 Fix handling of install lists.
57
2df8f43d
VS
582013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
61
6f1bc8bc
VS
622013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
63
64 On i386-ieee1275 we run in paged mode. So we need to explicitly map
65 the devices before accessing them.
66
04f39f6d
VS
672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
70 as file argument.
71
35d4761c
VS
722013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
75
33d02a42
VS
762013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
79 (grub_file_close): Free file->name.
80
7bbb60cf
VS
812013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * grub-core/commands/verify.c (free_pk): Plug memory leak.
84 (grub_load_public_key): Likewise.
85 (grub_verify_signature_real): Likewise.
86 (grub_cmd_verify_signature): Likewise.
87
da93d675
VS
882013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
91 memory leak.
92
59c943ec
VS
932013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
96 (grub_longjmp): Restore r31.
97 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
98
4336b5d8
VS
992013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
102 modules to be in line with make_image_abs.
103
44ce3a93
VS
1042013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
107
108 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
109
7d400406
IC
1102013-11-17 Ian Campbell <ijc@hellion.org.uk>
111
112 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
113
77dae919
VS
1142013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
117 to leave some memory to firmware.
118
0ab8e025
VS
1192013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
122 of loading gfxterm as gfxterm is embed in kernel on some platforms.
123 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
124 Load gfxmenu.
125
b80c2d6d
VS
1262013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
129 now needs full arguments.
130
6aa6077b
VS
1312013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * util/grub-mkrescue.c (main): Add trailing \n in
134 .disk_label.contentDetails to be in line with previous shell script.
135
66c00cb1
VS
1362013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
139
3a129dba
VS
1402013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * util/grub-install-common.c (grub_install_parse): Recognize
143 --compress=none like shell script did.
144
8df6eff6
VS
1452013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * include/grub/misc.h: Replace check for __sparc64__ with one for
148 __sparc__ as __sparc64__ isn't actually defined.
149
889ebe92
VS
1502013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
153 counterpart of fixing the naming of escc ports.
154
d4d55b29
VS
1552013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * util/grub-install-common.c (platforms): Fix the order of entries and
158 remove useless field val.
159
55e2c84f
VS
1602013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * util/grub-install.c: Add new option --no-bootsector to skip
163 installing of bootsector. Accept --grub-setup=/bin/true as
164 backwards-compatible synonym.
165
cd46aa6c
VS
1662013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
167
168 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
169 order of qsort arguments (number of elements vs. element size).
170
1712013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
172
173 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
174 the function of these files exceeds what can be sanely handled in shell
175 in posix-comaptible way. Also writing it in C extends the functionality
176 to non-UNIX-like OS and minimal environments.
177
9ef81064
VS
1782013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
181 compiling to thumb2.
182 * grub-core/kern/arm/cache_armv7.S: Likewise.
183 * grub-core/lib/arm/setjmp.S: Likewise.
184
11a77932
LL
1852013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
186
187 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
188 in grub_uboot_syscall
189
080603f0
VS
1902013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
191
192 Decrease stack usage in lexer.
193
194 We have only 92K of stack and using over 4K per frame is wasteful
195
196 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
197 as macros so that compiler would remove useless structure on stack.
198 Better solution would be to fix flex not to put this structure on
199 the stack but flex is external program.
200
4f84ae0e
VS
2012013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
202
203 Decrease stack usage in signature verification.
204
205 We have only 92K of stack and using over 4K per frame is wasteful
206
207 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
208 rather than stack.
209 (grub_verify_signature_real): Likewise.
210
e6a6182d
VS
2112013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
212
213 Decrease stack usage in mdraid 0.9x.
214
215 We have only 92K of stack and using over 4K per frame is wasteful
216
217 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
218 rather than stack.
219
1a454efe
VS
2202013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
221
222 Decrease stack usage in BtrFS.
223
224 We have only 92K of stack and using over 4K per frame is wasteful
225
226 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
227 rather than stack.
228
7b5d51d8
VS
2292013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
230
231 Decrease stack usage in JFS.
232
233 We have only 92K of stack and using over 4K per frame is wasteful
234
235 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
236 stack. Note: this function is recursive.
237 (grub_jfs_read_inode): Read only part we care about.
238
593865b9
LL
2392013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
240
241 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
242 handling
7b5d51d8 243
31c0cd43
AB
2442013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
245
246 * configure.ac: Restore -nostdlib for libgcc symbols tests.
247
c2fdb331
AB
2482013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
249
250 * docs/grub.texi (Environment): Document cmdpath.
251
9e18dfe2
AB
2522013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
253
254 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
255 Remove "unused" attribute from arguments, they are used.
256
59ba9d14
CW
2572013-11-15 Colin Watson <cjwatson@debian.org>
258
259 * .gitignore: Only ignore grub-mk* at the top level.
260
23012db9
CW
2612013-11-15 Colin Watson <cjwatson@ubuntu.com>
262
263 * util/grub-reboot.in (usage): Fix a typo.
264
6fcec439
VS
2652013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
266
267 Replace libgcc version of ctz with our own.
268
269 On upcoming arm64 port libgcc ctz* are not usable in standalone
270 environment. Since we need ctz* for this case and implementation is
271 in C we may as well use it on all concerned platforms.
272
a9f25a08
VS
2732013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * configure.ac: Probe for linking format rather than guessing it based
276 on target_os.
277
c7995256
VS
2782013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
281 "1" prior to handoff.
282
283 Reported by: M A Young.
284
e1aa5b66
VS
2852013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
288 \0 to all files.
289
290 Reported by: M A Young.
291
da5ed5cf
VS
2922013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
295 compilation on NetBSD.
296
5757a93e
VS
2972013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * acinclude.m4: Don't add -P on initial nm test.
300
301 Note: even though this patch postdates Andrey's it bears 14 Nov as
302 date due to timezone difference.
303
a5986276
AB
3042013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
305
306 * grub-core/Makefile.core.def (signature_test): Add missing
307 tests/signatures.h.
308
0de172a0
CW
3092013-11-14 Colin Watson <cjwatson@ubuntu.com>
310
311 * util/grub-install_header: Set localedir here, since this file is
312 where it's used.
313 * util/grub-install.in: Remove setting of localedir.
314 * util/grub-mkrescue.in: Likewise.
315
da45f43c
VS
3162013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
319
20aea949
VS
3202013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * configure.ac: Move nm checks to the end.
323 Call grub_PROG_NM_WORKS.
324 * acinclude.m4: New check grub_PROG_NM_WORKS.
325 Use $TARGET_CFLAGS -c when compiling test binary.
326
1326b9ae
CW
3272013-11-14 Colin Watson <cjwatson@ubuntu.com>
328
329 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
330 unused variables.
331
1fe26ab4
MG
3322013-11-14 Matthew Garrett <mjg@redhat.com>
333
334 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
335 cmdpath to firmware directory.
336
83e9c273
VS
3372013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
338
339 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
340 at the start of second iteration.
341
ec525c18
VS
3422013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
345
93fcc7ad
VS
3462013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * Makefile.am (default_payload.elf): New target for easier coreboot
349 build.
350
57ffe934
VS
3512013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
354 clang (not necessarry with -no-integrated-as).
355 * include/grub/symbol.h [__arm__]: Likewise.
356
2312f06c
VS
3572013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * configure.ac: Use -no-integrated-as on arm with clang.
360 * INSTALL: Mention ARM compilation with clang.
361
2416415c
VS
3622013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
365 -mthumb-interwork.
366
5da55172
CW
3672013-11-14 Colin Watson <cjwatson@ubuntu.com>
368
369 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
370 code for indirect block handling.
371
372 Saves 185 bytes on compressed image.
373
da770328
PFS
3742013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
375
376 Fix make clean.
377
378 * Makefile.am: Remove build-grub-* in make clean.
379
f02e6b56
PFS
3802013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
381
382 New files to gitignore.
383
384 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
385 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
386
035a26c1
LL
3872013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
388
389 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
390
bc8a6137
LL
3912013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
392
393 * .gitignore: fix rules for .dep* and add *.a post git migration
394
6fe506b0
CW
3952013-11-13 Colin Watson <cjwatson@ubuntu.com>
396
397 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
398 to match INSTALL.
399
81a2e438
CW
4002013-11-13 Colin Watson <cjwatson@ubuntu.com>
401
402 * grub-core/kern/misc.c: Don't redirect divisions in the
403 GRUB_UTIL case.
404 * include/grub/misc.h: Likewise.
405
9b45c073
CW
4062013-11-13 Colin Watson <cjwatson@ubuntu.com>
407
408 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
409 systems that require checking the return value of write.
410
11b2a9b7
CW
4112013-11-13 Colin Watson <cjwatson@ubuntu.com>
412
413 * util/grub-install.in (efi_quiet): Fix inverted logic: make
414 efibootmgr quiet when --debug is not used, rather than when it is.
415
d743d22d
CW
4162013-11-13 Colin Watson <cjwatson@ubuntu.com>
417
418 * gentpl.py (define_macro_for_platform_dependencies): Remove
419 first (and thus unused) of two definitions for this function.
420 (platform_dependencies): Likewise.
421
11da14b5
CW
4222013-11-13 Colin Watson <cjwatson@ubuntu.com>
423
424 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
425 functions, we only need to check this for the target, not the host.
426 * configure.ac (grub_apple_cc): Likewise.
427
2bdd0719
VS
4282013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
431 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
432 asm to stay in arm even if surrounding is thumb.
433
5e77d9cf
VS
4342013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
437 helper functions are needed for thumb.
438
7d511625
VS
4392013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
442 level / 3 division explicitly unsigned. Saves few bytes.
443
81023dbd
VS
4442013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
447
b2e9294f
VS
4482013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
451 division.
452
16a22c38
VS
4532013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
456 grub_uboot_boot_data to asm part.
457
c9cd02c9
VS
4582013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
461 literal load.
462 (grub_uboot_syscall): Save/restore r9 and align stack.
463
81498615
VS
4642013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
467
ea57de18
VS
4682013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
471 occurencies with END.
472
d0d1e3da
CW
4732013-11-13 Colin Watson <cjwatson@ubuntu.com>
474
475 * util/grub-editenv.c (help_filter, argp): Document how to delete
476 the whole environment block.
477 Reported by Dan Jacobson. Fixes Debian bug #726265.
478
3809f016
CW
4792013-11-13 Colin Watson <cjwatson@ubuntu.com>
480
481 * docs/grub.texi (Internationalisation, Supported kernels): Fix
482 sectioning.
483
46d8a203
JT
4842013-11-13 Josh Triplett <josh@joshtriplett.org>
485
486 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
487 increment/decrement.
488
513eeb61
VS
4892013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
492 compiling with clang.
493
bc379c1a
VS
4942013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
497 ".".
498
4992013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 500
16057d6b
VS
501 Redirect all divisions to grub_divmod64.
502
f649a6a8
VS
5032013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
506
ef28ee8b
VS
5072013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
508
509 Add missing includes of loader.h.
510
300f48c5
VS
5112013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * configure.ac: Allow disabling themes.
514
2d357558
LS
5152013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
516
517 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
518
0c62a5b2
VS
5192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
522 until it becomes operational.
523
b0720b49
VS
5242013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * grub-core/Makefile.core.def (legacy_password_test): Disable
527 on platforms where no legacycfg is compiled.
528 * grub-core/tests/lib/functional_test.c: Tolerate failure to
529 load legacy_password_test.
530
d5bab2c0
VS
5312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
534
3ea0ccb3
VS
5352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/efiemu/prepare.c: Remove variable length arrays.
538
08772054
VS
5392013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
542 strict-aliasing warning.
543 (fsync): Silence cast warning.
544
1dcb2715
VS
5452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * grub-core/commands/verify.c: Remove variable length arrays.
548 Load gcry_dsa/gcry_rsa automatically.
549
61c22fdf
VS
5502013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * grub-core/tests/signature_test.c: New test.
553
431e57a7
VS
5542013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
557 API.
558
b521bb81
VS
5592013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * grub-core/tests/legacy_password_test.c (vectors): Make static.
562 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
563
7d06b24e
VS
5642013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
567
3bbeade4
VS
5682013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/fs/proc.c: Allow \0 in proc files.
571
ba82db7a
VS
5722013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
575
801564c8
VS
5762013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
579
ac8cac1d
VS
5802013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * grub-core/fs/ext2.c: Remove variable length arrays.
583
4b85f122
VS
5842013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
587 length arrays.
588
c35fcdc0
VS
5892013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
592 * grub-core/disk/cryptodisk.c: Likewise.
593 * grub-core/disk/geli.c: Likewise.
594 * grub-core/disk/luks.c: Likewise.
595
15decd26
VS
5962013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/tests/legacy_password_test.c: New test.
599 * grub-core/commands/legacycfg.c: Remove variable length arrays.
600
9c6482b8
VS
6012013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
604
41f26e0e
VS
6052013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * grub-core/tests/pbkdf2_test.c: New test.
608
2def6616
VS
6092013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
612
9e34a34e
VS
6132013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * grub-core/io/lzopio.c: Remove variable length arrays.
616
5ccaf904
VS
6172013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * include/grub/crypto.h: Add maximums on hash size and cipher block
620 size.
621
44a387e0
VS
6222013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
625
a388e255
VS
6262013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * grub-core/tests/xnu_uuid_test.c: New test.
629
a1ef7718
VS
6302013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
633 covers it).
634
65ddb300
VS
6352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * grub-core/commands/hashsum.c: Remove variable length arrays.
638
31747dd5
VS
6392013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
642 condition.
643 * tests/grub_func_test.in: Increase memory allocation.
644
6a74c4df
VS
6452013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
648 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
649 sys/mount.h.
650
394c3e0a
VS
6512013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
654 (grub_util_get_fd_size_os): ...this.
655 (grub_hostdisk_flush_initial_buffer): New empty function.
656
60d31116
VS
6572013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/gensyminfo.sh.in: Handle the case of portable output
660 without --defined-only.
661
8445b011
VS
6622013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
665 rip-relative addressing in prologue.
666
8506a641
VS
6672013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
670 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
671
66acd9d6
VS
6722013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
675 Add missing semicolon.
676
348d0535
VS
6772013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
680
0d2d30bb
VS
6812013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * configure.ac: Check for lzma.h for enabling liblzma and allow
684 manual disabling.
685
631187be
VS
6862013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
687
688 Add missing includes of loader.h.
689
e756ec82
FZ
6902013-11-11 Fam Zheng <famcool@gmail.com>
691
692 * util/grub.d/30_os-prober.in: Add minix entry.
693
87d62d7d
VS
6942013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
697 right buffer for temporary load.
698
5460cfeb
VS
6992013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
702
89977306
VS
7032013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
706 payload.
707
3617c59b
VS
7082013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
711 not Types.h.
712 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
713 environment.
714 (LzmaDec_InitDicAndState): Make static.
715
881c6a10
VS
7162013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
719
2024ade2
VS
7202013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
723
724 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
725
674ad4f6
VS
7262013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * docs/grub-dev.texi: Replace bzr references with git ones.
729
5b99970e
AB
7302013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
731
732 * docs/grub.texi (Simple configuration): Remove reference to
733 grub-reboot from saved default entry description - grub-default
734 does not use it anymore.
735
3c2304d5
VS
7362013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * configure.ac: Make efiemu test cflags match the cflags efiemu is
739 compiled with.
740
80cfd940
AB
7412013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
742
743 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
744
33690255
VS
7452013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
746
747 Fix grub_machine_fini bitrot.
748
749 Reported by: Glenn Washburn.
750
c61471fc
VS
7512013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
754
54da019f
VS
7552013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
758 -DELF.
759 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
760 instead of ELF*.
761
7622013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
763
764 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
765 Add -march=core2 when testing compile of efiemu64.
766
767 Thanks Andrey Borzenkov for spotting this.
768
9612ebc0
VS
7692013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
770
771 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
772 XEN PV environment and load kernels.
773
1a46a3a4
VS
7742013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
777 * grub-core/loader/multiboot_mbi2.c: Likewise.
778
2df12551
VS
7792013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
782 handling.
783
3c980381
VS
7842013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
787
788 Tested by: Denis 'GNUtoo' Carikli.
789
800f63d3
VS
7902013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
793
9f8acdaa
VS
7942013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
795
5620eb53
VS
796 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
797 Use to get rounded angle rather than truncated.
798
7992013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
802 RTS/CTS flow control.
803
2dc1eb6c
VS
8042013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
807 divisions.
808
b9563c94
VS
8092013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
812 Use grub_fatal rather than divide by zero.
813 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
814
d6d8e9a9
VS
8152013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
818 truncate.
819 (grub_fixed_fsf_divide): Likewise.
820
d06de6c8
VS
8212013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
824 division by-zero and senseless negative divisions.
825
6af7d49b
VS
8262013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
829 division by-zero and senseless negative divisions.
830 (circprog_set_property): Don't accept negative num_ticks.
831
bcfa6d72
VS
8322013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
835 division by-zero and senseless negative divisions.
836
dd7f792c
VS
8372013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * configure.ac: Use elf_*_fbsd on kfreebsd.
840
d061fda7
VS
8412013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * grub-core/tests/div_test.c: New test.
844
4db22500
VT
8452013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
846
847 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
848 * grub-core/gfxmenu/gui_canvas.c: Likewise.
849 * grub-core/gfxmenu/view.c: Likewise.
850 * grub-core/video/fb/video_fb.c: Introduce new functions:
851 grub_video_set_area_status, grub_video_get_area_status,
852 grub_video_set_region, grub_video_get_region.
853 * grub-core/video/bochs.c: Likewise.
854 * grub-core/video/capture.c: Likewise.
855 * grub-core/video/video.c: Likewise.
856 * grub-core/video/cirrus.c: Likewise.
857 * grub-core/video/efi_gop.c: Likewise.
858 * grub-core/video/efi_uga.c: Likewise.
859 * grub-core/video/emu/sdl.c: Likewise.
860 * grub-core/video/radeon_fuloong2e.c: Likewise.
861 * grub-core/video/sis315pro.c: Likewise.
862 * grub-core/video/sm712.c: Likewise.
863 * grub-core/video/i386/pc/vbe.c: Likewise.
864 * grub-core/video/i386/pc/vga.c: Likewise.
865 * grub-core/video/ieee1275.c: Likewise.
866 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
867 * include/grub/video.h: Likewise.
868 * include/grub/video_fb.h: Likewise.
869 * include/grub/fbfill.h: Updated render_target structure.
870 grub_video_rect_t viewport, region, area
871 int area_offset_x, area_offset_y, area_enabled
872 * include/grub/gui.h: New helper function
873 grub_video_bounds_inside_region.
874 * docs/grub-dev.texi: Added information about new functions.
875
c6b755df
VS
8762013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
879 for alignment.
880
e2a68100
VS
8812013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
884 missing attribute.
885 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
886
c4f11a2a
VS
8872013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
890 simple division on arm and ia64.
891
e0a7bffa
VS
8922013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
895 link with libgcc.
896
38b864ea
VS
8972013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
900
12359faf
VS
9012013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
904 prefix symbol, not @.
905
9fdc64a9
VS
9062013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * INSTALL: Add note about older gcc and clang.
909
665c575b
VS
9102013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
913
47dcf7b1
VS
9142013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
917 NULL pointer dereference.
918
d59849b2
VS
9192013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
922 clang.
923
7a3f4a18
VS
9242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
927 warnings.
928
7f084087
VS
9292013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
932 function.
933 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
934 * grub-core/disk/geli.c (ascii2hex): Likewise.
935
d5524ca8
VS
9362013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * configure.ac: Run linker tests without -Werror.
939 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
940 Change all occurences of -static-libgcc resp -lgcc to
941 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
942
390cd7ca
VS
9432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
946
60375a88
VS
9472013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
948
949 Allow compiling with clang (not really supported though).
950
951 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
952 unconditionally.
953 * configure.ac: Add -no-integrated-as when using clangfor asm files.
954 Add -mrtd -mregparm=3 on i386 when not using clang.
955 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
956
dd07e0c4
VS
9572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
960 bindings.
961 * grub-core/lib/reed_solomon.c: Likewise.
962 * include/grub/i386/gdb.h: Likewise.
963 * include/grub/i386/pc/int.h: Likewise.
964 * include/grub/i386/pc/pxe.h: Likewise.
965 * include/grub/ieee1275/ieee1275.h: Likewise.
966
9d3ae8ec
VS
9672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
968
969 Import libgcrypt 1.5.3.
970
c12936c5
VS
9712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * configure.ac: Don't add -Wcast-align on x86.
974
cdc17f60
VS
9752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * configure.ac: Add -freg-struct-return on all platforms that
978 support it.
979
b35ec299
VS
9802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * acinclude.m4: Use -Werror on parameter tests.
983 * configure.ac: Likewise.
984
05f3a0d7
VS
9852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
988
c966a489
VS
9892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * configure.ac: Check that -malign-loops works rather than assuming that
992 either -falign-loops or -malign-loops work.
993
bb0c57ec
VS
9942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * configure.ac: Remove -fnested-functions. We don't need it anymore.
997
24f4e57c
VS
9982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * configure.ac: Prevent cflags leaking to subsequent tests by always
1001 resetting cflags to target_cflags in target tests.
1002
ac319fbc
VS
10032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1006 function.
1007
4bfe934c
VS
10082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1011
40a5bfde
VS
10122013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1015
a67c755e
VS
10162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/normal/cmdline.c (grub_cmdline_get):
1019 Remove nested functions.
1020
87a04a2d
VS
10212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * tests/test_sha512sum.in: Make it work on emu.
1024
c03995d2
VS
10252013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1028 functions.
1029 (grub_bidi_line_logical_to_visual): Likewise.
1030
ec0ebb3f
VS
10312013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 Remove vestiges of -Wunsafe-loop-optimisations.
1034
1035 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1036 -Wno-unsafe-loop-optimisations.
1037 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1038 pragma.
1039 * grub-core/io/gzio.c: Likewise.
1040 * grub-core/script/parser.y: Likewise.
1041 * grub-core/script/yylex.l: Likewise.
1042 * util/grub-mkfont.c: Likewise.
1043
6ab537e3
VS
10442013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * util/grub-mkfont.c (process_cursive): Remove nested function.
1047
e6c368d4
VS
10482013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1051 (grub_boot_time): Likewise.
1052
4f1cfd22
VS
10532013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * include/grub/symbol.h (FUNCTION): Use @function rather than
1056 "function".
1057 (VARIABLE): Likewise.
1058
6d5a4cee
VS
10592013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1062
f06c2172
VS
10632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1066 (parse_dhcp_vendor): Likewise.
1067
7cb24eb5
VS
10682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1071
f30c692c
VS
10722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1075 Define after defining type and not before.
1076
8b66bb5d
VS
10772013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1080 type.
1081 (grub_gcm_decrypt): Likewise.
1082 (algo_decrypt): Likewise.
1083 (grub_zfs_decrypt_real): Transform error type.
1084
5d17fd0f
VS
10852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1088
ac35a0f7
VS
10892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1092 (grub_usbms_cbi_reset): Likewise.
1093 (grub_usbms_bo_reset): Likewise.
1094 (grub_usbms_reset): Likewise.
1095 (grub_usbms_attach): Likewise.
1096 (grub_usbms_transfer_cbi): Likewise.
1097
3ee08697
VS
10982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1101 "checksum = checksum;".
1102
70bb6c85
VS
11032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1106 entry_type.
1107
c7f34744
VS
11082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1111 BIOS disk check.
1112
3f63b4d8
VS
11132013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1116 type.
1117 (grub_ehci_fini_hw): Likewise.
1118 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1119
dac6ce73
VS
11202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1123 return grub_usb_err_t for cosistency. All users updated.
1124
5701750c
VS
11252013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1128 assigning to itself.
1129
9e236169
GLD
11302013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
11312013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1132
1133 Issue separate DNS queries for ipv4 and ipv6
1134
1135 Adding multiple questions on a single DNS query is not supportted by
1136 most DNS servers. This patch issues two separate DNS queries
1137 sequentially for ipv4 and then for ipv6.
1138
1139 Fixes: https://savannah.gnu.org/bugs/?39710
1140
1141 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1142 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1143 * (grub_net_dns_lookup): Now using separated dns packages.
1144 * (grub_cmd_nslookup): Add error condition.
1145 * (grub_cmd_list_dns): Print DNS option.
1146 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1147 --prefer-ipv4, and --prefer-ipv6.
1148 * include/grub/net.h (grub_dns_option_t): New enum.
1149 * (grub_net_network_level_address): option added.
1150
339eacce
VT
11512013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1152
1153 * grub-core/video/fb/video_fb.c: Merge two blit functions
1154 into one.
1155
810f991b
VS
11562013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/term/terminfo.c: Add sequences for home and end.
1159
386571a2
VS
11602013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1163 graphics console.
1164
3fe63754
VS
11652013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1168 add mode 0x12.
1169
76681e71
VS
11702013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1173 e-mail by Per Öberg.
1174
46522fb7
VS
11752013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1178 name.
1179
e7d09ac4
AB
11802013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1181
1182 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1183 emu platforms.
1184 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1185
67508925
VS
11862013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * docs/grub.texi: Document usage of menuentry id.
1189
0c62124e
VS
11902013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1193
9b5d4eed
PL
11942013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1195
1196 * grub-core/commands/i386/nthibr.c: New command.
1197
79054c1d
VS
11982013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1201
44d47bbe
VS
12022013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1205 coordinate.
1206
323de05b
VS
12072013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 Support GRUB_DISABLE_SUBMENU config.
1210
1211 Inspired by patch from Prarit Bhargava.
1212
5a01722e
VS
12132013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * docs/grub.texi: Mention RSA support.
1216
1106c3f0
VS
12172013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/commands/verify.c: Add RSA support.
1220
a1dcc2cb
VS
12212013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1224 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1225 device is known to be ATAPI.
1226
ee7fb780
MF
12272013-11-03 Mike Frysinger <vapier>
1228
1229 * configure.ac: Don't add target-prefix.
1230
5ade4a42
VS
12312013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1234 variables.
1235
6cd66043
VS
12362013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1239 if language is English.
1240
090d7c81
VS
12412013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1244
dd614590
VS
12452013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * configure.ac: Don't add -m32/-m64 on emu.
1248
a8686589 12492013-11-02 neil
1250
1251 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1252 broken linux headers.
1253
fb9f12a0
VS
12542013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1257
e25f8e1f
VS
12582013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1261 Reed-Solomon recovery if more than half of redundancy info is 0.
1262
4685200f
VS
12632013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * util/grub-mount.c: Handle symlinks to directories.
1266
1397f0b5
VS
12672013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1270 find_file recursively for symlink.
1271
8b3e6eb6
VS
12722013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * tests/util/grub-shell.in: Copy themes.
1275
a0c9d5c6
VS
12762013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1279
5cf9459c
VS
12802013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * configure.ac: Use 0x8000 for address instead of 8000.
1283
e7b66a28
VS
12842013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1287 signature.
1288
203f53fb
VS
12892013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1292 variable.
1293
02663ee9
VS
12942013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1297
f169f65e
VS
12982013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1301 file_progress_read_hook.
1302 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1303
2855a0fc
VS
13042013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1307 and double.
1308
bf0f3a8c
VS
13092013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1312
cb72aa18
VS
13132013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 Rewrite blocklist functions in order to get progress when
1316 reading large extents and decrease amount of blocklist hook calls.
1317
896f9135
VS
13182013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1321 of SI suffixes.
1322
89295a06
VS
13232013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 Support --base-clock for serial command to handle weird cards with
1326 non-standard base clock.
1327
eb03ede0
VS
13282013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1331 strncpy.
1332 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1333 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1334 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1335 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1336 + strcpy rather than strncpy.
1337
8fbe5c7d
VS
13382013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1341 (check_pool_label): Likewise. Fixes overflow.
1342 (nvlist_find_value): Fix comparison.
1343
e54b8f53
VS
13442013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1347 more appropriate functions.
1348
fa9b3dca
VS
13492013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1352 realloc.
1353
9a021c55
VS
13542013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1357
80e8b13a
VS
13582013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1361 on core size.
1362
b61599ac
VS
13632013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1366
a602dc54
VS
13672013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1370 (initialize_tables): reset tl and td to NULL after freeing.
1371
93c12075
VS
13722013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1375
1ca4b75e
VS
13762013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1379 of supported tags.
1380
329550c4
VS
13812013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1384
00bfa988
VS
13852013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1388 quirks.
1389
81afc5cc
VS
13902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1393 a page in protected space.
1394
cb3c4a47
VS
13952013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1398 allocate space for zero-sized modules.
1399
954f7bf5
VS
14002013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1403
526d3d25
FL
14042013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1405
1406 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1407
74124c34
VS
14082013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1411 safeguards. Fixes a crash with i386/pc/console.c.
1412
5177391e
VS
14132013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1416 and grub_hostfs_init.
1417
64db14b0
VS
14182013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1421 windows method on other platforms without good stat as well.
1422
effe2036
VS
14232013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1426
82591fa6 14272013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1428
82591fa6
VS
1429 Make / in btrfs refer to real root, not the default volume.
1430 Modify mkrelpath to work even if device is mounted with subvolid option.
1431
14322013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1433
1434 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1435 extra_dist.
1436 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1437 extra_dist.
1438
30fd7198
VS
14392013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1442 fails.
1443
8d179dae
BC
14442013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1445
1446 * docs/autoiso.cfg: New file.
1447
3bc9c8cf
VS
14482013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1451 COND_GRUB_PE2ELF conditions.
1452
8b46b0ea
VS
14532013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1456 "vnd", "rd" and "fd" disks.
1457
442b86de
VS
14582013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 Move grub_disk_write out of kernel into disk.mod.
1461
04dea7e6
VS
14622013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1465 handling.
1466
14672013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1468
1469 * grub-core/kern/misc.c (grub_abort): Make static
1470
04dea7e6 14712013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1472
1473 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1474 transform invalid unicode codepoints.
1475
04dea7e6 14762013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1477
1478 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1479 \0 checking.
1480
03dcac7f
VS
14812013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1484
c81acb7f
VS
14852013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 Consolidate cpuid code.
1488
c1bee646
VS
14892013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 Move cpuid code to cpuid.h and TSC code to tsc.c.
1492
f37bf9c7
GS
14932013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1494
1495 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1496
4021132b
GS
14972013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1498
1499 * util/grub-mkconfig.in: Replace $0 with $self.
1500 * util/grub-reboot.in: Likewise.
1501 * util/grub-set-default.in: Likewise.
1502
3ace8d75
BC
15032013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1504
1505 * docs/osdetect.cfg: New file.
1506
1e6ad6a6
BC
15072013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1508
1509 * tests/util/grub-shell.in: Add new --debug option.
1510
188929eb
BC
15112013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1512
1513 * tests/test_unset.in: New test.
1514
7994a09a
BC
15152013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1516
1517 * tests/test_sha512sum.in: New test.
1518
2a8a7585
VS
15192013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1522 * include/grub/misc.h: Remove strncat.
1523 * grub-core/lib/posix_wrap/string.h: Likewise.
1524
cf8d6bbd
VS
15252013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1528 Try to handle more than 0xFFFF packets.
1529 Reported by: Bernhard Übelacker <bernhardu>.
1530 He also spotted few overflows in first version of this patch.
1531
6d1fc99a
VS
15322013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * tests/date_unit_test.c: New test.
1535
10bafa1c
VS
15362013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1539 of first three years after start of validity of unixtime.
1540
b1c6d037
VS
15412013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1544 division as the one making more sense.
1545 (update_screen): Likewise.
1546 (complete): Likewise.
1547
5f4028d4
VS
15482013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1551
a2856736
VS
15522013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 Make char and string width grub_size_t rather than grub_ssize_t.
1555
0a7e52b2
VS
15562013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1559 unsigned.
1560 (grub_history_replace): Likewise.
1561
42829573
VS
15622013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1565 appropriate.
1566
3523b8d8
VS
15672013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1570 appropriate.
1571
d43c6489
VS
15722013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1575 Use unsigned divisions rather than signed variants.
1576
f690f8b0
VS
15772013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1580 unsigned arithmetics.
1581 Add missing break.
1582
74ff2c05
VS
15832013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1586
fb56391e
VS
15872013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1590 rather than signed one.
1591 (recovery): Likewise.
1592
40f29060
VS
15932013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1596
c64577a5
VS
15972013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1600 than signed.
1601
c16535a8
JM
16022013-10-25 Jon McCune <jonmccune@google.com>
1603
1604 * docs/grub.texi: Cleanup security documentation around signatures.
1605
6673d8e7
VS
16062013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1609
a105d375
VS
16102013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1613 than int.
1614
af81ed88
VS
16152013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1618 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1619 functions when compiling for kernel.
1620
ea899a57
VS
16212013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1624 unsigned long long when using %llu.
1625
c6dc6fa1
VS
16262013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1629 terminal after updating progress.
1630
ad2dc003
VS
16312013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1634 argument. We don't disable Gate A20 in this code.
1635
b46684ae
VS
16362013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1639 Conceptually based on change in branch "vbe-on-coreboot".
1640
f70d5c07
RM
16412013-10-24 Robert Millan <rmh@gnu.org>
1642
1643 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1644 numeric constants with their symbolic equivalent.
1645 Taken from branch "vbe-on-coreboot".
1646
bca274b4
VS
16472013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1650
238f0489
VS
16512013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1654 divmod64 for offset division.
1655
863c590b
PFS
16562013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1657
1658 Rename .bzrignore to .gitignore. Add "*.o" rule.
1659
1660 * .bzrignore: Renamed to...
1661 * .gitignore: ...this.
1662
84a0e969
PFS
16632013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1664
1665 Add new progress module that displays the load progress of files.
1666
1667 * grub-core/lib/progress.c: New file.
1668 * grub-core/Makefile.core.def (progress): New module.
1669 * grub-core/kern/file.c (grub_file_open): File name added.
1670 * (grub_file_read): Progress hook added.
1671 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1672 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1673 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
1674 * include/grub/file.h (struct grub_file): Add progress module members.
1675 * include/grub/term.h (struct grub_term_output): Likewise.
1676 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
1677 Terminal velocity added.
1678 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
1679 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
1680 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
1681 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
1682 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
1683 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
1684 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
1685 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
1686 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
1687 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
1688 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
1689 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
1690
0d711431
VS
16912013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 Verify signatures of signatures unless --skip-sig is specified.
1694
f8401f76
VS
16952013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1698 \0 checking.
1699
1700 Saves 70 bytes on compressed image.
1701
ac1feb61
VS
17022013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
1705 check.
1706
1707 Saves 10 bytes on compressed image.
1708
00f72e89
VS
17092013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * grub-core/kern/misc.c (grub_isprint): Move to ...
1712 * include/grub/misc.h (grub_isprint): ... here. Make inline.
1713
1714 Saves 20 bytes on compressed image due to remving exporting.
1715
067e6ae7
VS
17162013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
1719
1720 Saves 5 bytes on compressed image.
1721
64a6c791
VS
17222013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
1725 function get_utf8.
1726
1727 Saves 379 bytes on compressed image.
1728
979d9f52
VS
17292013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
1732
1437da54
VS
17332013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
1736
1737 Saves 40 bytes on compressed image.
1738
d9ee2269
VS
17392013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
1742 mask rather than 64-bit type.
1743
1744 Saves 20 bytes on compressed image.
1745
63efa602
VS
17462013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
1749 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
1750
47601ffe
VS
1751 Saves 273 bytes on compressed image.
1752
2cc679ad
VS
17532013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
1756 variable length arrays.
1757
1758 Saves 50 bytes on compressed image.
1759
2e4659b8
VS
17602013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1763
2a40badf
VS
17642013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/fs/ufs.c: Remove variable length arrays.
1767
1ba6b9b9
VS
17682013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
1771
f3e39341
VS
17722013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/fs/zfs.c: Remove variable length arrays.
1775 Reduces zfs.mod by 160 bytes (208 compressed).
1776
71523935
VS
17772013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
1780
28153eb8
VS
17812013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * grub-core/net/arp.c: Remove variable length arrays.
1784 * grub-core/net/bootp.c: Likewise.
1785 * grub-core/net/dns.c: Likewise.
1786 * grub-core/net/icmp6.c: Likewise.
1787 * grub-core/net/net.c: Likewise.
1788
88ce4cd7
VS
17892013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * grub-core/fs/ntfs.c: Remove variable length arrays.
1792 Increases ntfs.mod by 64 bytes (but decreases by 3 when
1793 compressed).
1794
66123940
VS
17952013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/fs/hfs.c: Remove variable length arrays.
1798 Reduces hfs.mod by 8 bytes (52 compressed).
1799
0927e5bd
VS
18002013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 1803 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
1804 compressed).
1805
9c12ac97
VS
18062013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 1809 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
1810 compressed).
1811
97ec2d71
VS
18122013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 1815 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
1816 compressed).
1817
156e4ea0
VS
18182013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * grub-core/fs/xfs.c: Remove variable length arrays.
1821 Reduces xfs.mod by 40 bytes (43 compressed).
1822
3b502c29
VS
18232013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 * grub-core/fs/fshelp.c: Remove variable length arrays.
1826 Reduces fshelp.mod by 116 bytes (23 compressed).
1827
c7037f1d
VS
18282013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 * grub-core/normal/completion.c: Remove variable length arrays.
1831 * grub-core/normal/menu_entry.c: Likewise.
1832
1833 Reduces normal.mod by 496 bytes.
1834
a07e6ad0
VS
18352013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
1838 by 356 bytes (158 compressed).
1839
2359bf88
VS
18402013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
1843 by 364 bytes (169 compressed).
1844
d28e1163
VS
18452013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
1848 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
1849 * include/grub/types.h (grub_unaligned_uint64_t): New type.
1850
e89c2d48
VS
18512013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
1854 bitmasks to small structures of size chosen to fit in registers.
1855
7abdac8e
VS
18562013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * conf/Makefile.common: Use -freg-struct-return on i386. This
1859 decreases code size and improves performance.
1860
518864c0
VS
18612013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
1864
bbd2b539
VS
18652013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
1868 "(null)" string.
1869 Simplify expressions to save around 256 bytes in kernel.img.
1870 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
1871
99519c15
VS
18722013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
1875 Use GRUB_UTIL_FD_O_* rather than O_*.
1876
20285765
VS
18772013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 Add haiku-specific functions.
1880
887c0bb6
VS
18812013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
1884
cd78a56f
VS
18852013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 Move stat () and device mode checking into OS-dependent files as
1888 long as performance doesn't suffer.
1889
a4012f07
VS
18902013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 Split make_system_path_relative_to_its_root into separate file
1893 relpath.c from getroot.c as it's common between unix and haiku
1894 but otherwise haiku doesn't use any functions from unix getroot.c.
1895
31de274d
VS
18962013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
1899 New function.
1900 (grub_util_is_special_file): Likewise.
1901
40346de6
VS
19022013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
1905 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
1906
d3923ab9
VS
19072013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
1910 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
1911
663f6eb1
VS
19122013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
1915 (load_image): Likewise.
1916
44d1c20a
VS
19172013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * util/grub-render-label.c: Move backend part to ...
1920 * util/render-label.c: ... here.
1921
d0a116ee
VS
19222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
1925 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
1926
b47fcae6
VS
19272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
1930
0f7c00c1
VS
19312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
1934 CD-ROM in case when it's declared as having subpartitions.
1935
29013cba
VS
19362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 Don't add -lm on haiku.
1939
1940 * configure.ac: Define BUILD_LIBM to -lm on most platforms
1941 and empty on haiku.
1942 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
1943 -lm.
1944
e8559d24
VS
19452013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * configure.ac: Use -melf_*_haiku as target on haiku.
1948
8104063c
VS
19492013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * Makefile.util.def: Add util/setup.c to extra_dist.
1952
fc3182c7
VS
19532013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
1956 unknown types through.
1957
f90a3cc0
VS
19582013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
1961 (grub_util_check_char_device): Likewise.
1962 * include/grub/emu/getroot.h: Likewise.
1963
1e3e7419
VS
19642013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
1967 memset rather than inline static function.
1968
92c88fc8
VS
19692013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
1972 not doing embedded decompressor.
1973
3cd910a2
VS
19742013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
1977 shadowing.
1978 * grub-core/kern/disk.c: Likewise.
1979 * grub-core/kern/misc.c: Likewise.
1980 * include/grub/parser.h: Likewise.
1981 * include/grub/script_sh.h: Likewise.
1982 * include/grub/zfs/zfs.h: Likewise.
1983
7b3aca00
VS
19842013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
1987
97dfe7e4
VS
19882013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
1991 defined before trying to use it.
1992
bf919aa9
VS
19932013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
1996 warning.
1997
f4ccf29d
VS
19982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2001 Use __unused__ rather than __used__ on gcc < 3.2.
2002
0d3a6f85
VS
20032013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2006 gcc < 4.0.
2007 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2008
757e3eb7
VS
20092013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2012
fb320faf
VS
20132013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2016 * include/grub/emu/misc.h: Likewise.
2017
ea73acd2
VS
20182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2021 cur_color.
2022
71237a6f
VT
20232013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2024
2025 * grub-core/tests/checksums.h: Regenerated due to progress bar
2026 get_minimal_size changes.
2027
3d46c22f
BC
20282013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2029
2030 Added `tr' command support.
2031
2032 * grub-core/commands/tr.c: New file.
2033 * grub-core/Makefile.core.def: Build rules for new module.
2034
2035 * tests/grub_cmd_tr.in: New test.
2036 * Makefile.util.def: Build rules for new test.
2037
47e0a61f
VT
20382013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2039
2040 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2041
946fd073
VT
20422013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2043
2044 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2045 * docs/gurb.texi: Likewise.
2046
9c13c576
VT
20472013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2048
2049 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2050 Pixmap highlighted section with east and west slices was displayed
2051 incorrectly due to negative width of the central slice.
2052
ad543f12
VT
20532013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2054
2055 * docs/grub.texi: Graphical options information update.
2056 Removed outdated. Updated current. Inserted missed.
2057
6176a0cd
VS
20582013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * docs/grub.texi: Mention few new platform-specific commands.
2061
9688cae2
VS
20622013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2065 currently used so this doesn't really have any effect.
2066 Reported by: Douglas Ray <dougray>
2067
f7b69a3f
VS
20682013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2071 compilation but prevents gcc from displaying messages in non-Latin
2072 alphabets.
2073 * conf/Makefile.common: Likewise.
2074
ceca6ddf
HY
20752013-10-16 Hiroyuki YAMAMORI
2076
2077 Handle Japanese special keys.
2078 Reported by: Hiroyuki YAMAMORI.
2079 Codes supplied by: Hiroyuki YAMAMORI.
2080
ac48d334
VT
20812013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2082
2083 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2084
b2b71bff
VT
20852013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2086
2087 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2088 * docs/grub.texi: Likewise.
2089
669fc449
VS
20902013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2093 value in case of incomplete read.
2094 (grub_util_fd_write): Likewise.
2095
59381678
VS
20962013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2099
bacfefbb
VS
21002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * util/grub-editenv.c (create_envblk_file): More from here ...
2103 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2104
f7c49570
VS
21052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2108 canonicalize file name before doing the rest.
2109
7b83ca44
VS
21102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2113 mingw32.
2114
df1e64c9
VS
21152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 Define grub_util_is_directory/regular/special_file and
2118 use OS-dependent versions rather than to rely on stat().
2119
ec16e026
VS
21202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * util/grub-mkimage.c: Move backend part to ...
2123 * util/mkimage.c: ... here.
2124
4b4eeb3c
VS
21252013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 Allow compilation with mingw64 albeit with warnings due to lack of
2128 %llx/%llu.
2129
2130 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2131 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2132 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2133 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2134 on mingw64.
2135 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2136
f4e0adc0
VS
21372013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 Remove leftover references to some of the system headers.
2140
e0127364
VS
21412013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2144 read.
2145
20d53541
VS
21462013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2149 of strerror.
2150
5a869940
VS
21512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 Split out blocklist retrieving from setup.c to
2154 grub-core/osdep/blocklist.c and add windows implementation since
2155 generic version doesn't work on NTFS on Windows due to aggressive
2156 unflushable cache.
2157
c06c7520
VS
21582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2161 files.
2162
8f53bb3f
VS
21632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2166 Cut tailing newline. Remove arbitrary limitation. Always use
2167 grub_util_tchar_to_utf8.
2168
148f1007
VS
21692013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2172 * tests/printf_unit_test.c (printf_test): Add %% tests.
2173 Reported by: Paulo Flabiano Smorigo.
2174
af3b06be
VS
21752013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2178 implement fsync.
2179
27f9d02e
VS
21802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2183 use nvlist_lookup_string and don't use nvlist_print.
2184
f6a81f0a
VS
21852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2188 closedir to handle filename charset translation.
2189
d7750b32
VS
21902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * include/grub/emu/hostdisk.h: Move file operations to
2193 * include/grub/emu/hostfile.h: ... here.
2194
2859196e
VS
21952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2198 unicode path.
2199
c018c968
VS
22002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2203
7e45abce
VS
22042013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2207 and remove export.h.
2208
23934da2
VS
22092013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * grub-core/kern/emu/error.c: Removed.
2212 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2213 explicitly as it's already in libgnu.a.
2214
c11ebcc8
VS
22152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2218 config-util.h include.
2219
70671037
VS
22202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 Split emunet into platform-dependent and GRUB-binding parts. Keep
2223 platform-dependent part in kernel for easy access to OS functions.
2224
25ac643a
VS
22252013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2228 open/read/write.
2229
69ca5876
VS
22302013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/osdep/windows/emuconsole.c: New file.
2233
d9d68ef0
AB
22342013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2235
2236 * conf/Makefile.extra-dist: Add osdep/*/init.c
2237
58e211cc
VS
22382013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2241
588744d0
VS
22422013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * util/grub-probe.c (probe): Separate different drives in hint-str
2245 by spaces and not newlines.
2246 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2247
44016e52
AB
22482013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2249
2250 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2251 Handle CD-ROMs.
2252
6de9ee86
VS
22532013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 Pass-through unknown E820 types. It required reorganisation of mmap
2256 module.
2257
f8f3f155
AB
22582013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2259
2260 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2261
b73249d2
VS
22622013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2265 fseeko.
2266
dac86b18 22672013-10-14 qwertial <qwertial>
2268
2269 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2270
17614b84
JM
22712013-10-14 Jon McCune <jonmccune@google.com>
2272
2273 * docs/grub.texi: Document new signatures possibility.
2274
6de292cb
VS
22752013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2278
84379b61
VS
22792013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2282 missing prototype.
2283 (grub_util_tchar_to_utf8): Likewise.
2284
21d85db1
VS
22852013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2288 * grub-core/kern/emu/main.c: Add missing include.
2289 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2290 Don't call grub_util_init_nls.
2291 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2292 Likewise.
2293
66a1b3ee
VS
22942013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2297 stat.
2298
e19bec17
VS
22992013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2302
ee8c1b29
VS
23032013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2306
bb338aaf
VS
23072013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 Add a wrapper for fopen. On unix-like systems just pass-through. On
2310 windows use unicode version.
2311
ae5540d3
VS
23122013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 Move set_program_name and init_nls to host_init. On windows
2315 fix in this fuction console and argument charset as well.
2316
4cd3c4fe
AB
23172013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2318
2319 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2320 GRUB_ENABLE_CRYPTODISK.
2321
2322 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2323 GRUB_ENABLE_CRYPTODISK.
2324 * util/grub-mkconfig_lib.in: Likewise.
2325
78170f3e
CCZ
23262013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2327
2328 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2329
3414b6c0
MC
23302013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2331
2332 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2333 error when enabling debug.
2334
6d0740e8
IB
23352013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2336
2337 * configure.ac: Use -melf_*_obsd on openbsd.
2338
ff2d4dc4
VS
23392013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2342
eac6ae82
VS
23432013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * include/grub/misc.h: Use gnu_printf rather than printf as format
2346 template since our functions are independent of libc.
2347
ba9baabe
VS
23482013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * util/grub-setup.c (setup): Move copying of partition table as
2351 futher up as possible to avoid possible overwrite by floppy routines.
2352
23532013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2354
2355 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2356
145e2369
VT
23572013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2358
2359 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2360 * docs/grub.texi: Likewise.
2361
3530bc9d
VS
23622013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2365 it's mostly unused. Move vestiges to the callers.
2366
fb9f59c3
VS
23672013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2370 version of salt and hash. Use grub_snprintf rather than snprintf.
2371
9be1c255
VS
23722013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * docs/grub.texi: Fix problem with braces.
2375
ed8c0887
VS
23762013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * conf/Makefile.extra-dist: Fix extra-dist list.
2379 * grub-core/Makefile.core.def: Likewise.
2380
f72ab14e
VS
23812013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * docs/grub.texi: Document disk names used on Windows and AROS.
2384
2fe53a22
VS
23852013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2388 with AROS devs.
2389 * grub-core/osdep/aros/hostdisk.c: Likewise.
2390
71c1d67a
VS
23912013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 Avoid including hostfile.h when not necessarry as it pulls
2394 in OS-specific headers which may redefine generic names
2395 like "far".
2396
ad297ec7
VT
23972013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2398
2399 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2400 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2401 scrollbar_bottom_pad
2402 * docs/grub.texi: Likewise.
2403
6e9e5dc9
VT
24042013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2405
2406 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2407
761c718b
VS
24082013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2411
37149a2f
VS
24122013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2415 Removed.
2416 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2417 Made static.
2418
3837a151
VS
24192013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2422 leftover.
2423
caca1c70
VS
24242013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 Move OS-specific driver configuration to grub_util_fd_open. This
2427 moves OS-dependent parts from kern/emu/hostdisk.c to
2428 grub-core/osdep/*/hostdisk.c.
2429
f7676b70
VS
24302013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * util/grub-mkimage.c (generate_image): Use size_t instead of
2433 grub_size_t.
2434 * util/grub-mkimagexx.c (locate_sections): Likewise.
2435 (load_image): Likewise.
2436
22f98db2
VS
24372013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2440 size_t.
2441 (grub_util_write_image): Likewise.
2442
b102ce69
VS
24432013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2446 get random when no RNG is available.
2447 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2448
acbbe5cb
VS
24492013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * include/grub/util/lvm.h: Removed.
2452
2112fb3f
VS
24532013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2456 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2457
79f78fbf
VS
24582013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2461
c2e6f705
VS
24622013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2465
aabe433a
VS
24662013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * grub-core/net/drivers/emu/emunet.c: Move to ..
2469 * grub-core/osdep/linux/emunet.c: ..here.
2470
9a2c903f
VS
24712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * util/ieee1275/ofpath.c: Move to ...
2474 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2475 * grub-core/osdep/basic/ofpath.c: ..here.
2476
4a445f58
VS
24772013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 Move password-querying (util-version) routines to grub-core/osdep.
2480
c1ca4244
VS
24812013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 Move sleep routines to grub-core/osdep.
2484
672fa55e
VS
24852013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 Move OS-dependent files to grub-core/osdep and document it.
2488
a5b0365a
VS
24892013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2492 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2493
29072e99
VS
24942013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2497
f8772ea7
VS
24982013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * util/misc.c: Remove leftover inclusion of malloc.h.
2501
a1a315e7
VS
25022013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * include/grub/setjmp.h: Remove leftover GRUBOF.
2505
cef86fef
VS
25062013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * util/raid.c: Fold into ...
2509 * util/getroot_linux.c: ... here. Make all functions static.
2510
c4cf25ee
VS
25112013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2514 macros to GRUB ones.
2515
53a5f5c2
VT
25162013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2517
2518 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2519 occasional bug. If there are too many boot entries or too low
2520 scrollbar height then we need to use another formula to calculate
2521 the position and size of the scrollbar thumb.
2522
de300af2
VS
25232013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2524
c4cf25ee 2525 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2526
c5827364
VT
25272013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2528
2529 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2530 * docs/grub.texi: Likewise.
2531
dd2ed8b0
VT
25322013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2533
2534 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2535 viewport.
2536
7286c384
VT
25372013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2538
ffdfc1f3
VT
2539 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2540 minimal width calculations.
7286c384 2541
ea547e14
VS
25422013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * docs/grub.texi: Update note on colors on emu console.
2545
b726be76
VS
25462013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2549 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2550 it's FS and not GRUB limitation.
2551
a5f6ade6
VS
25522013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2555
3b0f3aa2
VS
25562013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2559
1db38304
ST
25602013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2561
2562 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2563 kernels by version order.
2564
fb295fc0
VS
25652013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2568
47345010
VS
25692013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 Add AROS hostdisk and getroot routines.
2572
bf25f879
VS
25732013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 Make cryptodisk and diskfilter probe data retrievable programmatically
2576 and not just printable.
2577
24ca4512
VS
25782013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 Split random retrieving code into separate files.
2581
c7c177f0
VS
25822013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2585 R_ARM_V4BX.
2586
d71b45ae
VS
25872013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2590 condition.
2591 * grub-core/tests/fake_input.c: Likewise.
2592 * grub-core/tests/cmdline_cat_test.c: Likewise.
2593
e44b9a83
VS
25942013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/video/capture.c: Do not do finalization when .fini
2597 is called as there is explicit capture_end.
2598
4fa60739
VS
25992013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2602 changing windows to avoid crash.
2603
17c8bc37
VS
26042013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2607
9d4d7977
VS
26082013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * po/exclude.pot: Add several strings to exclude.
2611
0caa407c
VS
26122013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2615
9ae393da
VS
26162013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2619 ./util/grub-gen-asciih.c to exclude list.
2620
498d5033
VS
26212013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2624 and don't mark error strings for translation.
2625
7d93298f
VS
26262013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2629 properly in case of missing block size.
2630
b2cae20c
VS
26312013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/lib/arm/setjmp.S: Add missing license section.
2634
3896d6b4
VS
26352013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * po/swiss.sed: Add replacement for key names and for term computer.
2638
ebc1da55
VT
26392013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2640
2641 * grub-core/gfxmenu/theme_loader.c: New global options for the
2642 theme background image handling. desktop-image-scale-method,
2643 desktop-image-h-align, desktop-image-v-align.
2644 * grub-core/gfxmenu/view.c: Likewise.
2645 * include/gfxmenu_view.h: Likewise.
2646 * include/bitmap_scale.h: Proportional scale functions introduced.
2647 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2648 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2649 cases of unexpected input variables for scale functions.
2650 * docs/grub.texi: Updated documentation for new options.
2651
c5739143
VS
26522013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2655
be74aeb3
VT
26562013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2657
2658 * grub-core/tests/checksums.h: Corrected due to changes in
2659 bilinear interpolation function.
2660
d999ac72
VT
26612013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2662
2663 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2664 to eliminate artefacts in bilinear interpolation.
2665
2b131610
VS
26662013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * grub-core/video/readers/tga.c: Support paletted tga.
2669
de6e5ff8
VS
26702013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2673 incorrect cbcr setting when in color mode.
2674
fa31ee9c
VS
26752013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/video/readers/png.c: Support paletted images and clean up
2678 greyscale support.
2679
e84f8188
VS
26802013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
2683 usage of wrong table which resulted in mishandling of 4-byte
2684 sequences.
2685
26862013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
2687
2688 * grub-core/term/terminfo.c: Add Home and End key sequences.
2689
d72bff09
VS
26902013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * grub-core/video/readers/png.c (grub_png_decode_image_header):
2693 Fix formula for computing total number of bytes.
2694
29648c5d
VS
26952013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
2698 image processing, fix big-endian and support grayscale.
2699
4a876492
VS
27002013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
2703 Correctly will with maximum transparency when using index color.
2704
3ccf16df
VS
27052013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/video/readers/png.c: Support grayscale
2708
27092013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
2710
2711 * grub-core/video/readers/jpeg.c: Support grayscale.
2712
3ccf16df 27132013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
2714
2715 * grub-core/commands/loadenv.c: Support skipping signature check
2716 and variable names filtering.
2717
30b7f58f
VS
27182013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
2721 * grub-core/kern/emu/hostfs.c: Likewise.
2722 * util/getroot_unix.c: Likewise.
2723
bab7b1eb
VS
27242013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
2727 Migrate all explicit defines to this new one.
2728
43b1c99d
VS
27292013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
2732 grub_util_fd_strerror when using grub_util_fd_*.
2733 (grub_util_fd_open_device): Likewise.
2734 (grub_util_biosdisk_read): Likewise.
2735 (grub_util_biosdisk_write): Likewise.
2736 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
2737 (grub_util_fd_strerror): Likewise.
2738 (grub_util_fd_sync): Likewise.
2739 (grub_util_fd_close): Likewise.
2740 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
2741 (grub_util_fd_close): Likewise.
2742 (grub_util_fd_strerror): Likewise.
2743 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
2744 function proto rather than macro.
2745 (grub_util_fd_sync): Likewise.
2746 (grub_util_fd_open): Likewise.
2747 (grub_util_fd_strerror): New proto.
2748
e8fd80bc
VS
27492013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
2752 platforms on which it doesn't work.
2753
bf645fda
VS
27542013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
2757 stat immediately to where it's used.
2758
5177ba14
VS
27592013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * util/getroot.c (grub_util_check_block_device): Move to ...
2762 * util/getroot_unix.c (grub_util_check_block_device): ... here.
2763 * util/getroot.c (grub_util_check_char_device): Move to ...
2764 * util/getroot_unix.c (grub_util_check_char_device): ... here.
2765
9db826e1
VS
27662013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
2769 disk closing logic.
2770
49120085
AB
27712013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2772
2773 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
2774
b3328b68
AB
27752013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2776
2777 * docs/grub.texi (File name syntax): Document ZFS filenames
2778 (/volume@snapshot/...).
2779
3fff48ab
VS
27802013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
2783 Always return full path. Fixes a problem with mkrelpath.
2784
39cfdaa9
PFS
27852013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2786
2787 * util/grub-install.in: Add GPT PReP support.
2788 * util/grub-probe.c (probe): Support GPT partition type.
2789 (main): Support -t gpt_parttype.
2790
7c680e1f 27912013-09-23 Aleš Nesrsta <starous@volny.cz>
2792
2793 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
2794
890bdabe
MM
27952013-09-23 Massimo Maggi <me@massimo-maggi.eu>
2796
2797 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
2798
9c262ff9
TH
27992013-09-23 Tim Hardeck <thardeck>
2800
2801 * util/grub.d/10_hurd.in: Filter out character for the class.
2802 * util/grub.d/10_kfreebsd.in: Likewise.
2803 * util/grub.d/10_linux.in: Likewise.
2804 * util/grub.d/20_linux_xen.in: Likewise.
2805
d755342a
MC
28062013-09-23 Melki Christian <Christian.melki@saabgroup.com>
2807
2808 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
2809 "changed".
2810
68b77707
JT
28112013-09-23 Josh Triplett <josh@joshtriplett.org>
2812
2813 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
2814 boot partition.
2815
efa68bfa
VS
28162013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
2819 doesn't use posix_wrap. Keep literal -fno-builtin however.
2820
d9104204
VS
28212013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
2824
c248781a 28252013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
28262013-09-23 neil
2827
5830df88 2828 * configure.ac: Do not enable -Wmissing-noreturn as its
2829 usefulness is limited and creates problems on some OS notably with
2830 code generated by bison.
2831
28322013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
28332013-09-23 neil
2834
2835 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 2836 supported by all gcc and when it is, it's already enabled by -Wall.
2837
621bed69
VS
28382013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
2841 desactivated use of EDID at all.
2842
71764dc8 28432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
28442013-09-23 neil
2845
2846 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
2847 video if no text is available.
2848
affce7d4 28492013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
28502013-09-23 neil
2851
2852 * configure.ac: Substitute TARGET_RANLIB.
2853
28542013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
28552013-09-23 neil
affce7d4
VS
2856
2857 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
2858
2859 Based on patches from AROS.
2860
0e8daad0 28612013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 28622013-09-23 neil
0e8daad0
VS
2863
2864 * grub-core/Makefile.am: Override STRIP and RANLIB.
2865 * configure.ac: compute TARGET_RANLIB.
2866 * INSTALL: Document TARGET_RANLIB
2867
2868 Based on patches from AROS.
2869
3f7d9c82
VS
28702013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
2873 that floppies are unpartitioned.
2874
bca8873a
VS
28752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
2878 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
2879
28802013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
2883 less nice but more portable.
2884 * grub-core/lib/posix_wrap/wchar.h: Likewise.
2885
a47a78be
VS
28862013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
2889 for cheat_fd.
2890 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
2891 functions.
2892 (grub_cryptodisk_cheat_insert): Likewise.
2893 (grub_cryptodisk_close): Likewise.
2894
e85a5d5c
VS
28952013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
2898 Use windows path for DEFAULT_DIRECTORY.
2899
dad9fa6b
VS
29002013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
2903 difference was likely just gcc version, not anything mingw-related.
2904
7e518ca8
VS
29052013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 Use Winapi on both cygwin and mingw32 to share more code between both.
2908
d68d0157
AB
29092013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
2910
2911 * util/grub-install.in: Add --grub-editenv option.
2912 * util/grub-install_header (grub_compress_file): Explicitly check for
2913 plain file to avoid cp error.
2914
775b284d
AB
29152013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
2916
2917 * docs/grub.texi (Device syntax): Document new LVM UUID based device
2918 names; fix LVM driver name (lvm, not lv).
2919 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
2920 names.
2921
3ff4063d
VS
29222013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
2925 files rather than one file with loads of #if's.
2926 * util/getroot.c: Likewise.
2927
287faafe
VS
29282013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
2931
d1983764
VS
29322013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
2935 GNU/Hurd to the list of checked PRNG.
2936
15ce95c4
VS
29372013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * configure.ac: On FreeBSD use -melf_*_fbsd format.
2940
207862dd 29412013-09-21 Ales Nesrsta <starous@volny.cz>
2942
7c680e1f 2943 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 2944
63653cfd
VS
29452013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
2948 * grub-core/disk/lvm.c: Add LVM UUIDs.
2949 * util/getroot.c: Use LVM UUIDs whenever possible.
2950
f5d3e7ef
AB
29512013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
2952
2953 * docs/grub.texi (Networking commands): Add documentation for
2954 network related commands.
2955
53c6b7d6
VS
29562013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * util/getroot.c (grub_util_open_dm): Check major rather than the name
2959 to determine if device is handled by devmapper.
2960 (convert_system_partition_to_system_disk): Likewise.
2961 (get_dm_uuid): Don't check explicitly if device is mapped, it's
2962 already done in grub_util_open_dm.
2963
e70d6736
LL
29642013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
2965
2966 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
2967 Clean up stack manipulation (sync_caches_armv*)
2968
90379808
VS
29692013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * util/lvm.c: Remove since unused. Remove remaining references.
2972
386701a8
VS
29732013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 Handle the case of partitioned LVM properly.
2976
2977 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2978 Stop on meeting LVM, mpath or DMRAID.
2979 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
2980 (read_device_map): Likewise.
2981 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
2982 device is full disk rather than erroring out on LVM and similar cases.
2983
53070787
VS
29842013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
2987
1bc783bd
VS
29882013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
2991 4K before the end.
2992 Reported by: Leif Lindholm
2993
436ad5c3
PW
29942013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
29952013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
2998 codes.
2999
607319c9
CW
30002013-09-18 Colin Watson <cjwatson@ubuntu.com>
3001
3002 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3003 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3004
d404d154
DR
30052013-09-18 Douglas Ray <dougray@cpan.org>
3006
3007 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3008 as secure.
3009
28851ef6
AN
30102013-09-18 Aleš Nesrsta <starous@volny.cz>
3011
3012 * docs/grub.texi: Fix broken link.
3013
897c3bc6
MC
30142013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3015
3016 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3017 to break endless loop.
3018
f1630459
VS
30192013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * util/grub-fstest.c: Fix several printf formats.
3022 * util/grub-mkimage.c: Likewise.
3023 * util/grub-mkimagexx.c: Likewise.
3024 * util/grub-script-check.c: Likewise.
3025
64463dfd
VS
30262013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3029 error.
3030
48972495
VS
30312013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3034
5dd5e64b
VS
30352013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3038 removed in current versions cygwin_conv_*.
3039
1c1f31e5
VS
30402013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * configure.ac: Disable efiemu runtime on cygwin.
3043
c546a259
VS
30442013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3047 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3048
81690478
VS
30492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3052 error message.
3053
6b87c10a
VS
30542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3057 windows variant.
3058 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3059 data.
3060
8f0baaac
VS
30612013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3064 when on x86 and not cygwin.
3065 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3066 -Wl,-melf_x86_64.
3067
b224c266
VS
30682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 * configure.ac: Set CPP to build one when checkoing for freetype for
3071 build.
3072
506b336b
VS
30732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3076 [!GRUB_BUILD]: Remove has_argument.
3077
8c8c87b7
VS
30782013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3081 Replace with a dummy.
3082
7dc5ca13
VS
30832013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * configure.ac: Don't change host_os from mingw to cygwin.
3086
c3302aa5
VS
30872013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * configure.ac: Change target_os from windows to cygwin.
3090
7b780018
VS
30912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3094
3095 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3096 (build-grub-gen-asciih): Likewise.
3097 (build-grub-gen-widthspec): Likewise.
3098 * Makefile.util.def (grub-pe2elf): Remove.
3099 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3100 * configure.ac: Separate tests for build.
3101 Move ./build-grub-pe2elf to grub-core.
3102 Fix typo.
3103 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3104 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3105 defined.
3106 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3107 constants.
3108 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3109 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3110 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3111
984cfd8a
VS
31122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3115 mingw32 as well based on grub_util_get_disk_size.
3116 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3117 grub_util_get_fd_size.
3118 (sync): Removed.
3119 (fsync): Moved to ...
3120 * grub-core/kern/emu/misc.c (fsync): ... here.
3121
f82d79c9
VS
31222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * include/grub/mm.h (grub_extend_alloc): Remove.
3125 * grub-core/loader/i386/pc/plan9.c: Use own version of
3126 grub_extend_alloc with appropriate types.
3127
fd7dd66d
VS
31282013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3131
43ffba7c
VS
31322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3135
3c7eac44
VS
31362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 Fix dependencies on cygwin.
3139
3140 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3141 dependencies when used and defined.
3142 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3143
bdb5ba47
VS
31442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3147 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3148
ed7fbf43
VS
31492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3152 implementation available to cause compile-time rather than runtime
3153 error.
3154
fc46e9fc
VS
31552013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * util/grub-fstest.c: Don't check for symlinks on windows.
3158
7f68269a
VS
31592013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * INSTALL: Mention unavailability of man pages when cross-compiling.
3162
8ed358e0
VS
31632013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3166 and gcry_log_bug.
3167 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3168
fc97214f
VS
31692013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * INSTALL: Document cross-compilation.
3172 * acinclude.m4: Determine whether nm support -P and --defined-only.
3173 * configure.ac: Add TARGET_ to all variables pertaining to target
3174 that don't have it yet.
3175 * gentpl.py: Likewise.
3176 * grub-core/Makefile.am: Likewise.
3177 * grub-core/genmod.sh.in: Likewise.
3178 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3179 as well.
3180
ca1fb563
IB
31812013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3182
3183 * configure.ac: Remove -Wempty-body. It's not essential and needs
3184 recent gcc.
3185
0031b229
IB
31862013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3187
3188 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3189 * util/getroot.c: Likewise.
3190
54ea2f44
VS
31912013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/disk/ahci.c: Add needed explicit cast.
3194 * grub-core/lib/backtrace.c: Likewise.
3195 * grub-core/net/ip.c: Likewise.
3196 * grub-core/net/tcp.c: Likewise.
3197 * grub-core/net/udp.c: Likewise.
3198
3c601f8c
VS
31992013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3202
1d679dda
VS
32032013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * util/import_gcry.py: Add final newline in visibility.h.
3206
00c28dd9
VS
32072013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * conf/Makefile.common: Fix typo.
3210
32af299a
VS
32112013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3214
e733cf52
VS
32152013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * Makefile.am (widthspec.h): Fix typo.
3218 * util/grub-gen-widthspec.c: Likewise.
3219
c6b066f2
VS
32202013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 Move ascii.h and widthspec.h generation to a separate build-time-only
3223 tool.
3224
ad1fe3f9 32252013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3226
3227 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3228 Always fill bootdisk info and improve check for NetBSD disklabel.
3229
92a52dd4
VS
32302013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * conf/Makefile.extra-dist: Add util/bin2h.c.
3233 Reported by: floppym.
3234
b2e9d276
VS
32352013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3238
7b966834
VS
32392013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * configure.ac: Disable unifont and starfield if no freetype was found.
3242
d5c1eef1
VS
32432013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3246 on NetBSD and OpenBSD.
3247
66345b50 32482013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3249
3250 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3251
66345b50 32522013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3253
3254 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3255 reduced. Inheritant options are processed during the theme loading.
3256
66345b50 32572013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3258
3259 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3260
369508b3
AS
32612013-08-14 Avik Sil <aviksil@in.ibm.com>
3262
3263 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3264
32652013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3266
3267 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3268 using qemu.
3269
6f27a3f6
PFS
32702013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3271
3272 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3273 remove-potcdate.sed.
3274
c6ed362a
AB
32752013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3276
3277 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3278 unused attribute from pull argument.
3279
5e7d9464
AB
32802013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3281
3282 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3283 memory leak.
3284
dea55e2a
AB
32852013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3286
3287 * util/getroot.c (pull_lvm_by_command): add --separator option
3288 to vgs call to disable padding of output to 10 characters.
3289
f0b94ded
VS
32902013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3293 here ...
3294 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3295 here.
3296
b828fb5d
VS
32972013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3300 length.
3301
7c9d0c39
VS
33022013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3305 full Canadian cross. Tested with build=x86_64, host=arm,
3306 target=ppc-ieee1275.
3307
816719c8
VS
33082013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * configure.ac: Error if no $BUILD_CC could be found.
3311 Reported by: DevHC.
3312
2af2353b
VS
33132013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3316 i386-multiboot.
3317
797abd0a
VS
33182013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3321 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3322
36e87d25
CW
33232013-08-13 Colin Watson <cjwatson@ubuntu.com>
3324
3325 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3326 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3327 falling back to the partition device, otherwise a later call to this
3328 function may fail spuriously.
3329 Reported by Axel Beckert. Fixes Debian bug #708614.
3330
273349fe
GS
33312013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3332
3333 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3334
418f86c6
GS
33352013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3336
3337 Prevent shadowing of stdlib's devname(3) on BSD.
3338
3339 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3340 and devlast to diskname and disklast, respectively.
3341
c137aea0
CW
33422013-08-11 Colin Watson <cjwatson@ubuntu.com>
3343
3344 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3345
272dc8df 33462013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3347
3348 * docs/grub.texi: Introduce terminal window position options:
3349 terminal-left: terminal window's left position
3350 terminal-top: terminal window's top position
3351 terminal-width: terminal window's width
3352 terminal-height: terminal window's height
3353 terminal-border: terminal window's border width
3354 * grub-core/gfxmenu/theme-loader.c: Likewise.
3355 * include/grub/gfxmenu_view.h: Likewise.
3356 * po/exlude.pot: Likewise.
3357 * grub-core/gfxmenu/view.c: Likewise.
3358 Also updated minimal window size.
3359 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3360 * grub-core/tests/checksums.h: Update (terminal window height
3361 is adjusted now for low resolution screen)
b4743461 3362
748a4533
VS
33632013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3366 position).
3367
fca5f944
VS
33682013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * po/exclude.pot: Add few recent exceptions.
3371
4f47d809
VS
33722013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * tests/grub_func_test.in: Add unicode.pf2.
3375
a62ae90c
VS
33762013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3379 standard rather than noral color, in line with other terminals.
3380
4ed41392
VS
33812013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3384 analysis.
3385
3719fbc5
VS
33862013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3389
459b1d91
VS
33902013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3393 inappropriate printf.
3394
f4e1ab9d
AB
33952013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3396
3397 * .bzrignore: Remove grub-core/lib/dtc-grub,
3398 grub-core/Makefile.libfdt.def
3399 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3400
fa471bfa
VS
34012013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * include/grub/video.h (grub_video_register): Keep double-linked as
3404 well as single-linked invariants.
3405 Reported by: qwertial.
3406
d65be02b
VS
34072013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * grub-core/commands/nativedisk.c (get_uuid): Handle
3410 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3411
ba8bc620
VT
34122013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3413
3414 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3415 maximum of NW, N, NE heights instead of N's height and maximum of
3416 NW, W, SW widths instead of W's width. (So the box will be always
3417 correctly drawn)
3418
4f0ad029
GS
34192013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3420
3421 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3422 Fix misuse of variable count.
3423
43d53b72
LL
34242013-07-18 Leif Lindholm <leif.lindholm@arm.com>
34252013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
34262013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3427
43d53b72
LL
3428 New ports to arm-uboot and arm-efi.
3429 Mostly by Leif Lindholm with some additions from
3430 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3431
88f8d146
VS
34322013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3435 and not before.
3436 Reported by: Leon Drugi.
3437
3f42504c
VS
34382013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3441 Reported by: Paulo Flabiano Smorigo.
3442
d110499b
VT
34432013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3444
3445 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3446
a8674ad3
VT
34472013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3448
3449 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3450
286fe4b3
VS
34512013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3454
1bd57aa3
VS
34552013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3458
7a87d69f
AB
34592013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3460
3461 * grub-core/net/bootp.c: Export net_* variables.
3462 * grub-core/net/net.c: Likewise.
3463
b2182299
VS
34642013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3467
795b3dc0
VS
34682013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3471
68714c43
VS
34722013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3475
af211bab
VS
34762013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3479
0036f02d
MM
34802013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3481
3482 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3483 <= 0.
3484
6d0ddff3
MM
34852013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3486
3487 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3488 functions.
3489
038016f4
MM
34902013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3491
3492 * grub-core/fs/zfs/zfs_lz4.c: New file.
3493 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3494
776bdce2
MM
34952013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3496
3497 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3498
c71dbd40
MM
34992013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3500
3501 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3502 (check_pool_label): Likewise.
3503 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3504
35052013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3506
3507 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3508
8e67b50f
AB
35092013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3510
3511 * docs/grub.texi (Commands): Document postition parameters
3512 for menuentry command.
3513
f5ae3717
AB
35142013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3515
3516 * util/grub-mknetdir.in: Remove stray line from help output.
3517
9c28da2a
VS
35182013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 Remove early sm712 init as there is no reason for it (the "watchdog"
3521 effect was due to wrong GPIO map).
3522
139072b8
VS
35232013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * grub-core/commands/pcidump.c: Remove static variables.
3526
c6a61bda
VS
35272013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3530
51369614
VS
35312013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * configure.ac: Move delimiter after the infos.
3534
efa8640a
VS
35352013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3538
6f80a7b2
VS
35392013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3542 not filling whole 8x16 space.
3543
a2371e19
VS
35442013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3547
64fce2d8
VS
35482013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * configure.ac: Indicate which liblzma is used if any.
3551
eb272d84
PW
35522013-06-21 Paul Wise <pabs3@bonedaddy.net>
35532013-06-21 Craig Sanders <savannah@taz.net.au>
3554
3555 * util/grub-reboot.in: Document submenu usage.
3556
a9e5abee
CW
35572013-06-25 Colin Watson <cjwatson@ubuntu.com>
3558
3559 * .bzrignore: Update with a number of new test-related files.
3560
e639c204
CW
35612013-06-25 Colin Watson <cjwatson@ubuntu.com>
3562
3563 * util/grub-script-check.c: Fail on scripts containing no
3564 commands, to guard against corrupted grub-mkconfig setups that
3565 produce no useful output.
3566 * tests/grub_script_no_commands.in: New test.
3567 * Makefile.util.def (grub_script_no_commands): Add.
3568 Reported by Hans Putter. Fixes Debian bug #713886.
3569
a4c89b17
AB
35702013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3571
3572 * grub-core/disk/diskfilter.c: Forgot to remove comment
3573 from previous commit.
3574
5b06b53c
AB
35752013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3576
3577 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3578 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3579
702da5c9
AB
35802013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3581
3582 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3583
aa62a5b7
AB
35842013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3585
3586 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3587 rescan diskfilter devices until nothing new is found.
3588
4aa237c8
VS
35892013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3592
93d8479b
VS
35932013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 Don't try to detect cbfs on *-emu.
3596
837222cc
VS
35972013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3600
99c971af
VS
36012013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 Add support for processed coreboot payload chainloading.
3604
e6930a45
VS
36052013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 Enable coreboot information commands even when not loaded as
3608 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3609
5027af38
VS
36102013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 Support for cbfs. Also factor out the part which is common
3613 for all archives to a separate module. This splits tar from cpio
3614 as they are very different but keeps cpio, cpio_be, odc and newc
3615 together since they're very similar.
3616
a5b55c4b
DM
36172013-06-15 David Michael <fedora.dm0@gmail.com>
3618
3619 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3620 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3621
0301a8b3
VS
36222013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * tests/grub_script_eval.in: Really add the eval test.
3625
3d84cb17
VS
36262013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 Move flavour-specific parts out of common cpio.c file and
3629 rename remaining to cpio_common.c
3630
593e430c
AB
36312013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3632
3633 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3634 off new function grub_script_execute_new_scope. Change callers to use
3635 either of them as appropriate.
3636 * grub-core/commands/eval.c: New command eval.
3637 * docs/grub.texi (Commands): Document it.
3638
63c29849
AB
36392013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3640
3641 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3642 to fetch values when listing.
3643
cc284112
AB
36442013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3645
3646 Fix make dist on non-pc.
3647
36482013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
3649
3650 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3651 without a device name.
3652
69544d1e
VS
36532013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 Remove enable_executable_check as it's not needed anymore.
3656 Reported by: dougray.
3657
96dbe648
VS
36582013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3661 ambigouos RAID before discovering RAIDs on top of it.
3662 Reported by: bodom.
3663
ccfc0bdb
VS
36642013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 Fix typo (failback vs fallback).
3667
f2587088
AB
36682013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3669
3670 * util/grub.d/30_os-prober.in: Add support for probing EFI
3671 System Partition (as of os-prober 1.58).
3672
cec5cf0c
VS
36732013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 * configure.ac: Add yet another path to unifont. For parabola.
3676
e40b4596
JT
36772013-05-30 Josh Triplett <josh@joshtriplett.org>
3678
3679 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
3680 handling to copy the killed characters to the kill buffer as
3681 UCS4 stored as grub_uint32_t rather than as 8-bit characters
3682 stored as char. Eliminates UCS4 truncation and corruption
3683 observed when killing characters with Ctrl-u and yanking them
3684 back with Ctrl-y.
3685
fc4c4fdd
VS
36862013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 Detach optional parts of gfxterm and integrate in with coreboot init.
3689
6570b205
VS
36902013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 Move blit and fill dispatcher to appropriate files to decrease export
3693 and relocation overhead.
3694
b8323067
VS
36952013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/font/font.c, include/grub/font.h: Inline simple font
3698 functions.
3699
3cc1878f
VS
37002013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * grub-core/Makefile.am: Fix compilation problem with some
3703 automake versions.
3704
4b80e43c
VS
37052013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
3708
57e0c20c
VS
37092013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
3712 automake versions.
3713
4fd42c53
VS
37142013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
3717 SSDT.
3718
1e908b34
RS
37192013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
3720
3721 * grub-core/partmap/dfly.c: New partition map.
3722
1359e474
VS
37232013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
3726 checking.
3727 Reported by: Francesco Lavra.
3728
17806392
AB
37292013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
3730
3731 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
3732 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
3733 false conditions.
3734 * conf/Makefile.common: define dist_grubconf_DATA
3735
cdce14fa
VS
37362013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 Progressively skip menu elements on small terminals rather
3739 than crashing.
3740
c8d6cc3c
VS
37412013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3744 to avoid losing last column.
3745
a73b31ce
VS
37462013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * po/exclude.pot: Add missing string "%C".
3749
1202c764
VS
37502013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
3753 after the test.
3754
50268344
VS
37552013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * util/grub-install.in: Gettextize "Not found" message.
3758
62b15edf
VS
37592013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 Fix distfiles list.
3762 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3763
37642013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
3765
3766 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
3767 present.
3768 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
3769
709ad61b
VS
37702013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
3773
d128901a
VS
37742013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
3777 attribute since structure is not necessarily aligned.
3778
34b22f5c
AB
37792013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
3780
3781 * docs/grub.texi (Device syntax): Clarify description of network
3782 drives.
3783
0f7e980b
VS
37842013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
3787 for vasprintf presence.
3788
30b03dc2
VS
37892013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * util/grub-install.in: Handle efibootmgr presence check.
3792 Reported by: Leif Lindholm.
3793
0dc11c08
VS
37942013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
3797 new strings to translate.
3798
f8024c3f
VS
37992013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
3802 yet another string (pun intended) to translate.
3803
b4c1da62
VS
38042013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * po/POTFILES-shell.in: Autogenerate it.
3807
0ef7478b
VS
38082013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
3811
8200fa15
VS
38122013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
3815 misnomer.
3816
091945b2
AB
38172013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
3818
3819 * docs/grub.texi (Network): Add description of net_default_interface,
3820 net_default_ip and net_default_mac. Rewrite variables description
3821 to emphasize that they are per-interface.
3822
0e7b2e32
VS
38232013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 New test: cmdline and cat.
3826
16f7c8f6
VS
38272013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/commands/cat.c: Show UTF-8 characters.
3830
3e912fda
VS
38312013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * conf/Makefile.common: Poison float and double on non-emu.
3834
ee0220bc
VS
38352013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * configure.ac: Don't disable extended registers on emu.
3838
89e0240c
VS
38392013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * configure.ac: Don't use extended registers on x86_64.
3842 Reported by: Peter Jones.
3843
e56d9637
VS
38442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/term/efi/console.c: Fix compile error.
3847
8098f655
VS
38482013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 Compressed HFS+ support.
3851
16940e07
VS
38522013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
3855 pixel".
3856
c5dbc13d
VS
38572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 Menu color test.
3860
011f8ae8
VS
38612013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/tests/setjmp_test.c: New test.
3864
2aa072d7
VS
38652013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 New variables 'net_default_*' to determine MAC/IP of default interface.
3868
43fe02cb
VS
38692013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * tests/gettext_strings_test.in: A test to check for strings not
3872 marked for translation.
3873
bed06142
VS
38742013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * autogen.sh: Exclude unused libgcrypt files from translation.
3877
fb2666b5
VS
38782013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 Simplify few strings.
3881
d22840ec
VS
38822013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 Mark few forgotten strings for translation.
3885
e34092fd
VS
38862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
3889 rather than printf.
3890
47cf82b4
VS
38912013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
3894 rather than printf.
3895 * grub-core/video/readers/tga.c: Likewise.
3896
1eed0e6e
VS
38972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * tests/priority_queue_unit_test.cc: New test.
3900
c5b7697b
VS
39012013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
3904 than printf.
3905
5945c2f8
AB
39062013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
3907
3908 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
3909 variable for one time boot menu entry.
3910
fa292343
B
39112013-05-05 Bean <bean123ch@gmail.com>
3912
3913 * grub-core/commands/testspeed.c: New command testspeed.
3914
310d4214
VS
39152013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 Factor-out human-size printing.
3918
85002bf3
VS
39192013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 Agglomerate more mallocs to speed-up gfxterm.
3922
22b06e96
VS
39232013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 Speed-up gfxterm by slightly agglomerating mallocs.
3926
b7c036bc
VS
39272013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 More video checks.
3930
92323d1f
VS
39312013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 Speed-up gfxterm by saving intermediate results in index+alpha
3934 format.
3935
0fb356a3
VS
39362013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
3939 test.
3940
44dea3f9
VS
39412013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
3944 line of timeout as it may contain the rest of long line.
3945
14af86e4
VS
39462013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * grub-core/normal/main.c: Fix freed memory dereference.
3949
03f7c8c3
VS
39502013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 Fix several memory leaks.
3953
c686014c
VS
39542013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
3957
0788a695
VS
39582013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
3961
daf01d61
VS
39622013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 Fix test -a and -o precedence.
3965 Reported by: adrian15.
3966
82ae74d7
VS
39672013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
3970
8cec7bd4
AB
39712013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
3972
3973 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
3974 and add it as source to functional_test module.
3975
aa73d688
VS
39762013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
3979
c104b6f9
VS
39802013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 New series of tests for gfxterm and gfxmenu.
3983
7391c4d5
VS
39842013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
3987 the theme path relative to $prefix/themes.
3988
cff50118
VS
39892013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
3992 Fix order bug.
3993 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
3994
7c332bdc
VS
39952013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
3998 descriptor.
3999
a4f9a5ff
VS
40002013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4003 grub_gfxmenu_timeout_notifications.
4004 (grub_gfxmenu_view_destroy): Likewise.
4005
b5a2114d
VS
40062013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4009
a8905e8a
VS
40102013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 Several fixes to ieee1275 and big-endian video.
4013
813c1622
VS
40142013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 Add missing exports on mips.
4017
3f3e7326
VS
40182013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4021 if no unifont is found.
4022 Restore original keyboard.
4023
095accd1
VS
40242013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4027 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4028
50361660
VS
40292013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 First automated video test (running videotest and comparing results)
4032
cd0f6eec
VS
40332013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4036 instead of 2 to have full RGB/CMY test pattern.
4037
3f9634e5
VS
40382013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 Add few more tests.
4041
583e5b64
VS
40422013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4045 ARCS. All users updated.
4046
aa7bcb99
VS
40472013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4050
95ef1a54
VS
40512013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4054
46546fc5
VS
40552013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4058 Reported by: qwertial.
4059
3476e0ef
VT
40602013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4061
4062 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4063 with syntax "XXX deg"/"XXX °".
4064
96f33fed
VS
40652013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 Make PCI init in i386-qemu port more robust.
4068
40692013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4070
4071 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4072 cached view is reused.
4073 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4074 open boot menus.
4075
c53b4e67
VS
40762013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 Unify more code in grub-install_header.
4079
f7457fb2
VS
40802013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 Add few new tests.
4083
e2f27a8c
VS
40842013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 Enforce disabling of firmware disk drivers when native drivers kick in.
4087
ef9d8cd5
VS
40882013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * grub-core/commands/nativedisk.c: Customize the list of modules on
4091 platform. Don't try to search for disks already using native drivers.
4092
f7bf6c31
VS
40932013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4096 platforms.
4097
bdc4add8
VS
40982013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4101 handling of variables containing backslash.
4102
e9e46c9a
VS
41032013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4106 dereference.
4107 Reported by: qwertial.
4108
0e90dee8
VS
41092013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4112
e0aacf24
VS
41132013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4116 dereference.
4117 Reported by: qwertial.
4118
3c0003c3
VS
41192013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4122
adb7d667
VS
41232013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4126
7cd0df84
VS
41272013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 New command `nativedisk'.
4130
02adbb93
VS
41312013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4134 * grub-core/loader/i386/bsd.c: Likewise.
4135
9fb0fd4f
VS
41362013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4139
bd69257a
VS
41402013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4143 grub_get_unaligned16 rather than shifts.
4144
178c2764
VS
41452013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * grub-core/kern/file.c: Use const char * rather than casting to
4148 non-const.
4149
eadfad24
VS
41502013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * grub-core/commands/probe.c: Add missing grub_device_close.
4153
9f73ebd4
VS
41542013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * INSTALL: Document linguas.sh.
4157
965fa829
VS
41582013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 Remove POTFILES.in and regenerate it in autogen.sh.
4161
d417ddc4
VS
41622013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 Move --directory/--override-directorry to grub-install_header and unify.
4165
f97ec546
VS
41662013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/term/morse.c: Macroify dih and dah.
4169
b2d7470c
PFS
41702013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4171
4172 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4173
141e2a78
VS
41742013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/term/ns8250.c: Systematically probe ports by writing
4177 to SR before using them.
4178
1dd70ebd
PFS
41792013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4180
4181 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4182 disks.
4183 (check_sas): Get sas_adress info.
4184
c796a107
VS
41852013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4188 ports.
4189
43168646
LD
41902013-04-27 Leon Drugi <eyak>
4191
4192 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4193 BSS clearing.
4194
e7b8fd08
VS
41952013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 Core compression test.
4198
17f9fd29
VS
41992013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 Implement grub_machine_get_bootlocation for ARC.
4202
dc2a6c8b
VS
42032013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 Improve AHCI detection and command issuing.
4206
f25a2ba6
VS
42072013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 Fix pseries test.
4210
a6393224
VS
42112013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 Make 'make check' work on emu.
4214
db99fbe8
VS
42152013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 Replace libcurses with our own vt100 handling for the ease of testing
4218 and decreasing prerequisites.
4219
b24ca7cd
VS
42202013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4223
63314aa4
VS
42242013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4227 compile when not needed.
4228
c1b00fff
VS
42292013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * tests/pseries_test.in: New test.
4232
f93e89ef
VS
42332013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 Add test to check that different boot mediums work.
4236
c4b456d3
VS
42372013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4240 ofw limited ISO support.
4241
5fe67f39
VS
42422013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * configure.ac: Fix loongson conditional.
4245
7f63a64f
VS
42462013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 Enable mipsel-arc.
4249
b04b5990
VS
42502013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 Add serial on ARC platform.
4253
88d2f302
VS
42542013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4257 commit.
4258
86eb23bc
VS
42592013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 * tests/partmap_test.in: Add missing double semicolon.
4262
eec3bb75
VS
42632013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * util/grub-mkrescue.in: Fix loongson filename.
4266
e0810df3
VS
42672013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * util/grub-mkrescue.in: Move all files that don't have a location
4270 set in stone under /boot/grub. Use ISO hard links rather than copies
4271 to save some space.
4272
65a6b30b
VS
42732013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4276 bogus SLOF values.
4277
6aff0107
VS
42782013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 Make check work on mips-arc.
4281
5e013e56
VS
42822013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * util/grub-mkrescue.in: Alias sashARCS as sash.
4285
d1989e2e
VS
42862013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4289 it's serial.
4290
1a25e72c
VS
42912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * util/grub-install.in: Fix target fo qemu_mips.
4294 Fix extension on EFI.
4295
a59a9826
VS
42962013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4299 in front of chosen entry to mark it even if highlighting is lost.
4300
1a40f80c
VS
43012013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4304 gfxpayload=keep if cbfb is active.
4305
e343549c
VS
43062013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4309
45fbd9a2
VS
43102013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 Add missing video ids to coreboot and ieee1275 video.
4313
ab1440bd
VS
43142013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * util/grub-mkrescue.in: Add mips-arc support.
4317
cdeb8324
VS
43182013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4321
8528c879
VS
43222013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 Move mips-arc link address. Previous link address was chosen
4325 in belief that RAM on SGI platforms grows down while in fact it
4326 grows up from an unusual base.
4327
17fca573
VS
43282013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4331 Fix a type which prevented CD-ROM and floppy boot.
4332
d178788e
VS
43332013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 Support coreboot framebuffer.
4336
4337 * grub-core/video/i386/coreboot/cbfb.c: New file.
4338
fe4c3e7e
VS
43392013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4340
4341 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4342 detecting too small regions.
4343
ec2dd179
VS
43442013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4347
872dac83
VS
43482013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4351 Remove dprintf.
4352 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4353
90ec4b7f
VS
43542013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4357 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4358 * grub-core/loader/powerpc/ieee1275/linux.c
4359 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4360
f32555dd
VS
43612013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4364 Look for /boot-rom as well as /rom/boot-rom.
4365
38649799
VS
43662013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4369 handling when creating text_layer failed.
4370 * grub-core/video/video.c (grub_video_create_render_target):
4371 Set result to 0 on error.
4372 (grub_video_delete_render_target): Do not dereference NULL.
4373
aeace7f7
VS
43742013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4377 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4378 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4379 (grub_linux_load64): Mask out 2 high bits.
4380
4eafa175
AB
43812013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4382
4383 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4384 more place.
4385
daaa64bd
VS
43862013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 Add support for pseries and other bootinfo machines to grub-mkrescue.
4389
4390 Tested by: Paulo Flabiano Smorigo.
4391
d0d2daa6
VS
43922013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * util/grub-mkrescue.in: Add GPT for EFI boot.
4395
b193e100
VS
43962013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4399 It improves performance in qemu.
4400
a0f8f3ac
VS
44012013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 * build-aux/snippet: Add missing gnulib files.
4404
284df0e2
AB
44052013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4406
4407 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4408
740201f3
AB
44092013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4410
4411 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4412
a7e03923
PJ
44132013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
44142013-04-15 Peter Jones <pjones@redhat.com>
4415
4416 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4417 sectors.
4418 Based on patch by Peter Jones.
4419
25fc51a8
VS
44202013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 Fix DMRAID partition handling.
4423
88017d47
VS
44242013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * tests/grub_cmd_date.in: Skip on sparc64.
4427
fa7d914e
VS
44282013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4431 firmware error messages.
4432
cbe57a48
VS
44332013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4436 source and destination differ.
4437
21aecce0
VS
44382013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4441 detection.
4442
25092d29
VS
44432013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4446 match config-util.h to avoid warnings and increase compatibility.
4447
79451522 44482013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 44492013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4450
4451 Add option to compress files on install/image creation.
4452
78b7d77b
VS
44532013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * docs/grub-dev.texi: Rearrange menu to match the section order.
4456 Reported by: Bryan Hundven.
4457
cc2fa5ec
VS
44582013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4461
b49fe879
VS
44622013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 Move GRUB out of system area when using xorriso 1.2.9 or later.
4465
5351da81
VS
44662013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 * tests/grub_cmd_date.in: Add missing exit 1.
4469
c9d586ea
VS
44702013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * tests/partmap_test.in: Skip on sparc64.
4473
3f729741
VS
44742013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 Support grub-shell on sparc64.
4477
8ca86b3a
VS
44782013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 Support mkrescue on sparc64.
4481
aa1af9bb
VS
44822013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4485 Needed on OpenBIOS due to incomplete device tree.
4486
ac4fea79
VS
44872013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4490 would be otherwise excluded.
4491
44922013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4493
4494 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4495 Inline name defines used only once.
4496
fe22b071
VS
44972013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 Fix memory leaks in ofnet.
4500 Reported by: Francesco Lavra.
4501
9d21381b
VS
45022013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * docs/man/grub-glue-efi.h2m: Add missing file.
4505
07aec23c
VS
45062013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4509
67ab8353
VS
45102013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 Better support Apple Intel Macs on CD.
4513
ba44ca6d
VS
45142013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 Replace stpcpy with grub_stpcpy in tools.
4517
bbdd6305
VS
45182013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 Handle Japanese special keys.
4521 Reported by: Hiroyuki YAMAMORI.
4522 Codes supplied by: Hiroyuki YAMAMORI.
4523
8573d302
VS
45242013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * util/grub-mkimage.c: Document memdisk implying --prefix.
4527
d70dbab7
VS
45282013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4531 much we can do about it anyway.
4532
51a4c3e3
AN
45332013-04-12 Aleš Nesrsta <starous@volny.cz>
4534
4535 Fix handling of split transfers.
4536
92c8f58d
VS
45372013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * grub-core/net/http.c: Fix bad free.
4540
b7d17a49
VS
45412013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4544 than buffer size.
4545
a3d566d4
VS
45462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4549
a936af56
VS
45502013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * tests/util/grub-shell.in: Fix it on powerpc.
4553
51212234
VS
45542013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 Turn off QEMU ACPI-way since new releases don't have shutdown port
4557 anymore.
4558
a21eec9e
VS
45592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * docs/grub.texi: Update coreboot status info.
4562
e3734b84
VS
45632013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * tests/grub_cmd_date.in: New test for datetime.
4566
f9d40055
VS
45672013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * tests/partmap_test.in: Fix missing qemudisk setting.
4570
dbc56d8f
VS
45712013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 Support i386-ieee1275 grub-mkrescue and make check on it.
4574
a79b8a15
VS
45752013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4578 feature for it.
4579
48f39bb4
VS
45802013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4583 GRUB_CMDLINE_XEN_DEFAULT.
4584 Reported by: Marc Warne (GigaTux) <gigatux>
4585
053cfcdd
VS
45862013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 Import new gnulib.
4589
93cd84df
VS
45902013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 Use ACPI shutdown intests as traditional port was removed.
4593
f4b1fa4f
AB
45942013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4595
4596 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4597 distinction.
4598
49818a59
VS
45992013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4602 Fix few warining messages and leaks while on it.
4603
9277a306
AB
46042013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4605
4606 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4607 links under grub-core/lib/libgcrypt-grub/mpi.
4608
d5e2a158
VS
46092013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 Fix ia64-efi image generation on big-endian machines. Deduplicate
4612 some code while on it.
4613 Reported by: Leif Lindholm.
4614
18866643
AB
46152013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4616
4617 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4618 as extra_dist.
4619
ca53deb8
AB
46202013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4621
4622 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4623
d4c4b8e1
BH
46242013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4625
4626 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4627 texinfo-5.1.
4628
47043f95
VS
46292013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * grub-core/normal/term.c: Few more fixes for menu entry editor
4632 rendering.
4633 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4634
a3216068
VS
46352013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/normal/term.c: Few more fixes for menu entry editor
4638 rendering.
4639 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4640
21026747
AB
46412013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4642
4643 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4644 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4645
59624ca8
AB
46462013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4647
4648 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4649 instead of hardcoding grub.mo.
4650
1f44478c
FN
46512013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4652
4653 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4654
eeada7b1
VS
46552013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4658 grub-core/disk/geli.c.
4659
132867de
VS
46602013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * util/grub-mkfont.c: Prefer enum to #define.
4663
de73de17
VS
46642013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4667
1865baa7
VS
46682013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4671
ce7d92a9
VS
46722013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
4675
52eab656
VS
46762013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
4679
98b23b95
VS
46802013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 * include/grub/bsdlabel.h: Use enums.
4683
0467a5dd
VS
46842013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 Move GRUB_CHAR_BIT to types.h.
4687
16cc9f03
AB
46882013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4689
4690 * docs/grub.texi: Document more user commands.
4691
3152aecb
AB
46922013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4693
4694 * docs/grub.texi: Document menuentry --id option.
4695
c506fc30
FL
46962013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
4697
4698 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
4699
aa428238
VS
47002013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 Unify file copying setup across different install scripts. Add
4703 options for performing partial install.
4704
efe0cdda
PJ
47052013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
47062013-04-04 Peter Jones <pjones@redhat.com>
4707
4708 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
4709
f75835bd
VS
47102013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 Use TSC as a possible time source on i386-ieee1275.
4713
2cd5ce6c
VS
47142013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
4717 Init err.
4718
c9625630
VS
47192013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * util/grub-setup.c (setup): Handle some corner cases.
4722
be008941
VS
47232013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
4726
1a78d573
VS
47272013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * grub-core/commands/verify.c: Save verified file to avoid it being
4730 tampered with after verification was done.
4731
db8ff59f
VS
47322013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
4735 reported width by one to compensate for curesor algorithm problem.
4736
91bf46b1
VS
47372013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 Fix screen corruption in menu entry editor and simplify the code
4740 flow while on it.
4741
a7b1d693
AB
47422013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
4743
4744 * util/grub-mount.c (fuse_init): Return error if fuse_main
4745 failed.
4746
31df9ad8
FL
47472013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
4748
4749 * include/grub/elf.h: Add missing ARM relocation codes and fix
4750 existing ones.
4751
07f392eb
VT
47522013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4753
4754 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
4755
9efd73ec 47562013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
47572013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
4760 into account when calculating radius.
4761
47622013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
4763
4764 * grub-core/gfxmenu/view.c: Fix off-by-one error.
4765
4985ddaa
VT
47662013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4767
4768 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
4769
8c3635ff
RS
47702013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4771
4772 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
4773 missing closing bracket.
4774
74a35e69
RS
47752013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4776
4777 * INSTALL: Mention xorriso requirement.
4778
40f1c000
AB
47792013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
4780
4781 * grub-core/commands/verify.c: Fix hash algorithms values for
4782 the first three hashes - they start with 1, not with 0.
4783
e75fdee4
VS
47842013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
4787 Try terminating EFI services several times due to quirks in some
4788 implementations.
4789
33028f4c
CW
47902013-03-26 Colin Watson <cjwatson@ubuntu.com>
4791
4792 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
4793 skipping Event, Device, Processor, PowerRes, ThermalZone, and
4794 BankField extended opcodes.
4795 (get_sleep_type): Add minimal scope handling (just enough to
4796 handle setting the scope to the root path).
4797 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
4798 * include/grub/acpi.h: Add enumeration values for Event, Device,
4799 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
4800
33871a10
VT
48012013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
4802
4803 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
4804 memory leak.
4805
8990963a
VS
48062013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/disk/ahci.c: Give more time for AHCI request.
4809
daae8f9e
VS
48102013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
4813 command.
4814
6a7fb94b
VS
48152013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 Replace the region at 0 from coreboot tables to available in BSD
4818 memory map.
4819
ff99babd
VS
48202013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
4823 non-BIOS platforms.
4824
30d6b1b2
VS
48252013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
4828 platforms.
4829
6ccd0b31
VS
48302013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
4833 handling of multi-device filesystems.
4834
23c9cc04
VS
48352013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
4838 platforms.
4839
ce50dbd7
VS
48402013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 Add new 'proc' filesystem framework and put luks_script into it.
4843
d975e8d5
VS
48442013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
4847 and qemu.
4848
e73ba5e8
VS
48492013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
4852
92750e4c
VS
48532013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 Add ability to generate newc additions on runtime.
4856
0ec45a68
VS
48572013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
4860 description.
4861
320abd43
VS
48622013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * po/POTFILES.in: Regenerate.
4865
d7a6506e
VS
48662013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * grub-core/commands/verify.c (hashes): Add several hashes
4869 from the spec.
4870
8fe05def
VS
48712013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 Slight improve in USB-related boot-time checkpoints.
4874
524e2766
VS
48752013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/commands/boottime.c: Fix copyright header.
4878
cc19857a
VS
48792013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
4882 coreboot tables content. Support for cbmemc.
4883
ef8810e9
VS
48842013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 Fix a conflict between ports structures with 2 controllers of
4887 same kind.
4888
e9dabdfa
VS
48892013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * include/grub/boottime.h: Add missing file.
4892
f6df57d2
VS
48932013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 Initialize USB ports in parallel to speed-up boot.
4896
d745dda7
VS
48972013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 Fix USB devices not being detected when requested
4900 due to delayed attach.
4901
e5a2dd7b
VS
49022013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4903
e744219b
VS
4904 Implement boot time analysis framework.
4905
49062013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
4909 descriptor to just receive it as argument rather than endpoint
4910 address.
4911
5dd6f587
VS
49122013-03-19 Aleš Nesrsta <starous@volny.cz>
4913
4914 Better estimate the maximum USB transfer size.
4915
2f1071d5
VS
49162013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 Resend a packet if we got the wrong buffer in status.
4919
46ecfc49
VS
49202013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
4923 multiplication rather than division.
4924
ea811130
VS
49252013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
4928 than divisions.
4929
d2789cf0
VS
49302013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
4933 operations to have intended shifts and not divisions.
4934
a9c94590
VS
49352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
4938 intended shifts rather than division.
4939
84cfe81b
VS
49402013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
4943 computation for some years before epoch. Avode confusing division
4944 while on it.
4945
21344ef6
VS
49462013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * grub-core/video/i386/pc/vbe.c
4949 (grub_video_vbe_print_adapter_specific_info): Replace division by
4950 shifts.
4951
3f2b4d1a
VS
49522013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 Adjust types in gdb module to have intended unsigned shifts rather than
4955 signed divisions.
4956
3dac5878
VS
49572013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
4960 maximum size is 4G - 1 on hfs
4961
5341c0fb
VS
49622013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
4965
fc3ff2a2
VS
49662013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
4969 function.
4970
81455e8e
AB
49712013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
4972
4973 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
4974 causing gcc error with gcc 4.7.1.
4975
efd4f117
NZ
49762013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4977
4978 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
4979 dereference null pointer. While the code is technically correct, gcc
4980 may eliminate a null check if pointer is already dereferenced.
4981
e11645f4
NZ
49822013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4983
4984 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
4985 OOM check.
4986 * grub-core/normal/term.c (read_terminal_list): Likewise.
4987
77468368
VS
49882013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 Lift up core size limits on some platforms. Fix potential memory
4991 corruption with big core on small memory systems. Document remaining
4992 limits.
4993
f6b58fe5
VS
49942013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
4997 gotoxy to 0,0.
4998
19ce697d
VS
49992013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 Remove all trampoline support. Add -Wtrampolines when
5002 present. Remove symbols used for trampolines to make
5003 link fail if trampolines are present.
5004
73b5d90f
VS
50052013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5008 append out of its parent.
5009
cb758e96
VS
50102013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5013 parent.
5014
3188131f
VS
50152013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5018 all vars to a macro. All users updated.
5019
e42b2514
VS
50202013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5023 i386-ieee1275.
5024
83e1a1a1
VS
50252013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5028
1d5a880f
VS
50292013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5032
6e4146c4
VS
50332013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 Move to more hookless approach in IEEE1275 devices handling.
5036
99fcda8a
VS
50372013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * grub-core/kern/term.c (grub_term_normal_color),
5040 (grub_term_highlight_color): Add back lost defaults.
5041
73bf57e2
VS
50422013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 Make elfload not use hooks. Opt for flags and iterators instead.
5045
7f8c105f
VS
50462013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5049 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5050
396d4091
VS
50512013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5054
50552013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5058 hook pass-through parameter. All users updated and unnested.
5059
74a27421
VS
50602013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5063 out of its parent.
5064
b46d4213
VS
50652013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 * grub-core/fs/hfs.c: Remove nested functions.
5068
e114c3cc
VS
50692013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5072 the context through.
5073 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5074
f9b7d780
VS
50752013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * util/grub-editenv.c (list_variables): Move print_var out of its
5078 parent.
5079
ca9c2608
VS
50802013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5083 function.
5084
5d983f5f
VS
50852013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * grub-core/gentrigtables.c: Make tables const.
5088
3056d3e7
VS
50892013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 Remove nested functions from videoinfo iterators.
5092
e2303774
VS
50932013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5096 for 64-bit platforms.
5097
f42e3a2f
VS
50982013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5101 a FOR_CHILDREN macro.
5102
be174e5e
VS
51032013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5106 platform from firmware path.
5107
0789b672
VS
51082013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 Enable linux16 on non-BIOS systems for i.a. memtest.
5111
5112 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5113 correctly.
5114 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5115
005a9c32
VS
51162013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5119 Fix end of table condition.
5120
ff2b3cd9
VS
51212013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5124 out of its parent.
5125
4fc40ff8
VS
51262013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/fs/jfs.c: Remove nested functions.
5129
be42d97a
VS
51302013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * grub-core/fs/minix.c: Remove nested functions.
5133
99373ce4
VS
51342013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * grub-core/fs/iso9660.c: Remove nested functions.
5137
5aec2afe
VS
51382013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5141 of parent function.
5142
6c69e691
VS
51432013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * util/grub-fstest.c: Remove nested functions.
5146
43c91882
VS
51472013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * grub-core/loader/machoXX.c: Remove nested functions.
5150
4eb8b756
CW
51512013-02-27 Colin Watson <cjwatson@ubuntu.com>
5152
5153 Remove nested functions from disk and file read hooks.
5154
5155 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5156 (struct grub_disk): Add read_hook_data member.
5157 * include/grub/file.h (struct grub_file): Likewise.
5158 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5159 argument.
5160
5161 Update all callers.
5162
df6da5a5
AB
51632012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5164
5165 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5166 Fix off by one error in enumerating extended partitions.
5167
21aecde5
AB
51682013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5169
5170 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5171 memory leak if device name is not found.
5172
f1a19118
AB
51732013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5174
5175 * grub-core/normal/menu_entry.c (update_screen): remove
5176 unused variable `off' which caused scroll down arrow to be always shown.
5177
958bfd20
AB
51782013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5179
5180 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5181 access to unallocated memory.
5182
b7b78edb
AB
51832013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5184
5185 * Makefile.util.def: Add partmap/msdos.c to common library.
5186 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5187 * grub-core/disk/ldm.c: Check for existence of
5188 GRUB_PC_PARTITION_TYPE_LDM.
5189
28d468d6
VS
51902013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5193 sizes and display sector size.
5194
d55ffb02
VS
51952013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 Implement new command cmosdump.
5198
b5ea6ce0
VS
51992013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5200
5201 Support Openfirmware disks with non-512B sectors.
5202
5203 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5204 size of the disk.
5205 * (grub_ofdisk_get_block_size): New function.
5206 * (grub_ofdisk_prepare): Use the correct block size.
5207 * (grub_ofdisk_read): Likewise.
5208 * (grub_ofdisk_write): Likewise.
5209 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5210 New proto.
5211
cc0e476f
VS
52122013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5215
c5dbdc33
VS
52162013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5219 on first error.
5220
3f078c0f
VS
52212013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5224 freeing it.
5225
66a93674
VS
52262013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5227
5228 Implement USBDebug (full USB stack variant).
5229
c9f0c134
VS
52302013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5233 unless they have unexpected values.
5234
cfe1288b
VS
52352013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5238 grub_print_error.
5239
e42b9969
VS
52402013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5243 zero-out of port structure.
5244
cf94fd62
VS
52452013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5248 of extended attributes.
5249
f81ef4b5
AB
52502013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5251
5252 * util/grub-install.in: change misleading comment about
5253 device.map creation
5254
af18fdb4
VS
52552013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5258 when menu highlight color isn't set.
5259
08bcec50
M
52602013-01-27 C. Masloch <pushbx@38.de>
5261
5262 Improve FreeDOS direct loading support compatibility.
5263
5264 * include/grub/i386/relocator.h (grub_relocator16_state):
5265 New member ebp.
5266 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5267 variable.
5268 (grub_relocator16_boot): Handle %ebp.
5269 * grub-core/lib/i386/relocator16.S: Likewise.
5270 * grub-core/loader/i386/pc/freedos.c:
5271 Load BPB to pass kernel which partition to load from.
5272 Check that kernel file is not too large.
5273 Set register dl to BIOS unit number as well.
5274
7782b8a6
CW
52752013-01-22 Colin Watson <cjwatson@ubuntu.com>
5276
5277 * util/grub-reboot.in (usage): Document the need for
5278 GRUB_DEFAULT=saved.
5279 * util/grub-set-default.in (usage): Likewise.
5280 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5281
e661c180
VS
52822013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5285 than defining WORDS_BIGENDIAN manually.
5286
1c22ca9a
VS
52872013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5290 invariants.
5291
d44892fe
CW
52922013-01-21 Colin Watson <cjwatson@ubuntu.com>
5293
5294 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5295 nested.
5296 (blit_comb: add_device_width): Likewise.
5297
5fdbaed1
CW
52982013-01-21 Colin Watson <cjwatson@ubuntu.com>
5299
5300 Remove nested functions from USB iterators.
5301
5302 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5303 (grub_usb_controller_iterate_hook_t): Likewise.
5304 (grub_usb_iterate): Add hook_data argument.
5305 (grub_usb_controller_iterate): Likewise.
5306 (struct grub_usb_controller_dev.iterate): Likewise.
5307
5308 Update all implementations and callers.
5309
4250985a
VS
53102013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5313 margin when not needed.
5314
7d8848f3
VS
53152013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5316
bc136973 5317 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5318
53192013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5320
bc136973
VS
5321 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5322 asterisk.
7d8848f3 5323
ed12a003
CW
53242013-01-21 Colin Watson <cjwatson@ubuntu.com>
5325
5326 Fix powerpc and sparc64 build failures caused by un-nesting memory
5327 map iterators.
5328
6a0db449
CW
53292013-01-21 Colin Watson <cjwatson@ubuntu.com>
5330
5331 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5332 parameter declarations.
5333
ccd86b21
VS
53342013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5337
822b726b
VS
53382013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 Improve spkmomdem reliability by adding a separator between bytes.
5341
115c2cc1
CW
53422013-01-21 Colin Watson <cjwatson@ubuntu.com>
5343
5344 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5345 an Acer registration utility with several sightings in the wild.
5346 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5347
fc524edf
CW
53482013-01-21 Colin Watson <cjwatson@ubuntu.com>
5349
5350 Remove nested functions from filesystem directory iterators.
5351
5352 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5353 (struct grub_fs.dir): Add hook_data argument.
5354
5355 Update all implementations and callers.
5356
53d3e4e3
CW
53572013-01-21 Colin Watson <cjwatson@ubuntu.com>
5358
5359 * docs/grub.texi (Multi-boot manual config): Fix typo for
5360 "recommended".
5361
c821711f
LL
53622013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5363
5364 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5365 until after its use in generate_image.
5366
6a0debbd
CW
53672013-01-20 Colin Watson <cjwatson@ubuntu.com>
5368
5369 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5370 initrd size to addr_min, since the initrd will be allocated after
5371 this address.
5372
f41e08db
AB
53732013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5374
5375 * conf/Makefile.common: Fix autogen rules to pass definition
5376 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5377
77529e0f
LL
53782013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5379
5380 * include/grub/elf.h: Update ARM definitions based on binutils.
5381
b879aa7b
VS
53822013-01-20 Aleš Nesrsta <starous@volny.cz>
5383
5384 Split long USB transfers into short ones.
5385
8eb8284d
AB
53862013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5387
5388 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5389 is interrupted by ESC.
5390
08dad2dc
VS
53912013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 * util/grub-script-check.c (main): Uniform the error message.
5394
6c724b85
CW
53952013-01-20 Colin Watson <cjwatson@ubuntu.com>
5396
5397 Remove nested functions from ELF iterators.
5398
25239370
CW
53992013-01-20 Colin Watson <cjwatson@ubuntu.com>
5400
5401 Remove nested functions from device iterators.
5402
5403 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5404 (grub_arc_iterate_devs): Add hook_data argument.
5405 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5406 (struct grub_ata_dev.iterate): Add hook_data argument.
5407 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5408 (grub_device_iterate): Add hook_data argument.
5409 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5410 (struct grub_disk_dev.iterate): Add hook_data argument.
5411 (grub_disk_dev_iterate): Likewise.
5412 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5413 Likewise.
5414 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5415 Likewise.
5416 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5417 type.
5418 (struct grub_partition_map.iterate): Add hook_data argument.
5419 (grub_partition_iterate): Likewise.
5420 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5421 (struct grub_scsi_dev.iterate): Add hook_data argument.
5422
5423 Update all callers.
5424
6c0314d6
CW
54252013-01-20 Colin Watson <cjwatson@ubuntu.com>
5426
5427 Fix typos for "developer" and "development".
5428
600dc5f1
VS
54292013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 Add license header to spkmodem-recv.c.
5432
17334a6b
VS
54332013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 Rewrite spkmodem to use PIT for timing. Double the speed.
5436
7d462559
VS
54372013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5438
5439 Add new command pcidump.
5440
b78d6c32
VS
54412013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 New terminal outputs using serial: morse and spkmodem.
5444
34f71cb8
VS
54452013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 Improve bidi handling in entry editor.
5448
4542e71b
VS
54492013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5452 argument to prevent name collision.
5453
09fd6d82
CW
54542013-01-15 Colin Watson <cjwatson@ubuntu.com>
5455
5456 Remove nested functions from script reading and parsing.
5457
5458 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5459 getline_data argument, passed to getline.
5460 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5461 getline_data argument, passed to grub_parser_split_cmdline.
5462 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5463 lexerstate->getline_data to lexerstate->getline.
5464 (grub_script_lexer_init): Add getline_data argument, saved in
5465 lexerstate->getline_data.
5466 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5467 argument, passed to grub_script_parse.
5468 * grub-core/script/script.c (grub_script_parse): Add getline_data
5469 argument, passed to grub_script_lexer_init.
5470 * include/grub/parser.h (grub_parser_split_cmdline): Update
5471 prototype. Update all callers to pass appropriate getline data.
5472 (struct grub_parser.parse_line): Likewise.
5473 (grub_rescue_parse_line): Likewise.
5474 * include/grub/reader.h (grub_reader_getline_t): Add void *
5475 argument.
5476 * include/grub/script_sh.h (struct grub_lexer_param): Add
5477 getline_data member.
5478 (grub_script_parse): Update prototype. Update all callers to pass
5479 appropriate getline data.
5480 (grub_script_lexer_init): Likewise.
5481 (grub_normal_parse_line): Likewise.
5482
5483 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5484 data argument.
5485 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5486 static instead of nested. Rename to ...
5487 (grub_parser_execute_getline): ... this.
5488 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5489 data argument.
5490 * grub-core/normal/main.c (read_config_file: getline): Make static
5491 instead of nested. Rename to ...
5492 (read_config_file_getline): ... this.
5493 (grub_normal_read_line): Add unused data argument.
5494 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5495 getline): Make static instead of nested. Rename to ...
5496 (grub_script_execute_sourcecode_getline): ... this.
5497 * util/grub-script-check.c (main: get_config_line): Make static
5498 instead of nested.
5499
d0d4b8a0
CW
55002013-01-15 Colin Watson <cjwatson@ubuntu.com>
5501
5502 Remove nested functions from memory map iterators.
5503
5504 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5505 argument, passed to hook.
5506 * grub-core/kern/i386/coreboot/mmap.c
5507 (grub_linuxbios_table_iterate): Likewise.
5508 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5509 instead of nested.
5510 (grub_machine_mmap_iterate): Add hook_data argument.
5511 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5512 Add hook_data argument, passed to hook.
5513 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5514 Likewise.
5515 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5516 Likewise.
5517 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5518 Likewise.
5519 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5520 Likewise.
5521 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5522 Likewise.
5523 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5524 Likewise.
5525 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5526 (grub_machine_mmap_iterate): Likewise.
5527 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5528 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5529 prototype.
5530 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5531 Remove NESTED_FUNC_ATTR from here and from all users.
5532 (grub_mmap_iterate): Update prototype.
5533 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5534 pass appropriate hook data.
5535 (grub_machine_mmap_iterate): Likewise.
5536
5537 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5538 static instead of nested.
5539 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5540 Rename to ...
5541 (lsmmap_hook): ... this.
5542 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5543 Likewise.
5544 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5545 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5546 heap_init): Likewise.
5547 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5548 Rename to ...
5549 (mmap_iterate_hook): ... this.
5550 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5551 Likewise.
5552 * grub-core/lib/ieee1275/relocator.c
5553 (grub_relocator_firmware_get_max_events: count): Likewise.
5554 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5555 to ...
5556 (grub_relocator_firmware_fill_events_iter): ... this.
5557 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5558 hook): Likewise. Rename to ...
5559 (grub_relocator_alloc_chunk_align_iter): ... this.
5560 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5561 Rename to ...
5562 (generate_e820_mmap_iter): ... this.
5563 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5564 Rename to ...
5565 (count_hook): ... this.
5566 (grub_linux_boot: hook): Likewise. Rename to ...
5567 (grub_linux_boot_mmap_find): ... this.
5568 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5569 (grub_linux_boot_mmap_fill): ... this.
5570 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5571 hook): Likewise. Rename to ...
5572 (grub_fill_multiboot_mmap_iter): ... this.
5573 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5574 hook): Likewise. Rename to ...
5575 (count_hook): ... this.
5576 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5577 hook): Likewise. Rename to ...
5578 (grub_fill_multiboot_mmap_iter): ... this.
5579 * grub-core/loader/powerpc/ieee1275/linux.c
5580 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5581 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5582 Likewise. Rename to ...
5583 (alloc_phys_choose): ... this.
5584 (determine_phys_base: get_physbase): Likewise.
5585 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5586 find_hook): Likewise.
5587 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5588 (malloc_hook: count_hook): Likewise.
5589 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5590 Likewise. Rename to ...
5591 (lower_hook): ... this.
5592 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5593 (upper_hook): ... this.
5594 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5595 (post64_hook): ... this.
5596 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5597 Likewise. Rename to ...
5598 (lower_hook): ... this.
5599 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5600 (upper_hook): ... this.
5601 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5602 (grub_mmap_iterate: fill_hook): Likewise.
5603 (fill_mask): Pass addr and mask within a single struct.
5604 (grub_cmd_badram: hook): Make static instead of nested. Rename
5605 to ...
5606 (badram_iter): ... this.
5607 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5608 (cutmem_iter): ... this.
5609
22099030
VS
56102013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5613 delimit path in strings using quotes.
5614 * util/getroot.c (grub_guess_root_devices): Likewise.
5615 (grub_make_system_path_relative_to_its_root): Likewise.
5616 * util/grub-probe.c (probe): Likewise.
5617 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5618 (xrealpath): Likewise.
5619
4a9950ec
VS
56202013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 Fix compilation with older compilers.
5623
5624 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5625 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5626 declarations.
5627 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5628 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5629 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5630 identifier with b.
5631 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5632 * include/grub/crypto.h: Add type defines.
5633 * util/import_gcrypth.sed: Remove duplicate type defines.
5634
adcc6020
VS
56352013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 New command list_trusted.
5638
5639 * grub-core/commands/verify.c (grub_cmd_list): New function.
5640
a4528937
CW
56412013-01-13 Colin Watson <cjwatson@ubuntu.com>
5642
5643 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5644 info message.
5645
ca3a7446
CW
56462013-01-13 Colin Watson <cjwatson@ubuntu.com>
5647
5648 Remove nested functions from PCI iterators.
5649
5650 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5651 passed to hook. Update all callers to pass appropriate hook data.
5652 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5653 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5654 Remove NESTED_FUNC_ATTR from here and from all users.
5655 (grub_pci_iterate): Update prototype.
5656 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5657 instead of nested. Rename to ...
5658 (grub_cs5536_find_iter): ... this.
5659 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5660 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5661 Likewise.
5662 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5663 Likewise.
5664 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5665 Likewise.
5666 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5667 Likewise.
5668 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5669 * grub-core/video/radeon_fuloong2e.c
5670 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5671 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5672 find_card): Likewise.
5673 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
5674 Likewise.
5675
f8e98fee
VS
56762013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/commands/verify.c: Mark messages for translating.
5679
055b36b6
VS
56802013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
5683 fatal.
5684
f7ff879b
VS
56852013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
5688 fatal.
5689
56902013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
5691
5692 * autogen.sh: Do not try to delete nonexistant files.
5693 * util/import_gcrypth.sed: Add some missing header removals.
5694
01323d49
CW
56952013-01-12 Colin Watson <cjwatson@ubuntu.com>
5696
5697 Clean up dangling references to grub-setup.
5698 Fixes Ubuntu bug #1082045.
5699
5700 * docs/grub.texi (Images): Refer generally to grub-install rather
5701 than directly to grub-setup.
5702 (Installing GRUB using grub-install): Remove direct reference to
5703 grub-setup.
5704 (Device map) Likewise.
5705 (Invoking grub-install): Likewise.
5706 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5707 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5708 * util/grub-install.in (usage): Likewise.
5709
5710 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
5711 Apply to grub-bios-setup and grub-sparc64-setup rather than to
5712 grub-setup.
5713 * configure.ac: Remove grub_setup output variable.
5714
5715 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
5716 to grub-bios-setup.
5717 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
5718 grub-setup to grub-sparc64-setup.
5719
5e3b8dcb
VS
57202013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 Import gcrypt public-key cryptography and implement signature checking.
5723
535714bd
VS
57242013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/fs/ntfs.c: Ue more appropriate types.
5727 * grub-core/fs/ntfscomp.c: Likewise.
5728 * include/grub/ntfs.h: Likewise.
5729
3e4f3566
VS
57302013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 Support Apple FAT binaries on non-Apple platforms.
5733
5734 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
5735 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
5736 Likewise.
5737 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
5738 Apple FAT binaries.
5739
4dedb13f
VS
57402013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
5743 sector devices.
5744
f8861eaf
CW
57452013-01-07 Colin Watson <cjwatson@ubuntu.com>
5746
5747 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
5748 explicitly zeroing elements.
5749 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
5750 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
5751 of elements in a structure already allocated using grub_zalloc.
5752 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5753
86065b0a
CW
57542013-01-07 Colin Watson <cjwatson@ubuntu.com>
5755
5756 * docs/grub.texi (grub_cpu): New subsection.
5757 (grub_platform): Likewise.
5758
c6f1e92f
VS
57592013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
5762
f797ec85
VS
57632013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
5766 divisions.
5767
033d0b4b
VS
57682013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
5771 * grub-core/fs/ntfscomp.c: Likewise.
5772 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
5773 (grub_ntfs_comp): Likewise.
5774
21d1b9a0
VS
57752013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
5778 Rename to ...
5779 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
5780 of groups_per_block. All users updated.
5781
10ca8645
VS
57822013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
5785 grub_error properly.
5786 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
5787 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
5788
a4c3ed4c
VS
57892013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
5792 always in /boot/zfs.
5793 Reported by: Yuta Satoh.
5794
0b716507
YS
57952013-01-03 Yuta Satoh <nigoro>
5796
5797 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
5798 ${grub_probe}
5799
00c05e22
VS
58002013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 * configure.ac: Extend -Wno-trampolines to host.
5803
dadddb76
VS
58042013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
5807 entry->len = 0.
5808
54ce53ca
CW
58092013-01-03 Colin Watson <cjwatson@ubuntu.com>
5810
5811 * docs/grub.texi (Invoking grub-mkrelpath): New section.
5812 (Invoking grub-script-check): Likewise.
5813
8912efca
CW
58142013-01-03 Colin Watson <cjwatson@ubuntu.com>
5815
5816 * docs/grub.texi (Invoking grub-mount): New section.
5817 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
5818
c3fc8394
CW
58192013-01-02 Colin Watson <cjwatson@ubuntu.com>
5820
5821 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
5822 test failures, so that a failing unit test correctly causes 'make
5823 check' to fail.
5824
45d26abb
CW
58252013-01-02 Colin Watson <cjwatson@ubuntu.com>
5826
5827 Fix failing printf test.
5828
5829 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
5830 '$' in the correct order when collecting type information.
5831
971dd2c6
CW
58322013-01-02 Colin Watson <cjwatson@ubuntu.com>
5833
5834 * docs/grub.texi (configfile): Explain environment variable
5835 handling.
5836 (source): New section.
5837 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
5838
5c67ea6c
CW
58392012-12-31 Colin Watson <cjwatson@ubuntu.com>
5840
5841 Remove several trivially-unnecessary uses of nested functions.
5842
5843 * grub-core/commands/i386/pc/sendkey.c
5844 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
5845 instead of nested.
5846 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
5847 Rename to ...
5848 (legacy_file_getline): ... this.
5849 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
5850 Likewise.
5851 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
5852 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
5853 to ...
5854 (probe_dummy_iter): ... this.
5855 * grub-core/kern/i386/coreboot/mmap.c
5856 (grub_linuxbios_table_iterate: check_signature): Likewise.
5857 * grub-core/kern/parser.c (grub_parser_split_cmdline:
5858 check_varstate): Likewise. Mark inline.
5859 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
5860 an additional parameter.
5861 (find_long: fnd_long): Likewise. Pass two additional parameters.
5862 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
5863 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
5864 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
5865 Likewise. Rename to ...
5866 (grub_cmos_find_port_iter): ... this.
5867 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
5868 Rename to ...
5869 (find_rtc_iter): ... this.
5870
5871 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
5872 function directly into the function body, since it is only called
5873 once.
5874
33a68ac6
CW
58752012-12-30 Colin Watson <cjwatson@ubuntu.com>
5876
5877 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
5878 __attribute__ ((unused)).
5879 * grub-core/video/bochs.c (find_card): Likewise.
5880 * grub-core/video/cirrus.c (find_card): Likewise.
5881 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
5882 * grub-core/video/sis315pro.c (find_card): Likewise.
5883 * grub-core/video/sm712.c (find_card): Likewise.
5884
608b647a
CW
58852012-12-28 Colin Watson <cjwatson@ubuntu.com>
5886
5887 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
5888 Fixes Savannah bug #37821.
5889
fd49ceb3
CW
58902012-12-28 Colin Watson <cjwatson@ubuntu.com>
5891
5892 Apply program name transformations at build-time rather than at
5893 run-time. Fixes Debian bug #696465.
5894
5895 * acinclude.m4 (grub_TRANSFORM): New macro.
5896 * configure.ac: Create output variables with transformed names for
5897 most programs.
5898 * util/bash-completion.d/grub-completion.bash.in: Use
5899 pre-transformed variables for program names.
5900 * util/grub-install.in: Likewise.
5901 * util/grub-kbdcomp.in: Likewise.
5902 * util/grub-mkconfig.in: Likewise.
5903 * util/grub-mkconfig_lib.in: Likewise.
5904 * util/grub-mknetdir.in: Likewise.
5905 * util/grub-mkrescue.in: Likewise.
5906 * util/grub-mkstandalone.in: Likewise.
5907 * util/grub-reboot.in: Likewise.
5908 * util/grub-set-default.in: Likewise.
5909 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5910 * tests/util/grub-shell-tester.in: Remove unused assignment.
5911 * tests/util/grub-shell.in: Likewise.
5912 * util/grub.d/00_header.in: Likewise.
5913
7024b3c0
CW
59142012-12-28 Colin Watson <cjwatson@ubuntu.com>
5915
5916 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
5917
5918 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
5919 HAVE_RAW_DECL_GETS.
5920 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
5921
e3501b13
VS
59222012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
5925 Reported by: Eriks Latosheks <foresterlv>.
5926
b40c88a9
VS
59272012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 * docs/grub.texi (Network): Update instructions on generating netboot
5930 image.
5931
ce96d01c
VS
59322012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
5935 around device name if necessarry.
5936
0f596201
PFS
59372012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5938
5939 * util/grub-install.in: Follow the symbolic link parameter added
5940 to the file command.
5941
600d5bdb
AB
59422012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
5943
5944 * util/grub-install.in: Remove stale TODO.
5945
64ebd2f4
PFS
59462012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5947
5948 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
5949 dynamic allocation for the bootpath buffer.
5950
74b2fe3e
DTB
59512012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
5952
5953 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
5954 window too small.
5955
969b804f
VS
59562012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
5959 argument rather than font name. All users updated.
5960 (grub_gfxterm_set_window): Likewise.
5961
b9f5ebd6
VT
59622012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
5963
5964 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
5965 from working.
5966
258f43b7
VS
59672012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * util/getroot.c (convert_system_partition_to_system_disk): Support
5970 nbd disks.
5971
cc1ce5f9
VS
59722012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
5975 infinite loop on corrupted FS.
5976
e77a16ca
VS
59772012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 Fix big-endian mtime.
5980
5981 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
5982 together sec and usec.
5983 (grub_ufs_dir): Use correct byteswapping for UFS time.
5984
d9c48c7b
VS
59852012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 Support big-endian UFS1.
5988
5989 * Makefile.util.def (libgrubmods): Add ufs_be.c
5990 * grub-core/Makefile.core.def (ufs1_be): New module.
5991 * grub-core/fs/ufs_be.c: New file.
5992 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
5993 the file.
5994
2f9f40ba
LL
59952012-11-28 Leif Lindholm <leif.lindholm@arm.com>
5996
5997 * include/grub/types.h: Fix functionality unaffecting typo in
5998 GRUB_TARGET_WORDSIZE conditional macro.
5999
48ff0889
PFS
60002012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6001
6002 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6003
03711240
GS
60042012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6005
6006 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6007 that /netbsd appears first (when it exists).
6008
a31b11bd
CJ
60092012-10-12 Christoph Junghans <ottxor@gentoo.org>
6010
6011 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6012 Fixes Savannah bug #37558.
6013
e8a5d5d4
CW
60142012-10-12 Colin Watson <cjwatson@ubuntu.com>
6015
6016 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6017 description of extract_entries_configfile.
6018
60192012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6020
6021 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6022 preferred_address.
6023 (grub_cmd_linux): Likewise.
6024 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6025 preferred_lifetime. Update all users.
6026
288c757d
CW
60272012-09-26 Colin Watson <cjwatson@ubuntu.com>
6028
6029 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6030 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6031
0d35da3f
CW
60322012-09-26 Colin Watson <cjwatson@ubuntu.com>
6033
6034 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6035 errors from grub-probe to /dev/null, not stdout.
6036
b78c3127
VS
60372012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6040 sector 1.
6041
473959f0
CW
60422012-09-24 Colin Watson <cjwatson@ubuntu.com>
6043
6044 * util/grub-install.in: Make the error message if $source_dir
6045 doesn't exist more useful.
6046
794c8c33
CW
60472012-09-22 Colin Watson <cjwatson@ubuntu.com>
6048
6049 Fix grub-emu build on FreeBSD.
6050
6051 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6052 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6053 headers on Linux.
6054 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6055 implementation is currently Linux-specific.
6056 * util/getroot.c (exec_pipe): Define only on Linux or when either
6057 libzfs or libnvpair is unavailable.
6058 (find_root_devices_from_poolname): Remove unused path variable.
6059
86d08fdb
CW
60602012-09-19 Colin Watson <cjwatson@ubuntu.com>
6061
6062 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6063 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6064 should fit before end == 63.
6065
735abf54
CW
60662012-09-19 Colin Watson <cjwatson@ubuntu.com>
6067
6068 * util/grub-setup.c (write_rootdev): Remove unused core_img
6069 parameter. Update all callers.
6070 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6071 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6072 GRUB_SETUP_BIOS.
6073
140acd3c
VS
60742012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6077 (grub_add_tab): New function.
6078 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6079 * util/grub.d/10_illumos.in: Likewise.
6080 * util/grub.d/10_kfreebsd.in: Likewise.
6081 * util/grub.d/10_linux.in: Likewise.
6082 * util/grub.d/10_netbsd.in: Likewise.
6083 * util/grub.d/10_windows.in: Likewise.
6084 * util/grub.d/10_xnu.in: Likewise.
6085 * util/grub.d/20_linux_xen.in: Likewise.
6086 * util/grub.d/30_os-prober.in: Likewise.
6087
7ddffdad
VS
60882012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6091 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6092 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6093 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6094 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6095 ieee1275-nocursor.
6096 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6097 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6098
4e092454
VS
60992012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6102 le-conversion.
6103 Reported by: BURETTE, Bernard.
6104
735abf54 61052012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6106
6107 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6108 from comment.
6109
dfd39dbd
CW
61102012-09-14 Colin Watson <cjwatson@ubuntu.com>
6111
6112 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6113 IEEE1275 machines. Fixes powerpc-emu compilation.
6114 * include/grub/terminfo.h: Likewise.
6115
3bfa763c
VS
61162012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6119 a const pointer.
6120 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6121 const pointer.
6122 (efiemu_set_variable): Make vendor_guid a const pointer.
6123
250e475b
VS
61242012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 Don't require grub-mkconfig_lib to generate manpages for programs.
6127
6128 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6129 dependencies, don't add grub-mkconfig_lib.
6130 (program): Pass empty adddeps.
6131 (script): Pass grub-mkconfig_lib as adddeps.
6132
592fd0e4
VS
61332012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6136 * util/getroot.c (grub_find_device): Likewise.
6137 (get_mdadm_uuid): Likewise.
6138 (grub_util_is_imsm): Likewise.
6139 (grub_util_pull_device): Likewise.
6140 * util/grub-probe.c (probe): Likewise.
6141
801a3027
BG
61422012-09-10 Benoit Gschwind <gschwind>
6143
6144 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6145 (devs): Add devpath_8.
6146
c5052c81
PJ
61472012-09-08 Peter Jones <pjones@redhat.com>
6148
6149 * grub-core/Makefile.core.def (efifwsetup): New module.
6150 * grub-core/commands/efi/efifwsetup.c: New file.
6151 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6152 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6153 New define.
6154 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6155
8e832f71
JS
61562012-09-05 Jiri Slaby <jslaby@suse.cz>
6157
6158 * configure.ac: Add SuSe path.
6159
f0f55752
CW
61602012-09-05 Colin Watson <cjwatson@ubuntu.com>
6161
6162 * NEWS: Fix typo.
6163
ecadc4c2
CW
61642012-09-05 Colin Watson <cjwatson@ubuntu.com>
6165
6166 * util/import_gcry.py: Sort cipher_files, to make build system
6167 generation more deterministic.
6168
64498f25
VS
61692012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6172 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6173 (grub_set_datetime): Likewise.
6174
9cc836a2
VS
61752012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6178 warnings.
6179
bcfcea01
VS
61802012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6183
a4099485
VS
61842012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6187
265c162a
CW
61882012-09-04 Colin Watson <cjwatson@ubuntu.com>
6189
6190 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6191 required for checkouts from bzr, but it may be useful for users or
6192 distributors wishing to update translations against a tarball
6193 distribution, and it can be helpful for the tarball to be a superset
6194 of what's in bzr.
6195
3d171e95
CW
61962012-09-04 Colin Watson <cjwatson@ubuntu.com>
6197
6198 * Makefile.am (EXTRA_DIST): Add
6199 grub-core/tests/boot/linux.init-mips.S,
6200 grub-core/tests/boot/linux.init-ppc.S, and
6201 grub-core/tests/boot/linux-ppc.cfg.
6202
f2c2503e
CW
62032012-09-04 Colin Watson <cjwatson@ubuntu.com>
6204
6205 * grub-core/mmap/mips/loongson: Remove empty directory.
6206
62072012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6208
6209 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6210 gone.
6211
ab2163d5
CW
62122012-09-04 Colin Watson <cjwatson@ubuntu.com>
6213
6214 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6215 grub-sparc64-setup.
6216
ce938140
GS
62172012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6218
6219 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6220
529f58a5
GS
62212012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6222
6223 * po/POTFILES.in: Regenerated.
6224
16cf79e9
GS
62252012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6226
6227 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6228 (NetBSD): New subsection.
6229
39b27f1e 62302012-07-22 Ales Nesrsta <starous@volny.cz>
6231
6232 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6233 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6234
a885261b
VS
62352012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6238 * util/grub.d/10_hurd.in: Add missing quoting.
6239 * util/grub.d/10_illumos.in: Likewise.
6240 * util/grub.d/10_kfreebsd.in: Likewise.
6241 * util/grub.d/10_linux.in: Likewise.
6242 * util/grub.d/20_linux_xen.in: Likewise.
6243
7bd29c01
VS
62442012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 New command `lsefi'.
6247
6248 * grub-core/Makefile.core.def (lsefi): New module.
6249 * grub-core/commands/efi/lsefi.c: New file.
6250 * include/grub/efi/api.h: Add more GUIDs.
6251
ac625d8f
VS
62522012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6255 (grub_bsd_elf32_hook): Likewise.
6256 (grub_bsd_elf64_size_hook): Likewise.
6257 (grub_bsd_elf64_hook): Likewise.
6258 (grub_bsd_load_elf): Likewise.
6259
e73bb801
VS
62602012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6263 if hash function is unavailable.
6264 (dec_stream_header): Likewise.
6265
e81db8b5
VS
62662012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6269 filter state.
6270
d187a1c3
VS
62712012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 Fix coreboot compilation.
6274
6275 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6276 (grub_vga_text_init_real): ... this.
6277 (grub_vga_text_fini): Rename to ...
6278 (grub_vga_text_fini_real): ... this.
6279
91a05f64
VS
62802012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6283
6af96df7
VS
62842012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * grub-core/lib/legacy_parse.c: Support clear and testload.
6287
4d569e12
VS
62882012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6291
073b57bb
VS
62922012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6295
a706f4cc
VS
62962012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * grub-core/net/tftp.c (ack): Fix endianness problem.
6299 (tftp_receive): Likewise.
6300 Reported by: Michael Davidsaver.
6301
e7850aa9
VS
63022012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6305
63062012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6309 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6310 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6311
35692881
VS
63122012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6315 efi_mmap_size.
6316 Reported by: Stuart Hayes.
6317
c35fc5bd
VS
63182012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6321
6322 * grub-core/Makefile.core.def (mda_text): New module.
6323 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6324 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6325 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6326 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6327 here.
6328 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6329 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6330 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6331 here.
6332 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6333 to ..
6334 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6335 ... here
6336 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6337 here.
6338 * grub-core/term/i386/vga_common.c: Removed.
6339 * include/grub/i386/vga_common.h: Likewise.
6340 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6341 (grub_vga_cr_bw_read): Likewise.
6342 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6343 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6344 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6345 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6346 grub_vga_cr_read/grub_vga_cr_write.
6347 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6348
5f91f701
VS
63492012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * configure.ac: Bump version to 2.00.
6352 * grub-core/normal/main.c (features): Add feature_200_final.
6353
0c4f85f6
VS
63542012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
63552012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6356
6357 * NEWS: Fix unclarity and language mistakes.
6358
f923ad22
VS
63592012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6362 additional size to 3 pages.
6363 Reported by: Stuart Hayes.
6364
d22029ba
VS
63652012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * NEWS: Add 2.00 entry.
6368
58eee08f
VS
63692012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6372 put explicit "/" for empty path.
6373 (wildcard_expand): Improve dprintf.
6374
c59bdff7
VS
63752012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6378 it's equal to currnode. This can happen with "" symlink.
6379
5e6a440a
YB
63802012-06-27 Yves Blusseau <blusseau@zetam.org>
6381
6382 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6383 echo shell command by printf command.
6384
73a68bcb
VS
63852012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6388 the value returned by firmware is the maximal position, not diumension.
6389 (grub_terminfo_output_state): Use a more sane fallback.
6390
392a603b
VS
63912012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6394
42d0867f
VS
63952012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6398 frequency to 150 MHz.
6399
489509f4
VS
64002012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 Apple fixes.
6403
6404 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6405 __APPLE_
6406 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6407 definition.
6408 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6409
9f3fc883
VS
64102012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 Handle slash in HFS label.
6413
6414 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6415 (grub_hfs_dir): Tanslate slash.
6416 (grub_hfs_label): Don't translate slash.
6417
54853fd7
VS
64182012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6421 network protocol listing since it introduces problematic dependency on
6422 net module.
6423
4dc02ddf
VS
64242012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6427
c50c867d
VS
64282012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 Init video early on yeeloong to avoid being rebooted by watchdog.
6431
6432 * grub-core/Makefile.am (gensm712): New target.
6433 (sm712_start.S): Likewise.
6434 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6435 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6436 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6437 description.
6438 * include/grub/vga.h: Move registry definitions to...
6439 * include/grub/vgaregs.h: ... here.
6440
5f92c8a1
VS
64412012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6444 signedness.
6445
e9e6f111
VS
64462012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6449 platforms with firmware disk drivers in the core.
6450
754ad9eb
VS
64512012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6454 informative verbose message.
6455 (read_lv): Handle 64-bit segment size.
6456
315654c2
VS
64572012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6460
fb022c79
VS
64612012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6464 character but still remove trainling spaces.
6465 (grub_fat_label): Ignore archive flag.
6466
8645f72c
VS
64672012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6470 cast between linux_kernel_header and linux_kernel_params.
6471
36498496
VS
64722012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6475 type for size.
6476 (grub_raid6_recover_func_t): Likewise.
6477 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6478 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6479
0b5ea6b8
VS
64802012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6483
650cfcfe
GS
64842012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6485
6486 Fix overflow.
6487
6488 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6489 [__NetBSD__]: Add explicit cast before bitshift.
6490
8a4d6a44
VS
64912012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * configure.ac: Bump to 2.00~rc1.
6494
2fb97ed3
VS
64952012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6498 half of $a0.
6499
1fa097dc
VS
65002012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
65012012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6502
6503 * docs/grub.texi: Fix search syntax.
6504 (Multi-boot manual config): Put msdos rather than GPT example.
6505 Grammar corrections.
6506
c890ba78
VS
65072012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6510
0f92dca7
VS
65112012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6514
3988c4a0
VS
65152012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6518 message on double free. Put the value of magic in case of mismatch.
6519
9e86d4c5
VS
65202012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 Speed-up video on yeeloong.
6523
6524 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6525 add cached_ptr.
6526 (grub_video_sm712_video_fini): Unmap cached_ptr.
6527 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6528 (grub_video_sm712_set_active_render_target): Removed.
6529 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6530 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6531 sync caches.
6532
ed24c312
VS
65332012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 Avoid flushing the same line multiple times on loongson.
6536
6537 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6538 Step in 32 bytes and not 1 byte.
6539 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6540 Likewise.
6541
d1718e7d
VS
65422012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6545 subvolumes.
6546
982f1909
VS
65472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 Implement flow control for http.
6550
6551 * grub-core/net/http.c (parse_line): Handle response 206.
6552 (http_receive): Stall if too many packets are in the queue.
6553 (http_establish): Fix range header.
6554 (http_seek): Fix double free.
6555 (http_close): Likewise.
6556 (http_packets_pulled): New function.
6557 (grub_http_protocol): Set http_seek
6558 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6559 (ack_real): Set window depending on i_stall.
6560 (grub_net_send_tcp_packet): Likewise.
6561 (grub_net_tcp_stall): New function.
6562 (grub_net_tcp_unstall): Likewise.
6563 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6564 (grub_net_tcp_unstall): Likewise.
6565
bd407d6e
VS
65662012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6567
6568 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6569
c7564b8e
VS
65702012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6573
a3706162
VS
65742012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * tests/util/grub-shell.in: Fix a typo.
6577
b27069e0
VS
65782012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 Implement flow control for tftp.
6581
6582 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6583 packets but stop only if stop condition is satisfied.
6584 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6585 `stall' instead of `eof' as stop condition.
6586 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6587 (http_err): Likewise.
6588 * grub-core/net/tftp.c (ack): Replace the first argument with data
6589 instead of socket.
6590 (tftp_receive): Stall if too many packets are in wait queue.
6591 (tftp_packets_pulled): New function.
6592 (grub_tftp_protocol): Set packets_pulled.
6593 * include/grub/net.h (grub_net_packets): New field count.
6594 (grub_net_put_packet): Increment count.
6595 (grub_net_remove_packet): Likewise.
6596 (grub_net_app_protocol): New field `packets_pulled'.
6597 (grub_net): New field `stall'.
6598
6b9cfac6
VS
65992012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6602 sync part to handle them.
6603
f35abd81
VS
66042012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6607 * grub-core/net/drivers/ieee1275/ofnet.c
6608 (grub_ieee1275_net_config_real): Likewise.
6609
0e7ec820
VS
66102012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6613 the direct route for server/gateway.
6614
9d611a31
VS
66152012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6618 IP address to server name since we may not hame the DNS.
6619
418f45ab
VS
66202012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6623 freeing random buffer on failure.
6624 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6625
44a0efc1
VS
66262012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6629
531e2241
VS
66302012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6633 reserved bytes.
6634 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6635 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6636 Handle malloc error correctly.
6637
cde393c9
VS
66382012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6641 blocks.
6642
538478d0
VS
66432012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6646 increment.
6647
9b55efe0
VS
66482012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6651 none is explicitly specified.
6652
9eb832c3
VS
66532012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6656 while reallocating.
6657
d6b7c7c9
VS
66582012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 Respect netmask from bootp/dhcp.
6661
6662 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6663 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6664 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6665 into ...
6666 (grub_net_add_ipv4_local): ... this.
6667 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6668 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6669 (grub_net_add_ipv4_local): New proto.
6670
67caf9eb
VS
66712012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
6674 determining EFI memory map size.
6675
43657558
VS
66762012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
6679
eb6d0dd3
VS
66802012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
6683 when looking for partition separator.
6684
31230544
VS
66852012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6688 Escape commas.
6689
918a2517
VS
66902012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 Restructure FAT driver to avoid hook in label reading as it hits a
6693 GCC bug.
6694
6695 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
6696 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
6697 (grub_fat_iterate_dir): Split into ...
6698 (grub_fat_iterate_init): ... this, ...
6699 (grub_fat_iterate_fini): ... this, ...
6700 (grub_fat_iterate_dir_next): ... and this. All users updated.
6701
9f1d654e
VS
67022012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6705 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
6706 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6707 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
6708 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
6709 New fields last_key and last_key_time.
6710 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
6711 extended key-esc into extended key-extended key.
6712
52f0f643
VS
67132012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 Avoid unnecessary memcpy of whole video buffer.
6716
6717 * grub-core/video/fb/video_fb.c (dirty): New struct.
6718 (framebuffer): Add members current_dirty and previous_dirty.
6719 (dirty): New function.
6720 (grub_video_fb_fill_rect): Update dirty.
6721 (common_blitter): Likewise.
6722 (grub_video_fb_scroll): Likewise.
6723 (doublebuf_blit_update_screen): Copy only dirty part.
6724 (doublebuf_pageflipping_update_screen): Likewise.
6725 (grub_video_fb_doublebuf_blit_init): Init dirty.
6726 (doublebuf_pageflipping_init): Likewise.
6727 (grub_video_fb_setup): Likewise.
6728
e169a180
VS
67292012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
6732 poll rate.
6733
48556879
VS
67342012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 Fix wildcard regexp dot and other special characters handling.
6737 Reported by: Robert Mabee.
6738
6739 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
6740 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
6741 (split_path): Trigger expansion on '?'.
6742 (unescape): New function.
6743 (wildcard_expand): Unescape parts copied without globbing.
6744 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
6745 (grub_script_arglist_to_argv): Don't unescape expansions.
6746
0494408e
VS
67472012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * include/grub/net.h (grub_net_card): New member txbufsize.
6750 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
6751 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6752 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
6753 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
6754 txbufsize.
6755 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
6756 compatible property to check for macs. Set
6757 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6758 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
6759 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
6760 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
6761 (send_card_buffer): Use txbuf.
6762 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
6763 nested function out of the parent while on it.
6764
cc35fe8f
VS
67652012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
6768 presence check.
6769 (grub_ieee1275_net_config_real): Fix config pointer.
6770
970a0a09
VS
67712012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
6774 filename parsing to non-block devices.
6775
3e19bf87
VS
67762012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * grub-core/kern/device.c (grub_device_open): Remove dead code.
6779
c62d1a0c
VS
67802012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
6783 All users updated.
6784
ef76bec3
VS
67852012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
6788 UUID search command even if hints probing failed.
6789
67902012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
6791
6792 * po/POTFILES.in: Regenerated.
6793
70aaf305
VS
67942012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 Speed-up video on fuloong.
6797
6798 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
6799 New function.
6800 (grub_pci_device_unmap_range): Handle non-cached address.
6801 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
6802 add direct_ptr.
6803 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
6804 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
6805 (grub_video_sis315pro_set_active_render_target): Removed.
6806 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
6807 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6808 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
6809 sync caches.
6810 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
6811 New proto.
6812
10400f0b
VS
68132012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * docs/grub.texi (Multi-boot manual config): New section.
6816
ba67e2c6
VS
68172012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 Avoid slow read-back from VRAM.
6820
6821 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
6822 Move from here ...
6823 * grub-core/video/fb/video_fb.c
6824 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
6825 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
6826 (front_target): Remove front_target. Add pages.
6827 (grub_video_fb_init): Skip setting front_pages.
6828 (grub_video_fb_fini): Likewise.
6829 (doublebuf_blit_update_screen): Use pages.
6830 (grub_video_fb_doublebuf_blit_init): Likewise.
6831 (doublebuf_pageflipping_init): Allocate offscreen buffer.
6832 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
6833 (grub_video_fb_setup): Prefer doublebuffing.
6834
377c98cb
VS
68352012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
6838 gzio.
6839
eac49cff
VS
68402012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 Add loongson tests.
6843
6844 * tests/util/grub-shell.in: Handle loongson.
6845 * tests/partmap_test.in: Add loongson to the list of platform using ATA
6846 drivers.
6847 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
6848 Reboot instead of shutdown if REBOOT is defined.
6849
0321415e
VS
68502012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
6853 sized ports since unlike on real hardware qemu supports only 32-bit
6854 regs.
6855
3f2bdd8f
VS
68562012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * Makefile.util.def (grub-mkrescue): Enable on loongson.
6859 * util/grub-mkrescue.in: Handle loongson.
6860
29a049c9
VS
68612012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
6864 Set is_part appropriately.
6865 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
6866 names. Canonicalize partition without full disk.
6867
4abde346
VS
68682012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 Revert usb-quiesce since it's wrong.
6871
6872 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
6873 (grub_ofdisk_init): Don't do quiesce.
6874
61f1d93b
VS
68752012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
6878 PowerMac workaround to Xserves as well.
6879 Information supplied by: Benjamin Herrenschmidt.
6880
a09eb541
VS
68812012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 Don't assume that beginning address is also the entry point on ppc.
6884
6885 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
6886 (grub_linux_boot): Use linux_entry.
6887 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
6888 (grub_linux_load64): Likewise.
6889
505b3c9b
VS
68902012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
6893
cbe0b4ef
VS
68942012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
6897 needlessly lose the console.
6898
3006e981
VS
68992012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
6902 space.
6903
4e5a96b0
VS
69042012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6905
7da036bb
VS
6906 Remove non-functional EFI grub_get_rtc. Put a better fatal message
6907 than current grub_get_rtc() not implemented when booted with
6908 coreboot without TSC.
6909
6910 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
6911 Add machine/time.h to kernel headers on loongson.
6912 * grub-core/Makefile.core.def (kernel): Remove
6913 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
6914 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
6915 (grub_get_rtc): Likewise.
6916 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
6917 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
6918 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
6919 * grub-core/kern/i386/tsc.c (grub_tsc_init)
6920 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
6921 rather than installing known non-working time source.
6922 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
6923 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
6924 * include/grub/time.h: Don't include machine/time.h.
6925 * include/grub/efi/time.h: Removed.
6926 * include/grub/i386/efi/time.h: Likewise.
6927 * include/grub/i386/ieee1275/time.h: Likewise.
6928 * include/grub/powerpc/ieee1275/time.h: Likewise.
6929 * include/grub/sparc64/ieee1275/time.h: Likewise.
6930 * include/grub/x86_64/efi/time.h: Likewise.
6931
69322012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
6935
6936 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
6937 value.
6938 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
6939 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
6940 with dotless variants when any combining above is present.
6941
5561c22d
VS
69422012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
6945 text and not binary.
6946
96f7e60e
VS
69472012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 Stop polling as soon as we have the packet we were waiting for.
6950
6951 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
6952 All users updated.
6953 * grub-core/net/arp.c (have_pending): New var.
6954 (pending_req): Likewise.
6955 (grub_net_arp_send_request): Fill pending_req and use have_pending as
6956 stop indicator.
6957 (grub_net_arp_receive): Set have_pending.
6958 * grub-core/net/dns.c (recv_data): New field stop.
6959 (recv_hook): Set stop.
6960 (grub_net_dns_lookup): Init stop and use as stop condition.
6961 * grub-core/net/http.c (http_establish): Use headers_recv as stop
6962 condition.
6963 * grub-core/net/net.c (grub_net_poll_cards): New argument
6964 stop_condition. Stop when it goes true.
6965 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
6966 indicator.
6967 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
6968
3e747239
VS
69692012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 Keep TX and RX buffers on EFI rather than always allocate new ones.
6972
6973 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
6974 card. All users updated.
6975 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
6976 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
6977 (get_card_packet): Likewise.
6978 (grub_efinet_findcards): Init new fields.
6979
f695e99a
VS
69802012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
6983 compilation error on sparc64.
6984
9e5e66d1
VS
69852012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 Use ITC on IA64 rather than broken routine based on daytime.
6988
6989 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
6990 ia64.
6991 (grub_get_rtc) [__ia64__]: Likewise.
6992 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
6993 (get_itc): New function.
6994 (grub_rtc_get_time_ms): Likewise.
6995 (grub_machine_init): Calibrate ITC.
6996 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
6997 Keep only on non-ia64. Don't export since it's broken and used only
6998 if TSC is unavailable.
6999
a1767404
VS
70002012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7003 even if it's used.
7004 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7005 Skip if parent is unused.
7006
34b2bced
VS
70072012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7008
7009 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7010
5e619f40
VS
70112012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 Fix wildcard escaping.
7014
7015 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7016 * grub-core/script/execute.c (wildcard_escape): .. to here.
7017 Don't escape dot.
7018 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7019 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7020 Don't escape dot.
7021 * grub-core/script/execute.c (gettext_append): Always escape.
7022 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7023 * grub-core/script/yylex.l: Don't cut away the escaping.
7024 * tests/grub_script_echo1.in: Add tests with wildcard.
7025
c8ca5855
VS
70262012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7029 (ftdi_hw_configure): Likewise.
7030 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7031 define.
7032 (real_config): Handle 1.5 stop bits.
7033 (pl2303_hw_configure): Likewise.
7034
7183452c
VS
70352012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 * Makefile.am: Add ppc linux bootcheck.
7038 * grub-core/tests/boot/linux-ppc.cfg: New file.
7039 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7040
f57c84cd
VS
70412012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * tests/grub_script_expansion.in: Skip network protocols.
7044
ecfc6207
VS
70452012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7048
8d03d284
VS
70492012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7052 --rom-directory.
7053 Add -graft-points.
7054
61c42af0
VS
70552012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 ESCC serial driver for conducting sautomated tests in qemu.
7058 Not tested on real hardware.
7059
7060 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7061 * grub-core/term/ieee1275/escc.c: New file.
7062 * grub-core/Makefile.core.def (escc): New module.
7063
08fd1291
VS
70642012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7067 invalid on error.
7068 (serial_hw_fetch): Don't read invalid handle.
7069 (serial_hw_put): Don't write into invalid handle.
7070
08dafeea
VS
70712012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 Add a 1.5 stop bits value.
7074
7075 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7076 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7077 GRUB_SERIAL_STOP_BITS_1_5.
7078
9068fdcf
VS
70792012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7082 value rather than let it uninited.
7083
f4d5820f
VS
70842012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/commands/wildcard.c (+check_file): New function.
7087 (wildcard_expand): Don't expand to non-existing files, expand with
7088 suffix and not attempt to expand if not needed.
7089
3d2de9a7
VS
70902012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7093 out of partitions containing other partitions.
7094
c5c81ff9
VS
70952012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7098 on some qemu versions with GRUB.
7099
7100 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7101 define.
7102 (grub_openbsd_bootarg_pcibios): New struct.
7103 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7104 Add PCIINFO.
7105
08a14e0b
VS
71062012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * tests/util/grub-shell.in: Trim firmware output on EFI.
7109
cede3ca3
VS
71102012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7113 and coreboot since it's already in kernel.
7114
558d3a60
VS
71152012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7118 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7119 to here. New return value start. All users updated.
7120 Recursively scan linear mappings.
7121 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7122 proto.
7123 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7124 Use grub_util_get_dm_node_linear_info.
7125 * util/getroot.c (convert_system_partition_to_system_disk): Use
7126 grub_util_info rather than grub_dprintf.
7127 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7128
60fde14d
VS
71292012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7132
7133 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7134 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7135
24bd8838
VS
71362012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7137
7138 * include/grub/types.h (grub_set_unaligned64): New function.
7139 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7140 (setup): Likewise.
7141
7bc06a49
VS
71422012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7145 (grub_ofdisk_fini): Quiesce USB devices.
7146
49cea015
VS
71472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7150 caches.
7151
8dcbe03b
VS
71522012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7155
5b258735
VS
71562012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * grub-core/disk/pata.c (grub_pata_pio_read)
7159 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7160 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7161
37ba07eb
VS
71622012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 Extend automated tests to qemu-mips.
7165
7166 * Makefile.am: reorganise tests and enable qemu-mips.
7167 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7168 * grub-core/tests/boot/linux.init-mips.S: New file.
7169 * tests/partmap_test.in: Handle ata0 disks.
7170 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7171 non-pc i386.
7172
070038f8
VS
71732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7174
7175 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7176 ia64.
7177 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7178 quotes while on it.
7179
004be2cd
VS
71802012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7183 (grub_halt): Likewise.
7184 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7185
b1622487
VS
71862012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 * grub-core/term/serial.c (grub_serial_register)
7189 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7190 the behaviour in line with x86 platforms.
7191
b7b4ab33
VS
71922012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7195 (grub_ata_strncpy): Likewise.
7196 (grub_ata_identify): Add missing byteswaps.
7197
5e3535ae
VS
71982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7201 byte-swap.
7202 (screen_read_char): Likewise.
7203 (grub_vga_text_cls): Likewise.
7204
c21b17e6
VS
72052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7208 filenames.
7209 (make_file_path): Likewise.
7210
bf293dec
VS
72112012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7214 machines.
7215 Tested by: Paulo Flabiano Smorigo.
7216 Crucial information about API supplied by: Coleen <Last name unknown>.
7217 Reviewed by: Coleen <Last name unknown>.
7218
81f6ef0e
VS
72192012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * util/grub-mkimage.c: Disable -Wcast-align.
7222
7284143a
VS
72232012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7226 as they are fatal.
7227
b99f3e00
VS
72282012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7231
944f752d
VS
72322012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 * util/grub-probe.c (escape_of_path): Fix double free.
7235
6cce6f38
VS
72362012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 * grub-core/commands/videoinfo.c (hook): Show pitch.
7239
1e1eb50e
VS
72402012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7243
1c715b5a
VS
72442012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7247 (probe): Add ieee1275 to OFW devices.
7248
007ae52d
VS
72492012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7252
4557a36d
VS
72532012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 Handle IBM OFW path.
7256
7257 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7258 available.
7259 (of_path_of_scsi): Handle vdevice.
7260
efbeefe9
VS
72612012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7264 Allocate in multiples of 16 to avoid adding a few bytes free region the
7265 windows bugs upon.
7266
15a940bb
VS
72672012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7270 Allocate in multiples of 16 to avoid adding a few bytes free region the
7271 windows bugs upon.
7272 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7273
6e5efd60
VS
72742012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7277 resolutions.
7278 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7279 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7280
0d3d137e
IS
72812012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7282
7283 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7284
45dbe300
VS
72852012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7288 resulted in \\ at the end of the line.
7289
6d8db947
VS
72902012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7293 (grub_parser_cmdline_state): Likewise.
7294 (grub_parser_split_cmdline): Likewise.
7295
de89d338
VS
72962012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7299 /dev/root and /dev/dm-*.
7300
00d41dee
VS
73012012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7304 fix partially stale display.
7305
f95d1f11
VS
73062012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7309 substraction.
7310
6297e197
VS
73112012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7314 Fix MBR remapping workaround.
7315 (grub_util_biosdisk_read) [__linux__]: Likewise.
7316
8a7ecad3
VS
73172012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7320
2b34f944
VS
73212012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * configure.ac: Bump to beta6.
7324
684aef11
CW
73252012-05-31 Christer Weinigel <christer@weinigel.se>
7326
7327 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7328
05b0bb91
VS
73292012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7332 (grub_cmd_linux): Likewise.
7333
bda36bfa
CW
73342012-05-31 Christer Weinigel <christer@weinigel.se>
7335
7336 Fix EHCI low-speed.
7337
7338 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7339 (GRUB_EHCI_MULT_TWO): Likewise.
7340 (GRUB_EHCI_MULT_THREE): Likewise.
7341 (GRUB_EHCI_CMASK_MASK): New enum value.
7342 (GRUB_EHCI_SMASK_MASK): Likewise.
7343 (GRUB_EHCI_CMASK_OFF): Likewise.
7344 (GRUB_EHCI_SMASK_OFF): Likewise.
7345 (grub_ehci_pci_iter): Enable periodic schedule.
7346 (grub_ehci_parse_notrun): Likewise.
7347 (grub_ehci_restore_hw): Likewise.
7348 (grub_ehci_setup_qh): Set flags for low speed transfers.
7349 (grub_ehci_find_qh): Use periodic list for low speed.
7350 (grub_ehci_setup_transfer): Check periodic queue as well.
7351 (grub_ehci_check_transfer): Likewise.
7352 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7353
e12bcb1c
PFS
73542012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7355
7356 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7357 parameter is used.
7358
bcc75fb3
PJ
73592012-05-31 Peter Jones <pjones@redhat.com>
7360
7361 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7362 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7363 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7364
f19cb95e
VS
73652012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7368 uninited variable. Allocate at least setup_sects.
7369
a4e5ca80
VS
73702012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 Fix handling of EFI with big memory maps.
7373
7374 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7375 (real_mode_mem): Likewise.
7376 (real_mode_target): Likewise.
7377 (real_mode_pages): Likewise.
7378 (prot_mode_pages): Likewise.
7379 (linux_params): New var.
7380 (linux_cmdline): Likewise.
7381 (free_pages): Don't set real mode variables.
7382 (allocate_pages): Don't allocate real mode memory.
7383 (grub_e820_add_region): Remove the limit.
7384 (grub_linux_boot): Allocate and copy real mode memory.
7385 (grub_linux_unload): Free linux_cmdline.
7386 (grub_cmd_linux): Use temporary storage for parameters.
7387 (grub_cmd_initrd): Likewise.
7388 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7389 (linux_kernel_params): Make it 1K big.
7390
ddb73558
VS
73912012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * Makefile.util.def: Remove -Wno-format.
7394 * grub-core/Makefile.core.def: Likewise.
7395
1c4afb60
VS
73962012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 * tests/cmp_unit_test.c: Add missing failure message.
7399 * tests/example_unit_test.c: Likewise.
7400 * tests/printf_unit_test.c: Likewise.
7401
941e3a6d
VS
74022012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7405 relaxation of protective MBR requirements.
7406
b105df76
VS
74072012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * configure.ac: Add condition for COND_HOST_XNU.
7410 * Makefile.util.def (10_xnu): New script.
7411 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7412
84e1569e
VS
74132012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7416 objconv bug.
7417
130c0f77
VS
74182012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7421 Binary on other platforms stays identical.
7422
6fd0b143
VS
74232012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7426 Apple.
7427
0af1751d
VS
74282012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7431
176d5f7d
VS
74322012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7435 rather than defining size_t ourselves to avoid conflict.
7436
7de5e20a
VS
74372012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7440 initialisation to avoid __bzero reference.
7441
f7143efe
VS
74422012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7445 version.
7446 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7447 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7448 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7449 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7450 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7451
e6ad0555
VS
74522012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7455 * grub-core/kern/misc.c: Likewise.
7456 * grub-core/loader/i386/xnu.c: Likewise.
7457 * include/grub/i386/tsc.h: Likewise.
7458 * include/grub/symbol.h: Likewise.
7459
4a5a3c4a
VS
74602012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7463 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7464 on older compiler.
7465
037f6d90
VS
74662012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7469 Implement Apple flavour.
7470 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7471
f7194551
VS
74722012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7475 (memmove) [__APPLE__]: Likewise.
7476 (memcpy) [__APPLE__]: Likewise.
7477 (memset) [__APPLE__]: Likewise.
7478 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7479 (memmove) [__APPLE__]: Likewise.
7480 (memcpy) [__APPLE__]: Likewise.
7481 (memset) [__APPLE__]: Likewise.
7482
85a730ca
VS
74832012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7486 dependency discard.
7487
40e80b94
VS
74882012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * grub-core/normal/main.c (read_config_file): Provide config_file and
7491 config_directory.
7492 * util/grub.d/41_custom.in: Use config_directoy when available.
7493
9da59c32
VS
74942012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7497 (grub_bfs_dir): Likewise.
7498
2787ae53
PJ
74992012-05-27 Peter Jones <pjones@redhat.com>
7500
7501 The old code gives arguments to a printf function which can't work
7502 correctly, and the compiler complains.
7503
7504 * grub-core/tests/example_functional_test.c (example_test): Add
7505 missing text.
7506 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7507 * include/grub/test.h (grub_test_assert_helper): New declaration.
7508 (grub_test_assert): Use grub_test_assert_helper.
7509
526ef13d
VS
75102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7513 (exfctest): ... this to avoid overlong filenames.
7514 All users updated.
7515
20dd511c
VS
75162012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 Handle "." and ".." on squashfs.
7519
7520 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7521 Make inode numbers into stack.
7522 (grub_squash_read_symlink): Use stack.
7523 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7524 (make_root_node): Fill stack.
7525 (grub_squash_open): Use stack.
7526
1d80c62a
VS
75272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7530 freeing.
7531
d336f652
VS
75322012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7535 stderr on test calls.
7536
8b43f587
VS
75372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7540
80a3dc3f
VS
75412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7544
47e297d4
VS
75452012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7548 "..".
7549
df042ccb
VS
75502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7553 (grub_hfsplus_iterate_dir): Add "." and "..".
7554
fc977f48
VS
75552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7558 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7559
f3250e5f
VS
75602012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7563 (find_path): Handle "." and "..".
7564
fd8ed4c5
VS
75652012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7568 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7569 (grub_affs_iterate_dir): Handle hardlinks.
7570
4ce776d2
MG
75712012-05-26 Matthew Garrett <mjg@redhat.com>
7572
7573 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7574 (grub_efi_console_fini): Likewise.
7575 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7576 (grub_video_gop_fill_mode_info): Rename to ...
7577 (grub_video_gop_fill_real_mode_info): ... this.
7578 (grub_video_gop_fill_mode_info): New function.
7579 (grub_video_gop_setup): Setup double framebuffer.
7580 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7581 Free offscreen.
7582 (grub_video_gop_swap_buffers): Copy framebuffer.
7583 (grub_video_gop_fini): Free offscreen buffer.
7584 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7585 New enum.
7586 (grub_efi_gop_blt_pixel): New struct.
7587
683031ba
VS
75882012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7589
7590 * gentpl.py: Remove error disabling for objconv.
7591
c2deb798
VS
75922012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * configure.ac: Remove -Wunitialized as it's not available on older
7595 compilers.
7596
75972012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
7598
7599 Fix extent overflow comparator.
7600
7601 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7602 (grub_hfsplus_read_block): Set type.
7603 (grub_hfsplus_cmp_extkey): Compare type.
7604
d6b1fd36
VS
76052012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7608
0a9aa0f6
VS
76092012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7612 than 0.
7613
8360e159
VS
76142012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7617 (dejavu_bold_14.pf2): New target.
7618
501b9e4b
VS
76192012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * configure.ac: Fix djvu font detection.
7622
7026b0e2
VS
76232012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7626 ext* instead of ext2.
7627
c2a51ade
VS
76282012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7631 name with \0.
7632
8f803a5d
JU
76332012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7634
7635 * docs/grub-dev.texi: Remove dot from .png.
7636
13c6353f
VS
76372012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7640 protective entry in any slot.
7641 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7642 if protective entry is found in any slot.
7643
7644 Protective entry in non-first slot make no sense but is a widespread
7645 brain damage.
7646
4cf6be1b
VS
76472012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7650
937d1c44
VS
76512012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7654 with old reiserfs.
7655 (grub_reiserfs_open): Don't free root.
7656
021d90ec
VS
76572012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7660 after freeing for safety.
7661
967b2b64
VS
76622012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7665 Reported by: Jordan Uggla.
7666
34274d02
JU
76672012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7668
967b2b64
VS
7669 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7670 actual implementation. Specifically, clarify that the grub menu will
7671 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7672 passed.
34274d02 7673
dcaaae9d
BH
76742012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
7675
7676 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
7677 of r0.
7678
7086ad52
VS
76792012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 Remove unjustified hard dependency of normal.mod on gfxterm.
7682
7683 * include/grub/term.h (grub_term_output): New member fullscreen.
7684 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
7685 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
7686 (grub_gfxterm): Set .fullscreen.
7687 * grub-core/normal/menu.c (menu_init): Use fullscreen.
7688 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
7689
37ed2c9b
VS
76902012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
7693 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 7694 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 7695
a4469c88
VS
76962012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
7699
4e461486
VS
77002012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7703 a bad FS.
7704
aa78f5c4
VS
77052012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
7708 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
7709
197626b5
VS
77102012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
7713 (grub_jfs_mount): Fill caseins.
7714 (grub_jfs_find_file): Respect caseins.
7715
8ad3f28c
VS
77162012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
7719 through UTF-16.
7720
0c6c324e
VS
77212012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
7724 New argument origpath. All users updated.
7725
c6666ba6
VS
77262012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
7729 (read_attr): Ensure that we read start of possibly compressed block.
7730
e28e5fe5
VS
77312012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
7734 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
7735 All users updated.
7736
5fc23ab2
VS
77372012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
7740 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
7741 (dejavu.pf2): Replace with ...
7742 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
7743 this.
7744
79dbc21c
VS
77452012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * util/grub.d/20_linux_xen.in: Add missing line.
7748
d2fcfb0c
VS
77492012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
7752 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
7753 (grub_utf16_to_utf8): Likewise.
7754
5560e9d6
VS
77552012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
7758 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
7759 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7760 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
7761 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7762 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
7763
77642012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
7765
7766 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7767 a bad FS.
7768
5560e9d6 77692012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
7770
7771 * grub-core/fs/udf.c (read_string): Bail out on size=0.
7772 (grub_udf_read_symlink): Handle read_string failure.
7773
5eae3175
VS
77742012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
7777 comment.
7778
c1ad82db
VS
77792012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 Fix handling of UDF symlinks.
7782
7783 * grub-core/fs/udf.c (read_string): New argument outbuf.
7784 All users updated.
7785 (grub_ufs_read_symlink): Rename to ...
7786 (grub_udf_read_symlink): ... this. All users updated.
7787 Handle symlinks with more than one component.
7788
33eca6e0
VS
77892012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
7792 symlinks. Replace leading colon with a slash.
7793
57f4a70b
VS
77942012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
7797 filename.
7798
38c8ee20
VS
77992012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
7802 match in inner node.
7803
2e57f28f
VS
78042012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
7807 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
7808 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
7809 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
7810 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
7811 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
7812 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
7813 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
7814 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
7815
fe8c2f11
VS
78162012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 Use grub-probe and not cmp to check that disk is empty.
7819
7820 * util/grub-install.in: Use grub-probe for zero-check.
7821 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
7822 (probe): Handle PRINT_ZERO_CHECK.
7823 (argp_parser): Handle -t zero_check.
7824
78252012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
7826
7827 Flush block cache on adding disk to device map.
7828
7829 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
7830 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
7831 adding.
7832 (read_device_map): Likewise.
7833 (open_device): Flush on opening.
7834
690434e8
VS
78352012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
7838 (handle_symlink): Fix off-by-one error.
7839 Canonicalize the target.
7840 (grub_cpio_dir): Canonicalize the name.
7841 Fix memory leak.
7842 Set directory.
7843 (grub_cpio_open): Canonicalize the name.
7844
742d2be6
VS
78452012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
7848 handling.
7849
3244fe96
VS
78502012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7851
7852 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
7853 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
7854
8aeb1837
VS
78552012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
7858 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 7859 All users updated.
8aeb1837 7860
9133fd05
VS
78612012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
7864 counterpart.
7865
6d521c5b
VS
78662012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 Fix UFS1 big file support.
7869
7870 * grub-core/fs/ufs.c (INODE): Removed.
7871 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
7872 64-bit.
7873 (INODE_MODE): Simplify.
7874 (grub_ufs_inode): Use uint64_t for size and not int64_t.
7875 (grub_ufs_lookup_symlink): Don't use INODE.
7876
21b82e17
VS
78772012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 Fix minixfs with non-power-of-two blocks since it's supported by minix.
7880
7881 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
7882 (grub_minix_data): Replace log_block_size with block_size.
7883 (grub_minix_read_file): Use block_size but avoid 64-bit division.
7884 (grub_minix_mount): Fill block_size.
7885
78862012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
7887
7888 * configure.ac: Bump to beta5.
7889
f417ed04
VS
78902012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 Fix wrapped HFS+ handling.
7893
7894 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
7895 blocks_start. All users updated.
7896 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
7897 wrapping offset.
7898 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
7899
607d282b
VS
79002012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 Fix long symlinks on reiserfs.
7903
7904 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
7905 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
7906 (grub_reiserfs_iterate_dir): Save size for non-directories.
7907 (grub_reiserfs_open): Don't reread stat block as we already know the
7908 size.
7909 (grub_reiserfs_read): Split into...
7910 (grub_reiserfs_read_real): ... and ...
7911 (grub_reiserfs_read): ...this.
7912
ae16024d
VS
79132012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 Fix non-indexed JFS.
7916
7917 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
7918 (grub_jfs_data): New field namecomponentlen.
7919 (grub_jfs_mount): Fill namecomponentlen.
7920 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
7921
eea1e26e
VS
79222012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
7925 * tests/grub_script_echo1.in: Add tests.
7926
df760f77
VS
79272012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 * util/grub-install.in: Ignore empty devicetree directory.
7930
5efb817d
B
79312012-05-08 Bean <bean123ch@gmail.com>
7932
7933 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
7934 All users updated.
7935 (free_rsm): Free header as well.
7936 (free_old_fragments): Fix memory leak.
7937 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
7938 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
7939 (destroy_pq): Likewise.
7940 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
7941
668ea6d2
VS
79422012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
7945 resulting hash as a precaution.
7946
1739b1fe
VS
79472012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
7950 '_' in variable names.
7951 * grub-core/net/net.c (grub_net_network_level_interface_register):
7952 Likewise.
7953
6ae485aa
VS
79542012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 Fix AFFS with non-512B blocks.
7957
7958 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
7959 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
7960 (grub_affs_data): Replace blocksize with log_blocksize.
7961 (grub_affs_read_block): Fix non-512B blocks.
7962 (grub_affs_read_symlink): Likewise.
7963 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
7964 (grub_affs_read): Fix non-512B blocks.
7965 (grub_affs_label): Likewise.
7966 (grub_affs_mtime): Likewise.
7967 (grub_affs_mount): Fix block detection routine.
7968
d20fab84
VS
79692012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 Add filesystem mtime to AFFS.
7972
7973 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
7974 (aftime2ctime): New function.
7975 (grub_affs_dir): Use aftime2ctime.
7976 (grub_affs_label): Fix return value.
7977 (grub_affs_mtime): New function.
7978 (grub_affs_fs): Add mtime.
7979
e87b10f5
VS
79802012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
7983 UTF-8.
7984
7dceec9b
VS
79852012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
7988 UTF-8.
7989
2f48221f
VS
79902012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
7993
dacd85cf
VS
79942012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
7997 flags.
7998 (FLAGS_CASE_SENSITIVE): New enum value.
7999 (cache_entry): New struct.
8000 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8001 cache_size and cache.
8002 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8003 Add log_blocksize and fshelp_flags.
8004 (grub_sfs_read_extent): Handle non-512 blocks.
8005 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8006 (grub_sfs_read_file): Handle non-512 blocks.
8007 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8008 fshelp_flags.
8009 (grub_sfs_read_symlink): Handle non-512 blocks.
8010 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8011 (grub_sfs_dir): Free cache.
8012 (grub_sfs_close): Likewise.
8013
24e9a854
VS
80142012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8017 filesystems.
8018
62ace64d
VS
80192012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8022
83b2e89c
VS
80232012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8026
75ccaea3
VS
80272012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8030 (grub_sfs_read_extent): Likewise.
8031 (grub_sfs_read_block): Likewise.
8032 (grub_sfs_mount): Likewise.
8033 (grub_sfs_iterate_dir): Likewise.
8034 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8035 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8036
1b8463f2
VS
80372012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 Fix errors on compressed NTFS with 512B clusters.
8040
8041 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8042 types.
8043 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8044 not 0.
8045 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8046 Relax check for inline extents.
8047 (ntfscomp): Return correct -1 on error and not 0.
8048
4f8e368f
VS
80492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 * util/grub-install.in: Fix handling of prefix containing spaces.
8052
6f5d5ee8
VS
80532012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8056 (grub_squash_read_data): Fix offset byte-swapping.
8057
ce41ab7a
VS
80582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8061 per common usage and preffered in several parts of code.
8062 (grub_memcmp): Likewise.
8063 (grub_strncmp): Likewise.
8064 * include/grub/misc.h (grub_strcasecmp): Likewise.
8065 (grub_strncasecmp): Likewise.
8066 * Makefile.util.def (cmp_test): New test.
8067 (grub_script_strcmp): Likewise.
8068 * tests/cmp_unit_test.c: New file.
8069 * tests/grub_script_strcmp.in: Likewise.
8070 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8071
49717bf4
VS
80722012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 * include/grub/pci.h: Move enums into no-asm part.
8075
0a308f64
VS
80762012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8079
1796965f
ST
80802012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8081
8082 * util/getroot.c (find_hurd_root_device): Try to make error message
8083 and comments to translators clearer.
8084
4e9b2819
VS
80852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8088
076aeb50
VS
80892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8092 btrfs.
8093
19424d94
VS
80942012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * docs/grub.cfg: Update.
8097
ebb73076
VS
80982012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * docs/grub.texi (PXE): Remove not present variables.
8101
9a1b669c
VS
81022012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * grub-core/net/net.c (defserver_set_env): New function.
8105 (defserver_get_env): Likewise.
8106 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8107
d38bf7d3
VS
81082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8111 entries.
8112
81132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8114
8115 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8116 * grub-core/kern/emu/hostdisk.c: Likewise.
8117
e5e4ca48
ST
81182012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8119
8120 Handle hurd userspace partitions.
8121
8122 * util/getroot.c (find_hurd_root_device): New function.
8123 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8124
56bb5dd5
VS
81252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8128 names.
8129 Reported by: Bastian Blank.
8130
9e8bc27a
VS
81312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8134 crossing page boundary.
8135
aa01499d
VS
81362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 Fix B-tree search in BFS, especially in presence of non-ASCII
8139 characters.
8140
8141 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8142 (find_in_b_tree): Use standard bsearch + btree algorithm.
8143
57006035
VS
81442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8147 and so on.
8148
9d34bb85
MG
81492012-05-03 Matthew Garrett <mjg@redhat.com>
81502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 Suspend broadcom cards in order to stop their DMA.
8153
8154 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8155 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8156 (pci): Don't build on x86 EFI.
8157 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8158 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8159 New function.
8160 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8161 stop_broadcom if running on EFI.
8162 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8163 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8164 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8165 (grub_pci_find_capability): New proto.
8166
01aab997
VS
81672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * docs/grub.texi: Remove dot from the extension as it apparently
8170 doesn't work with some makeinfo versions.
8171
fbd8dca6
VS
81722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8175 with GRUB expectance.
8176
dab797f4
VS
81772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8180
1516bfb4
VS
81812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8184 zero after directory block since last entry may be not 0-terminated if
8185 it ends on block boundary. Use continue instead of if spanning whole
8186 loop.
8187
a3a0eace
VS
81882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 Support 4K sectors UDF inline files.
8191
8192 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8193 (grub_udf_extended_file_entry): Likewise.
8194 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8195 All users updated.
8196 (get_fshelp_size): New function.
8197 (grub_udf_read_icb): Read whole block.
8198 (grub_udf_iterate_dir): Likewise.
8199 (grub_udf_dir): Likewise.
8200 (grub_udf_open): Likewise.
8201
c82f16c1
VS
82022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8205
59fd2aac
VS
82062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8209 inline symlinks in addition to workaround.
8210
3b4afb4d
VS
82112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8214
f45c794a
VS
82152012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8218
f25cecbd
VS
82192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8222
bb9a34e8
VS
82232012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 Fix reiserfs big seek times.
8226
8227 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8228 exact. All users updated.
8229 (grub_reiserfs_read): Use nearest btree search for seeking.
8230 Fix return value on error.
8231
dc478aea
VS
82322012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8233
8234 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8235 entries.
8236 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8237 * docs/grub.texi: Update menuentry description.
8238
8db10f47
VS
82392012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8242 crash when embedding onto filesystem.
8243
bcb288ed
VS
82442012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8245
8246 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8247 name.
8248
a626fdd7
VS
82492012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8252
b2f68477
VS
82532012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8254
8255 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8256 commit.
8257
ba15b2af
B
82582012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
82592012-05-01 Bean <bean123ch@gmail.com>
8260
8261 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8262
a188012e
VS
82632012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8266 Special behaviour for len = 0 to read whole file isn't used anywhere and
8267 can cause buffer ovewrflows in several places.
8268
f0a53ed2
VS
82692012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8270
8271 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8272
5ed554f0
VS
82732012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 Handle RAIDZ on non-512B sectors.
8276
8277 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8278 max_children_ashift.
8279 (fill_vdev_info_real): Fill max_children_ashift.
8280 (read_device): Use max_children_ashift.
8281
ddc58357
VS
82822012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8285
e3282399
VS
82862012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8289 disk names.
8290 * docs/grub.texi: Update device.map parts.
8291
ee618bd4
VS
82922012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 Don't scan into non-diskfilter devices having diskfilter names.
8295
8296 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8297 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8298 handling.
8299 (scan_disk_hook): New function.
8300
bdf88864
B
83012012-04-29 Bean <bean123ch@gmail.com>
8302
8303 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8304 allocation.
8305
32745f51
MK
83062012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8307
8308 * configure.ac: Detect starfield theme font path
8309 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8310
bc95c8c0
VS
83112012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8312
8313 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8314 geometry on serial consoles.
8315
147fbcab
VS
83162012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8319 because of network consoles.
8320
0f42c889
VS
83212012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8324 handling.
8325
4a3594c9
VS
83262012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8329 falls on Q syndrom.
8330
5cb53879
VS
83312012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8334 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8335
b282dfe5
VS
83362012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8339 Allocate at lest 8192 for temporary buffer as required for lzo.
8340
daa59f47
VS
83412012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8344 to cluster_bits, since it's already added in.
8345 (grub_fat_read_data): Likewise.
8346
986748ce
VS
83472012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8350 as long as cluster size is multiple of 512 bytes.
8351
a20f6ad0
VS
83522012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 * util/grub-mkrescue.in: Fix locale directory.
8355
385f9abb
VS
83562012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 * grub-core/kern/emu/hostdisk.c (map): Make static.
8359
1c557d30
B
83602012-04-23 Bean <bean123ch@gmail.com>
8361
8362 * util/grub-fstest.c (fstest): Add missing break.
8363
524b5d3a
ST
83642012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8365
8366 Fix hurd build.
8367
8368 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8369 not define nr variable.
fe4824e9 8370 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8371 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8372 grub_find_device): Do not define.
524b5d3a 8373
9a06490c
VS
83742012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 Fix kfreebsd compile and behaviour.
8377
8378 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8379 format-security.
8380 * util/getroot.c: Fix wait.h include.
8381 (grub_guess_root_devices): Error if grub_find_device fails.
8382 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8383 (grub_util_get_dev_abstraction): Likewise.
8384 (grub_util_pull_device): Likewise.
8385 (grub_util_get_grub_dev): Likewise.
8386 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8387
48143d96
VS
83882012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 Fix and unify wholedisk detection.
8391
8392 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8393 is_part. All users updated.
8394 (device_is_wholedisk): Removed.
8395 (grub_util_biosdisk_get_grub_dev): Use is_part.
8396
ebbd24f3
VS
83972012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8400 mode.
8401
56f7aa1e
VS
84022012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * configure.ac: Bump to beta4.
8405
9c815e01
VS
84062012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8409 --fs-uuid --set UUID syntax.
8410
59e2651a
VS
84112012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8414 disunification.
8415
54e03cfc
VS
84162012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8419
81092a75
MK
84202012-04-18 Mads Kiilerich <mads@kiilerich.com>
8421
8422 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8423
f8315e14
MG
84242012-04-18 Mike Gilbert <floppym@gentoo.org>
8425
8426 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8427
1501ac21
B
84282012-04-18 Bean <bean123ch@gmail.com>
8429
8430 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8431 place.
8432
cb7f944e
VS
84332012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8436 users updated.
8437 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8438 corresponding to GRUB partitions.
8439 (grub_util_biosdisk_write): Likewise.
8440
b72d44a1
VS
84412012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 Scan mdraid before LVM.
8444
8445 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8446 (grub_diskfilter_register_front): ... this.
8447 (grub_diskfilter_register_back): New function.
8448 All users of grub_diskfilter_register updated.
8449
33d918b8
VS
84502012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 * util/grub-install.in: Fix an automatic target detection bug.
8453
c6ca973d
VS
84542012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * util/grub-install.in: New option --efi-directory.
8457
b41be562
VS
84582012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8461 boot services if we have no other choice.
8462
84632012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8466 document it.
8467 * tests/util/grub-shell.in: Update to --directory.
8468
e0595a73
VS
84692012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8472
4ed80652
VS
84732012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8476 (grub_minix_read_file): Likewise.
8477 (grub_minix_read_inode): Likewise.
8478 (grub_minix_find_file): Likewise.
8479 (grub_minix_dir): Likewise.
8480
56008077
VS
84812012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * util/grub-setup.c (setup): Fix partition handling and blocklist
8484 check.
8485
ee520775
VS
84862012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8489 redundant buggy overlap check.
8490
16fc9293
VS
84912012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8494 and grub-mknetdir.
8495
9bab65c4
VS
84962012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8499 kh.loadflags on pre-2.00 kernels.
8500
3c491b47
VS
85012012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 Terminate UNDI and PXE before launching the payload to avoid problems
8504 with DMA.
8505
8506 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8507 (grub_loader_flags): ... this. All users updated.
8508 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8509 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8510 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8511 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8512 function.
8513 (grub_pxe_restore): Likewise.
8514 (fini_hnd): New var.
8515 (GRUB_MOD_INIT): Register shutdown hook.
8516 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8517 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8518 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8519 (grub_loader_set): Rename second argument to flags.
8520
851ffada
VS
85212012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8524 written bytes.
8525 (grub_get_num_of_utf8_bytes): New function.
8526 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8527 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8528 executing it.
8529 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8530 (grub_ucs4_to_utf8): Change return type.
8531
491c57a8
VS
85322012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8535 warning.
851ffada
VS
8536 * grub-core/fs/bfs.c (hop_level): Likewise.
8537 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 8538
756773df
VS
85392012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * grub-core/lib/adler32.c: Recode due to license unclearness.
8542
fd556a96
VS
85432012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8546 (test_header): Likewise.
8547
9f9d3f69
VS
85482012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 Fix --help formatting.
8551
8552 * util/grub-mkconfig_lib.in (print_option_help): New function.
8553 (grub_fmt): Likewise.
8554 * util/grub-install.in: Use print_option_help and grub_fmt.
8555 * util/grub-kbdcomp.in: Likewise.
8556 * util/grub-mkconfig.in: Likewise.
8557 * util/grub-mknetdir.in: Likewise.
8558 * util/grub-mkrescue.in: Likewise.
8559 * util/grub-mkstandalone.in: Likewise.
8560 * util/grub-reboot.in: Likewise.
8561 * util/grub-set-default.in: Likewise.
8562 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8563
561ec77e
VS
85642012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * linguas.sh: Remove autogenerated *.po.
8567
7ec2b021
VS
85682012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * po/README: Move language fetcing to ...
8571 * linguas.sh: ... here.
8572 * po/README: Point to linguas.sh.
8573
a88f3270
VS
85742012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * po/README: Exclude ko.po due to disclaimer problems.
8577
d61357ce
VS
85782012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8581 len = 0.
8582 (grub_gettext_translate_real): Handle 0th string.
8583 (grub_gettext_translate): Ensure that "" isn't translated.
8584
505e41dc
VS
85852012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8588 TRANSLATORS comment.
8589 (grub_diskfilter_print_partmap): Propagate changing of error into
8590 warning.
8591
e44092db
VS
85922012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8595 to uint64_t to prevent overflow.
8596 (grub_diskfilter_lv): Increase start_extent and extent_count
8597 to uint64_t to prevent overflow.
8598
9b83956a
VS
85992012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * configure.ac: Increase version.
8602
da0d5b3f
VS
86032012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8606
8607 * po/Rules-translit: New file.
8608 * po/arabic.sed: Likewise.
8609 * po/cyrillic.sed: Likewise.
8610 * po/greek.sed: Likewise.
8611 * po/hebrew.sed: Likewise.
8612 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8613 * po/Makefile.in.in: Add extra_dist4.
8614
ac66b453
VS
86152012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8618
8619 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8620 modify names. Introduce MODE_BIGENDIAN.
8621 * grub-core/fs/minix_be.c: New file.
8622 * grub-core/fs/minix2_be.c: Likewise
8623 * grub-core/fs/minix3_be.c: Likewise.
8624 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8625 minix3_be.
8626 * grub-core/Makefile.core.def (minix_be): New module.
8627 (minix2_be): Likewise.
8628 (minix3_be): Likewise.
8629
86302012-04-01 Felix <email@hamburg.de>
8631
8632 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8633 (devs): Add MBP 2011.
8634
0a2d5a82
VS
86352012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8638
d1625889
VS
86392012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * grub-core/normal/cmdline.c (print_completion): New field
8642 prompt_len.
8643 (grub_cmdline_get): Handle width properly.
8644
6d36a236
VS
86452012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8648
9576977e
VS
86492012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8652 after 29th of February.
9576977e 8653
d73ff15d
VS
86542012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 Fix exfat endianness handling.
8657
8658 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8659 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8660 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8661 Byte-swap utf16 when necessary.
8662 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8663
bbb39a45
AB
86642012-03-31 Anton Blanchard <anton@samba.org>
86652012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 Fix btrfs endianness handling.
8668
8669 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8670 (lower_bound): Make root uint64_t. Use root in le.
8671 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8672 (find_path): Fix template key init.
8673 (grub_btrfs_dir): Fix mtime byteswap.
8674 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
8675
354e0af7
VS
86762012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
8679 recursion_depth. Break infinite resursions. All users updated.
8680
4e75f21c
VS
86812012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
8684 after free.
8685 Reported by: Peter Jones.
8686
25581802
AB
86872012-03-31 Anton Blanchard <anton@samba.org>
8688
8689 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8690 8 bit values.
8691
08fbf92e
VS
86922012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * util/grub-install.in: Fix nvram call for PreP.
8695
5d1182a6
VS
86962012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
8699 the error when some elements are missing into a warning.
8700
3f8cdd90
VS
87012012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
8704
51006716
CW
87052012-03-28 Colin Watson <cjwatson@ubuntu.com>
8706
8707 * docs/grub.texi (Invoking grub-probe): New section.
8708 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
8709
e1bd676b
VS
87102012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 Fix tab and wide character handling in editor and menu.
8713
8714 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
8715 agglomerate control characters with combining marks.
8716 (bidi_line_wrap): Allow break on tab.
8717 (grub_unicode_get_comb_start): New function.
8718 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
8719 and tab correctly.
8720 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
8721 with a space.
8722 * grub-core/normal/term.c (print_ucs4_terminal): New argument
8723 fixed_tab_size. All users updated.
8724 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
8725 (grub_term_getcharwidth): Handle \t.
8726 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
8727 and copy.
8728
22e6a774
VS
87292012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 Handle big-endian mdraid.
8732
8733 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
8734 * grub-core/Makefile.core.def (mdraid09_be): New module.
8735 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
8736 rather than grub_le_to_cpu* and grub_cpu_to_le*.
8737 * grub-core/disk/mdraid_linux_be.c: New file.
8738
3c0eae66
VS
87392012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
8742
b6cf74c9
VS
87432012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8746 missing quotes which caused confusion among translators.
8747
83c93b9c
VS
87482012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 * util/grub-mkconfig_lib.in: Fix typo.
8751
ac6fd218
VS
87522012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8753
8754 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
8755 spaces.
8756 * tests/grub_script_leading_whitespace.in: New file.
8757 * Makefile.util.def (grub_script_leading_whitespace): New test.
8758
ba287dd8
VS
87592012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
8762 to work.
8763
d2d58d0a
VS
87642012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
8767 starts with control character.
8768
0382d9bb
VS
87692012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
8772 overflow.
8773 (grub_gdb_outbuf): Likewise.
8774
d83ff9f9
VS
87752012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
8778 zero terminator. Fixes a crash.
8779
2282da4a
VS
87802012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
8783 beyond 4 GiB.
8784 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
8785 images independently of preffered adderss field.
8786
0ae4f0bd
VS
87872012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
8790 * grub-core/commands/regexp.c: Likewise.
8791 * grub-core/loader/i386/linux.c: Likewise.
8792 * grub-core/partmap/msdos.c: Likewise.
8793 * grub-core/script/execute.c: Likewise.
8794 * grub-core/term/gfxterm.c: Likewise.
8795
546fbe9b
VS
87962012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 Add variable parsing in $"..." and fix several mismatches with bash.
8799
8800 * Makefile.util.def (grub_script_gettext): New test.
8801 * grub-core/script/execute.c (parse_string): New function.
8802 (gettext_append): Likewise.
8803 (grub_script_arglist_to_argv): Use gettext_append.
8804 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
8805 * tests/grub_script_gettext.in: New file.
8806
9fdb2d7b
VS
88072012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 Fix handling of leading spaces in scripts.
8810
8811 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
8812 spaces.
8813 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
8814 other than skipping \r. All users updated.
8815 * tests/grub_script_echo1.in: Add space-related tests.
8816 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
8817
1a1ac4f6
VS
88182012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
8821
b63d89b6
VS
88222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * configure.ac: Bump up the version to beta2.
8825
17f38c0f
VS
88262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 Fix gettext reload bugs (e.g. inability to disable gettext
8829 once enabled).
8830
8831 * grub-core/gettext/gettext.c: Encapsulate all static variables in
8832 main_context and secondary_context. All functions updated.
8833 (grub_gettext_translate): Rename to ...
8834 (grub_gettext_translate_real): ... this. Return NULL on failed
8835 translate.
8836 (grub_gettext_translate): Handle secondary context.
8837 (grub_gettext_delete_list): Close file and zero-out the context.
8838 (grub_mofile_open): Don't call grub_gettext_delete_list.
8839 Don't close file.
8840 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
8841 if locale="" to avoid pointless error message.
8842 (grub_gettext_env_write_lang): Update lang even if load fails.
8843 Handle secondary context.
8844 (grub_gettext_reread_prefix): New function.
8845 (read_main): Likewise.
8846 (read_secondary): Likewise.
8847 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
8848 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
8849 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
8850 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
8851
8e56f870
VS
88522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * configure.ac: Decrease warning level to avoid spurious warnings and
8855 to be able to compile with GCC 4.2.
8856 * Makefile.util.def: Remove -Wno-error=logical-op.
8857
82f6d455
WB
88582012-03-10 William Bittner <william.bittner@gmail.com>
8859
8860 * util/import_unicode.py: Add missing brackets around string for
8861 python 3 support.
8862
1ecd61a4
VS
88632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 Fix efi chainloader on network root.
8866
8867 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
8868 network devices.
8869 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
8870 New function.
8871
14361ee8
VS
88722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
8875 unused show_text member.
8876 * docs/grub.texi: Document "text" property.
8877
922aabf3
VS
88782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
8881 in dprintf.
8882
ec316771
VS
88832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 Fix IMSM handling on Fedora.
8886
8887 * util/getroot.c (grub_util_is_imsm): New function.
8888 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
8889
0f021838
VS
88902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8891
8892 * Makefile.am: Strip gold section.
8893 * conf/Makefile.common: Likewise.
8894 * gentpl.py: Likewise.
8895 * grub-core/Makefile.core.def: Likewise.
8896 * grub-core/genmod.sh.in: Likewise.
8897
1039c8eb
VS
88982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
8901 * util/grub.d/20_linux_xen.in: Likewise.
8902 Based on Debian patch.
8903
6dd412cd
VS
89042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * util/grub.d/10_linux.in: Fix syntax error resulting in
8907 Richard Laager's patch.
8908 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
8909
3fd8bae5
VS
89102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
8913 dependencies.
8914
7eea1671
RL
89152012-03-10 Richard Laager <rlaager@wiktel.com>
8916
8917 * util/grub.d/10_linux.in: Fix ZFS root passing.
8918
e8e0566b
VS
89192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
8922 * grub-core/commands/xnu_uuid.c: Likewise.
8923 * grub-core/loader/efi/appleloader.c: Likewise.
8924 * grub-core/script/execute.c: Likewise.
8925 * grub-core/script/main.c: Likewise.
8926 * util/grub-mkfont.c: Likewise.
8927
1acc5b1f
VS
89282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * util/grub-mkfont.c (options): Use more appropriate "select" that
8931 "set" for face index.
8932
35d70620
VS
89332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 * util/grub-editenv.c (options): Gettextize command summaries.
8936
c9eb96b5
VS
89372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
8940 "out of memory" error messagge.
8941
1f493136
VS
89422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
8945 of diskfilter for diskfilter on diskfilter support.
8946
6d790129
VS
89472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
8950
005f46c9
VS
89512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 * util/grub-install.in: Check for themes/starfield/theme.txt and not
8954 themes/starfield.
8955
c8f778a0
VS
89562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
8959
de1e64eb
VS
89602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
8963
c6d54211
VS
89642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
8967 of error message.
8968
dd390777
VS
89692012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
8972
5fd1c522
VS
89732012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
8976 message.
c6d54211 8977 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 8978
fae01f6c
VS
89792012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
8982 Gettextize.
8983 * util/grub-mount.c (options): Likewise.
8984
292fdaff
VS
89852012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8986
8987 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
8988 gettextize.
8989 * grub-core/commands/search_wrap.c (options): Likewise.
8990
ecdbae77
VS
89912012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
8994
52bfedfa
VS
89952012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
8998 size calculation.
8999 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9000 none is known.
9001
55b20e58
VS
90022012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9005 "temporary" since it's used in identifier and is limited in space.
9006
fda9d101
VS
90072012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * po/POTFILES.in: Regenerate. Include *.h since they contain
9010 translatable strings as well.
9011
6a0295e2
VS
90122012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9015 byte-swap on big-endian.
9016 Reported by: Lennart Sorensen
9017
807fb77c
VS
90182012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9021 (allocate_pages): Improve dprintf.
9022 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9023 code32_start. Fill code32_start and kernel_alignment in params.
9024 (grub_cmd_initrd): Use prot_init_space.
9025
61ac50ba
VS
90262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9029
abdd26dd
VS
90302012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * util/grub-install.in: Add missing dot at the end of sentence.
9033
6e69da9c
VS
90342012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9037 * grub-core/commands/videotest.c: Likewise.
9038 * grub-core/loader/i386/linux.c: Likewise.
9039
4a929343
VS
90402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9043 sentence.
9044 Reported by: Milo Casagrande.
9045
bb51c6c6
VS
90462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9049 * grub-core/commands/gptsync.c: Likewise.
9050 * grub-core/commands/hashsum.c: Likewise.
9051 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9052 * grub-core/commands/legacycfg.c: Likewise.
9053 * grub-core/io/gzio.c: Likewise.
9054 * grub-core/net/net.c: Likewise.
9055 * grub-core/term/gfxterm.c: Likewise.
9056 * grub-core/term/terminfo.c: Likewise.
9057 * grub-core/tests/test_blockarg.c: Likewise.
9058 * grub-core/video/video.c: Likewise.
9059 * util/grub-install.in: Likewise.
9060 * util/grub-mkfont.c: Likewise.
9061
b2b149cb
VS
90622012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9065
c7c080ad
VS
90662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9069 Reported by: David Prévot.
c7c080ad 9070
f2e243c0
VS
90712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9074 description.
9075
09963c76
VS
90762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * util/grub-script-check.c (main): Fix a syntax error message which was
9079 unclear.
9080
a50514a8
VS
90812012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9084
4650daec
VS
90852012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9088 messages.
9089
90902012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9091
9092 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9093 without argument.
9094 * util/grub-mount.c (options): Likewise.
9095
bbc5a342
VS
90962012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9099
ef292a87
VS
91002012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * grub-core/net/http.c: Add TRANSLATORS comments.
9103 * grub-core/normal/cmdline.c: Likewise.
9104 * grub-core/normal/misc.c: Likewise.
9105 * grub-core/partmap/msdos.c: Likewise.
9106 * grub-core/parttool/msdospart.c: Likewise.
9107 * grub-core/script/execute.c: Likewise.
9108 * grub-core/script/main.c: Likewise.
9109 * grub-core/term/terminfo.c: Likewise.
9110 * grub-core/video/bitmap.c: Likewise.
9111 * util/grub-install.in: Likewise.
9112 * util/grub-mkimage.c: Likewise.
9113 * util/grub-mklayout.c: Likewise.
9114 * util/grub-setup.c: Likewise.
9115
0fc19bd0
VS
91162012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9119 with similar messages in grub-fstest.
9120
d95862ef
VS
91212012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 * util/grub-install.in: Unify "option requires an argument" message
9124 with similar messages in other files.
9125 * util/grub-mkconfig.in: Likewise.
9126
b7308f90
VS
91272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 * util/grub-set-default.in: Replace printf with gettext_printf (the
9130 string in in question is already translated from grub-reboot)
9131
559dc587
VS
91322012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * configure.ac: Bump up the version to beta1.
9135
1a11761f
VS
91362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9139 case when min_align = 0.
9140
24539abd
VS
91412012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9144 and fix a case when line_start overflows.
9145
32bd735b
VS
91462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 * util/grub-reboot.in (usage): Mention id posibility.
9149 * util/grub-set-default.in (usage): Likewise.
9150
1a2fd1e6
VS
91512012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9152
9153 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9154 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9155 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9156 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9157 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9158 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9159 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9160
90eeab76
VS
91612012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 * grub-core/commands/menuentry.c (options): Remove
9164 GRUB_ARG_OPTION_REPEATABLE.
9165 Reported by: Andreas Vogel
9166
5ad1be82
AV
91672012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9168
9169 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9170
cb055286
HE
91712012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9172
9173 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9174 error.
9175
93b1cd79
VS
91762012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 Use sort -V by the idea of Georgi Georgiev.
9179
9180 * util/grub-mkconfig_lib.in (version_sort): New function.
9181 (version_test_numeric): Use version_sort.
9182
0cdc126c
VS
91832012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 Use submenus in grub-mkconfig.
9186
9187 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9188 * util/grub-mkconfig_lib.in (grub_quote): New function.
9189 (gettext_printf): Use gettext and not gettext_quoted to fix several
9190 messages.
9191 * util/grub.d/10_hurd.in: Use submenus.
9192 * util/grub.d/10_kfreebsd.in: Likewise.
9193 * util/grub.d/10_linux.in: Likewise.
9194 * util/grub.d/10_netbsd.in: Likewise.
9195 * util/grub.d/20_linux_xen.in: Likewise.
9196 * util/grub.d/30_os-prober.in: Likewise.
9197 * util/grub.d/10_illumos.in: Add missing quoting.
9198 * util/grub.d/10_windows.in: Likewise.
9199
d9bef9bc
VS
92002012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 Fix menu title instability bug.
9203
9204 * grub-core/commands/menuentry.c (options): New option --id.
9205 (grub_normal_add_menu_entry): New argument id. All users updated.
9206 (grub_cmd_menuentry): Handle --id.
9207 (grub_menu_init): Accept unknown arguments.
9208 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9209 feature_menuentry_options.
9210 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9211 saved_entry.
9212 (get_entry_number): Match with id as well.
9213 * include/grub/menu.h (grub_menu_entry): New member id.
9214 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9215 * util/grub.d/00_header.in: Define menuentry_id_option.
9216 * util/grub.d/10_hurd.in: Define id.
9217 * util/grub.d/10_illumos.in: Likewise.
9218 * util/grub.d/10_kfreebsd.in: Likewise.
9219 * util/grub.d/10_linux.in: Likewise.
9220 * util/grub.d/10_netbsd.in: Likewise.
9221 * util/grub.d/10_windows.in: Likewise.
9222 * util/grub.d/20_linux_xen.in: Likewise.
9223 * util/grub.d/30_os-prober.in: Likewise.
9224
92252012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9226
9227 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9228 "scope" with "body".
9229
7c8d0ce7
VS
92302012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9233 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9234 prot_size and prot_file_size.
9235
49de079b
VS
92362012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9239 All users updated. If easily=1 require raid-5/-6 to be full.
9240 (is_node_readable): Likewise.
9241 (scan_devices): Scan incomplete but readable LVs at the end.
9242 (grub_diskfilter_memberlist): Pull missing devices.
9243 (insert_array): Skip scanning until device is complete or scan is
9244 done otherwise.
9245 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9246 check.
9247 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9248 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9249
aff05d45
MG
92502012-03-03 Matthew Garrett <mjg@redhat.com>
92512012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 Avoid EFI boot services when loading Linux.
9254
9255 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9256 avoid_efi_bootservices. All users updated.
9257 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9258 argument avoid_efi_bootservices. All users updated.
9259 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9260 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9261 align, min_align, relocatable, prefered_address. All users updated.
9262 Allocate avoiding boot services if kernel is relocatable.
9263 (grub_cmd_linux): Check if kernel is relocatable.
9264 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9265 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9266 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9267 avoid_efi_boot_services.
9268 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9269 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9270 (linux_kernel_params): Likewise.
9271
3935dde2
MG
92722012-03-03 Matthew Garrett <mjg@redhat.com>
92732012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 Use EDID on EFI.
9276
9277 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9278 datasize_out.
9279 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9280 modes. Set gop_handle.
9281 (grub_video_gop_get_edid): New function.
9282 (grub_gop_get_preferred_mode): Likewise.
9283 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9284 (grub_video_efi_gop_adapter): Set .get_edid.
9285 * include/grub/efi/edid.h: New file.
9286 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9287
32107ec0
VS
92882012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 * util/grub-install.in: Load efivars unconditionally.
9291
e70a2c50
VS
92922012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * po/Rules-piglatin: Change suffix from .po-update-en to
9295 .po-update-en-piglatin.
9296
8f9cace1
VS
92972012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 Add a pig farm.
9300
9301 * po/piglatin.sed: New file.
9302 * po/en@piglatin.header: Likewise.
9303 * po/Rules-piglatin: Likewise.
9304 * po/README: Add en@piglatin to autogenerated languages.
9305
8f95d002
VS
93062012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9309 "Command for ...".
9310 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9311 "Check" since we don't check anything.
9312 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9313 is 64-bit one.
9314 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9315 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9316 (grub_md_sha512_real): Likewise.
9317
805a8dcc
VS
93182012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * grub-core/commands/gptsync.c: Fix typographic quoting.
9321 * grub-core/commands/ieee1275/suspend.c: Likewise.
9322 * grub-core/commands/parttool.c: Likewise.
9323 * grub-core/commands/search_wrap.c: Likewise.
9324 * grub-core/commands/videoinfo.c: Likewise.
9325 * grub-core/gfxmenu/gui_label.c: Likewise.
9326 * grub-core/hello/hello.c: Likewise.
9327 * grub-core/kern/emu/main.c: Likewise.
9328 * grub-core/net/net.c: Likewise.
9329 * grub-core/normal/menu.c: Likewise.
9330 * grub-core/normal/menu_text.c: Likewise.
9331 * grub-core/normal/misc.c: Likewise.
9332 * util/grub-editenv.c: Likewise.
9333 * util/grub-install.in: Likewise.
9334 * util/grub-kbdcomp.in: Likewise.
9335 * util/grub-mkconfig.in: Likewise.
9336 * util/grub-mknetdir.in: Likewise.
9337 * util/grub-mkrescue.in: Likewise.
9338 * util/grub-mkstandalone.in: Likewise.
9339 * util/grub-reboot.in: Likewise.
9340 * util/grub-set-default.in: Likewise.
9341 * util/grub-setup.c: Likewise.
9342 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9343
40211ab8
VS
93442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9347 * grub-core/commands/keystatus.c: Likewise.
9348 * grub-core/commands/loadenv.c: Likewise.
9349 * grub-core/commands/probe.c: Likewise.
9350 * grub-core/commands/regexp.c: Likewise.
9351 * grub-core/commands/true.c: Likewise.
9352 * grub-core/commands/videoinfo.c: Likewise.
9353 * grub-core/disk/cryptodisk.c: Likewise.
9354 * grub-core/disk/ldm.c: Likewise.
9355 * grub-core/disk/loopback.c: Likewise.
9356 * grub-core/disk/luks.c: Likewise.
9357 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9358 * grub-core/kern/disk.c: Likewise.
9359 * grub-core/kern/emu/hostdisk.c: Likewise.
9360
0c7d99c7
VS
93612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9364 * util/grub-install.in: Add missing quote in the comment.
9365
e7d2559b
VS
93662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9369 * grub-core/commands/lsmmap.c: Likewise.
9370 * grub-core/commands/minicmd.c: Likewise.
9371 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9372 * grub-core/commands/regexp.c: Likewise.
9373 * grub-core/gdb/gdb.c: Likewise.
9374 * grub-core/term/gfxterm.c: Likewise.
9375 * util/grub-mkconfig.in: Likewise.
9376 * util/grub-mkfont.c: Likewise.
9377 * util/grub-mklayout.c: Likewise.
9378 * util/grub-mknetdir.in: Likewise.
9379 * util/grub-mkrescue.in: Likewise.
9380 * util/grub.d/30_os-prober.in: Likewise.
9381
49ce9e50
VS
93822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9385 with "Direct color" and "Packed" with "Packed pixel".
9386 (grub_cmd_videoinfo): Simplify legend.
9387
e4b791fa
VS
93882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9391 absolutely unclear error message.
9392
fd1265cb
VS
93932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9394
9395 * util/grub-mkstandalone.in: Remove confusing leftover print.
9396
8822a8a0
VS
93972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9400 comments.
9401 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9402 (GRUB_MOD_INIT): Likewise.
9403 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9404 VGA mode.
9405 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9406 comments.
9407 * util/grub-install.in (usage): Likewise.
9408 Spell ID in whole letters.
9409 Add missing ending dot.
9410 Quote variables.
9411 * util/grub-reboot.in: Fix capitalisation.
9412 * util/grub-set-default.in: Likewise.
9413
937fd0cc
VS
94142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9417 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9418 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9419 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9420 Disable -Werror for -Wdeprecated-declarations.
9421 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9422 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9423 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9424 (grub_util_get_grub_dev): Make luks handling dependent on
9425 HAVE_DEVICE_MAPPER and not __linux__.
9426 (get_win32_path): Fix format security.
9427 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9428 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9429 Don't try grub_find_zpool_from_dir.
9430 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9431 #ifdef-out paresdir.
9432
1bab1ae3
VS
94332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * util/grub-pe2elf.c (usage): Add missing noreturn.
9436 (write_section_data): Rename name to shname to avoid shadowing.
9437 (write_symbol_table): Rename name to symname to avoid shadowing.
9438 Fix write_reloc_section call.
9439
ef023e42
VS
94402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9443 to ensure that it's after the last byte of .text.
9444
48afcb75
VS
94452012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 * util/ieee1275/ofpath.c (my_isdigit): New function.
9448 (trailing_digits): Use my_isdigit.
9449 (strip_trailing_digits): Likewise.
9450
88d51eff
VS
94512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9454 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9455
17edc2ba
VS
94562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * grub-core/kern/i386/pc/startup.S: Define __start.
9459
ad5518d7
VS
94602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9463 strip already transforms he format.
9464
9e95e1bf
VS
94652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9468
9cc3ee5c
VS
94692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * util/grub-install.in: Add missing gettext init.
9472 * util/grub-kbdcomp.in: Likewise.
9473 * util/grub-mkconfig.in: Likewise.
9474 * util/grub-mknetdir.in: Likewise.
9475 * util/grub-mkrescue.in: Likewise.
9476 * util/grub-mkstandalone.in: Likewise.
9477 * util/grub-reboot.in: Likewise.
9478 * util/grub-set-default.in: Likewise.
9479 * util/grub.d/00_header.in: Likewise.
9480 * util/grub.d/10_hurd.in: Likewise.
9481 * util/grub.d/10_windows.in: Likewise.
9482 * util/grub.d/30_os-prober.in: Likewise.
9483 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9484
49e08a06
VS
94852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 * po/Rules-swiss: Fix header comment.
9488
3809cb41
AV
94892012-02-29 Andreas Vogel <anvoit>
9490
9491 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9492 resulted in leak of arguments.
9493
fa6ec573
VS
94942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9497 reed_solomon_size const definition instead of computing it since
9498 Apple assembler doesn't support the later.
9499
22899b9c
VS
95002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 * gentpl.py (kernel): Rewrite Apple part.
9503
a132afc3
VS
95042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9507
9d742bd4
VS
95082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9511 ELF section gap.
9512 (load_image): Likewise.
9513
f04a9a21
VS
95142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 * configure.ac: Fix a typo in previous commit.
9517
46cf439c
VS
95182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 Don't add -Wl,-N on Apple platform.
9521
9522 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9523 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9524
c4c48c54
VS
95252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * grub-core/Makefile.core.def (lzma_decompress): Use
9528 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9529
31a12124
VS
95302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 * grub-core/genmod.sh.in: Rewrite the Apple part.
9533
4f3aa1af
VS
95342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9537 comparison.
9538
7bd8b0c7
VS
95392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * acinclude.m4 (grub_CHECK_PIC): New test.
9542 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9543
97304d7c
VS
95442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9547 to avoid the warning.
9548
fb883812
VS
95492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9552 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9553 after. All users updated.
9554
a121c964
VS
95552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 Use the common size routine in hostfs so we can read disks as well.
9558
9559 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9560 (grub_util_get_fd_size): ... this. Return size in bytes.
9561 All users updated.
9562 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9563 grub_util_get_fd_size.
9564
c66d6410
VS
95652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9568 Add blocksize retrieval.
9569
dfc8aeb0
VS
95702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9571
9572 * configure.ac: Restore CFLAGS after efiemu check.
9573
403e25a5
VS
95742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9577 Apple bug.
9578
382775d1
VS
95792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9582
6fd4e6e4
VS
95832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9586 (grub_cmd_halt): Likewise.
9587
bea359d6
VS
95882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9591 for local arithmetics.
9592 Break %sp init into 2 instructions.
9593 Add 0 byte at the end.
9594
32eb6ee1
VS
95952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9598 before loops.
9599
e8377389
VS
96002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9603 for context.
9604
8cb17de7
VS
96052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 * grub-core/disk/ldm.c (make_vg): Init part.name.
9608 (grub_ldm_detect): Silence spurious warning.
9609 (grub_util_is_ldm): Likewise.
9610
595717e6
VS
96112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9614 sane value to avoid a spurious warning.
9615
c4b7e588
VS
96162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9619 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9620
59824957
VS
96212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9624 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9625
70115b99
VS
96262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9629 hardcoding the relevant info.
9630
56733740
VS
96312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9632
9633 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9634 missing const qualifiers.
9635 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9636
43481481
VS
96372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * util/getroot.c [__APPLE__]: Add missing includes.
9640 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9641
3cb38f01
VS
96422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9645
d9dbf11e
VS
96462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9649 avoid conflicts.
9650
0c42a45d
VS
96512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9654
46c34eb0
VS
96552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9658 and grub_file_close call.
9659
99ce1597
VS
96602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9661
9662 Add LZSS Mach-O support (needed for new xnu kernelcache).
9663
9664 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9665 * grub-core/loader/lzss.c: New file.
9666 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9667 on Mach-O open failure.
9668 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9669 Don't free cmdsXX in uncompressedXX is set.
9670 (grub_macho_file): Init new fields.
9671 New argument is_64bit. All users updated.
9672 Handle compressed. Error out if no suitable architecture is found.
9673 Don't close file.
9674 (grub_macho_open): New argument is_64bit. All users updated.
9675 * grub-core/loader/macho32.c: Add defines for new fields.
9676 * grub-core/loader/macho64.c: Likewise.
9677 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
9678 (grub_macho_parse): Handle compressed.
9679 Defer actual processing if compressed.
9680 (grub_macho_cmds_iterate): Decompress if compressed. New argument
9681 "filename". All users updated.
9682 (grub_macho_size): New argument "filename". All users updated.
9683 (grub_macho_get_entry_point): Likewise.
9684 (grub_macho_load): Handle compressed.
9685 * include/grub/macho.h (grub_macho_lzss_header): New struct.
9686 (GRUB_MACHO_LZSS_OFFSET): New define.
9687 (grub_decompress_lzss): New proto.
9688 * include/grub/machoload.h (grub_macho_file): New fields to handle
9689 compressed.
9690 (grub_macho_contains_macho64): Remove proto.
9691 (grub_macho_contains_macho32): Likewise.
9692 * util/grub.d/30_os-prober.in: Use kernel cache if available.
9693
ebd17d6f
VS
96942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
9697
2702b4e4
VS
96982012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 Fix make dist.
9701
9702 * Makefile.am (starfield_theme_files): New var.
9703 (starfield_DATA): Use starfield_theme_files.
9704 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
9705 Add bootcheck-related files.
9706 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
9707 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
9708 and font_char_metrics.txt.
9709 * grub-core/Makefile.core.def (kernel): Update extra_dist.
9710 (setjmp): Add lib/ia64/longjmp.S.
9711 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
9712 * po/POTFILES.in: Regenerate.
9713 * po/Rules-swiss: use DISTFILES.common.extra2 and not
9714 DISTFILES.common.extra1.
9715 * util/devicemap.c: Removed.
9716 * grub-core/lib/i386/relocator_backward.S: Likewise.
9717 * util/import_gcry.py: Remove unused files. Add extra_dist for
9718 ChangeLog.
9719
cf1adfdf
VS
97202012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * grub-core/gettext/gettext.c (grub_mofile_open): Call
9723 grub_gettext_delete_list before changing grub_gettext_max to avoid
9724 running out of array bounds.
9725
97262012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
9727
9728 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
9729 grub_vga_text_init/grub_vga_text_fini.
9730
cf1adfdf 97312012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
9732
9733 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
9734
541d92e9
VS
97352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * configure.ac: Bump to 2.00~beta0.
9738
7931dddf
VS
97392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
9742 missing initialisation.
9743
f1b16fa3
VS
97442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
9747
83ddae23
VS
97482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 Support v2 xnu boot arguments.
9751
9752 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
9753 New argument fsbfreq_out.
9754 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
9755 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
9756 be used.
9757 * grub-core/loader/machoXX.c (grub_macho_load): New argument
9758 darwin_version.
9759 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
9760 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
9761 (grub_xnu_boot_params): Rename to ...
9762 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
9763 (grub_xnu_boot_params_v2): New struct.
9764
dc693fe6
VS
97652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
9768 zeroing of CRC field before computing CRC.
9769
5a6e39c2
VS
97702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
9773 Change order of allocations to decrease fragmentation.
9774
6c21f5d7
VS
97752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
9778
cfe456dc
CW
97792012-02-27 Colin Watson <cjwatson@ubuntu.com>
9780
9781 Use write-combining MTRR to speed up video with buggy BIOSes.
9782
9783 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
9784 (cpuid): New define.
9785 (rdmsr): Likewise.
9786 (wrmsr): Likewise.
9787 (mtrr_base): Likewise.
9788 (mtrr_mask): Likewise.
9789 (grub_vbe_enable_mtrr_entry): New function.
9790 (grub_vbe_enable_mtrr): Likewise.
9791 (grub_vbe_disable_mtrr): Likewise.
9792 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
9793 control off to BIOS.
9794 (grub_video_vbe_init): Fill mtrr.
9795 (grub_video_vbe_fini): Disable mtrr.
9796 (grub_video_vbe_get_info_and_fini): Likewise.
9797 (grub_video_vbe_setup): Enable mtrr.
9798
e3c78337
CW
97992012-02-27 Colin Watson <cjwatson@ubuntu.com>
9800
9801 * include/grub/partition.h (grub_partition_map): Change prototype of
9802 embed to take a maximum value for nsectors.
9803 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
9804 * include/grub/fs.h (grub_fs): Likewise.
9805 * grub-core/partmap/msdos.c (embed_signatures): New array.
9806 (pc_partition_map_embed): Check for and avoid sectors matching any
9807 of the signatures in embed_signatures, up to max_nsectors.
9808 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
9809 returned sector map to max_nsectors.
9810 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
9811 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
9812 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
9813 * util/grub-setup.c (setup): Allow for the embedding area being
9814 split into multiple blocklists. Tell dest_partmap->embed the
9815 maximum number of sectors we care about.
9816
98172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
9820 Specify blocklist_install and reserver_first_sector for all fs.
9821 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
9822 blocklists.
9823
984b973f
VS
98242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * util/grub-install.in: Clarify strings.
9827 Fix source dir check.
9828
f122e0d6
RL
98292012-02-27 Richard Laager <rlaager@wiktel.com>
9830
9831 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
9832 "zfs" and "fuse.zfs" as synonyms.
9833
071114bb
VS
98342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * configure.ac: Put platform and target_cpu substitutions back since
9837 they are used for directories.
9838
817e6abc
RL
98392012-02-27 Richard Laager <rlaager@wiktel.com>
98402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * util/grub.d/10_linux.in: Add ZFS-related arguments.
9843 * util/grub.d/20_linux_xen.in: Likewise.
9844
897b7419
RL
98452012-02-27 Richard Laager <rlaager@wiktel.com>
9846
9847 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
9848 with full paths.
9849
a414bd15
RL
98502012-02-27 Richard Laager <rlaager@wiktel.com>
9851
9852 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
9853 unescape.
9854
30ac48c4
VS
98552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 Don't use insecure popen in getroot.
9858
9859 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
9860 (exec_pipe): ... here.
9861 (find_root_devices_from_poolname): Use exec_pipe.
9862
53f13848
VS
98632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 Remove platform and target_cpu replacement.
9866
9867 * configure.ac: Remove platform and target_cpu substitutions.
9868 * tests/util/grub-shell.in: Use modinfo.
9869 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
9870 explicitly.
9871
90cb2803
VS
98722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 Autodetect platform in grub-install but allow override.
9875
9876 * util/grub-install.in: Autodetect platform. Support --target and
9877 --directory. Read platform from modinfo.sh.
9878
b9136427
VS
98792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 Support btrfs multi-volume probe.
9882
9883 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
9884 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
9885 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
9886 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
9887 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
9888 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
9889 grub_find_root_devices_from_btrfs if on btrfs.
9890
c36e5cd1
VS
98912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9892
9893 Remove any awareness of *.c util files about target.
9894
9895 * Makefile.util.def (grub-setup): Split to ...
9896 (grub-bios-setup): ... and this.
9897 (grub-sparc64-setup): ... and this.
9898 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
9899 * docs/man/grub-setup.h2m: Split into ...
9900 * docs/man/grub-sparc64-setup.h2m: ... this.
9901 * docs/man/grub-bios-setup.h2m: ... and this.
9902 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
9903 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
9904 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
9905 (grub_target_addr_t): Remove.
9906 (grub_target_size_t): Remove.
9907 (grub_target_ssize_t): Remove.
9908 * util/grub-install.in: Use new grub-*-setup.
9909 * util/grub-mkimagexx.c (Elf_Word): New define.
9910 (Elf_Half): Likewise.
9911 (Elf_Section): Likewise.
9912 (ELF_ST_TYPE): Likewise.
9913 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
9914 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
9915
584b2f8a
VS
99162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 Replace grub_target_addr with more appropriate types.
9919
9920 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
9921 grub_target_addr with grub_addr.
9922 * grub-core/commands/iorw.c (grub_cmd_read): Replace
9923 grub_target_addr with grub_port.
9924 (grub_cmd_write): Likewise.
9925 * grub-core/commands/memrw.c (grub_cmd_read): Replace
9926 grub_target_addr with grub_addr.
9927 (grub_cmd_write): Likewise.
9928 * grub-core/video/efi_uga.c (find_line_len): Likewise.
9929
5a0dc6fb
VS
99302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
9933 const qualifier for vendor_guid.
9934
786aff6e
VS
99352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
9938 const qualifier.
9939 (efiemu_memequal): Likewise.
9940 (find_variable): Likewise.
9941
49017b17
VS
99422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 Fix missing console prototype on qemu-mips.
9945
9946 * include/grub/mips/qemu_mips/console.h: New file.
9947
c5988629
MG
99482012-02-27 Matthew Garrett <mjg@redhat.com>
99492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
9952 * include/grub/efi/efi.h: Likewise.
9953 * include/grub/efi/api.h: Add guid for EFI-specified variables.
9954 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
9955 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
9956 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
9957 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
9958 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
9959
e33f8d69
MG
99602012-02-27 Matthew Garrett <mjg@redhat.com>
9961
9962 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
9963
fb312cd9
VS
99642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9965
9966 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
9967 error.
9968
7134247c
VS
99692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * configure.ac: Remove inappropriate use of program_transform_name
9972 on grubdir and bootdir but allow explicit specification of those
9973 variables.
9974
6a313124
VS
99752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 * util/grub-mknetdir.in (grub_prefix): Removed.
9978 (subdir): Use @bootdirname@ and @grubdirname@.
9979
2311c5ca
VS
99802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
9983
7d5d60f7
VS
99842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 * po/POTFILES.in: Regenerated.
9987
8151bc82
VS
99882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 Remove improper use of program_transform_name on pkglibrootdir.
9991
9992 * configure.ac (pkglibrootdir): Removed.
9993 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
9994 * util/grub-mkimage.c: Likewise.
9995
b4a6a533
VS
99962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9997
9998 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
9999 warning.
10000
668f304f
VS
100012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * util/grub-install.in: Use file identifier if no UUID is available
10004 or user explicitly prompted for it.
10005
665f2341
NP
100062012-02-27 Navdeep Parhar <nparhar@gmail.com>
10007
10008 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10009 (freebsd_get_zfs): New function.
10010 (grub_freebsd_boot): Pass zfs UUID.
10011 (grub_cmd_freebsd): Set zfs UUID.
10012
8151bc82 100132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10014
10015 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10016 pkglibrootdir.
10017
e4c498a1
MG
100182012-02-27 Mike Gilbert <floppym@gentoo.org>
10019
10020 Add configure flag to control libzfs integration.
10021
10022 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10023
1e9a9a3f
VS
100242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10027 device.
10028 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10029 small devices.
10030
036985b8
VS
100312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10034 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10035 be used on non-modules.
10036
10037 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10038 Rename to grub_boot_init.
10039 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10040 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10041 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10042 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10043 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10044 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10045 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10046 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10047 includes.
10048 (grub_machine_init): Remove empty inits.
10049 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10050 includes.
10051 (grub_machine_init): Remove empty inits.
10052 * grub-core/term/arc/console.c: Remove explicit proto.
10053 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10054 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10055 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10056 grub_at_keyboard_fini.
10057 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10058 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10059 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10060 grub_gfxterm_fini.
10061 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10062 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10063 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10064 grub_vgatext_fini.
10065 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10066 * grub-core/term/serial.c (GRUB_MOD_INIT)
10067 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10068 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10069 grub_serial_fini.
10070 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10071 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10072 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10073 grub_terminfo_fini.
10074 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10075 (GRUB_MOD_FINI): Likewise.
10076 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10077 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10078 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10079 grub_video_radeon_fuloong2e_fini.
10080 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10081 [LOONGSON]: Rename to grub_video_sis315pro_init.
10082 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10083 grub_video_sis315pro_fini.
10084 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10085 [LOONGSON]: Rename to grub_video_sm712_init.
10086 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10087 grub_video_sm712_fini.
10088 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10089 (grub_at_keyboard_fini): Likewise.
10090 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10091 Don't declare grub_{modname}_init.
10092 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10093 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10094 New proto.
10095 (grub_keylayouts_fini) [!EMU]: Likewise.
10096 * include/grub/serial.h (grub_serial_init) [!EMU]:
10097 New proto.
10098 (grub_serial_fini) [!EMU]: Likewise.
10099 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10100 New proto.
10101 (grub_terminfo_fini) [!EMU]: Likewise.
10102 * include/grub/video.h (grub_font_init) [!EMU]:
10103 New proto.
10104 (grub_font_fini) [!EMU]: Likewise.
10105 (grub_gfxterm_init) [!EMU]: Likewise.
10106 (grub_gfxterm_fini) [!EMU]: Likewise.
10107 (grub_video_sm712_init) [!EMU]: Likewise.
10108 (grub_video_sm712_fini) [!EMU]: Likewise.
10109 (grub_video_sis315pro_init) [!EMU]: Likewise.
10110 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10111 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10112 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10113
d5534665
VS
101142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10115
10116 Make nand a prefix for nand devices.
10117
10118 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10119
10133b5f
VS
101202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10123 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10124
8e307a62
VS
101252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * include/grub/env.h (grub_env_find): Remove prototype.
10128 * grub-core/kern/env.c (grub_env_find): Make static.
10129 (grub_env_set): Remove useless set.
10130
a4c65f34
VS
101312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 * grub-core/kern/i386/realmode.S: Remove useless align.
10134
d87893d5
VS
101352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * include/grub/dl.h (grub_dl_load_file): Don't export.
10138
50159add
VS
101392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10142 grub_dprintf.
10143
b2582b84
VS
101442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10147 grub_errors.
10148 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10149 not reloading whole superblock but only the part which is really needed.
10150 Remove useless grub_errors.
10151 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10152 grub_errors.
10153
e2a83395
VS
101542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 Don't export grub_get_rtc.
10157
10158 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10159 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10160
e7d2a906
VS
101612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10164
6cf1363b
VS
101652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10168 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10169
eece3349
VS
101702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 Remove prio_list.
10173
10174 * include/grub/list.h (grub_prio_list): Removed.
10175 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10176 GRUB_COMMAND_PRIO_MASK.
10177 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10178 GRUB_COMMAND_FLAG_ACTIVE.
10179 (grub_prio_list_insert): Removed.
10180 (grub_prio_list_remove): Likewise.
10181 (GRUB_AS_PRIO_LIST): Likewise.
10182 (GRUB_AS_PRIO_LIST_P): Likewise.
10183 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10184 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10185 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10186 * grub-core/kern/command.c (grub_register_command_prio): Inline
10187 the prio_list code.
10188 (grub_unregister_command): Likewise.
10189
94f064b4
VS
101902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 Fix interrupt mixup from previous commit.
10193
10194 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10195 (grub_realidt): New var.
10196 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10197 Load idt.
10198 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10199 New declaration.
10200 (grub_relocator16_boot): Set grub_relocator16_idt.
10201 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10202 (LOCAL(realidt)): ... this.
10203 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10204 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10205 (grub_realidt): New variable.
10206
27317084
VS
102072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10210 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10211 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10212 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10213 Gettextize.
10214 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10215 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10216 * po/POTFILES.in: Regenerate.
10217
47b40053
VS
102182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10221 errors.
10222
2b343101
VS
102232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10226 \0.
10227 (add_length): Likewise.
10228
ff27c3dd
LK
102292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
102302012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10231
10232 GDB serial and backtrace support.
10233
10234 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10235 (prot_to_real): Likewise.
10236 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10237 * grub-core/Makefile.core.def (backtrace): New module.
10238 (gdb): Likewise.
10239 * grub-core/gdb/cstub.c: New file.
10240 * grub-core/gdb/gdb.c: Likewise.
10241 * grub-core/gdb/i386/idt.c: Likewise.
10242 * grub-core/gdb/i386/machdep.S: Likewise.
10243 * grub-core/gdb/i386/signal.c: Likewise.
10244 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10245 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10246 * include/grub/backtrace.h: Likewise.
10247 * include/grub/gdb.h: Likewise.
10248 * include/grub/i386/gdb.h: Likewise.
10249
102502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10251
10252 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10253 New function.
10254 (add_length): Likewise.
10255 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10256 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10257 proto.
10258 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10259 __argp_get_display_len.
10260
ff27c3dd 102612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10262
10263 $"..." support in scripts.
10264
10265 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10266 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10267 * grub-core/script/yylex.l: Likewise.
10268 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10269 value.
10270
ff27c3dd 102712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10272
10273 * gentpl.py: Remove obsolete pkglib_DATA handling.
10274
ff27c3dd 102752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10276
10277 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10278 mailing list.
10279
10280 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10281 * util/grub-kbdcomp.in: Likewise.
10282 * util/grub-mkconfig.in: Likewise.
10283 * util/grub-mkconfig_lib.in: Likewise.
10284 * util/grub-mknetdir.in: Likewise.
10285 * util/grub-mkrescue.in: Likewise.
10286 * util/grub-mkstandalone.in: Likewise.
10287 * util/grub-reboot.in: Likewise.
10288 * util/grub-set-default.in: Likewise.
10289 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10290
ff27c3dd 102912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10292
10293 Remove GRUB_PREFIX.
10294
10295 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10296 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10297 used for backward compatibility.
10298
ff27c3dd 102992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10300
10301 Add new all_video module.
10302
10303 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10304 * grub-core/Makefile.core.def (all_video): New module.
10305 * grub-core/genmoddep.awk: Generate dependency of all_video from
10306 video.lst.
10307 * grub-core/lib/fake_module.c: New file.
10308 * grub-core/normal/main.c (features): Add feature_all_video_module.
10309 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10310 don't do explicit search again.
47454da5 10311 insmod all_video in load_video if available.
22c7ce85 10312
ff27c3dd 103132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10314
10315 Another round of string clarification and adding TRANSLATORS comments.
10316
ff27c3dd 103172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10318
10319 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10320
ff27c3dd 103212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10322
10323 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10324 to grub_ssize_t.
10325 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10326 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10327
ff27c3dd 103282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10329
10330 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10331 trailing newline implicitly. All users updated.
10332
ff27c3dd 103332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10334
10335 Implement serial on IEEE1275 and EFI.
10336
10337 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10338 on emu. Mention arc and emu as the only platforms without serial
10339 support.
10340 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10341 ieee1275 platforms.
10342 * grub-core/term/efi/serial.c: New file.
10343 * grub-core/term/ieee1275/serial.c: Likewise.
10344 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10345 specification if no ns8250 driver is available.
10346 (grub_cmd_serial): Likewise.
10347 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10348 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10349 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10350 (grub_efi_parity_type_t): New type.
10351 (grub_efi_stop_bits_t): Likewise.
10352 (grub_efi_serial_io_interface): New struct.
10353 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10354 available for all interfaces.
10355 Add EFI and IEEE1275 fields.
10356 (grub_ofserial_init): New proto.
10357 (grub_efiserial_init): Likeiwse.
10358 * util/grub.d/00_header.in: Don't check for the presence of serial
10359 module.
10360
ff27c3dd 103612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10362
10363 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10364 name as if it was an alias.
10365
114076ef
VS
103662012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 * grub-core/commands/lsacpi.c (options): Fix typo.
10369
6a656b0e
VS
103702012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 Convert grub-emu to argp.
10373
10374 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10375 emu.
10376 * util/argp_common.c: Rename to ...
10377 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10378 Add missing includes.
10379 * grub-core/kern/emu/main.c: Convert to argp.
10380 * po/POTFILES.in: Regenerate.
10381 * util/grub-install.in (usage): Make first letter lowcase in messages
10382 for uniformity.
10383 * util/grub-setup.c (options): Likewise.
10384
1e3f8ae8
VS
103852012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10386
10387 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10388 Put back accidently commented-out code.
10389
ed167a80
VS
103902012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10393 loop check using Brent algorithm.
10394 (grub_hfsplus_btree_search): Likewise.
10395
6753c0ec
VS
103962012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 * util/grub-install.in: Fix usage of wrong device for PreP install.
10399
4e27343f
VS
104002012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 * conf/Makefile.common (CFLAGS_GNULIB): Add
10403 -Wno-unsafe-loop-optimizations.
10404 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10405 on tools.
10406 * grub-core/commands/legacycfg.c: Add pragma to skip
10407 -Wunsafe-loop-optimizations.
10408 (check_password_md5_real): Fix loop counter type.
10409 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10410 reading.
10411 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10412 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10413 loop condition.
10414 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10415 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10416 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10417 condition.
10418 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10419 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10420 avoid possible infinite loops.
10421 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10422 and -Wunsafe-loop-optimizations.
10423 * grub-core/script/yylex.l: Likewise.
10424 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10425 (print_glyphs): Avoid infinite loops.
10426 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10427
697f18b0
GS
104282012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10429
10430 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10431 to avoid infinite loop.
10432 (disp_acpi_rsdt_table): Likewise.
10433
274416e8
VS
104342012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * grub-core/font/font.c (grub_font_load): Add support for default
10437 path for fonts ($prefix/fonts).
10438 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10439 for checking if string is a path.
10440 * grub-core/normal/main.c (features): Add feature_default_font_path.
10441 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10442 * util/grub.d/00_header.in: Use default directory if possible.
10443 * util/grub-install.in: Install unicode.pf2.
10444
b3e08622
VS
104452012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10448 * po/Rules-swiss: New file.
10449 * po/swiss.sed: Likewise.
10450
fe42ce09
VS
104512012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 * grub-core/fs/btrfs.c (find_device): Fix typos.
10454 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10455 * util/grub-mkrelpath.c (argp_parser): Likewise.
10456 Reported by: Yuri Chornoivan.
10457
72f1d065
DO
104582012-02-23 Dalet Omega <daletomega@gmail.com>
10459
10460 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10461 for usual informative messages.
10462
c5884973
DO
104632012-02-23 Dalet Omega <daletomega@gmail.com>
10464
10465 Starfield theme.
10466
10467 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10468 * conf/Makefile.common: Define starfielddir.
10469 * configure.ac: Configure starfield.
10470 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10471 * themes/starfield/README: Likewise.
10472 * themes/starfield/blob_w.png: Likewise.
10473 * themes/starfield/boot_menu_c.png: Likewise.
10474 * themes/starfield/boot_menu_e.png: Likewise.
10475 * themes/starfield/boot_menu_n.png: Likewise.
10476 * themes/starfield/boot_menu_ne.png: Likewise.
10477 * themes/starfield/boot_menu_nw.png: Likewise.
10478 * themes/starfield/boot_menu_s.png: Likewise.
10479 * themes/starfield/boot_menu_se.png: Likewise.
10480 * themes/starfield/boot_menu_sw.png: Likewise.
10481 * themes/starfield/boot_menu_w.png: Likewise.
10482 * themes/starfield/slider_c.png: Likewise.
10483 * themes/starfield/slider_n.png: Likewise.
10484 * themes/starfield/slider_s.png: Likewise.
10485 * themes/starfield/src/blob_nw.xcf: Likewise.
10486 * themes/starfield/src/bootmenu/: Likewise.
10487 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10488 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10489 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10490 * themes/starfield/src/slider_c.xcf: Likewise.
10491 * themes/starfield/src/slider_n.xcf: Likewise.
10492 * themes/starfield/src/slider_s.xcf: Likewise.
10493 * themes/starfield/src/terminalbox/: Likewise.
10494 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10495 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10496 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10497 * themes/starfield/starfield.png: Likewise.
10498 * themes/starfield/terminal_box_c.png: Likewise.
10499 * themes/starfield/terminal_box_e.png: Likewise.
10500 * themes/starfield/terminal_box_n.png: Likewise.
10501 * themes/starfield/terminal_box_ne.png: Likewise.
10502 * themes/starfield/terminal_box_nw.png: Likewise.
10503 * themes/starfield/terminal_box_s.png: Likewise.
10504 * themes/starfield/terminal_box_se.png: Likewise.
10505 * themes/starfield/terminal_box_sw.png: Likewise.
10506 * themes/starfield/terminal_box_w.png: Likewise.
10507 * themes/starfield/theme.txt: Likewise.
10508
17d73325
VS
105092012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 * util/grub.d/00_header.in: Add missing export theme.
10512
dbebaf92
VS
105132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10516 already included.
10517 Reported by: Eren D.
10518
3d68bffb
VS
105192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10520
10521 * conf/Makefile.common (grubdatadir): Removed.
10522 (Makefile.am): Move eveything grubdata to pkgdata.
10523
4b59234d
VS
105242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10525
10526 * grub-core/commands/acpihalt.c (get_sleep_type):
10527 Remove unused variable.
10528
463dcadc
VS
105292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10532 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10533 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10534 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10535 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10536 i18n with gettext no-op.
10537 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10538 GRUB_ACPI_OPCODE_STRING_CONST.
10539 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10540 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10541
e5b90c82
VS
105422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 * po/POTFILES.in: Regenerate.
10545
2a704ca9
VS
105462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10549 -Wno-error=missing-noreturn.
10550
84f9d341
VS
105512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10554 condition to avoid possibly infinite loops.
10555 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10556 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10557
d46683f9
VS
105582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10559
10560 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10561 condition to avoid possibly infinite loops.
10562
c44866b2
VS
105632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10564
10565 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10566 on show_error.
10567
96790539
VS
105682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10571
1ba7e295
VS
105722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10575
21ffe8f1
VS
105762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 * util/bin2h.c (usage): Add missing attribute noreturn.
10579
0ccb6b3c
VS
105802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10583 if the size isn't divisible by 512.
10584
b00d7fb6
VS
105852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 Make list_push and list_remove functions rather than inline functions
10588 to decrease size and avoid aliasing violations.
10589
10590 * include/grub/list.h (grub_list_push): Move to ...
10591 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10592 * include/grub/list.h (grub_list_remove): Move to ...
10593 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10594
9d369087
VS
105952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10598 and -Wunused-result.
10599
af0250d9
VS
106002012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10601
10602 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10603 Reported by: Seth Goldberg
10604
aad32b14
VS
106052012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10608
ac96441c
ST
106092012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10610
10611 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10612 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10613 command line.
10614 * docs/grub.texi (Simple configuration): Document
10615 GRUB_CMDLINE_GNUMACH.
10616
106172012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10618
10619 * conf/Makefile.common (platform_SCRIPTS): New variable.
10620 (platform_PROGRAMS): Likewise.
10621 * gentpl.py: Mark *,module and *.image for install.
10622 * grub-core/gdb_grub.in: Add a notice of expected environment.
10623 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10624 (gmodule.pl): Likewise.
10625
ac96441c 106262012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
10627
10628 Replace grub_checkkey with grub_getkey_noblock.
10629
10630 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10631 (grub_getkey_noblock): ... this. All users updated.
10632
ac96441c 106332012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
10634
10635 * grub-core/kern/emu/console.c: Move to ...
10636 * grub-core/term/emu/console.c: ...here.
10637 (grub_ncurses_getkey): Fix return value if no key is detected.
10638
e51b5666
VS
106392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10642 (grub_unit_test_fini): Likewise.
10643 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10644
106452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10646
10647 * include/grub/test.h (GRUB_UNIT_TEST)
10648
d9a62292
VS
106492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10652 Better error handling.
10653 (grub_script_return): Likewise.
10654 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10655
77c9182f
VS
106562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10657
10658 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10659 rimplicit redifinition.
10660
edb13cf9
VS
106612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10664 GRUB.
10665
a9e9dc7c
VS
106662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10669 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10670 prompt here.
10671
b4ba8e02
VS
106722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
10675 as GRUB_ERR_BUG. Don't malloc if no device is available.
10676
dded5540
VS
106772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
10680 Mark calling with invalid term as GRUB_ERR_BUG.
10681
0cf69874
VS
106822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
10685 packets rather than raising an error.
10686
59bfe502
VS
106872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10688
10689 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
10690 in if.
10691
db5fc596
VS
106922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
10695 diagnostic to dprintf.
10696 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10697
e4b7f404
VS
106982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
10701 device name.
10702
e7b02f9e
VS
107032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
10706 (grub_ntfs_iterate_dir): Likewise.
10707
0331e102
VS
107082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 Efiemu stylistic fixes and gettext.
10711
10712 * grub-core/efiemu/i386/loadcore32.c
10713 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
10714 * grub-core/efiemu/i386/loadcore64.c
10715 (grub_arch_efiemu_relocate_symbols64): Likewise.
10716 * grub-core/efiemu/i386/pc/cfgtables.c
10717 (grub_machine_efiemu_init_tables): Likewise.
10718 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
10719 (grub_efiemu_loadcore_initXX): Add a filename argument.
10720 All users updated.
10721 Improved error message.
10722 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
10723 Add a filename argument.
10724 All users updated.
10725 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
10726 Reclassify double relocation as GRUB_ERR_BUG.
10727
306fc074
VS
107282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
10731 handling.
10732
794d8ef2
VS
107332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
10736 on partition.
10737
107382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
10739
10740 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
10741
794d8ef2 107422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
10743
10744 Improve string. Gettextize.
10745
78dde88e
VS
107462012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
10749 utils.
10750 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
10751
4786a90f
VS
107522012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
10755 [GRUB_UTIL]: New function.
10756 (insert_array) [GRUB_UTIL]: Store partmaps.
10757 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
10758 partmaps.
10759 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
10760 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
10761 (probe_abstraction): Print diskfilter and not raid.
10762 Reported by: Lennart Sorensen
10763
0b6225bd
VS
107642012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
10767 * util/grub-mkimagexx.c (MASK3): New define.
10768 (add_value_to_slot_20b): Use MASK3.
10769 (add_value_to_slot_21): Likewise.
10770 (relocate_addresses): Fix format specification.
10771 (load_image): Explicitly init symtab_section.
10772
b055f8f6
VS
107732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10774
10775 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
10776 (grub_util_biosdisk_get_grub_dev): Fix format specification.
10777
b77c2fb7
VS
107782012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
10781 on powerpc.
10782 Reported by: Lennart Sorensen
10783
e3ec28ab
VS
107842012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * gentpl.py: Add missing license header.
10787 * docs/grub.texi: Update copyright year.
10788
c8d9ead6
GS
107892012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
10790
10791 Source grub-mkconfig_lib from the build directory at build time.
10792 Suggested by: Vladimir Serbinenko.
10793
10794 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
10795 * util/grub-install.in: Define pkgdatadir if not already set, and source
10796 grub-mkconfig_lib from there.
10797 * util/grub-kbdcomp.in: Likewise.
10798 * util/grub-mkconfig.in: Likewise.
10799 * util/grub-mknetdir.in: Likewise.
10800 * util/grub-mkrescue.in: Likewise.
10801 * util/grub-mkstandalone.in: Likewise.
10802 * util/grub-reboot.in: Likewise.
10803 * util/grub-set-default.in: Likewise.
10804 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10805
ebcecdf1
VS
108062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 Increase warning level.
10809
10810 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
10811 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
10812 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
10813 (TARGET_CFLAGS): Likewise.
10814 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
10815 * grub-core/Makefile.core.def (decompressor_xz): Add
10816 -Wno-unreachable-code.
10817 (normal): Add -Wno-redundant-decls.
10818 (xzio): Add -Wno-unreachable-code.
10819 (lzopio): Add -Wno-redundant-decls -Wno-error.
10820 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
10821 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
10822 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
10823 * grub-core/kern/dl.c: Add exception to -Wcast-align.
10824 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
10825 * grub-core/kern/i386/coreboot/init.c: Add exception to
10826 -Wsuggest-attribute=noreturn.
10827 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
10828 * grub-core/kern/ia64/dl_helper.c: Likewise.
10829 * grub-core/kern/mips/dl.c: Likewise.
10830 * grub-core/kern/sparc64/dl.c: Likewise.
10831 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
10832 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
10833 (memcmp): Likewise.
10834 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
10835 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
10836 * grub-core/loader/mips/linux.c: Likewise.
10837 * grub-core/loader/multiboot_elfxx.c: Likewise.
10838 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
10839 * grub-core/video/sm712.c: Add exception to -Wcast-align.
10840 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
10841 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
10842 fixme.
10843 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10844 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
10845 Fix prototype.
10846
37bb97fe
VS
108472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
10850 address.
10851
29a3550b
VS
108522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
10855 Avoid improper use of strings.
10856 (grub_cmd_legacy_initrdnounzip): Likewise.
10857
dfdffd0d
VS
108582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 * include/grub/emu/misc.h (grub_util_warn): Add missing format
10861 attribute.
10862 (grub_util_info): Likewise.
10863 (grub_util_error): Likewise.
10864
102fae4a
VS
108652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
10868 * util/grub-fstest.c (fstest): Likewise.
10869
7e94d044
VS
108702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
10873 (grub_md_sha512_real): Likewise.
10874 (grub_util_get_geli_uuid): Likewise.
10875 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
10876 (grub_util_biosdisk_open): Fix format specification.
10877 Respect format security.
10878 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
10879 (xrealloc): Likewise.
10880 (xasprintf): Likewise.
10881
5ebd9769
VS
108822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * util/import_gcry.py: Include grub/crypto.h in init.c.
10885
495fc8c1
VS
108862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
10889 (generate_image): Make prefix a const char *.
10890 Fix format specifications. Respect format security.
10891 Avoid void * arithmetics.
10892 Avoid shadowing.
10893 (argp_parser): Remove unused variable. Respect format security.
10894 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
10895 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
10896 (count_funcs): Remove unused variable.
10897 (relocate_addresses): Fix format specification.
10898 Disable x86-64 with elf32. Remove unused variables.
10899 (add_fixup_entry): Avoid shadowing.
10900 (make_reloc_section): Fix format specification.
10901 Use assert.
10902 (locate_sections): Fix format specifications.
10903 (load_image): Avoid shadowing.
10904
043c2ea3
VS
109052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
10908 Fix format specifications. Respect format security.
10909 Don't translate already translated grub_errmsg.
10910 (argp_parser): Remove unused variable
10911
3ec65a81
VS
109122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
10915
a4d9fe4a
VS
109162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
10919 (main): Likewise. Use xmalloc. Respect format security.
10920
15b81d49
VS
109212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
10924 a const char *.
10925 (argp_parser): Remove unused variable.
10926
31731fc0
VS
109272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
10930 (add_pixel): Make static.
10931 (add_font): Likewise.
10932 (write_string_section): Make name and str a const char *.
10933 (write_be16_section): Make name a const char *.
10934 (print_glyphs): Make static.
10935 (write_font_ascii_bitmap): Likewise.
10936 (write_font_width_spec): Likewise.
10937 (write_font_pf2): Likewise.
10938 (argp_parser): Remove unused variable.
10939 Respect format security.
10940 (main): Avoid shadowing. Respect format security.
10941
0809527b
VS
109422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 * util/grub-editenv.c (argp_parser): Make static.
10945 (create_envblk_file): Use xmalloc.
10946 (open_envblk_file): Likewise.
10947 Resepect format security.
10948 (set_variables): Respect format security.
10949
45b0c8b7
VS
109502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * util/getroot.c (grub_find_device): Respect format security.
10953 (get_mdadm_uuid): Remove unused variable.
10954 (grub_util_pull_device): Dont call gettext on already translated
10955 grub_errmsg.
10956 (find_system_device): Remove unused variable.
10957 (grub_util_get_grub_dev): Likewise.
10958 (grub_make_system_path_relative_to_its_root): Respect format security.
10959
1b024b4e
VS
109602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10961
10962 * util/grub-fstest.c (execute_command): Make first argument
10963 a const char *.
10964 (read_file): Avoid shadowing.
10965 Reuse underlying error message if device open fails.
10966 (cmd_cmp): Respect format security.
10967 (root): Make const char *.
10968 (fstest): Remove args argument and use global copy.
10969 Respect format security.
10970 (argp_parser): Make static.
10971 (main): Make default_root const char *.
10972
5d1d4e28
VS
109732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * util/grub-mount.c (root): Make const char *.
10976 (execute_command): Make first argument a const char *.
10977 (fuse_init): Respect format security.
10978 (argp_parser): Make static. Remove unused variable.
10979 (main): Make default_root a const char *.
10980 Respect format security.
10981
36eb7379
VS
109822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10983
10984 * util/grub-probe.c (probe): Don't call gettext on already translated
10985 grub_errmsg.
10986 Remove unused variables.
10987 (argp_parser): Remove unused variable.
10988
76fb2ea9
VS
109892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 * util/grub-script-check.c (argp_parser): Remove unused variable.
10992 (main): Rename read to curread to avoid shadowing.
10993
56c98584
VS
109942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 * util/misc.c (grub_util_write_image_at): Fix format specification.
10997 (grub_util_write_image): Likewise.
10998 (grub_script_execute_argument_to_string): Removed (unused).
10999 (grub_script_execute_menuentry): Likewise.
11000 (grub_putchar): Likewise.
11001
164ebb48
VS
110022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11005 (FUNCTION) [GRUB_UTIL]: Likewise.
11006 (VARIABLE) [GRUB_UTIL]: Likewise.
11007
44318d61
VS
110082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11011 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11012
31a26002
VS
110132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11014
11015 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11016 buffer.
11017
110182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11021 (LzmaEnc_SaveState): Removed (unused).
11022 (LzmaEnc_RestoreState): Likewise.
11023 (LzmaEnc_InitPriceTables): Made static.
11024 (LzmaEnc_Construct): Likewise.
11025 (LzmaEnc_FreeLits): Likewise.
11026 (LzmaEnc_Destruct): Likewise.
11027 (LzmaEnc_Init): Likewise.
11028 (LzmaEnc_InitPrices): Likewise.
11029 (LzmaEnc_Finish): Likewise.
11030 (LzmaEnc_PrepareForLzma2): Removed (unused).
11031 (LzmaEnc_MemPrepare): Likewise.
11032 (LzmaEnc_GetNumAvailableBytes): Likewise.
11033 (LzmaEnc_GetCurBuf): Likewise.
11034 (LzmaEnc_CodeOneMemBlock): Likewise.
11035
6fa67967
VS
110362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11039 (grub_util_ldm_embed): Likewise.
11040
9a7428e6
VS
110412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 * util/grub-editenv.c (print_var): Rename name to varname to
11044 avoid shadowing.
11045 (main): Rename index to curindex to avoid shadowing.
31a26002 11046 Make filename a const char *.
9a7428e6 11047
4f96abd1
VS
110482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11051 to arg_getline to avoid shadowing.
11052
44d10dad
VS
110532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11056 disk_ to avoid shadowing.
11057
340ba63e
VS
110582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11061 curindex to avoid shadowing.
11062 Make static.
11063 (MatchFinder_GetNumAvailableBytes): Make static.
11064
22965bce
VS
110652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11068 avoid shadowing.
11069
7b5784d4
VS
110702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11071
11072 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11073 argument from encrypt to do_encrypt to avoid shadowing.
11074
6f48ca01
VS
110752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11076
11077 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11078 incorrect nesting of #if's.
11079
a4ea2dff
VS
110802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11083 checks which are always false on some platforms.
11084 (grub_cmd_lsacpi): Likewise.
11085 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11086 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11087 Likewise.
11088
def9fc1b
VS
110892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11092 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11093
a67b2a04
VS
110942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11097 re_dfa_t to avoid breaking alignment invariants.
11098 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11099 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11100
44c6828d
VS
111012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11104 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11105
bebe0dd0
VS
111062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11109 Fix declaration.
11110
a9cdb3cf
VS
111112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11114 conserve alignment invariants.
11115 (grub_ehci_ehcc_read16): Likewise.
11116 (grub_ehci_oper_read32): Likewise.
11117 (grub_ehci_oper_write32): Likewise.
11118 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11119 Conserve alignment invariants.
11120
ccc3b1b8
VS
111212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11124 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11125 declarations.
11126
987fbd95
VS
111272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11130 Remove unused variable.
11131
0df363f3
VS
111322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11135 Remove set in if.
11136
b2c0c4a6
VS
111372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * include/grub/net.h: Remove double declarations.
11140
690c531f
VS
111412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 Remove "payload" command in ia64 Linux loader since I couldn't
11144 find any evidence of it being used for anything.
11145 Replace "relocate" command with an environment variable
11146
11147 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11148 fields.
11149 (ia64_boot_payload): Removed.
11150 (last_payload): Likewise.
11151 (RELOCATE_OFF): Likewise.
11152 (RELOCATE_ON): Likewise.
11153 (RELOCATE_FORCE): Likewise.
11154 (relocate): Likewise.
11155 (free_pages): Don't free payloads.
11156 (grub_load_elf64): Use common error messages.
11157 Use "linux_relocate" variable.
11158 Increase the space after boot_params.
11159 (grub_cmd_payload): Removed.
11160 (grub_cmd_relocate): Likewise.
11161 (grub_cmd_fpswa): Improve messages.
11162 (cmd_payload): Removed.
11163 (cmd_relocate): Likewise.
11164 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11165 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11166
01783768
VS
111672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 Convert UHCI to DMA framework.
11170
11171 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11172 (grub_uhci_pci_iter): Fill new members
11173 (grub_alloc_td): Use P2V and V2P functions.
11174 (grub_free_queue): Likewise.
11175 (grub_alloc_qh): Likewise.
11176 (grub_uhci_setup_transfer): Likewise.
11177 (grub_uhci_check_transfer): Likewise.
11178
43206939
VS
111792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11182 Remove assignment in if while on it.
11183
571e140e
VS
111842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 * util/grub-mkstandalone.in: Fix modules directory.
11187
a9d96eeb
VS
111882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11191 on i386-pc target.
11192 (argp_parser): Accept "auto" as compression specification.
11193
e4e37e8d
VS
111942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 Fix `help' with unloaded modules.
11197
11198 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11199 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11200 (grub_dyncmd_dispatcher): Small stylistic fix.
11201 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11202 explicit help is requested.
11203
e1ea3ade
VS
112042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11205
11206 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11207 Explicitly init restart while on it.
11208
27556881
VS
112092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11210
11211 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11212 uninited variable.
11213
d65f6b36
VS
112142012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * util/grub-mknetdir.in: Use . rather than source for POSIX
11217 compatibility.
11218
0a1e473c
VS
112192012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11222
ce6647c8
VS
112232012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11226 variable.
11227
66747894
VS
112282012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11231 without quotes.
11232
71645f6e
VS
112332012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11236
0e1c1f61
VS
112372012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11240 iteration of partitions.
11241
9c4b5c13
VS
112422012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11243
11244 Improve gettext support. Stylistic fixes and error handling fixes while
11245 on it.
11246
215c90cb
VS
112472012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11248
11249 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11250 part. Instead setup the correct stack in RM.
11251 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11252 for stack.
11253 * include/grub/i386/relocator_private.h: New file.
11254
b5c1f9bf
VS
112552012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11258 argument.
11259 * util/grub-fstest.c (options): Add missing DEVICE part.
11260
b525fd83
VS
112612012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 Clarify and unify messages.
11264
11265 * grub-core/commands/hashsum.c (options): Unify messages.
11266 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11267 literal-only message as translatable.
11268 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11269 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11270 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11271 commands.
11272 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11273 key, not the key used to unlock. Clarify what it's used for.
11274 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11275 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11276 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11277 * util/grub-editenv.c (options): Unify "verbose" message.
11278 * util/grub-fstest.c (read_file): Unify error message.
11279 (fstest): Add quotes around commands.
11280 (options): Unify "verbose" message.
11281 * util/grub-install.in: Add quotes around variable name.
11282 * util/grub-kbdcomp.in: Unify error message.
11283 * util/grub-mkfont.c (main): Likewise.
11284 * util/grub-mkrescue.in: Likewise.
11285 * util/grub-mklayout.c (options): Unify "verbose" message.
11286 * util/grub-mkstandalone.in: Unify help and verbose messages.
11287 * util/grub-mount.c (options): Unify "verbose" message.
11288 * util/grub-probe.c (options): Likewise.
11289 * util/grub-script-check.c (options): Likewise.
11290 * util/grub-setup.c (setup): Unify no-terminator message.
11291 (options): Use DEVICE and not DEV.
11292 Unify "verbose" message.
11293 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11294
0ae70393
VS
112952012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 Improve and unify messages.
11298
11299 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11300 name. All users updated.
11301 Print filename in error.
11302 (read_device_map): Print filename in error.
11303 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11304 (grub_util_get_os_disk): Likewise.
11305 (grub_util_biosdisk_get_grub_dev): Likewise.
11306 (grub_util_check_block_device): Likewise.
11307 (grub_util_check_char_device): Likewise.
11308 (grub_make_system_path_relative_to_its_root): Likewise.
11309 * util/grub-editenv.c (create_envblk_file): Likewise.
11310 (open_envblk_file): Likewise.
11311 (write_envblk): Likewise.
11312 * util/grub-fstest.c (cmd_cp): Likewise.
11313 (cmd_cat): Likewise.
11314 (cmd_cmp): Likewise.
11315 * util/grub-menulst2cfg.c (main): Likewise.
11316 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11317 (write_font_width_spec): Likewise.
11318 (write_font_pf2): Likewise.
11319 * util/grub-mkimage.c (generate_image): New argument outname.
11320 All users updated.
11321 Remove unreacheable message.
11322 (options): Unify messages.
11323 (help_filter): Likewise.
11324 * util/grub-mklayout.c (usage): Removed (unused).
11325 (main): Print filename in error.
11326 * util/grub-mkrescue.in: Fix wrong quoting.
11327 * util/grub-setup.c (setup): Print filename in error.
11328 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11329 (check_sas): Likewise.
11330 * util/misc.c (grub_util_get_fp_size): Removed.
11331 (grub_util_get_image_size): Print filename in error.
11332 (grub_util_read_at): Removed.
11333 (grub_util_read_image): Print filename in error.
11334 (grub_util_load_image): Likewise.
11335 (grub_util_write_image_at): New argument filename. All users updated.
11336 Print filename in error.
11337 (grub_util_write_image): New argument filename. All users updated.
11338 Print filename in error.
11339 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11340 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11341
0a96117d
VS
113422012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11343
11344 * grub-core/Makefile.core.def (pxechain): New module.
11345 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11346 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11347 function.
11348 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11349 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11350
aca002f7
VS
113512012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11354 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11355 * include/grub/err.h (grub_error_saved): New struct.
11356 (grub_errmsg): Make array size explicit.
11357 * include/grub/misc.h (grub_error_save): New function.
11358 (grub_error_load): Likewise.
11359 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11360 (grub_error_push): Update `errno' member name.
11361 (grub_error_pop): Likewise
11362 * grub-core/net/tftp.c (tftp_data): New member save_err.
11363 (tftp_receive): Save error.
11364 (tftp_open): Restore error.
11365
a51dab13
VS
113662012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11369 to real mode down to execute A20-related code in protected mode as
11370 intended.
11371
eb6e6649
GS
113722012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11373
11374 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11375 NULL when the argument `level' has an unexpected value.
11376
92cd0f6e
VS
113772012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 Move platform-dependent files from $prefix to $prefix/$platform.
11380
11381 * config.h.in (GRUB_TARGET_CPU): New definition.
11382 (GRUB_PLATFORM): Likewise.
11383 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11384 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11385 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11386 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11387 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11388 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11389 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11390 * grub-core/normal/term.c (read_terminal_list): Likewise.
11391 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11392 $prefix/locale.
11393 (grub_gettext_init_ext): Likewise.
11394 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11395 grub_platform.
11396 * util/grub-install.in: Update directories.
11397 * util/grub-mknetdir.in: Likewise.
11398 * util/grub-mkrescue.in: Likewise.
11399
db606889
VS
114002012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11401
11402 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11403 grub_error framework. All users updated.
11404
c39992a4
VS
114052012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11408 lists (by always binsearching), improve caching (cache strings
11409 used for binsearch, not only results), improve
11410 maintainability (by using more structured binary search) and correct
11411 error handling.
11412
1e5ec32f
VS
114132012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11414
11415 * grub-core/script/execute.c (grub_script_return): Fix warning.
11416
ac576cde
VS
114172012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * grub-core/script/execute.c (grub_script_return): Fix potential
11420 NULL-dereference.
11421 Reported by: Jim Meyering.
11422
498453f6
VS
114232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 * po/POTFILES.in: Regenerate.
11426 * util/grub-install.in: Gettextize the strings missed in first pass.
11427
8be63f2e
VS
114282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * Makefile.util.def (grub-mkdevicemap): Removed.
11431 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11432 * include/grub/util/deviceiter.h: Removed.
11433 * util/deviceiter.c: Likewise.
11434 * util/getroot.c (grub_util_get_os_disk): New function.
11435 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11436 replacement for EFI.
11437 * util/grub-mkdevicemap.c: Removed.
11438 * util/grub-probe.c (probe): Handle PRINT_DISK.
11439 (argp_parser): Handle -t disk.
11440
8e1e4e39
VS
114412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * util/grub-mkfont.c: Migrate to argp.
11444 * util/grub-mklayout.c: Likewise.
11445 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11446 * util/grub-mkrelpath.c: Likewise.
11447 * util/grub-probe.c: Likewise.
11448 * util/grub-script-check.c: Likewise.
11449
4459819a
VS
114502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 * util/grub-reboot.in: Add missing datarootdir.
11453 Add missing newline.
11454 * util/grub-set-default.in: Add missing datarootdir.
11455 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11456 * util/grub-mkrescue.in: Likewise.
11457
f65741c7
VS
114582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11461
c1a33466
VS
114622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 * util/grub-kbdcomp.in: Add decent help and gettextize.
11465 * docs/man/grub-kbdcomp.h2m: New file.
11466
c76899a0
VS
114672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 Migrate grub-mkimage.c to argp.
11470
11471 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11472 (grub-setup): Likewise.
11473 * util/grub-setup.c (print_version): Move to ...
11474 * util/argp_common.c (print_version): ... here.
11475 * util/grub-setup.c (argp_program_version_hook): Move to ...
11476 * util/argp_common.c (argp_program_version_hook): ... here.
11477 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11478 safety.
11479 * util/grub-mkimage.c (main): Migrate to argp.
11480
57db0757
VS
114812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 * util/grub-mkrescue.in: Use same message as
11484 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11485 for better translations.
11486
18534ad9
VS
114872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11490 options with generic grub-mkrescue.in with the goal of future
11491 merge.
11492
c84ba308
VS
114932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 * grub-core/kern/mm.c: Add missing include of i18n.h
11496 * grub-core/lib/relocator.c: Likewise.
11497
347998c2
VS
114982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11501 error.
11502 (allocate_pages): Check return value.
11503 Replace fatal with error.
11504 (grub_linux_boot): Replace printf with dprintf.
11505 Check find_mmap_size return value.
11506 Replace fatal with error.
11507 Don't call grub_machine_fini.
11508 (grub_load_elf64): Replace printf with dprintf.
11509 (grub_cmd_linux): Likewise.
11510 (grub_cmd_initrd): Likewise.
11511 (grub_cmd_payload): Likewise.
11512
c779226e
VS
115132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11516 message.
11517 * grub-core/video/radeon_fuloong2e.c
11518 (grub_video_radeon_fuloong2e_setup): Likewise.
11519 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11520 * grub-core/video/video.c (grub_video_set_mode): Don't override
11521 standard out of memory message.
11522
dc87d45a
GS
115232012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11524
11525 NetBSD disk wedge support.
11526
11527 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11528 [__NetBSD__]: Handle NetBSD disk wedges.
11529 * util/getroot.c (convert_system_partition_to_system_disk)
11530 [__NetBSD__]: Likewise.
11531
055f856f
MW
115322012-02-03 Mark Wooding <mdw@distorted.org.uk>
11533
11534 * util/grub-mkconfig.in: Use umask rather than chmod to create
11535 grub.cfg.new to avoid insecure grub.cfg.
11536
4a9f8346
VS
115372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 * grub-core/commands/ls.c: Gettextize.
11540 * grub-core/commands/setpci.c: Likewise.
11541 * grub-core/commands/videotest.c: Likewise.
11542 * grub-core/disk/geli.c: Likewise.
11543 * grub-core/kern/mm.c: Likewise.
11544 * grub-core/lib/relocator.c: Likewise.
11545 * grub-core/loader/efi/appleloader.c: Likewise.
11546 * grub-core/loader/i386/xnu.c: Likewise.
11547 * grub-core/loader/ia64/efi/linux.c: Likewise.
11548 * grub-core/loader/xnu.c: Likewise.
11549 * grub-core/net/dns.c: Likewise.
11550 * grub-core/net/net.c: Likewise.
11551 * grub-core/script/lexer.c: Likewise.
11552 * grub-core/script/parser.y: Likewise.
11553 * grub-core/script/yylex.l: Likewise.
11554 * util/getroot.c: Likewise.
11555 * util/grub-setup.c: Likewise.
11556
a646a366
VS
115572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11560 number.
11561
54e2be26
VS
115622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11563
11564 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11565
f7c71e68
VS
115662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11569 macro.
11570 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11571 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11572
a32d5c71
VS
115732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11576 * util/grub-install.in: Gettextize.
11577 * util/grub-mkconfig.in: Likewise.
11578 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11579 if not available.
11580 (grub_warn): Gettextize.
11581 * util/grub-mknetdir.in: Gettextize.
11582 * util/grub-mkrescue.in: Likewise.
11583 * util/grub-mkstandalone.in: Likewise.
11584 * util/grub-reboot.in: Likewise.
11585 * util/grub-set-default.in: Likewise.
11586 * util/grub.d/00_header.in: Likewise.
11587 * util/grub.d/10_hurd.in: Likewise.
11588 * util/grub.d/10_kfreebsd.in: Likewise.
11589 * util/grub.d/10_linux.in: Likewise.
11590 * util/grub.d/10_netbsd.in: Likewise.
11591 * util/grub.d/10_windows.in: Likewise.
11592 * util/grub.d/20_linux_xen.in: Likewise.
11593 * util/grub.d/30_os-prober.in: Likewise.
11594 * po/POTFILES-shell.in: Regenerate.
11595
69edd81a
RL
115962012-02-03 Richard Laager <rlaager@wiktel.com>
11597
11598 * util/grub-mkimage.c (main): Fix format-security warning.
11599 * util/grub-mkrelpath.c (main): Likewise.
11600 * util/grub-probe.c (main): Likewise.
11601
65f08dbf
RL
116022012-02-03 Richard Laager <rlaager@wiktel.com>
11603
11604 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11605 failure.
11606 Put back lost PRINT_DRIVE.
11607
e9084abe
RL
116082012-02-03 Richard Laager <rlaager@wiktel.com>
11609
11610 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11611 (grub_guess_root_devices): Replace strlen with sizeof.
11612 Avoid crash.
11613 (find_root_devices_from_poolname): Remove unused variable.
11614 Handle raidzN.
11615
cf5f7ee7
VS
116162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 Support install on multi-device filesystems.
11619
11620 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11621 (grub_guess_root_devices): ...this. Return char **. All users updated.
11622 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11623 Removed.
11624 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11625 (find_root_devices_from_poolname): ... here.
11626 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11627 Support zfs-fuse.
11628 (grub_guess_root_device): Rename to ...
11629 (grub_guess_root_devices): ... this. Return char **. All users updated.
11630 * util/grub-install.in: Handle multi-device filesystems.
11631 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11632 argument. All users updated.
11633 Handle multi-device filesystems.
11634 Use 'delim' as separator.
11635 Remove device check to allow filesystems on file.
11636 (main): Support -0 argument. Handle multi-device.
11637 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11638 Fix a cross-device check while on it.
11639 (arguments): Remove root_dev.
11640 (argp_parser): Remove -r.
11641 (main): Remove root_dev.
11642
2f53a9ed
VS
116432012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11644
11645 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11646
17e1d934
VS
116472012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11650 symbol.
11651 Reported by: NODA, Kai <nodakai>.
11652
d3e3fab5
VS
116532012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 Fix ehci on amd64.
11656
11657 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11658 pointers.
11659 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11660 (grub_ehci_setup_qh): Likewise.
11661 (grub_ehci_find_qh): Likewise.
11662 (grub_ehci_transaction): Likewise.
11663 (grub_ehci_setup_transfer): Likewise.
11664 (grub_ehci_check_transfer): Likewise.
11665 (grub_ehci_portstatus): Likewise.
11666 (grub_ehci_detect_dev): Likewise.
11667 (grub_ehci_transfer_controller_data): New field td_last_phys.
11668 (grub_ehci_setup_transfer): Fill td_last_phys.
11669 (grub_ehci_check_transfer): Use td_last_phys.
11670
3008675b
SG
116712012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11672
11673 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
11674 if no submenu is present.
11675
fc9b5652
AN
116762012-02-01 Aleš Nesrsta <starous@volny.cz>
11677
11678 CBI support.
11679
11680 * include/grub/usb.h (grub_usbms_protocol_t): New values
11681 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
11682 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
11683 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
11684 (grub_usbms_dev): Add subclass, protocol and intrpt.
11685 Remove in_maxsz and out_maxsz.
11686 (grub_usbms_reset): Rename to ...
11687 (grub_usbms_bo_reset): .. this.
11688 (grub_usbms_cbi_cmd): New function.
11689 (grub_usbms_cbi_reset): Likewise.
11690 (grub_usbms_reset): Likewise.
11691 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
11692 (grub_usbms_transfer): Rename to ...
11693 (grub_usbms_transfer_bo): ... this.
11694 (grub_usbms_transfer_cbi): Likewise.
11695 (grub_usbms_transfer): Likewise.
11696
a2b81d53
AN
116972012-02-01 Aleš Nesrsta <starous@volny.cz>
116982012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
11701 the support for the CS5536 modification thereos and few bugfixes.
11702
11703 * grub-core/Makefile.core.def (ehci): New module.
11704 * grub-core/bus/usb/ehci.c: New file.
11705 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
11706 port and hubaddr. All users updated.
11707 Save port and hubaddr into dev structure.
11708 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
11709 define.
11710 * include/grub/pci.h (grub_dma_phys2virt): New function.
11711 (grub_dma_virt2phys): Likewise.
11712 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
11713
b1d51f02
VS
117142012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
11717 check as some mkfs implementations omit it.
11718
fc694106
VS
117192012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * docs/grub.texi (Unicode): Mention identifier and space limitations.
11722
6c0920e3
VS
117232012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
11726 Add new member volname2.
11727 (grub_jfs_label): Use volname2 if available.
11728
d1a46f9a
VS
117292012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
11732 over last_mounted as seen in image generated by mkfs.nilfs2.
11733 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
11734
dec8ed14
VS
117352012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
11738 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
11739 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
11740
7397c69b
VS
117412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
11744 over the sector.
11745
b3fe42ad
VS
117462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
11749 subvolume name (by removing a bogus and useless check).
11750
10476bb0
VS
117512012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
11754 sizeof while on it.
11755
9c08ad87
VS
117562012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
11759 (grub_scsi_read_capacity10): ... this.
11760 (grub_scsi_read_capacity16): New function.
11761 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
11762 0xffffffff.
11763 Fix off-by-one error.
11764 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
11765 64-bit unsigned.
11766 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
11767 (grub_scsi_read_capacity10): ... this.
11768 (grub_scsi_read_capacity_data): Rename to ...
11769 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
11770 (grub_scsi_read_capacity16): New struct.
11771 (grub_scsi_read_capacity16_data): Likewise.
11772 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
11773 grub_scsi_cmd_read_capacity10.
11774 New command grub_scsi_cmd_read_capacity16.
11775
bc8d0f45
VS
117762012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 SCSI >2TiB support.
11779
11780 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
11781 (grub_scsi_write16): Likewise.
11782 (grub_scsi_read): Use read16 when necessary.
11783 (grub_scsi_write): Likewise.
11784 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
11785 (grub_scsi_write16): Likewise.
11786 (grub_scsi_cmd_t): Add READ16 and WRITE16.
11787
cc774926
VS
117882012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 SCSI write support (for usbms mainly).
11791
11792 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
11793 a const pointer.
11794 (grub_scsi_write): Implement.
11795 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
11796
67639fd7
VS
117972012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11798
11799 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
11800 variable.
11801
9079d3ed
VS
118022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 * grub-core/lib/posix_wrap/string.h (memchr): New function.
11805
c6a6f204
VS
118062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 * po/POTFILES.in: Regenerate.
11809
ecbf8cd1
VS
118102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
11813 with grub_printf to avoid unnecessary fatal failure.
11814
0b3b3b38
VS
118152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
11818 (INT_MAX): Likewise.
11819 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
11820 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
11821 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
11822 (strcpy): Likewise.
11823 (strstr): Likewise.
11824 (strchr): Likewise.
11825 (strncpy): Likewise.
11826 (strcat): Likewise.
11827 (strncat): Likewise.
11828 (strcoll): Likewise.
11829 * include/grub/types.h (GRUB_SHRT_MAX): New define.
11830 (GRUB_INT_MAX): Likewise.
11831
db7337a3
VS
118322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
11835 unexpected error.
11836 (optimize_utf8): Likewise.
11837 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
11838
f37c87e1
VS
118392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 * grub-core/boot/i386/pc/lnxboot.S: Use
11842 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
11843 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
11844 location.
11845 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
11846 definition.
11847 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
11848
63fe43f3
VS
118492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11850
11851 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
11852 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
11853 now to avoid double free.
11854 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
11855 hostdisk.
11856 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
11857 * util/grub-probe.c (escape_of_path): Always return a new copy.
11858 (print_full_name): Escape path.
11859 (probe): Don't call grub_util_devname_to_ofpath on NULL.
11860 Fix hints on abstractions.
11861
ebe2c961
VS
118622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
11865 Don't add "root" line if no compatibility hont is available.
11866 Suggested by: Seth Goldberg.
11867
2b5336a2
VS
118682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
11871 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
11872 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
11873 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
11874
74310bd8
VS
118752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
11878
c30582ba
VS
118792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 * util/grub-pe2elf.c (ehdr): Make static.
11882 (shdr): Likewise.
11883 (num_sections): Likewise.
11884 (offset): Likewise.
11885
5f47782c
VS
118862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 Eliminate ofpath limits and possible overflows.
11889
11890 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
11891 (OF_PATH_MAX): Removed.
11892 (MAX_DISK_CAT): New const.
11893 (find_obppath): Use allocated rather than preallocated buffer.
11894 Return result. Argument of_path removed. All users updated.
11895 Add missing fdstat.
11896 (xrealpath): New function.
11897 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
11898 Allocate rather than use preallocated buffer. All users updated.
11899 (__of_path_common): Use allocated rather than preallocatecd buffer.
11900 Return result. Argument of_path removed. All users updated.
11901 (vendor_is_ATA): Read only needed part form the file.
11902 (check_sas): Allocate depending on contents rather than fixed.
11903 (main) [STANDALONE]: Handle NULL result.
11904
f990cbf9
VS
119052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * grub-core/normal/completion.c (iterate_dev): Close the disk.
11908
9c6e84b8
VS
119092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 Cryptodisk write support.
11912
11913 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
11914 (grub_cryptodisk_decrypt): Moved logic to ...
11915 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
11916 (grub_cryptodisk_write): Implement.
11917 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
11918 (grub_util_fd_write): ... this. Make global.
11919 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
11920
87cf9744
VS
119212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * include/grub/list.h (grub_list_remove): Don't crash if element is
11924 removed twice.
11925
ca8c0baf
VS
119262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 Rename ofconsole to console.
11929
11930 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
11931 as sysnonym to console.
11932 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
11933 * grub-core/term/ieee1275/console.c: ... this. All users updated.
11934 Rename grub_ofconsole_ to grub_console_. All users updated
11935 (grub_console_term_output): Rename "ofconsole" to "console".
11936 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
11937 as "console".
11938
64c8b8f6
VS
119392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11940
11941 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
11942 handling.
11943 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
11944 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
11945 GRUB_DISK_DEVICE_FILE_ID.
11946
f6c434d5
VS
119472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
11950 and improve performance.
11951
5858b42d
VS
119522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
11955 missing ieee1275/ prefix on whole disk.
11956
4ed3c26b
VS
119572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
11960 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
11961
df71143e
VS
119622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11963
11964 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
11965
076e7c0f
VS
119662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 Merge common RAID and LVM logic to an abstract diskfilter.
11969 Add LDM support using the same framework.
11970
11971 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
11972 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
11973 (libgrubmods): Remove grub-core/disk/raid.c and
11974 grub-core/partmap/gpt.c.
11975 * grub-core/Makefile.core.def (ldm): New module.
11976 (raid): Renamed to diskfilter. All users updated.
11977 * grub-core/disk/raid.c: Moved to ...
11978 * grub-core/disk/diskfilter.c: ... here.
11979 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
11980 (lv_num): New var.
11981 (find_array): Renamed to ...
11982 (find_lv): ... this. Support multi-LV. Skip nameless LVs
11983 (grub_is_array_readable): Renamed to ...
11984 (grub_is_lv_readable): ... this. Support multinode hierarchy.
11985 (insert_array): New argument id.
11986 (is_node_readable): New function.
11987 (scan_device): Rename to ...
11988 (scan_disk): .. this. Restrict to one disk.
11989 (scan_devices): New function.
11990 (grub_diskfilter_iterate): Support multi-LV.
11991 Skip invisible and nameless LVs.
11992 (grub_diskfilter_memberlist): Support multi-LV.
11993 (grub_diskfilter_read_node): New function.
11994 (grub_raid_read): Most of logic moved to ...
11995 (read_segment): ... here
11996 (read_lv): New function.
11997 (grub_diskfilter_get_vg_by_uuid): New function.
11998 (grub_diskfilter_make_raid): Likewise.
11999 * grub-core/disk/ldm.c: New file.
12000 * grub-core/disk/lvm.c (vg_list): Removed.
12001 (lv_count): Likewise.
12002 (scan_depth): Likewise.
12003 (is_lv_readable): Likewise.
12004 (grub_lvm_getvalue): Advance pointer past the number.
12005 (find_lv): Removed.
12006 (do_lvm_scan): Refactored into ...
12007 (grub_lvm_detect): ... this. Support raid.
12008 (grub_lvm_iterate): Removed.
12009 (grub_lvm_memberlist): Likewise.
12010 (grub_lvm_open): Likewise.
12011 (grub_lvm_close): Likewise.
12012 (read_lv): Likewise.
12013 (read_node): Likewise.
12014 (is_node_readable): Likewise.
12015 (is_lv_readable): Likewise.
12016 (grub_lvm_read): Likewise.
12017 (grub_lvm_write): Likewise.
12018 (grub_lvm_dev): Use diskfilter
12019 (GRUB_MOD_INIT): Likewise.
12020 (GRUB_MOD_FINI): Likewise.
12021 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12022 new interface.
12023 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12024 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12025 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12026 grub_diskfilter_read_node.
12027 Fix a bug with xor.
12028 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12029 grub_diskfilter_read_node.
12030 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12031 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12032 (grub_disk_dev_iterate): Move from here...
12033 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12034 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12035 Make global.
12036 (grub_hostdisk_find_partition_start): Likewise.
12037 (grub_hostdisk_os_dev_to_grub_drive): New function.
12038 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12039 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12040 * util/getroot.c (make_device_name): ... here.
12041 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12042 Move to ...
12043 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12044 * grub-core/kern/emu/hostdisk.c
12045 (convert_system_partition_to_system_disk): Move to ...
12046 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12047 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12048 * util/getroot.c (device_is_wholedisk): ... here.
12049 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12050 * util/getroot.c (find_system_device): ... here.
12051 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12052 Move to ...
12053 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12054 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12055 Move to ...
12056 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12057 Handle LDM.
12058 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12059 Move to ...
12060 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12061 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12062 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12063 DISKFILTER.
12064 * include/grub/raid.h: Renamed to ...
12065 * include/grub/diskfilter.h: ... this.
12066 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12067 (GRUB_RAID_LAYOUT_*): Make into array.
12068 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12069 (grub_diskfilter_vg): New struct.
12070 (grub_diskfilter_pv_id): Likewise.
12071 (grub_raid_member): Removed.
12072 (grub_raid_array): Likewise.
12073 (grub_diskfilter_pv): New struct.
12074 (grub_diskfilter_lv): Likewise.
12075 (grub_diskfilter_segment): Likewise.
12076 (grub_diskfilter_node): Likewise.
12077 (grub_diskfilter_get_vg_by_uuid): New proto.
12078 (grub_raid_register): Inline.
12079 (grub_diskfilter_unregister): Likewise.
12080 (grub_diskfilter_make_raid): New proto.
12081 (grub_diskfilter_vg_register): Likewise.
12082 (grub_diskfilter_read_node): Likewise.
12083 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12084 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12085 (grub_util_is_ldm): Likewise.
12086 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12087 (grub_hostdisk_find_partition_start): Likewise.
12088 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12089 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12090 New definition.
12091 (grub_gpt_partition_map_iterate): New proto.
12092 * include/grub/lvm.h (grub_lvm_vg): Removed.
12093 (grub_lvm_pv): Likewise.
12094 (grub_lvm_lv): Likewise.
12095 (grub_lvm_segment): Likewise.
12096 (grub_lvm_node): Likewise.
12097 * util/getroot.c [...]
12098 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12099 (probe_abstraction): Likewise.
12100 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12101 (main): Remove dead logic.
12102
8a7f9b9c
VS
121032012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 Simplify root device discover and don't fail when trying to open
12106 incorrect devices.
12107
12108 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12109 function.
12110 (get_diskname_from_path): Likewise.
12111 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12112 of iterating.
12113
30545b85
VS
121142012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12117
28ea58cf
VS
121182012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12121 pastthe end.
12122
692dabca
VS
121232012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12124
12125 * util/grub-install.in: Add missing \.
12126 Reported by: gentoofan
12127
f6e4ea70
VS
121282012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12131 (direct_read): Use correct compressed size.
12132 (grub_squash_read_data): Likewise.
12133
121342012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12135
12136 * docs/grub.texi (Platform limitations): New section.
12137 (Platform-specific operations): Likewise.
12138 * docs/grub-dev.texi (Porting): Likewise.
12139
76261110
VS
121402012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12141
12142 IEEE1275 disk write support.
12143
12144 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12145 const void *.
12146 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12147 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12148 and seek loginc to ...
12149 (grub_ofdisk_prepare): ... here.
12150 (grub_ofdisk_write): Implement.
12151
fc36d603
VS
121522012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 ARC disk write support.
12155
12156 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12157 (reopen): New argument writable. All users updated.
12158 Handle required access mode.
12159 (grub_arcdisk_write): Implement.
12160 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12161 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12162
e06c2e7a
VS
121632012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12166 (read_sblock): Don't attempt to read superblocks outside the disk size.
12167
ff447958
VS
121682012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12169
12170 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12171 first superblock to find the second one when possible.
12172
9e88df39
VS
121732012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12174
12175 * util/grub-install.in: Fix an ARC bug.
12176 Print a warning if no platform-specific setup is available.
12177
bb26e4ff
VS
121782012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 Use static allocation rather than scratch pointer in reed_solomon.
12181 It decreases its size significantly and avoids a variable in .text.
12182
12183 * grub-core/lib/reed_solomon.c (scratch): Removed.
12184 (chosenstat): New const or static array.
12185 (sigma): Likewise.
12186 (errpot): Likewise.
12187 (errpos): Likewise.
12188 (sy): Likewise.
12189 (mstat): Likewise.
12190 (errvals): Likewise.
12191 (eqstat): Likewise.
12192 (pol_evaluate): Replace x with log_x argument. All users updated.
12193 (syndroms): Removed.
12194 (gauss_solve): Use statically allocated arrays.
12195 (rs_recover): Likewise.
12196 Calculate syndroms directly.
12197 (decode_block): Use statically allocated arrays.
12198 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12199 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12200
2e13ede5
VS
122012012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 Eliminate fixed limit on reed solomon decoder length.
12204
12205 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12206 rather than hardcoding the address.
12207 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12208 no_reed_solomon_length.
12209 Move gate_a20 to no-reed-solomon part.
12210 Don't force a particular size of no reed-solomon part.
12211 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12212 Removed.
12213 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12214 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12215
f8a9ab12
VS
122162012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 * grub-core/commands/wildcard.c (match_files): Handle filenames
12219 without explicit device.
12220 (wildcard_expand): Don't add explicit device if not already present.
12221 * tests/grub_script_echo1.in: Add a new expansion test.
12222
87edb894
VS
122232012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 Replace single-linked with double-linked lists. It results in more
12226 compact and more efficient code.
12227
12228 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12229 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12230 (grub_list_remove): Moved from here ...
12231 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12232 (grub_prio_list_insert): Set prev.
12233 * include/grub/list.h (grub_list): Add prev. All users updated.
12234
48b391e9
VS
122352012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 Handle newer autotools. Add some missing quotes while on it.
12238
12239 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12240 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12241 (pkgdata_DATA): ... here.
12242 * Makefile.util.def (update-grub_lib): Removed.
12243 * conf/Makefile.common (pkglib_DATA): Removed.
12244 (pkglib_SCRIPTS): Likewise.
12245 (pkgdata_DATA): New variable.
12246 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12247 needed.
12248 Add missing quotes.
12249 Remove unused variable while on it.
12250 * tests/util/grub-shell.in: Likewise.
12251 * util/grub-install.in: Likewise.
12252 * util/grub-mkconfig.in: Likewise.
12253 * util/grub-mknetdir.in: Likewise.
12254 * util/grub-mkrescue.in: Likewise.
12255 * util/grub-mkstandalone.in: Likewise.
12256 * util/grub.d/00_header.in: Likewise.
12257 * util/grub.d/10_hurd.in: Likewise.
12258 * util/grub.d/10_illumos.in: Likewise.
12259 * util/grub.d/10_kfreebsd.in: Likewise.
12260 * util/grub.d/10_linux.in: Likewise.
12261 * util/grub.d/10_netbsd.in: Likewise.
12262 * util/grub.d/10_windows.in: Likewise.
12263 * util/grub.d/20_linux_xen.in: Likewise.
12264 * util/grub.d/30_os-prober.in: Likewise.
12265 * util/update-grub_lib.in: Removed.
12266
122672012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12268
12269 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12270 a workaround for intel problem.
12271
66832792
PRP
122722012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
122732012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
122742012-01-23 pfsmorigo
12275
12276 * util/grub-install.in: Support dd'in into PreP partition.
12277 * util/grub-probe.c (probe): Support discovering partition type.
12278 (main): Support -t msdos_parttype.
12279
7816a17e
VS
122802012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12283 infinite recursion using counter.
12284 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12285 init to skip it if the magic check fails.
12286 (dec_stream_header): Init s->crc32.
12287
8f9d3a8c
ZB
122882012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
122892012-01-22 Zachary Bedell <pendorbound@gmail.com>
122902012-01-22 Richard Laager <rlaager@wiktel.com>
12291
12292 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12293 All users updated.
12294 (find_bestub): Determine correct size.
12295 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12296 (scan_disk): Align the size down.
12297 Call check pool before find_bestub to have ashift.
12298
b055dd32
VS
122992012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12300
12301 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12302 dprintf in no-malloc zone.
12303
d779e9bd
ML
123042012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12305
12306 * configure.ac: Add back in test for limits.h.
12307
b508af69
VS
123082012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 Support 4K-sector NTFS.
12311
12312 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12313 (grub_ntfs_data): Remove blocksize.
12314 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12315 Remove data argument. All users updated.
12316
dad9c8b5
VS
123172012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12318
12319 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12320 being in .text to avoid dprel references.
12321 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12322 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12323 (grub_arch_highmemsize): Likewise.
12324 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12325 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12326 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12327
d43a777e
VS
123282012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12331
12332 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12333 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12334
34e4208f
VS
123352012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12338 GRUB_UTIL.
12339 (grub_set_datetime_cmos): Likewise.
12340
3ec0fc1c
VS
123412012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 Make XZ compression parameters dependent on target and not host CPU.
12344
12345 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12346 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12347
22489834
VS
123482012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12349
12350 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12351 set but not used variable.
12352
8502fbca
VS
123532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12354
12355 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12356 created when no uuid support is compiled into mkfs.reiser.
12357
76df2068
VS
123582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12361 (utf8_to_macroman): Do the opposite.
12362 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12363
64e3f8f6
VS
123642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * configure.ac: Refise build qemu_mips w/o unifont.
12367
9c271078
VS
123682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 Eliminate grub_min/grub_max prone to overflow usage.
12371
12372 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12373 (poll_nonroot_hub): Likewise.
12374 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12375 (grub_affs_label): Likewise.
12376 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12377 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12378 (grub_hfs_label): Likewise.
12379 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12380 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12381 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12382 (zap_leaf_array_get): Likewise.
12383 (dnode_get_path): Likewise.
12384 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12385 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12386 * grub-core/script/execute.c (grub_script_break): Likewise.
12387 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12388 grub_max.
12389 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12390 * include/grub/misc.h (grub_min): Removed.
12391 (grub_max): Likewise.
12392
80662dbc
VS
123932012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12394
12395 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12396 direct.inode = 0.
12397
e6da1467
VS
123982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12401
b1ac4cb1
VS
124022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12405
b4bf7c3b
VS
124062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12409 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12410
8ee1101a
VS
124112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12414 rather than a hack for grub_strncasemap.
12415
124162012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 Support multiple initrds
12419 Note: part of this was accidently committed in r3739.
12420
12421 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12422 initrd.
12423 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12424 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12425 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12426 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12427 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12428
4d1e2bc9
VS
124292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12432 disks with unknown size.
12433 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12434
75b49ebe
VS
124352012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 Remove defines pertaining to arbitrary limits not affecting GRUB
12438 anymore.
12439
12440 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12441 (EXT2_MAX_SYMLINKCNT): Likewise.
12442 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12443 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12444 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12445 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12446 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12447 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12448 (DN_MAX_OBJECT_SHIFT): Likewise.
12449 (DN_MAX_OFFSET_SHIFT): Likewise.
12450 (DN_MAX_OBJECT): Likewise.
12451 (DNODES_PER_LEVEL_SHIFT): Likewise.
12452 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12453 (SPA_MAXBLOCKSIZE): Likewise.
12454 (SPA_BLOCKSIZES): Likewise.
12455 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12456 (MZAP_MAX_BLKSZ): Likewise.
12457
74a1dce7
VS
124582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12461 handle NULL appropriately.
12462 Remove MIN.
12463
30c7d3ce
VS
124642012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 Fix efiemu.
12467
12468 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12469 cpu/types.h.
12470 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12471 * configure.ac: Fix efiemu check.
12472
3c76ea0c
VS
124732012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12474
12475 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12476 grub_probe.
12477 Reported by: adamwill
12478
7e532280
SG
124792012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12480
12481 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12482
30492374
VS
124832012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 Fix handling of wide characters in gfxterm.
12486
12487 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12488 (clear_char): Likewise.
12489 (paint_char): Skip code == NULL chars.
12490 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12491
e70cb72f
VS
124922012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12493
12494 * grub-core/normal/charset.c: Move comment to right place.
12495
5c827cf9
VS
124962012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12497
12498 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12499 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12500 (grub_affs_mount): Revert the correct version checking.
12501
53603892
VS
125022012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 * docs/grub.texi (Unicode): Mention several other unsupported features.
12505
ff094b9b
VS
125062011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12509 case statements as compile-time one.
12510 (direct_read): Prevent spurious warnings.
12511 (grub_squash_read_data): Likewise.
12512
c029da8a
VS
125132011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 Various squash4 fixes and LZO and XZ support.
12516
12517 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12518 Add xzembed source files.
12519 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12520 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12521 (grub_squash_inode): New subtype long_dir.
12522 (SQUASH_TYPE_LONG_DIR): New inode type.
12523 (COMPRESSION): New enum.
12524 (XZBUFSIZ): New const.
12525 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12526 (read_chunk): Use data->decompress.
12527 (zlib_decompress): New function.
12528 (lzo_decompress): Likewise.
12529 (xz_decompress): Likewise.
12530 (squash_mount): Set new data fields.
12531 (grub_squash_iterate_dir): Handle long dir.
12532 (squash_unmount): Free xzdec and xzbuf.
12533 (grub_squash_open): Check ino type.
12534 (direct_read): Stylistic fixes. Use data->decompress.
12535 (grub_squash_read_data): Likewise.
12536 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12537 (get_byte): Likewise.
12538 (grub_zlib_disk_read): Removed.
12539 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12540 (GRUB_POSIX_BOOL_DEFINED): New define.
12541 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12542 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12543 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12544 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12545
7a45a539
VS
125462011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 Don't override more informative errors.
12549
12550 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12551 * grub-core/font/font.c (open_section): Likewise.
12552 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12553 filename. Don't override errors.
12554 (grub_cmd_openbsd_ramdisk): Don't override errors.
12555 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12556 (grub_cmd_initrd): Likewise.
12557 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12558 (grub_cmd_initrd): Likewise.
12559 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12560 (grub_cmd_linux): Likewise.
12561 (grub_cmd_initrd): Likewise.
12562 (grub_cmd_payload): Likewise.
12563 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12564 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12565 (grub_cmd_module): Likewise.
12566 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12567 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12568 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12569 (grub_cmd_xnu_mkext): Likewise.
12570 (grub_cmd_xnu_ramdisk): Likewise.
12571 (grub_xnu_check_os_bundle_required): Likewise.
12572 (grub_xnu_load_kext_from_dir): Likewise.
12573 (grub_cmd_xnu_kextdir): Likewise.
12574 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12575
b2d004db
VS
125762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12577
12578 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12579 as 1024 in block size field. Found on one of my test images.
12580 Small optimisation while on it.
12581
ec000eac
VS
125822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12585 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12586 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12587 performance fixes while on it.
12588 (grub_sfs_close): Fix memory leak while on it.
12589 (grub_sfs_label): Convert Latin1 to UTF-8.
12590
f50e1165
VS
125912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12594 space to avoid overflows.
12595 (grub_hfs_label): Convert from macroman to UTF-8.
12596
2ae254de
VS
125972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12598
12599 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12600
0108f491
VS
126012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12604
f45f5f89
VS
126052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 * unicode: Import Unicode 6.0 data.
12608
4d8c4765
VS
126092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12610
63fa8ef9
VS
12611 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12612 outside of range.
12613
126142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12615
12616 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
12617
12618 * include/grub/charset.h (grub_getend): New function.
12619 * grub-core/script/function.c (grub_script_function_find): Use
12620 grub_getend.
12621 * grub-core/normal/completion.c (add_completion): Likewise.
12622
f3cb4a4e
VS
126232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12626 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12627 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12628 (GRUB_UNICODE_TAG_END): Likewise.
12629 (GRUB_UNICODE_LAST_VALID): Likewise.
12630
5da8dbc5
VS
126312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12634 len and make it smaller. All users updated.
12635 * util/import_unicode.py: Put length and not end character.
12636 Check length.
12637
8569f13d
VS
126382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12639
12640 Make better Unicode-compliant and unify some UTF-8 code pathes.
12641
12642 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12643 valid character.
12644 (grub_is_valid_utf8): Use grub_utf8_process.
12645 Check resulting code range.
12646 (grub_utf8_to_ucs4): Use grub_utf8_process.
12647 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12648 valid character.
12649
cc4fddf5
VS
126502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12653
bbc47747
VS
126542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 * docs/grub.texi (Filesystems): Mention AFS.
12657
f63d6bf4
VS
126582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 * docs/grub.texi (Filesystems): Clarify restrictions.
12661 (Regexp): Mention non-Unicode regexp behaviour.
12662 (Other): Mention non-Unicode matching behaviour.
12663
74bbf0db
VS
126642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12665
f63d6bf4 12666 Make HFS implementation use MacRoman.
74bbf0db
VS
12667
12668 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12669 (macroman): New const array.
12670 (macroman_to_utf8): New function.
12671 (utf8_to_macroman): Likewise.
12672 (grub_hfs_find_dir): Use utf8_to_macroman.
12673 (grub_hfs_dir): Use macroman_to_utf8.
12674 Set case_insensitive.
12675
4ea0316e
VS
126762011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
12679
d3c13cbd
VS
126802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 Integrate hints into autogeneration scripts.
12683
12684 * docs/grub.texi (Filesystems): Add a hostdisk example.
12685 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
12686 (grub-probe): Add ofpath.
12687 * gentpl.py: Remove group nosparc64.
12688 * grub-core/commands/search.c (cache_entry): New struct.
12689 (cache): New var.
12690 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
12691 * grub-core/commands/search_wrap.c (options): Add platform-specific
12692 hint options.
12693 (grub_cmd_search): Handle platform-specific hints.
12694 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
12695 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
12696 (grub_util_biosdisk_data): Likewise.
12697 (grub_util_biosdisk_open): Set device_map.
12698 (read_device_map): Handle "" as indication of no map.
12699 Set device_map.
12700 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
12701 (grub_util_biosdisk_get_compatibility_hint): New function.
12702 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
12703 * include/grub/emu/hostdisk.h
12704 (grub_util_biosdisk_get_compatibility_hint): New proto.
12705 * util/grub-install.in: Don't call grub-mkdevicemap.
12706 Add platform-specific hint to load.cfg.
12707 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
12708 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12709 hints. Set root preliminary to compatibility hint, not to OS name.
12710 * util/grub-probe.c (PRINT_*): Add hints.
12711 (print): Make static.
12712 (escape_of_path): New function.
12713 (guess_bios_drive): Likewise.
12714 (guess_efi_drive): Likewise.
12715 (guess_baremetal_drive): Likewise.
12716 (print_full_name): Likewise.
12717 (probe): Handle hints.
12718 (main): Likewise.
12719 * util/ieee1275/devicemap.c: Removed.
12720 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
12721 updated.
12722 (grub_util_devname_to_ofpath): Return NULL on failure.
12723
12724 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
12725 resource leak.
12726 * util/getroot.c (grub_util_pull_device): Fix memory leak.
12727
12728 * po/POTFILES.in: Regenerated.
12729
12730 Allow purely long options
12731
12732 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
12733 (SHORT_ARG_USAGE): Likewise.
12734 (grub_arg_show_help): Compare opt with help_options.
12735 (parse_option): Receive opt as argument. If makes big simplificatons.
12736 All users updated
12737
00ce2df3
VS
127382011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12739
12740 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
12741 Restructure to avoid warning.
12742
e77e325f
VS
127432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 * util/grub-install.in: Account for possible escaped comma in device
12746 name.
12747
165099ea
VS
127482011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12749
12750 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
12751 channel.
12752
ce4a999d
VS
127532011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12754
12755 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
12756 allocation and zero-setting.
12757 (grub_ieee1275_get_devname): Check that alias is complete.
12758
379586ad
VS
127592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
12762 unaligned segments.
12763
9197b0ad
VS
127642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
12767 prefix.
12768 (grub_ofdisk_open): Check and discard ieee1275 prefix.
12769 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12770 Add ieee1275 prefix.
12771
edddb7f9
VS
127722011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 * docs/grub.texi (Filesystems): Update.
12775
a1a8b1b9
VS
127762011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 Support odc, newc and bigendian cpio formats.
12779
12780 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
12781 * grub-core/Makefile.core.def (newc): New module.
12782 (odc): Likewise.
12783 (cpio_be): Likewise.
12784 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
12785 (MAGIC): Likewise.
12786 (MAGIC2): Likewise.
12787 (head) [MODE_ODC]: Adapt for the format.
12788 (head) [MODE_NEWC]: Likewise.
12789 (head) [!MODE_*]: Write fields of interest as arrays.
12790 (MAGIC_USTAR): Removed.
12791 (read_number) [MODE_NEWC]: Change to hex.
12792 (read_number) [!MODE_*]: Parse binary arrays.
12793 (grub_cpio_find_file): Factor out the code for better structure and
12794 always use read_number.
12795 (grub_cpio_mount): Use MAGIC and MAGIC2.
12796 (grub_cpio_dir): Exit on first hook non-0 return.
12797 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
12798 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
12799 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
12800 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
12801 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
12802 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
12803 * grub-core/fs/newc.c: New file.
12804 * grub-core/fs/odc.c: Likewise.
12805 * grub-core/fs/cpio_be.c: Likewise.
12806
58eba9ee
VS
128072011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12808
12809 Fix handling of tar numbers occupying the whole field.
12810
12811 * grub-core/fs/cpio.c (read_number): New function.
12812 (grub_cpio_find_file): Use read_number instead of strtoull.
12813
a54a0e12
VS
128142011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
12817 occupying the whole field size.
12818
a6120aca
LA
128192011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
12820
12821 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
12822
a93964ce
VS
128232011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
12826
3ea1ca46
SG
128272011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
12828
12829 * grub-core/Makefile.core.def (lzma_decompress): Add missing
12830 TARGET_IMG_LDFLAGS.
12831
b87f7ef2
VS
128322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 * util/getroot.c (ESCAPED_PATH_MAX): New define.
12835 (mountinfo_entry): Increase the field size to take escaping into
12836 account.
12837 (find_root_device_from_libzfs): Add one byte to size of strings for
12838 security.
12839
62092395
VS
128402011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
12843 an assert.
12844 * util/grub-setup.c (setup): Likewise.
12845
1f0b1a77
VS
128462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12847
12848 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
12849 _LzmaDecodeA.
12850
8eba9997
VS
128512011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12852
12853 * docs/grub.texi (Internationalisation): New section.
12854
dd0c91e9
VS
128552011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12856
12857 * docs/grub.texi (Loopback booting): New section.
12858
128592011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
12860
12861 * util/grub-mkstandalone.in: Fix minor typo errors.
12862
198e150a
VS
128632011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12864
12865 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
12866
12867 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
12868 net/icmp.c and net/icmp6.c.
12869 (http): New module.
12870 (priority_queue): Likewise.
12871 * grub-core/io/bufio.c: Rewritten.
12872 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
12873 TYPE_WITH_CONFIGFILE_OPTION.
12874 (legacy_commands): Add bootp and dhcp.
12875 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
12876 (grub_legacy_parse): Likewise.
12877 * grub-core/lib/priority_queue.c: New file.
12878 * grub-core/net/arp.c: Add missing license header.
12879 (arp_find_entry): Removed.
12880 (arp_find_entry): Likewise.
12881 (grub_net_arp_resolve): Rename to ...
12882 (grub_net_arp_send_request): ...this.
12883 (grub_net_arp_receive): New card argument.
12884 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
12885 Set router and DNS server.
12886 (grub_net_configure_by_dhcp_ack): Handle routing information.
12887 (grub_cmd_bootp): Set checksum.
12888 (grub_bootp_init): Remove net_dhcp.
12889 * grub-core/net/dns.c: New file.
12890 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
12891 completion.
12892 (get_card_packet): Handle allocation.
12893 (grub_efinet_findcards): Set mtu.
12894 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
12895 (get_card_packet): Handle allocation.
12896 (emucard): Set mtu.
12897 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
12898 (GRUB_MOD_INIT): Set mtu.
12899 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
12900 mtu.
12901 (get_card_packet): Handle allocation.
12902 (grub_ofnet_findcards): Set mtu.
12903 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
12904 assert.
12905 (grub_net_recv_ethernet_packet): Handle IPv6.
12906 * grub-core/net/http.c: New file.
12907 * grub-core/net/icmp.c: Likewise.
12908 * grub-core/net/icmp6.c: Likewise.
12909 * grub-core/net/ip.c (ip6addr): New type.
12910 (ip6hdr): Likewise.
12911 (reassemble): Likewise.
12912 (cmp): New function.
12913 (reassembles): New variable.
12914 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
12915 (id): New variable.
12916 (send_fragmented): New function.
12917 (grub_net_send_ip_packet): Rename to ...
12918 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
12919 Handle non-UDP.
12920 (grub_net_recv_ip_packets): Rename to ...
12921 (handle_dgram): ... this. Check checksum. Handle non-UDP.
12922 (free_rsm): New function.
12923 (free_old_fragments): Likewise.
12924 (grub_net_recv_ip4_packets): New function.
12925 (grub_net_send_ip6_packet): Likewise.
12926 (grub_net_send_ip_packet): Likewise.
12927 (grub_net_recv_ip6_packets): Likewise.
12928 (grub_net_recv_ip_packets): Likewise.
12929 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
12930 (LINK_LAYER_CACHE_SIZE): New const.
12931 (link_layer_find_entry): New function.
12932 (grub_net_link_layer_add_address): Likewise.
12933 (grub_net_link_layer_resolve_check): Likewise.
12934 (grub_net_link_layer_resolve): Likewise.
12935 (grub_net_ipv6_get_slaac): Likewise.
12936 (grub_net_ipv6_get_link_local): Likewise.
12937 (grub_cmd_ipv6_autoconf): Likewise.
12938 (parse_ip): Handle one number representation.
12939 (parse_ip6): New functoion.
12940 (match_net): Handle IPv6.
12941 (grub_net_resolve_address): Handle IPv6 and DNS.
12942 (grub_net_resolve_net_address): Handle IPv6.
12943 (route_cmp): New function.
12944 (grub_net_route_address): Find best route.
12945 (grub_net_addr_to_str): Handle IPv6.
12946 (grub_net_addr_cmp): New function.
12947 (grub_net_add_addr): Register local route.
12948 (print_net_address): Handle net address.
12949 (grub_net_poll_cards): Retransmit TCP.
12950 (grub_net_poll_cards_idle_real): Likewise.
12951 (have_ahead): New function.
12952 (grub_net_seek_real): Use underlying seek.
12953 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
12954 * grub-core/net/tcp.c: New file.
12955 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
12956 (cmp): New function.
12957 (ack): Likewise.
12958 (tftp_receive): Handle unordered input.
12959 (destroy_pq): New function.
12960 (tftp_close): Close pq.
12961 * grub-core/net/udp.c: Put missing license header.
12962 (grub_net_udp_socket): New function.
12963 (udp_socket_register): Likewise.
12964 (grub_net_udp_close): Likewise.
12965 (grub_net_recv_udp_packet): Check checksum.
12966 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
12967 * include/grub/misc.h (grub_memchr): New function.
12968 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
12969 (grub_net_card_driver): Return buf in recv.
12970 (grub_net_slaac_mac_list): New struct.
12971 (grub_network_level_protocol_id): Add ipv6.
12972 (grub_net_network_level_addr): Likewise.
12973 (grub_net_network_level_net_addr): Likewise.
12974 (grub_net_app_protocol): Add seek.
12975 (grub_net_socket): Removed.
12976 (grub_net_sockets): Likewise.
12977 (grub_net_socket_register): Likewise.
12978 (grub_net_socket_unregister): Likewise.
12979 (FOR_NET_SOCKETS): Likewise.
12980 (grub_net_add_addr): Add const.
12981 (GRUB_NET_BOOTP_*): New enum.
12982 (grub_net_addr_cmp): New proto.
12983 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
12984 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
12985 (grub_net_hwaddr_to_str): NEw proto.
12986 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
12987 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
12988 (grub_dns_init): New proto.
12989 (grub_dns_fini): Likewise.
12990 (grub_net_tcp_retransmit): Likewise.
12991 (grub_net_link_layer_add_address): Likewise.
12992 (grub_net_link_layer_resolve_check): Likewise.
12993 (grub_net_link_layer_resolve): Likewise.
12994 (grub_net_dns_lookup): Likewise.
12995 (grub_net_add_dns_server): Likewise.
12996 (grub_net_remove_dns_server): Likewise.
12997 (GRUB_NET_TRIES): New const.
12998 (GRUB_NET_INTERVAL): Likewise.
12999 * include/grub/net/arp.h: Mostly rewritten.
13000 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13001 * include/grub/net/ip.h: Mostly rewritten.
13002 * include/grub/net/netbuff.h: Indent.
13003 * include/grub/net/tcp.h: New file.
13004 * include/grub/net/udp.h: Mostly rewritten.
13005 * include/grub/priority_queue.h: New file.
13006 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13007 (grub_swap_bytes64_compile_time): Likewise.
13008 (grub_cpu_to_be16_compile_time): Likewise.
13009 (grub_cpu_to_be32_compile_time): Likewise.
13010 (grub_cpu_to_be64_compile_time): Likewise.
13011 (grub_be_to_cpu64_compile_time): Likewise.
13012
215c1800
VS
130132011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13016 UINT_TO_PTR with cast.
13017
c17e546c
VS
130182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13021 don't use them.
13022
ff6b18b6
VS
130232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13026 already there.
13027
70ffcc93
VS
130282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13031 confusing ipxe.
13032
e5f4d260
VS
130332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13036 Add missing const attribute.
13037 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13038 Likewise.
13039 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13040 Likewise.
13041
8e54b4b7
VS
130422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13045 misaligned access.
13046 (serpent_setkey): Likewise.
13047 (serpent_encrypt_internal): Likewise.
13048 (serpent_decrypt_internal): Likewise.
13049 (serpent_encrypt): Don't put an alignment-increasing cast.
13050 (serpent_decrypt): Likewise.
13051 (serpent_test): Likewise.
13052
813c0a2b
VS
130532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13054
13055 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13056
f2b60fbd
VS
130572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13058
13059 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13060
13061 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13062 grub_addr_t casts.
13063 (PTR_TO_UINT64): Likewise.
13064 (PTR_TO_UINT32): Likewise.
13065
5ef5c511
VS
130662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13067
13068 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13069 because of stack.
13070 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13071 limit.
13072
c476e6df
VS
130732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13076 text_width > available width a bit more gracefully.
13077
384ad7cc
VS
130782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13081 current address calculation.
13082
96f8caf8
VS
130832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13086 stack.
13087 (encode_block): Likewise.
13088
276b7a8b
VS
130892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13092 certainety.
13093
e3fd394a
VS
130942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13097 non-RS part to avoid RS messing with GDT.
13098 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13099 Increase to suit in realmode routines.
13100
131012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 * grub-core/kern/i386/realmode.S: Increase alignment.
13104 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13105
ee9c2e7a
VS
131062011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13107
13108 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13109 be deterministic.
13110 (syndroms): Compute 0 syndrom.
13111 (rs_recover): Use 0 syndrom.
13112
7a7f7cc9
VS
131132011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13114
13115 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13116
a14b16d1
VS
131172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13118
13119 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13120 brackets.
13121
9f59e9fc
VS
131222011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13123
ca1b552c
VS
13124 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13125 account.
13126 (get_top_pad): Likewise.
13127 (get_right_pad): Likewise.
13128 (get_bottom_pad): Likewise.
13129
131302011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13131
13132 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13133
e739d698
VS
131342011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13135
13136 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13137 attribute as the structure isn't guaranteed to be properly aligned.
13138 (grub_efi_pci_device_path): Likewise.
13139 (grub_efi_pccard_device_path): Likewise.
13140 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13141 specify the size of `memory_type'.
13142 (grub_efi_vendor_device_path): Likewise.
13143 (grub_efi_controller_device_path): Likewise.
13144 (grub_efi_acpi_device_path): Likewise.
13145 (grub_efi_expanded_acpi_device_path): Likewise.
13146 (grub_efi_atapi_device_path): Likewise.
13147 (grub_efi_scsi_device_path): Likewise.
13148 (grub_efi_fibre_channel_device_path): Likewise.
13149 (grub_efi_1394_device_path): Likewise.
13150 (grub_efi_usb_device_path): Likewise.
13151 (grub_efi_usb_class_device_path): Likewise.
13152 (grub_efi_i2o_device_path): Likewise.
13153 (grub_efi_mac_address_device_path): Likewise.
13154 (grub_efi_ipv4_device_path): Likewise.
13155 (grub_efi_ipv6_device_path): Likewise.
13156 (grub_efi_infiniband_device_path): Likewise.
13157 (grub_efi_uart_device_path): Likewise.
13158 (grub_efi_vendor_messaging_device_path): Likewise.
13159 (grub_efi_hard_drive_device_path): Likewise.
13160 (grub_efi_cdrom_device_path): Likewise.
13161 (grub_efi_vendor_media_device_path): Likewise.
13162 (grub_efi_file_path_device_path): Likewise.
13163 (grub_efi_protocol_device_path): Likewise.
13164 (grub_efi_piwg_device_path): Likewise.
13165 (grub_efi_bios_device_path): Likewise.
13166
cb8f88ea
VS
131672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13170 (grub_ucs4_to_utf8_alloc): Likewise.
13171 (grub_ucs4_to_utf8): Likewise.
13172 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13173 (grub_ucs4_to_utf8_alloc): Likewise.
13174
309e5352
VS
131752011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 AFFS never uses unicode.
13178
13179 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13180 (grub_latin1_to_utf8): New inline function.
13181 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13182
e7987e1b
VS
131832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13186 overflow.
13187
efc2616e
VS
131882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13191 (grub_squash_dirent_header): Likewise.
13192 (read_chunk): Don't double swap.
13193 (grub_squash_iterate_dir): Fix swap sizes.
13194
3c349f5a
VS
131952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13196
13197 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13198
b453412d
VS
131992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13200
13201 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13202 (grub_hfs_iterate_dir): Likewise.
13203
12e9d4d1
VS
132042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13205
13206 Fix video on platforms where unaligned access is forbidden.
13207 Make several optimisations while on it.
13208
13209 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13210 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13211 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13212 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13213 Disable.
13214 (grub_video_fbblit_replace_16bit_1bit):
13215 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13216 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13217 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13218 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13219 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13220 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13221 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13222 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13223 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13224 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13225 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13226 (grub_video_fbblit_replace_index_RGB888): Likewise.
13227 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13228 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13229 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13230 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13231 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13232 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13233 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13234 Disable.
13235 (grub_video_fbblit_blend_XXX565_1bit):
13236 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13237 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13238 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13239 void *.
13240 * grub-core/video/fb/video_fb.c (common_blitter)
13241 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13242 (grub_video_fb_create_render_target_from_pointer)
13243 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13244 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13245 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13246 definition.
13247 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13248
ace96609
VS
132492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13250
13251 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13252 HH22 and HM10 relocations.
13253
fd261d73
VS
132542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13255
13256 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13257
e59b7857
VS
132582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13261 allocation succeeded.
13262
9b4baaa4
VS
132632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13266 argument a u8 pointer. All users updated.
13267 Handle unaligned buffers.
13268
dc713193
VS
132692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13270
13271 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13272 add_part to workaround compiler bug.
13273
30dd48c2
VS
132742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13277
0c6087a8
VS
132782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13281 Reserve alignment invariants.
13282 (grub_multiboot_load): Likewise.
13283 (retrieve_video_parameters): Likewise.
13284 (grub_multiboot_make_mbi): Likewise.
13285
c2e77777
VS
132862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13287
13288 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13289 incorrect pointer.
13290
b70b6d11
VS
132912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13294 (grub_pata_pio_write): Likewise.
13295
02a2bf83
VS
132962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 Add noreturn attributes and remove unreachable code.
13299
13300 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13301 code.
13302 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13303 code. Mark as noreturn.
13304 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13305 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13306 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13307 unreachable code.
13308 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13309 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13310 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13311 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13312 * include/grub/kernel.h (grub_main): Mark as noreturn.
13313 * include/grub/reader.h (grub_rescue_run): Likewise.
13314
2019d09e
VS
133152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13318 redundant declaration.
13319
d1c501ee
VS
133202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13323 redundant declaration.
13324 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13325
61664420
VS
133262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13329 to ensure alignment.
13330 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13331 alignment. Ensure tmp alignment.
13332 (grub_cmd_hdparm): Ensure buf alignment.
13333 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13334 to ensure alignment.
13335 (grub_ata_dumpinfo): Ensure text alignment.
13336 (grub_atapi_identify): Preserve alignment invariant.
13337 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13338
0d51ee20
VS
133392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13340
13341 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13342 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13343 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13344 * include/grub/misc.h (grub_reboot)
13345 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13346 (grub_halt) [__mips__]: Likewise.
13347
753ef8c1
VS
133482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13351 Remove redundant declaration.
13352 (grub_mmap_get_post64): Likewise.
13353 (grub_mmap_get_upper): Likewise.
13354 (grub_mmap_get_lower): Likewise.
13355
85c85365
VS
133562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13359 uint32_t * to ensure alignment.
13360 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13361
a23f2cc4
VS
133622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13363
93018f64
VS
13364 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13365 uint16_t * to ensure alignment.
13366 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13367 alignment.
13368
133692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13370
13371 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13372 to ensure alignment.
13373 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13374
58acccd6
VS
133752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13376
13377 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13378 Handle unaligned pointers.
13379 (u32at): Likewise.
13380 (u64at): Likewise.
13381 (fixup): Use byte access instead of v16at.
13382 (find_attr): Fix imporper usage of v32at.
13383 (read_data): Likewise.
13384 (list_file): Handle byte-swapping and unaligned strings.
13385 (grub_ntfs_label): Likewise.
13386
9b05cad7
VS
133872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13390 as it's not necessarily aligned.
13391
b3950b84
VS
133922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13395 redundant declaration.
13396 (grub_serial_init): Likewise.
13397 (grub_terminfo_init): Likewise.
13398
fcd232b7
VS
133992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13402 function.
13403 (ZAP_HASH_IDX): Likewise.
13404 (ZAP_LEAF_HASH_SHIFT): Likewise.
13405 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13406 (LEAF_HASH): Likewise.
13407 (ZAP_LEAF_NUMCHUNKS): Likewise.
13408 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13409 alignment invariants. Return pointer. All users updated.
13410 (ZAP_LEAF_ENTRY): Make into inline function.
13411 (NBBY): Removed.
13412 (xor): LIkewise.
13413 (xor_out): Use grub_crypto_xor.
13414 (dnode_get_path): Use grub_get_unaligned.
13415 (nvlist_find_value): Likewise.
13416 (grub_zfs_nvlist_lookup_uint64): Likewise.
13417 (grub_zfs_nvlist_lookup_string): Likewise.
13418 (get_nvlist_size): Likewise.
13419 (grub_zfs_open): Likewise.
13420 (fill_fs_info): Likewise.
13421 (grub_zfs_dir): Likewise.
13422 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13423 alignment invariants.
13424 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13425 necessarily aligned.
13426
f138623a
VS
134272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13430
564840dc
VS
134312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13432
13433 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13434 arithmetic to conserve alignment invariants.
13435
9b40df20
VS
134362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13439 redundant declaration.
13440 (grub_efiemu_mm_obtain_request): Likewise.
13441 (grub_efiemu_prepare): Likewise.
13442
d1c930f9
VS
134432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13444
13445 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13446 to match types.
13447
4c5f3056
VS
134482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13451 case of aunaligned recptr.
13452 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13453 alignment.
13454 (grub_hfsplus_btree_search): Handle unaligned index.
13455
728cba91
VS
134562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13459 to get freetag and skip.
13460
eb561f31
VS
134612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13464 array.
13465 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13466 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13467
20993fbb
VS
134682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13471 name for checksum and fix allocation algorithm.
13472
1f313b94
VS
134732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * include/grub/types.h (grub_properly_aligned_t): New type.
13476 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13477 (grub_get_unaligned16): Add explicit casts.
13478 (grub_get_unaligned32): Likewise.
13479 (grub_get_unaligned64): Likewise.
13480 (grub_set_unaligned16): New function.
13481 (grub_set_unaligned32): Likewise.
13482
47ae27ec
VS
134832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13486
78c2cd1c
VS
134872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13488
13489 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13490 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13491 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13492
53072f9b
VS
134932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13496 conditionals.
13497
055dc239
VS
134982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13501 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13502
496bd074
VS
135032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13504
13505 Unify and improve RAID and crypto xor.
13506
13507 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13508 changed to grub_crypto_xor
13509 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13510 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13511 Use bigger types when possible.
13512
ef6e4335
VS
135132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13514
13515 * grub-core/disk/raid.c (scan_devices): Fix condition.
13516
5d048bf2
VS
135172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13518
13519 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13520 Make name a const ptr.
13521
ee533335
VS
135222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13523
13524 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13525 first argument a const pointer.
13526 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13527 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13528 proto.
13529 (grub_children_iterate): Likewise.
13530 (grub_machine_mmap_iterate): Remove redundant declaration.
13531
cc8f3668
VS
135322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13533
13534 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13535 (grub_cmd_acpi) [!x86]: Disable EBDA.
13536
c5fc563a
VS
135372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 Enable UTF8 in gnulib regexp.
13540
13541 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13542 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13543 (isupper): Use grub_isupper.
13544 (isascii): New inline function.
13545 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13546 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13547 * grub-core/normal/charset.c (grub_utf8_process): New function.
13548 (grub_utf8_to_utf16): Use grub_utf8_process.
13549 (grub_encode_utf8_character): New function.
13550 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13551 * include/grub/charset.h (grub_utf8_process): New declaration.
13552 (grub_encode_utf8_character): Likewise.
13553 * include/grub/misc.h (grub_islower): New inline function.
13554 (grub_isupper): Likewise.
13555 (grub_strchrsub): Moved down to fix the definitions.
13556
0af2346f
VS
135572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13558
13559 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13560 specification.
13561
74dbd244
VS
135622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 * include/grub/loader.h (grub_loader_register_preboot_hook):
13565 Use struct preboot * and not void * for handle. All users updated.
13566 (grub_loader_unregister_preboot_hook): Likewise.
13567
1bc8f60d
VS
135682011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13571 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13572 UTF-16-BE. All users updated.
13573 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13574 (grub_hfsplus_iterate_dir): Likewise.
13575 (grub_hfsplus_label): Likewise.
13576
48d6e456
VS
135772011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13580
bf3a3857
VS
135812011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 Add missing const qualifiers.
13584
13585 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13586 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13587 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13588 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13589 (grub_lvm_check_flag): Likewise.
13590 * grub-core/efiemu/i386/coredetect.c
13591 (grub_efiemu_get_default_core_name): Likewise
13592 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13593 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13594 * grub-core/fs/ntfs.c (fixup): Likewise.
13595 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13596 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13597 (fzap_lookup): Likewise.
13598 (zap_lookup): Likewise.
13599 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13600 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13601 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13602 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13603 (grub_freebsd_add_meta_module): Likewise.
13604 (grub_cmd_freebsd_module): Likewise.
13605 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13606 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13607 (grub_xnu_writetree_get_size): Likewise.
13608 (grub_xnu_writetree_toheap_real): Likewise.
13609 (grub_xnu_find_key): Likewise.
13610 (grub_xnu_create_key): Likewise.
13611 (grub_xnu_create_value): Likewise.
13612 (grub_xnu_register_memory): Likewise.
13613 (grub_xnu_check_os_bundle_required): Likewise.
13614 (grub_xnu_scan_dir_for_kexts): Likewise.
13615 (grub_xnu_load_kext_from_dir): Likewise.
13616 * grub-core/normal/color.c (color_list): Likewise.
13617 * grub-core/normal/completion.c (current_word): Likewise.
13618 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13619 * grub-core/term/serial.c (grub_serial_find): Likewise.
13620 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13621 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13622 Likewise.
13623 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13624 (grub_freebsd_add_meta_module): Likewise.
13625 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13626 * include/grub/net.h (grub_net_card_driver): Likewise.
13627 (grub_net_card): Likewise.
13628 (grub_net_app_protocol): Likewise.
13629 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13630 * include/grub/serial.h (grub_serial_find): Likewise.
13631 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13632 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13633 (grub_xnu_create_value): Likewise.
13634 (grub_xnu_find_key): Likewise.
13635 (grub_xnu_scan_dir_for_kexts): Likewise.
13636 (grub_xnu_load_kext_from_dir): Likewise.
13637
13638 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13639 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13640 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13641 Moved from here ...
13642 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13643
112b4837
CW
136442011-11-28 Colin Watson <cjwatson@ubuntu.com>
13645
13646 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13647
49e891ac
VS
136482011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13651 (read_device): Fix size calculation.
13652
fd258e5c
RM
136532011-11-25 Robert Millan <rmh@gnu.org>
13654
13655 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13656 (find_root_device_from_libzfs): Add zpool output parser to be used
13657 as fallback when libzfs isn't available.
13658
78845dc2
SG
136592011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13660
13661 * po/Makefile.in.in: Add missing escape-continuation.
13662
adac5211
VS
136632011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13666
10b64f1c
VS
136672011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13668
13669 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13670
bb416954
VS
136712011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13672
13673 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
13674
bdfe9eeb
VS
136752011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13676
13677 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
13678
581ffa8a
VS
136792011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 * grub-core/lib/adler32.c: Add missing license specification.
13682 * grub-core/lib/crc64.c: Likewise.
13683 * grub-core/loader/i386/pc/plan9.c: Likewise.
13684 * grub-core/partmap/plan.c: Likewise.
13685
2536cf64
LK
136862011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
13687
13688 Add facility to debug GRUB with gdb under qemu.
13689
13690 * grub-core/gdb_grub.in: New file.
13691 * grub-core/gmodule.pl.in: Likewise.
13692 * grub-core/Makefile.core.def (gmodule.pl): New script.
13693 (gdb_grub): Likewise.
13694
bc108a4a
VS
136952011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * util/grub-mount.c (argp_parser): Accept relative pathes.
13698 * util/grub-fstest.c (argp_parser): Likewise.
13699
111c1778
VS
137002011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 Plan9 support.
13703
13704 * Makefile.util.def (libgrubmods): Add
13705 grub-core/partmap/plan.c.
13706 * docs/grub.texi: Notice Plan9 support.
13707 * grub-core/Makefile.core.def (plan9): New module.
13708 (part_plan): Likewise.
13709 * grub-core/loader/i386/pc/plan9.c: New file.
13710 * grub-core/partmap/plan.c: Likewise.
13711 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
13712 define.
13713 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
13714 * include/grub/mm.h (grub_extend_alloc): New inline function.
13715
c30be3b6
VS
137162011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 Make Reed-Solomon faster by using power of generator representation of
13719 GF(256)*.
13720
13721 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
13722 (gf_double_t): Likewise.
13723 (gf_invert): Removed.
13724 (gf_powx): New array.
13725 (gf_powx_inv): Likewise.
13726 (scratch): Move higher.
13727 (gf_reduce): Removed.
13728 (gf_mul): Use powx.
13729 (gf_invert): Likewise.
13730 (init_inverts): Replaced with ...
13731 (init_powx): ...this. All users updated.
13732 (pol_evaluate): Replace multiplications with additions.
13733 (rs_encode): Likewise.
13734 (gauss_eliminate): Call gf_invert.
13735 (grub_reed_solomon_add_redundancy): Call init_powx.
13736 (grub_reed_solomon_recover): Call init_powx unconditionally.
13737
fa5aeffc
VS
137382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
13741
a346b81c
VS
137422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13743
13744 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
13745 disk->partiton for safety.
13746
d89ee414
VS
137472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13750 Fix a memory leak.
13751 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
13752
91ee7b6d
VS
137532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
13756
91e5a33d
VS
137572011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
13760
9edd7be2
VS
137612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13762
13763 Fix spaces handling in proc/self/mountinfo.
13764
13765 * util/getroot.c (unescape): New function.
13766 (grub_find_root_device_from_mountinfo): Use unescape.
13767
ba102053
VS
137682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13769
13770 Support ZFS embedding.
13771
13772 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
13773 (grub_zfs_fs): Register grub_zfs_embed.
13774
aa94b870
VS
137752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 Fix MIPS compilation.
13778
13779 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
13780 * include/grub/offsets.h: Rename decompressor fields from
13781 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
13782 * util/grub-mkimage.c (image_targets): Use new names.
13783
5fbdac14
VS
137842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13785
13786 Defer multiboot device parsing until we're in compressed part.
13787
13788 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
13789 bsd_part. setdevice has fallen into disuse.
13790 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
13791 (bsd_part): Likewise.
13792 (boot_dev): New variable.
13793 (multiboot_trampoline): Don't parse multiboot device.
13794 Pass multiboot device in %edx.
13795 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
13796 grub_boot_device.
13797 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
13798 Likewise.
13799 * grub-core/kern/i386/pc/startup.S: Save edx.
13800 (grub_boot_drive): Removed.
13801 (grub_install_dos_part): Likewise.
13802 (grub_install_bsd_part): Likewise.
13803 (grub_boot_device): New variable.
13804 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
13805 (grub_install_bsd_part): Likewise.
13806 (grub_boot_drive): Likewise.
13807 (grub_boot_device): New variable.
13808 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
13809 Removed.
13810 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13811 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
13812 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
13813 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
13814 * util/grub-install.in: Remove redundant condition.
13815
691cbb58
VS
138162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 Fix bug introduced by previous commit.
13819
13820 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
13821
60240b8b
VS
138222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 Use decompressors framework on i386-pc. It increases core size
13825 by 46 bytes but improves compatibility and maintainability.
13826
13827 * grub-core/Makefile.core.def (lzma_decompress): New image.
13828 (kernel): Add i386_pc_ldflags.
13829 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
13830 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
13831 to real_to_prot, prot_to_real and device info.
13832 * include/grub/offsets.h: Renamed decompressor offsets.
13833 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
13834 (image_target_desc): Remove raw_size and rename decompressor fields.
13835 (compress_kernel): Handle lzma.
13836 (generate_image): Handle decompressors on i386-pc.
13837
e9d3421c
VS
138382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13839
13840 * configure.ac: Add -fno-asynchronous-unwind-tables.
13841
2b23074a
VS
138422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13843
13844 Move assembly code to C by using intwrap. It increases core size
13845 by 88 bytes but improves compatibility and maintainability.
13846
13847 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
13848 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
13849 ... here. Translated to C.
13850 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
13851 * grub-core/term/i386/pc/console.c (grub_console_getkey):
13852 ... here. Translated to C.
13853 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
13854 * grub-core/term/i386/pc/console.c (grub_console_getxy):
13855 ... here. Translated to C.
13856 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
13857 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
13858 ... here. Translated to C.
13859 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
13860 * grub-core/term/i386/pc/console.c (grub_console_cls):
13861 ... here. Translated to C.
13862 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
13863 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
13864 ... here. Translated to C.
13865 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
13866 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
13867 Translated to C.
13868 * grub-core/term/i386/pc/console.c (int10_9): New function.
13869 (grub_console_putchar): Likewise.
13870 * include/grub/i386/pc/console.h: Removed the not anymore shared
13871 functions.
13872
678f4b67
VS
138732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 Move grub_chainloader_real_boot out of the kernel.
13876
13877 * grub-core/Makefile.am: Remove machine/loader.h.
13878 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13879 Removed.
13880 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
13881 variable.
13882 (grub_relocator16_keep_a20_enabled): Likewise.
13883 (grub_relocator16_boot): Fill new variables.
13884 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
13885 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
13886 relocator.
13887 (grub_chainloader_unload): Likewise.
13888 (grub_chainloader_cmd): Likewise.
13889 * include/grub/i386/pc/loader.h: Removed.
13890 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
13891 and esi. All initialisers updated.
13892
4626edf6
VS
138932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
138942011-11-12 Colin Watson <cjwatson@ubuntu.com>
13895
13896 * Makefile.util.def (grub-mount): New util.
13897 * .bzrignore: Add grub-mount.
13898 * configure.ac: Check for fuse and enable grub-mount if available.
13899 * docs/man/grub-mount.h2m: New file.
13900 * util/grub-mount.c: Likewise.
13901
10f0117b
VS
139022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13903
13904 * grub-core/commands/efi/fixvideo.c: Gettextize.
13905 * grub-core/commands/hashsum.c: Likewise.
13906 * grub-core/commands/i386/cmostest.c: Likewise.
13907 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13908 * grub-core/commands/i386/pc/lsapm.c: Likewise.
13909 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13910 * grub-core/commands/lsmmap.c: Likewise.
13911 * grub-core/commands/menuentry.c: Likewise.
13912 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
13913 * grub-core/commands/setpci.c: Likewise.
13914 * grub-core/loader/i386/bsd.c: Likewise.
13915 * grub-core/loader/i386/linux.c: Likewise.
13916 * util/getroot.c: Likewise.
13917 * util/grub-editenv.c: Likewise.
13918 * util/grub-fstest.c: Likewise.
13919 * util/grub-mkfont.c: Likewise.
13920 * util/grub-mkimage.c: Likewise.
13921 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13922 * util/grub-pe2elf.c: Likewise.
13923 * util/grub-probe.c: Likewise.
13924 * util/grub-setup.c: Likewise.
13925 * util/ieee1275/ofpath.c: Likewise.
13926 * util/misc.c: Likewise.
13927 * util/raid.c: Likewise.
13928
566f779b
RM
139292011-11-11 Robert Millan <rmh@gnu.org>
13930
13931 * util/getroot.c (grub_util_get_geom_abstraction): Remove
13932 __attribute__((unused)) from `os_dev', which *is* being used.
13933
b50787de
VS
139342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13935
13936 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
13937 forgotten define.
13938 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
13939 GRUB_IA64_DL_GOT_ALIGN.
13940 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
13941 GRUB_IA64_DL_TRAMP_ALIGN.
13942
119d11c8
VS
139432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13944
13945 Replace grub_fatal with normal errors in i386 linux loader.
13946
13947 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
13948 (allocate_pages): Check find_efi_mmap_size return value.
13949 (grub_e820_add_region): Return error.
13950 (grub_linux_boot): Check mmap return value.
13951
6e0632e2
VS
139522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * grub-core/commands/acpihalt.c: Gettextized.
13955 * grub-core/commands/cacheinfo.c: Likewise.
13956 * grub-core/commands/cmp.c: Likewise.
13957 * grub-core/commands/efi/loadbios.c: Likewise.
13958 * grub-core/commands/gptsync.c: Likewise.
13959 * grub-core/commands/ieee1275/suspend.c: Likewise.
13960 * grub-core/commands/legacycfg.c: Likewise.
13961 * grub-core/commands/memrw.c: Likewise.
13962 * grub-core/commands/minicmd.c: Likewise.
13963 * grub-core/commands/parttool.c: Likewise.
13964 * grub-core/commands/time.c: Likewise.
13965 * grub-core/commands/videoinfo.c: Likewise.
13966 * grub-core/disk/geli.c: Likewise.
13967 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
13968 * grub-core/disk/luks.c: Likewise.
13969 * grub-core/disk/lvm.c: Likewise.
13970 * grub-core/font/font_cmd.c: Likewise.
13971 * grub-core/fs/zfs/zfscrypt.c: Likewise.
13972 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13973 * grub-core/gfxmenu/view.c: Likewise.
13974 * grub-core/kern/emu/hostdisk.c: Likewise.
13975 * grub-core/kern/emu/main.c: Likewise.
13976 * grub-core/kern/emu/misc.c: Likewise.
13977 * grub-core/kern/emu/mm.c: Likewise.
13978 * grub-core/kern/mips/arc/init.c: Likewise.
13979 * grub-core/kern/mips/loongson/init.c: Likewise.
13980 * grub-core/kern/partition.c: Likewise.
13981 * grub-core/lib/i386/halt.c: Likewise.
13982 * grub-core/lib/mips/arc/reboot.c: Likewise.
13983 * grub-core/lib/mips/loongson/reboot.c: Likewise.
13984 * grub-core/loader/i386/pc/chainloader.c: Likewise.
13985 * grub-core/loader/i386/xnu.c: Likewise.
13986 * grub-core/loader/multiboot.c: Likewise.
13987 * grub-core/net/bootp.c: Likewise.
13988 * grub-core/net/net.c: Likewise.
13989 * grub-core/normal/term.c: Likewise.
13990 * grub-core/partmap/bsdlabel.c: Likewise.
13991 * grub-core/parttool/msdospart.c: Likewise.
13992 * grub-core/term/gfxterm.c: Likewise.
13993 * grub-core/term/terminfo.c: Likewise.
13994 * grub-core/video/i386/pc/vbe.c: Likewise.
13995 * util/grub-menulst2cfg.c: Likewise.
13996 * util/grub-mkdevicemap.c: Likewise.
13997 * util/grub-mklayout.c: Likewise.
13998 * util/grub-mkrelpath.c: Likewise.
13999 * util/grub-script-check.c: Likewise.
14000 * util/ieee1275/grub-ofpathname.c: Likewise.
14001 * util/resolve.c: Likewise.
14002
073aa7a9
VS
140032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 Support %1$d syntax.
14006
14007 * tests/printf_unit_test.c: New file.
14008 * Makefile.util.def (printf_test): New test.
14009 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14010
c76b5417
VS
140112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14014 fix.
14015
df067ad1
VS
140162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14017
14018 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14019 dprintf.
14020 * grub-core/font/font.c (grub_font_load): Likewise.
14021
5b289bc5
VS
140222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 * util/grub-macho2img.c: Add comment concerning gettext.
14025 * grub-core/lib/legacy_parse.c: Likewise.
14026
c1860f87
VS
140272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14030 (grub_xvasprintf): Likewise.
14031
d35d0d37
VS
140322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14033
14034 Add const keyword to grub_env_get and gettextize week days.
14035
14036 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14037 (grub_read_hook_datetime): Return const char *.
14038 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14039 updated.
14040 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14041 Mark for gettext.
14042 (grub_get_weekday_name): Return const char *. Call gettext.
14043 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14044 char * and len as the argument. All users updated.
14045 (grub_script_argv_split_append): Receive const char *.
14046 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14047 * include/grub/env.h (grub_env_get): Likewise.
14048 (grub_env_read_hook_t): Return const char *.
14049 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14050 (grub_script_argv_split_append): Likewise.
14051
9aed8a71
VS
140522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14055
067fdf00
VS
140562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14059 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14060
a8bd9d39
VS
140612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14064 Fix prototype.
14065
f7ce5baf
VS
140662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 Fix mips compilation.
14069
14070 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14071 normal decoder.
14072 (hashes): Use in embed decoder as well (for sizes).
14073 (dec_stream_header): Fix embed decompressor logic.
14074 (dec_stream_footer): Likewise.
14075
9bb182f3
VS
140762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14077
14078 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14079 an error and not a fatal on unrecognised relocation types.
14080
63a9e6f6
VS
140812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14084 Issue error rather than printf on unknown arguments.
14085
4c458569
VS
140862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14089 Make buf a const.
14090
e2d22baf
VS
140912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14094 Fix module name.
14095
53dc8590
VS
140962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14099 leftover debug printf.
14100
6c189294
VS
141012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14104
f7688369
VS
141052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14106
14107 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14108 A stylistic fix.
14109
11a775a3
VS
141102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14111
14112 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14113
33f784e8
SL
141142011-11-10 Shea Levy <slevy@tieronedesign.com>
14115
14116 Allow all modules to perform serial IO
14117
14118 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14119 * include/grub/serial.h (grub_serial_port_configure): New inline
14120 function.
14121 (grub_serial_port_fetch): Likewise.
14122 (grub_serial_port_put): Likewise.
14123 (grub_serial_port_fini): Likewise.
14124 (grub_serial_find): New proto.
14125
f6276525
VS
141262011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 Put symlink at the end of the node and fix a potential
14129 memory corruption.
14130
14131 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14132 Make symlink into an array.
14133 (set_rockridge): Set have_symlink and alloc_dirents.
14134 (grub_iso9660_read_symlink): Use new layout.
14135 (grub_iso9660_iterate_dir): Fix memory corruption.
14136 Use new layout.
14137 (grub_iso9660_dir): Set have_symlink.
14138 (grub_iso9660_open): Likewise.
14139
c3591189
VS
141402011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14141
14142 Remove local keyword.
14143
14144 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14145 (version_test_gt): Likewise.
14146 (version_find_latest): Likewise.
14147 (gettext_printf): Likewise.
14148 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14149
cb544caa
VS
141502011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14153
45bd824d
VS
141542011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14155
14156 Fix ZFS memory and resource leaks.
14157
14158 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14159 All users updated.
14160 Free type on exit.
14161 (fill_vdev_info): New parameter inserted. All users updated.
14162 (check_pool_label): Likewise.
14163 (scan_disk): Likewise.
14164 (scan_devices): Close non-inserted disks.
14165 (fzap_iterate): Free l.
14166 (unmount_device): Free children descripto memory.
14167
ad9a2f44
VS
141682011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14171 argument (access out of bounds).
14172
6b68db81
VS
141732011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14174
14175 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14176 >= 6 drives.
14177
28840fda
VS
141782011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14179
14180 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14181 Fix declaration.
14182
8a5a3a5b
VS
141832011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14184
14185 Fix several memory leaks.
14186
14187 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14188 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14189 (grub_cpio_dir): Likewise.
14190 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14191 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14192 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14193 (grub_romfs_label): Likewise.
14194 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14195 (squash_unmount): New function.
14196 (grub_squash_dir): Fix memory leak.
14197 (grub_squash_open): Likewise.
14198 (grub_squash_read): Likewise.
14199 (grub_squash_mtime): Likewise.
14200 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14201 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14202 * util/grub-fstest.c (fstest): Likewise.
14203
57b01250
VS
142042011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14207 avoid accessing beyond the array.
14208
19e81ba7
VS
142092011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14212
52b656c0
VS
142132011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14214
14215 Several AFFS fixes.
14216
14217 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14218 (GRUB_AFFS_FLAG_FFS): Removed.
14219 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14220 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14221 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14222 (grub_fshelp_node): Make block 32-bit.
14223 Add block_cache and last_block_cache.
14224 (grub_affs_read_block): Fill and use block cache.
14225 (grub_affs_read_file): Removed.
14226 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14227 boot block.
14228 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14229 safety.
14230 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14231 space.
14232 (grub_affs_close): Free block cache.
14233 (grub_affs_read): Use grub_fshelp_read_file directly.
14234
438a746a
VS
142352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14236
14237 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14238 with no error set.
14239
49a45021
VS
142402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14243 used variable.
14244 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14245 Likewise.
14246
3ae17eb8
VS
142472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14248
14249 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14250
14251 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14252 byteswap when needed.
14253
27610c38
VS
142542011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 Fix FreeBSD compilation.
14257
14258 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14259 to avoid circular dependency.
14260 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14261 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14262 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14263
4a19b601
VS
142642011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 Fix ZFS crypto error types.
14267
14268 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14269 (grub_gcm_decrypt): Likewise.
14270 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14271 from PBKDF2.
14272
958ee221
VS
142732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 Illumos support.
14276
14277 * Makefile.util.def (10_illumos): New script.
14278 * configure.ac: Set COND_HOST_ILLUMOS.
14279 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14280 Support Illumos calls.
14281 (find_partition_start) [__sun__]: Likewise.
14282 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14283 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14284 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14285 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14286 device.
14287 * util/grub-probe.c (probe) [__sun__]: Do character check.
14288 * util/grub.d/10_illumos.in: New file.
14289
cac14fb6
VS
142902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14291
14292 Support escaped commas in hostdisk.
14293
14294 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14295 (find_grub_drive): Use unescape_cmp.
14296 (make_device_name): Escape commas.
14297
78e08dc3
VS
142982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14299
14300 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14301
9f421dd1
VS
143022011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14305 variable.
14306
ed64e9e2
VS
143072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14308
14309 Support trampoline jumps on powerpc.
14310
14311 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14312 __ia64__ path.
14313 (grub_dl_load_segments): Set mod->sz.
14314 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14315 segments.
14316 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14317 (jump): Likewise.
14318 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14319 function.
14320 (trampoline): New struct.
14321 (trampoline_template): New const.
14322 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14323 * include/grub/dl.h (grub_dl): Add sz element.
14324 [__powerpc__]: Follow __ia64__.
14325 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14326 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14327 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14328 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14329
3084ede4
VS
143302011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14331
14332 ZFS crypto support.
14333
14334 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14335 * grub-core/Makefile.core.def (zfscrypt): New module.
14336 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14337 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14338 it. All users updated.
14339 (grub_zfs_decrypt): New var.
14340 (grub_zfs_load_key): Likewise.
14341 (zio_checksum_functions): Add SHA256+MAC.
14342 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14343 (zio_read): Handle encrypted blocks.
14344 (zap_verify): Remove incorrect check.
14345 (fzap_iterate): Handle non-standard fzap.
14346 (zap_iterate): Likewise.
14347 (zap_iterate_u64): New function.
14348 (dnode_get_fullpath): Load keys.
14349 * grub-core/fs/zfs/zfscrypt.c: New file.
14350 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14351 (grub_crypto_ecb_encrypt): Make input const.
14352 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14353 (grub_crypto_ecb_encrypt): Make input const.
14354 (GRUB_CIPHER_AES): New macro.
14355 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14356 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14357 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14358 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14359 prefix. All users updated.
14360 (grub_zfs_add_key): New proto.
14361 (grub_zfs_decrypt): Likewise.
14362 (grub_zfs_load_key): Likewise.
14363 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14364 * util/grub-fstest.c (options): Add -K option.
14365 (argp_parser): Likewise.
14366
b632b404
VS
143672011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14368
14369 Support zle compression on ZFS.
14370
14371 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14372 (decomp_table): Add zle.
14373 * include/grub/zfs/zio.h (zio_compress): Add zle.
14374
c7ba4f69
VS
143752011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14376
14377 Support BtrFS embedding.
14378
14379 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14380 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14381 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14382 * util/grub-setup.c (setup): Use fs embedding if available.
14383 Add additional sanity check.
14384
455377d9
VS
143852011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14386
14387 * util/grub-install.in: Fix condition for config_opt.
14388
c2fd16ca
VS
143892011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14390
14391 Support third redundancy strip on raidz3.
14392
14393 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14394 Return error on singularity. All users updated.
14395 (read_device): Don't stop on 3rd failure on raidz3.
14396
8622923b
VS
143972011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 Support case-insensitive ZFS subvolumes.
14400
14401 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14402 All users updated.
14403 (zap_hash): Likewise.
14404 (name_cmp): New function.
14405 (zap_leaf_array_equal): New parameter case_insensitive.
14406 All users updated.
14407 (zap_leaf_lookup): Likewise.
14408 (fzap_lookup): Likewise.
14409 (zap_lookup): Likewise.
14410 (dnode_get_path): New parameter case_insensitive. Retrieve case
14411 sensitiviness of a volume. All users updated.
14412 (dnode_get_fullpath): New parameter case_insensitive.
14413 All users updated.
14414 (grub_zfs_dir): Set info.case_insensitiveness.
14415
95f2e860
VS
144162011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 Support second redundancy strip on raidz(2,3).
14419
14420 * grub-core/fs/zfs/zfs.c (powx): New array.
14421 (powx_inv): Likewise.
14422 (poly): New const.
14423 (xor_out): New function.
14424 (gf_mul): Likewise.
14425 (recovery): Likewise.
14426 (read_device): Use second redundancy strip.
14427
11ee4389
VS
144282011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 Use a power of generator representation of GF(256) multiplication group
14431 to save space time and complexity.
14432
14433 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14434 (raid6_table2): Likewise.
14435 (powx): New array.
14436 (powx_inv): Likewise.
14437 (poly): New const.
14438 (grub_raid_block_mul): Replace with ...
14439 (grub_raid_block_mulx): ...this.
14440 (grub_raid6_init_table): Rewritten.
14441 (grub_raid6_recover): Use power of generator representation.
14442
09e2763f
VS
144432011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14446 for the right device.
14447
8bec9a28
VS
144482011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14449
14450 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14451 expected by grub-mkimage and it's more clear since there is no implicit
14452 padding.
14453
dbd3a32e
VS
144542011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14455
14456 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14457 disk.
14458 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14459
182c872a
PMH
144602011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14461
14462 * util/grub-mkrescue.in: Fix handling xorriso option.
14463
1e51cabd
VS
144642011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14467 NULL.
14468
9cc3581d 144692011-11-03 crocket <crockabiscuit@gmail.com>
14470
14471 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14472
158dc1ea
VS
144732011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 XZ CRC64 and SHA256 support.
14476
14477 * Makefile.util.def (libgrubmods): Add crc64.c.
14478 * grub-core/Makefile.core.def (crc64): New module.
14479 * grub-core/lib/crc64.c: New file.
14480 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14481 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14482 Fix the type.
14483 (MAX_HASH_SIZE): New define.
14484 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14485 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14486 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14487 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14488 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14489 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14490 Handle non-crc32 hashes.
14491 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14492 (dec_stream_header): Handle non-crc32 hashes.
14493 (dec_stream_footer): Likewise.
14494 (dec_block_header): Likewise.
14495 (dec_main): Likewise.
14496 (xz_dec_init): Likewise.
14497 (xz_dec_reset): Likewise.
14498 (xz_dec_end): Likewise.
14499 * util/import_gcry.py: Add CRC64 line.
14500
9d9b3d2f
VS
145012011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14504 as well.
14505
7d0ac931
VS
145062011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 Make reiserfs label retrieval similar to other *_label functions.
14509
14510 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14511 (REISERFS_MAX_LABEL_LENGTH): Removed.
14512 (REISERFS_LABEL_OFFSET): Likewise.
14513 (grub_reiserfs_label): Rewritten.
14514
145152011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14516
14517 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14518 field.
14519
cf5ba824
VS
145202011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14521
14522 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14523
17744004
VS
145242011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14525
14526 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14527 drive failure on both raidz and raidz2.
14528
aca5aefc
VS
145292011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 Fix RAIDZ(2) for >= 5 devices.
14532
14533 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14534 asize argument. All users updated.
14535
ce8ca56e
VS
145362011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14537
14538 Fix RAIDZ(2).
14539
14540 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14541 (fill_vdev_info_real): Set ashift.
14542 (read_device): Rewrite RAIDZ part based on reverse engineering.
14543
7c01e783
VS
145442011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14545
14546 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14547 don't report potentially unavialiable fields in debug output.
14548 (find_path): Fix double-free and memory leak.
14549
ce109e84
VS
145502011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 Read label on UFS1.
14553
14554 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14555 (grub_ufs_fs): Always set .label.
14556
87661123
VS
145572011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 Use shifts in UFS.
14560
14561 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14562 (grub_ufs_data): New field log2_blksz.
14563 (grub_ufs_read_file): Use shifts.
14564 (grub_ufs_mount): Check block size and logarithm it.
14565
46bc1dc2
VS
145662011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14569 long symlinks.
14570
19ee2987
VS
145712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14572
14573 Handle symlinks and long names on tar and cpio.
14574
14575 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14576 (ATTR_FILE): Likewise.
14577 (ATTR_DIR): Likewise.
14578 (ATTR_LNK): Likewise.
14579 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14580 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14581 L and K entries.
14582 (grub_cpio_mount): Zero-fill data.
14583 (handle_symlink): New function.
46bc1dc2
VS
14584 (grub_cpio_dir): Handle symlinks.
14585 (grub_cpio_open): Likewise.
14586 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 14587
c83a08d8
VS
145882011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14589
14590 Fix iso9660 filename limitations and fix memory leaks.
14591
14592 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14593 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14594
45cdd3ea
VS
145952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14596
14597 Fix JFS file name length limitations.
14598
14599 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14600 (grub_jfs_diropen): Fix maximum filename length.
14601 (grub_jfs_getent): Fix filename length.
14602 (grub_jfs_lookup_symlink): Fix size checks.
14603
94ef05c2
VS
146042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14605
14606 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14607 string.
14608
785ab8c7
VS
146092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14610
eb0b6b45
VS
14611 Leverage BFS implementation to read AFS.
14612
14613 * Makefile.util.def (libgrubmods): Add afs.c.
14614 * grub-core/Makefile.core.def (afs): New module
14615 * grub-core/fs/afs.c: New file.
14616 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14617
146182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14619
14620 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 14621
c4a1628f
VS
146222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 * grub-core/fs/bfs.c: Run indent.
14625
5825b379
VS
146262011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 BFS implementation based on the specification.
14629
14630 * grub-core/fs/bfs.c: New file.
14631 * Makefile.util.def (libgrubmods): Add bfs.c.
14632 * grub-core/Makefile.core.def (bfs): New module.
14633
42b2a706
VS
146342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 * util/grub-fstest.c (cmd_cp): Clarify error message.
14637 (cmd_cmp): Likewise.
14638
61b99bfc
YB
146392011-10-30 Yves Blusseau <blusseau@zetam.org>
14640
14641 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14642 and befs_be.
14643
faba3d16
VS
146442011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 Remove afs and befs because of copyright problem.
14647
14648 * grub-core/fs/afs.c: Removed.
14649 * grub-core/fs/afs_be.c: Removed.
14650 * grub-core/fs/befs.c: Removed.
14651 * grub-core/fs/befs_be.c: Removed.
14652 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14653 * grub-core/Makefile.core.def (afs): Removed.
14654 (afs_be): Likewise.
14655 (befs): Likewise.
14656 (befs_be): Likewise.
14657
c39224b0
VS
146582011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14659
14660 Prefer rockridge over Joliet.
14661
14662 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14663 to ...
14664 (set_rockridge): ... here.
14665 (grub_iso9660_mount): Check rockridge on the primary label when
14666 discovering. Ignore Joliet if Rockridge is present.
14667
e551115a
VS
146682011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14669
14670 Use shifts in nilfs2.
14671
14672 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14673 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
14674 (grub_nilfs2_palloc_entries_per_group): Replace with ...
14675 (grub_nilfs2_log_palloc_entries_per_group): ... this.
14676 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
14677 (grub_nilfs2_entries_per_block): Replaced with ...
14678 (grub_nilfs2_log_entries_per_block_log): ... this.
14679 (grub_nilfs2_blocks_per_group): Replaced with ...
14680 (grub_nilfs2_blocks_per_group_log): ... this.
14681 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
14682 (grub_nilfs2_blocks_per_desc_block_log): ... this.
14683 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
14684 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
14685 (grub_nilfs2_palloc_entry_offset): Replaced ...
14686 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
14687 (grub_nilfs2_dat_translate): Use shifts.
14688 (grub_nilfs2_read_inode): Likewise.
14689 (GRUB_MOD_INIT): Ensure that logs are correct.
14690
564dd58c
VS
146912011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 Use shifts in minix filesystem.
14694
14695 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
14696 (GRUB_MINIX_ZONE2SECT): Likewise.
14697 (grub_minix_data): Replace block_size with log_block_size.
14698 (grub_minix_read_file): Use shifts.
14699 (grub_minix_mount): Check block size and take a logarithm.
14700
ed9ba06d
VS
147012011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 Use shifts in squash4.
14704
14705 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
14706 (squash_mount): Check block size and take logarithm.
14707 (direct_read): Use shifts.
14708
ad03fe76
VS
147092011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 Correct befs block counting logic.
14712
14713 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
14714 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
14715 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
14716 (grub_afs_read_inode): Use block_shift.
14717 (RANGE_SHIFT): New definition.
14718 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
14719 unexpected conditions, use shifts and appropriate types.
14720 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
14721
6563f63d
VS
147222011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14723
14724 * grub-core/disk/raid.c (scan_devices): Check partition.
14725 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14726
5b1ae25f
VS
147272011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14728
14729 Support BFS (befs) UUID.
14730
14731 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
14732 (grub_afs_small_data_element_header): New struct.
14733 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
14734 (grub_afs_read_attribute) [MODE_BFS]: New function.
14735 (grub_afs_iterate_dir): Allocate for complete inode.
14736 (grub_afs_mount): Likewise.
14737 (grub_afs_uuid) [MODE_BFS]: New function.
14738 (grub_afs_fs) [MODE_BFS]: Add .uuid.
14739
f8d82408
VS
147402011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
14743 (zfs_unmount): Fix memory leak.
14744
5773fb64
VS
147452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14746
14747 Support NTFS reparse points.
14748
14749 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
14750 (symlink_descriptor): New struct.
14751 (grub_ntfs_read_symlink): New function.
14752 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
14753 (grub_ntfs_open): Likewise.
14754
91c3fdde
VS
147552011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14756
14757 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
14758
3be82e10
VS
147592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14760
14761 fstest xnu_uuid subcommand.
14762
14763 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
14764 grub-core/commands/xnu_uuid.c.
14765 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
14766 (fstest): Handle xnu_uuid.
14767 (options): Document xnu_uuid.
14768 (argp_parser): Parse xnu_uuid.
14769
8e32442e
VS
147702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14771
14772 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
14773 -l argument. Add newline at the end if printing.
14774 (GRUB_MOD_INIT): Document -l.
14775
52a05075
VS
147762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
14779
1869edb5
VS
147802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14781
14782 ZFS multi-device and version 33 support.
14783
14784 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
14785 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
14786 (grub_zfs_data): Add multidev-ice-related fields.
14787 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
14788 (dva_get_offset): Make dva const.
14789 (zfs_fetch_nvlist): New function.
14790 (fill_vdev_info_real): Likewise.
14791 (fill_vdev_info): Likewise.
14792 (check_pool_label): Likewise.
14793 (scan_disk): Likewise.
14794 (scan_devices): Likewise.
14795 (read_device): Likewise.
14796 (read_dva): Likewise.
14797 (zio_read_gang): Use read_dva.
14798 (zio_read_data): Likewise.
14799 (zap_leaf_lookup): Add missing endian conversion.
14800 (zap_verify): Add missing endian conversion. All users updated.
14801 (fzap_lookup): Likewise.
14802 (fzap_iterate): Likewise.
14803 (dnode_get_path): Handle SA bonus.
14804 (nvlist_find_value): Make input const. All users updated.
14805 (unmount_device): New function.
14806 (zfs_unmount): Use unmount_device.
14807 (zfs_mount): Use scan_disk.
14808 (zfs_mtime): New function.
14809 (grub_zfs_open): Handle system attributes.
14810 (fill_fs_info): Likewise.
14811 (grub_zfs_dir): Likewise.
14812 (grub_zfs_fs): Add mtime.
14813 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
14814 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
14815 (SA_MTIME_OFFSET): Likewise.
14816 (SA_SYMLINK_OFFSET): Likewise.
14817 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
14818 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
14819 (fstest): Support zfsinfo.
14820 (argp_parser): Likewise.
14821
186b4028
VS
148222011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
14825 error.
14826
148272011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
14828
14829 ZFS fixes.
14830
14831 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
14832 sharing the same block. Iterate over correct number of indices.
14833 (dnode_get_path): Handle symlinks correctly.
14834
c0584900
VS
148352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14836
14837 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
14838
67e2bd71
VS
148392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14840
14841 Read label on HFS+.
14842
14843 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
14844 (grub_hfsplus_btree_search): Fix types.
14845 (grub_hfsplus_label): Implement.
14846
e9cc6b7b
VS
148472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14848
14849 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
14850
19832ddb
VS
148512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
14854
66b40850
VS
148552011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 Fix symlink handling on iso9660.
14858
14859 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
14860 All users updated.
14861 (grub_iso9660_susp_iterate): Accept zero-size iterate.
14862 (grub_iso9660_read_symlink): Moved most of code ...
14863 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
14864
db821363
VS
148652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14868 Use union to avoid breaking strict-aliasing rules.
14869
e1211949
VS
148702011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 Support multi-extent iso files.
14873
14874 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
14875 Add node.
14876 (grub_fshelp_node): Revamp. All users updated.
14877 (FLAG_*): New enum.
14878 (read_node): New function.
14879 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
14880 All users updated.
14881 (grub_iso9660_mount): Don't attempt to read sua when there is none.
14882 (get_node_size): New function.
14883 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
14884 entries.
14885 Fix memory leak on . and ..
14886 (grub_iso9660_read): Use read_node.
14887 (grub_iso9660_close): Free node.
14888
d4888031
VS
148892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14890
14891 Fix tar 4G limit and handle paths containing dot.
14892
14893 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
14894 (canonicalize): New function.
14895 (grub_cpio_find_file): Use canonicalize. Store offs in
14896 grub_disk_addr_t.
14897 (grub_cpio_dir): Use grub_disk_addr_t.
14898 (grub_cpio_open): Likewise.
14899
9f12e664
VS
149002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 Fix handling of uncompressed blocks on squashfs and break 4G limit.
14903
14904 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
14905 unused flags.
14906 (grub_squash_inode): Add long_file and block_size.
14907 (grub_squash_cache_inode): New struct.
14908 (grub_squash_dirent): Make types into enum.
14909 (SQUASH_TYPE_LONG_REGULAR): New type.
14910 (grub_squash_frag_desc): Add field size.
14911 (SQUASH_BLOCK_FLAGS): New enum.
14912 (grub_squash_data): Use grub_squash_cache_inode.
14913 (grub_fshelp_node): Make ino_chunk 64-bit.
14914 (read_chunk): Minor argument change. All users updated.
14915 (squash_mount): Use correct le_to_cpu.
14916 (grub_squash_open): Handle LONG_REGULAR.
14917 (direct_read): New function.
14918 (grub_squash_read_data): Handle blocks correctly.
14919
9f326fba
VS
149202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
14923
f4d9b64b
VS
149242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
14927
5bbd28b8
VS
149282011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 Fix 2G limit on ZFS.
14931
14932 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
14933 types.
14934 (uberblock_verify): Likewise.
14935 (dmu_read): Likewise.
14936 (grub_zfs_read): Likewise. Remove invalid cast.
14937
68c72069
VS
149382011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
14941 (grub_jfs_blkno): Fix incorrect shift.
14942 (grub_jfs_read_file): Use more appropriate types.
14943
6e536dc8
VS
149442011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 Support triple indirect on minix2 and minix3.
14947
14948 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
14949 Declare triple_indir_zone.
14950 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
14951 indirect.
14952
e0864e7a
VS
149532011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14954
14955 Minix FS fixes.
14956
14957 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
14958 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
14959 Rename ctime to mtime. All users updated.
14960 (grub_minix_get_file_block): Fix types and double indirect computations.
14961
89481cab
VS
149622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14963
14964 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
14965 if no label is found.
14966 (grub_fat_iterate_dir): Fix file size type.
14967 (grub_fat_iterate_dir): Likewise.
14968
f646e143
VS
149692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
14972 save some space.
14973 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14974 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14975
534d769e
VS
149762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14977
14978 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
14979
e084ba18
VS
149802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14981
14982 * util/import_gcry.py: Accept space between # and include.
14983
3471ecdf
VS
149842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
14987
124df5f6
VS
149882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 Fine grainely disable warnings on lexer. Remove Wno-error on it.
14991
14992 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
14993 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
14994 yylex_strncpy.
14995 * grub-core/script/yylex.l: Add fine-grained #pragma.
14996
4defb8d5
VS
149972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15000 New inline function.
15001 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15002 Likewise.
15003 (memset) [GRUB_UTIL]: Likewise.
15004 (memcmp) [GRUB_UTIL]: Likewise.
15005
4e94ae65
VS
150062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15007
15008 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15009 inline function rather than a define.
15010
18c575e5
VS
150112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15012
15013 * util/grub-setup.c: Add missing include.
15014
f8bc22a8
VS
150152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15016
15017 * util/ieee1275/grub-ofpathname.c: Add missing include.
15018
3ce69fc9
VS
150192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15022 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15023 Likewise.
15024
d1e293bb
VS
150252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15026
15027 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15028 grub_memcmp usage.
15029
7a5c54a4
VS
150302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15031
15032 * util/grub-install.in: Add datarootdir as per automake manual
15033 suggestion.
15034 * util/grub-mknetdir.in: Likewise.
15035
150362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15037
15038 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15039 suggestion.
15040 * util/grub.d/10_kfreebsd.in: Likewise.
15041 * util/grub.d/10_linux.in: Likewise.
15042 * util/grub.d/10_netbsd.in: Likewise.
15043 * util/grub.d/10_windows.in: Likewise.
15044 * util/grub.d/20_linux_xen.in: Likewise.
15045
766f7d08
VS
150462011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 Remove redundant grub_kernel_image_size.
15049
15050 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15051 _edata and _start.
15052 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15053 the small code. It moves it only by few bytes but simplifies the code.
15054 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15055 _start.
15056 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15057 (grub_kernel_image_size): Removed.
15058 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15059 (grub_kernel_image_size): Removed.
15060 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15061 compiled with Apple toolchain.
15062 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15063 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15064 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15065 (grub_total_module_size): Likewise.
15066 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15067 Removed.
15068 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15069 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15070 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15071 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15072 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15073 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15074 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15075 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15076 Removed.
15077 (grub_total_module_size): Removed.
15078 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15079 (image_targets): Likewise.
15080 Set .compressed_size to no field on sparc.
15081 (generate_image): Remove kernel_image_size handling.
15082
fcf1d672
SJ
150832011-10-19 Szymon Janc <szymon@janc.net.pl>
15084
15085 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15086 NULL pointer dereference.
15087
de9c615e
VS
150882011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15089
15090 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15091 done with a dedicated section.
15092
15093 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15094 Ensure the correct position of boot_path.
15095 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15096 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15097 other fields.
15098 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15099 * include/grub/boot.h: Removed. All references removed.
15100 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15101 Removed.
15102 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15103
e55599dc
VS
151042011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15105
15106 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15107 name.
15108
36dd20ad
VS
151092011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15110
15111 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15112
f8f72eb8
VS
151132011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15114
15115 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15116 Don't add the bogus brackets.
15117
a374751b
VS
151182011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 ExFAT support.
15121
15122 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15123 * grub-core/Makefile.core.def (exfat): New module.
15124 * grub-core/fs/exfat.c: New file.
15125 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15126 (GRUB_FAT_ATTR_*): Make into an enum.
15127 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15128 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15129 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15130 (GRUB_FAT_MAXFILE): Removed.
15131 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15132 (grub_current_fat_bpb_t): New type.
15133 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15134 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15135 (grub_fat_dir_node_t): New type.
15136 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15137 (fat_log2) [MODE_EXFAT]: Removed.
15138 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15139 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15140 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15141 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15142 (grub_fat_label) [MODE_EXFAT]: New function.
15143 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15144 reserved_first_sector to 0.
15145
544c2487
VS
151462011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15147
15148 Move grub_reboot out of the kernel.
15149
15150 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15151 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15152 * grub-core/lib/efi/reboot.c: ... here.
15153 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15154 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15155 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15156 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15157 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15158 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15159 * grub-core/lib/ieee1275/reboot.c: ... here.
15160 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15161 * grub-core/lib/mips/arc/reboot.c: ... here.
15162 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15163 * grub-core/lib/mips/loongson/reboot.c: ...here.
15164 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15165 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15166 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15167 * include/grub/i386/reboot.h: New file.
15168 * include/grub/mips/loongson/ec.h: Fix includes.
15169 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15170 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15171 * grub-core/lib/i386/reboot.c: New file.
15172
a97501d2
VS
151732011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 Make grub_prefix into module to fix the arbitrary limit and save
15176 some space.
15177
15178 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15179 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15180 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15181 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15182 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15183 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15184 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15185 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15186 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15187 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15188 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15189 * include/grub/ia64/efi/kernel.h: Removed.
15190 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15191 (grub_prefix): Removed.
15192 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15193 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15194 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15195 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15196 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15197 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15198 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15199 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15200 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15201 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15202 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15203 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15204 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15205 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15206 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15207 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15208 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15209 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15210 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15211 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15212 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15213 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15214 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15215 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15216 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15217 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15218 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15219 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15220 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15221 from module.
15222 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15223 prefix_end.
15224 (image_targets): Likewise.
15225 (generate_image): Put prefix as a module.
15226
39705fad
VS
152272011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15228
15229 Replace grub_module_iterate with FOR_MODULES.
15230
15231 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15232 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15233 (grub_efi_modules_addr): ...this.
15234 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15235 (grub_efi_init): Set grub_modbase.
15236 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15237 (grub_modbase): New variable.
15238 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15239 (grub_modbase): New variable.
15240 (grub_machine_init): Set grub_modbase.
15241 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15242 (grub_modbase): New variable.
15243 (grub_machine_init): Set grub_modbase.
15244 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15245 (grub_modbase): New variable.
15246 (grub_machine_init): Set grub_modbase.
15247 * grub-core/kern/main.c (grub_module_iterate): Remove.
15248 (grub_modules_get_end): Use grub_modbase.
15249 (grub_load_modules): Use FOR_MODULES.
15250 (grub_load_config): Likewise.
15251 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15252 (grub_modbase): New variable.
15253 (grub_machine_init): Set grub_modbase.
15254 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15255 (grub_modbase): New variable.
15256 (grub_machine_init): Set grub_modbase.
15257 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15258 Removed.
15259 (grub_modbase): New variable.
15260 (grub_machine_init): Set grub_modbase.
15261 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15262 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15263 (grub_module_iterate): Likewise.
15264 (grub_modbase): New variable declaration.
15265 (FOR_MODULES): New macro.
15266
2afb7f6c
VS
152672011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15270 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15271
366e34fa
VS
152722011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 Fix few obvious type discrepancies.
15275
15276 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15277 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15278 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15279 variable.
15280 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15281 and connected types.
15282 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15283 offset.
15284 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15285 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15286 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15287 and connected types.
15288
177b960e
VS
152892011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 Fix python 3.x incompatibilities.
15292
15293 * gentpl.py: Put brackets around print strings.
15294 * util/import_gcry.py: Open explicitly as utf-8.
15295 Use in instead of has_key.
15296
3b619ae1
VS
152972011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15298
15299 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15300 (GRUB_XFS_INO_AGBITS): Make into inline function.
15301 (GRUB_XFS_INO_INOINAG): Likewise.
15302 (GRUB_XFS_INO_AG): Likewise.
15303 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15304 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15305 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15306 (GRUB_XFS_EXTENT_SIZE): Likewise.
15307 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15308 (GRUB_XFS_NEXT_DIRENT): Likewise.
15309 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15310 (grub_xfs_read_file): Fix offset type.
15311
8bcebcb8
RM
153122011-10-15 Robert Millan <rmh@gnu.org>
15313
15314 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15315
0017e5ef
RM
153162011-10-15 Robert Millan <rmh@gnu.org>
15317
15318 Fix build problem on FreeBSD and GNU/kFreeBSD.
15319
15320 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15321
d8919552
VS
153222011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15323
15324 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15325
15326 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15327 types.
15328 (grub_hfsplus_btree_recoffset): Likewise.
15329 (grub_hfsplus_btree_recptr): Likewise.
15330 (grub_hfsplus_find_block): Likewise.
15331 (grub_hfsplus_btree_search): Likewise.
15332 (grub_hfsplus_read_block): Likewise.
15333 (grub_hfsplus_read_file): Likewise.
15334 (grub_hfsplus_mount): Likewise.
15335 (grub_hfsplus_btree_iterate_node): Likewise.
15336 (grub_hfsplus_btree_search): Likewise.
15337 (grub_hfsplus_iterate_dir): Likewise.
15338 (grub_hfsplus_read): A small code simplification.
15339
c81296b6
VS
153402011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 * grub-core/kern/emu/hostdisk.c
15343 (convert_system_partition_to_system_disk): Don't assume that children
15344 of mapper nodes are mapper nodes.
15345
0eb8ffb1
VS
153462011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15349 * include/grub/misc.h (grub_isxdigit): New function.
15350 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15351 switched to grub_isxdigit.
15352 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15353 number starting with a letter.
15354
a98f4a08
RM
153552011-10-09 Robert Millan <rmh@gnu.org>
15356
15357 LVM support for FreeBSD and GNU/kFreeBSD.
15358
15359 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15360 GNU/kFreeBSD.
15361 (LVM_DEV_MAPPER_STRING): Move from here ...
15362 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15363 * util/getroot.c: Include `<grub/util/lvm.h>'.
15364 (grub_util_get_dev_abstraction): Enable
15365 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15366 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15367 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15368 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15369 support it.
15370 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15371 GNU/kFreeBSD.
15372 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15373 when LVM abstraction is required for ${GRUB_DEVICE}.
15374
050e8e90
SJ
153752011-10-06 Szymon Janc <szymon@janc.net.pl>
15376
15377 Add support for LZO compression in GRUB:
15378 - import of minilzo library,
15379 - LZO decompression for btrfs,
15380 - lzop files decompression.
15381
15382 * grub-core/io/lzopio.c: New file.
15383 * grub-core/lib/adler32.c: Likewise.
15384 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15385 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15386 * grub-core/lib/minilzo/minilzo.c: Likewise.
15387 * grub-core/lib/minilzo/minilzo.h: Likewise.
15388 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15389 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15390 grub-core/lib/minilzo/minilzo.c to common.
15391 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15392 cflags in cppflags.
15393 * grub-core/Makefile.core.def (btrfs): Likewise.
15394 * grub-core/Makefile.core.def (lzopio): New module.
15395 (adler32): Likewise.
15396 * grub-core/fs/btrfs.c: Include minilzo.h.
15397 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15398 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15399 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15400 (grub_btrfs_lzo_decompress): New function.
15401 (grub_btrfs_extent_read): Add support for LZO compression type.
15402 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15403 (GRUB_USHRT_MAX): Likewise.
15404 (GRUB_UINT_MAX): Likewise.
15405 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15406 (UINT_MAX): Likewise.
15407 (CHAR_BIT): Likewise.
15408 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15409 grub-core/lib/posix_wrap/limits.h
15410 (UCHAR_MAX): Likewise.
15411 * include/grub/file.h (grub_file_filter_id): New compression filter
15412 GRUB_FILE_FILTER_LZOPIO.
15413 * include/grub/file.h (grub_file_filter_id): Set
15414 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15415 * include/grub/types.h (grub_get_unaligned16): New function.
15416 (grub_get_unaligned32): Likewise.
15417 (grub_get_unaligned64): Likewise.
15418 * util/import_gcry.py (cryptolist): Add adler32.
15419
0eb8ffb1
VS
154202011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15423 in perspective decreases the complexity of build system and fixes
15424 compilation right now.
15425
ce79cc99 154262011-10-01 Ales Nesrsta <starous@volny.cz>
15427
15428 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15429 (fixed problem related to using UHCI with coreboot).
15430
8667a314
BC
154312011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15432
15433 * gentpl.py: Use Autogen macros so that the output template file
15434 (Makefile.tpl) size is reduced.
15435
fc5efcc0
MK
154362011-09-29 Mads Kiilerich <mads@kiilerich.com>
15437
15438 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15439 extra_dist.
15440
d1ab689d
ML
154412011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15442
15443 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15444 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15445
c05de032
ML
154462011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15447
15448 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15449 _fullpath.
15450
cca7ccd8
ML
154512011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15452
15453 Remove extra declaration of sleep for mingw32.
15454
15455 * util/misc.c (sleep) [__MINGW32__]: Removed.
15456 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15457
e0b0dc83
GS
154582011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15459
15460 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15461 type and packname.
15462 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15463 Resurrected.
15464 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15465 (grub_netbsd_btinfo_bootwedge): New struct.
15466 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15467 New function.
15468 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15469
91a1a164
TH
154702011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15471
15472 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15473 loader.
15474
2ded951e
AB
154752011-09-28 Andreas Born <futur.andy@googlemail.com>
15476
15477 Fix incorrect identifiers in bash-completion.
15478
15479 * util/bash-completion.d/grub-completion.bash.in
15480 (_grub_mkpasswd-pbkdf2): Rename to ...
15481 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15482 (_grub_script-check): Rename to ...
15483 (_grub_script_check): ... this. All users updated.
15484
69915030
VS
154852011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15488 Return 0 if disk isn't biosdisk.
15489
20fd15f9
GS
154902011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15491
15492 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15493 on NetBSD.
15494 * Makefile.util.def (grub-fstest): Likewise.
15495
1a7d7db9
GS
154962011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15497
15498 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15499 Get sector size from disk label.
15500
2221ab6c
CW
155012011-09-05 Colin Watson <cjwatson@ubuntu.com>
15502
15503 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15504 */README* as well as README*.
15505 Reported by: Axel Beckert.
15506
ca51c4a0
VS
155072011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15508
15509 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15510 case of less than 256 MiB of RAM.
15511
ab80f326
VS
155122011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15513
15514 * grub-core/commands/wildcard.c (make_regex): Handle @.
15515
4155e697
VS
155162011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15517
15518 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15519
ab178c08
SJ
155202011-08-21 Szymon Janc <szymon@janc.net.pl>
15521
15522 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15523 AC_LANG_CONFTEST macros.
15524
7dc3c686
SJ
155252011-08-20 Szymon Janc <szymon@janc.net.pl>
15526
15527 Add grub-fstest option to uncompress data for commands.
15528
15529 * util/grub-fstest.c (uncompress): New var.
15530 (options): New option -u.
15531
fe8d4a7b
SJ
155322011-08-20 Szymon Janc <szymon@janc.net.pl>
15533
15534 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15535 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15536
a5219af1
SJ
155372011-08-20 Szymon Janc <szymon@janc.net.pl>
15538
15539 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15540 file type was not recognized correctly (not gzip or corrupted).
15541
f87abff5
VS
155422011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15545 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15546
d94497ea
VS
155472011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15550 loongson.
15551 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15552 video_radeon_fuloong2e.
15553 * grub-core/video/radeon_fuloong2e.c: New file.
15554 * include/grub/video.h (grub_video_id_t): Add new ID
15555 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15556
0d1fd011
VS
155572011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15558
15559 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15560 define.
15561 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15562 that PRID matches the detected subplatform and reset the subplatform
15563 if it doesn't.
15564
84beb0ee
VS
155652011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15566
15567 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15568
1227c133
VS
155692011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15570
15571 Fix PCI iterating on functions >= 4.
15572
15573 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15574 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15575 Removed.
15576 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15577 (grub_pci_read): Fix bitmask.
15578 (grub_pci_read_word): Likewise.
15579 (grub_pci_read_byte): Likewise.
15580 (grub_pci_write): Likewise.
15581 (grub_pci_write_word): Likewise.
15582 (grub_pci_write_byte): Likewise.
15583
9594c689
VS
155842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15587 can still be specified in TARGET_CFLAGS)
15588
14a2562c
VS
155892011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15590
15591 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15592
15593 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15594 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15595 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15596 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15597 (FULOONG): Rename to ...
15598 (FULOONG2F): ... this. All users updated.
15599 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15600 (machtype_fuloong2f_str): ... this.
15601 (machtype_fuloong2e_str): New string.
15602 Check for machtype_fuloong2e_str.
15603 * grub-core/loader/mips/linux.c (loongson_machtypes)
15604 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15605 * grub-core/term/serial.c (loongson_defserial)
15606 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15607 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15608 loongson_defserial.
15609 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15610 Rename to ...
15611 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15612 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15613 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15614 to IMAGE_FULOONG2F_FLASH. All users updated.
15615 (image_targets): Rename images.
15616 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15617
b526cbb6
SJ
156182011-08-19 Szymon Janc <szymon@janc.net.pl>
15619
15620 Make enable of disk cache statistics code configurable.
15621
15622 * configure.ac: --enable-cache-stats added.
15623 * config.h.in (DISK_CACHE_STATS): New define.
15624 * grub-core/Makefile.core.def (cacheinfo): New command.
15625 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15626 * grub-core/commands/cacheinfo.c: New file.
15627 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15628 moved to cacheinfo.c.
15629 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15630 debug code.
15631 * include/grub/disk.h: Likewise.
15632
fb739ccd
SJ
156332011-08-19 Szymon Janc <szymon@janc.net.pl>
15634
15635 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15636 * grub-core/Makefile.am: Likewise.
15637
2bba8cfd
VS
156382011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15641 non-zero pull.
15642
43526629
VS
156432011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15646 All users updated.
15647 (grub_jfs_lookup_symlink): Use correct starting inode.
15648
5c144cc8
VS
156492011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15650
15651 * util/grub-setup.c (main): Add missing gcry initialisation.
15652
b1257f65
VS
156532011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15654
15655 Don't accept text modes on EFI when booting Linux.
15656
15657 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15658 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15659
828bc390
ML
156602011-08-15 Mario Limonciello <mario_limonciello@dell.com>
156612011-08-15 Colin Watson <cjwatson@ubuntu.com>
15662
15663 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15664 use of "/path/.." as in grub-install for EFI as well as handling
15665 symlinks correctly.
15666 Fixes Debian bug #637768.
15667
5f60ccac
CW
156682011-08-15 Colin Watson <cjwatson@ubuntu.com>
15669
15670 * util/grub-probe.c: Remove duplicate #include.
15671
6dc212f9
RM
156722011-08-10 Robert Millan <rmh@gnu.org>
15673
15674 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
15675
15676 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
15677 function.
15678 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
15679 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
15680
66816d85
RM
156812011-08-03 Robert Millan <rmh@gnu.org>
15682
15683 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
15684 la_array as packed.
15685 Reported by: Zachary Bedell
15686
20168fca
CW
156872011-07-26 Colin Watson <cjwatson@ubuntu.com>
15688
15689 * configure.ac: The Loongson port requires grub-mkfont due to its
15690 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
15691 be built.
15692
303b6246
CW
156932011-07-26 Colin Watson <cjwatson@ubuntu.com>
15694
15695 * util/grub-install.in: Don't source grub-mkconfig_lib until after
15696 processing arguments (otherwise help2man fails when GRUB has not yet
15697 been installed).
15698
6795300e
VS
156992011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15700
41aa28ea
VS
15701 New script grub-mkstandalone.
15702
15703 * Makefile.util.def (grub-mkstandalone): New script.
15704 * docs/man/grub-mkstandalone.h2m: New file.
15705 * util/grub-mkstandalone.in: Likewise.
15706
157072011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15708
15709 Support ATA disks with 4K sectors.
6795300e
VS
15710
15711 * include/grub/ata.h (grub_ata): New member log_sector_size.
15712 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
15713 (grub_ata_identify): Read sector size.
15714 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
15715
92227597
VS
157162011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * util/grub-install.in: Don't use uhci outside of x86.
15719
c77069f5
VS
157202011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15721
15722 * util/grub-mkrescue.in: Add missing quotes.
15723
157242011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
15725
15726 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
15727 dereference.
15728
583168a2
VS
157292011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15730
15731 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
15732
6be1c01f
VS
157332011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15734
15735 * include/grub/video.h: add missing EXPORT_FUND on
15736 grub_video_edid_checksum and grub_video_edid_preferred_mode.
15737
a1167439
VS
157382011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15739
15740 * include/grub/mips/kernel.h: Fix define conflict.
15741
bf66054f
VS
157422011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15743
15744 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
15745 all four ways.
15746
8fc4fa45
CW
157472011-07-21 Colin Watson <cjwatson@ubuntu.com>
15748
15749 Preferred resolution detection for VBE.
15750
15751 * grub-core/video/video.c (grub_video_edid_checksum): New function.
15752 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
15753 the Flat Panel extension, in line with the X.org VESA driver.
15754 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
15755 New function.
15756 (grub_vbe_bios_get_ddc_capabilities): Likewise.
15757 (grub_vbe_bios_read_edid): Likewise.
15758 (grub_vbe_get_preferred_mode): Likewise.
15759 (grub_video_vbe_setup): When the mode is "auto", try to get the
15760 preferred mode from VBE, and use the largest mode that is no larger
15761 than the preferred mode (some BIOSes expose a preferred mode that is
15762 not in their mode list!). If this fails, fall back to 640x480 as a
15763 safe conservative choice.
15764 (grub_video_vbe_get_edid): New function.
15765 (grub_video_vbe_adapter): Add get_edid.
15766 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
15767 (struct grub_video_adapter): Add get_edid.
15768 (grub_video_edid_checksum): Add prototype.
15769 (grub_video_edid_preferred_mode): Likewise.
15770 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
15771 structure.
15772
15773 * grub-core/commands/videoinfo.c (print_edid): New function.
15774 (grub_cmd_videoinfo): Print EDID if available.
15775
15776 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
15777 is more appropriate on a wider range of platforms than 640x480.
15778 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
15779 documentation.
15780
ca5572a9
VS
157812011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
15784
e4bcf625
VS
157852011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * po/POTFILES.in: Regenerate.
15788
c4edd548
VS
157892011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
15792 incorrect memory usage.
15793
16a2bab0
VS
157942011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15795
15796 * util/grub-install.in: Source grub-mkconfig_lib.
15797
2e418de6
VS
157982011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 Remove getroot.c from core on emu platform.
15801
15802 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
15803 kern/emu/raid.c.
15804 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
15805 useless.
15806 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
15807 * util/getroot.c (get_win32_path): ... here.
15808 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
15809 * util/getroot.c (fini_libzfs): ... here.
15810 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
15811 * util/getroot.c (grub_get_libzfs_handle): ... here.
15812 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
15813 Moved from here...
15814 * util/getroot.c (grub_find_zpool_from_dir): ... here.
15815 * grub-core/kern/emu/misc.c
15816 (grub_make_system_path_relative_to_its_root): Moved from here...
15817 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
15818 * grub-core/kern/emu/getroot.c: Moved from here ...
15819 * util/getroot.c: ... here. All users updated.
15820 * grub-core/kern/emu/raid.c: Moved from here ...
15821 * util/raid.c: ... here. All users updated.
15822
def9832a
VS
158232011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15824
15825 * po/POTFILES.in: Regenerate.
15826
cd8fe79a
VS
158272011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 Fix compilation on GNU/Linux.
15830
15831 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
15832 Disable geli.
15833 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
15834 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
15835 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
15836
a251b719
VS
158372011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
158382011-07-07 Michael Gorven <michael@gorven.za.net>
158392011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
15840
15841 LUKS and GELI support.
15842
15843 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
15844 grub-core/disk/luks.c, grub-core/disk/geli.c,
15845 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
15846 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
15847 grub-core/lib/arg.c.
15848 (libgrubmods.a): Remove gcrypts cflags and cppflags.
15849 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
15850 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
15851 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
15852 (grub-bin2h): Add libgcry.a.
15853 (grub-mkimage): Likewise.
15854 (grub-mkrelpath): Likewise.
15855 (grub-script-check): Likewise.
15856 (grub-editenv): Likewise.
15857 (grub-mkpasswd-pbkdf2): Likewise.
15858 (grub-pe2elf): Likewise.
15859 (grub-fstest): Likewise.
15860 (grub-mkfont): Likewise.
15861 (grub-mkdevicemap): Likewise.
15862 (grub-probe): Likewise.
15863 (grub-ofpath): Likewise.
15864 (grub-mklayout): Likewise.
15865 (example_unit_test): Likewise.
15866 (grub-menulst2cfg): Likewise.
15867 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
15868 * grub-core/Makefile.core.def (cryptodisk): New module.
15869 (luks): Likewise.
15870 (geli): Likewise.
15871 * grub-core/disk/AFSplitter.c: New file.
15872 * grub-core/disk/cryptodisk.c: Likewise.
15873 * grub-core/disk/geli.c: Likewise.
15874 * grub-core/disk/luks.c: Likewise.
15875 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
15876 grub_util_is_lvm.
15877 (grub_util_get_dm_abstraction): New function.
15878 (grub_util_follow_gpart_up): Likewise.
15879 (grub_util_get_geom_abstraction): Likewise.
15880 (grub_util_get_dev_abstraction): Use new functions.
15881 (grub_util_pull_device): Pull GELI and LUKS.
15882 (grub_util_get_grub_dev): Handle LUKS and GELI.
15883 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
15884 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
15885 (follow_geom_up): Removed.
15886 (grub_util_fd_seek): New function.
15887 (open_device): Use grub_util_fd_seek.
15888 (nread): Rename to ..
15889 (grub_util_fd_read): ... this. All users updated.
15890 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
15891 (grub_crypto_cbc_decrypt): Likewise.
15892 (grub_crypto_hmac_write): Likewise.
15893 (grub_crypto_hmac_buffer): Likewise.
15894 (grub_password_get): Extend to util.
15895 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
15896 New member modname.
15897 (gcry_md_spec) [GRUB_UTIL]: Likewise.
15898 * include/grub/cryptodisk.h: New file.
15899 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
15900 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
15901 LUKS and GELI.
15902 (grub_util_follow_gpart_up): New proto.
15903 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
15904 (grub_util_fd_read): Likewise.
15905 (grub_cryptodisk_cheat_mount): Likewise.
15906 (grub_util_cryptodisk_print_uuid): Likewise.
15907 (grub_util_get_fd_sectors): Likewise.
15908 * util/grub-fstest.c (mount_crypt): New var.
15909 (fstest): Mount crypto if requested.
15910 (options): New option -C.
15911 (argp_parser): Parse -C.
15912 (main): Init and fini gcry.
15913 * util/grub-install.in: Support cryptodisk install.
15914 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
15915 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
15916 cryptodisk.
15917 (prepare_grub_to_access_device): Likewise.
15918 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
15919 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
15920 (probe_cryptodisk_uuid): New function.
15921 (probe_abstraction): Likewise.
15922 (probe): Use new functions.
15923 * util/import_gcry.py: Create Makefile.utilgcry.def.
15924 Add modname member.
15925
9bfdcbbc
VS
159262011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15927
15928 Lazy device scanning.
15929
15930 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
15931 (grub-setup): Remove util/raid.c.
15932 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
15933 * grub-core/disk/lvm.c (scan_depth): New variable.
15934 (grub_lvm_iterate): Rescan if necessary.
15935 (find_lv): New function based on grub_lvm_open.
15936 (grub_lvm_open): Use find_lv. Rescan on error.
15937 (is_node_readable): New function.
15938 (is_lv_readable): Likewise.
15939 (grub_lvm_scan_device): Skip already found disks.
15940 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
15941 Stop if searched device is found and readable.
15942 * grub-core/disk/raid.c (inscnt): New variable.
15943 (scan_depth): Likewise.
15944 (scan_devices): New function based on grub_raid_register. Abort if
15945 looked for device is found.
15946 (grub_raid_iterate): Rescan if needed.
15947 (find_array): NEw function based on -grub_raid_open.
15948 (grub_raid_open): Use find_array and rescan.
15949 (insert_array): Set became_readable_at.
15950 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
15951 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
15952 New function.
15953 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
15954 (grub_util_pull_device): New function.
15955 (grub_util_get_grub_dev): Call grub_util_pull_device.
15956 * util/raid.c: Moved to ..
15957 * grub-core/kern/emu/raid.c: ... here.
15958 (grub_util_raid_getmembers): New parameter "bootable".
15959 All users updated. Support 1.x.
15960 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
15961 All users updated.
15962 * include/grub/disk.h (grub_disk_pull_t): New enum.
15963 (grub_disk_dev): Change iterate prototype.
15964 All users updated.
15965 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
15966 New proto.
15967 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
15968 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
15969 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
15970 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
15971 All users updated.
15972 * include/grub/util/raid.h: Removed.
15973
1c358e59
VS
159742011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15975
15976 * po/POTFILES.in: Regenerate.
15977
abee94ed
VS
159782011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 Unify sparc init with other ieee1275.
15981
15982 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
15983 instead of kern/sparc64/ieee1275/init.c.
15984 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
15985 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
15986 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
15987 grub/machine/kernel.h.
15988 (grub_ieee1275_original_stack) [__sparc__]: New variable.
15989 (grub_claim_heap) [__sparc__]: Use sparc version.
15990 (grub_machine_init): Moved args parsing to
15991 (grub_parse_cmdline): ...this.
15992 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
15993 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
15994 New definition.
15995 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
15996
15997 Move BOOTP to separate file.
15998
15999 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16000 * grub-core/net/net.c: Move all BOOTP functions to
16001 * grub-core/net/bootp.c: ... here.
16002
16003 Use frame interface on PXE.
16004
16005 * grub-core/Makefile.core.def (pxecmd): Removed.
16006 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16007 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16008 * grub-core/i386/pc/pxe.c: Moved from here ...
16009 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16010 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16011 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16012
16013 EFI network support.
16014
16015 * grub-core/Makefile.core.def (efinet): New module.
16016 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16017 here...
16018 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16019 All users updated.
16020 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16021 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16022 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16023 * grub-core/net/drivers/efi/efinet.c: New file.
16024 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16025 (grub_efi_net_config): New extern var.
16026
16027 Various cleanups and bugfixes.
16028
16029 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16030 error.
16031 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16032 disk declared as partition.
16033 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16034 leak on failure.
16035 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16036 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16037 (grub_debug_zalloc): Likewise.
16038 (grub_debug_realloc): Likewise.
16039 (grub_debug_memalign): Likewise.
16040 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16041 Check that target is IPv4.
16042 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16043 local-mac-address as fallback.
16044 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16045 memory leak.
16046 * grub-core/net/ip.c (ipchksum): Rename to ...
16047 (grub_net_ip_chksum): ... this. All users updated.
16048 (grub_net_recv_ip_packets): Special handling for DHCP.
16049 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16050
16051 Unify prefix handling
16052
16053 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16054 (grub_machine_get_bootlocation): ... this.
16055 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16056 (grub_machine_get_bootlocation): ... this.
16057 (grub_prefix): New variable.
16058 (prefix): Removed.
16059 (root_dev): New variable.
16060 (dir): Likewise.
16061 (main): Use new variables.
16062 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16063 Revamped into ...
16064 (grub_machine_get_bootlocation): ... this.
16065 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16066 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16067 (grub_machine_get_bootlocation): ... this.
16068 (grub_machine_set_prefix): Removed.
16069 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16070 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16071 Revamped into ...
16072 (grub_machine_get_bootlocation): ... this.
16073 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16074 (grub_set_prefix_and_root): ... this. All users updated.
16075 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16076 Revamped into ...
16077 (grub_machine_get_bootlocation): ... this.
16078 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16079 (grub_machine_get_bootlocation): New proto.
16080 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16081
16082 Less intrusive and more reliable seek on network implementation.
16083
16084 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16085 (grub_file_seek): Don't call grub_file_net_seek.
16086 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16087 (grub_net_fs_read_real): .. this.
16088 (grub_net_seek_real): Use net->offset.
16089 (grub_net_fs_read): Seek if necessary.
16090
16091 Unify IEEE1275 netwotk config with the other platforms.
16092
16093 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16094 New variable.
16095 (grub_machine_get_bootlocation): Support network.
16096 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16097 Support type and device parsing.
16098 (grub_ieee1275_get_device_type): New function.
16099 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16100 into ...
16101 (grub_ieee1275_net_config_real): ... this.
16102 (grub_ofnet_probecards): Removed.
16103 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16104 * include/grub/ieee1275/ofnet.h: Removed.
16105 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16106 extern var.
16107 (grub_ieee1275_get_device_type): New function.
16108
16109 Unify network device closing across platforms and make more robust.
16110
16111 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16112 grub_grubnet_fini.
16113 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16114 already.
16115 * grub-core/net/net.c (grub_net_network_level_interface_register):
16116 Update num_ifaces.
16117 (grub_net_card_unregister): Close all interfaces.
16118 (receive_packets): Don't poll if no iterfaces are registered.
16119 Open if necessary.
16120 (grub_net_fini_hw): New function.
16121 (grub_net_restore_hw): Likewise.
16122 (fini_hnd): New variable.
16123 (GRUB_MOD_INIT): Register preboot hook.
16124 (GRUB_MOD_FINI): Run and unregister preboot hook.
16125
16126 Poll network cards when idle.
16127
16128 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16129 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16130 * grub-core/net/net.c (receive_packets): Save last poll time.
16131 (grub_net_poll_cards_idle_real): New function.
16132 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16133 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16134 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16135
16136 Rename ofnet interfaces.
16137
16138 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16139 (grub_ofnet_findcards): Use ofnet_%s names.
16140
16141 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16142
16143 Cleanup socket opening.
16144
16145 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16146 (grub_net_fs_close): Likewise.
16147 (grub_net_fs_read_real): Use eof member.
16148 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16149 (+grub_net_udp_close): New inline function.
16150
16151 * include/grub/net/tftp.h: Moved to the top of ...
16152 * grub-core/net/tftp.c: ... here.
16153 * include/grub/net/ip.h: Moved mostly to the top of ...
16154 * grub-core/net/ip.c: ... here.
16155 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16156 * grub-core/net/ethernet.c: ... here.
16157
16158 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16159
16160 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16161 FS name.
16162
16163 * include/grub/net/ip.h (ipv4_ini): Removed.
16164 (ipv4_fini): Likewise.
16165
16166 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16167 (grub_net_send_ip_packets): Likewise.
16168
cf1337aa
VS
161692011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16172 grub_read_cmos prototype.
16173
93c06ff9
VS
161742011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 VGA text support in qemu-mips
16177
16178 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16179 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16180 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16181 text.
16182 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16183 * grub-core/kern/vga_init.c: ... this.
16184 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16185 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16186 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16187 Adjust.
16188 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16189 GRUB_MACHINE_PCI_IO_BASE.
16190
748ccabe
VS
161912011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16192
16193 MIPS qemu flash support.
16194
16195 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16196 magic.
16197 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16198 (grub_machine_init): Probe memory if its size isn't known.
16199 * util/grub-mkimage.c (image_targets): Add flash targets.
16200 (generate_image): Handle flash targets.
16201
d7345994
VS
162022011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16203
16204 MIPS qemu at_keyboard support.
16205
16206 * gentpl.py (videoinkernel): Add qemu-mips.
16207 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16208 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16209 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16210 modules.
16211 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16212 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16213 * grub-core/term/serial.c (grub_serial_register)
16214 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16215
a07a81b3
VS
162162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16217
16218 CMOS support on sparc.
16219
16220 * gentpl.py (cmos): Add powerpc and sparc.
16221 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16222 powerpc and sparc.
16223 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16224 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16225 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16226 grub_set_datetime_cmos.
16227 * grub-core/lib/ieee1275/cmos.c: New file.
16228 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16229 (find_rtc): Set no_ieee1275_rtc on error.
16230 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16231 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16232 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16233 fail. Move value to argument. All users updated
16234 (grub_cmos_write): Likewise.
16235 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16236 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16237 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16238 grub_get_datetime_cmos and grub_set_datetime_cmos.
16239
77546584
GS
162402011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16241
16242 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16243 sourcing grub-mkconfig_lib.
16244 * util/update-grub_lib.in: Likewise.
16245 * util/grub.d/00_header.in: Likewise.
16246 * util/grub.d/10_hurd.in: Likewise.
16247 * util/grub.d/10_kfreebsd.in: Likewise.
16248 * util/grub.d/10_linux.in: Likewise.
16249 * util/grub.d/10_netbsd.in: Likewise.
16250 * util/grub.d/10_windows.in: Likewise.
16251 * util/grub.d/20_linux_xen.in: Likewise.
16252 * util/grub.d/30_os-prober.in: Likewise.
16253
54894791
CW
162542011-06-28 Colin Watson <cjwatson@ubuntu.com>
16255
16256 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16257 default_bg_color rather than black.
16258 (grub_gfxterm_fullscreen): Likewise.
16259 (grub_gfxterm_background_color_cmd): Save new background color in
16260 default_bg_color.
16261
8d5d8444
VS
162622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16265
5afeb5bd
VS
162662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16269 mismerge.
16270
ba7df45e
VS
162712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 Chainloading on coreboot support.
16274
16275 * grub-core/Makefile.core.def (chain): Add coreboot.
16276 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16277
d0b526b2
VS
162782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16281 if it happens.
16282
5ff1d945
VS
162832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16284
16285 Implement time command.
16286
16287 * grub-core/Makefile.core.def (time): New module.
16288 * grub-core/commands/time.c: New file.
16289 * grub-core/script/parser.y: Remove "time" keyword.
16290 * grub-core/script/yylex.l: Likewise.
16291
5ebaad7e
VS
162922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16293
16294 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16295
bdea3798
VS
162962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16297
16298 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16299 when handling leftovers.
16300
b28c5655
VS
163012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16302
16303 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16304 so that help2man doesn't fail.
16305
b6f945dc
VS
163062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16307
16308 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16309 type in pointers on sparc64.
16310 (get_card_packet): Likewise.
16311
f9b75e8a
CW
163122011-06-27 Colin Watson <cjwatson@ubuntu.com>
16313
16314 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16315 with `*'.
16316 (grub_cmd_videoinfo): Fetch current video mode.
16317
1e3d9b86
VS
163182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16321 because of underlying system restrictions.
16322
efff4b1c
VS
163232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16326 necessary.
16327
9fc9ce37
VS
163282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16329
16330 Coreboot video support.
16331
16332 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16333 (vbe): Likewise.
16334 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16335 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16336 here ...
16337 * grub-core/kern/i386/int.S: ... here.
16338 * grub-core/video/i386/pc/vbe.c: Updated includes.
16339 * grub-core/video/i386/pc/vga.c: Likewise.
16340 * include/grub/i386/coreboot/memory.h
16341 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16342 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16343 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16344 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16345 Disable interrupts.
16346 * include/grub/i386/pc/vga.h: Removed. All users updated.
16347
41bec7fe
VS
163482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16349
16350 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16351 definitions for dprintf.
16352 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16353
ca80309d
VS
163542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16355
16356 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16357 prototype.
16358 (get_card_packet): Likewise.
16359
9e322ce8
YB
163602011-06-26 Yves Blusseau <blusseau@zetam.org>
16361
16362 Display the path of the file when file is not found
16363
16364 * grub-core/fs/fat.c: Display the filename when file is not found.
16365 * grub-core/fs/fshelp.c: Likewise.
16366 * grub-core/fs/hfs.c: Likewise.
16367 * grub-core/fs/jfs.c: Likewise.
16368 * grub-core/fs/minix.c: Likewise.
16369 * grub-core/fs/ufs.c: Likewise.
16370 * grub-core/fs/btrfs.c: Likewise.
16371 * grub-core/commands/i386/pc/play.c: Likewise.
16372
cbf597af
SJ
163732011-06-26 Szymon Janc <szymon@janc.net.pl>
16374
16375 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16376 pointer checks before calling grub_free().
16377 * grub-core/commands/wildcard.c (match_devices): Likewise.
16378 * grub-core/commands/wildcard.c (match_files): Likewise.
16379 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16380 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16381 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16382 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16383 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16384 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16385 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16386 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16387 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16388
6295b32f
P
163892011-06-25 Patrick <p55@mailinator.com>
16390
16391 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16392
77c0840b
VS
163932011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16394
16395 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16396 (grub_pxe_send): Likewise.
16397 (GRUB_MOD_INIT): Fix types.
16398
40ea05de
SJ
163992011-06-24 Szymon Janc <szymon@janc.net.pl>
16400
16401 * grub-core/io/xzio.c: Fix code style issues
16402
90162423
MRA
164032011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
164042011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16405
16406 Network infrastructure.
16407 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16408
16409 * include/grub/net/arp.h: New file.
90162423
MRA
16410 * include/grub/net/device.h: Likewise.
16411 * include/grub/net/ethernet.h: Likewise.
16412 * include/grub/net/ip.h: Likewise.
16413 * include/grub/net/netbuff.h: Likewise.
16414 * include/grub/net/tftp.h: Likewise.
16415 * include/grub/net/udp.h: Likewise.
16416 * include/grub/ieee1275/ofnet.h: Likewise.
16417 * include/grub/emu/export.h: Likewise.
16418 * include/grub/net.h: Likewise.
16419 * grub-core/net/arp.c: Likewise.
16420 * grub-core/net/ethernet.c: Likewise.
16421 * grub-core/net/ip.c: Likewise.
16422 * grub-core/net/udp.c: Likewise.
16423 * grub-core/net/tftp.c: Likewise.
16424 * grub-core/net/netbuff.c: Likewise.
16425 * grub-core/net/net.c: Likewise.
16426 * grub-core/net/drivers/emu/emunet.c: Likewise.
16427 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16428 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16429 export.h.
16430 * grub-core/Makefile.core.def (net): New module.
16431 (tftp): Likewise.
16432 (ofnet): Likewise.
16433 (emunet): Likewise.
16434 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16435 network protocols.
16436 * grub-core/kern/device.c (grub_net_open) : New variable.
16437 (grub_device_open): Handle network device.
16438 (grub_device_close): Likewise.
16439 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16440 (grub_grubnet_fini): Likewise.
16441 (grub_file_seek): Seek in network device.
16442 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16443 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16444 network root.
16445 (grub_machine_fini): Call grub_grubnet_fini.
16446 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16447 network.
16448 (grub_ieee1275_get_aliasdevname): New function.
16449 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16450 Add unofficial Solaris network info.
16451 (grub_multiboot_make_mbi): Likewise.
16452 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16453 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16454 * include/grub/device.h (grub_fs): Removed.
16455 * include/grub/err.h (grub_err_t): Add network-related values.
16456 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16457 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16458 (grub_ieee1275_get_aliasdevname): New proto.
16459 * include/grub/net.h: Rewritten.
423a1849 16460
031f22a0
VS
164612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16464 names.
16465
4388ca72
VS
164662011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16467
16468 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16469 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16470 it truncates the output.
16471 Reported by: Ximin Luo.
16472
98e2f506
VS
164732011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16476
2a5e94d8
VS
164772011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16478
16479 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16480 partmap before abstraction.
16481
535c1910
AK
164822011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16483
16484 * util/grub-mkconfig_lib.in: Add missing quotes.
16485
bc09e1a2
VS
164862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16489 old method if mountinfo would return /dev/root and /dev/root doesn't
16490 exist.
16491
290766fb
VS
164922011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16493
16494 ZFS zlib support
16495
16496 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16497 (decomp_table): Add zlib entries.
16498 (zio_read): USe 8 bits for compression function rather than 3.
16499 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16500
165012011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16502
16503 * grub-core/disk/ahci.c: Add missing license statements.
16504 * grub-core/fs/romfs.c: Likewise.
16505 * grub-core/lib/ia64/setjmp.S: Likewise.
16506 * grub-core/loader/i386/pc/freedos.c: Likewise.
16507 * grub-core/loader/ia64/efi/linux.c: Likewise.
16508 * grub-core/video/colors.c: Likewise.
16509 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16510
5ab3f48a
VS
165112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 AHCI support.
16514
16515 * grub-core/Makefile.core.def (ata_pthru): Removed.
16516 (ahci): New module.
16517 (pata): Likewise.
16518 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16519 on unload.
16520 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16521 readwrite.
16522 (grub_hdparm_do_check_powermode_cmd): Likewise.
16523 (grub_hdparm_do_smart_cmd): Likewise.
16524 (grub_hdparm_set_val_cmd): Likewise.
16525 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16526 * grub-core/disk/ahci.c: New file.
16527 * grub-core/disk/ata.c: Factor out the low-level part into ...
16528 * grub-core/disk/pata.c: ... here.
16529 * grub-core/disk/ata_pthru.c: Contents moved to ...
16530 * grub-core/disk/pata.c: ... here.
16531 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16532 (grub_scsi_iterate): Use grub_scsi_names.
16533 (grub_scsi_open): Likewise.
16534 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16535 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16536 (grub_ata_regs_t): New struct.
16537 (grub_disk_ata_pass_through_parms): Likewise.
16538 (grub_ata_device): Renamed to ...
16539 (grub_ata): ... this.
16540 (grub_ata_dev): New struct.
16541 Removed all low-level inline functions.
16542 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16543 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16544 iterate hooks and open. All users updated.
16545 * util/grub-install.in: Handle AHCI disk module.
16546
c31dc5f5
SJ
165472011-06-23 Szymon Janc <szymon@janc.net.pl>
16548
16549 Add support for DRI and RSTn markers in JPEG files.
16550
16551 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16552 (JPEG_MARKER_RST0): Likewise.
16553 (JPEG_MARKER_RST1): Likewise.
16554 (JPEG_MARKER_RST2): Likewise.
16555 (JPEG_MARKER_RST3): Likewise.
16556 (JPEG_MARKER_RST4): Likewise.
16557 (JPEG_MARKER_RST5): Likewise.
16558 (JPEG_MARKER_RST6): Likewise.
16559 (JPEG_MARKER_RST7): Likewise.
16560 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16561 (grub_jpeg_decode_dri): New function.
16562 (grub_jpeg_decode_sos): Move image data related part into
16563 grub_jpeg_decode_data function.
16564 (grub_jpeg_decode_data): New function.
16565 (grub_jpeg_reset): New function.
16566 (grub_jpeg_decode_jpeg): Handle new markers.
16567
fe12fd5b
VS
165682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 * util/ieee1275/ofpath.c (check_sas): Close fd.
16571 (main): Free of_path.
16572 Reported by: David Volgyes <dvolgyes>.
16573
03147f46
VS
165742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16575
16576 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16577 Reported by: David Volgyes <dvolgyes>.
16578
cad3237f
VS
165792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16582 file after stat.
16583 Reported by: David Volgyes <dvolgyes>.
16584
13548d26
VS
165852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16586
16587 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16588
16589 Reported by: David Volgyes <dvolgyes>.
16590
e061a1b5
VS
165912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16592
16593 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16594 Prevent memory leak.
16595
1abe47dc
VS
165962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16597
16598 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16599 (main): Close file.
e061a1b5 16600 Reported by: David Volgyes <dvolgyes>.
1abe47dc 16601
fbc62666
VS
166022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16605 to continue if allocation is failed.
16606
16607 Reported by: David Volgyes <dvolgyes>.
16608
e98c83e9
DV
166092011-06-23 David Volgyes <dvolgyes>
16610
16611 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16612 dereference.
16613
a199a8cd
VS
166142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16615
16616 Fix spurious warning.
16617
16618 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16619 (acorn_partition_map_find): Use .bin member.
16620
e2d1dba0
VS
166212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16622
16623 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16624 /dev/root as a valid device.
16625
8a5d6919
JM
166262011-06-23 Jim Meyering <meyering@redhat.com>
16627
e2d1dba0
VS
16628 Avoid NULL deref in grub_device_open.
16629
8a5d6919
JM
16630 * grub-core/kern/device.c (grub_device_open): Don't dereference
16631 a NULL pointer upon failed grub_env_get.
16632
f7db6f4a
VS
166332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 Support non-512B sectors and agglomerate reads.
16636
16637 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16638 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16639 (disk_io_guid): Removed.
16640 (make_devices): Locate solely by BlockIO.
16641 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16642 (grub_efidisk_read): Use read_blocks.
16643 (grub_efidisk_write): Use write_blocks.
16644 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16645 log_sector_size.
16646 (get_safe_sectors): Handle non-512B sectors.
16647 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16648 sectors.
16649 (grub_biosdisk_write): Handle non-512B sectors.
16650 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16651 (grub_scsi_read): Remove special non-512B block handling (now handled
16652 one level up).
16653 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16654 and do sanity checks.
16655 (grub_disk_adjust_range): Handle non-512B sectors.
16656 (transform_sector): New function.
16657 (grub_disk_read_small): Likewise.
16658 (grub_disk_read): Rewritten.
16659 (grub_disk_write): Handle non-512B sectors.
16660 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16661 log_sector_size.
16662 (open_device): Use log_sector_size.
16663 (grub_util_biosdisk_read): Likewise.
16664 (grub_util_biosdisk_write): Likewise.
16665 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16666 non-512B sectors.
16667 (pc_partition_map_embed): Likewise.
16668 * include/grub/disk.h (grub_disk): New field log_sector_size.
16669 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16670 (GRUB_DISK_CACHE_BITS): Increased to 6.
16671 * util/grub-fstest.c (fstest): New command testload.
16672 (argp_parser): Likewise.
16673
881ac815
RM
166742011-06-16 Robert Millan <rmh@gnu.org>
16675
16676 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
16677 `ata' driver on kernel of FreeBSD 9.
16678
16679 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
16680 (get_ataraid_disk_name): New functions.
16681 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
16682 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
16683 get_ataraid_disk_name() and get_ada_disk_name().
16684
1e9aef7d
CW
166852011-06-13 Colin Watson <cjwatson@ubuntu.com>
16686
16687 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
16688 input format.
16689
351c7c8a
CW
166902011-05-29 Colin Watson <cjwatson@ubuntu.com>
16691
16692 * docs/grub.texi (Obtaining and Building GRUB): Substitute
16693 `ftp.gnu.org' for `alpha.gnu.org'.
16694
6b4e6430
CW
166952011-05-27 Colin Watson <cjwatson@ubuntu.com>
16696
16697 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
16698 partitions under /dev/disk/by-id/.
16699
c64db050
CW
167002011-05-27 Colin Watson <cjwatson@ubuntu.com>
16701
16702 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
16703 after ten consecutive open failures. Scanning all the way up to
16704 10000 is excessive and can cause serious performance problems in
16705 some configurations.
16706 Fixes Ubuntu bug #787461.
16707
245f4aba
VS
167082011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
16711 opening new one.
16712
f767c929
VS
167132011-05-21 Colin Watson <cjwatson@ubuntu.com>
167142011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16715
16716 Don't stat devices unless we have to.
16717
16718 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
16719 dir == /dev/mapper.
16720 (grub_guess_root_device): Use already known os_dev if possible.
16721 * grub-core/kern/emu/hostdisk.c
16722 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
16723 if device is known to be a dm one.
16724
f35fa3a6
CW
167252011-05-20 Colin Watson <cjwatson@ubuntu.com>
16726
16727 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
16728 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
16729 Reported by: Pawel Tecza.
16730
9a79fcf2
VS
167312011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
16734 (lsefisystab): Likewise.
16735 (lssal): Likewise.
16736 (lsefimmap): Likewise.
16737 (hdparm): Enable on qemu-mips.
16738 (setjmp): Add ia64 nodist.
16739 (serial): Simplify tags.
16740
63e3eea9
CW
167412011-05-18 Colin Watson <cjwatson@ubuntu.com>
16742
16743 * Makefile.util.def (grub-ofpathname): Install manual page.
16744
09728256
CW
167452011-05-18 Colin Watson <cjwatson@ubuntu.com>
16746
16747 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
16748
8b63a142
CW
167492011-05-18 Colin Watson <cjwatson@ubuntu.com>
16750
16751 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
16752
e775d8ed
VS
167532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16754
16755 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
16756 into dprintf.
16757
bf947d36
VS
167582011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 Use full 64-bit division.
16761
16762 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
16763 (grub_divmod64): ... this.
16764 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
16765 version.
16766
b84f26c5
CW
167672011-05-18 Colin Watson <cjwatson@ubuntu.com>
16768
16769 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
16770 `source'.
16771
5626056f
CW
167722011-05-18 Colin Watson <cjwatson@ubuntu.com>
16773
16774 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
16775 to avoid accidents when debugging with 'sh -x'.
16776 * grub-core/gensyminfo.sh.in: Likewise.
16777 * tests/example_scripted_test.in: Likewise.
16778 * tests/grub_cmd_regexp.in: Likewise.
16779 * tests/grub_script_blanklines.in: Likewise.
16780 * tests/grub_script_dollar.in: Likewise.
16781 * tests/grub_script_expansion.in: Likewise.
16782 * tests/grub_script_final_semicolon.in: Likewise.
16783 * tests/partmap_test.in: Likewise.
16784 * tests/util/grub-shell-tester.in: Likewise.
16785 * tests/util/grub-shell.in: Likewise.
16786
e2965f4a
CW
167872011-05-18 Colin Watson <cjwatson@ubuntu.com>
16788
16789 Move gfxmenu color handling to video, so that gfxterm can use it
16790 too.
16791
16792 * grub-core/gfxmenu/named_colors.c: Move to ...
16793 * grub-core/video/colors.c: ... here. Rename
16794 grub_gui_get_named_color to grub_video_get_named_color.
16795 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
16796 * grub-core/video/colors.c (my_isxdigit): ... here.
16797 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
16798 Move to ...
16799 * grub-core/video/colors.c (parse_hex_color_component): ... here.
16800 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
16801 to ...
16802 * grub-core/video/colors.c (grub_video_parse_color): ... here.
16803
16804 * include/grub/gui.h (grub_gui_color_t): Move to ...
16805 * include/grub/video.h (grub_video_rgba_color_t): ... here.
16806 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
16807 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
16808 * include/grub/gui.h (grub_gui_map_color): Move to ...
16809 * include/grub/video.h (grub_video_map_rgba_color): ... here.
16810 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
16811 to ...
16812 * include/grub/video.h (grub_video_get_named_color): ... here.
16813 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
16814 * include/grub/video.h (grub_video_parse_color): ... here.
16815
16816 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
16817 video/colors.c.
16818 (gfxmenu): Remove gfxmenu/named_colors.c.
16819 (video) [videomodules]: Add video/colors.c.
16820
16821 Add a background_color command.
16822
16823 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
16824 function.
16825 (GRUB_MOD_INIT): Register background_color command.
16826 (GRUB_MOD_FINI): Unregister background_color command.
16827 (redraw_screen_rect): Allow blend/replace of text layer to be
16828 controlled independently from whether there is a background bitmap.
16829 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
16830 changing bitmap.
16831
1e4b4390
VS
168322011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16833
26618ff0
VS
16834 Patch BPB in ntldr and chainloader --bpb.
16835
1e4b4390
VS
16836 * grub-core/fs/fat.c: Include grub/fat.h.
16837 (grub_fat_bpb): Moved to ...
16838 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
16839 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
16840 grub/ntfs.h.
16841 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
16842 Moved from here...
16843 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
16844 here.
16845 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
16846 New function.
16847 (grub_chainloader_cmd): Patch BPB if --bpb is given.
16848 (GRUB_MOD_INIT): Show --bpb.
16849 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
16850 * grub-core/normal/main.c (features): New variable.
16851 (GRUB_MOD_INIT): Set feature_* variables.
16852 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
16853 proto.
16854 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
16855
cf02731e
VS
168562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16857
16858 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
16859 for cleanness.
16860
e3a1073f
VS
168612011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16862
16863 FreeDOS direct loading support.
16864
16865 * docs/grub.texi (Supported OS): Add FreeDOS.
16866 * grub-core/Makefile.core.def (freedos): New module.
16867 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
16868 variable.
16869 (grub_relocator16_boot): Handle %ebx.
16870 * grub-core/lib/i386/relocator16.S: Likewise.
16871 * grub-core/loader/i386/pc/freedos.c: New file.
16872
05caa461
VS
168732011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16874
16875 Long Linux command line support.
16876
16877 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
16878 (maximal_cmdline_size): New variable.
16879 (allocate_pages): Use maximal_cmdline_size.
16880 (grub_cmd_linux): Set and use maximal_cmdline_size.
16881 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
16882 (allocate_pages): Use maximal_cmdline_size.
16883 (grub_cmd_linux): Set and use maximal_cmdline_size.
16884 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
16885 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
16886 and cmdline_size.
16887
a2491e23
VS
168882011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
168892011-05-18 Colin Watson <cjwatson@ubuntu.com>
16890
16891 Improve devmapper support
16892
16893 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
16894 (grub_util_is_lvm): New function.
16895 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
16896 than lvm if not dmraid.
16897 Handle mapped md nodes.
16898 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
16899 (grub_util_device_is_mapped): ... this. Make always available. All users
16900 updated.
16901 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
16902 (convert_system_partition_to_system_disk): Handle lvm, mpath and
16903 dmraid nodes.
16904 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
16905
6ad6223e
VS
169062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16907
16908 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
16909
16910 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
16911 * grub-core/modinfo.sh.in: New file.
16912 * grub-core/Makefile.core.def (modinfo.sh): New script.
16913 * util/grub-mknetdir.in: Use modinfo.sh.
16914 * util/grub-mkrescue.in: Likewise.
16915
543a8f6e
VS
169162011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16917
16918 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16919 Fix potential usage of Elf32 instead of Elf64 when compiling on
16920 32-bit architecture. Add endianness macros while on it.
16921
4959e111
VS
169222011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16923
16924 Use mipsel- rather than mips- in directories involving mipsel ports to
16925 allow both endiannesses coexist.
16926
16927 * configure.ac: proparate target_cpu=mipsel rather than resetting to
16928 mips. All conditions adjusted.
16929 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
16930 variable.
16931 * util/grub-install.in: Adjust conditions to take renaming into account.
16932 * util/grub-mkimage.c (image_targets): Likewise. New target
16933 mips-qemu_mips-elf for bigendian mips.
16934
35341bbc
VS
169352011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16936
16937 Avoid unnecessary copying on MIPS.
16938
16939 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
16940 early if src == dest.
16941 * util/grub-mkimage.c (generate_image): Arange for src == dest if
16942 compression is none.
16943
b772baed
VS
169442011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16945
16946 Reduce memory footprint on SGI by putting modules before the kernel
16947 as opposed to after.
16948
16949 * grub-core/Makefile.core.def (kernel): Increase linking address.
16950 (none_decompress): Likewise.
16951 (xz_decompress): Likewise.
16952 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
16953 address.
16954 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
16955 layout change.
16956 (grub_arch_modules_addr): New function.
16957 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
16958 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
16959 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
16960 here.
16961 * grub-core/kern/mips/startup.S (total_size): Rename to ...
16962 (grub_total_modules_size): ... this. Make global.
16963 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
16964 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
16965 New definition.
16966 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
16967 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
16968 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
16969 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
16970 * util/grub-mkimage.c (image_target_desc): New flag
16971 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
16972 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
16973 (generate_image): Handle images with modules before kernel.
16974
566a1917
VS
169752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16976
16977 Prevent potential loss of memory map by overwrite on qemu-mips.
16978
16979 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
16980 Save ram size in $s4.
16981 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
16982 All users changed to grub_arch_memsize.
16983 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
16984 Loongson.
16985 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
16986 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
16987 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
16988 external variable.
16989
5d420cd9
CW
169902011-05-17 Colin Watson <cjwatson@ubuntu.com>
16991
16992 * .bzrignore: Remove grub-dumpbios.
16993
d064b830
CW
169942011-05-17 Colin Watson <cjwatson@ubuntu.com>
16995
16996 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
16997 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
16998 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
16999 existing options which append).
17000 * docs/grub.texi (Simple configuration): Document new options.
17001 Reported by: Ian Jackson. Fixes Debian bug #617538.
17002
3ca2b466
CW
170032011-05-17 Colin Watson <cjwatson@ubuntu.com>
17004
17005 * util/grub-fstest.c (cmd_cat): New function.
17006 (fstest): Handle CMD_CAT.
17007 (options): Add cat.
17008 (argp_parser): Handle cat.
17009
24c9143a
CW
170102011-05-17 Colin Watson <cjwatson@ubuntu.com>
17011
17012 * Makefile.util.def (grub-bin2h): Don't install.
17013 * docs/man/grub-bin2h.h2m: Remove.
17014
90f7ac19
VS
170152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17016
17017 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17018 place.
17019
8d4a5178
VS
170202011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17021
17022 Reenable qemu-mips port.
17023
17024 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17025 Fix small arc bug while on it.
17026 * gentpl.py: Handle qemu_mips.
17027 * grub-core/Makefile.am: Likewise.
17028 * grub-core/Makefile.core.def: Likewise.
17029 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17030 inappropriate includes.
17031 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17032 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17033 * grub-core/kern/main.c (grub_modules_get_end)
17034 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17035 * grub-core/kern/mips/qemu-mips: Moved to ..
17036 * grub-core/kern/mips/qemu_mips: ... this.
17037 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17038 (grub_machine_init): Call terminfo_init and serial_init.
17039 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17040 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17041 New variable.
17042 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17043 parameter passing.
17044 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17045 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17046 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17047 * include/grub/mips/qemu_mips/cmos.h: New file.
17048 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17049 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17050 Removed.
17051 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17052 Use correct mips-style address.
17053 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17054 (GRUB_TICKS_PER_SECOND): Removed.
17055 (grub_get_rtc): Likewise.
17056 (grub_cpu_idle): Likewise.
17057 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17058 New definition.
17059 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17060 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17061 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17062 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17063 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17064 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17065 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17066 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17067
400b9371
VS
170682011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17069
17070 SGI ARCS port.
17071
17072 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17073 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17074 platforms.
17075 * configure.ac: New target mips-arc.
17076 * gentpl.py: Likewise.
17077 * grub-core/Makefile.am: Likewise.
17078 * grub-core/Makefile.core.def: Likewise.
17079 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17080 (none_decompress): Likewise.
17081 (lsdev): New module.
17082 (datetime): Use lib/arc/datetime.c on ARC.
17083 (part_dvh): New module.
17084 * grub-core/commands/arc/lsdev.c: New file.
17085 * grub-core/disk/arc/arcdisk.c: Likewise.
17086 * grub-core/kern/mips/arc/init.c: Likewise.
17087 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17088 aligned addresses.
17089 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17090 support.
17091 (grub_arch_dl_relocate_symbols): Likewise.
17092 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17093 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17094 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17095 platforms.
17096 * grub-core/lib/arc/datetime.c: New file.
17097 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17098 pci.h on non-loongson.
17099 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17100 (grub_linux_boot): Set unused registers to 0.
17101 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17102 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17103 * grub-core/mmap/mips/uppermem.c: ...here.
17104 * grub-core/partmap/dvh.c: New file.
17105 * grub-core/term/arc/console.c: Likewise.
17106 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17107 (grub_terminfo_set_current): Add terminal "arc".
17108 (grub_terminfo_readkey): Support ARC sequences.
17109 * include/grub/arc/arc.h: New file.
17110 * include/grub/arc/console.h: Likewise.
17111 * include/grub/disk.h (grub_disk_dev_id): Add
17112 GRUB_DISK_DEVICE_ARCDISK_ID.
17113 * include/grub/mips/arc/kernel.h: New file.
17114 * include/grub/mips/arc/memory.h: Likewise.
17115 * include/grub/mips/arc/time.h: Likewise.
17116 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17117 * include/grub/mips/kernel.h (grub_halt): ... here.
17118 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17119 here...
17120 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17121 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17122 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17123 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17124 proto.
17125 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17126 from here ...
17127 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17128 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17129 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17130 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17131 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17132 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17133 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17134 (grub_phys_addr_t): Moved from here ...
17135 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17136 (grub_vtop): Moved from here ...
17137 * include/grub/mips/memory.h (grub_vtop): ... here.
17138 (grub_map_memory): Moved from here ...
17139 * include/grub/mips/memory.h (grub_map_memory): ... here.
17140 (grub_unmap_memory): Moved from here ...
17141 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17142 (grub_machine_mmap_iterate): Moved from here ...
17143 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17144 (grub_mmap_get_lower): Moved from here ...
17145 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17146 (grub_mmap_get_upper): Moved from here ...
17147 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17148 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17149 here ...
17150 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17151 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17152 here ...
17153 * include/grub/mips/time.h (grub_get_rtc): ... here.
17154 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17155 here ...
17156 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17157 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17158 here ...
17159 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17160 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17161 definition.
17162 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17163 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17164 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17165 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17166 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17167 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17168 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17169 (GRUB_MACHINE_LINK_ADDR): Likewise.
17170 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17171 to 6.
17172 * util/grub-install.in: Run dvhtool on ARC.
17173 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17174 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17175
c8ecc840
VS
171762011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17177
17178 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17179 blocks.
17180
153a4b55
VS
171812011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17184 after enabling port.
17185
ff44d107
VS
171862011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17187
17188 Skip incorrect USB devices.
17189
17190 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17191 configcnt == 0.
17192 * include/grub/usb.h (grub_usb_err_t): New enum value
17193 GRUB_USB_ERR_BADDEVICE.
17194
638dbe4f
VS
171952011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17196
17197 Fuloong video init support.
17198
17199 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17200 well.
17201 (grub_vga_read_arx): New function.
17202 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17203 definition.
17204 (framebuffer): New members io, mmioptr and mmiobase.
17205 (read_sis_cmd): New function.
17206 (write_sis_cmd): Likewise.
17207 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17208 rather than 640x400.
17209 * grub-core/video/sis315_init.c: New file.
17210
c3fc520c
VS
172112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17212
17213 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17214 non-loongson.
17215 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17216 to grub_dl_register_symbol.
17217
67b1e5c9
VS
172182011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17219
17220 Fix compilation errors.
17221
17222 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17223 potentially unused.
17224 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17225 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17226 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17227 to loongson machines.
17228
b756f75f
VS
172292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 Several FS mtime support.
17232
17233 * grub-core/fs/affs.c (grub_affs_time): New struct.
17234 (grub_affs_file): New field mtime.
17235 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17236 type. Removed 'size'. New field 'di'. All users updated.
17237 (grub_affs_mount): Simplify checsum checking.
17238 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17239 (grub_affs_dir): Handle mtime.
17240 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17241 (grub_cpio_dir): Likewise.
17242 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17243 (grub_hfs_filerec): New field mtime.
17244 (grub_hfs_dir): Handle mtime.
17245 (grub_hfs_mtime): New function.
17246 (grub_hfs_fs): Register grub_hfs_mtime.
17247 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17248 (grub_iso9660_dir): New field mtime.
17249 (grub_fshelp_node): New field dirent.
17250 (iso9660_to_unixtime): New function.
17251 (iso9660_to_unixtime2): Likewise.
17252 (grub_iso9660_read_symlink): Use node->dirent.
17253 (grub_iso9660_iterate_dir): Likewise.
17254 (grub_iso9660_dir): Set mtime.
17255 (grub_iso9660_mtime): New function.
17256 (grub_iso9660_fs): Register grub_iso9660_mtime.
17257 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17258 (grub_jfs_inode): New fields atime, ctime and mtime.
17259 (grub_jfs_dir): Set mtime.
17260 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17261 * grub-core/fs/ntfs.c (list_file): Set mtime.
17262 (grub_ntfs_dir): Likewise.
17263 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17264 (grub_reiserfs_iterate_dir): Set mtime.
17265 (grub_reiserfs_dir): Likewise.
17266 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17267 (grub_fshelp_node): Likewise.
17268 (grub_sfs_iterate_dir): Set mtime.
17269 (grub_sfs_dir): Likewise.
17270 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17271 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17272 (grub_xfs_inode): New fields atime, mtime, ctime.
17273 (grub_xfs_dir): Set mtime.
17274 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17275 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17276 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17277
17278 Support UDF symlinks.
17279
17280 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17281 (grub_ufs_read_symlink): New function. All users updated.
17282
17283 Check amiga partmap checksum.
17284
17285 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17286 (grub_amiga_partition): Likewise.
17287 (amiga_partition_map_checksum): New function.
17288 (amiga_partition_map_iterate): Check checksum.
17289
5470225d
VS
172902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17291
17292 ROMFS support.
17293
17294 * Makefile.util.def (libgrubmods.a): Add romfs.
17295 * grub-core/Makefile.core.def (romfs): New module.
17296 * grub-core/fs/romfs.c: New file.
17297
d4680a35
VS
172982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 Squashfs v4 support.
17301
17302 * Makefile.util.def (libgrubmods.a): Add squash4.
17303 * grub-core/Makefile.core.def (squash4): New module.
17304 * grub-core/fs/squash4.c: New file.
17305 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17306 disk_input_start, disk_input.
17307 (get_byte): Handle disk_input.
17308 (grub_zlib_disk_read): New function.
17309 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17310
bcb18e74
FZ
173112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
173122011-05-15 Feiran Zheng <famcool@gmail.com>
17313
17314 * Makefile.util.def (libgrubmods.a): Add minix3.
17315 * grub-core/Makefile.core.def (minix3): New module.
17316 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17317 (GRUB_MINIX_BSIZE): Removed.
17318 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17319 (grub_minix_ino_t): New type.
17320 (grub_minix_le_to_cpu_ino): New macro.
17321 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17322 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17323 (grub_minix_data): New field block_size.
17324 (grub_minix_read_file): Handle 64-bit correctly.
17325 * grub-core/fs/minix3.c: New file.
17326
32297d5f
TG
173272011-05-15 Tristan Gingold <gingold@free.fr>
173282011-05-15 Robert Millan <rmh.grub@aybabtu.com>
173292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17330
17331 IA64 support.
17332
17333 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17334 * configure.ac: Add ia64-efi target.
17335 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17336 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17337 * gentpl.py: Add ia64_efi platform.
17338 Rename x86_efi to efi and Add ia64-efi. All users updated.
17339 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17340 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17341 Remove kern/generic/rtc_get_time_ms.c on EFI.
17342 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17343 kern/ia64/dl_helper.c on ia64-efi.
17344 Add kern/emu/cache.c on emu.
17345 (linux): Use on loader/ia64/efi/linux.c on ia64.
17346 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17347 whether symbol is a function.
17348 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17349 (grub_symbol): New field 'isfunc'.
17350 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17351 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17352 (grub_dl_load_segments): Place all sections into the same region.
17353 [__ia64__]: Create trampolines and got.
17354 [GRUB_MACHINE_EMU]: Call mprotect.
17355 (grub_dl_resolve_symbols): Resolve symbol type as well.
17356 [__ia64__]: Create function descriptors.
17357 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17358 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17359 (grub_get_rtc): New function.
17360 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17361 * grub-core/kern/emu/cache.S: Renamed to ...
17362 * grub-core/kern/emu/cache_s.S: ... this.
17363 [__ia64__]: Add a nop.
17364 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17365 [__ia64__]: New function.
17366 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17367 * grub-core/kern/ia64/dl.c: New file.
17368 * grub-core/kern/ia64/dl_helper.c: Likewise.
17369 * grub-core/kern/ia64/efi/init.c: New file.
17370 * grub-core/kern/ia64/efi/startup.S: Likewise.
17371 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17372 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17373 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17374 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17375 * grub-core/loader/ia64/efi/linux.c: New file.
17376 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17377 (GRUB_MOD_DEP): Likewise.
17378 (grub_dl) [__ia64__]: New fields got and tramp.
17379 (grub_dl): New field 'base'.
17380 (grub_dl_register_symbol): New argument isfunc. All users updated.
17381 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17382 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17383 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17384 (grub_ia64_dl_get_tramp_got_size): New proto.
17385 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17386 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17387 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17388 * include/grub/efi/api.h: Skip call wrappers on ia64.
17389 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17390 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17391 * include/grub/elf.h (ELF_ST_INFO): New definition.
17392 * include/grub/ia64/efi/kernel.h: New file.
17393 * include/grub/ia64/efi/memory.h: Likewise.
17394 * include/grub/ia64/efi/time.h: Likewise.
17395 * include/grub/ia64/kernel.h: Likewise.
17396 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17397 * include/grub/ia64/time.h: New file.
17398 * include/grub/ia64/types.h: Likewise.
17399 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17400 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17401 New protos.
17402 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17403 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17404 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17405 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17406 All users updated.
17407 (EFI64_HEADER_SIZE): New definition. All users updated.
17408 (image_targets): Add ia64-efi.
17409 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17410 jumpers_addr. All users updated.
17411 Create function descriptors.
17412 (count_funcs): New function.
17413 (unaligned_uint32): New struct.
17414 (MASK20): New definition.
17415 (MASK19): Likewise.
17416 (MASKF21): Likewise.
17417 (add_value_to_slot_20b): New function.
17418 (add_value_to_slot_21_real): Likewise.
17419 (add_value_to_slot_21): Likewise.
17420 (ia64_kernel_trampoline): New struct.
17421 (nopm): New variable.
17422 (jump): Likewise.
17423 (make_trampoline): New function.
17424 (relocate_addresses): Handle ia64.
17425 (make_reloc_section): Likewise.
17426 (load_image): Likewise.
17427
983b414d
VS
174282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17429
17430 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17431 warning. Move variables before code while on it.
17432
5d063cdc
VS
174332011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17434
17435 Fuloong support.
17436
17437 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17438 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17439 * grub-core/boot/mips/loongson/fuloong.S: New file.
17440 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17441 Explicitly init CS5536.
17442 [FULOONG]: Don't use serial until CS5536 is available.
17443 Set GPIO based on dumps.
17444 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17445 [FULOONG]: Handle GPIO and memory controller differences.
17446 Parse machine type in $a2.
17447 * grub-core/boot/mips/startup_raw.S: Determine and save the
17448 architecture.
17449 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17450 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17451 init on architecture type.
17452 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17453 SIS315E. Don't init at_keyboard on fuloong.
17454 (grub_halt): Support Fuloong.
17455 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17456 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17457 (loongson_machtypes): New array.
17458 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17459 type.
17460 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17461 config. All users updated. Handle CS5536 serial.
17462 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17463 default port on machine type. Register serial as inactive.
17464 * grub-core/video/sis315pro.c: New file.
17465 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17466 definition.
17467 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17468 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17469 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17470 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17471 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17472 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17473 to ...
17474 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17475 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17476 definition.
17477 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17478 (grub_arch_machine): New extern var.
17479 * include/grub/mips/loongson/serial.h
17480 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17481 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17482 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17483 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17484 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17485 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17486 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17487 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17488 * include/grub/term.h (grub_term_register_input_inactive): New inline
17489 function.
17490 (grub_term_register_output_inactive): Likewise.
17491 * include/grub/video.h (grub_video_driver_id): New value
17492 GRUB_VIDEO_DRIVER_SIS315PRO.
17493 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17494 New field "names". All users updated.
17495 New field value IMAGE_FULOONG_FLASH.
17496 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17497
6ada82d1
JU
174982011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17499
17500 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17501 and add some clarification.
17502
90c571a4
VS
175032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17504
17505 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17506 platforms if kernel is compressed.
17507
de04eecf
VS
175082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17509
17510 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17511 unused modules since currently referrence counter isn't reliable and
17512 there isn't much memory to recover there anyway.
17513
57688121
VS
175142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17515
17516 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17517 rather than resetting it to allow modules to reference themselves
17518 in init.
17519
3d2c7e35
VS
175202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17521
17522 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17523 counter on dependencies since grub_dl_unref already handles this.
17524
b25db218
VS
175252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17526
17527 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17528 on error if not already done.
17529
25a45338
VS
175302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17531
17532 Fix few potential memory misusage.
17533
17534 * grub-core/font/font.c (load_font_index): Don't free char_index to
17535 avoid double free.
b25db218
VS
17536 (grub_font_load): Zero-fill font at alloc for safety.
17537 Close file on error.
17538 (free_font): Free bmp_idx.
25a45338 17539
0cac83df
VS
175402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17541
17542 * docs/grub.texi (Installation): Fix several outdated claims.
17543
2217a143
VS
175442011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17545
17546 Handle module_license on windows.
17547
17548 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17549 sections shifted.
17550 (insert_string): Make argument const char * instead of char *.
17551 (write_section_data): Handle long section names.
17552 Handle module_license.
17553
d4de6b01
VS
175542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17555
17556 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17557 handle class-free menuentries.
17558 (grub_normal_add_menu_entry): Add a check to be sure.
17559
4c2a3b43
VS
175602011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17561
17562 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17563 PgUp and PgDown.
17564
85c6210f
VS
175652011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17566
17567 * configure.ac: Bump version to 1.99.
17568
36084912
VS
175692011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17570
17571 Give ATA device a bit more time on first try in order to allow disks
17572 to spin up.
17573
17574 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17575 if dev->present is 1. Reset dev->present on failure.
17576 (grub_ata_device_initialize): Set dev->present to 1.
17577 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17578 (grub_ata_device): New member 'present'.
17579
bda0e219
VS
175802011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 * util/grub-mkimage.c (generate_image): Update hash.
17583
19e1c41b
VS
175842011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17585
17586 Flush caches on DMA memory.
17587
17588 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17589 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17590 (grub_dma_free): Likewise.
17591 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17592
91bbcc0c
VS
175932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17594
17595 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17596 to avoid asm treating ld and sd as macros.
17597
60ddfad3
VS
175982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17599
17600 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17601 decompressor.
17602
a298aa04
VS
176032011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17604
17605 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17606 grub_decompress_core since later would fail if grub_decompress_core
17607 is too far.
17608
9b44feca
VS
176092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17612 R_MIPS_JALR since it's used by newer compiler.
17613
56dbe7b4
VS
176142011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17615
17616 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17617
52856af2
VS
176182011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17619
17620 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17621 file_path to 0 for surety.
17622 (grub_chainloader_boot): Set exit_data to NULL.
17623 Unset the loader once done.
17624 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17625
9c9bfc6d
VS
176262011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17627
17628 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17629 unknown key into a dprintf.
17630
dd94a3df
VS
176312011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17632
17633 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17634 on first non-existant partition.
17635
fa68d99c
VS
176362011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17637
17638 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17639 openning fails.
17640 Reported by: Mark Korenberg.
17641
157effb7
VS
176422011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17645 overflow.
17646
ea75312f
VS
176472011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17650 before closing to ensure that it will be readable by grub-setup.
17651
072b5d31
VS
176522011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17653
17654 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17655 (devpath_1): Use MAKE_PIWG_PATH.
17656 (devpath_2): Likewise.
17657 (devpath_3): Likewise.
17658 (devpath_4): Likewise.
17659 (devpath_5): Likewise.
17660 (devpath_6): Likewise.
17661
17662 The appleldr.mod was checked that to be binary identical to previous
17663 version.
17664
7fae0051
Z
176652011-05-05 Zach <mikezackles>
17666
17667 Support 2010 Macbooks.
17668
17669 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17670 (devs): Add devpath_6.
17671
7c515bee
VS
176722011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17673
17674 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
17675 /dev/random. /dev/urandom is good enough for our purposes (salting).
17676
ed660bd8
VS
176772011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17678
17679 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
17680
ee5614b7
VS
176812011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
17684 hexadecimal.
17685
664889a6
VS
176862011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
17689 and not 0 on failure.
17690
bd405bbc
CW
176912011-05-03 Colin Watson <cjwatson@ubuntu.com>
17692
17693 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
17694 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
17695 disk; otherwise grub_fs_probe will not fall back to the next
17696 filesystem.
17697 (grub_pxefs_open): Likewise, for consistency.
17698 Reported and tested by: Ezekiel Grave.
17699
4ebff753
CW
177002011-05-03 Colin Watson <cjwatson@ubuntu.com>
17701
17702 * tests/partmap_test.in: Don't hardcode path to parted.
17703 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
17704
8f942553
CW
177052011-05-01 Colin Watson <cjwatson@ubuntu.com>
17706
17707 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
17708 of `ls' to find out which devices are available.
17709
3c62402d
VS
177102011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17711
17712 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
17713 than source address for efi mmap buffer.
17714
723f63f2
VS
177152011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17716
17717 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
17718 wrong action on non-detecting the magic.
17719
68797f92
VS
177202011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17721
17722 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
17723 already supplied by another part of the module (fixes compilation on
17724 FreeBSD).
17725
6be8715d
VS
177262011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17727
17728 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
17729 match the one used by mdadm.
17730
e91dba5b
CW
177312011-04-21 Colin Watson <cjwatson@ubuntu.com>
17732
17733 * po/README: Add instructions for creating po/LINGUAS.
17734
c85140b3
CW
177352011-04-21 Colin Watson <cjwatson@ubuntu.com>
17736
17737 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
17738 #551428.
17739
17740 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
17741 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
17742 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
17743 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
17744 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
17745 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
17746 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
17747 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
17748 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
17749 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
17750 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
17751 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
17752 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
17753 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
17754 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
17755 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
17756 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
17757 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
17758 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
17759 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
17760 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
17761 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
17762
92051871
CW
177632011-04-21 Colin Watson <cjwatson@ubuntu.com>
17764
17765 * grub-core/kern/emu/getroot.c
17766 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
17767 test that was incorrectly reintroduced in r3214.
17768 Reported by: Ian Dall. Fixes Savannah bug #33133.
17769
b13f79a4
CW
177702011-04-21 Colin Watson <cjwatson@ubuntu.com>
17771
17772 Fix stack pointer handling in 16-bit relocator.
17773
17774 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
17775 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
17776 Fixes Ubuntu bug #683904.
17777
9b710a88
VS
177782011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17779
17780 * configure.ac: Bump version to 1.99~rc2.
17781
d97e7b59
VS
177822011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
17785 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
17786 * grub-core/lib/x86_64/setjmp.S: Likewise.
17787 * grub-core/lib/mips/setjmp.S: Likewise.
17788 * grub-core/lib/powerpc/setjmp.S: Likewise.
17789 * grub-core/lib/sparc64/setjmp.S: Likewise.
17790
0624551c
VS
177912011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17792
17793 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
17794 * grub-core/lib/efi/datetime.c: Likewise.
17795
e8f28d4c
VS
177962011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17797
17798 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
17799 New function.
17800 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
17801 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
17802 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
17803
bba79a15
VS
178042011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
17807 bitmap.
17808 (grub_gfxterm_term_init): Likewise.
17809
abc474ef
VS
178102011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17811
17812 Take into account the decorations the computing menu entry width.
17813
17814 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
17815 (grub_gfxmenu_create_box): Register get_border_width.
17816 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
17817 if available.
17818 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
17819 get_border_width.
17820
e74b3947
EP
178212011-04-18 Endres Puschner <code@e7p.de>
17822
17823 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
17824 Don't skip first class.
17825
34faa595
VS
178262011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17827
17828 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
17829 chunks.
17830 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
17831
93a777e3
VS
178322011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17833
17834 Complete 64-bit division support.
17835
17836 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
17837 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
17838 * include/grub/misc.h (grub_divmod64): Rename to ...
17839 (grub_divmod64_full): ... this.
17840 (grub_divmod64): New inline function.
17841
a5102d94
VS
178422011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17843
17844 * util/grub-mkimage.c (generate_image): Add forgotten comma.
17845
f3fb7b36
VS
178462011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17847
17848 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
17849 performing the necessary test.
17850
9ac718b0
VS
178512011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17852
17853 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
17854 (kfreebsd.elf): Likewise.
17855 (pc-chainloader.elf): Likewise.
17856 (ntldr.elf): Likewise.
17857
50d2cc5a
VS
178582011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17859
17860 Identify RAID by its UUID rather than (guessed) name.
17861
17862 * grub-core/disk/raid.c (ascii2hex): New function.
17863 (grub_raid_open): Accept mduuid/%s specification.
17864 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
17865 (get_mdadm_uuid): ... this.
17866 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
17867
e03f7bea
VS
178682011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
17869
17870 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
17871 to negative size.
17872
e74c3112
CW
178732011-04-13 Colin Watson <cjwatson@ubuntu.com>
17874
17875 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
17876 btrfs subvolume.
17877 * util/grub.d/20_linux_xen.in: Likewise.
17878
78fa584f
CW
178792011-04-13 Colin Watson <cjwatson@ubuntu.com>
17880
17881 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
17882 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
17883
17884 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17885 Build a list of relevant visible mounts using the mnt_id and
17886 parent_mnt_id fields, and then scan that list at the end.
17887
9d5f8162
CW
178882011-04-12 Colin Watson <cjwatson@ubuntu.com>
17889
17890 * docs/grub.texi (normal): New section.
17891 (normal_exit): New section.
17892 (Embedded configuration): Add reference to normal.
17893 (GRUB only offers a rescue shell): Likewise.
17894 * docs/grub-dev.texi (Error Handling): Fix typo.
17895
09a9d66f
CW
178962011-04-12 Colin Watson <cjwatson@ubuntu.com>
17897
17898 * NEWS: Drop obsolete entry about probe-only btrfs support.
17899
0c676933
CW
179002011-04-12 Colin Watson <cjwatson@ubuntu.com>
17901
17902 * util/import_gcry.py: Fix typo.
17903
ec9f5e0d
VS
179042011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17905
17906 * NEWS: Add btrfs support.
17907
fe6b2cba
VS
179082011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
179092011-04-11 Colin Watson <cjwatson@ubuntu.com>
17910
17911 BtrFS support. Written by me (Vladimir) with important bugfixes and
17912 even more important testing by Colin.
17913
17914 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
17915 * grub-core/Makefile.core.def (btrfs): Add crc.c.
17916 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
17917 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
17918 mem_input_off and mem_input. All users updated to accept in-RAM input.
17919 (gzio_seek): New function.
17920 (test_zlib_header): Likewise.
17921 (grub_gzio_read): Likewise.
17922 (grub_zlib_decompress): Likewise.
17923 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
17924 Accept partial and non-virtual mounts.
17925 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
17926 avoid receiving /dev/dm-X as device.
17927 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
17928 Handle bind and partial mounts.
17929 * grub-core/lib/crc.c: New file.
17930 * include/grub/deflate.h: Likewise.
17931 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
17932 proto.
17933 * include/grub/lib/crc.h: New file.
17934
e745cf0c
VS
179352011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 Implement automatic module license checking according to new GNU
17938 guidelines.
17939
17940 * grub-core/kern/dl.c (grub_dl_check_license): New function.
17941 (grub_dl_load_core): Use grub_dl_check_license.
17942 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
17943 (GRUB_MOD_LICENSE): Likewise.
17944 (GRUB_MOD_DUAL_LICENSE): Likewise.
17945 All modules updated.
17946
2a9bc016
CW
179472011-04-11 Colin Watson <cjwatson@ubuntu.com>
17948
17949 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
17950 reserved_first_sector to 1. btrfs reserves plenty of space for boot
17951 loaders.
17952 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
17953
8a3bc88e
VS
179542011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
17957
af869a4a
VS
179582011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * util/grub-fstest.c (read_file): Report GRUB error if file opening
17961 failed.
17962
9ee8d94f
VS
179632011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 * grub-core/kern/file.c (grub_file_open): Don't take into account the
17966 parenthesis in the middle of the filename.
17967
b01abe3e
VS
179682011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17969
17970 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
17971 rather than trying to put initrd way too high.
17972 Reported by: Ryan Lortie <desrt@desrt.ca>
17973
335bda1e
VS
179742011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17975
17976 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
17977 improperly removed string.
17978
5ca1a64d
VS
179792011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
17982 is_disk.
17983 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
17984 (open_device) Likewise.
17985 (grub_util_biosdisk_close): Likewise.
d8ce9995 17986 Reported by: Mark Korenberg.
5ca1a64d 17987
cbac5b1e
AK
179882011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
17989
17990 * util/grub-mkconfig_lib.in: Add missing quotes.
17991
088cdb65
CW
179922011-04-10 Colin Watson <cjwatson@ubuntu.com>
17993
17994 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
17995 is NULL.
17996
8b8a81fa
VS
179972011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 Dynamically count the number of lines for the lower banner.
18000
18001 * grub-core/normal/menu_entry.c (per_term_screen): New member
18002 num_entries.
18003 (print_down): Use num_entries.
18004 (update_screen): Likewise.
18005 (grub_menu_entry_run): Set num_entries.
18006 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18007 num_entries.
18008 (grub_print_message_indented): Move real part to ...
18009 (grub_print_message_indented_real): ... here. Additional argument
18010 dry_run.
18011 (draw_border): Additional argument num_entries.
18012 (print_message): Additional argument dry_run.
18013 (print_entries): Receive menu viewer data.
18014 (grub_menu_init_page): New argment num_entries.
18015 (menu_text_set_chosen_entry): Use num_entries.
18016 (grub_menu_try_text): Likewise.
18017 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18018 All users updated.
18019 (grub_ucs4_count_lines): New function.
18020 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18021 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18022 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18023 (grub_term_border_height): Likewise.
18024 (grub_term_num_entries): Likewise.
18025
277f955b
VS
180262011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18027
18028 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18029 Remove now unused string.
18030
536ce85a
CW
180312011-04-09 Colin Watson <cjwatson@ubuntu.com>
18032
18033 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18034 build system.
18035 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18036
18037 (Comment): Fix typo.
18038 (Getting started): General copy-editing.
18039 (Typical Development Experience): Likewise.
18040 (Error Handling): Likewise.
18041 (Video API): Likewise.
18042
2cf09e32
CW
180432011-04-09 Colin Watson <cjwatson@ubuntu.com>
18044
18045 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18046 throughout.
18047
1ec652f4
VS
180482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18051 directory.
18052
2c583728
CW
180532011-04-08 Colin Watson <cjwatson@ubuntu.com>
18054
18055 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18056 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18057 "development".
18058
d7a565e9
VS
180592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18060
18061 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18062 grub_strcpy since the lines aren't necessarily 0-terminated.
18063
7c2e4909
VS
180642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18065
18066 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18067 root on legacy.
18068
34c09785
VS
180692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18070
18071 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18072 (GRUB_MOD_INIT): DEVICE isn't optional.
18073
6a6f8058
VS
180742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18075
18076 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18077 word on new line if it's too long anyway. Fixes a hang.
18078
2e335e90
VS
180792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18080
18081 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18082 const.
18083 * util/grub-setup.c (main): Reuse md device name if available.
18084 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18085 not GRUB name as argument.
18086 Based on patch by: Florian Wagner <fwagner>.
18087
10a7a867
VS
180882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18089
18090 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18091 Place mbi on low memory for better compatibility.
18092
7a3d6cd9
VS
180932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18094
18095 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18096
18dd6b47
VS
180972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
180982011-04-08 Colin Watson <cjwatson@ubuntu.com>
18099
18100 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18101 * conf/Makefile.common: Likewise.
18dd6b47 18102
3c0e3f14
VS
181032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18104
f7148863
VS
18105 * grub-core/normal/menu.c: Add missing include.
18106
181072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18108
18109 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18110
6d1fa41f
MZ
181112011-04-08 Martin Zuther <mzuther@mzuther.de>
18112
18113 * util/grub-mkconfig.in: Ignore emacsen backup.
18114
478182a8
VS
181152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18116
18117 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18118 on open.
18119 (grub_util_biosdisk_close): Likewise.
18120
72a89a54
VS
181212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18124 const attribute and use grub_isdigit.
18125
b5ebecfa
A
181262011-04-06 Andrey <dev_null@ukr.net>
18127
18128 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18129 gcc warning.
18130
7755f66e
VS
181312011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18132
18133 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18134 useful grub_dprintf's.
18135
461121ff
VS
181362011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18137
18138 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18139
2a961775
VS
181402011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18141
18142 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18143
adf594cc
VS
181442011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18145
18146 Output errors if theme loading failed.
18147
18148 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18149 grub_gfxterm_fullscreen on error paths to ...
18150 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18151 theme loading error.
18152
665900a3
VS
181532011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18154
18155 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18156 space for older compilers.
18157 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18158
a562b479
VS
181592011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18160
18161 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18162 and report them as not RAID members since they are useless for GRUB.
18163 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18164
850e9373
VS
181652011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 Increase LVM implementation robustness in order not to crash on
18168 configurations like pvmove. Previously code assumed that in some places
18169 only lvs or only pvs are used whereas it seems that they are used
18170 interchangeably.
18171
18172 * grub-core/disk/lvm.c (read_node): New function.
18173 (read_lv): Use read_node.
18174 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18175 Match volumes only at the end when all lvs are found. Take both
18176 pvs (first) and lvs (second) into account.
18177 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18178 mirror_* into node_*. All users updated.
18179 (grub_lvm_stripe): Merge this ...
18180 (grub_lvm_mirror): ... and this ...
18181 (grub_lvm_node): ... into this. All users updated.
18182
6f332153
VS
181832011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18184
18185 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18186 of function to allow further scanning for LVMs.
18187
829ea451
VS
181882011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18189
18190 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18191 on failed seek as it breaks open fd reusage.
18192
09ceb9a5
VS
181932011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18194
18195 * util/grub-install.in: Add a recommendation to use --recheck before
18196 reporting bugs.
18197
67e11623
VS
181982011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18199
18200 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18201 are obtained.
18202
caee5efd
VS
182032011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18204
18205 GRUB developper manual based on existing Internals section and
18206 contributions by the various authors with active copyright assignment.
18207
18208 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18209 * docs/font_char_metrics.png: New file.
18210 * docs/font_char_metrics.txt: Likewise.
18211 * docs/grub-dev.texi: Likewise.
18212 * docs/grub.texi (Internals): Move from here ...
18213 * docs/grub-dev.texi: ... here.
18214
2cccc747
CW
182152011-04-01 Colin Watson <cjwatson@ubuntu.com>
18216
18217 Store the loopback device as data on loopback grub_disk structures,
18218 rather than the file it points to. This fixes use of freed memory
18219 if an existing loopback device is replaced.
18220
18221 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18222 disk->data, not dev->file.
18223 (grub_loopback_read): Adjust file assignment to match.
18224 Fixes Ubuntu bug #742967.
18225
186ae367
CW
182262011-04-01 Colin Watson <cjwatson@ubuntu.com>
18227
18228 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18229 when replacing an existing device.
18230
cfed2ad0
VS
182312011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18234 memory corruptions.
18235
18236 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18237 unsigned.
18238 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18239 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18240 (grub_jfs_read_inode): Likewise.
18241 (grub_jfs_opendir): Likewise. Remove now useless casts.
18242 (grub_jfs_getent): Likewise.
18243 Make ino a grub_uint32_t rather than int.
18244 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18245 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18246 division and module with bit operations.
18247 (grub_jfs_find_file): Make ino a grub_uint32_t.
18248 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18249
05d2ed32
CW
182502011-04-01 Colin Watson <cjwatson@ubuntu.com>
18251
18252 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18253 warning. (This was in fact always initialised before use, but GCC
18254 wasn't smart enough to prove that.)
18255 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18256
91dc6073
VS
182572011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18258
18259 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18260 stack alignment.
18261 (efi_wrap_1): Likewise.
18262 (efi_wrap_2): Likewise.
18263 (efi_wrap_3): Likewise.
18264 (efi_wrap_4): Likewise.
18265 (efi_wrap_5): Likewise.
18266 (efi_wrap_6): Likewise.
18267 (efi_wrap_10): Likewise.
18268 Based on information by: Red Hat/Peter Jones.
18269
a8afc1d1
CW
182702011-03-31 Colin Watson <cjwatson@ubuntu.com>
18271
18272 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18273 set-but-not-used variable.
18274
a826cc7d
CW
182752011-03-31 Colin Watson <cjwatson@ubuntu.com>
18276
18277 * docs/grub.texi (Simple configuration): Be more explicit about
18278 GRUB_DEFAULT, and add an example.
18279 Reported by: Leslie Rhorer.
18280
875b67ba
CW
182812011-03-30 Colin Watson <cjwatson@ubuntu.com>
18282
18283 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18284 shell".
18285
fd7cd914
AS
182862011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18287
18288 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18289 * util/grub.d/20_linux_xen.in: Likewise.
18290
090b1b6a
VS
182912011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18292
18293 * util/grub.d/10_linux.in: Try alternative config filenames where
18294 we parse config file.
18295 * util/grub.d/20_linux_xen.in: Likewise.
18296
baad885c
AS
182972011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18298
18299 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18300 * util/grub.d/20_linux_xen.in: Likewise.
18301
241e41f5
VS
183022011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18303
18304 * grub-core/disk/raid.c (insert_array): Add few potentially
18305 useful grub_util_info.
18306 (grub_raid_register): Likewise.
18307
56445fb2
VS
183082011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18309
18310 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18311 Preserve partition number in mdadm code path.
18312
c871b1c6
VS
183132011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18314
18315 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18316 few potentially useful grub_util_info.
18317
5e631b4f
CW
183182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18321
2d5d0333
CW
183222011-03-30 Colin Watson <cjwatson@ubuntu.com>
18323
18324 * docs/grub.texi (default): Use @example rather than nested
18325 itemized lists to avoid breaking gendocs.
18326
3d7ed04e
CW
183272011-03-30 Colin Watson <cjwatson@ubuntu.com>
18328
18329 * docs/grub.texi (Future): Update.
18330
abf04200 183312011-03-30 Colin Watson <cjwatson@ubuntu.com>
18332
18333 * docs/grub.texi (Environment): New chapter.
18334 (Changes from GRUB Legacy): Link to "Environment block" section for
18335 details of limitations.
18336 (Simple configuration): Likewise. Link to documentation of gfxmode
18337 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18338 respectively.
18339 (Shell-like scripting): Note that normal variables are stored in the
18340 environment.
18341 (gettext): Link to documentation of lang and locale_dir.
18342 (list_env): New section.
18343 (load_env): New section.
18344 (save_env): New section.
18345
18346 (Reporting bugs): Fix typo.
18347
e1ad0edd
VS
183482011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18349
18350 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18351 the example.
18352
5d803174
VS
183532011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18354
18355 * grub-core/term/at_keyboard.c (set_scancodes)
18356 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18357
2a2da1d0
CW
183582011-03-30 Colin Watson <cjwatson@ubuntu.com>
18359
18360 * docs/grub.texi (Menu-specific commands): Remove some semantics
18361 that were true in GRUB Legacy but not in GRUB 2.
18362 (submenu): New section.
18363 (false): New section.
18364 (read): New section.
18365 (true): New section.
18366
a7527639
CW
183672011-03-30 Colin Watson <cjwatson@ubuntu.com>
18368
18369 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18370
183712011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18372
18373 * docs/grub.texi (Simple configuration): Explain some of the
18374 current limitations of grub-mkconfig.
8a748df2 18375 Reported by: Leslie Rhorer.
e30af029 18376
fc858482
VS
183772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18378
18379 Old macs search for boot.efi rather than for bootia32.efi.
18380
18381 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18382 * util/grub-mkrescue.in: Likewise.
18383 Suggested by: Peter Jones.
18384
e1eb511d
VS
183852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18388
70e75364
VS
183892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18390
18391 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18392 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18393 (grub_lvm_mirror): New struct.
18394 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18395 (grub_lvm_iterate): Iterate only visible volumes.
18396 (grub_lvm_read): Factor out to ..
18397 (read_lv): ... this. Support mirrors.
18398 (grub_lvm_read): New wrapper function.
18399 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18400 stripped or mirrored.
18401
fc18f6a3
VS
184022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18405
5c650f4c
CW
184062011-03-29 Colin Watson <cjwatson@ubuntu.com>
18407
18408 * docs/grub.texi (loopback): New section.
18409
61d7156b
CW
184102011-03-29 Colin Watson <cjwatson@ubuntu.com>
18411
18412 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18413 removed -p option.
18414
994b8264
CW
184152011-03-29 Colin Watson <cjwatson@ubuntu.com>
18416
18417 * docs/grub.texi (BIOS installation): New section, partly based on
18418 previous text in other sections.
18419 (Installing GRUB using grub-install): Replace BIOS discussion with a
18420 cross-reference.
18421 (Images): Likewise.
18422
9e4d19e0
VS
184232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18424
18425 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18426 [HAVE_DIOCGDINFO]: Add safety checks.
18427
a307c0b2
VS
184282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18429
18430 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18431 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18432
b4db4f39
CW
184332011-03-29 Colin Watson <cjwatson@ubuntu.com>
18434
18435 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18436 real_sb->size is zero (e.g. RAID-0), get the disk size from
18437 real_sb->data_size instead.
18438 Fixes Ubuntu bug #743136.
18439
35e5f84c
VS
184402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18441
18442 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18443 printf clauses for printing size and start.
18444
d2e29d81
VS
184452011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18446
18447 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18448 Reported and tested by: Timothy Nikkel.
18449
ed5587af
VS
184502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18451
18452 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18453 (dirty_region_add_real): ... this.
18454 (dirty_region_add): Don't discard margin refresh when performing
18455 scheduled repaint.
18456
a1dc717c
VS
184572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18458
18459 * grub-core/lib/relocator.c (allocate_regstart)
18460 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18461 terminals are capabple of malloc-free operation.
18462 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18463 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18464
9f3677d3
VS
184652011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18466
18467 * util/grub-setup.c: Copy the partition table zone if floppy support
18468 is disabled, even if no partition table is found.
18469
18470 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18471 during POST if an invalid partition table is contained in the PBR
18472 of the active partition when GRUB is installed to a partition.
18473
24148725
CW
184742011-03-28 Colin Watson <cjwatson@debian.org>
18475
18476 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18477 comment.
18478
f329eda7
CW
184792011-03-28 Colin Watson <cjwatson@debian.org>
18480
18481 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18482 to be specific about what kind of RAID device we're scanning for.
18483
c482ad98
SG
184842011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18485
18486 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18487 return freed string.
18488
5ee04984
VS
184892011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18490
18491 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18492
f4727da9
VS
184932011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18494
18495 Use libgeom on FreeBSD to detect partitions.
18496
18497 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18498 (grub-mkrelpath): Likewise.
18499 (grub-script-check): Likewise.
18500 (grub-editenv): Likewise.
18501 (grub-mkpasswd-pbkdf2): Likewise.
18502 (grub-fstest): Likewise.
18503 (grub-mkfont): Likewise.
18504 (grub-mkdevicemap): Likewise.
18505 (grub-probe): Likewise.
18506 (grub-setup): Likewise.
18507 (grub-ofpathname): Likewise.
18508 (grub-mklayout): Likewise.
18509 (example_unit_test): Likewise.
18510 (grub-menulst2cfg): Likewise.
18511 * grub-core/Makefile.core.def (grub-emu): Likewise.
18512 (grub-emu-lite): Likewise.
18513 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18514 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18515 define HAVE_DIOCGDINFO.
18516 (follow_geom_up) [FreeBSD]: New function.
18517 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18518 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18519 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18520 unconditionally of HAVE_DIOCGDINFO.
18521
82fe6c75
VS
185222011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18523
18524 Fix FreeBSD compilation problem.
18525
18526 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18527 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18528
4c6c9431
CW
185292011-03-24 Colin Watson <cjwatson@ubuntu.com>
18530
18531 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18532 Switch back to page zero before loading a kernel, since some kernel
18533 drivers expect that.
18534 Thanks to: Felix Kuehling.
18535
c7064d94
VS
185362011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18539 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18540 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18541
3f71cded
VS
185422011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18543
18544 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18545 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18546
ef6de21a
VS
185472011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18548
18549 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18550 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18551 malloc is disabled.
18552
8bc66a2c
VS
185532011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18554
18555 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18556 for modules headers when counting the needed allocation size.
18557
5657722c
VS
185582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18559
18560 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18561 if no ASCII character is found to prevent crash.
18562
41a85f55
AK
185632011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18564
18565 * grub-core/video/bitmap.c (match_extension): Ignore case.
18566
59e1e5f1
VS
185672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18568
18569 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18570
bd4d051a
VS
185712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 * grub-core/script/parser.y: Declare "time" as valid argument.
18574
bae7fcc1
PJ
185752011-03-23 Peter Jones <pjones@redhat.com>
18576
18577 Fix incorrect assert failure reporting.
18578
18579 * grub-core/tests/example_functional_test.c (example_test): Add
18580 a failure comment.
18581 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18582 (failure_start): ...this. Check that malloc succeeded.
18583 Don't call xvasprintf. Return failure struct.
18584 (failure_append_vtext): New function.
18585 (failure_append_text): Likewise.
18586 (add_failure): Likewise.
18587 (grub_test_assert_helper): Likewise.
18588 * include/grub/test.h (grub_test_assert_helper): New declaration.
18589 (grub_test_assert): Macro rewritten.
18590
537dc9be
VS
185912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18592
18593 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18594
fa3e01bf
VS
185952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18596
18597 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18598
b1d28404
VS
185992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18600
18601 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18602 into GRUB-style one.
18603
2e3e2e09
VS
186042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18605
18606 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18607 error and not grub_errno.
18608 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18609
ed57e557
VS
186102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18611
18612 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18613 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18614
d1611f01
VS
186152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18616
18617 * grub-core/efiemu/i386/pc/cfgtables.c
18618 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18619 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18620 (grub_xnu_unlock): Likewise.
18621 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18622
7d4e39d6
VS
186232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18624
18625 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18626 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18627 * grub-core/commands/hashsum.c (aliases): Likewise.
18628 * grub-core/commands/setpci.c (pci_registers): Likewise.
18629 * grub-core/disk/usbms.c (attach_hook): Likewise.
18630 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18631 (zio_checksum_table): Likewise.
18632 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18633 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18634 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18635 * grub-core/lib/relocator.c (leftovers): Likewise.
18636 (extra_blocks): Likewise.
18637 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18638 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18639 (modules_last): Likewise.
18640 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18641 (devices): Likewise.
18642 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18643 (modules_last): Likewise.
18644 * grub-core/normal/auth.c (users): Likewise.
18645 * grub-core/normal/context.c (initial_menu): Likewise.
18646 (current_menu): Likewise.
18647 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18648 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18649 (grub_serial_terminfo_input_template): Likewise.
18650 (grub_serial_terminfo_output_template): Likewise.
18651 (grub_serial_terminfo_input): Likewise.
18652 (grub_serial_terminfo_output): Likewise.
18653 (registered): Likewise.
18654 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18655
40fc4659
VS
186562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18657
18658 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18659 grub_video_mode_type_t.
18660 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18661 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18662 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18663
2da48d28
VS
186642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18665
18666 * util/grub-install.in: Correct the x86-64 name as x86_64.
18667
9b43bf39
CW
186682011-03-11 Colin Watson <cjwatson@ubuntu.com>
18669
18670 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18671 initial chunk read from the kernel always includes GRUB's multiboot
18672 header, which is now outside the first sector.
18673
be1a7ce0
CW
186742011-03-09 Colin Watson <cjwatson@ubuntu.com>
18675
18676 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
18677 cached mmap_size, so that this works correctly when called multiple
18678 times.
18679 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
18680
83a3c48d
CW
186812011-03-09 Colin Watson <cjwatson@ubuntu.com>
18682
18683 * docs/grub.texi (Simple configuration): Tidy up formatting.
18684
57d75699
SJ
186852011-03-07 Szymon Janc <szymon@janc.net.pl>
18686
18687 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
18688 Set-but-not-used variable removed.
18689
028501a0
VS
186902011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18691
18692 Workaround yet another IEEE1275 bug.
18693
18694 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
18695 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
18696 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
18697 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
18698 is set.
18699 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18700 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
18701
d998657d
VS
187022011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18703
18704 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
18705 error.
18706
fee7cdd4
CW
187072011-02-11 Colin Watson <cjwatson@ubuntu.com>
18708
18709 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
18710 empty, since in that case we can only generate either nothing or a
18711 syntactically invalid configuration file.
18712 Reported by: Michal Suchanek. Fixes Debian bug #612898.
18713
97286eb5
CW
187142011-02-09 Colin Watson <cjwatson@ubuntu.com>
18715
18716 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
18717 (Making a GRUB bootable CD-ROM): Likewise.
18718 (Invoking grub-mkrescue): New section.
18719 Reported by: Yann Dirson. Fixes Debian bug #612585.
18720
22b28eb3
CW
187212011-02-09 Colin Watson <cjwatson@ubuntu.com>
18722
18723 * util/grub-install.in: Remove unnecessary brackets from tr
18724 arguments.
18725 * util/grub.d/10_hurd.in: Likewise.
18726 * util/grub.d/10_kfreebsd.in: Likewise.
18727 * util/grub.d/10_linux.in: Likewise.
18728 * util/grub.d/20_linux_xen.in: Likewise.
18729 Reported by: Jamie Heilman. Fixes Debian bug #612564.
18730
7e735e43
CW
187312011-02-08 Colin Watson <cjwatson@ubuntu.com>
18732
18733 * include/grub/file.h (not_easly_seekable): Rename to ...
18734 (not_easily_seekable): ... this. Update all users.
18735
800f1881
CW
187362011-01-28 Colin Watson <cjwatson@ubuntu.com>
18737
18738 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
18739 grub-mkrescue.
18740
3281d3d6
VS
187412011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
18742
18743 * util/grub-mkimage.c (generate_image): Refuse to create the images
18744 bigger than the actual flash (512K) in Loongson machines. 512K is also
18745 the biggest chip supported by them.
18746
3533413c
VS
187472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18748
18749 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
18750
73ae4f4f
VS
187512011-01-22 Anthony DeRobertis <anthony@derobert.net>
18752
18753 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
18754 super_offset field.
18755
37f4f608
VS
187562011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18757
18758 * util/grub-install.in: Ignore install device on platforms
18759 where it doesn't make sense. Always use UUIDs except on pc, efi and
18760 sparc64.
18761 Reported by: Daniel Kahn Gillmor.
18762
03a4ccb5
VS
187632011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18764
18765 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
18766
ffc8f4d8
VS
187672011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18768
18769 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
18770 (iterate_real): Don't rely on partition being non-NULL.
18771
80f23be7
VS
187722011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
18775 supported platforms. Put a compile time assert for this rather than
18776 generate a warning with 32-bit shift.
18777
5d4f4dd5
VS
187782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18779
18780 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
18781 logical expression more readable.
18782
e489601a
VS
187832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18784
18785 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
18786 even if some elements have a name.
18787 Reported by: Alexander GQ Gerasiov.
18788
96e0a6ea
CW
187892011-01-22 Colin Watson <cjwatson@ubuntu.com>
18790
18791 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
18792 path unreadable if `grub-probe -t abstraction' fails, for example if
18793 memberlist fails on an LVM volume group.
18794 Reported by: Darius Jahandarie.
18795
81431e2b
CW
187962011-01-22 Colin Watson <cjwatson@ubuntu.com>
18797
18798 * docs/grub.texi (Simple configuration): Document
18799 GRUB_PRELOAD_MODULES.
18800
5e79d66a
CW
188012011-01-17 Colin Watson <cjwatson@ubuntu.com>
18802
18803 * .bzrignore: Remove nonexistent grub-pbkdf2.
18804
646ada34
VS
188052011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 * configure.ac: Bump version to 1.99~rc1.
18808
04360337
VS
188092011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18810
18811 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
18812 for safety.
18813
46c9db88
VS
188142011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18815
18816 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
18817 module.
18818
188192011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
18820
18821 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
18822
4fbf1852
VS
188232011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18824
18825 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
18826 diskdevid.
18827
f1632d4d
VS
188282011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 Fix compilation on cygwin.
18831
18832 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
18833 -R .drectve on cygwin.
18834 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
18835 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
18836 (COND_CYGWIN): New condition.
18837 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
18838 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
18839 not @TARGET_OBJ2ELF@.
18840 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
18841 type to determine whether aux is to be used.
18842
0b5e127b
VS
188432011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18844
18845 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
18846 realpath'ed device string.
18847 Handle floppy (somewhat).
18848 Issue error in unknown case rather than garbage.
18849 Reported by: Axel Beckert.
18850
173b71e9
VS
188512011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18852
18853 * util/grub.d/00_header.in (load_video): Handle the case when no video
18854 drivers available.
18855 Thanks to: Axel Beckert.
18856
f8f479db
VS
188572011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
18860 variable. Fixes problem on big endian platforms.
18861
8fc0a245
VS
188622011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
18865 It doesn't work well there.
18866
b8494fbe
VS
188672011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18868
18869 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
18870 warning.
18871 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
18872 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
18873 counter.
18874
b44a558c
VS
188752011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18876
18877 Use alias->path rather than buggy "canon".
18878
18879 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
18880 (ofdisk_hash_add): New argument curcan. All users updated.
18881
51fa856c
CW
188822011-01-11 Colin Watson <cjwatson@ubuntu.com>
18883
18884 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
18885
9da068a5
VS
188862011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18887
18888 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
18889 loadmask before doing any calculations. Use correct type for offset.
18890 (grub_linux_load64): Likewise.
18891
86205c94
CW
188922011-01-11 Colin Watson <cjwatson@ubuntu.com>
18893
18894 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
18895 with NULL.
18896 (console_grub_equivalences_unshift): Likewise.
18897 Reported by: Daniel Dehennin.
18898
4531a206
VS
188992011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
18902 (set_env_limn_ro): Likewise.
18903 (GRUB_MOD_INIT): Likewise.
18904 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
18905 ARRAY_SIZE while on it.
18906 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
18907 * grub-core/normal/context.c (grub_env_export): Move from here ...
18908 * grub-core/kern/env.c (grub_env_export): ... here.
18909 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
18910 prefix.
18911 * grub-core/kern/main.c (grub_main): Export root and prefix.
18912 * include/grub/env.h (grub_env_export): Export.
18913 Reported by: Seth Goldberg.
18914
45146057
VS
189152011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18916
18917 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18918 Take into account space used by ELF sections and multiboot palette.
18919 Reported by: Grégoire Sutre.
18920
f093110b
VS
189212011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * BUGS: New file.
18924
3395fe52
VS
189252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18926
18927 Pass more appropriate video id to Linux.
18928
18929 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
18930 grub_video_get_driver_id and variable gfxpayloadforcelfb to
18931 fill have_vga.
18932 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
18933 shift params->lfb_size.
18934 * include/grub/i386/linux.h: Make an enume out of have_vga values.
18935
c2fa6cbb
VS
189362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18937
18938 * util/grub-menulst2cfg.c: Add missing include of misc.h.
18939
b3ff6ff0
VS
189402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18941
18942 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
18943 separator and pass bootpath/devid even if only one of them is available.
18944 Reported by: Seth Goldberg.
18945
ae67942e
VS
189462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
18949 implementations bug on them.
18950
18951 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
18952 memory.
18953 (filter_memory_map): Likewise.
18954
d570097a
VS
189552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18956
18957 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
18958 Reported by: nebuchadnezzar.
18959
a508e776
VS
189602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18961
18962 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
18963 Reported by: nebuchadnezzar.
18964
dcb883b1
VS
189652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18966
18967 Submenu default support.
18968
18969 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
18970 auto_boot. All users updated.
18971 Declared static.
18972 Handle chosen and default with submenus.
18973 (grub_menu_execute_with_fallback): Declared static.
18974 Don't notify failure if autobooted. Upper level does it.
18975 (menuentry_eq): New function.
18976 (get_entry_number): Use menuentry_eq.
18977 (show_menu): New parameter "autobooted". All users updated.
18978 (grub_show_menu): Likewise.
18979 * include/grub/normal.h (grub_show_menu): Likewise.
18980 * include/grub/menu.h (grub_menu_execute_entry): Removed.
18981 (grub_menu_execute_with_fallback): Likewise.
18982
6fef99b4
VS
189832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18984
18985 * util/grub-mklayout.c (usage): Update help text.
18986
47a77af5
VS
189872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18988
18989 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
18990
ce6bb3ee
VS
189912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18992
18993 * util/grub-menulst2cfg.c (main): Trim the line.
18994
db87be2a
VS
189952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18996
18997 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
18998 (grub_machine_init): Don't check amount of low memory as reportedly
18999 INT 12h can be broken and if low memory is too low we wouldn't have
19000 gotten into grub_machine_init anyway.
19001
c49849cc
VS
190022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19003
19004 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19005 (grub_machine_mmap_iterate): Take low memory into account
19006
b1969b30
VS
190072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19008
19009 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19010 badfs.
19011 Reported by: TiCPU.
19012
cf0eaf13
VS
190132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19014
19015 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19016 members errors.
19017
1f060f39
GS
190182011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19019
19020 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19021 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19022
a21e5672
GS
190232011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19024
19025 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19026 openbsd and netbsd types being in part_bsd module.
19027
c88172fa
VS
190282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19029
19030 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19031 (_FILE_OFFSET_BITS): Likewise.
19032 Reported by: Seth Goldberg.
19033
53798c4b
GS
190342011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19035
19036 * configure.ac: Check for libdevmapper header.
19037
e7121b69
VS
190382011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19039
19040 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19041 avoid aliasing.
19042 (fzap_lookup): Likewise.
19043 (dnode_get): Likewise.
19044 (make_mdn): Likewise.
19045 (zfs_mount): Likewise.
19046 (fzap_iterate): Use temporary pointer to avoid aliasing.
19047 (grub_zfs_read): Likewise.
19048 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19049 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19050 pointers to avoid aliasing.
19051 (grub_cmd_xnu_kernel64): Likewise.
19052 (grub_xnu_load_driver): Likewise.
19053
fc836af9
VS
190542011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19055
19056 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19057 aliasing warning.
19058 (grub_cmd_terminal_output): Likewise.
19059 Reported and tested by: Grégoire Sutre.
19060
f9f37648
VS
190612011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19062
19063 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19064 warning.
19065 Reported and tested by: Grégoire Sutre.
19066
ec1dfd63
VS
190672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19068
19069 * configure.ac: Do CPU substitution even if it's specified explicitly.
19070 Reported and tested by: Alain Greppin.
19071
9462775a
VS
190722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19073
19074 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19075 Reported and tested by: Alain Greppin.
19076
0fd48e35
VS
190772011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19078
19079 Satisfy some bison versions need for inttypes.h.
19080
19081 * grub-core/lib/posix_wrap/inttypes.h: New file.
19082 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19083 (int16_t): Likewise.
19084 (int32_t): Likewise.
19085 (int64_t): Likewise.
19086 Reported and tested by: Alain Greppin.
19087
43f1bc83
VS
190882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19089
19090 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19091 Silence spurious warning.
19092 Reported and tested by: Alain Greppin.
19093
64d1f041
SJ
190942011-01-07 Szymon Janc <szymon@janc.net.pl>
19095
19096 * docs/grub.texi (Support automatic decompression): Update with xz
19097 decompression support.
19098
25953e10
SJ
190992011-01-07 Szymon Janc <szymon@janc.net.pl>
19100
19101 Improve loaders' kernel command line handling.
19102
19103 * grub-core/lib/cmdline.c: New file.
19104 * include/grub/lib/cmdline.h: Likewise.
19105 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19106 grub_create_loader_cmdline to create kernel command line.
19107 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19108 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19109 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19110 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19111 (linux): Add lib/cmdline.c on common.
19112
e72d259f
VS
191132011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19116 inopos might be unaligned.
19117
c0cf26da
VS
191182011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19119
19120 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19121 endian transformations.
19122 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19123 Based on report by: Doug Nazar.
19124
0ca09e6c
DN
191252011-01-07 Doug Nazar <nazard.michi@gmail.com>
19126
19127 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19128 array->members[i].start_sector.
19129 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19130
014b6806
VS
191312011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19132
19133 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19134 Reported and tested by: Grégoire Sutre.
19135
415502c2
CW
191362011-01-06 Colin Watson <cjwatson@ubuntu.com>
19137
19138 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19139 avoid causing test failures by clearing the screen.
19140
71b6a2b7
CW
191412011-01-06 Colin Watson <cjwatson@ubuntu.com>
19142
19143 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19144 Fix prefix check to handle the case where dir ends with a slash
19145 (most significantly, "/" itself).
19146 Reported by: Michael Vogt.
19147
b3f8d28a
VS
191482011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19149
19150 Run terminfo_cls on initing terminfo output to clear the screen and
19151 move the cursor to (0,0).
19152
19153 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19154 Call grub_terminfo_output_init.
19155 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19156 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19157 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19158
4c3e4f37
VS
191592011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19160
19161 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19162 only when needed.
19163
488f71f1
VS
191642011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19165
19166 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19167 CTRL.
19168
18a38098
VS
191692011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19170
19171 The E820 type 5 is BADRAM, not EXEC_CODE.
19172
19173 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19174 (GRUB_E820_BADRAM): New define.
19175 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19176 into reserved. Propagate BADRAM.
19177 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19178 (GRUB_E820_BADRAM): New define.
19179
9eae2084
VS
191802011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19181
19182 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19183 Ignore the memory post-4G.
19184 (grub_relocator_firmware_alloc_region): Additional debug statement.
19185
ebc71d28
VS
191862011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19187
19188 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19189 names.
19190 Reported by: David Pravec.
19191
446fa400
VS
191922011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19193
19194 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19195 BIOSes.
19196
a0159f37
VS
191972011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19200 Prevent overflow.
19201 (grub_reed_solomon_recover): Likewise.
19202
e5146ca1
VS
192032011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19206
192072011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19208
19209 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19210 variable.
19211
5b1bdf12
CW
192122011-01-04 Colin Watson <cjwatson@ubuntu.com>
19213
19214 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19215 descriptions of extract_legacy_entries_source and
19216 extract_legacy_entries_configfile.
19217 Reported by: Seung Soo, Ha.
19218
99d925aa
CW
192192011-01-03 Colin Watson <cjwatson@ubuntu.com>
19220
19221 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19222 on devices that do not implement function 0.
19223
4af0504b
DV
192242011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19225
19226 * grub-core/fs/hfsplus.c: Make parent unsigned.
19227 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19228 overflows.
19229 (grub_hfsplus_cmp_extkey): Likewise
19230
469ee10a
VS
192312011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19232
19233 * util/grub-install.in: Correctly use bootloader_id and not
19234 GRUB_DISTRIBUTOR on efibootmgr line.
19235
323a8e9c
VS
192362011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19237
19238 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19239
1b394975
IC
192402010-12-31 Ian Campbell <ijc@hellion.org.uk>
19241
19242 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19243 Xen and reorder menu item wording to make it clearer that this entry
19244 will launch Xen. Print separate messages when loading Xen and
19245 Linux.
19246
275bff5f
VS
192472010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19248
19249 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19250 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19251 loop in case of incorrect amiga partmap.
19252
307806cb
VS
192532010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19254
19255 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19256 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19257 Reported by:EHeM.
19258
b12b923e
VS
192592010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19260
19261 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19262 spurious warning.
19263 Reported by: crocket
19264
14b48a19
VS
192652010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19266
19267 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19268 Preload EFIemu.
19269 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19270
693db2df
VS
192712010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19274 is loaded
19275 (grub_cmd_xnu_kextdir): Likewise.
19276 (grub_cmd_xnu_splash): Likewise.
19277
c7638645
VS
192782010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19279
19280 Avoid using Reed-Solomon with 0 redundancy.
19281
19282 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19283 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19284 or 0 redundancy.
19285 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19286 (grub_reed_solomon_recover): Likewise.
19287
25dd4780
VS
192882010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19289
19290 Don't use disk subsystem in freebsd_boot.
19291
19292 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19293 (freebsd_biosdev): Likewise.
19294 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19295 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19296
0b2db943
VS
192972010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19298
19299 Handling of files of unknown size is currently limited. They can't be
19300 used e.g. for initrd or modules. Moreover gzip handling of not
19301 easily seekable files is buggy. Disable unknown file size for now. May
19302 be inefficient but works.
19303
19304 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19305 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19306
5c408d0f
MP
193072010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19308
19309 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19310 floppy probe.
19311
190a011a
JD
193122010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19313
19314 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19315
022d01b8
SL
193162010-12-25 Shea Levy <shlevy>
19317
19318 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19319
c4855fdc
VS
193202010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19321
19322 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19323 Windows Server 2008.
19324 Reported by: Devin Giddings.
19325
0354b867
VS
193262010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19329 writing an error message because of async power management.
19330 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19331 (grub_reboot): Likewise.
19332
ab66c69f
JU
193332010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19334
19335 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19336 keep unit tests from failing when they shouldn't.
19337
1426ef35
CW
193382010-12-21 Colin Watson <cjwatson@ubuntu.com>
19339
19340 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19341 previous patch increased the size of the RS code by 20 bytes (at
19342 least with gcc-4.4), so increase this by 20 bytes to match.
19343 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19344
20641b6b
CW
193452010-12-21 Colin Watson <cjwatson@ubuntu.com>
19346
19347 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19348 scratch area. Make sure to initialise chosen in standalone mode as
19349 well as non-standalone.
19350 Reported by: Robert Hooker and Andy Whitcroft.
19351 Tested by: Andy Whitcroft.
19352
d060ad60
CW
193532010-12-21 Colin Watson <cjwatson@ubuntu.com>
19354
19355 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19356 constructing a new unescaped string and passing it to grub_xputs in
19357 one go, rather than passing characters to grub_printf one at a time.
19358
b889cfad
CW
193592010-12-21 Colin Watson <cjwatson@ubuntu.com>
19360
19361 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19362 initialising utf16.
19363
4e01b6c8
CW
193642010-12-21 Colin Watson <cjwatson@ubuntu.com>
19365
19366 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19367 comment. Add an extra layer of quotation, requiring the output of
19368 this function to be used in a printf format string.
19369 (gettext_printf): New function.
19370 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19371 Extract translatable strings from here-documents and use a temporary
19372 variable instead, so that xgettext can find them.
19373 * util/grub.d/10_kfreebsd.in: Likewise.
19374 * util/grub.d/10_linux.in: Likewise.
19375 * util/grub.d/20_linux_xen.in: Likewise.
19376
19377 * po/grub.d.sed: New file.
19378 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19379 arguments. Set c-format flags on all strings extracted from
19380 util/grub.d/ (xgettext refuses to include these itself for strings
19381 it extracted from a shell file, but these really are c-format).
19382
5318fe98
VS
193832010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19384
19385 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19386 Avoid next pointing to nowhere.
19387
6c85b743
VS
193882010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19389
19390 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19391 rather than assuming than rootblock is exactly in the middle.
19392 (grub_affs_label): Likewise.
19393
a2a08a35
VS
193942010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19395
19396 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19397 reserved_first_sector to 0.
19398 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19399 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19400 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19401
7059d1ec
VS
194022010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19403
19404 Fix handling of UTF-16 UDF labels.
19405
19406 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19407 (read_string): .. here.
19408 (grub_udf_label): Use read_string.
19409
30aff4cb
BC
194102010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19411
19412 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19413 editor under argument scope.
19414 Reported by: Jordan Uggla
19415
5cf86f4b
VS
194162010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19417
19418 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19419
32570200
CW
194202010-12-18 Colin Watson <cjwatson@ubuntu.com>
19421
19422 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19423 line, and other keys scroll an entire page (previous handling was
19424 for \r and \n to scroll a page and other keys to scroll two lines).
19425
e1dffcf2
VS
194262010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19429 Set ptrdest to correct get_physical_target_address rather than
19430 incorrect get_virtual_current_address.
19431
b04298cf 194322010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19433
19434 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19435 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19436
5367ecd3
CW
194372010-12-10 Colin Watson <cjwatson@ubuntu.com>
19438
19439 * .bzrignore: Ignore grub-core/rs_decoder.S.
19440
1fb430f8
CW
194412010-12-10 Colin Watson <cjwatson@ubuntu.com>
19442
19443 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19444 .mo/.mo.gz opening sequence to ...
19445 (grub_mofile_open_lang): ... here.
19446 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19447 * util/grub.d/00_header.in (grub_lang): Include country part of
19448 locale.
19449 Reported by: Mario Limonciello.
19450
a94a6671
RM
194512010-12-09 Robert Millan <rmh@gnu.org>
19452
19453 * NEWS: Document addition of ZFS support.
19454
24b7938b
CW
194552010-12-04 Colin Watson <cjwatson@ubuntu.com>
19456
19457 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19458 rather than `/ 2', as the latter requires -Wa,--divide which would
19459 require bumping our minimum binutils version.
19460
bddc3ef6
BC
194612010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19462
19463 * util/grub-script-check.c (main): Print script line number on
19464 error.
19465
bf78d5b2
RM
194662010-12-01 Robert Millan <rmh@gnu.org>
19467
19468 * grub-core/fs/zfs/zfs.c: New file.
19469 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19470 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19471 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19472 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19473
19474 * include/grub/zfs/dmu.h: Likewise.
19475 * include/grub/zfs/dmu_objset.h: Likewise.
19476 * include/grub/zfs/dnode.h: Likewise.
19477 * include/grub/zfs/dsl_dataset.h: Likewise.
19478 * include/grub/zfs/dsl_dir.h: Likewise.
19479 * include/grub/zfs/sa_impl.h: Likewise.
19480 * include/grub/zfs/spa.h: Likewise.
19481 * include/grub/zfs/uberblock_impl.h: Likewise.
19482 * include/grub/zfs/vdev_impl.h: Likewise.
19483 * include/grub/zfs/zap_impl.h: Likewise.
19484 * include/grub/zfs/zap_leaf.h: Likewise.
19485 * include/grub/zfs/zfs.h: Likewise.
19486 * include/grub/zfs/zfs_acl.h: Likewise.
19487 * include/grub/zfs/zfs_znode.h: Likewise.
19488 * include/grub/zfs/zil.h: Likewise.
19489 * include/grub/zfs/zio.h: Likewise.
19490 * include/grub/zfs/zio_checksum.h: Likewise.
19491
19492 * Makefile.util.def: Build ZFS into libgrubmods.
19493 * grub-core/Makefile.core.def: Build zfs.mod.
19494
3f0f3831
SJ
194952010-11-30 Szymon Janc <szymon@janc.net.pl>
19496
19497 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19498 variable.
19499 * grub-core/commands/wildcard.c (match_files): Likewise.
19500
3a4253b2
RM
195012010-11-30 Robert Millan <rmh@gnu.org>
19502
19503 * grub-core/loader/i386/bsd.c
19504 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19505 whether kernel is loaded using grub_loader_is_loaded(), rather
19506 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19507 certain error conditions.
19508
8c317b27
RM
195092010-11-30 Robert Millan <rmh@gnu.org>
19510
c5c9cd3e
RM
19511 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19512 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19513
49d3ab46
VS
195142010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19515
19516 Avoid using tricks for initialising endian variables.
19517
19518 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19519 Make const.
19520 (GRUB_MOD_INIT): Don't byte-swap.
19521 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19522 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19523 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19524 (grub_swap_bytes32_compile_time): Likewise.
19525 (grub_cpu_to_le32_compile_time): Likewise.
19526 (grub_cpu_to_le16_compile_time): Likewise.
19527
f420a804
VS
195282010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 * util/grub-setup.c (setup): Stop recommending --force. People who
19531 understand the dangers of blocklists are able to find this option
19532 anyway and the ones who don't shouldn't use it anyway.
19533
4e7db17b
RM
195342010-11-26 Robert Millan <rmh@gnu.org>
19535
19536 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19537 Update all users.
19538
9be57a0d
CW
195392010-11-26 Colin Watson <cjwatson@ubuntu.com>
19540
19541 Fix LVM-on-RAID probing.
19542
19543 * util/grub-probe.c (probe): Remember which disk was detected as
19544 RAID (perhaps an LVM physical volume). Use that disk's raidname
19545 rather than that of the top-level disk.
19546
2c7859b3 195472010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 19548
d7647bb6
BC
19549 Fix cmdline argument quotes for setparams command of menuentry
19550 definitions.
7e623b0d
BC
19551
19552 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19553 quotes for arguments.
f866fe80 19554 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 19555 grub_strchrsub function instead.
f866fe80 19556
7955bea0 19557 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 19558
74f72a64
CW
195592010-11-24 Colin Watson <cjwatson@ubuntu.com>
19560
19561 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19562 effort by skipping "." and ".." entries up-front.
19563 Suggested by: Michael Lazarev.
19564
5a407278
CW
195652010-11-24 Colin Watson <cjwatson@ubuntu.com>
19566
19567 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19568 ldflags to ldadd, to fix link line ordering.
19569 (none_decompress): Likewise.
19570
3030d8ec
CW
195712010-11-24 Colin Watson <cjwatson@ubuntu.com>
19572
19573 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19574 platforms.
19575 (grub-emu-lite): Remove kern/emu/cache.S.
19576
b7fbac12
CW
195772010-11-23 Colin Watson <cjwatson@ubuntu.com>
19578
19579 * util/deviceiter.c (compare_devices): If the by-id link for a
19580 device couldn't be resolved, fall back to sorting by the by-id link
19581 rather than segfaulting.
19582 Reported and tested by: Daniel Mierswa.
19583
5225f328
CW
195842010-11-23 Colin Watson <cjwatson@ubuntu.com>
19585
19586 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19587 ldflags, to fix link line ordering.
19588
038b3ce8
CW
195892010-11-23 Colin Watson <cjwatson@ubuntu.com>
19590
19591 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19592 linkers are picky about this.
19593
bf16e98e
CW
195942010-11-23 Colin Watson <cjwatson@ubuntu.com>
19595
19596 * grub-core/Makefile.am (command.lst): Adjust sed expression
19597 ordering so that extended and priority commands aren't treated as
19598 ordinary commands.
19599
7242bab6
CW
196002010-11-23 Colin Watson <cjwatson@ubuntu.com>
19601
19602 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19603 Remove byte-swapping function calls, which are not valid in
19604 structure initialisers.
19605 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19606 non-const.
19607 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19608 grub_gpt_partition_type_bios_boot.
19609
14e8b279
CW
196102010-11-22 Colin Watson <cjwatson@ubuntu.com>
19611
19612 Fix test program build on GNU/kFreeBSD.
19613
19614 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19615 $(LIBNVPAIR)' library dependencies.
19616
e6f63338 196172010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
19618
19619 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19620
cf8ffc38
CW
196212010-11-22 Colin Watson <cjwatson@ubuntu.com>
19622
19623 * util/grub-install.in: Remove excessive quoting that broke
19624 installations to RAID devices.
19625
7f8b0fd7
VS
196262010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19629 bootloader version instead of 0.
19630
dfd240b1
VS
196312010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19632
19633 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19634 warning.
19635
7b61e609
VS
196362010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19637
19638 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19639 retrieve the metadat sector if size isn't known.
19640 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19641
9dfe92d0
RM
196422010-11-18 Robert Millan <rmh@gnu.org>
19643
19644 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19645 with grub_memcmp().
19646
41cc919e
VS
196472010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19648
19649 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19650 arrow.
19651 Reported by: Jordan Uggla.
19652
1afcc914
VS
196532010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19654
19655 Make better UTF compliant.
19656
19657 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19658 sequences as incorrect.
19659 (grub_is_valid_utf8): Likewise.
19660 (grub_utf8_to_ucs4): Likewise.
19661 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19662 (grub_ucs4_to_utf8_alloc): Likewise.
19663 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19664
f1808884
VS
196652010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19666
19667 Make legacy_source behave like source.
19668
19669 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19670 grub_show_menu.
19671 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19672
24ec575b
CW
196732010-11-16 Colin Watson <cjwatson@debian.org>
19674
19675 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
19676 (-Wunused implies -Wunused-parameter, but not vice versa).
19677
72b7c7aa
CW
196782010-11-16 Colin Watson <cjwatson@ubuntu.com>
19679
19680 * configure.ac: Make error messages less confusing by testing for
19681 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
19682 accepted, but produces a diagnostic if something else is wrong).
19683
e98937aa
VS
196842010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19685
19686 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
19687 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
19688 (now unused).
19689 (grub_keyboard_controller_init)
19690 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
19691 read the initial state since controller isn't inited yet.
19692
f6bbabc3
VS
196932010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19694
19695 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
19696 allocate_regbeg may need to create new chunk header.
19697
22e7dbb2
VS
196982010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 Fix quoting in legacy parser.
19701
19702 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
19703 single quotes.
19704 (grub_legacy_parse): Likewise.
19705 Reported by: Jordan Uggla.
19706 Tested by: Jordan Uggla.
19707
03f80960
VS
197082010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19709
19710 Don't add -lgcc on i386 and x86_64.
19711
19712 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
19713 * conf/Makefile.common (LDADD_KERNEL): Likewise.
19714 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
19715
779dc15b
VS
197162010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19717
19718 * configure.ac: Add -Wno-trampolines when supported.
19719
d20a3b37
MV
197202010-11-14 Modestas Vainius <modax@debian.org>
19721
19722 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
19723 fakeraid.
19724
e5360933
GC
197252010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19726
19727 Add generic logical block size support for UDF.
19728
19729 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
19730 (GRUB_UDF_BLKSZ): Removed.
19731 (struct grub_udf_data): New field "lbshift" to hold the logical block
19732 size of the file system in log2 format. All users updated.
19733 (sblocklist): Change type to unsigned.
19734 (grub_udf_mount): Change type of "sblklist" to unsigned.
19735 Move AVDP search before VRS recognition, because the latter requires
19736 knowledge of the logical block size, which is detected during the
19737 former.
19738 Detect and validate logical block size during AVDP search, adding
19739 support for block sizes 512, 1024 and 4096.
19740 Make VRS recognition independent of block size.
19741
cb0229c5
GC
197422010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19743
19744 Properly handle deleted files on UDF.
19745
19746 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
19747 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
19748 set.
19749
406858a8
GC
197502010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19751
19752 Support reading files larger than 2 GiB.
19753
19754 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
19755 "offset" to grub_off_t.
19756 (grub_udf_read_file): Likewise for parameter "pos".
19757
130da6a7
VS
197582010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19759
19760 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
19761 unavailable.
19762 (Simple configuration): Refer to Changes from GRUB Legacy about
19763 save_env availability.
19764
65e93f6b
VS
197652010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19766
19767 * util/grub-install.in: Ignore empty partition table detection
19768 instead of trying to include part_ module.
19769
1fd08bf1
VS
197702010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19771
19772 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
19773 LVM on RAID support.
19774
de1a024f
VS
197752010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19776
19777 Properly define WORDS_BIGENDIAN in wrapped environments.
19778
19779 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
19780 definition.
19781 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
19782
19783 Reported by: Manoel Rebelo Abranches.
19784 Tested by: Manoel Rebelo Abranches.
19785
bc5dd0b9
VS
197862010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19787
19788 * util/grub-mkconfig.in: Fix quoting.
19789
58c184be
VS
197902010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19791
19792 Support big ext2 files.
19793
19794 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
19795 (grub_ext2_read_block): Support triple indirect blocks.
19796 (grub_ext2_read_file): Use 64-bit types and read size_high.
19797 (grub_ext2_open): Read size_high.
19798 Reported by: Ximin Luo.
19799 Tested by: Manoel Rebelo Abranches.
19800
5f0c02b3
VS
198012010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19802
19803 * util/grub-install.in: Handle filenames containing spaces.
19804 Reported by: Jordan Uggla.
19805 Tested by: Jordan Uggla.
19806
4417aae6
VS
198072010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19808
19809 * util/grub-mkconfig.in (grub_script_check): New variable.
19810 Use grub_script_check instead of grub-script-check.
19811 Reported by: Barry Jackson.
19812
7625a68e
VS
198132010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19814
19815 * docs/grub.texi (menu): Correct the order.
19816 Reported by: D. Hugh Redelmeier.
19817
10001ac5
VS
198182010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
19819
19820 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
19821 jump.
19822
9c4cf53b
MRA
198232010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19824
10001ac5
VS
19825 * include/grub/elfload.h (grub_elf32_size): New parameter.
19826 All users updated.
9c4cf53b
MRA
19827 Return maximum segments alignment.
19828 (grub_elf64_size): Likewise.
19829 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
19830 Return maximum segments alignment.
19831 (grub_elf64_size): Likewise.
19832 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
19833 (grub_linux_claimmap_iterate): New function. Uses the
19834 "available" property in the "memory" node for memory allocation
19835 for kernel in the PowerPC loader.
9c4cf53b
MRA
19836 (grub_linux_load32): Correctly find linux entry point offset.
19837 (grub_linux_load64): Likewise.
19838
d2bf06bf
RM
198392010-11-07 Robert Millan <rmh@gnu.org>
19840
19841 On mips-yeeloong, build with -march=loongson2f when this flag is
19842 available (GCC >= 4.4).
19843 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
19844 `-march=mips3'.
19845 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
19846 or otherwise add -march=mips3.
19847
898c99a2
BC
198482010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
19849
87220a68
BC
19850 Suppress shell expansion on echo '*' and echo "*" like cases.
19851 Reported by: Jordan Uggla.
898c99a2
BC
19852
19853 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
19854 string arguments before shell expansion.
19855 * tests/grub_cmd_echo.in: New testcases.
19856
4f9b406a
RM
198572010-11-07 Robert Millan <rmh@gnu.org>
19858
19859 * conf/mips-qemu-mips.rmk: Remove stale file from previous
19860 transition.
19861
80c6d25e
VS
198622010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
19863
19864 * grub-core/kern/emu/hostdisk.c
19865 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
19866
4a1a0153
VS
198672010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19868
19869 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
19870 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
19871 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
19872
34706ddc
VS
198732010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19874
19875 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
19876
6972dea9
VS
198772010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19878
19879 * util/grub-install.in: Replace useless recomendation to pass
19880 --modules with a recomendation to report a bug.
19881
9c693bd6
VS
198822010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19883
19884 Properly register serial terminfo.
19885 Reported by: Jordan Uggla
19886
19887 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
19888 const.
19889 (grub_serial_terminfo_output_template): Likewise.
19890 (grub_cmd_serial): Register "serial" with terminfo.
19891 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
19892 grub_serial_terminfo_output.
19893
6c9e4c0c
RM
198942010-11-05 Robert Millan <rmh@gnu.org>
19895
19896 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
19897 needed).
19898
b9b3839f
RM
198992010-11-05 Robert Millan <rmh@gnu.org>
19900
19901 On Yeeloong, pass machine type information to Linux.
19902
19903 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
19904 (LOONGSON_MACHTYPE): New macro, set to
19905 "machtype=lemote-yeeloong-2f-8.9inches".
19906 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
19907 additional argument to Linux.
19908
1a3aaff4
RM
199092010-11-04 Robert Millan <rmh@gnu.org>
19910
19911 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
19912 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
19913 (its SATA disks are detected as slaveless IDE master drives on
19914 kFreeBSD).
19915 Reported by Carsten Aulbert.
19916
a75f4f62
CW
199172010-11-02 Colin Watson <cjwatson@ubuntu.com>
19918
19919 * util/bin2h.c (main): Fix spelling error in generated output.
19920
33b4b0c6
GS
199212010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
19922
19923 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
19924
2b36fbf4
VS
199252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19926
19927 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
19928 vga= option is supplied.
19929
74aaf558
VS
199302010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19931
19932 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
19933 * util/grub.d/10_kfreebsd.in: Likewise.
19934 * util/grub.d/10_linux.in: Likewise.
19935 * util/grub.d/20_linux_xen.in: Likewise.
19936
6428dec3
VS
199372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19938
19939 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
19940 argument as an argument to no-argument option.
19941
f8729d98
VS
199422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19943
19944 * util/grub.d/10_linux.in: Add missing load_video with explicit
19945 GRUB_GFXPAYLOAD_LINUX.
19946
89d68fa6
VS
199472010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19948
19949 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
19950
3a1197cd
VS
199512010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
19954 elements with invlid index.
19955 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19956 * grub-core/disk/raid.c (insert_array): Automatically reallocate
19957 members.
19958 * include/grub/raid.h (grub_raid_member): New struct.
19959 (grub_raid_array): Transform devices and start_sector into usage of
19960 grub_raid_member. All users updated
19961 (allocated_devs): New member.
19962
71574288
VS
199632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19964
19965 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
19966 is modified
19967
8d40ec65
BC
199682010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
19969
19970 NetBSD build fix for getline function conflict from gnulib.
19971
19972 * Makefile.util.def (libgrubkern.a): New library for grub kernel
19973 components that depend on gnulib headers.
19974 (libgrubmods.a): Renamed from earlier libgrub.a.
19975 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
19976
95b9257e
VS
199772010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19978
19979 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
19980 install rather than creating a broken install.
19981
26c53dc6
VS
199822010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19983
19984 * util/grub-setup.c (argp): Remove misleading example of installing to
19985 a partition.
19986
4171b3c5
VS
199872010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19988
19989 * util/grub-setup.c (setup): Clarify the error message.
19990
18568d18
VS
199912010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19992
19993 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
19994
4f6a2e21
VS
199952010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
19996
19997 * grub-core/kern/emu/misc.c
19998 (grub_make_system_path_relative_to_its_root)
19999 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20000
200012010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20002
20003 * grub-core/kern/emu/misc.c
20004 (grub_make_system_path_relative_to_its_root): Revert r2882.
20005
e138c458
VS
200062010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20007
20008 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20009 useless field head. All users updated.
20010 (free_subchunk): Correct handling of IN_REGION subchunk.
20011
0cbcdf0e
CW
200122010-10-22 Colin Watson <cjwatson@ubuntu.com>
20013
20014 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20015 (Supported kernels): Likewise.
20016
b65ea155
GS
200172010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20018
20019 Make mktemp invocations portable.
20020
20021 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20022 exit if mktemp fails.
20023 * tests/grub_script_blockarg.in: Likewise.
20024 * tests/partmap_test.in: Likewise.
20025 * tests/util/grub-shell-tester.in: Likewise.
20026 * tests/util/grub-shell.in: Likewise.
20027 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20028 * Makefile.am: Likewise, and chain shell commands with `&&'
20029 instead of ';'.
20030 * util/grub-mkrescue.in: Use the same explicit template as above, and
20031 exit if mktemp fails.
20032
05f43cdd
BC
200332010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20034
20035 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20036 Linux kernel, reported by Dennis Schridde.
20037
800e6a9b
SJ
200382010-10-17 Szymon Janc <szymon@janc.net.pl>
20039
20040 * grub-core/normal/auth.c (grub_auth_check_authentication):
20041 Set-but-not-used variable removed.
20042
d82df574
VS
200432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20044
20045 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20046 32-bit linux protocol.
20047
7bced458
VS
200482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20049
20050 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20051 cursor shape for sanity.
20052
5b027690
VS
200532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20054
20055 * docs/grub.texi (Installation): Document buggy BIOS install.
20056
ba5f65cf
VS
200572010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 * docs/grub.texi (Installation): Indent.
20060
fdf2ec9c
VS
200612010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20062
20063 * util/grub-setup.c (setup): New parameter allow_floppy.
20064 (arguments): New member allow_floppy.
20065 (argp_parser): Handle --allow-floppy.
20066 (main): Pass allow_floppy.
20067 * util/grub-install.in: New option --allow-floppy passed though to
20068 grub-setup.
20069
861dfd4c
VS
200702010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20071
20072 * util/grub-install.in: Handle partitionless disks.
20073
f77a8c24
VS
200742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20075
20076 * util/grub-setup.c (setup): Don't clean blocklists before readability
20077 verfification.
20078
27d9ee32
VS
200792010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20080
20081 * docs/grub.texi (Installation): Document embedding zone. Remove
20082 obsolete grub-install example.
20083
6bdda8f8
SJ
200842010-10-16 Szymon Janc <szymon@janc.net.pl>
20085
20086 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20087 Set-but-not-used variable ifdef'ed.
20088 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20089 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20090 variable removed.
20091 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20092 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20093 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20094 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20095 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20096 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20097 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20098 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20099 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20100 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20101 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20102 Likewise.
20103
e19b016b
VS
201042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20105
20106 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20107 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20108 enum value.
20109
6c8d3002
VS
201102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20111
20112 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20113 synonym to _S5_. Needed for some DSDTs.
20114
c32b51c9
VS
201152010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20116
20117 Userspace ACPI parser debugging.
20118
20119 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20120 headers and add relevant defines. Don't include standard headers.
20121 (main) [GRUB_DSDT_TEST]: New function.
20122 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20123 Don't declare functions.
20124
fbfbeb39
VS
201252010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20126
20127 Remove dead grub_efi_mm_fini.
20128
20129 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20130 (ALLOCATED_PAGES_SIZE): Likewise.
20131 (MAX_ALLOCATED_PAGES): Likewise.
20132 (allocated_pages): Likewise.
20133 (grub_efi_allocate_pages): Don't record allocated pages.
20134 (grub_efi_free_pages): Likewise.
20135 (grub_efi_mm_init): Likewise.
20136 (grub_efi_mm_fini): Removed.
20137
65f7ed7c
VS
201382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20139
20140 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20141 (grub_efi_mm_init): Take into account the memory map size increase.
20142
24977b44
VS
201432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20144
20145 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20146 (serial_hw_put): Wait based on real time rather than port reads. Don't
20147 roken ports.
20148 * include/grub/serial.h (grub_serial_port): New field broken.
20149
1eb01cd2
RM
201502010-10-16 Robert Millan <rmh@gnu.org>
20151
20152 * grub-core/kern/emu/misc.c
20153 (grub_make_system_path_relative_to_its_root): Fix premature return
20154 when processing non-root ZFS filesystems.
5f8b440b 20155 Reported by Sergio Talens-Oliag.
1eb01cd2 20156
2d5fed60
RM
201572010-10-15 Robert Millan <rmh@gnu.org>
20158
20159 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20160 guarantee compressed ones are processed first.
20161
d0f4c1ea
VS
201622010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20163
20164 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20165 grub_efiemu_autocore.
20166
d87c681f
VS
201672010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20168
20169 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20170 rather than 0x1b.
20171 (grub_console_getkey): Use correct jae opcode rather than ja.
20172
219b3564
RM
201732010-10-12 Robert Millan <rmh@gnu.org>
20174
20175 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20176 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20177 variable. All references updated.
20178
20179 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20180
20c6bb7e
VS
201812010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20182
20183 Correctly distinguish mdraid flavours.
20184
20185 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20186 (insert_array): New argument raid.
20187 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20188 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20189 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20190
74baff84
VS
201912010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20194 handling of special keys.
20195
3ef068df 201962010-10-02 Aleš Nesrsta <starous@volny.cz>
20197
c7980ad9
VS
20198 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20199 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20200
a9455194 202012010-10-02 Aleš Nesrsta <starous@volny.cz>
20202
c7980ad9
VS
20203 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20204 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20205 users updated.
a9455194 20206 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20207 Use right endpoint when querying descriptor.
a9455194 20208
441cfe65
VS
202092010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20210
20211 Clear out 0x80 color bit on EFI.
20212 Tested by: decoder
20213 Reported by: decoder and meta tech.
20214
20215 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20216 (grub_console_setcolorstate): Clear out 0x80 bit.
20217 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20218 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20219 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20220
bf26bcc4
VS
202212010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20222
20223 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20224 Set to "auto".
20225
6e3c515d
VS
202262010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20227
20228 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20229 mo_file after freeing.
20230
e6d983ba
VS
202312010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20232
20233 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20234
74ccb5b5
VS
202352010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20236
20237 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20238 flags.
20239
17821956
VS
202402010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20241
20242 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20243 usage.
20244
ee74fa48
VS
202452010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20246
20247 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20248
20249 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20250 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20251 and terminfo.h when needed.
20252 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20253 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20254 (terminfo): Enable only on terminfokernel.
20255 (extcmd): Likewise.
20256 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20257 * include/grub/lib/arg.h: Likewise.
20258 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20259 incorrect usage of ->.
20260
aa438e68
VS
202612010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20262
20263 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20264 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20265
57994012
VS
202662010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20267
20268 Fix coreboot compilation.
20269
20270 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20271 Take VBE info into account even if only text is supported.
20272 (fill_vbe_info): Take into account the case when only VGA text
20273 is supported.
20274 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20275 on coreboot, multiboot and qemu.
20276
2a406611
VS
202772010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20278
20279 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20280 debug messages.
20281 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20282
d33613fc
VS
202832010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20284
20285 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20286 parameters.
20287
44a1b432
VS
202882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20289
20290 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20291 if they were BSD-style.
20292
edde54e6
VS
202932010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20294
20295 * grub-core/boot/i386/pc/lnxboot.S: Replace
20296 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20297 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20298
b65830fa
VS
202992010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20300
20301 Write embedding zone using Reed-Solomon.
20302
20303 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20304 * grub-core/Makefile.am (rs_decoder.S): New target.
20305 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20306 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20307 (multiboot): Move to RS part.
20308 (post_reed_solomon): New label.
20309 (grub_boot_drive): Move to non-RS part since it's modified in memory
20310 on boot.
20311 Include rs_decoder.S.
20312 * grub-core/lib/reed_solomon.c: New file.
20313 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20314 New definition.
20315 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20316 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20317 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20318 * include/grub/partition.h (grub_partition_map): Change prototype of
20319 embed to allow returning additional sectors.
20320 * include/grub/reed_solomon.h: New file.
20321 * util/grub-setup.c (setup): Handle Reed-Solomon.
20322
0b4b227f
CW
203232010-09-28 Colin Watson <cjwatson@ubuntu.com>
20324
20325 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20326 i386 and x86-64 definedness tests.
20327
f772623b
YB
203282010-09-27 Yves Blusseau <blusseau@zetam.org>
20329
20330 Fix generation of kernel_syms.lst
20331
20332 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20333 ASM_PREFIX
20334
8e57a6ca
RM
203352010-09-26 Robert Millan <rmh@gnu.org>
20336
20337 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20338
20339 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20340 the pool is an array of devices, iterate through it and return the
20341 first device that passes a stat() test (instead of blindly returning
20342 the first one).
20343
f9130836
RM
203442010-09-26 Robert Millan <rmh@gnu.org>
20345
20346 Build fixes for GNU/kFreeBSD.
20347
20348 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20349 to programs that require ZFS conversion.
20350 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20351 kernels that don't have FLOPPY_MAJOR.
20352
96510faf
BC
203532010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20354
20355 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20356
449333eb
BC
203572010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20358
20359 Fix grub-emu build.
20360
20361 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20362 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20363 mdraid09 and mdraid1x.
20364
e1fd1939
CW
203652010-09-24 Colin Watson <cjwatson@ubuntu.com>
20366
20367 Re-enable grub-extras.
20368
20369 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20370 avoid confusing Automake. Run autogen only twice, once for the top
20371 level and once for grub-core. Add Makefile.util.def and
20372 Makefile.core.def from extra modules to the appropriate autogen
20373 invocations. If Makefile.common exists in an extra module, include
20374 it in both Makefile.util.am and grub-core/Makefile.core.am;
20375 similarly, include any Makefile.util.common file in Makefile.util.am
20376 and any Makefile.core.common file in grub-core/Makefile.core.am.
20377 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20378 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20379 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20380 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20381
20382 * gentpl.py (gvar_add): Turn GVARS into a set.
20383 (global_variable_initializers): Sort global variables on output.
20384 (vars_init): New function.
20385 (first_time): Likewise.
20386 (library): Ensure that non-global variable initialisations are
20387 emitted before the first time we emit code for a library block.
20388 Append to variables rather than setting them. Only emit
20389 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20390 each conditional path.
20391 (program): installdir() emits an Autogen macro, so must be passed to
20392 var_add rather than gvar_add.
20393 (data): Likewise.
20394 (script): Likewise.
20395 (rules): New function, centralising handling for different target
20396 types. Set up Guile association lists for first_time and vars_init,
20397 and send most output to a diversion so that variable initialisations
20398 can be emitted first.
20399 (module_rules): Use new rules function.
20400 (kernel_rules): Likewise.
20401 (image_rules): Likewise.
20402 (library_rules): Likewise.
20403 (program_rules): Likewise.
20404 (script_rules): Likewise.
20405 (data_rules): Likewise.
20406
20407 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20408
20409 * .bzrignore: Add contrib and grub-core/contrib. Remove
20410 grub-core/Makefile.gcry.am.
20411
1d12cf29
YB
204122010-09-24 Yves Blusseau <blusseau@zetam.org>
20413
20414 * grub-core/lib/LzFind.c: Add missing include.
20415 * grub-core/lib/LzmaEnc.c: Likewise.
20416 * grub-core/script/lexer.c: Likewise.
20417 * grub-core/script/yylex.l: Likewise.
20418 * util/grub-macho2img.c: Likewise.
20419 * util/grub-menulst2cfg.c: Likewise.
20420 * util/grub-mklayout.c: Likewise.
20421 * util/grub-mkpasswd-pbkdf2.c
20422 * util/grub-mkrelpath.c: Likewise.
20423 * util/resolve.c: Likewise.
20424
dd363028
BC
204252010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20426
20427 * Makefile.util.def (example_unit_test): Add
20428 grub-core/gnulib/libgnu.a.
20429
f5a109e2
GS
204302010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20431
20432 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20433
6d0fa83c
VS
204342010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20435
20436 Support xz compression on yeeloong.
20437
20438 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20439 * configure.ac: Check for LZMA.
20440 * grub-core/Makefile.core.def (xz_decompress): New target.
20441 (none_decompress): Likewise.
20442 * grub-core/boot/decompressor/minilib.c: New file.
20443 * grub-core/boot/decompressor/none.c: Likewise.
20444 * grub-core/boot/decompressor/xz.c: Likewise.
20445 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20446 * grub-core/kern/mips/cache_flush.S: Likewise.
20447 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20448 * grub-core/kern/mips/startup.S: Move first stage to ...
20449 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20450 nomacro.
20451 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20452 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20453 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20454 Allocate statically.
20455 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20456 Allocate statically or use scratch. Don't check CRC32.
20457 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20458 Allocate statically. Don't check CRC32.
20459 * include/grub/decompressor.h: New file.
20460 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20461 Removed.
20462 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20463 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20464 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20465 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20466 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20467 * util/grub-mkimage.c (grub_compression_t): New type.
20468 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20469 (image_target_desc): New field default_compression.
20470 (image_targets): Adjust yeeloong targets.
20471 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20472 (compress_kernel): New parameter comp.
20473 (generate_image): Likewise. Handle new compression case.
20474 (options): New option --compression
20475 (help): Likewise.
20476 (main): Handle new option.
20477
1b655af6
GS
204782010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20479
20480 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20481
8f03f0b5
CW
204822010-09-22 Colin Watson <cjwatson@ubuntu.com>
20483
20484 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20485 typo in __i386__ conditional.
20486
7835dfd3
VS
204872010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20488
20489 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20490 include.
20491
e255597e
VS
204922010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20493
6d0fa83c 20494 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20495
20496 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20497 new tags as supported.
20498 (acpiv2_size): New function.
20499 (grub_multiboot_get_mbi_size): Take new tags into account.
20500 (grub_multiboot_make_mbi): Add new tags.
20501 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20502
6cc14051 205032010-09-21 Aleš Nesrsta <starous@volny.cz>
20504
20505 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20506 Added missing configuration of USB device.
20507
df7769d8
CW
205082010-09-21 Colin Watson <cjwatson@ubuntu.com>
20509
20510 * grub-core/normal/menu_entry.c (run): Make sure we always return
20511 a value.
20512
b031012d
CW
205132010-09-21 Colin Watson <cjwatson@ubuntu.com>
20514
20515 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20516 NumberOfPages is UINT64 according to the UEFI specification, not
20517 UINTN. Fix printf format.
20518
174de8f3
CW
205192010-09-21 Colin Watson <cjwatson@ubuntu.com>
20520
20521 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20522 `err' to grub_usb_err_t.
20523 Reported and tested by: KESHAV P.R.
20524
d7dbe923
CW
205252010-09-21 Colin Watson <cjwatson@ubuntu.com>
20526
20527 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20528 tpart non-const, so that we can assign to it. (Since this is a
20529 typedef, the constness refers to the pointer rather than what it
20530 points to.)
20531
8d5e2af3
CW
205322010-09-21 Colin Watson <cjwatson@ubuntu.com>
20533
20534 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20535 $(top_srcdir)/grub-core/gnulib as well as
20536 $(top_builddir)/grub-core/gnulib.
20537 Reported by: KESHAV P.R.
20538
5c527783
CW
205392010-09-21 Colin Watson <cjwatson@ubuntu.com>
20540
20541 * util/grub-install.in: Fix the bootloader ID option to be
20542 consistently --bootloader-id, not --bootloader_id.
20543 Reported by: KESHAV P.R.
20544
d309a16e
CW
205452010-09-21 Colin Watson <cjwatson@ubuntu.com>
20546
20547 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20548 check hash checksum." consistently translatable.
20549
b830cd16
YB
205502010-09-21 Yves Blusseau <blusseau@zetam.org>
20551
20552 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20553 $(top_builddir).
20554
c4fe27a8
CW
205552010-09-21 Colin Watson <cjwatson@ubuntu.com>
20556
20557 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20558 (GRUB_MOD_INIT): Register sha1sum command.
20559 (GRUB_MOD_FINI): Unregister sha1sum command.
20560
a4c1d277
YB
205612010-09-21 Yves Blusseau <blusseau@zetam.org>
20562
20563 Keep boot and grub directory names in sync with utils scripts
20564
20565 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20566 * config.h.in: Add previous macros.
20567 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20568 * util/grub-install.in: Use $bootdir and $grubdir variables.
20569
4eff79d2
CW
205702010-09-21 Colin Watson <cjwatson@ubuntu.com>
20571
20572 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20573 convert partition names to disk names if the new `convert' parameter
20574 is set.
20575 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20576 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20577 disk in its own right. This can happen with Xen disk images.
20578
934d7e44
YB
205792010-09-21 Yves Blusseau <blusseau@zetam.org>
20580
20581 * util/grub-editenv.c: Update strings to avoid warnings when generating
20582 grub.pot file.
20583 * util/grub-setup.c: Likewise.
934d7e44 20584
df3367cc
VS
205852010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20586
20587 * configure.ac: Change version to 1.99~beta0.
20588
77a94e98
VS
205892010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20590
20591 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20592 Add BADRAM.
20593 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20594 Likewise.
20595 * include/multiboot.h: Resynced with specification.
20596 * include/multiboot2.h: Likewise.
20597
269004c1
CW
205982010-09-21 Colin Watson <cjwatson@ubuntu.com>
20599
20600 Fix po directory handling.
20601
20602 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20603 * grub-core/gnulib/Makefile.am: Import gettext module.
20604 * m4/gnulib-cache.m4: Likewise.
20605 * m4/gnulib-comp.m4: Likewise.
20606 * m4/gettext.m4: New file, from gnulib.
20607 * m4/glibc2.m4: Likewise.
20608 * m4/iconv.m4: Likewise.
20609 * m4/intdiv0.m4: Likewise.
20610 * m4/intl.m4: Likewise.
20611 * m4/intldir.m4: Likewise.
20612 * m4/intlmacosx.m4: Likewise.
20613 * m4/intmax.m4: Likewise.
20614 * m4/inttypes-pri.m4: Likewise.
20615 * m4/lcmessage.m4: Likewise.
20616 * m4/lib-ld.m4: Likewise.
20617 * m4/lib-link.m4: Likewise.
20618 * m4/lib-prefix.m4: Likewise.
20619 * m4/lock.m4: Likewise.
20620 * m4/nls.m4: Likewise.
20621 * m4/po.m4: Likewise.
20622 * m4/printf-posix.m4: Likewise.
20623 * m4/progtest.m4: Likewise.
20624 * m4/threadlib.m4: Likewise.
20625 * m4/uintmax_t.m4: Likewise.
20626 * m4/visibility.m4: Likewise.
20627 * po/Makefile.am: Remove.
20628 * po/Makefile.in.in: New file, from gettext.
20629 ($(DOMAIN).pot-update): Support POTFILES-shell.
20630 * po/Makevars: New file.
20631 * po/POTFILES-shell: Rename to ...
20632 * po/POTFILES-shell.in: ... this. Update.
20633 * po/POTFILES: Rename to ...
20634 * po/POTFILES.in: ... this. Update.
20635 * po/Rules-quot: New file, from gettext.
20636 * po/boldquot.sed: Likewise.
20637 * po/en@boldquot.header: Likewise.
20638 * po/en@quot.header: Likewise.
20639 * po/insert-header.sin: Likewise.
20640 * po/quot.sed: Likewise.
20641 * po/remove-potcdate.sin: Likewise.
20642
3e0fa5d0
VS
206432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20644
20645 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20646
ade9bd66
VS
206472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20648
20649 * util/grub.d/20_linux_xen.in: Use submenus.
20650
fc55cc4c
VS
206512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20652
20653 Support submenus.
20654
20655 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20656 parameter submenu. All users updated.
20657 * grub-core/normal/main.c (free_menu): Rename to ...
20658 (grub_normal_free_menu): ... this. Made global.
20659 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20660 if requested.
20661 * grub-core/normal/menu_entry.c (screen): New field submenu.
20662 (make_screen): Set submenu.
20663 (run): Open new context if requested.
20664 * include/grub/menu.h (grub_menu_entry): New field submenu.
20665 * include/grub/normal.h (grub_normal_free_menu): New proto.
20666
600cedf7
VS
206672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20668
20669 Menu entries extractor.
20670
20671 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20672 variants.
20673 (GRUB_MOD_INIT): Register new variants.
20674 (GRUB_MOD_FINI): Unregister new variants.
20675 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
20676 into grub_cmd_legacy_source.
20677 (grub_cmd_legacy_source): Implement extractor variants.
20678 (GRUB_MOD_INIT): Register new variants.
20679 (GRUB_MOD_FINI): Unregister new variants.
20680 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
20681 as an extractor.
20682 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
20683 search as an extractor.
20684 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
20685 test as an extractor.
20686 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
20687 as an extractor.
20688 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
20689 (grub_env_new_context): New function.
20690 (grub_env_context_open): Likewise.
20691 (grub_env_extractor_open): Likewise.
20692 (grub_env_extractor_close): Likewise.
20693 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20694 grub_extractor_level.
20695 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
20696 * include/grub/env.h (grub_env_extractor_open): New proto.
20697 (grub_env_extractor_close): Likewise.
20698 * include/grub/normal.h (grub_extractor_level): New external variable.
20699
7bda3a87
VS
207002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20701
20702 Make cutmem accept a region specification.
20703 Suggested by: Samuel Thibault
20704
20705 * grub-core/mmap/mmap.c (parsemem): New function.
20706 (grub_cmd_cutmem): Handle new arguments.
20707
2ea57f88
VS
207082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20709
20710 New command cutmem.
20711
20712 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
20713 (GRUB_MOD_INIT): Register new command.
20714 (GRUB_MOD_FINI): Unregister new command.
20715
74342e31
VS
207162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20717
20718 Support some annoying BSD and Minix subpartitions.
20719
20720 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
20721 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
20722 Properly handle concatenation.
20723 * grub-core/kern/device.c (grub_device_iterate): Likewise.
20724 * grub-core/normal/completion.c (iterate_partition): Likewise.
20725 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
20726 contain partition. All users updated.
20727 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
20728 struct.
20729 (grub_openbsdlabel_partition_map): Likewise.
20730 (bsdlabel_partition_map_iterate): Rename to ..
20731 (iterate_real): ... this. New arguments sector, freebsd and pmap.
20732 (bsdlabel_partition_map_iterate): New function.
20733 (netopenbsdlabel_partition_map_iterate): Likewise.
20734 (netbsdlabel_partition_map_iterate): Likewise.
20735 (openbsdlabel_partition_map_iterate): Likewise.
20736 (GRUB_MOD_INIT): Register new partmaps.
20737 (GRUB_MOD_FINI): Unregister new partmaps.
20738 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
20739 (grub_partition_msdos_iterate): ... this. All users updated.
20740 Don't support embedding other than in a minix partition.
20741 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
20742 proto.
20743 * include/grub/partition.h (grub_partition): New field msdostype.
20744 * util/grub-install.in: Handle openbsd and netbsd types being in
20745 part_bsd module.
20746
1e8d555b
VS
207472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20748
20749 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
20750
20751 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
20752 * grub-core/Makefile.core.def (mdraid): Renamed to ...
20753 (mdraid09): ... this.
20754 (mdraid1x): New module.
20755 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
20756 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
20757
899d8af4
VS
207582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20759
20760 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
20761 vsprintf.
20762
40901acd
CW
207632010-09-20 Colin Watson <cjwatson@ubuntu.com>
20764
20765 * grub-core/commands/efi/lsefimmap.c: Correct header.
20766 * NEWS: Update.
20767
dfe3b247
CW
207682010-09-20 Colin Watson <cjwatson@ubuntu.com>
20769
20770 * util/grub-editenv.c (argp_parser): Don't pass translated strings
20771 as printf format strings; the translations might contain '%' which
20772 could cause a crash.
20773 (main): Likewise.
20774 * util/grub-fstest.c (argp_parser): Likewise.
20775 * util/grub-setup.c (argp_parser): Likewise.
20776 (main): Likewise.
20777
3286a4b4
VS
207782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20779
20780 Use argp in grub-fstest.
20781
20782 * util/grub-fstest.c: Don't include getopt.h.
20783 Include argp.h.
20784 (root): New variable.
20785 (args_count): Likewise.
20786 (nparm): Likewise.
20787 (num_disks): Likewise.
20788 (images): Likewise.
20789 (cmd): Likewise.
20790 (debug_str): Likewise.
20791 (args): Likewise.
20792 (options): Transformed to argp.
20793 (usage): Removed.
20794 (main): Split argument parsing into ...
20795 (argp_parser): ... this. Changed to argp format.
20796 (argp): New variable.
20797 (main): Use argp_parse.
20798
3dccbe4b
TG
207992010-09-20 Tristan Gingold <gingold@free.fr>
208002010-09-20 Robert Millan <rmh.grub@aybabtu.com>
208012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20802
20803 * grub-core/commands/efi/lsefimmap.c: New file.
20804 * grub-core/Makefile.core.def (lsefimmap): New module.
20805 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
20806
38c259a7
VS
208072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20808
20809 Pause the execution (10s max) if any errors are displayed so the user
20810 has a chance to see them.
20811
20812 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
20813 (grub_print_error): Increment grub_err_printed_errors.
20814 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
20815 execution if any errors were displayed.
20816 (show_menu): Remove old code for pause.
20817 * grub-core/normal/menu_entry.c (run): Likewise.
20818 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
20819 users updated.
20820 (grub_normal_get_char_counter): Likewise.
20821 * include/grub/err.h (grub_err_printed_errors): New external variable.
20822 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
20823
f218b09c
VS
208242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20825
20826 Support multiboot VBE info.
20827
20828 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20829 Take VBE info into account.
20830 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
20831 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20832 Call fill_vbe_info when appropriate.
20833 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
20834 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
20835 as supported.
20836 (grub_multiboot_get_mbi_size): Take new tags into account.
20837 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
20838 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20839 Call fill_vbe_tag when appropriate.
20840 (grub_multiboot_make_mbi): Properly align tags.
20841 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
20842 function.
20843 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
20844 proto.
20845 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
20846
a9cc5438
VS
208472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20848
20849 Suport manual terminal geometry specification.
20850
20851 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
20852 Save state in grub_ofconsole_terminfo_output.
20853 (grub_ofconsole_term): Use grub_terminfo_getwh.
20854 (grub_ofconsole_getwh): Removed.
20855 * grub-core/term/serial.c (grub_serial_getwh): Removed.
20856 (grub_serial_term): Use grub_terminfo_getwh.
20857 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
20858 (options): New struct.
20859 (OPTION_*): New enum.
20860 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
20861 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
20862 width and height.
20863 (grub_terminfo_getwh): New proto.
20864 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
20865
1a8fed20
VS
208662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20867
20868 Handle legacy "terminal" command.
20869
20870 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
20871 and FLAG_TERMINAL.
20872 (legacy_commands): Add terminal and title.
20873 (grub_legacy_parse): Handle terminal. Simplify title handling.
20874
41e9c57d
VS
208752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20876
20877 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
20878 parameters overflow.
20879
61c874c5
CW
208802010-09-20 Colin Watson <cjwatson@ubuntu.com>
20881
20882 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
20883 widthspec.h.
20884
20885 * docs/grub.texi (Shell-like scripting): Document `!'.
20886 (Network): Simplify using new i386-pc-pxe format. Mention
20887 grub-mknetdir.
20888
20889 * NEWS: Update.
20890
943682b4
CW
208912010-09-20 Colin Watson <cjwatson@ubuntu.com>
20892
20893 * Makefile.am (SUBDIRS): Restore "."; it's important to force
20894 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
20895 when needed.
20896
6d3d698d
CW
208972010-09-20 Colin Watson <cjwatson@ubuntu.com>
20898
20899 * grub-core/commands/efi/lsefisystab.c: Correct header.
20900 * grub-core/commands/efi/lssal.c: Likewise.
20901 * grub-core/commands/testload.c: Likewise.
20902
c982589f
CW
209032010-09-20 Colin Watson <cjwatson@ubuntu.com>
20904
20905 * util/grub-mkrescue.in: Add explicit root argument to --set to
20906 prevent the UUID being interpreted as an argument to --set (matches
20907 previous change to prepare_grub_to_access_device).
20908
a63c31b6
CW
209092010-09-20 Colin Watson <cjwatson@ubuntu.com>
20910
20911 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
20912 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
20913 the verbosity of later #ifs.
20914 (find_partition_start): Define this function on FreeBSD too.
20915 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
20916 function.
20917 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
20918 on FreeBSD.
20919
6439b8ee
YB
209202010-09-20 Yves Blusseau <blusseau@zetam.org>
20921
20922 * util/grub-editenv.c: Use argp instead of getopt.
20923
c5930ec8
YB
209242010-09-20 Yves Blusseau <blusseau@zetam.org>
20925
20926 * util/grub-setup.c: Use argp instead of getopt.
20927
15c69261
YB
209282010-09-20 Yves Blusseau <blusseau@zetam.org>
20929
20930 Use gnulib-tool to create gnulib source files.
20931
20932 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
20933 grub-core/gnulib directories
20934 * .bzignore: Add **/.deps and autogenerated gnulib files
20935 * configure.ac: Assign auxiliary directory to build-aux, add invocation
20936 of gnulib macros, add grub-core/gnulib/Makefile
20937 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
20938 include m4 directory to aclocal.
20939 * Makefile.util.def: Remove direct compilation of gnulib source files
20940 and use the new grub-core/gnulib/libgnu.a.
20941 * build-aux/config.rpath: move config.rpath from top directory to
20942 build-aux
20943 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
20944 in gnulib headers
20945 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
20946 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
20947 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
20948 header.
20949 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
20950 string.
20951
e511c9f5
YB
209522010-09-20 Yves Blusseau <blusseau@zetam.org>
20953
20954 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
20955 grub-core/genmod.sh and grub-core/gensyminfo.sh
20956
c2dede05
BC
209572010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
20958
20959 Add a test for echo command options.
20960
20961 * tests/grub_cmd_echo.in: New test.
20962 * Makefile.util.def: Rules for new test.
20963
c55f5018
SJ
209642010-09-20 Szymon Janc <szymon@janc.net.pl>
20965
20966 Remove crc.mod and move crc command to hashsum.mod.
20967 Remove lib/crc.c - users updated to use gcrypt implementation.
20968
20969 * grub-core/commands/crc.c: Removed.
20970 * grub-core/Makefile.core.def (crc): Module removed.
20971 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
20972 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
20973 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
20974 * grub-core/lib/crc.c: Removed.
20975 * include/grub/lib/crc.h: Removed.
20976 * Makefile.util.def (crc): Remove lib/crc.c
20977 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
20978 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
20979 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
20980 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
20981 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
20982 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
20983
e0337366
VS
209842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20985
20986 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
20987
742f9232
VS
209882010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
20989
20990 Split config.h for util and core.
20991
20992 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
20993 (ADDR32): Likewise.
20994 (DATA32): Likewise.
20995 (BSS_START_SYMBOL): Likewise.
20996 (END_SYMBOL): Likewise.
20997 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
20998 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
20999 * config.h.in: New file.
21000 * configure.ac: Use config-util.h as config define file.
21001 Rename MACHINE into GRUB_MACHINE. All users updated.
21002 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21003 updated.
21004 (NESTED_FUNC_ATTR): Likewise.
21005 Substitue new variables.
21006 (COND_HAVE_ASM_USCORE): New conditional.
21007 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21008 (kernel_syms.lst): Use ASM_PREFIX.
21009 * grub-core/kern/emu/console.c: Include config-util.h.
21010 * grub-core/kern/emu/misc.c: Likewise.
21011 * grub-core/kern/emu/mm.c: Likewise.
21012 * include/grub/emu/misc.h: Likewise.
21013 * include/grub/libgcc.h: Likewise.
21014
39feb0e8
VS
210152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21016
21017 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21018 constants usage.
21019 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21020 Fix GRUB_TERM_KEY_* constants usage.
21021 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21022
9af6dac3
VS
210232010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21024
21025 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21026 print pointer.
21027 * grub-core/bus/usb/uhci.c: Remove empty define.
21028 (grub_uhci_check_transfer): Add missing cast.
21029 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21030 print pointer.
21031 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21032 PRIuGRUB_SIZE.
21033 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21034
d6d94820
VS
210352010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21036
21037 * grub-core/Makefile.core.def (legacycfg): Add
21038 lib/i386/pc/vesa_modes_table.c on emu.
21039
3572f2b6
BC
210402010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21041
21042 Reduce number of temporary files generated by build system.
21043
21044 * grub-core/gencmdlist.sh: Removed.
21045 * grub-core/genfslist.sh: Removed.
21046 * grub-core/genhandlerlist.sh: Removed.
21047 * grub-core/genmodsrc.sh: Removed.
21048 * grub-core/genpartmaplist.sh: Removed.
21049 * grub-core/genparttoollist.sh: Removed.
21050 * grub-core/gentermiinallist.sh: Removed.
21051 * grub-core/genvideolist.sh: Removed.
21052
21053 * grub-core/genmod.sh.in: New file.
21054 * grub-core/gensyminfo.sh.in: New file.
21055
21056 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21057 * conf/Makefile.extra-dist: Update with new files.
21058 * gentpl.py: Remove rules related to unnecessary temporary files.
21059 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21060 and und-* files.
21061 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21062 genmod.sh scripts.
21063 * grub-core/bus/usb/uhci.c: Remove empty #define.
21064 * grub-core/genmoddep.awk: Updated with new syminfo format.
21065 * util/bash-completion.d/Makefile.am: Add config.log to
21066 CLEANFILES.
21067
c836b030
YB
210682010-09-19 Yves Blusseau <blusseau@zetam.org>
21069
21070 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21071
2f4e8053
BC
210722010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21073
21074 * util/grub-mkconfig.in: Check the config script for syntax errors
21075 before saving.
21076
75831c34
CW
210772010-09-19 Colin Watson <cjwatson@ubuntu.com>
210782010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21079
21080 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21081 platforms.
21082 * util/grub-install.in: Add EFI and IEEE1275 support.
21083 * util/i386/efi/grub-install.in: Removed.
21084 * util/ieee1275/grub-install.in: Likewise.
21085
eaf41b25
VS
210862010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21087
21088 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21089 (grub_cmd_cmosclean): Likewise.
21090 (GRUB_MOD_INIT): Register command cmosclean.
21091 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21092 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21093
1a9130dd
CPE
210942010-09-18 Carles Pina i Estany <carles@pina.cat>
210952010-09-18 Aleš Nesrsta <starous@volny.cz>
210962010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21097
21098 Add keyboard layouts support.
21099
21100 * Makefile.util.def (grub-mklayout): New file.
21101 (grub-kbdcomp): New script.
21102 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21103 Add keyboard_layouts.h.
21104 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21105 commands/boot.c on yeeloong.
21106 (keylayouts): New module.
21107 * grub-core/bus/usb/ohci.c
21108 * grub-core/bus/usb/uhci.c
21109 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21110 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21111 (attach_root_port): Likewise.
21112 (poll_nonroot_hub): Likewise.
21113 (grub_usb_poll_devices): Likewise.
21114 (detach_device): Close transfer.
21115 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21116 function.
21117 (grub_usb_bulk_setup_readwrite): Likewise.
21118 (grub_usb_bulk_finish_readwrite): Likewise.
21119 * grub-core/commands/keylayouts.c: New file.
21120 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21121 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21122 aliases.
21123 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21124 support scancode 2.
21125 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21126 * include/grub/keyboard_layouts.h: New file.
21127 * util/grub-mklayout.c: New file.
21128 * util/grub-kbdcomp.in: Likewise.
21129
a1d84a5e
VS
211302010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21131
21132 Unify memory types.
21133
21134 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21135 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21136 types.
21137 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21138 (grub_upper_mem): Likewise.
21139 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21140 * include/grub/memory.h (grub_memory_type_t): New enum.
21141 All users updated.
21142
9696382e
VS
211432010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21144
21145 * grub-core/Makefile.core.def (lsapm): New module.
21146 * grub-core/commands/i386/pc/lsapm.c: New file.
21147 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21148 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21149 Likewise.
21150 * include/grub/i386/pc/apm.h: New file.
21151 * include/multiboot.h (multiboot_apm_info): New struct.
21152
211532010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21154
21155 GRUB-legacy configuration file support.
21156
21157 * Makefile.util.def (grub-menulst2cfg): New util.
21158 * docs/man/grub-menulst2cfg.h2m: New file.
21159 * grub-core/Makefile.core.def (legacycfg): New module.
21160 * grub-core/commands/legacycfg.c: New file.
21161 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21162 (grub_normal_add_menu_entry): ... this.
21163 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21164 (grub_normal_set_password): ...this.
21165 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21166 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21167 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21168 * grub-core/lib/legacy_parse.c: New file.
21169 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21170 * include/grub/i386/pc/vesa_modes_table.h: New file.
21171 * include/grub/legacy_parse.h: Likewise.
21172 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21173 * util/grub-menulst2cfg.c: New file.
21174
bf8d1338
CW
211752010-09-17 Colin Watson <cjwatson@ubuntu.com>
21176
21177 * grub-core/kern/emu/hostdisk.c
21178 (convert_system_partition_to_system_disk): Initialise node.
21179
9c0bad2e
CW
211802010-09-17 Colin Watson <cjwatson@ubuntu.com>
21181
21182 * grub-core/kern/emu/hostdisk.c
21183 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21184 leak.
21185 Reported and based on patch by: Modestas Vainius.
21186
a939d135
CW
211872010-09-17 Colin Watson <cjwatson@ubuntu.com>
21188
21189 Fix DM-RAID probing with recent versions of device-mapper udev
21190 rules.
21191
21192 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21193 canonicalise device paths under /dev/mapper/.
21194 (convert_system_partition_to_system_disk): Compare the
21195 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21196 path, since device nodes under /dev/mapper/ are often symlinks.
21197
0f7ee3c9
YB
211982010-09-17 Yves Blusseau <blusseau@zetam.org>
21199
21200 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21201
10854d0d
YB
212022010-09-16 Yves Blusseau <blusseau@zetam.org>
21203
21204 * configure.ac: Avoid some annoying error messages if freetype-config
21205 program is not found.
21206
108538d8
CW
212072010-09-16 Colin Watson <cjwatson@ubuntu.com>
21208
21209 Support RAID on virtio devices, and others.
21210
21211 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21212 Rename to ...
21213 [__MINGW32__] (grub_find_device): ... this.
21214 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21215 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21216 reasonable default if dir is NULL.
21217 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21218 ...
21219 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21220 (grub_guess_root_device): Update callers.
21221 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21222
21223 * util/raid.c (grub_util_getdiskname): Remove.
21224 (grub_util_raid_getmembers): Use grub_find_device rather than
21225 grub_util_getdiskname.
21226
e5bfc130
CW
212272010-09-16 Colin Watson <cjwatson@ubuntu.com>
21228
21229 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21230 needing to be compiled with serial support.
21231 (ls): Indicate that multiple files are accepted.
21232 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21233 indicate that multiple files are accepted.
21234
be458ae2
CW
212352010-09-16 Colin Watson <cjwatson@ubuntu.com>
21236
21237 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21238 libgrub_a_init.c, and util/bash-completion.d/grub.
21239
cb731b5e
VS
212402010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21241
21242 * util/grub-setup.c (setup): Fix incorrect container semantics.
21243
35139e8a
VS
212442010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21245
21246 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21247 misusage.
21248 Reported by: J. Nick Terry
21249
e50fca4a
VS
212502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21251
21252 Move embedding routines to partmap sources files.
21253
21254 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21255 [GRUB_UTIL]: New variable.
21256 (gpt_partition_map_iterate): Set part.parent.
21257 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21258 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21259 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21260 New function.
21261 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21262 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21263 (grub_partition_map) [GRUB_UTIL]: New field embed.
21264 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21265 (setup): Use ->embed.
21266
f00478b7
VS
212672010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21268
21269 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21270 function.
21271 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21272 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21273
2b94e3ff
YB
212742010-09-15 Yves Blusseau <blusseau@zetam.org>
21275
21276 Add function to get completions from usage.
21277
21278 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21279 completions from usage. Use LC_ALL=C to get options properly.
21280
2e04a006
VS
212812010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21282
21283 * grub-core/gnulib/basename-lgpl.c: Imported.
21284 * grub-core/gnulib/basename.c: Likewise.
21285 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21286 * grub-core/gnulib/dirname.c: Likewise.
21287 * grub-core/gnulib/dirname.h: Likewise.
21288 * grub-core/gnulib/stripslash.c: Likewise.
21289
5dcdf93a
VS
212902010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21291
21292 * grub-core/gnulib/error.c: Resynced.
21293 * grub-core/gnulib/getopt.c: Likewise.
21294 * grub-core/gnulib/getopt_int.h: Likewise.
21295 * grub-core/gnulib/regex.h: Likewise.
21296 * grub-core/gnulib/regex_internal.c: Likewise.
21297 * grub-core/gnulib/regex_internal.h: Likewise.
21298
014f47b7
SJ
212992010-09-15 Szymon Janc <szymon@janc.net.pl>
21300
21301 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21302 CRC calculations and validity checks.
21303 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21304 calculations.
21305
dd521a4a
SJ
213062010-09-15 Szymon Janc <szymon@janc.net.pl>
21307
21308 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21309
79c4eeb9
VS
213102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21311
21312 Fix incorrect echo options handling.
21313 Reported by: Yves Blusseau.
21314
21315 * include/grub/command.h (grub_command_flags_t): New flags
21316 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21317 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21318 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21319
ed80f7d5
VS
213202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21321
21322 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21323 users updated.
21324 (GRUB_COMMAND_FLAG_MENU): Likewise.
21325 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21326 (GRUB_COMMAND_FLAG_TITLE): Removed.
21327 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21328 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21329 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21330 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21331 (grub_command_flags_t): New enum. All users updated.
21332
5fe7620a
SG
213332010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21334
21335 Fix solaris compilation.
21336
21337 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21338 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21339 (grub-emu-list): Likewise.
21340
545b752f
VS
213412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21342
21343 Remove deprecated root command.
21344
21345 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21346 updated.
21347
6c1a338c
VS
213482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21349
21350 * util/i386/pc/grub-setup.c: Merge this ...
21351 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21352 * util/grub-setup.c: ... into this.
21353 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21354 New struct.
21355
213562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21357
21358 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21359 possible.
21360
d2ea4551
VS
213612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21362
21363 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21364 allocate p.
21365
3c3b5040
VS
213662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21367
21368 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21369 explicit root argument to set to prevent UUID to be interpreted as
21370 argument to set.
21371
b71c3fae
VS
213722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21373
21374 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21375
275433e6
VS
213762010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21377
21378 Don't export grub_gate_a20.
21379
21380 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21381 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21382 to ...
21383 (grub_gate_a20): ... this. All users updated.
21384 * include/grub/i386/pc/init.h: Removed. All users updated.
21385
a5dbb1f1
VS
213862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21387
21388 Create euro.pf2 which supports most European languages.
21389
21390 * Makefile.am (grubdata_DATA): Add euro.pf2.
21391 (euro.pf2): New target.
21392 (CLEANFILES): Add euro.pf2.
21393
62a747cb
VS
213942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21395
21396 * configure.ac: Disable emu-usb by default to prevent inadvertent
21397 device takeover.
21398
608e43b1
VS
213992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21400
21401 Disable usbserial on grub-emu since our libusb code isn't good enough
21402 yet.
21403
21404 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21405 (usbserial_pl2303): Likewise.
21406 (usbserial_ftdi): Likewise.
21407
94564f81
VS
214082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21409
21410 * include/grub/disk.h (grub_disk): Remove has_partitions.
21411 All users updated.
21412 * disk/loopback.c (grub_loopback): Remove has_partitions.
21413 All users updated.
21414 (options): Remove partitions. All users updated.
21415 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21416 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21417 actual partition table is found.
21418
3352800b
VS
214192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21420
21421 Remove readability checks (too many false negatives).
21422
21423 * util/grub-install.in: Remove readability checks.
21424 * util/grub-mkconfig.in: Likewise.
21425 * util/grub.d/10_hurd.in: Likewise.
21426 * util/grub.d/10_kfreebsd.in: Likewise.
21427 * util/grub.d/10_linux.in: Likewise.
21428 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21429 way.
21430
2419f17a
VS
214312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21432
21433 Enable acpi shutdown on all ACPI platforms.
21434
21435 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21436 on coreboo, multiboot and EFI.
21437 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21438 (grub_acpi_halt): Likewise.
21439 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21440 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21441 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21442 * grub-core/lib/i386/halt.c (grub_halt)
21443 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21444
0575c7c3
VS
214452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21446
21447 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21448 context.
21449
54ac3cd1
VS
214502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21451
21452 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21453 * grub-core/video/efi_uga.c: Likewise.
21454
b2a30ac5
VS
214552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21456
21457 Filter devaliases and never open same device twice.
21458
21459 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21460 (last_ihandle): Likewise.
21461 (ofdisk_hash_ent): New member shortest.
21462 (ofdisk_hash_add): Add canonical path too.
21463 (scan): New function.
21464 (grub_ofdisk_iterate): Iterate over hashed entries.
21465 (compute_dev_path): Don't add :0.
21466 (grub_ofdisk_open): Don't really open the disk.
21467 (grub_ofdisk_close): Avoid closing unrelated disk.
21468 (grub_ofdisk_read): Implement reopen logic.
21469 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21470 New function.
21471 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21472 New proto.
21473
fb53b340
VS
214742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21475
21476 Fix sparc64.
21477
21478 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21479 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21480 right address. Add sparc64_ieee1275_ldflags.
21481 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21482 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21483 to grub_host_to_target_addr
21484 (load_image): Likewise.
21485
f452b040
VS
214862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21487
21488 * grub-core/normal/completion.c (complete_file): Handle device
21489 containing slash.
21490 Fix based on patch by Doug Nazar.
21491
9b5b2541
VS
214922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21493
21494 grub-mknetdir script.
21495
21496 * Makefile.util.def (grub-mknetdir): New module.
21497 * tests/util/grub-shell.in: Support boot=net
21498 * util/grub-mknetdir.in: New file.
21499
9d2be652
VS
215002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 videoinfo on non-vbe.
21503
21504 * grub-core/Makefile.core.def (vbeinfo): Removed.
21505 (vbetest): Removed.
21506 (videoinfo): New module.
21507 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21508 * grub-core/commands/i386/pc/vbetest.c: Removed.
21509 * grub-core/commands/videoinfo.c: New file.
21510 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21511 specification.
21512 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21513 as vbetest.
21514 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21515 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21516 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21517 mode_number. New parameter mode. All users updated.
21518 (grub_video_gop_iterate): New function.
21519 (grub_video_efi_gop): New member iterate.
21520 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21521 (grub_vbe_set_video_mode): Remove setting useless fields.
21522 (vbe2videoinfo): New function.
21523 (grub_video_vbe_iterate): Likewise.
21524 (grub_video_vbe_setup): Use vbe2videoinfo.
21525 (grub_video_vbe_print_adapter_specific_info): New function.
21526 (grub_video_vbe_adapter): New fields iterate and
21527 print_adapter_specific_info.
21528 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21529 All users updated.
21530 (grub_video_mode_info): New field mode_number.
21531 (grub_video_adapter): New fields iterate and
21532 print_adapter_specific_info.
21533
179503f5
TG
215342010-09-13 Tristan Gingold <gingold@free.fr>
215352010-09-13 Robert Millan <rmh.grub@aybabtu.com>
215362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21537
21538 * grub-core/commands/efi/lsefisystab.c: New file.
21539 * grub-core/commands/efi/lssal.c: Likewise.
21540 * grub-core/Makefile.core.def (lsacpi): New module.
21541 (lsefisystab): Likewise.
21542 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21543 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21544 (grub_efi_sal_system_table): New struct.
21545 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21546 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21547 (grub_efi_sal_system_table_platform_features): Likewise.
21548 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21549 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21550 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21551 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21552
cf9827de
VS
215532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21554
21555 Support explicit user claim that a device is BIOS-visible.
21556
21557 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21558 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21559 * grub-core/kern/emu/hostdisk.c
21560 (convert_system_partition_to_system_disk): Support mdX.
21561 (find_system_device): New parameter add. All users updated.
21562 (grub_util_biosdisk_is_present): New function.
21563 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21564 proto.
21565
53f0eb1f
VS
215662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21567
21568 Search hints support.
21569
21570 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21571 All users updated.
21572
b23ffd70
YB
215732010-09-13 Yves Blusseau <blusseau@zetam.org>
21574
21575 Bash completion script for util commands
21576
21577 * Makefile.am: Add util/bash-completion.d directory
21578 * configure.ac: Likewise.
21579 * util/bash-completion.d/Makefile.am: New file.
21580 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21581
d547dc28
VS
215822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21583
21584 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21585 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21586 Reported by: Yves Blusseau.
21587
2fc8ccb9
VS
215882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21589
21590 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21591 partition size and offset.
21592
d8a84076
VS
215932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21594
21595 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21596
84fb3b3d
VS
215972010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21600
768ec2e2
VS
216012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21604 (grub_xvasprintf): Likewise.
21605
4870900f
VS
216062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21607
21608 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21609
faca6bec
VS
216102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21611
21612 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21613 args ending with NULL.
21614
216152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
21616
21617 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21618 pointer.
21619
3c70f225
SJ
216202010-09-11 Szymon Janc <szymon@janc.net.pl>
21621
21622 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21623
4df7996d
VS
216242010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21625
21626 Shutdown using ACPI.
21627
21628 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21629 * grub-core/commands/acpihalt.c: New file.
21630 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21631 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21632 (grub_acpi_halt): New proto.
21633 (GRUB_ACPI_SLP_EN): New const.
21634 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21635 (GRUB_ACPI_OPCODE_*): New enum.
21636 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21637
126b4c32
TG
216382010-09-11 Tristan Gingold <gingold@free.fr>
216392010-09-11 Robert Millan <rmh.grub@aybabtu.com>
216402010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 * commands/lsacpi.c: New file.
21643 * grub-core/Makefile.core.def (lsacpi): New module.
21644 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21645 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21646 (grub_acpi_madt_entry_header): New struct.
21647 (grub_acpi_madt): Likewise.
21648 (grub_acpi_madt_entry_interrupt_override): Likewise.
21649 (grub_acpi_madt_entry_sapic): Likewise.
21650 (grub_acpi_madt_entry_lsapic): Likewise.
21651 (grub_acpi_madt_entry_platform_int_source): Likewise.
21652 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21653 (PRIuGRUB_UINT32_T): Likewise.
21654 (PRIxGRUB_UINT64_T): Likewise.
21655
1aa4fe88
VS
216562010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21657
21658 Implement loading palette on ieee1275_fb.
21659
21660 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21661 (have_setcolors): Likewise.
21662 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21663 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21664 (grub_video_ieee1275_set_palette): Implement.
21665
25761e13
VS
216662010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
216672010-09-11 Colin Watson <cjwatson@ubuntu.com>
21668
21669 * util/grub-install.in (grub_partition): New variable.
21670 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21671 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21672 Fixes a bug reported by Yves Blusseau.
21673
050abaea
VS
216742010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21675
21676 Fix emu on mipsel.
21677
21678 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
21679 =grub_cpu_flush_cache on all mips and not only yeeloong.
21680 * configure.ac (COND_mips): New conditional.
21681 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
21682 platforms.
21683 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
21684 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
21685 [GRUB_LINKER_HAVE_INIT]: New function.
21686 (grub_emu_post_init): Likewise.
21687 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
21688 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
21689 * include/grub/cache.h (_mips): Include mips/cache.h.
21690 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
21691 LVM and RAID prototypes.
21692 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
21693 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
21694 function.
21695
5ed7d816
CW
216962010-09-10 Colin Watson <cjwatson@ubuntu.com>
21697
21698 * util/grub-install.in: Don't try to verify core.img until after
21699 running grub-mkimage to create it.
21700
90367e04
RM
217012010-09-10 Robert Millan <rmh@gnu.org>
21702
21703 * util/grub.d/10_hurd.in: Add misc readability checks.
21704 * util/grub.d/10_kfreebsd.in: Likewise.
21705 * util/grub.d/10_linux.in: Likewise.
21706
c452fa66
CW
217072010-09-10 Colin Watson <cjwatson@ubuntu.com>
21708
21709 * util/grub-install.in: ${imgext} won't be defined here until the
21710 install branch is merged. For the meantime, only verify core.img on
21711 i386-pc and sparc64-ieee1275 platforms.
21712
c38fe9f4
RM
217132010-09-10 Robert Millan <rmh@gnu.org>
21714
21715 Solaris support in grub_find_zpool_from_dir(). Thanks
21716 Seth Goldberg for referring to getextmntent() facility.
21717
21718 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
21719 `sys/mkdev.h'.
21720 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
21721 `<sys/mnttab.h>'.
21722 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
21723 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
21724 method for finding zpool name.
21725
905f7773
CW
217262010-09-10 Colin Watson <cjwatson@ubuntu.com>
21727
21728 grub-fstest needs the host and hostfs modules while other utilities
21729 actively require those modules to be absent, so grub-fstest needs
21730 its own initialisation and finalisation code.
21731
21732 * Makefile.am (grub_fstest.pp): New target.
21733 (grub_fstest_init.lst): Likewise.
21734 (grub_fstest_init.c): Likewise.
21735 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
21736
fb90b546
RM
217372010-09-10 Robert Millan <rmh@gnu.org>
21738
21739 * configure.ac: Check for `struct statfs.f_fstypename' and
21740 `struct statfs.f_mntfromname'.
21741
21742 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
21743 kFreeBSD-specific code.
21744
66d4bea5
RM
217452010-09-10 Robert Millan <rmh@gnu.org>
21746
21747 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
21748 on ZFS. Now non-main filesystems are supported as / too.
21749
b6a690ee
CW
217502010-09-09 Colin Watson <cjwatson@ubuntu.com>
21751
21752 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
21753 and grub-core/disk/host.c to ...
21754 (grub-fstest): ... here. Having the host disk implementation
21755 present confuses grub-probe and other utility programs.
21756
21757 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
21758 when writing to a file, not when writing to stdout.
21759
8901b00c 217602010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
21761
21762 * tests/partmap_test.in: New test for partitions.
21763 * Makefile.util.def: Rules for new test.
21764
7bf45fdd
RM
217652010-09-09 Robert Millan <rmh@gnu.org>
21766
21767 * util/grub-probe.c (probe): Fix a pair of unhandled error
21768 conditions.
21769
4dfbc574
RM
217702010-09-09 Robert Millan <rmh@gnu.org>
21771
21772 Basic Btrfs support (detection and UUID).
21773
21774 * grub-core/fs/btrfs.c: New file.
21775 * Makefile.util.def (library): Register btrfs.c.
21776 * grub-core/Makefile.core.def: Likewise.
21777
6b8e78ae
RM
217782010-09-08 Robert Millan <rmh@gnu.org>
21779
21780 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
21781 with (optional) parameters to specify device and relative path.
21782 * util/grub-install.in: Use is_path_readable_by_grub() to
21783 verify readability of a few critical files.
21784 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
21785 verify readability of grub.cfg.new.
21786
27f21a8b
VS
217872010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21788
21789 Split minix.mod into minix.mod and minix2.mod.
21790
21791 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
21792 * grub-core/Makefile.core.def (minix2): New module.
21793 * grub-core/fs/minix.c: Use definitions instead of runtime version
21794 checking.
21795 * grub-core/fs/minix2.c: New file.
21796
c0e53ea5
YB
217972010-09-08 Yves Blusseau <blusseau@zetam.org>
21798
21799 Add new --boot-directory option to replace --root-directory
21800
21801 * util/grub-install.in: Add new --boot-directory option
21802 * util/grub-reboot.in: Likewise.
21803 * util/grub-set-default.in: Likewise.
21804
b9fe6ea2
YB
218052010-09-08 Yves Blusseau <blusseau@zetam.org>
21806
21807 * util/grub-mkconfig.in: Use new variable.
21808
d87aedff
YB
218092010-09-08 Yves Blusseau <blusseau@zetam.org>
21810
21811 * configure.ac: Define some useful variables.
21812
e55e8495
VS
218132010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21814
21815 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21816 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
21817 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
21818 Use terminfo and don't use cursor-on/cursor-off unless it's known
21819 to work.
21820 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
21821 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
21822
6fa6d675
CW
218232010-09-08 Colin Watson <cjwatson@ubuntu.com>
21824
21825 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
21826 starts with "(,", fill the drive containing the loaded image in
21827 between those two characters, but expect that a full partition
21828 specification including partition map names will follow.
21829
92f2aef0
RM
218302010-09-08 Robert Millan <rmh@gnu.org>
21831
21832 * configure.ac: Remove `--enable-grub-fstest' option.
21833 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
21834
21835 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
21836 `grub-fstest' instead of `grub-probe' for readability verification.
21837 * util/grub-probe.c (probe): Remove readability verification kludge.
21838
99fd620d
RM
218392010-09-08 Robert Millan <rmh@gnu.org>
21840
21841 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
21842 initializing `GRUB_FS'.
21843
058e30ac 218442010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
21845
21846 Not command (!) support to GRUB script.
21847
21848 * tests/grub_script_not.in: New test.
21849 * Makefile.util.def: Rules for new test.
21850
21851 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21852 ! command as a special case.
21853 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
21854
b61d05ed 218552010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21856
058e30ac 21857 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
21858 grub_free.
b61d05ed 21859
4d69c786 218602010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21861
21862 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
21863
aa3119c4 218642010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21865
21866 * docs/grub.texi (Shell-like scripting): Documentation for break,
21867 continue, shift and return commands.
21868
db0f7e3d
VS
218692010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
21870
21871 Rename CD-ROM to cd on BIOS.
21872
21873 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
21874 "cd".
21875 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
21876
88b87c93
VS
218772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21878
21879 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
21880 * util/grub-probe.c (main): Likewise.
21881 * util/i386/pc/grub-setup.c (main): Likewise.
21882 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21883 Reported and debugged by: alexxy
21884
294f324d
VS
218852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21886
21887 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
21888 diagnostic info.
21889
d7ee3441
JS
218902010-09-05 Jo Shields <directhex@apebox.org>
21891
21892 * util/grub.d/30_os-prober.in: Add missing classes.
21893
d7e06c1f
VS
218942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21895
21896 * docs/grub.texi (Theme file format): Document new position format.
21897
fc157e53
VS
218982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21899
21900 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
21901 a table. Use @code instead of @verbatim.
21902
506e9a1c
CB
219032010-09-05 Colin D Bennett <colin@gibibit.com>
21904
21905 Gfxmenu documentation.
21906
21907 * docs/grub.texi (Theme file format): New chapter.
21908
f0aff67c
SJ
219092010-09-05 Szymon Janc <szymon@janc.net.pl>
21910
21911 * grub-core/Makefile.core.def (xzio): New module.
21912 * grub-core/io/xzio.c: New file.
21913 * grub-core/lib/xzembed/xz.h: New file (from xembed).
21914 * grub-core/lib/xzembed/xz_config.h: Likewise.
21915 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
21916 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
21917 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
21918 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
21919 * grub-core/lib/xzembed/xz_private.h: Likewise.
21920 * grub-core/lib/xzembed/xz_stream.h: Likewise.
21921 * include/grub/file.h (grub_file_filter_id): New compression filter
21922 GRUB_FILE_FILTER_XZIO.
21923
82a85062
VS
219242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21925
21926 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
21927 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
21928 size.
21929
3579415d
VS
219302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21931
21932 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
21933 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
21934
5124ae6d
VS
219352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21936
21937 Uncompressed checksum support.
21938
21939 * grub-core/commands/hashsum.c (options): Add option --uncompress.
21940 (check_list): New parameter uncompress.
21941 (grub_cmd_hashsum): Handle --uncompress.
21942
9aadb3d1
VS
219432010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21944
21945 Reintroduce testload.
21946
21947 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
21948 from here ...
21949 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
21950 (GRUB_MOD_INIT): New function.
21951 (GRUB_MOD_FINI): Likewise.
21952 * grub-core/Makefile.core.def (testload): New module.
21953
a17792c3
SJ
219542010-09-05 Szymon Janc <szymon@janc.net.pl>
21955
21956 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
21957 (uint8_t): New type.
21958 (uint16_t): Likewise.
21959 (uint32_t): Likewise.
21960 (uint64_t): Likewise.
21961
b81e40a3
SJ
219622010-09-05 Szymon Janc <szymon@janc.net.pl>
21963
21964 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
21965
fc2ef117
VS
219662010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21967
21968 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
21969 Made static.
21970 (grub_gzfile_open): Removed. All users updated.
21971 (GRUB_MOD_INIT): New function.
21972 (GRUB_MOD_FINI): Likewise.
21973 * grub-core/kern/file.c (grub_file_filters_all): New variable.
21974 (grub_file_filters_enabled): Likewise.
21975 (grub_file_open): Handle filters.
21976 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
21977 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
21978 * include/grub/file.h (grub_file_filter_id_t): New type.
21979 (grub_file_filter_t): Likewise.
21980 (grub_file_filters_all): New extern variable.
21981 (grub_file_filters_enabled): Likewise.
21982 (grub_file_filter_register): New inline function.
21983 (grub_file_filter_unregister): Likewise.
21984 (grub_file_filter_disable): Likewise.
21985 (grub_file_filter_disable_compression): Likewise.
21986 * include/grub/gzio.h: Removed.
21987
35ee15e0
BC
219882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
21989
21990 Filename expansion support for wildcards in GRUB script.
21991
21992 * tests/grub_script_expansion.in: New test.
21993 * Makefile.util.def: Rule for new test.
21994
21995 * grub-core/commands/wildcard.c: New file, implements filename
21996 expansion support for GRUB script.
21997 * grub-core/Makefile.core.def: Rule update for regexp.mod.
21998 * grub-core/script/argv.c: Cosmetic changes.
21999 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22000 Refactored to perform wildcard expansion on arguments.
22001 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22002 struct.
22003
22004 * tests/util/grub-shell.in: Fix quoting for read input.
22005
5f0c4aca
BC
220062010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22007
22008 Support for updating environment variables with matched substrings
22009 of regexp.
22010
22011 * tests/grub_cmd_regexp.in: New test.
22012 * Makefile.util.def: Rule for new test.
22013
22014 * grub-core/commands/regexp.c: New option -s to update environment
22015 variables with regexp matches.
22016
3759a35f
SJ
220172010-09-04 Szymon Janc <szymon@janc.net.pl>
22018
22019 * include/grub/file.h (grub_file): New member not_easly_seekable.
22020 (grub_file_seekable): New inline function.
22021 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22022 easily seekable.
22023 (grub_gzio_open): Set not_easly_seekable.
22024 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22025 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22026
ed8c6dec
BC
220272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22028
22029 Support for options to appear multiple times on cmdline.
22030
22031 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22032 * grub-core/commands/extcmd.c: Support for repeatable option.
22033 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22034 repeatable option support.
22035
22036 Refactor menuentry into a regular command.
22037
22038 * grub-core/commands/menuentry.c: New file, menuentry command
22039 implementation.
22040 * grub-core/Makefile.core.def: Rule update for normal.mod.
22041 * grub-core/normal/main.c: Moved menuentry creation to
22042 grub-core/commands/menuentry.c.
22043 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22044 (grub_menu_execute_entry_real): Removed.
22045 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22046 function.
22047 (grub_script_execute_menuentry): Removed.
22048 * grub-core/script/parser.y (menuentry): Removed.
22049 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22050 * grub-core/script/yylex.l (menuentry): Removed.
22051 * include/grub/menu.h (grub_menu_init): New prototype.
22052 (grub_menu_fini): New prototype.
22053 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22054 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22055 (grub_script_execute_sourcecode): New prototype.
22056
dacd0cf0
BC
220572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22058
22059 "return" command for GRUB script functions.
22060
22061 * tests/grub_script_return.in: New test.
22062 * Makefile.util.def: Rules for new test.
22063
22064 * grub-core/script/execute.c (grub_script_return): New function.
22065 * grub-core/script/main.c: Register/unregister return commaond.
22066 * include/grub/script_sh.h (grub_script_return): New prototype.
22067
52e72f9d
BC
220682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22069
22070 "setparams" command to update positional parameters.
22071
22072 * tests/grub_script_setparams.in: New test.
22073 * Makefile.util.def: Rules for new test.
22074
22075 * grub-core/script/argv.c (grub_script_argv_make): New function.
22076 * grub-core/script/execute.c (replace_scope): New function.
22077 (grub_script_setparams): New function.
22078 * grub-core/script/lexer.c: Remove unused variables.
22079 * grub-core/script/main.c: Register/unregister setparams command.
22080 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22081 (grub_script_setparams): New prototype.
22082
25b60c91
BC
220832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22084
22085 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22086 grub_free order.
22087
37e7bf68
BC
220882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22089
22090 Support for passing block of commands as an argument to extcmds.
22091
22092 * Makefile.util.def: Rules for new test.
22093 * tests/grub_script_blockarg.in: New test.
22094 * grub-core/tests/test_blockarg.c: New file, block argument
22095 command used in the test.
22096
22097 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22098 (grub_register_extcmd_prio): New function prototype.
22099 (grub_extcmd_dispatcher): New function prototype.
22100 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22101 type.
22102 * include/grub/script_sh.h (struct grub_script): New members
22103 `children', `next_siblings' and `refcnt' for block arguments and
22104 reference counting.
22105 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22106 (grub_script_arg): New member `script' for block argument.
22107 (grub_script_argv): New member `script' for block argument.
22108 (grub_parser_param): New member `scripts' for block argument.
22109 (grub_script_mem_free): New extern function prototype.
22110 (grub_script_ref): New function prototype.
22111 (grub_script_unref): New function prototype.
22112
22113 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22114 extcmd form to support block arguments.
22115 * grub-core/script/argv.c: Block arguments support.
22116 * grub-core/script/execute.c: Likewise.
22117 * grub-core/script/lexer.c: Likewise.
22118 * grub-core/script/main.c: Likewise.
22119 * grub-core/script/script.c: Likewise.
22120 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22121 non-terminals.
22122
22123 * grub-core/commands/acpi.c: Update extcmd implementations with
22124 grub_extcmd_context_t.
22125 * grub-core/commands/cat.c: Likewise.
22126 * grub-core/commands/echo.c: Likewise.
22127 * grub-core/commands/extcmd.c: Likewise.
22128 * grub-core/commands/hashsum.c: Likewise.
22129 * grub-core/commands/hdparm.c: Likewise.
22130 * grub-core/commands/help.c: Likewise.
22131 * grub-core/commands/hexdump.c: Likewise.
22132 * grub-core/commands/i386/cpuid.c: Likewise.
22133 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22134 * grub-core/commands/i386/pc/halt.c: Likewise.
22135 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22136 * grub-core/commands/iorw.c: Likewise.
22137 * grub-core/commands/keystatus.c: Likewise.
22138 * grub-core/commands/loadenv.c: Likewise.
22139 * grub-core/commands/ls.c: Likewise.
22140 * grub-core/commands/lspci.c: Likewise.
22141 * grub-core/commands/memrw.c: Likewise.
22142 * grub-core/commands/probe.c: Likewise.
22143 * grub-core/commands/search_wrap.c: Likewise.
22144 * grub-core/commands/setpci.c: Likewise.
22145 * grub-core/commands/sleep.c: Likewise.
22146 * grub-core/disk/loopback.c: Likewise.
22147 * grub-core/hello/hello.c: Likewise.
22148 * grub-core/loader/i386/bsd.c: Likewise.
22149 * grub-core/loader/xnu.c: Likewise.
22150 * grub-core/term/gfxterm.c: Likewise.
22151 * grub-core/term/serial.c: Likewise.
22152 * grub-core/tests/lib/functional_test.c: Likewise.
22153
888d1500
BC
221542010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22155
22156 Multi-line quoted strings support.
22157
22158 * grub-core/script/lexer.c (append_newline): Removed.
22159 (grub_script_lexer_yywrap): Refactored.
22160 (grub_script_lexer_init): Refactored.
22161 * grub-core/script/yylex.l (yywrap): New function.
22162 (grub_lexer_resplit): New function.
22163 (grub_lexer_unput): New function.
22164 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22165 and resplit.
22166 * tests/grub_script_echo1.in: Added few more testcases.
22167
dda060dd
VS
221682010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22169
22170 * grub-core/kern/misc.c: Don't add abort alias in utils.
22171 Reported by: echoline.
22172
6556eba9
BC
221732010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22174
22175 Add missing files into "make dist" tarball for other platforms.
22176
22177 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22178 * conf/Makefile.common (dist_noinst_DATA): New variable.
22179 * conf/Makefile.extra-dist: Added missing make dist files.
22180 * grub-core/Makefile.core.def: Likewise.
22181
c8e7bf5f
VS
221822010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22183
22184 Compress grub_prefix.
22185
22186 * grub-core/boot/i386/pc/lnxboot.S: Use
22187 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22188 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22189 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22190 GRUB_MACHINE_PREFIX_END. All users updated.
22191 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22192 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22193 + 0x40.
22194 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22195 * util/grub-mkimage.c (image_target_desc): Change data_end to
22196 prefix_end. All users updated.
22197
a7c00cdb
VS
221982010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22199
22200 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22201 value.
22202 (grub_openbsd_boot): Likewise.
22203 (grub_netbsd_boot): Likewise.
22204 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22205 (grub_xnu_boot): Likewise.
22206
9f915872
VS
222072010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22208
22209 * configure.ac: Clean LIBS variable after tests.
22210
efa1bee7
CW
222112010-09-02 Colin Watson <cjwatson@ubuntu.com>
22212
22213 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22214
61d720e5
VS
222152010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22216
22217 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22218 echo if libdevmapper will be used.
22219
ef8e0ec8
IT
222202010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22221
22222 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22223 constant for the same file.
22224
03e261d8
VS
222252010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22226
22227 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22228
c2a4eba6
CW
222292010-09-02 Colin Watson <cjwatson@ubuntu.com>
22230
22231 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22232 grub-core/*.pp.
22233
9056cbf3
CW
222342010-09-02 Colin Watson <cjwatson@ubuntu.com>
22235
22236 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22237 required by the boot protocol.
22238
22239 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22240 ebp and edi members.
22241 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22242 state.ebp and state.edi.
22243 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22244 %ebp and %edi according to grub_relocator32_ebp and
22245 grub_relocator32_edi respectively.
22246 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22247 and state.edi.
22248
529cc99a
VS
222492010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22250
22251 Add i386-pc-pxe image target.
22252
22253 * util/grub-mkimage.c (image_target_desc): New enum value
22254 IMAGE_I386_PC_PXE.
22255 (image_targets): New target i386-pc-pxe.
22256 (generate_image): Handle i386-pc-pxe image.
22257
9a093920
VS
222582010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22259
22260 Fix grub_pxe_scan.
22261
22262 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22263 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22264 All users updated.
22265 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22266 (grub_pxe_pxenv): Correct type.
22267
f9cefc4e
CW
222682010-09-01 Colin Watson <cjwatson@ubuntu.com>
22269
22270 * NEWS: Document most of the important changes since 1.98.
22271
4066f57f
CW
222722010-09-01 Colin Watson <cjwatson@ubuntu.com>
22273
22274 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22275 generated manual page) a little.
22276
da2891f9
CW
222772010-09-01 Colin Watson <cjwatson@ubuntu.com>
22278
22279 * docs/grub.texi: Add myself as an author.
22280
ad717fae
VS
222812010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22282
22283 * Makefile.util.def (libgrub.a): Add missing sunpc.
22284 Reported by: Seth Goldberg.
22285
eefe8abd
VS
222862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22287
22288 Interrupt wrapping and code simplifications.
22289
9494ef9a
VS
22290 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22291 x86_noieee1275 which are functionaly equivalent in this case.
22292 (grub-install): Make source on each platform explicit. Enable on
22293 all noemu.
22294 * gentpl.py (x86_efi_pc): Removed group.
22295 (x86_noefi): Likewise.
22296 (i386_noefi): Likewise.
22297 (x86_noieee1275): Likewise.
22298 (i386_noieee1275): Likewise.
22299 (i386_noefi_noieee1275): Likewise.
22300 (i386_pc_qemu_coreboot): Likewise.
22301 (i386_coreboot_multiboot): Likewise.
22302 (i386_pc_coreboot_multiboot_qemu): Likewise.
22303 (x86_noefi_mips): Likewise.
22304 (noieee1275): Likewise.
22305 (ieee1275_mips): Likewise.
22306 (noemu_noieee1275): Likewise.
22307 (cmos): New group.
22308 (usb): Likewise.
22309 (videoinkernel): Likewise.
22310 (videomodules): Likewise.
eefe8abd 22311 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22312 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22313 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22314 include/grub/loader.h, include/grub/msdos_partition.h,
22315 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22316 include/grub/machine/console.h, include/grub/machine/vga.h,
22317 include/grub/machine/vbe.h, include/grub/machine/init.h,
22318 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22319 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22320 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22321 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22322 * grub-core/Makefile.core.def (kernel): Explicit the source for
22323 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22324 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22325 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22326 Use videoinkernel tag.
22327 (usb): Enable on all usb.
22328 (usbserial_common): Likewise.
22329 (usbserial_pl2303): Likewise.
22330 (usbserial_ftdi): Likewise.
22331 (uhci): Enable on all x86.
22332 (ohci): Enable on all pci.
22333 (cmostest): Enable on all CMOS.
22334 (acpi): Include commands/acpi.c on all platforms.
22335 (halt): Add relevant lib/*/halt.c.
22336 (hdparm): Enable on all pci.
22337 (lspci): Likewise.
22338 (usbtest): Enable on all usb.
22339 (ata): Enable on all pci.
22340 (ata_pthru): Likewise.
22341 (usbms): Enable on all usb.
22342 (usb_keyboard): Likewise.
22343 (font): Use tag videomodules.
22344 (bufio): Likewise.
22345 (datetime): Use tag cmos. Enable on all noemu.
22346 (mmap): Use tags common and x86.
22347 (gfxterm): Use tag videomodules.
22348 (bitmap): Likewise.
22349 (bitmap_scale): Likewise.
22350 (video_fb): Likewise.
22351 (video): Likewise.
22352 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22353 adjust padding accordingly. All users updated.
22354 (grub_ohci_transaction): Fix bad format specification.
22355 (GRUB_MOD_INIT): Add asserts for struct size.
22356 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22357 (grub_alloc_td): Likewise.
22358 (grub_free_queue): Likewise.
22359 (grub_uhci_transfer): Likewise.
22360 (grub_uhci_transaction): Fix bad format specification.
22361 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22362 (grub_usb_bulk_readwrite): Likewise.
22363 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22364 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22365 Made static.
22366 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22367 Made static.
22368 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22369 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22370 Transformed into C.
22371 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22372 Moved from here ...
22373 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22374 ... here. Transformed into C. Made static.
22375 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22376 Moved from here ...
22377 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22378 ... here. Transformed into C. Made static.
22379 * grub-core/kern/i386/pc/startup.S
22380 (grub_biosdisk_check_int13_extensions): Moved from here ...
22381 * grub-core/disk/i386/pc/biosdisk.c
22382 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22383 Made static.
22384 * grub-core/kern/i386/pc/startup.S
22385 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22386 * grub-core/disk/i386/pc/biosdisk.c
22387 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22388 Transformed into C. Made static.
22389 * grub-core/kern/i386/pc/startup.S
22390 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22391 * grub-core/disk/i386/pc/biosdisk.c
22392 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22393 Transformed into C. Made static.
22394 * grub-core/kern/i386/pc/startup.S
22395 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22396 * grub-core/disk/i386/pc/biosdisk.c
22397 (grub_biosdisk_get_diskinfo_standard): ... here.
22398 Transformed into C. Made static.
22399 * grub-core/kern/i386/pc/startup.S
22400 (grub_biosdisk_get_num_floppies): Moved from here ...
22401 * grub-core/disk/i386/pc/biosdisk.c
22402 (grub_biosdisk_get_num_floppies): ... here.
22403 Transformed into C. Made static.
22404 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22405 New function.
22406 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22407 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22408 Transformed into C. Made static.
22409 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22410 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22411 Transformed into C. Made static.
22412 * grub-core/kern/i386/ieee1275/init.c: Removed.
22413 * grub-core/kern/i386/misc.S: Likewise.
22414 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22415 Splitted from here ...
22416 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22417 Transformed into C. Made static. All users updated.
22418 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22419 Transformed into C. Made static. All users updated.
22420 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22421 Moved from here...
22422 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22423 Transformed into C. Made static. All users updated.
22424 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22425 Moved from here...
22426 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22427 Transformed into C. Made static. All users updated.
22428 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22429 Removed (replaced by C version).
22430 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22431 Moved from here...
22432 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22433 Transformed into C. Made static.
22434 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22435 Moved from here...
22436 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22437 ... here. Transformed into C.
22438 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22439 Moved from here...
22440 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22441 ... here. Transformed into C.
22442 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22443 Moved from here...
22444 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22445 ... here. Transformed into C. Made static.
22446 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22447 Moved from here...
22448 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22449 ... here. Transformed into C.
21ed554b
VS
22450 * grub-core/kern/i386/pc/startup.S
22451 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22452 * grub-core/video/i386/pc/vbe.c
22453 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22454 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22455 Moved from here...
22456 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22457 ... here. Transformed into C.
22458 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22459 Moved from here...
22460 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22461 ... here. Transformed into C.
22462 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22463 Moved from here...
22464 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22465 ... here. Transformed into C.
22466 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22467 Moved from here...
22468 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22469 ... here. Transformed into C.
22470 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22471 Moved from here...
22472 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22473 ... here. Transformed into C. Made static.
22474 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22475 Moved from here...
22476 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22477 ... here. Transformed into C. Made static.
22478 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22479 Moved from here...
22480 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22481 ... here. Transformed into C. Made static.
22482 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22483 pxe_rm_entry as third argument.
22484 (grub_bios_interrupt): New function.
22485 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22486 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22487 of calling grub_stop.
22488 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22489 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22490 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22491 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22492 * grub-core/lib/i386/halt.c: Moved from here ...
22493 * grub-core/lib/i386/halt.c: ... here.
22494 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22495 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22496 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22497 grub_stop_floppy.
22498 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22499 * include/grub/i386/coreboot/init.h: Removed.
22500 * include/grub/i386/multiboot/init.h: Likewise.
22501 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22502 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22503 * include/grub/i386/pc/int.h: New file.
22504 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22505 (grub_pxe_scan): Removed.
22506 (grub_pxe_call): Update prototype.
22507 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22508 prototypes.
22509 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22510 * include/grub/i386/qemu/init.h: Removed.
22511 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22512 noreturn.
22513 (grub_halt): Likewise.
22514 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22515 (grub_reboot): Likewise.
22516 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22517 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22518 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22519
215dd471
RM
225202010-08-30 Robert Millan <rmh@gnu.org>
22521
22522 * NEWS: Document addition of ZFS support in `grub-install' and
22523 `grub-mkconfig'.
22524
ebd65b82
BC
225252010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22526
22527 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22528 dprintf output.
22529
11721d19
VS
225302010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22531
22532 Remove leftover embedding of font objects.
22533
22534 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22535 * util/grub-install.in (font): Removed.
22536 * util/grub-mkimage.c (generate_image): Remove font support. All users
22537 updated.
22538
37837d4e
VS
225392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22540
22541 Remove leftover embedding of font objects.
22542
22543 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22544 * util/grub-install.in (font): Removed.
22545 * util/grub-mkimage.c (generate_image): Remove font support. All users
22546 updated.
22547
b4c1aae0
VS
225482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22549
22550 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 22551 Reported by: Ian Turner
b4c1aae0 22552
8920a08d
VS
225532010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22554
22555 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22556 timeout to avoid indefinite boot stalling.
22557
f21db033
VS
225582010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22559
22560 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22561 (grub_env_write_color_highlight): Likewise.
22562
9a9de209
VS
225632010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22564
22565 * grub-core/normal/term.c (print_more): Return to normal and not
22566 to standard state after printing "---MORE---".
22567
3dca01d7
VS
225682010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22569
22570 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22571 Mask out the bit 0x80 since it has other meaning that specifiing color.
22572
0b986c40
VS
225732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22574
22575 New relocator. Allows for more kernel support and more straightforward
22576 loader writing.
22577
22578 * Makefile.am (BOOTTARGET): New variable.
22579 (QEMU32): Likewise.
22580 (linux.init.x86_64): New target.
22581 (linux.init.i386): Likewise.
22582 (multiboot.elf): Likewise.
22583 (kfreebsd.elf): Likewise.
22584 (kfreebsd.aout): Likewise.
22585 (pc-chainloader.elf): Likewise.
22586 (pc-chainloader.bin): Likewise.
22587 (ntldr.elf): Likewise.
22588 (ntldr.bin): Likewise.
22589 (multiboot2.elf): Likewise.
22590 (kfreebsd.init.x86_64): Likewise.
22591 (kfreebsd.init.i386): Likewise.
22592 (knetbsd.init.i386): Likewise.
22593 (kopenbsd.init.i386): Likewise.
22594 (knetbsd.init.x86_64): Likewise.
22595 (kopenbsd.init.x86_64): Likewise.
22596 (linux-initramfs.i386): Likewise.
22597 (linux-initramfs.x86_64): Likewise.
22598 (kfreebsd-mfsroot.i386.img): Likewise.
22599 (knetbsd.image.i386): Likewise.
22600 (kopenbsd.image.i386): Likewise.
22601 (kopenbsd.image.x86_64): Likewise.
22602 (knetbsd.miniroot-image.i386.img): Likewise.
22603 (kfreebsd-mfsroot.x86_64.img): Likewise.
22604 (knetbsd.image.x86_64): Likewise.
22605 (knetbsd.miniroot-image.x86_64.img): Likewise.
22606 (kfreebsd-mfsroot.i386.gz): Likewise.
22607 (bootcheck-kfreebsd-i386): Likewise.
22608 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22609 (bootcheck-kfreebsd-x86_64): Likewise.
22610 (knetbsd.miniroot-image.i386.gz): Likewise.
22611 (bootcheck-knetbsd-i386): Likewise.
22612 (bootcheck-kopenbsd-i386): Likewise.
22613 (bootcheck-kopenbsd-x86_64): Likewise.
22614 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22615 (bootcheck-knetbsd-x86_64): Likewise.
22616 (bootcheck-linux-i386): Likewise.
22617 (bootcheck-linux-x86_64): Likewise.
22618 (bootcheck-linux16-i386): Likewise.
22619 (bootcheck-linux16-x86_64): Likewise.
22620 (bootcheck-multiboot): Likewise.
22621 (bootcheck-multiboot2): Likewise.
22622 (bootcheck-kfreebsd-aout): Likewise.
22623 (bootcheck-pc-chainloader): Likewise.
22624 (bootcheck-ntldr): Likewise.
22625 (CLEANFILES): Add new targets.
22626 (BOOTCHECKS): New variable.
22627 (.PHONY): Add bootchecks.
22628 (SUCCESSFUL_BOOT_STRING): New variable.
22629 (BOOTCHECK_TIMEOUT): Likewise.
22630 (bootcheck): New target
22631 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22632 * configure.ac: Correct efiemu excuse.
22633 * docs/grub.texi (Supported kernels): New chapter.
22634 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22635 include/grub/mm_private.h. Simplify inclusion of
22636 include/grub/boot.h, include/grub/loader.h
22637 and include/grub/msdos_partition.h
22638 (KERNEL_HEADER_FILES) [i386_coreboot]:
22639 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22640 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22641 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22642 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22643 include/grub/machine/loader.h.
22644 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22645 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22646 extra_dist.
22647 (pci.mod): Enable on i386-multiboot.
22648 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22649 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22650 i386-qemu.
22651 (relocator.mod): Rewritten.
22652 (aout.mod): Enable on all x86.
22653 (bsd.mod): Likewise.
22654 (ntldr.mod): New module.
22655 (linux.mod): Use loader/i386/linux.c on all x86.
22656 (xnu.mod): Enable on all x86.
22657 (vga_text.mod): disable on EFI and QEMU.
22658 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22659 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22660 * grub-core/efiemu/loadcore.c: Likewise.
22661 * grub-core/efiemu/main.c: Likewise.
22662 (grub_efiemu_exit_boot_services): Removed.
22663 (grub_efiemu_finish_boot_services): Likewise.
22664 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22665 function.
22666 * grub-core/efiemu/i386/nocfgtables.c: New file.
22667 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22668 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22669 (grub_efi_finish_boot_services): Moved from here ...
22670 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22671 Fille finish memory map and related data.
22672 (finish_mmap_buf): New variable.
22673 (grub_efi_uintn_t finish_mmap_size): Likewise.
22674 (grub_efi_uintn_t finish_key): Likewise.
22675 (grub_efi_uintn_t finish_desc_size): Likewise.
22676 (grub_efi_uint32_t finish_desc_version): Likewise.
22677 (grub_efi_is_finished): Likewise.
22678 (grub_efi_get_memory_map): Use saved memory map if EFI is already
22679 finished.
22680 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
22681 (grub_elf64_phdr_iterate): Likewise.
22682 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
22683 (grub_os_area_size): Likewise.
22684 (grub_machine_init): Don't reserve os area.
22685 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
22686 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
22687 * grub-core/kern/i386/loader.S: Removed.
22688 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
22689 (grub_os_area_size): Likewise.
22690 (grub_machine_init): Don't reserve os area.
22691 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
22692 Don't call grub_dl_unload_all.
22693 Don't include loader.S.
22694 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
22695 Declare the memory after _end as available.
22696 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 22697 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 22698 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
22699 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
22700 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
22701 * include/grub/mm_private.h (grub_mm_header): ... here.
22702 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
22703 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
22704 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
22705 (grub_mm_region): ..here. Removed addr. Added pre_size.
22706 All users updated.
22707 * grub-core/kern/mm.c (base): Renamed to ...
22708 (grub_mm_base): ... this. Made global.
22709 (grub_real_malloc): Alloc from end of region.
22710 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
22711 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
22712 * grub-core/kern/powerpc/cache_flush.S: ... here.
22713 * grub-core/lib/efi/relocator.c: New file.
22714 * grub-core/lib/i386/relocator.c: Rewritten.
22715 * grub-core/lib/i386/relocator16.S: New file.
22716 * grub-core/lib/i386/relocator32.S: Likewise.
22717 * grub-core/lib/i386/relocator64.S: Likewise.
22718 * grub-core/lib/i386/relocator_asm.S: Rewritten.
22719 * grub-core/lib/i386/relocator_common.S: New file.
22720 * grub-core/lib/ieee1275/relocator.c: Likewise.
22721 * grub-core/lib/mips/relocator.c: Rewritten.
22722 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
22723 stylistic adjustments.
22724 * grub-core/lib/powerpc/relocator.c: New file.
22725 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
22726 * grub-core/lib/relocator.c: Rewritten.
22727 * grub-core/lib/x86_64/relocator_asm.S: New file.
22728 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
22729 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
22730 (bsd_tag): New struct.
22731 (tags): New variable.
22732 (tags_last): Likewise.
22733 (netbsd_module): New struct.
22734 (netbsd_mods): New variable.
22735 (netbsd_mods_last): Likewise.
22736 (openbsd_opts): New parameter "serial".
22737 (OPENBSD_SERIAL_ARG): New definition.
22738 (netbsd_opts): New parameter "serial".
22739 (NETBSD_SERIAL_ARG): New definition.
22740 (grub_freebsd_add_meta): Reorganised into ...
22741 (grub_bsd_add_meta): ...this. All users updated.
22742 (grub_freebsd_add_mmap): Reorganised into ...
22743 (generate_e820_mmap): ...this...
22744 (grub_bsd_add_mmap): ...and this. All users updated.
22745 (grub_freebsd_list_modules): Use tags.
22746 (grub_netbsd_add_meta_module): New function.
22747 (grub_netbsd_list_modules): Likewise.
22748 (grub_freebsd_boot): Use relocator and finish EFI.
22749 (grub_openbsd_boot): Likewise.
22750 (grub_netbsd_setup_video): New function.
22751 (grub_netbsd_add_modules): Likewise.
22752 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
22753 and finish EFI.
22754 (grub_bsd_unload): Unload tags.
22755 (grub_bsd_load_aout): Use relocator.
22756 (grub_bsd_elf32_size_hook): New function.
22757 (grub_bsd_elf32_hook): Use relocator.
22758 (grub_bsd_elf64_size_hook): New function.
22759 (grub_bsd_elf64_hook): Use relocator.
22760 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
22761 (grub_bsd_load): Zero-out openbsd_ramdisk.
22762 (grub_bsd_load): Use relocator.
22763 (grub_cmd_openbsd): Support serial.
22764 (grub_cmd_netbsd): Support modules.
22765 (grub_cmd_freebsd_module): Use relocator.
22766 (grub_netbsd_module_load): New function.
22767 (grub_cmd_netbsd_module): Likewise.
22768 (grub_cmd_openbsd_ramdisk): Likewise.
22769 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
22770 kopenbsd_ramdisk.
22771 (GRUB_MOD_FINI): Unregister new commands.
22772 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
22773 (grub_freebsd_load_elfmodule_obj): Use relocator.
22774 (grub_freebsd_load_elfmodule): Likewise.
22775 (grub_freebsd_load_elf_meta): Likewise.
22776 (grub_netbsd_load_elf_meta): New function.
22777 (grub_openbsd_find_ramdisk): Likewise.
22778 * grub-core/loader/i386/bsd_helper.S: Removed.
22779 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
22780 * grub-core/loader/i386/bsd_trampoline.S: Removed.
22781 * grub-core/loader/i386/efi/linux.c: Likewise.
22782 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
22783 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
22784 (DEFAULT_VIDEO_MODE): Likewise.
22785 (real_mode_target): New variable.
22786 (prot_mode_target): Likewise.
22787 (initrd_mem_target): Likewise.
22788 (relocator): Likewise.
22789 (efi_mmap_buf): Likewise.
22790 (efi_mmap_size): Likewise.
22791 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
22792 (free_pages): Use relocator.
22793 (allocate_pages): Account for efi_mmap and use relocator. Return error.
22794 (grub_linux_setup_video): Return error.
22795 (grub_linux_trampoline_start): Removed.
22796 (grub_linux_trampoline_end): Likewise.
22797 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
22798 andd video parameters depending on firmware.
22799 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
22800 [GRUB_MACHINE_EFI]: Pass EFI parameters.
22801 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
22802 (grub_cmd_initrd): Use relocator.
22803 * grub-core/loader/i386/linux_trampoline.S: Removed.
22804 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
22805 (elf_sec_entsize): Likewise.
22806 (elf_sec_shstrndx): Likewise.
22807 (elf_sections): Likewise.
22808 (grub_multiboot_load): Use relocator.
22809 (grub_multiboot_get_mbi_size): Account for sections.
22810 (grub_multiboot_make_mbi): Use relocator and support sections.
22811 (grub_multiboot_add_elfsyms): New function.
22812 (grub_multiboot_free_mbi): Free sections.
22813 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
22814 (grub_linux_real_target): Likewise.
22815 (grub_linux_real_chunk): Likewise.
22816 (grub_linux16_prot_size): Likewise.
22817 (grub_linux16_boot): Use relocator.
22818 (grub_linux_unload): Unload relocator.
22819 (grub_cmd_linux): Use relocator.
22820 (grub_cmd_initrd): Likewise.
22821 * grub-core/loader/i386/pc/ntldr.c: New file.
22822 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
22823 Don't try to guess CPU frequency.
22824 (grub_xnu_set_video): Stretch bitmap.
22825 (grub_xnu_boot): Use relocator.
22826 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
22827 (grub_linux_unload): Free relocator.
22828 (grub_linux_load32): Use relocator.
22829 (grub_linux_load64): Likewise.
22830 (grub_cmd_initrd): Likewise.
22831 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
22832 (grub_multiboot_unload): Unload relocator.
22833 (grub_cmd_multiboot): Use relocator.
22834 (grub_cmd_module): Likewise.
22835 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
22836 Use relocator and support sections.
22837 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
22838 (elf_sec_entsize): Likewise.
22839 (elf_sec_shstrndx): Likewise.
22840 (elf_sections): Likewise.
22841 (grub_multiboot_load): Use relocator.
22842 (grub_multiboot_get_mbi_size): Account for sections.
22843 (grub_multiboot_make_mbi): Use relocator and support sections.
22844 (grub_multiboot_add_elfsyms): New function.
22845 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
22846 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
22847 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
22848 Prototype changed. All users updated.
22849 (grub_xnu_align_heap): Simplified.
22850 (grub_xnu_writetree_toheap): Likewise.
22851 (grub_xnu_unload): Unload relocator.
22852 (grub_cmd_xnu_kernel): Use relocator.
22853 (grub_cmd_xnu_kernel64): Likewise.
22854 (grub_xnu_register_memory): Simplified.
22855 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
22856 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
22857 EFI is finished.
22858 (grub_console_checkkey): Likewise.
22859 (grub_console_getkey): Likewise.
22860 (grub_console_getwh): Likewise.
22861 (grub_console_getxy): Likewise.
22862 (grub_console_gotoxy): Likewise.
22863 (grub_console_cls): Likewise.
22864 (grub_console_setcolorstate): Likewise.
22865 (grub_console_setcursor): Likewise.
22866 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
22867 * grub-core/tests/boot/kbsd.init-i386.S: New file.
22868 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
22869 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
22870 * grub-core/tests/boot/kernel-8086.S: Likewise.
22871 * grub-core/tests/boot/kernel-i386.S: Likewise.
22872 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
22873 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
22874 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
22875 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
22876 * grub-core/tests/boot/knetbsd.cfg: Likewise.
22877 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
22878 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
22879 * grub-core/tests/boot/linux.cfg: Likewise.
22880 * grub-core/tests/boot/linux.init-i386.S: Likewise.
22881 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
22882 * grub-core/tests/boot/linux16.cfg: Likewise.
22883 * grub-core/tests/boot/multiboot.cfg: Likewise.
22884 * grub-core/tests/boot/multiboot2.cfg: Likewise.
22885 * grub-core/tests/boot/ntldr.cfg: Likewise.
22886 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
22887 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
22888 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
22889 New definition.
22890 * include/grub/dl.h (grub_dl_unload_all): Removed.
22891 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
22892 (grub_efi_finish_boot_services): Change prototype.
22893 (grub_efi_is_finished): New variable.
22894 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
22895 Changed prototype.
22896 (grub_efiemu_finish_boot_services): Removed.
22897 (grub_machine_efiemu_init_tables): New prototype.
22898 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
22899 (grub_elf64_phdr_iterate): Likewise.
22900 * include/grub/i386/bsd.h: Include relocator.h.
22901 (freebsd_tag_header): New struct.
22902 (grub_openbsd_bios_mmap): Removed.
22903 (grub_unix_real_boot): Removed.
22904 (grub_freebsd_load_elfmodule32): Changed prototype.
22905 (grub_freebsd_load_elfmodule_obj64): Likewise.
22906 (grub_freebsd_load_elf_meta32): Likewise.
22907 (grub_freebsd_load_elf_meta64): Likewise.
22908 (grub_freebsd_add_meta): Removed.
22909 (grub_netbsd_load_elf_meta32): New prototype.
22910 (grub_netbsd_load_elf_meta64): Likewise.
22911 (grub_bsd_add_meta): Likewise.
22912 (grub_openbsd_ramdisk_descriptor): New struct.
22913 (grub_openbsd_find_ramdisk32): New prototype.
22914 (grub_openbsd_find_ramdisk64): Likewise.
22915 * include/grub/i386/coreboot/loader.h: Removed.
22916 * include/grub/i386/efi/loader.h: Likewise.
22917 * include/grub/i386/ieee1275/loader.h: Likewise.
22918 * include/grub/i386/linux.h (linux_kernel_header): Change void *
22919 to grub_uint32_t.
22920 * include/grub/i386/loader.h: Removed.
22921 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
22922 value.
22923 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
22924 (grub_phys_addr_t): New type.
22925 (grub_vtop): New inline function.
22926 (grub_map_memory): Likewise.
22927 (grub_unmap_memory): Likewise.
22928 * include/grub/i386/multiboot/loader.h: Removed.
22929 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
22930 (NETBSD_BTINFO_CONSOLE): New definition.
22931 (NETBSD_BTINFO_SYMTAB): Likewise.
22932 (NETBSD_BTINFO_MODULES): Likewise.
22933 (NETBSD_BTINFO_FRAMEBUF): Likewise.
22934 (grub_netbsd_bootinfo): New struct.
22935 (grub_netbsd_btinfo_common): Use explicit bitsize.
22936 (grub_netbsd_btinfo_mmap_entry): Removed.
22937 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
22938 (grub_netbsd_btinfo_bootdisk): New struct.
22939 (grub_netbsd_btinfo_symtab): Likewise.
22940 (grub_netbsd_btinfo_serial): Likewise.
22941 (grub_netbsd_btinfo_modules): Likewise.
22942 (grub_netbsd_btinfo_framebuf): Likewise.
22943 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
22944 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
22945 Likewise.
22946 (grub_openbsd_bootargs): Use explicit bitsize.
22947 (grub_openbsd_bootarg_console): New struct.
22948 (GRUB_OPENBSD_COM_MAJOR): New definition.
22949 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
22950 * include/grub/i386/pc/efiemu.h: Removed.
22951 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
22952 * include/grub/i386/qemu/loader.h: Removed.
22953 * include/grub/i386/relocator.h: Rewritten.
22954 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
22955 * include/grub/mips/memory.h: New file.
22956 * include/grub/mips/multiboot.h: Rewritten.
22957 * include/grub/mips/relocator.h: Rewritten.
22958 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
22959 (grub_vtop): New function.
22960 (grub_map_memory): Likewise.
22961 (grub_unmap_memory): Likewise.
22962 * include/grub/misc.h (ALIGN_DOWN): New definition.
22963 * include/grub/mm.h (grub_mm_check_real): New proto.
22964 (GRUB_MM_CHECK): New definition.
22965 * include/grub/mm_private.h: New file.
22966 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
22967 (grub_multiboot_get_mbi_size): Removed.
22968 (grub_multiboot_make_mbi): Change prottype.
22969 (grub_multiboot_set_accepts_video): New proto.
22970 (grub_multiboot_add_elfsyms): Likewise.
22971 (grub_multiboot_payload_eip): New variable.
22972 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
22973 New prototype.
22974 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
22975 New definition.
22976 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
22977 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
22978 * include/grub/powerpc/ieee1275/loader.h: Removed.
22979 * include/grub/powerpc/memory.h: New file.
22980 * include/grub/powerpc/relocator.h: Likewise.
22981 * include/grub/relocator.h: Likewise.
22982 * include/grub/relocator_private.h: Likewise.
22983 * include/grub/sparc64/ieee1275/loader.h: Removed.
22984 * include/grub/x86_64/memory.h: New file.
22985 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
22986 (grub_xnu_heap_malloc): Likewise.
22987 (grub_xnu_heap_real_start): Removed.
22988 (grub_xnu_heap_start): Likewise.
22989 (grub_xnu_relocator): New variable.
22990 (grub_xnu_heap_target_start): Likewise.
22991 * tests/util/grub-shell.in: Support non-pc.
22992 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 22993
5303b85d
VS
229942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22995
22996 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
22997 on malloc error.
22998 (grub_bidi_logical_to_visual): Check that malloc succeded.
22999 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23000 puts.
23001 (grub_xputs_normal): Likewise.
23002
d768d159
VS
230032010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23004
23005 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23006 extra_dist.
23007
230082010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23009
23010 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23011
5bf84df4
VS
230122010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23013
23014 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23015
3626810e
VS
230162010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23017
23018 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23019 dprintf.
23020
a7363f53
BC
230212010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23022
23023 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23024
902f75f6
VS
230252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23026
23027 * grub-core/normal/term.c (print_more): Fix a memory leak.
23028 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23029 (grub_xputs_normal): Likewise.
23030
3c707967
VS
230312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23032
23033 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23034 the begining of the string
23035
2053cc07
VS
230362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23037
23038 * grub-core/script/script.c (grub_script_parse): Free parsed on
23039 failure.
23040
46422ebf
VS
230412010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23042
23043 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23044 on failure.
23045
9e0fa3f6
VS
230462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23047
23048 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23049 return.
23050
3393cf16
VS
230512010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23052
23053 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23054 (scroll_up): Fix a memory leak.
23055
b17540cb
VS
230562010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23057
23058 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23059 errors.
23060
67140446
VS
230612010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23062
23063 Handle USB pendrives exposed as floppies.
23064
23065 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23066 floppy.
23067 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23068 Check for partitions on all devices.
23069
e35e46fc
VS
230702010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23071
23072 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23073 (readkey): Likewise.
23074
d24c6190
BC
230752010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23076
23077 Multiple variable names support to "export" command.
23078
23079 * normal/context.c (grub_cmd_export): "export" command supports
23080 multiple variable names.
23081
04ddcc6a
ST
230822010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23083
23084 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23085 --target=drive output to Mach device name.
23086
0c8b61d8
BC
230872010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23088
23089 New Automake based build system for GRUB.
23090
23091 * ABOUT-NLS: New file.
23092 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23093 in Makefile.util.def file.
23094 * Makefile.util.def: New file. Autogen build definitions file for
23095 GRUB host utils.
23096 * conf/Makefile.common: New file. Common variables for GRUB host
23097 utils and target modules.
23098 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23099 * docs/Makefile.am: New file. Automake file for docs.
23100 * gentpl.py: New file. Python script to generate Autogen
23101 template.
23102 * grub-core/Makefile.am: New file. GRUB target modules' rules
23103 that doesn't fit in Makefile.core.def file.
23104 * grub-core/Makefile.core.def: New file. Autogen build
23105 definitions file for GRUB target modules.
23106 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23107 specific setjmp.S file.
23108 * po/Makefile.am: New file.
23109
23110 * .bzrignore: New ignores.
23111 * INSTALL: New requirements, without Ruby.
23112 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23113 * autogen.sh: Updated to invoke autogen as necessary.
23114 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23115 and defines for Automake conditionals.
23116 * geninit.sh: Refactoring.
23117
23118 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23119 necessary.
23120 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23121 New prototype.
23122
23123 * include/grub/test.h: Fix functional test modules' naming.
23124 * grub-core/tests/example_functional_test.c: Fix test module name.
23125
23126 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23127 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23128 * util/grub-editenv.c: Likewise.
23129 * util/grub-fstest.c: Likewise.
23130 * util/grub-mkdevicemap.c: Likewise.
23131 * util/grub-mkfont.c: Likewise.
23132 * util/grub-mkimage.c: Likewise.
23133 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23134 * util/grub-probe.c: Likewise.
23135 * util/grub-script-check.c: Likewise.
23136 * util/i386/pc/grub-setup.c: Likewise.
23137 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23138
23139 * tests/util/grub-shell.in: Fix override directory path.
23140 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23141 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23142
23143 * util/lvm.c: Update #includes.
23144 * util/raid.c: Likewise.
23145 * util/resolve.c: Likewise.
23146 * grub-core/bus/emu/pci.c: Likewise.
23147 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23148 * grub-core/lib/posix_wrap/string.h: Likewise.
23149 * grub-core/kern/emu/main.c: Likewise.
23150
23151 * grub-core/gensymlist.sh: New file. Script for generating kernel
23152 symbols file.
23153 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23154
23155 * grub-core/gentrigtables.c: Fix unused variable warnings.
23156
23157 * Makefile.in: Removed.
23158 * conf/any-emu.rmk: Removed.
23159 * conf/common.rmk: Removed.
23160 * conf/i386-coreboot.rmk: Removed.
23161 * conf/i386-efi.rmk: Removed.
23162 * conf/i386-ieee1275.rmk: Removed.
23163 * conf/i386-multiboot.rmk: Removed.
23164 * conf/i386-pc.rmk: Removed.
23165 * conf/i386-qemu.rmk: Removed.
23166 * conf/i386.rmk: Removed.
23167 * conf/mips-yeeloong.rmk: Removed.
23168 * conf/mips.rmk: Removed.
23169 * conf/powerpc-ieee1275.rmk: Removed.
23170 * conf/sparc64-ieee1275.rmk: Removed.
23171 * conf/tests.rmk: Removed.
23172 * conf/x86-efi.rmk: Removed.
23173 * conf/x86_64-efi.rmk: Removed.
23174 * gendistlist.sh: Removed.
23175 * geninitheader.sh: Removed.
23176 * genkernsyms.sh.in: Removed.
23177 * genmk.rb: Removed.
23178 * gensymlist.sh.in: Removed.
23179 * mkinstalldirs: Removed.
23180 * boot: Moved ...
23181 * grub-core/boot: ... to here.
23182 * bus: Moved ...
23183 * grub-core/bus: ... to here.
23184 * commands: Moved ...
23185 * grub-core/commands: ... to here.
23186 * disk: Moved ...
23187 * grub-core/disk: ... to here.
23188 * efiemu: Moved ...
23189 * grub-core/efiemu: ... to here.
23190 * font: Moved ...
23191 * grub-core/font: ... to here.
23192 * fs: Moved ...
23193 * grub-core/fs: ... to here.
23194 * gencmdlist.sh: Moved ...
23195 * grub-core/gencmdlist.sh: ... to here.
23196 * genemuinit.sh: Moved ...
23197 * grub-core/genemuinit.sh: ... to here.
23198 * genemuinitheader.sh: Moved ...
23199 * grub-core/genemuinitheader.sh: ... to here.
23200 * genfslist.sh: Moved ...
23201 * grub-core/genfslist.sh: ... to here.
23202 * genhandlerlist.sh: Moved ...
23203 * grub-core/genhandlerlist.sh: ... to here.
23204 * genmoddep.awk: Moved ...
23205 * grub-core/genmoddep.awk: ... to here.
23206 * genmodsrc.sh: Moved ...
23207 * grub-core/genmodsrc.sh: ... to here.
23208 * genpartmaplist.sh: Moved ...
23209 * grub-core/genpartmaplist.sh: ... to here.
23210 * genparttoollist.sh: Moved ...
23211 * grub-core/genparttoollist.sh: ... to here.
23212 * genterminallist.sh: Moved ...
23213 * grub-core/genterminallist.sh: ... to here.
23214 * gentrigtables.c: Moved ...
23215 * grub-core/gentrigtables.c: ... to here.
23216 * genvideolist.sh: Moved ...
23217 * grub-core/genvideolist.sh: ... to here.
23218 * gettext: Moved ...
23219 * grub-core/gettext: ... to here.
23220 * gfxmenu: Moved ...
23221 * grub-core/gfxmenu: ... to here.
23222 * gnulib: Moved ...
23223 * grub-core/gnulib: ... to here.
23224 * hello: Moved ...
23225 * grub-core/hello: ... to here.
23226 * hook: Moved ...
23227 * grub-core/hook: ... to here.
23228 * io: Moved ...
23229 * grub-core/io: ... to here.
23230 * kern: Moved ...
23231 * grub-core/kern: ... to here.
23232 * lib: Moved ...
23233 * grub-core/lib: ... to here.
23234 * loader: Moved ...
23235 * grub-core/loader: ... to here.
23236 * mmap: Moved ...
23237 * grub-core/mmap: ... to here.
23238 * normal: Moved ...
23239 * grub-core/normal: ... to here.
23240 * partmap: Moved ...
23241 * grub-core/partmap: ... to here.
23242 * parttool: Moved ...
23243 * grub-core/parttool: ... to here.
23244 * script: Moved ...
23245 * grub-core/script: ... to here.
23246 * term: Moved ...
23247 * grub-core/term: ... to here
23248 * tests/example_functional_test.c: Moved ...
23249 * grub-core/tests/example_functional_test.c: ... to here.
23250 * tests/lib/functional_test.c: Moved ...
23251 * grub-core/tests/lib/functional_test.c: ... to here.
23252 * tests/lib/test.c: Moved ...
23253 * grub-core/tests/lib/test.c: ... to here.
23254 * video: Moved ...
23255 * grub-core/video: ... to here.
23256
645586e6
BC
232572010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23258
23259 Replace --enable-grub-emu-modules with grub-emu-lite.
23260
23261 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23262 cache.S.
23263
23264 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23265 * kern/emu/full.c: New file. For grub-emu specific initialization.
23266 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23267 * kern/emu/main.c: Call initialization function grub_emu_init.
23268
23269 * Makefile.in: Include grub-emu-lite in install.
23270 * commands/parttool.c: Use grub_no_autoload to differentiate
23271 between grub-emu and grub-emu-lite.
23272 * include/grub/misc.h: New variable grub_no_autoload.
23273
23274 * conf/any-emu.rmk: New rules for grub-emu-lite.
23275 * configure.ac: Remove --enable-grub-emu-modules.
23276 * genmk.rb: Cleanup unnecessary rules.
23277 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23278
23279 * normal/main.c: Don't load list files on grub-emu-lite.
23280 * util/misc.c (grub_arch_sync_caches): Removed.
23281
f86a4030
CW
232822010-08-23 Colin Watson <cjwatson@ubuntu.com>
23283
23284 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23285 grub-mkimage rather than grub-mkelfimage.
23286 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23287
06776944
VS
232882010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23289
23290 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23291 a key after CapsLock or NumLock. It's just a qemu bug.
23292
df262419
VS
232932010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23294
23295 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23296 needed by libusb wrapper.
23297
b40ea81b
ST
232982010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23299
23300 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23301
dee50575
VS
233022010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23303
23304 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23305 --nounzip is passed.
23306
fb1d7b79
VS
233072010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23308
23309 USB hotunplugging and USB serial support.
23310
23311 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23312 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23313 (grub_uhci_transfer): Respect timeout and set *actual.
23314 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23315 non-standard length.
23316 (grub_usb_device_attach): Autoload modules.
23317 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23318 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23319 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23320 users updated.
23321 (grub_usb_add_hub): Fill nports and children.
23322 (attach_root_port): Receive hub instead of controller.
23323 All users updated. Fill hub->devices.
23324 (grub_usb_root_hub): Allocate hub->devices.
23325 (detach_device): New function.
23326 (poll_nonroot_hub): Fill children and detach devices.
23327 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23328 actual arguments. All users updated.
23329 (grub_usb_bulk_read_extended): New function.
23330 * bus/usb/serial/common.c: New file.
23331 * bus/usb/serial/ftdi.c: Likewise.
23332 * bus/usb/serial/pl2303.c: Likewise.
23333 * commands/terminal.c (handle_command): Support wildcard.
23334 * commands/usbtest.c: Output "Unknown" instead of empty string.
23335 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23336 (usbserial_common_mod_SOURCES): New variable.
23337 (usbserial_common_mod_CFLAGS): Likewise.
23338 (usbserial_common_mod_LDFLAGS): Likewise.
23339 (pkglib_MODULES): Add usbserial_pl2303.mod.
23340 (usbserial_pl2303_mod_SOURCES): New variable.
23341 (usbserial_pl2303_mod_CFLAGS): Likewise.
23342 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23343 (pkglib_MODULES): Add usbserial_ftdi.mod.
23344 (usbserial_ftdi_mod_SOURCES): New variable.
23345 (usbserial_ftdi_mod_CFLAGS): Likewise.
23346 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23347 (pkglib_MODULES): Add serial.mod.
23348 (serial_mod_SOURCES): New variable.
23349 (serial_mod_CFLAGS): Likewise.
23350 (serial_mod_LDFLAGS): Likewise.
23351 * conf/i386-pc.rmk: Likewise.
23352 * conf/mips-yeeloong.rmk: Likewise.
23353 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23354 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23355 * disk/usbms.c (first_available_slot): New variable.
23356 (grub_usbms_attach): Don't reuse free slots due to potential cache
23357 problems.
23358 * include/grub/serial.h: Moved to ..
23359 * include/grub/ns8250.h: ...this.
23360 * include/grub/serial.h: New file.
23361 * include/grub/term.h (grub_term_poll_usb): New variable.
23362 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23363 readkey. All users updated.
23364 (grub_terminfo_output_state): Pass term to put.
23365 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23366 (grub_usb_controller_dev): Add timeout and actual arguments to
23367 transfer. All users updated.
23368 (grub_usb_interface): New field detach_data.
23369 (grub_usb_device): New fields children and nports.
23370 (grub_usb_ep_type_t): New type.
23371 (grub_usb_get_ep_type): New function.
23372 (grub_usb_bulk_read_extended): Likewise.
23373 * include/grub/usbdesc.h (grub_usb_desc): New type.
23374 * include/grub/usbserial.h: New file.
23375 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23376 * kern/term.c (grub_term_poll_usb): New variable.
23377 (grub_getkey): Call grub_term_poll_usb if set.
23378 (grub_checkkey): Likewise.
23379 (grub_getkeystatus): Likewise.
23380 * term/serial.c: Moved controller-specific parts to ...
23381 * term/ns8250.c: ... here.
23382 * term/serial.c: Mostly rewritten.
23383 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23384 according to spec.
23385
21a313de
RM
233862010-08-20 Robert Millan <rmh@gnu.org>
23387
23388 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23389 a separate module and maybe other interesting combinations.
23390
23391 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23392 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23393 (kfreebsd_entry): Add generic filesystem module load routine.
23394 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23395
63c734a6
CW
233962010-08-20 Colin Watson <cjwatson@ubuntu.com>
23397
23398 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23399 "numcenter" (I misunderstood the purpose of this entry).
23400 * docs/grub.texi (sendkey): Likewise.
23401
c4d16542
CW
234022010-08-20 Colin Watson <cjwatson@ubuntu.com>
23403
23404 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23405 status flag options; simply omitting the option is equivalent and
23406 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23407 (keysym_table): Rename "num5numlock" to "numlock".
23408 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23409 can uniformly say that only the last of multiple `sendkey'
23410 invocations has any effect.
23411 * docs/grub.texi (sendkey): New section.
23412
93541d66
CW
234132010-08-19 Colin Watson <cjwatson@ubuntu.com>
23414
23415 * commands/i386/pc/sendkey.c (options): Fix three typos.
23416
b4ece5e1
VS
234172010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23418
23419 Implement sendkey support.
23420
23421 * commands/i386/pc/sendkey.c: New file.
23422 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23423 (sendkey_mod_SOURCES): New variable.
23424 (sendkey_mod_CFLAGS): Likewise.
23425 (sendkey_mod_LDFLAGS): Likewise.
23426
51f1f5af
CW
234272010-08-18 Colin Watson <cjwatson@ubuntu.com>
23428
23429 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23430 fix warnings from Autoconf.
23431
9da94e05
CW
234322010-08-18 Colin Watson <cjwatson@ubuntu.com>
23433
23434 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23435 to avoid false positives with some assemblers that output things
23436 like "someprefix_func" as part of their output.
23437
729a0f2e
RM
234382010-08-15 Robert Millan <rmh@gnu.org>
23439
23440 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23441 errors.
23442 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23443 grub_get_libzfs_handle() errors.
23444
f3710e08
RM
234452010-08-14 Robert Millan <rmh@gnu.org>
23446
23447 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23448 filesystem is not ZFS.
23449
7a3c13de
BC
234502010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23451
23452 Fix for misspelled color names defaulting to black/black (bug
23453 reported by Doug Nazar)
23454
23455 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23456 status to prototype.
23457 * normal/color.c (grub_parse_color_name_pair): Return failure
23458 status.
23459 (grub_env_write_color_normal): Ignore bad color names.
23460 (grub_env_write_color_highlight): Likewise.
23461 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23462
ab8ba50d
BC
234632010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23464
23465 "shift" command support to GRUB script.
23466
23467 * include/grub/script_sh.h (grub_script_shift): New prototype.
23468 * script/execute.c (grub_script_shift): New function.
23469 * script/main.c (grub_script_init): Register shift command.
23470 (grub_script_fini): Unregister shift command.
23471 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23472
23473 * tests/grub_script_shift.in: New testcase.
23474 * conf/tests.rmk: Rules for new testcase.
23475
4d61999e
BC
234762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23477
23478 "continue" command support to GRUB script.
23479
23480 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23481 (grub_script_break): Continue support.
23482 * script/main.c (grub_script_init): Register continue command.
23483 (grub_script_fini): Unregister continue command.
23484
23485 * tests/grub_script_continue.in: New testcase.
23486 * conf/tests.rmk: Rules for new testcase.
23487
4df51e00
BC
234882010-08-12 BVK Chaitanya <bvk@dbook>
23489
23490 "break" command support to GRUB script.
23491
23492 * conf/common.rmk: Rule updates to grub-script-check.
23493 * include/grub/misc.h (grub_min): New function.
23494 * include/grub/script_sh.h (grub_script_init): New prototype.
23495 (grub_script_fini): New prototype.
23496 (grub_script_break): New prototype.
23497 * script/main.c (grub_script_init): New function.
23498 (grub_script_fini): New function.
23499 * script/execute.c (grub_script_break): New function.
23500 * normal/main.c: Calls to grub_script_{init,fini}.
23501 * util/grub-script-check.c (grub_script_break): New function.
23502
23503 * tests/grub_script_break.in: New testcase.
23504 * conf/tests.rmk: Rules for new test case.
23505
f12c8420
BC
235062010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23507
23508 Function parameters support to GRUB script.
23509
23510 * script/yylex.l (VARIABLE): Regular expression update.
23511 * script/function.c (grub_script_function_call): Moved ...
23512 * script/execute.c (grub_script_function_call): ... to here.
23513 (grub_script_execute_arglist_to_argv): Removed.
23514 (grub_script_arglist_to_argv): New function.
23515 * script/argv.c: New file.
23516 (grub_script_argv_free): New function.
23517 (grub_script_argv_next): Likewise.
23518 (grub_script_argv_append): Likewise.
23519 (grub_script_argv_split_append): Likewise.
23520 * include/grub/script_sh.h (grub_script_argv): New struct.
23521 (grub_script_argv_free): New function.
23522 (grub_script_argv_next): Likewise.
23523 (grub_script_argv_append): Likewise.
23524 (grub_script_argv_split_append): Likewise.
23525
23526 * conf/common.rmk (normal.mod): New source script/argv.c.
23527
23528 * tests/grub_script_echo1.in: More tests.
23529 * tests/grub_script_vars1.in: Likewise.
23530 * tests/grub_script_functions.in: New test case.
23531 * conf/tests.rmk: Rules for new testcase.
23532
8022b748
BC
235332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23534
23535 Remove grub_script_cmdblock struct.
23536
23537 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23538 * script/parser.y: Likewise.
23539 * script/execute.c: Rename cmdblock suffix to cmdlist.
23540 * script/script.c: Likewise.
23541 * util/grub-script-check.c: Likewise.
23542
79a6ba61
YB
235432010-08-11 Yves Blusseau <blusseau@zetam.org>
23544
23545 * .bzrignore: add grub-macho2img
23546
d04b9414
VS
235472010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23548
23549 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23550
f947ab49
VS
235512010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23552
23553 Remove the dump of sm712 initialisation sequence.
23554
23555 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23556 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23557 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23558 (GRUB_VGA_CR_*): Added many registers.
23559 (GRUB_VGA_SR_*): Likewise.
23560 (GRUB_VGA_GR_*): Likewise.
23561 (grub_vga_write_arx): New function.
23562 (grub_video_hw_config): New struct.
23563 (grub_vga_set_geometry): New function.
23564 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23565 GRUB_PCI_CLASS_SUBCLASS_VGA.
23566 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23567 * video/sm712.c (grub_sm712_write_reg): New function
23568 (grub_sm712_read_reg): Likewise.
23569 (grub_sm712_sr_write): Likewise.
23570 (grub_sm712_gr_write): Likewise.
23571 (grub_sm712_cr_write): Likewise.
23572 (grub_sm712_write_arx): Likewise.
23573 (grub_sm712_cr_shadow_write): Likewise.
23574 (grub_sm712_write_dda_lookup): Likewise.
23575 (grub_video_sm712_setup): Initialise the video rather then
23576 blindly replay the dump.
23577 (main) [TEST]: Add a routine to be able to compile as standalone for
23578 tests.
23579 * video/sm712_init.c (sm712_init): Removed.
23580 (sm712_sr_seq1): New array.
23581 (sm712_sr_seq2): Likewise.
23582
f0206638
VS
235832010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23584
23585 * include/grub/vga.h: Add missing grub/pci.h include.
23586
2764da3b
YB
235872010-08-10 Yves Blusseau <blusseau@zetam.org>
23588
23589 * util/grub-macho2img.c (main): fix typo
23590
cf0c775e
VS
235912010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23592
23593 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23594 (grub_vga_gr_read): Likewise.
23595 (grub_vga_cr_write): Likewise.
23596 (grub_vga_cr_read): Likewise.
23597 (grub_vga_sr_write): Likewise.
23598 (grub_vga_sr_read): Likewise.
23599 (grub_vga_palette_read): Likewise.
23600 (grub_vga_palette_write): Likewise.
23601 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23602 (grub_sm712_sr_read): New function.
23603 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23604 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23605
07f360e9
RM
236062010-08-09 Robert Millan <rmh@gnu.org>
23607
23608 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23609 out unused variables on non-ZFS build.
23610
346c2072
RM
236112010-08-08 Robert Millan <rmh@gnu.org>
23612
23613 Fix path generation for sub-filesystems in ZFS.
23614
23615 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23616 missing slash.
23617
71175420
RM
236182010-08-08 Robert Millan <rmh@gnu.org>
23619
23620 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23621
0d8286f3
RM
236222010-08-08 Robert Millan <rmh@gnu.org>
23623
23624 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23625 exist, issue a proper error message (rely on `ls' for translated
23626 strings).
23627
55dd2924
RM
236282010-08-08 Robert Millan <rmh@gnu.org>
23629
23630 Fix grub-probe invocation.
23631
23632 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23633
d3dd9e80
RM
236342010-08-04 Robert Millan <rmh@gnu.org>
23635
23636 * configure.ac: Remove checks for getfsstat() and getmntany().
23637 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23638 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23639 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23640 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23641 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23642 function.
23643 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23644 via find_mount_point_from_dir() and getfsstat() / getmntany().
23645
0de22aa9
RM
236462010-08-04 Robert Millan <rmh@gnu.org>
23647
23648 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23649 (grub_find_zpool_from_mount_point): Merge into ...
23650 (grub_find_zpool_from_dir): ... this.
23651 * kern/emu/misc.c: Likewise.
23652
23653 * kern/emu/misc.c
23654 (grub_make_system_path_relative_to_its_root): Replace
23655 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23656 with grub_find_zpool_from_dir().
23657 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23658
62858144
RM
236592010-08-04 Robert Millan <rmh@gnu.org>
23660
23661 Support OpenSolaris in ZFS device resolution.
23662
23663 * configure.ac: Check for getmntany().
23664 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23665 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23666 support.
23667
9dd6fd50
RM
236682010-08-03 Robert Millan <rmh@gnu.org>
23669
23670 Fix grub-emu build.
23671
23672 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23673 * include/grub/emu/misc.h: ... here.
23674
23675 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
23676 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
23677
23678 * util/misc.c: Remove `<grub/util/libzfs.h>'.
23679 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
23680 (grub_get_libzfs_handle): Move to ...
23681 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
23682 (grub_get_libzfs_handle): ... here.
23683
c9f7ff97
BC
236842010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
23685
23686 * script/execute.c (grub_script_execute_cmdline): Check for NULL
23687 as command name case.
23688
a870a783
CW
236892010-08-02 Colin Watson <cjwatson@ubuntu.com>
23690
23691 * disk/raid.c (insert_array): Select unique numbers for named arrays
23692 as well, for use as keys in the disk cache.
23693
c7db243b
RM
236942010-08-01 Robert Millan <rmh@gnu.org>
23695
23696 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
23697 kFreeBSD device name, except on ZFS where the filesystem label is
23698 used.
23699 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
23700 `/boot/zfs/zpool.cache'.
23701 Set mountfrom kernel variable using ${kfreebsd_device}.
23702
f7abdefb
RM
237032010-08-01 Robert Millan <rmh@gnu.org>
23704
23705 Make it even harder to use uninitialized `libzfs_handle' (and
23706 make the interface a bit simpler).
23707
23708 * include/grub/util/misc.h (grub_util_init_libzfs)
23709 (libzfs_handle): Remove.
23710 (grub_get_libzfs_handle): New prototype.
23711
23712 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
23713 attribute.
23714 (grub_util_init_libzfs): Remove.
23715 (grub_get_libzfs_handle): New function.
23716
23717 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
23718 grub_get_libzfs_handle() to obtain a libzfs handle instead of
23719 accessing `libzfs_handle' directly.
23720
c882acc0
RM
237212010-08-01 Robert Millan <rmh@gnu.org>
23722
23723 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23724 (grub_find_zpool_from_mount_point): New function prototypes.
23725
23726 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23727 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23728
23729 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23730 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23731 `static' attribute.
23732
23733 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23734 finding zpool from mount point into ...
23735 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23736
23737 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23738 requested path is part of a ZFS pool, use
23739 grub_find_zpool_from_mount_point() to detect its filesystem name,
23740 and generate a path with `/fsname@path' syntax.
23741
8bfe31d8
CW
237422010-08-01 Colin Watson <cjwatson@ubuntu.com>
23743
23744 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
23745 (void) rather than () so that this is a proper prototype.
23746
553df63d
VS
237472010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23748
23749 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
23750
8687cf07
VS
237512010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23752
23753 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
23754 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
23755
ea9be8ea
CW
237562010-08-01 Colin Watson <cjwatson@ubuntu.com>
23757
23758 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
23759
6eea041a
CW
237602010-08-01 Colin Watson <cjwatson@ubuntu.com>
23761
23762 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
23763
2cfb45df
CW
237642010-08-01 Colin Watson <cjwatson@ubuntu.com>
23765
23766 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
23767 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
23768 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
23769 disable gfxpayload.
23770 (Shell-like scripting): Add real content.
23771 (Serial terminal): Suggest `terminal_input serial; terminal_output
23772 serial' rather than putting the two commands on separate lines,
23773 since console input will be inoperative after the first command.
23774 (menuentry): Document --class, --users, and --hotkey options.
23775 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
23776 Vladimir Serbinenko).
23777
7decd202
VS
237782010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
237792010-08-01 Colin Watson <cjwatson@ubuntu.com>
23780
23781 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
23782
c882acc0
RM
237832010-08-01 Robert Millan <rmh@gnu.org>
23784
23785 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23786 (grub_find_zpool_from_mount_point): New function prototypes.
23787
23788 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23789 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23790
23791 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23792 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23793 `static' attribute.
23794
23795 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23796 finding zpool from mount point into ...
23797 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23798
23799 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23800 requested path is part of a ZFS pool, use
23801 grub_find_zpool_from_mount_point() to detect its filesystem name,
23802 and generate a path with `/fsname@path' syntax.
23803
deb0caa3
RM
238042010-08-01 Robert Millan <rmh@gnu.org>
23805
23806 Prevent accidental use of uninitialized libzfs_handle.
23807
23808 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
23809 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
23810 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
23811
ce04ef47
CW
238122010-08-01 Colin Watson <cjwatson@ubuntu.com>
23813
23814 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
23815 util/grub.d/10_linux.in). Fixes Debian bug #591093.
23816
ebf53056
RM
238172010-08-01 Robert Millan <rmh@gnu.org>
23818
23819 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 23820
3710bb6b
RM
238212010-07-31 Robert Millan <rmh@gnu.org>
23822
23823 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
23824
8072efeb
RM
238252010-07-31 Robert Millan <rmh@gnu.org>
23826
23827 * kern/emu/misc.c: Add missing license header.
23828
3169f4c7
RM
238292010-07-31 Robert Millan <rmh@gnu.org>
23830
23831 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
23832
23833 * include/grub/util/libnvpair.h: Include `<config.h>'.
23834 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
23835 declaring libnvpair prototypes ourselves.
23836 * include/grub/util/libzfs.h: Include `<config.h>'.
23837 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
23838 declaring libzfs prototypes ourselves.
23839
23840 (libzfs_handle): Moved to ...
23841 * include/grub/util/misc.h (libzfs_handle): ... here.
23842 Include `<grub/util/libzfs.h>'.
23843
c9a00aee
RM
238442010-07-30 Robert Millan <rmh@gnu.org>
23845
23846 * include/grub/emu/misc.h: Add missing license header.
23847
a184f9c8
RM
238482010-07-30 Robert Millan <rmh@gnu.org>
23849
23850 Enable `grub-probe -t device' resolution on ZFS.
23851
23852 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
23853 * include/grub/util/libnvpair.h: New file.
23854 * include/grub/util/libzfs.h: New file.
23855
23856 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
23857 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
23858 `<grub/util/libnvpair.h>'.
23859 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
23860
23861 (find_mount_point_from_dir): New static function.
23862 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
23863 function.
23864 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
23865 find_root_device_from_libzfs() before ressorting to find_root_device().
23866
23867 * include/grub/util/misc.h (grub_util_init_libzfs): New function
23868 prototype.
23869 * util/misc.c: Include `<grub/util/libzfs.h>'.
23870 (grub_util_init_libzfs): New function.
23871 [HAVE_LIBZFS] (libzfs_handle): New global variable.
23872 [HAVE_LIBZFS] (fini_libzfs): New static function.
23873 (grub_util_init_libzfs): New function.
23874 * util/grub-probe.c (main): Call grub_util_init_libzfs().
23875
f7790cdd
RM
238762010-07-30 Robert Millan <rmh@gnu.org>
23877
23878 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
23879 (xmalloc, xrealloc, xstrdup, xasprintf): Add
23880 `warn_unused_result' attribute.
23881 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
23882 (grub_xasprintf, grub_xvasprintf): Likewise.
23883 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
23884
0806b63c
RM
238852010-07-29 Robert Millan <rmh@gnu.org>
23886
23887 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
23888 (probe): Handle `PRINT_FS_LABEL'.
23889 (main): Handle `-t fs_label'.
23890
9f841f5c
RM
238912010-07-29 Robert Millan <rmh@gnu.org>
23892
23893 * configure.ac: Remove grub-mkisofs checks.
23894
46371121
VS
238952010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23896
23897 * util/ieee1275/grub-install.in: Don't use empty grub_device.
23898 Reported by: Lennart Sorensen.
23899
239002010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23901
23902 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
23903 prior to terminal_input/terminal_output separation. It's been over 1.5
23904 years and those versions weren't widely deployed.
23905
a9600892
CW
239062010-07-22 Colin Watson <cjwatson@ubuntu.com>
23907
23908 * disk/raid.c (insert_array): Don't count named arrays when looking
23909 for unused array numbers.
697e053c 23910 Reported and tested by: Michael Guntsche.
a9600892 23911
c03507df
CW
239122010-07-20 Colin Watson <cjwatson@ubuntu.com>
23913
23914 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
23915 implementation of this so that grub-emu links again, with a note
23916 that this should support hotplugging in the future.
23917
b26f1c11
CW
239182010-07-20 Colin Watson <cjwatson@ubuntu.com>
23919
23920 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23921
efc9d7f1
CW
239222010-07-20 Colin Watson <cjwatson@ubuntu.com>
23923
23924 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
23925 handle on failure.
23926 (grub_loopback_close): Remove empty function.
23927 (grub_loopback_dev): Remove close method.
23928
dd8ff5c9
CW
239292010-07-20 Colin Watson <cjwatson@ubuntu.com>
23930
23931 Disable EFI cursor when the EFI console becomes inactive.
23932
23933 * term/efi/console.c (grub_efi_console_init): New function.
23934 (grub_efi_console_fini): New function.
23935 (grub_console_term_output): Register init and fini methods.
23936
5e3bec67
VS
239372010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23938
23939 * tests/util/grub-shell-tester.in: Remove bashism and declare as
23940 sh script.
23941
afaec079
VS
239422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23943
23944 * disk/loopback.c (grub_loopback): Replace filename with file.
23945 (delete_loopback): Handle new semantics.
23946 (grub_cmd_loopback): Likewise.
23947 (grub_loopback_iterate): Likewise.
23948 (grub_loopback_close): Likewise.
23949
a6a11f3c
VS
239502010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23951
23952 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
23953 with -p "".
23954 Reported by: Tito Keitel.
23955
64a638b0
VS
239562010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23957
23958 * docs/grub.texi (Naming convention): Document new naming convention.
23959
ab8ba957
VS
239602010-07-20 Vadim Solomin <vadic052@gmail.com>
239612010-07-20 Colin Watson <cjwatson@ubuntu.com>
23962
23963 Generate device.map in something closer to the old ordering.
23964
23965 * util/deviceiter.c (struct device): New declaration.
23966 (compare_file_names): Rename to ...
23967 (compare_devices): ... this. Sort by kernel name in preference to
23968 the stable by-id name, but keep the latter as a fallback comparison.
23969 Update header comment.
23970 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
23971 of `struct device' rather than of plain file names.
23972
a29d6a4b
TF
239732010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
23974
23975 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
23976 on i386.
23977
39d824e8
VS
239782010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23979
23980 * commands/acpi.c (setup_common_tables): Use sizeof instead of
23981 hardcoding size.
23982 (setv1table): Likewise.
23983
f058276b
FZ
239842010-07-20 Colin Watson <cjwatson@ubuntu.com>
23985
23986 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
23987 removing the homehost if present.
23988 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
23989 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
23990 removing the homehost if present.
23991 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
23992 if possible.
23993 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
23994
23995 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
23996 parameter. Set its pointer target to 0.
23997 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
23998 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
23999 `data_offset' value from the superblock for 1.x metadata.
24000 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24001 data on the device.
24002 (insert_array): Record the start sector of data on the device.
24003 (grub_raid_register): Pass start_sector parameters to
24004 grub_raid_list->detect and insert_array.
24005 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24006 member.
24007 (struct grub_raid): Add start_sector parameter to `detect'.
24008
24009 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24010 __attribute__ ((packed)), leaving a comment.
24011 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24012 (grub_mdraid_detect_09): ... here and ...
24013 (grub_mdraid_detect_1x): ... here.
24014
240152010-07-20 Peter Henn <peter.henn@web.de>
24016
24017 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24018 chunk size and disk size, which are already given as sector counts
24019 as distinct from the 0.90 units. Fetch the correct device number
24020 from the role table instead of using the table index.
24021
240222010-07-20 Felix Zielcke <fzielcke@z-51.de>
24023
24024 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24025 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24026 (WriteMostly1): New macro.
24027 Set array->name to NULL for metadata format 0.90. Add support for
24028 metadata 1.x. Fix some comments.
24029 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24030 few comments.
24031 * util/getroot.c (grub_util_get_grub_dev): Add support for
24032 /dev/md/name style devices.
24033
4b761da9
CW
240342010-07-20 Colin Watson <cjwatson@ubuntu.com>
24035
24036 * .bzrignore: Ignore 20_linux_xen.
24037
5771289a
CW
240382010-07-17 Colin Watson <cjwatson@ubuntu.com>
24039
24040 * util/import_unicode.py: Remove unnecessary imports.
24041
5dab68df
AN
240422010-07-17 Aleš Nesrsta <starous@volny.cz>
24043
24044 Hotplugging and USB hub support.
24045
24046 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24047 (grub_ohci): Likewise.
24048 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24049 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24050 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24051 (GRUB_OHCI_CTRL_EDS): Likewise.
24052 (GRUB_OHCI_BULK_EDS): Likewise.
24053 (GRUB_OHCI_TDS): Likewise.
24054 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24055 (grub_ohci_ed_phys2virt): New function.
24056 (grub_ohci_virt_to_phys): Likewise.
24057 (grub_ohci_td_phys2virt): Likewise.
24058 (grub_ohci_td_virt2phys): Likewise.
24059 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24060 attachment.
24061 (grub_ohci_find_ed): New function.
24062 (grub_ohci_alloc_td): Likewise.
24063 (grub_ohci_free_td): Likewise.
24064 (grub_ohci_free_tds): Likewise.
24065 (grub_ohci_transfer): Use previously allocated memory.
24066 (grub_ohci_portstatus): Reset status changed bit.
24067 (grub_ohci_detect_dev): Supply status changed.
24068 (grub_ohci_fini_hw): Free memory.
24069 (grub_ohci_restore_hw): Reallocate memory.
24070 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24071 Reset status change.
24072 (grub_uhci_detect_dev): Supply status_change.
24073 * bus/usb/usb.c (attach_hooks): New var.
24074 (grub_usb_device_attach): New function.
24075 (grub_usb_register_attach_hook_class): Likewise.
24076 (grub_usb_unregister_attach_hook_class): Likewise.
24077 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24078 (grub_usb_add_hub): Reset connection changed bit.
24079 (attach_root_port): New function.
24080 (grub_usb_root_hub): Likewise.
24081 (poll_nonroot_hub): Likewise.
24082 (grub_usb_poll_devices): Likewise.
24083 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24084 * disk/usbms.c (grub_usbms_open): Use device hooks.
24085 (grub_usbms_iterate) :Poll devices.
24086 (grub_usbms_finddevs): Split into ...
24087 (grub_usbms_attach): ... this ...
24088 (grub_usbms_attach): ... and this.
24089 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24090 in detect_dev.
24091 (grub_usb_interface): New fields attached and detach_hook.
24092 (grub_usb_attach_hook_class): New type.
24093 (grub_usb_attach_desc): New struct.
24094 (grub_usb_register_attach_hook_class): New function.
24095 (grub_usb_unregister_attach_hook_class): Likewise.
24096 (grub_usb_poll_devices): Likewise.
24097 (grub_usb_device_attach): Likewise.
24098 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24099 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24100
3222efaf
VS
241012010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24102
24103 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24104 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24105 delta determination style. Works with most NetBSD partitions too.
24106
139b714a
VS
241072010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24108
24109 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24110 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24111
986aad56
VS
241122010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24113
24114 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24115
99be513c
AB
241162010-07-14 Anton Blanchard <anton@samba.org>
24117
24118 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24119 ET_DYN files.
24120
18075f62
GS
241212010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24122
24123 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24124
8d9a5b15
GS
241252010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24126
24127 * kern/partition.c (grub_partition_check_containment): New function to
24128 check that a partition is physically contained in a parent. Since
24129 offsets are relative (and non-negative), this reduces to checking that
24130 the partition ends before its parent.
24131 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24132 (grub_partition_iterate): Likewise.
24133 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24134 comments.
24135 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24136 partitions that start before their parent, and add debug printfs.
24137
19563c25
CW
241382010-07-13 Colin Watson <cjwatson@ubuntu.com>
24139
24140 * Makefile.in (.SUFFIX): Spell correctly, as ...
24141 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24142 bare module name without `.mod', e.g. `test') tried to invoke a
24143 Modula-2 compiler.
24144
1a1f1e67
CW
241452010-07-13 Colin Watson <cjwatson@ubuntu.com>
24146
24147 * README: Point to the Info manual.
24148
811b0dca
JS
241492010-07-13 Jiro SEKIBA <jir@unicus.jp>
24150
24151 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24152 2nd superblock position from partition size.
24153
e4f4eafc
CW
241542010-07-10 Colin Watson <cjwatson@ubuntu.com>
24155
24156 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24157 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24158 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24159 outputs.
24160
4274c30f
VS
241612010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24162
24163 Restructure SCSI .id handling.
24164 Reported and tested by: Aleš Nesrsta.
24165
24166 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24167 (grub_atapi_dev): Changed .name to "ata". New field .id.
24168 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24169 (grub_usbms_dev): New field .id.
24170 * disk/scsi.c (grub_scsi_iterate): Generate name.
24171 (grub_scsi_open): Parse name.
24172 * include/grub/scsi.h (grub_make_scsi_id): New function.
24173 (grub_scsi_dev): Change iterate and open to number instead of naming
24174 busses. All users updated.
24175 (grub_scsi): Remove name. Add .bus.
24176
5bc24388
VS
241772010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24178
24179 * commands/help.c (grub_cmd_help): Fix a typo.
24180
249975ba
VS
241812010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24182
24183 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24184 Reported and tested by: Colin Watson.
24185
3eaac1a1
VS
241862010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24187
24188 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24189 in this context.
24190
becce1b1
VS
241912010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24192
24193 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24194
f7bf0918
CW
241952010-07-07 Colin Watson <cjwatson@ubuntu.com>
24196
24197 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24198 indentation.
24199
0b0f9620
CW
242002010-07-06 Colin Watson <cjwatson@ubuntu.com>
24201
24202 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24203 and disk/raid6_recover.c.
24204 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24205 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24206
1e545469
CW
242072010-07-06 Colin Watson <cjwatson@ubuntu.com>
24208
24209 * term/gfxterm.c (repaint_schedulded): Rename to ...
24210 (repaint_scheduled): ... this. Update all callers.
24211 (repaint_was_schedulded): Rename to ...
24212 (repaint_was_scheduled): ... this. Update all callers.
24213
5357687a
CW
242142010-07-06 Colin Watson <cjwatson@ubuntu.com>
24215
24216 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24217 which we expect to be handled by upper layers.
24218
29d7e783
BC
242192010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24220
24221 * bus/usb/usbhub.c: #include time.h header.
24222
37582066
CW
242232010-07-06 Colin Watson <cjwatson@ubuntu.com>
24224
24225 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24226 entry_name also for entries without stat blocks (e.g. ".."); fixes
24227 corruption of the first entry in a directory.
24228
c8c06953
CW
242292010-07-06 Colin Watson <cjwatson@ubuntu.com>
24230
24231 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24232 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24233 doesn't work otherwise.
24234
e75056f1
CW
242352010-07-05 Colin Watson <cjwatson@ubuntu.com>
24236
24237 * docs/grub.texi (Features): Update list of supported file systems.
24238 (GNU/Linux): Update for GRUB 2.
24239 (Serial terminal): Remove mention of --disable-serial, which was a
24240 GRUB Legacy configure option. Update instructions to use
24241 `terminal_input' and `terminal_output' rather than `terminal'.
24242 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24243 configuration' and `Installing GRUB using grub-install'.
24244 (Menu entry editor): Update for GRUB 2.
24245 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24246 Document new -a, -u, and -v options.
24247 (initrd): New section.
24248 (initrd16): New section.
24249 (linux): New section.
24250 (linux16): New section.
24251 (search): The `var' argument to `--set' is optional.
24252 (GRUB only offers a rescue shell): Go into a little more detail on
24253 drive ordering.
24254
5cf69151
CW
242552010-07-05 Colin Watson <cjwatson@ubuntu.com>
24256
24257 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24258
e3f90044
CW
242592010-07-05 Colin Watson <cjwatson@ubuntu.com>
24260
24261 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24262 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24263
38d8f4f3
CW
242642010-07-05 Colin Watson <cjwatson@ubuntu.com>
24265
24266 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24267 install_prefix, in line with install_dos_part and install_bsd_part.
24268 Add new prefix variable, which is copied to install_prefix after
24269 comparing core.img in memory with the one read from disk in the
24270 no-embedding case, and use that rather than overwriting
24271 install_prefix immediately when installing to a partition.
24272 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24273 Bicakci.
24274
57ebd41e
GS
242752010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24276
24277 * configure.ac: Avoid == in test command, it's not portable.
24278 * util/grub.d/30_os-prober.in: Likewise.
24279
cb7f64b2
CW
242802010-07-04 Colin Watson <cjwatson@ubuntu.com>
24281
24282 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24283
6b654bb0
GS
242842010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24285
24286 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24287 multiple (top-level) partmaps.
24288
72a2026d
VS
242892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24290
24291 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24292 Reported by: Tino Keitel.
72a2026d 24293
df3eb88f
VS
242942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24295
24296 Bidi and diacritics support.
24297
24298 * Makefile.in (widthspec.bin): New target.
24299 (widthspec.h): Likewise.
24300 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24301 * autogen.sh: Generate unidata.c.
24302 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24303 * commands/ls.c (grub_ls_list_devices): Likewise.
24304 (grub_ls_list_files): Likewise.
24305 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24306 (grub_mini_cmd_lsmod): Likewise.
24307 * commands/read.c: Likewise.
24308 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24309 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24310 * lib/arg.c (grub_arg_show_help): Likewise.
24311 * lib/crypto.c (grub_password_get): Likewise.
24312 * normal/auth.c (grub_username_get): Likewise.
24313 * normal/misc.c (grub_normal_print_device_info): Likewise.
24314 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24315 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24316 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24317 (normal/charset.c_DEPENDENCIES): New variable.
24318 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24319 (pkglib_MODULES): Remove charset.mod.
24320 (charset_mod_SOURCES): Removed.
24321 (charset_mod_CFLAGS): Likewise.
24322 (charset_mod_LDFLAGS): Likewise.
24323 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24324 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24325 and term/tparm.c.
24326 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24327 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24328 (kernel_img_HEADERS): Add terminfo.h.
24329 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24330 Fill ->font. Reverse ascii bitmaps.
24331 (grub_font_get_xheight): New function.
24332 * font/font.c (grub_font_get_string_width): Moved from here ...
24333 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24334 * font/font.c (grub_font_draw_string): Moved from here ...
24335 * gfxmenu/font.c (grub_font_draw_string): ... here.
24336 * font/font.c (grub_font_dup_glyph): New function.
24337 (grub_font_blit_glyph): Likewise.
24338 (grub_font_blit_glyph_mirror): Likewise.
24339 (blit_comb): Likewise.
24340 (grub_font_construct_dry_run): Likewise.
24341 (grub_font_get_constructed_device_width): Likewise.
24342 (grub_font_construct_glyph): Likewise.
24343 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24344 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24345 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24346 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24347 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24348 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24349 (grub_font_get_xheight): New proto.
24350 (grub_font_get_constructed_device_width): Likewise.
24351 (grub_font_construct_glyph): Likewise.
24352 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24353 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24354 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24355 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24356 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24357 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24358 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24359 (grub_console_getcharwidth): Likewise.
24360 * include/grub/misc.h (grub_xputs): New proto.
24361 (grub_puts): Inlined.
24362 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24363 (grub_normal_get_line_counter): Removed.
24364 (grub_install_newline_hook): Likewise.
24365 (grub_normal_get_char_counter): New proto.
24366 (grub_normal_reset_more): Likewise.
24367 (grub_xputs_normal): Likewise.
24368 * include/grub/powerpc/ieee1275/console.h: Removed.
24369 * include/grub/sparc64/ieee1275/console.h: Likewise.
24370 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24371 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24372 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24373 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24374 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24375 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24376 (grub_term_input): Pass reference to self. All users updated.
24377 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24378 Pass reference to self. New fields normal_color, highlight_color and
24379 data. All users updated.
24380 (grub_putchar): Removed.
24381 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24382 (grub_unicode_estimate_width): New function.
24383 (grub_term_getcharwidth): Add defaults.
24384 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24385 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24386 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24387 (grub_cls): Remove EXPORT_FUNC.
24388 (grub_setcolorstate): Inline.
24389 (grub_newline_hook): Removed.
24390 * include/grub/terminfo.h: Rewritten. All users updated.
24391 * include/grub/unicode.h: New file.
24392 * include/grub/video.h (grub_video_signed_rect): New type.
24393 * kern/emu/console.c (grub_console_highlight_color): Removed.
24394 (grub_console_normal_color): Likewise.
24395 (grub_console_standard_color): Made static.
24396 (grub_ncurses_putchar): Remove mapping.
24397 (grub_ncurses_getcharwidth): Removed.
24398 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24399 (grub_ncurses_setcolor): Removed.
24400 (grub_ncurses_getcolor): Likewise.
24401 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24402 (grub_console_putchar): ... this.
24403 (grub_console_putchar): Handle argument difference.
24404 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24405 console_init_early and console_init_lately.
24406 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24407 * kern/misc.c (grub_puts): Removed.
24408 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24409 (grub_vsnprintf_real): Remove str = NULL support.
24410 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24411 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24412 * kern/term.c (grub_putcode): Renamed to ...
24413 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24414 (grub_putchar): Removed.
24415 (grub_xputs_dumb): New function.
24416 (grub_xputs): New variable.
24417 * lib/charset.c: Move from here ...
24418 * normal/charset.c: ... to here.
24419 (grub_ucs4_to_utf8): New function.
24420 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24421 (join_types): New variable.
24422 (unpack_join): New function.
24423 (bidi_types): New variable.
24424 (unpack_bidi): New function.
24425 (get_bidi_type): Likewise.
24426 (get_join_type): Likewise.
24427 (is_mirrored): Likewise.
24428 (grub_unicode_get_comb_type): Likewise.
24429 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24430 (is_type_after): Likewise.
24431 (grub_unicode_aglomerate_comb): Likewise.
24432 (bidi_line_wrap): Likewise.
24433 (grub_bidi_line_logical_to_visual): Likewise.
24434 (grub_bidi_logical_to_visual): Likewise.
24435 (grub_unicode_mirror_code): Likewise.
24436 (grub_unicode_shape_code): Likewise.
24437 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24438 Don't use grub_putchar.
24439 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24440 (grub_normal_reader_init): Likewise.
24441 (grub_xputs_saved): New variable.
24442 (GRUB_MOD_INIT): Set grub_xputs.
24443 (GRUB_MOD_FINI): Restore grub_xputs.
24444 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24445 (menu_init): Avoid printing gfxmenu error.
24446 (show_menu): Use grub_normal_get_char_counter.
24447 * normal/menu_entry.c (update_screen): Fix out-of-array.
24448 (complete): Avoid NULL dereferencing.
24449 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24450 * normal/menu_text.c (print_spaces): Removed.
24451 (grub_print_ucs4): Likewise.
24452 (grub_print_message_indented): Use grub_print_ucs4.
24453 (print_message): Use grub_putcode.
24454 (print_entry): Hanlde diacritics.
24455 * normal/term.c (term_state): New type.
24456 (grub_more_lines): Removed.
24457 (term_states): New variable.
24458 (grub_normal_line_counter): Renamed to ..
24459 (grub_normal_char_counter): ...this. All users updated.
24460 (grub_normal_get_line_counter): Renamed to ...
24461 (grub_normal_get_char_counter): ... this.
24462 (grub_normal_reset_more): New function.
24463 (process_newline): Removed.
24464 (print_more): New function.
24465 (grub_install_newline_hook): Removed.
24466 (map_code): New function.
24467 (grub_puts_terminal): Use grub_print_ucs4.
24468 (putglyph): New function.
24469 (putcode_real): Likewise.
24470 (grub_putcode): Use putcode_real.
24471 (get_maxwidth): New function.
24472 (get_startwidth): Likewise.
24473 (print_ucs4_terminal): Likewise.
24474 (find_term_state): Likewise.
24475 (put_glyphs_terminal): Likewise.
24476 (print_backlog): Likewise.
24477 (print_ucs4_real): Likewise.
24478 (grub_print_ucs4): Likewise.
24479 (grub_xputs_normal): Likewise.
24480 * term/efi/console.c (grub_console_putchar): Output diacritics.
24481 (grub_console_getcharwidth): Removed.
24482 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24483 * term/gfxterm.c (clear_char): Free chars.
24484 (scroll_up): Avoid leaking memory.
24485 (grub_gfxterm_putchar): Support diacritics.
24486 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24487 * term/i386/pc/console.c (grub_console_term_output): Declare as
24488 GRUB_TERM_CODE_TYPE_VGA.
24489 * term/i386/pc/vga.c (grub_vga_term): Declare as
24490 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24491 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24492 GRUB_TERM_CODE_TYPE_VGA.
24493 * term/i386/vga_common.c (map_char): Removed.
24494 (grub_console_putchar): Likewise.
24495 (grub_console_getcharwidth): Likewise.
24496 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24497 (colors): Reordered to match terminfo.
24498 (grub_ofconsole_normal_color): Removed.
24499 (grub_ofconsole_writeesc): Likewise.
24500 (grub_ofconsole_highlight_color): Likewise.
24501 (grub_ofconsole_getcharwidth): Likewise.
24502 (grub_ofconsole_setcolorstate): Likewise.
24503 (grub_ofconsole_setcolor): Likewise.
24504 (grub_ofconsole_getcolor): Likewise.
24505 (grub_ofconsole_readkey): Renamed to ...
24506 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24507 key.
24508 (grub_ofconsole_checkkey): Removed.
24509 (grub_ofconsole_getkey): Likewise.
24510 (grub_ofconsole_getxy): Likewise.
24511 (grub_ofconsole_gotoxy): Likewise.
24512 (grub_ofconsole_cls): Likewise.
24513 (grub_ofconsole_refresh): Likewise.
24514 (grub_ofconsole_terminfo_input): New struct.
24515 (grub_ofconsole_terminfo_output): Likewise.
24516 (grub_ofconsole_term_input): Use terminfo.
24517 (grub_ofconsole_term_output): Likewise.
24518 (grub_console_init): Split into ...
24519 (grub_console_init_early): ...this and ...
24520 (grub_console_init_lately): ...this. Use terminfo.
24521 (grub_ofconsole_putchar): Renamed to ...
24522 (put): ... this. Remove mapping.
24523 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24524 * term/serial.c: Simplify using terminfo.
24525 (xpos): Removed.
24526 (ypos): Likewise.
24527 (keep_track): Likewise.
24528 (registered): Likewise.
24529 (input_buf): Likewise.
24530 (npending): Likewise.
24531 (serial_translate_key_sequence): Likewise.
24532 (fill_input_buf): Likewise.
24533 (grub_serial_checkkey): Likewise.
24534 (grub_serial_getkey): Likewise.
24535 (grub_serial_getxy): Likewise.
24536 (grub_serial_gotoxy): Likewise.
24537 (grub_serial_putchar): Likewise.
24538 (grub_serial_cls): Likewise.
24539 (grub_serial_setcolorstate): Likewise.
24540 (grub_serial_setcursor): Likewise.
24541 (serial_hw_init): Use serial_hw_fetch.
24542 (grub_serial_terminfo_input): New variable.
24543 (grub_serial_terminfo_output): Likewise.
24544 (grub_serial_term_input): Use terminfo.
24545 (grub_serial_term_output): Likewise.
24546 * term/terminfo.c (putstr): Use put.
24547 (grub_terminfo_all_free): New function
24548 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24549 (grub_terminfo_output_register): New function.
24550 (grub_terminfo_output_unregister): Likewise.
24551 (grub_terminfo_getxy): Likewise.
24552 (grub_terminfo_readkey): Likewise.
24553 (grub_terminfo_checkkey): Likewise.
24554 (grub_terminfo_getkey): Likewise.
24555 (grub_terminfo_input_init): Likewise.
24556 (print_terminfo): Likewise.
24557 (grub_cmd_terminfo): Handle encoding.
24558 (grub_terminfo_gotoxy): Track position.
24559 (grub_terminfo_cls): Likewise.
24560 (grub_terminfo_putchar): Likewise.
24561 (grub_terminfo_setcolorstate): Handle colors
24562 (grub_terminfo_cursor_on): This ...
24563 (grub_terminfo_cursor_off): ... and this merged into ...
24564 (grub_terminfo_setcursor): ... this.
24565 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24566 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24567 * unicode/BidiMirroring.txt: Likewise.
24568 * unicode/UnicodeData.txt: Likewise.
24569 * unicode/COPYING: Likewise.
24570 * util/grub-editenv.c (grub_putchar): Removed.
24571 (grub_xputs_real): New function.
24572 (grub_xputs): New variable.
24573 * util/grub-fstest.c (grub_putchar): Removed.
24574 (grub_xputs_real): New function.
24575 (grub_xputs): New variable.
24576 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24577 (grub_xputs_real): New function.
24578 (grub_xputs): New variable.
24579 * util/grub-probe.c (grub_putchar): Removed.
24580 (grub_xputs_real): New function.
24581 (grub_xputs): New variable.
24582 * util/grub-script-check.c (grub_putchar): Removed.
24583 (grub_xputs_real): New function.
24584 (grub_xputs): New variable.
24585 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24586 (grub_xputs_real): New function.
24587 (grub_xputs): New variable.
24588 * util/import_unicode.py: New file.
24589 * util/grub-mkfont.c (ft_errmsgs): New array.
24590 (grub_glyph_info): Make bitmap a pointer.
24591 (file_formats): New type WIDTH_SPEC.
24592 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24593 (options): Add width-spec.
24594 (help): Likewise.
24595 (add_char): Renamed to ...
24596 (add_glyph): ... this.
24597 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24598 (glyph_replace): New type.
24599 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24600 (add_char): New function.
24601 (add_subst): Likewise.
24602 (process_cursive): Likewise.
24603 (add_font): Handle GSUB.
24604 (write_font_width_spec): New function.
24605 (main): Sort glyphs.
24606 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24607 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24608 * kern/term.c (grub_cls): Moved from here...
24609 * normal/term.c (grub_cls): ... here.
24610
50f0bcda
CW
246112010-07-02 Colin Watson <cjwatson@ubuntu.com>
24612
24613 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24614 suitable for using within the format argument of printf when
24615 converting grub_size_t.
24616 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24617 "x" to convert grub_size_t arguments.
24618
40372103
VS
246192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24620
24621 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24622 too long captions.
24623 (list_get_minimal_size): Take selection box into account.
24624
942a10c7
VS
246252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24626
24627 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24628 NULL font.
24629
2bdb2892
CW
246302010-07-02 Colin Watson <cjwatson@ubuntu.com>
24631
24632 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24633 devices when iterating over /dev/disk/by-id; they will be handled
24634 later if appropriate, which they aren't always (e.g. LVM).
24635
e03ed6c1
CW
246362010-07-02 Colin Watson <cjwatson@ubuntu.com>
24637
24638 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24639 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24640 fails.
24641 (grub_halt): Likewise.
24642 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24643 reset-all fails.
24644 (grub_halt): Don't return, even if all of shut-down, power-off, and
24645 poweroff fail.
24646
47695765
CW
246472010-07-02 Colin Watson <cjwatson@ubuntu.com>
24648
24649 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24650 arguments, not three.
24651
507736c8
CW
246522010-07-02 Colin Watson <cjwatson@ubuntu.com>
24653
24654 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24655 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24656 LVM-on-RAID is handled correctly.
24657
e3c8cd37
CW
246582010-07-02 Colin Watson <cjwatson@ubuntu.com>
24659
24660 * docs/grub.texi (Changes from GRUB Legacy): New section.
24661 (Future): Fix typo.
24662
8d4a2fec
CW
246632010-07-02 Colin Watson <cjwatson@ubuntu.com>
24664
24665 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24666 grub.d/README accidentally ends up executable for one reason or
24667 another. Ignore it.
24668
1c4827be
VS
246692010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24670
24671 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24672 (gpt_partition_map_iterate): Support non-512B sectors.
24673
d9a0c941
VS
246742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24675
24676 * kern/efi/init.c (grub_efi_init): Disable watchdog.
24677 Tested by: Seth Goldberg.
24678
48f27e87
VS
246792010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24680
24681 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
24682 Properly align mbi.
24683 Reported by: Seth Goldberg.
24684
b0c4f956
VS
246852010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24686
24687 * util/grub-mkrescue.in: Avoid module duplication.
24688
105a2e8c
SF
246892010-07-01 Sean Finney <seanius@seanius.net>
24690
24691 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
24692
5944958c
SF
246932010-07-01 Sean Finney <seanius@seanius.net>
24694
24695 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
24696
246972010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24698
24699 * disk/lvm.c (grub_lvm_checkvalue): New function.
24700 (grub_lvm_check_flag): Likewise.
24701
b79889ba
RM
247022010-07-01 Robert Millan <rmh@gnu.org>
24703
24704 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
24705 Support 'p' as partition separator on kernel of FreeBSD (used
24706 with GPT labels).
24707 (grub_util_biosdisk_get_grub_dev): Likewise.
24708
ec1d04f1
VS
247092010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24710
24711 Yeeloong firmware port.
24712
24713 * boot/mips/yeeloong/fwstart.S: New file.
24714 * bus/cs5536.c (gpiodump): New const.
24715 (set_io_space): New function.
24716 (set_iod): Likewise.
24717 (set_p2d): Likewise.
24718 (grub_cs5536_init_geode): Likewise.
24719 * commands/mips/yeeloong/lsspd.c: New file.
24720 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
24721 (serial_mod_SOURCES): New variable.
24722 (serial_mod_CFLAGS): Likewise.
24723 (serial_mod_LDFLAGS): Likewise.
24724 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
24725 term/terminfo.c and term/tparm.c.
24726 (pkglib_IMAGES): Add fwstart.img.
24727 (fwstart_img_SOURCES): New variable.
24728 (fwstart_img_CFLAGS): Likewise.
24729 (fwstart_img_ASFLAGS): Likewise.
24730 (fwstart_img_LDFLAGS): Likewise.
24731 (fwstart_img_FORMAT): Likewise.
24732 (pkglib_MODULES): Add lsspd.mod.
24733 (lsspd_mod_SOURCES): New variable.
24734 (lsspd_mod_CFLAGS): Likewise.
24735 (lsspd_mod_LDFLAGS): Likewise.
24736 (pkglib_MODULES): Add halt.mod.
24737 (halt_mod_SOURCES): New variable.
24738 (halt_mod_CFLAGS): Likewise.
24739 (halt_mod_LDFLAGS): Likewise.
24740 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
24741 (serial_mod_SOURCES): Removed.
24742 (serial_mod_CFLAGS): Likewise.
24743 (serial_mod_LDFLAGS): Likewise.
24744 * disk/ata.c (check_device): New function.
24745 (grub_ata_device_initialize): Use check_device.
24746 (grub_ata_iterate): Recheck devices.
24747 (grub_ata_open): Likewise.
24748 (grub_atapi_iterate): Likewise.
24749 (grub_atapi_open): Likewise.
24750 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
24751 (GRUB_ATA_CH1_PORT1): Likewise.
24752 (GRUB_ATA_CH0_PORT2): Likewise.
24753 (GRUB_ATA_CH1_PORT2): Likewise.
24754 * include/grub/mips/loongson.h: New file.
24755 * include/grub/mips/yeeloong/ec.h: Likewise.
24756 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
24757 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
24758 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
24759 * include/grub/misc.h (grub_halt): Declare as noreturn.
24760 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
24761 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
24762 (UART_ENABLE_FIFO_TRIGGER1): New definition.
24763 (UART_ENABLE_DTRRTS): Likewise.
24764 (UART_ENABLE_MODEM): Removed.
24765 (UART_ENABLE_OUT2): New const.
24766 * include/grub/term.h (grub_term_register_input_active): New function.
24767 (grub_term_register_output_active): Likewise.
24768 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
24769 argument.
24770 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
24771 (init_pci): New function.
24772 (grub_machine_init): Execute platform init when firmware. Init serial.
24773 (grub_halt): Implement.
24774 (grub_exit): Likewise.
24775 (grub_reboot): Likewise.
24776 * term/serial.c (serial_hw_init): Update macros.
24777 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
24778 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
24779 (image_targets): New target mipsel-yeeloong-flash.
24780 (generate_image): Support IMAGE_YEELOONG_FLASH.
24781 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
24782 (grub_video_sm712_setup): Init card.
24783 (grub_video_sm712_set_palette): Removed.
24784 * video/sm712_init.c: New file.
24785
ff4a70d2
CW
247862010-06-30 Colin Watson <cjwatson@ubuntu.com>
24787
24788 * Makefile.in (install-local): Temporarily prepend $(builddir) to
24789 PATH when running help2man and then run it on the unadorned
24790 executable names, rather than passing $(builddir)/* paths to
24791 help2man. This avoids the build directory ending up in generated
24792 manual pages.
24793
1246efeb
CW
247942010-06-29 Colin Watson <cjwatson@ubuntu.com>
24795
24796 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
24797 to avoid accidents when debugging with 'sh -x'.
24798 * util/grub-mkrescue.in: Likewise.
24799 * util/grub.d/00_header.in: Likewise.
24800 * util/grub.d/10_hurd.in: Likewise.
24801 * util/grub.d/10_kfreebsd.in: Likewise.
24802 * util/grub.d/10_linux.in: Likewise.
24803 * util/grub.d/10_netbsd.in: Likewise.
24804 * util/grub.d/10_windows.in: Likewise.
24805 * util/grub.d/20_linux_xen.in: Likewise.
24806 * util/grub.d/30_os-prober.in: Likewise.
24807 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24808
1ba9b889
CW
248092010-06-29 Colin Watson <cjwatson@ubuntu.com>
24810
24811 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
24812 last character in the buffer.
24813 Reported by: Vladimir Serbinenko.
24814
dccaf99d
RM
248152010-06-29 Robert Millan <rmh@gnu.org>
24816
24817 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
24818 (Command-line and menu entry commands): Document `badram' command.
24819
d500ed12
RM
248202010-06-28 Robert Millan <rmh@gnu.org>
24821
24822 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
24823 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
24824 command using ${GRUB_BADRAM} as parameter.
24825
20bc84a6
CW
248262010-06-28 Colin Watson <cjwatson@ubuntu.com>
24827
24828 * docs/grub.texi (Device map): New section.
24829 (Themes): New section (stub).
24830 * Makefile.in (docs/grub.info): The info documentation now builds
24831 without errors. Make sure it stays that way.
24832
4045dee1
VS
248332010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24834
24835 Use normal parser for menu entries.
24836 Reported by: Thomas Frauendorfer
24837
24838 * include/grub/parser.h (grub_parser_execute): Don't export.
24839 * normal/menu.c (grub_menu_execute_entry_real): New function.
24840 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
24841
bca58c7b
CW
248422010-06-28 Colin Watson <cjwatson@ubuntu.com>
24843
24844 * docs/grub.texi (Embedded configuration): New section (replacing
24845 old "Preset Menu" stub).
24846 (Images): New section.
24847 (configfile): Note that any menu entries defined in `file' are shown
24848 immediately.
24849
dec53e63
JT
248502010-06-28 Josh Triplett <josh@joshtriplett.org>
24851
24852 * mmap/i386/pc/mmap_helper.S: Set CF on return.
24853
c06e40f7
CW
248542010-06-28 Colin Watson <cjwatson@ubuntu.com>
24855
24856 * util/grub-install.in: Add --debug-image= option.
24857
cb88052b
CW
248582010-06-28 Colin Watson <cjwatson@ubuntu.com>
24859
24860 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
24861 possible on Linux.
24862
24863 * util/deviceiter.c (check_device): Rename to ...
24864 (check_device_readable_unique): ... this. Update all callers.
24865 Maintain and check a list of which devices (by canonicalized name)
24866 have already been seen.
24867 (clear_seen_devices): New function.
24868 (compare_file_names) [__linux__]: New function.
24869 (grub_util_iterate_devices): Clear the list of seen devices on exit
24870 and (just in case) on entry.
24871 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
24872 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
24873 seen-devices list, superseded by general code in check_device.
24874
bbe34652
CW
248752010-06-28 Colin Watson <cjwatson@ubuntu.com>
24876
24877 * commands/cat.c (options): New variable.
24878 (grub_cmd_cat): Parse options. If the --dos option is given, print
24879 DOS-style "\r\n" line endings as simple newlines (Debian bug
24880 #586358).
24881 (GRUB_MOD_INIT): Use extcmd.
24882 (GRUB_MOD_FINI): Likewise.
24883 * docs/grub.texi (cat): Document --dos.
24884
412e09f3
VS
248852010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24886
24887 XEN with Linux grub-mkconfig support.
24888
24889 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
24890 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
24891 GRUB_CMDLINE_XEN_DEFAULT.
24892 * util/grub.d/20_linux_xen.in: New file.
24893
53f3ef38 248942010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
24895
24896 Initialise VGA video on qemu ourselves.
24897
24898 * boot/i386/qemu/boot.S: Don't call 0xc000.
24899 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
24900 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
24901 (kernel_img_HEADERS): Add pci.h.
24902 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
24903 * configure.ac: Force unifont on qemu and yeeloong.
24904 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
24905 (grub_vga_palette_write): Use correct register.
24906 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
24907 Call grub_qemu_init_cirrus.
24908 * kern/i386/qemu/init.c: New file.
24909 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
24910
24911 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
24912
c75be4fb
PR
249132010-06-26 Pavel Roskin <proski@gnu.org>
24914
24915 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
24916 13.
24917
d8034603
CW
249182010-06-26 Colin Watson <cjwatson@ubuntu.com>
24919
24920 * docs/grub.texi (Simple configuration): Explain that
24921 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
24922 set to `true' to disable their respective recovery entries, not
24923 merely set.
24924
3fa06487
CW
249252010-06-26 Colin Watson <cjwatson@ubuntu.com>
24926
24927 Make the `source' command slightly faster.
24928
24929 * normal/main.c (grub_normal_execute): Don't re-read list files when
24930 nested.
24931
e9b29642
CW
249322010-06-23 Colin Watson <cjwatson@ubuntu.com>
24933
24934 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
24935 field position and mask size to red fields from mode_info, not
24936 green.
24937 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
24938 Remove redundant tag->common.framebuffer_type assignment.
24939 Reported by: Seth Goldberg.
24940
e726542f
CW
249412010-06-23 Colin Watson <cjwatson@ubuntu.com>
24942
24943 Sync up other versions of the Linux loader with Robert Millan's
24944 change of 2010-01-09, "Make loader output a bit more user-friendly".
24945
24946 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
24947 grub_dprintf().
24948 (grub_cmd_linux): Likewise.
24949 (grub_cmd_initrd): Likewise.
24950 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
24951 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24952
d6e98a17
CW
249532010-06-21 Colin Watson <cjwatson@ubuntu.com>
24954
24955 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
24956 larger than MEMORY_MAP_SIZE.
24957
14d3f08e
BC
249582010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
24959
24960 Fix parallel build.
24961
24962 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
24963 dependency.
24964 * script/parser.y: #include grub_script.tab.h header.
24965
4f9613a3
VS
249662010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24967
24968 Support >3GiB and <16MiB RAM in i386-qemu.
24969
24970 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
24971 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
24972 (grub_lower_mem): Removed.
24973 (grub_upper_mem): Likewise.
24974 (mem_size): Made static.
24975 (above_4g): New variable.
24976 (grub_machine_mmap_init): Detect small mem_size and above_4g.
24977 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
24978 support.
24979
05e51879
VS
249802010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24981
24982 Cirrus 5446 and Bochs video cards support.
24983
24984 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
24985 video_bochs.mod
24986 (video_cirrus_mod_SOURCES): New variable.
24987 (video_cirrus_mod_CFLAGS): Likewise.
24988 (video_cirrus_mod_LDFLAGS): Likewise.
24989 (video_bochs_mod_SOURCES): Likewise.
24990 (video_bochs_mod_CFLAGS): Likewise.
24991 (video_bochs_mod_LDFLAGS): Likewise.
24992 * include/grub/vga.h: New file.
24993 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
24994 (grub_video_fb_set_page_t): New type.
24995 (grub_video_fb_setup): New prototype.
24996 (grub_video_fb_swap_buffers): Likewise.
24997 (grub_video_fb_get_info_and_fini): Likewise.
24998 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
24999 (CRTC_DATA_PORT): Likewise.
25000 (CRTC_CURSOR): Likewise.
25001 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25002 (CRTC_CURSOR_ADDR_LOW): Likewise.
25003 (CRTC_CURSOR_DISABLE): Likewise.
25004 (update_cursor): Use grub_vga_cr_write.
25005 (grub_vga_text_setcursor): Likewise.
25006 * video/bochs.c: New file.
25007 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25008 (palette): Likewise.
25009 (palette_size): Likewise.
25010 (framebuffer): New variable.
25011 (grub_video_fb_init): Use 'framebuffer'.
25012 (grub_video_fb_fini): Likewise.
25013 (grub_video_fb_get_info): Likewise.
25014 (grub_video_fb_get_palette): Likewise.
25015 (grub_video_fb_set_palette): Likewise.
25016 (grub_video_fb_set_viewport): Likewise.
25017 (grub_video_fb_get_viewport): Likewise.
25018 (grub_video_fb_map_color): Likewise.
25019 (grub_video_fb_map_rgb): Likewise.
25020 (grub_video_fb_map_rgba): Likewise.
25021 (grub_video_fb_unmap_color): Likewise.
25022 (grub_video_fb_unmap_color_int): Likewise.
25023 (grub_video_fb_fill_rect): Likewise.
25024 (grub_video_fb_blit_bitmap): Likewise.
25025 (grub_video_fb_blit_render_target): Likewise.
25026 (grub_video_fb_scroll): Likewise.
25027 (grub_video_fb_create_render_target): Likewise.
25028 (grub_video_fb_doublebuf_blit_init): Likewise.
25029 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25030 (doublebuf_pageflipping_update_screen): New function.
25031 (doublebuf_pageflipping_init): Likewise.
25032 (grub_video_fb_setup): Likewise.
25033 (grub_video_fb_swap_buffers): Likewise.
25034 (grub_video_fb_get_info_and_fini): Likewise.
25035 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25036 All users updated.
25037 (doublebuf_pageflipping_commit): Restructured into ...
25038 (doublebuf_pageflipping_set_page): ... this.
25039 (doublebuf_pageflipping_update_screen): Removed.
25040 (doublebuf_pageflipping_init): Likewise.
25041 (double_buffering_init): Likewise.
25042 (grub_video_vbe_setup): Use grub_video_fb_setup.
25043 (grub_video_vbe_swap_buffers): Removed.
25044 (grub_video_vbe_set_active_render_target): Likewise.
25045 (grub_video_vbe_get_active_render_target): Likewise.
25046 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25047 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25048 grub_video_fb_set_active_render_target and
25049 grub_video_fb_get_active_render_target.
25050 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25051 (SEQUENCER_DATA_PORT): Likewise.
25052 (MAP_MASK_REGISTER): Likewise.
25053 (CRTC_ADDR_PORT): Likewise.
25054 (CRTC_DATA_PORT): Likewise.
25055 (START_ADDR_HIGH_REGISTER): Likewise.
25056 (START_ADDR_LOW_REGISTER): Likewise.
25057 (GRAPHICS_ADDR_PORT): Likewise.
25058 (GRAPHICS_DATA_PORT): Likewise.
25059 (READ_MAP_REGISTER): Likewise.
25060 (INPUT_STATUS1_REGISTER): Likewise.
25061 (INPUT_STATUS1_VERTR_BIT): Likewise.
25062 (get_map_mask): Use grub_vga_sr_read.
25063 (set_map_mask): Use grub_vga_sr_write.
25064 (set_read_map): Use grub_vga_gr_write.
25065 (set_start_address): Use grub_vga_cr_write.
25066 * video/sm712.c (framebuffer): Remove leftover fields.
25067
4321c64a
CW
250682010-06-20 Colin Watson <cjwatson@ubuntu.com>
25069
25070 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25071 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25072 instead. Replace the gfxterm backend check with a check that
25073 ${GRUB_PREFIX}/video.lst is non-empty.
25074 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25075 again.
25076 (load_video): New generated function. Call it before loading
25077 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25078 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25079 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25080 * docs/grub.texi (Simple configuration): Document
25081 GRUB_VIDEO_BACKEND.
25082
250832010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25084
25085 Use video functions in linux and xnu loaders.
25086
25087 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25088 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25089 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25090 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25091 loader/i386/pc/linux.c.
25092 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25093 (find_line_len): Removed.
25094 (find_framebuf): Likewise.
25095 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25096 * loader/i386/efi/xnu.c: Removed.
25097 * loader/i386/pc/xnu.c: Moved from here...
25098 * loader/i386/xnu.c: ...here.
25099
25100 Enable priorities in video drivers.
25101
25102 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25103 (grub_video_adapter): New field prio.
25104 (grub_video_register): Respect prio when inserting.
25105 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25106 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25107 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25108 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25109 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25110 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25111 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25112
25113 Fix SDL driver ID.
25114
25115 * include/grub/video.h (grub_video_driver_id_t): New value
25116 GRUB_VIDEO_DRIVER_SDL.
25117 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25118
7d24e434
CW
251192010-06-17 Colin Watson <cjwatson@ubuntu.com>
25120
25121 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25122 argument to printf.
25123 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25124
c88a83f6
CW
251252010-06-17 Colin Watson <cjwatson@ubuntu.com>
25126
25127 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25128 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25129
094dfb69
CW
251302010-06-17 Colin Watson <cjwatson@ubuntu.com>
25131
25132 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25133 directly, and recommend grub-install instead.
25134 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25135
2164da6b
CW
251362010-06-17 Colin Watson <cjwatson@ubuntu.com>
25137
25138 Fix i386-pc prefix handling with nested partitions (Debian bug
25139 #585068). Note that the case where the core image is booted using
25140 multiboot and relocated from its original location still requires
25141 more work.
25142
25143 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25144 with "(,", fill the boot drive in between those two characters, but
25145 expect that a full partition specification including partition map
25146 names will follow.
25147 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25148 specified, write a prefix without the drive name but including a
25149 full partition specification.
25150
044e2e60
CW
251512010-06-16 Colin Watson <cjwatson@ubuntu.com>
25152
25153 * util/grub-mkconfig.in: Ignore non-option arguments, for
25154 compatibility with older versions (before 2010-06-12) which did the
25155 same. In particular, this makes it easier to ship an update-grub
25156 wrapper which is compatible with that used with GRUB Legacy (Debian
25157 bug #586056).
25158
5591324f
GS
251592010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25160
25161 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25162 for manual page generation.
25163
662e24d5
GS
251642010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25165
25166 * po/POTFILES: Remove leftover commands/handler.c.
25167
8d70754e
CW
251682010-06-14 Colin Watson <cjwatson@ubuntu.com>
25169
25170 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25171 left this script non-functional.
25172
41160e2e
CW
251732010-06-14 Colin Watson <cjwatson@ubuntu.com>
25174
25175 * docs/man/grub-emu.h2m: New file.
25176
b5309cc1
CW
251772010-06-13 Colin Watson <cjwatson@ubuntu.com>
25178
25179 * docs/grub.texi (Commands): Document reduced command set in rescue
25180 mode.
25181 (cpuid): New section.
25182
fcb2d090
GS
251832010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25184
25185 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25186 new partition naming style.
25187 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25188
96e5c556
BC
251892010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25190
25191 Add "-o grub.iso" like cmdline options support.
25192
25193 * util/grub-install.in: Improve cmdline option parsing.
25194 * util/grub-mkconfig.in: Likewise.
25195 * util/grub-mkrescue.in: Likewise.
25196 * util/grub-reboot.in: Likewise.
25197 * util/grub-set-default.in: Likewise.
25198 * util/i386/efi/grub-install.in: Likewise.
25199 * util/ieee1275/grub-install.in: Likewise.
25200 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25201
c16be99b
CW
252022010-06-12 Colin Watson <cjwatson@ubuntu.com>
25203
25204 * .bzrignore: Ignore 41_custom.
25205
ce08a9fb
TS
252062010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25207
25208 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25209
7beac90c
CW
252102010-06-12 Colin Watson <cjwatson@ubuntu.com>
25211
25212 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25213 prototype declarations.
25214
25215 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25216 generating fs, partmap, and video lists.
25217 * include/grub/fs.h (grub_fs_register): Omit prototype if
25218 GRUB_LST_GENERATOR is defined.
25219 * include/grub/partition.h (grub_partition_map_register): Likewise.
25220 * include/grub/video.h (grub_video_register): Likewise.
25221
1c8f0f8d
JM
252222010-06-12 Javier Martín <lordhabbit@gmail.com>
25223
25224 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25225
a6085973
TS
252262010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25227
25228 * util/grub-mkrescue.in: Support --xorriso argument.
25229
25c56d29
VS
252302010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25231
25232 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25233 Suggested by: Thomas Schmitt.
25234
e03e4b24
VS
252352010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25236
25237 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25238 Suggested by: Thomas Schmitt.
25239
57711df6
VS
252402010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25241
25242 custom.cfg support.
25243
25244 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25245 * util/grub.d/41_custom.in: New file.
25246
ee62c427
CW
252472010-06-12 Colin Watson <cjwatson@ubuntu.com>
25248
25249 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25250 been merged back into normal.
25251
283af07a
CW
252522010-06-11 Colin Watson <cjwatson@ubuntu.com>
25253
25254 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25255 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25256
56a0d956
CW
252572010-06-11 Colin Watson <cjwatson@ubuntu.com>
25258
25259 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25260 when generating manual pages.
25261 * docs/man/grub-bin2h.h2m: New file.
25262 * docs/man/grub-editenv.h2m: New file.
25263 * docs/man/grub-fstest.h2m: New file.
25264 * docs/man/grub-install.h2m: New file.
25265 * docs/man/grub-macho2img.h2m: New file.
25266 * docs/man/grub-mkconfig.h2m: New file.
25267 * docs/man/grub-mkdevicemap.h2m: New file.
25268 * docs/man/grub-mkfont.h2m: New file.
25269 * docs/man/grub-mkimage.h2m: New file.
25270 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25271 * docs/man/grub-mkrelpath.h2m: New file.
25272 * docs/man/grub-mkrescue.h2m: New file.
25273 * docs/man/grub-ofpathname.h2m: New file.
25274 * docs/man/grub-pe2elf.h2m: New file.
25275 * docs/man/grub-probe.h2m: New file.
25276 * docs/man/grub-reboot.h2m: New file.
25277 * docs/man/grub-script-check.h2m: New file.
25278 * docs/man/grub-set-default.h2m: New file.
25279 * docs/man/grub-setup.h2m: New file.
25280
3a37e322
VS
252812010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25282
25283 Use FOR_* macros instead of *_iterate whenever possible.
25284
25285 * commands/handler.c: Removed.
25286 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25287 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25288 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25289 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25290 (grub_probe_SOURCES): Remove kern/parser.c.
25291 (util/grub-script-check.c_DEPENDENCIES): Removed.
25292 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25293 and grub_script_check_init.c.
25294 (grub_script_check_init.lst): Removed.
25295 (grub_script_check_init.h): Likewise.
25296 (grub_script_check_init.c): Likewise.
25297 (pkglib_MODULES): Remove handler.mod and sh.mod.
25298 (handler_mod_SOURCES): Removed.
25299 (handler_mod_CFLAGS): Likewise.
25300 (handler_mod_LDFLAGS): Likewise.
25301 (normal_mod_SOURCES): Remove normal/handler.c.
25302 Add script/main.c, script/script.c, script/execute.c,
25303 script/function.c, script/lexer.c, grub_script.tab.c
25304 and grub_script.yy.c.
25305 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25306 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25307 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25308 (grub_setup_SOURCES): Remove kern/parser.c.
25309 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25310 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25311 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25312 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25313 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25314 (grub_setup_SOURCES): Remove kern/parser.c.
25315 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25316 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25317 * include/grub/command.h (grub_command_iterate): Removed.
25318 (FOR_COMMANDS): New macro.
25319 * include/grub/dl.h (grub_dl): New member next.
25320 (grub_dl_iterate): Removed.
25321 (grub_dl_head): New variable declaration.
25322 (FOR_DL_MODULES): New macro.
25323 * include/grub/fs.h: Include list.h.
25324 (grub_fs): Make next first element.
25325 (grub_fs_list): New variable declaration.
25326 (grub_fs_register): Make inline.
25327 (grub_fs_unregister): Likewise.
25328 (grub_fs_iterate): Removed.
25329 (FOR_FILESYSTEMS): New macro.
25330 * include/grub/handler.h: Removed.
25331 * include/grub/list.h (grub_list_hook_t): Removed.
25332 (grub_list_test_t): Likewise.
25333 (grub_list_pop): Likewise.
25334 (grub_list_iterate): Likewise.
25335 (grub_list_insert): Likewise.
25336 (FOR_LIST_ELEMENTS): New macro.
25337 * include/grub/parser.h (grub_parser_class): Removed.
25338 (grub_parser_register): Likewise.
25339 (grub_parser_unregister): Likewise.
25340 (grub_parser_get_current): Likewise.
25341 (grub_parser_set_current): Likewise.
25342 (grub_register_rescue_parser): Likewise.
25343 (grub_rescue_parse_line): New function.
25344 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25345 * include/grub/script_sh.h (grub_script_function_list): New variable
25346 declaration.
25347 (FOR_SCRIPT_FUNCTIONS): New macro.
25348 (grub_script_function_iterate): Removed.
25349 (grub_normal_parse_line): New prototype.
25350 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25351 (FOR_DISABLED_TERM_INPUTS): Likewise.
25352 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25353 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25354 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25355 element.
25356 (grub_video_register): Inline.
25357 (grub_video_unregister): Likewise.
25358 (grub_video_adapter_list): New variable declaration.
25359 (grub_video_iterate): Removed.
25360 (FOR_VIDEO_ADAPTERS): New macro.
25361 * kern/dl.c (grub_dl_list): Removed. All users updated.
25362 (grub_dl_iterate): Removed.
25363 * kern/fs.c (grub_fs_list): Make global.
25364 (grub_fs_register): Removed.
25365 (grub_fs_unregister): Likewise.
25366 (grub_fs_iterate): Likewise.
25367 * kern/handler.c: Removed.
25368 * kern/list.c (grub_list_pop): Removed.
25369 (grub_list_iterate): Likewise.
25370 (grub_list_insert): Likewise.
25371 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25372 (grub_prio_list_insert): Don't use grub_list_insert.
25373 * kern/main.c (grub_register_rescue_parser): Don't call
25374 grub_register_rescue_parser.
25375 * kern/parser.c (grub_parser_class): Removed.
25376 (grub_parser_execute): Use grub_rescue_parse_line.
25377 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25378 (grub_rescue_parser): Removed.
25379 (grub_register_rescue_parser): Likewise.
25380 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25381 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25382 (grub_auth_check_authentication): Likewise.
25383 * normal/completion.c (iterate_command): Removed.
25384 (grub_normal_do_completion): Use FOR_COMMANDS.
25385 * normal/handler.c: Removed.
25386 * normal/main.c (read_config_file): Remove parser changing.
25387 (grub_normal_execute): Don't call read_handler_list.
25388 (grub_normal_read_line_real): Statically allocate prompt.
25389 (grub_cmdline_run): Use grub_normal_parse_line.
25390 (GRUB_MOD_FINI): Don't call free_handler_list.
25391 * normal/menu_entry.c (run): Likewise.
25392 * script/function.c (grub_script_function_list): Make global.
25393 (grub_script_function_iterate): Removed.
25394 * script/main.c (grub_normal_parse_line): Make global.
25395 (grub_sh_parser): Removed.
25396 (GRUB_MOD_INIT): Likewise.
25397 (GRUB_MOD_FINI): Likewise.
25398 * tests/lib/functional_test.c (grub_functional_test): Use
25399 FOR_LIST_ELEMENTS.
25400 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25401 (grub_test_run): Use FOR_LIST_ELEMENTS.
25402 * tests/lib/unit_test.c (main): Likewise.
25403 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25404 grub_list_pop.
25405 * util/grub-fstest.c (grub_term_input_class): Removed.
25406 (grub_term_output_class): Likewise.
25407 * util/grub-probe.c: Likewise.
25408 * util/i386/pc/grub-setup.c: Likewise.
25409 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25410 * util/grub-script-check.c (main): Don't call grub_init_all and
25411 grub_fini_all.
25412 * video/video.c (grub_video_adapter_list): Make global.
25413 (grub_video_register): Removed.
25414 (grub_video_unregister): Likewise.
25415 (grub_video_iterate): Likewise.
25416
6289c3a7
VS
254172010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25418
25419 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25420 reported by Henrique Ferreiro.
25421
91460247
RM
254222010-06-09 Robert Millan <rmh@gnu.org>
25423
25424 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25425 ones, when both are available.
25426
0ea7c4f9
GS
254272010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25428
25429 Make --version uniform and avoid hard-coded program name.
25430
25431 * util/grub-mkimage.c (main): Use `program_name' instead of
25432 hard-coded string.
25433 * util/i386/pc/grub-setup.c (main): Likewise.
25434 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25435 * util/grub-install.in: Save the basename of $0 in $self, and use the
25436 latter in informational messages. Use the same format for --version
25437 as the binary programs.
25438 * util/grub-mkconfig.in: Likewise.
25439 * util/grub-mkrescue.in: Likewise.
25440 * util/grub-reboot.in: Likewise.
25441 * util/grub-set-default.in: Likewise.
25442 * util/i386/efi/grub-install.in: Likewise.
25443 * util/ieee1275/grub-install.in: Likewise.
25444 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25445
e8a6f3b6
GS
254462010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25447
25448 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25449 embedding area. Use <= instead of == when checking for non-emptiness.
25450
f4d095d7
GS
254512010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25452
25453 * configure.ac: Add `.' to the directories searched for unifont.
25454
50e532ca
CW
254552010-06-08 Colin Watson <cjwatson@ubuntu.com>
25456
25457 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25458 grub_script.yy.h.
25459
d39f3dec
CW
254602010-06-08 Colin Watson <cjwatson@ubuntu.com>
25461
25462 * docs/grub.texi (History): Expand to cover GRUB 2.
25463 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25464 commands, not `terminal'.
25465 (serial): Likewise.
25466 (terminal_input): New section.
25467 (terminal_output): New section.
25468 (uppermem): New section (stub).
25469 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25470
6ef0ddb4
CW
254712010-06-08 Colin Watson <cjwatson@ubuntu.com>
25472
25473 * docs/grub.texi (Security): Menu entries are unrestricted by
25474 default, not restricted to superusers as I had previously thought.
25475 Reword to account for this.
25476
e0f4c438
CW
254772010-06-07 Colin Watson <cjwatson@ubuntu.com>
25478
25479 * kern/emu/misc.c (device_mapper_null_log): New function.
25480 (grub_device_mapper_supported): New function.
25481 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25482 prototype.
25483 * kern/emu/hostdisk.c (find_partition_start): Check whether
25484 device-mapper is supported before trying to use it.
25485 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25486
da908200
CW
254872010-06-07 Colin Watson <cjwatson@ubuntu.com>
25488
25489 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25490 (File name syntax): Likewise.
25491 (help): --all is no longer supported in GRUB 2. Be more precise
25492 about pattern matching.
25493
fb55c3ac
CW
254942010-06-07 Colin Watson <cjwatson@ubuntu.com>
25495
25496 * normal/completion.c (grub_normal_do_completion): When completing
25497 arguments to "set" and the current word contains an equals sign,
25498 skip to after the equals sign before starting completion.
25499
258c2573
CW
255002010-06-07 Colin Watson <cjwatson@ubuntu.com>
25501
25502 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25503
ee75515e
CW
255042010-06-07 Colin Watson <cjwatson@ubuntu.com>
25505
25506 * docs/grub.texi (Network): New section.
25507 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25508 `(nd)' as in GRUB Legacy.
25509 (pxe_unload): New section.
25510
a6a700aa
CW
255112010-06-07 Colin Watson <cjwatson@ubuntu.com>
25512
25513 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25514 in the rescue shell, so recommend using `set' instead. Thanks,
25515 Jordan Uggla.
25516
4003dd38
CW
255172010-06-07 Colin Watson <cjwatson@ubuntu.com>
25518
25519 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25520 (password): New section.
25521 (password_pbkdf2): New section.
25522 (search): New section.
25523 (Security): New section.
25524 (Troubleshooting): New section, currently very incomplete.
25525 (Invoking grub-mkpasswd-pbkdf2): New section.
25526 (Internals): New section, currently very incomplete.
25527
e1cbcc40
CW
255282010-06-07 Colin Watson <cjwatson@ubuntu.com>
25529
25530 * util/grub.d/00_header.in: Add some more quoting (of
25531 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25532 work again.
25533 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25534
db8fa1ad
CW
255352010-06-07 Colin Watson <cjwatson@ubuntu.com>
25536
25537 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25538 to `count', fixing variable shadowing that broke the -c option.
25539
255402010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
25541
25542 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25543 in case they contain spaces.
25544
f28a9212
CW
255452010-06-04 Colin Watson <cjwatson@ubuntu.com>
25546
25547 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25548 "part_" to partmap module names, in line with grub-install.
25549 Reported by: Jindřich Makovička (Debian bug #584426).
25550
9cdfe32f
CW
255512010-06-04 Colin Watson <cjwatson@ubuntu.com>
25552
25553 * util/grub-mkimage.c: Make target-related error messages slightly
25554 more helpful; -O talks about "format". Explicitly point to the use
25555 of -O if no target is specified.
25556 Reported by: Didier Raboud (Debian bug #584415).
25557
795b593a
CW
255582010-06-03 Colin Watson <cjwatson@ubuntu.com>
25559
25560 * INSTALL: Document several build requirements for optional features
25561 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25562
9d9b5833
GS
255632010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25564
25565 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25566 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25567 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25568
0819fec8
CW
255692010-06-02 Colin Watson <cjwatson@ubuntu.com>
25570
25571 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25572 Thanks to Jordan Uggla for spotting this.
25573
49396b4f
VS
255742010-06-02 Aleš Nesrsta <starous@volny.cz>
25575
25576 Finally make USB usable.
25577
25578 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25579 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25580 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25581 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25582 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25583 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25584 (GRUB_OHCI_FSMPS): Likewise.
25585 (GRUB_OHCI_PERIODIC_START): Likewise.
25586 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25587 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25588 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25589 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25590 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25591 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25592 (grub_ohci_transaction): Likewise.
25593 (grub_ohci_transfer): Improve condition detection algorithms.
25594 Handle toggle property. Program the transactions correctly.
25595 Improve error handling. Various important fixups.
25596 (grub_ohci_portstatus): Put register writes in right order.
25597 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25598 (grub_uhci_transfer): Don't show "failed" message on success.
25599 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25600 array.
25601 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25602 determine its size.
25603 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25604 before initialization is completed. Use IN direction for empty
25605 transfers. Use last_trans and compute toggle.
25606 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25607 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25608 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25609 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25610 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25611 (grub_usb_device): Increase toggle to 256.
25612 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25613 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25614 GRUB_USBMS_SUBCLASS_SFF8070.
25615 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25616 (grub_scsi_inquiry): New member page and alloc_length.
25617 (grub_scsi_request_sense): New structure.
25618 (grub_scsi_request_sense_data): Likewise.
25619 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25620 control.
25621 * disk/scsi.c (grub_scsi_request_sense): New function.
25622 (grub_scsi_test_unit_ready): Likewise.
25623 (grub_scsi_inquiry): Fill new fields.
25624 (grub_scsi_read_capacity): Likewise.
25625 (grub_scsi_read10): Add request sense at the end.
25626 (grub_scsi_read12): Likewise.
25627 (grub_scsi_write10): Likewise.
25628 (grub_scsi_write12): Likewise.
25629 (grub_scsi_open): Add Test Unit Ready.
25630 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25631 Support additional subclasses. Con't clear halt yet. Activate the
25632 proper config. Calculate LUNs correctly.
25633 (grub_usbms_transfer): Various important fixups.
25634
256352010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25636
25637 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25638 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25639 (grub_ohci_fini_hw): New function.
25640 (grub_ohci_restore_hw): Likewise.
25641 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25642 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25643 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25644
256452010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25646
25647 Dedicated DMA allocations.
25648
25649 * bus/pci.c (grub_memalign_dma32): New function
25650 (grub_dma_free): Likewise.
25651 (grub_dma_get_virt): Likewise.
25652 (grub_dma_get_phys): Likewise.
25653 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25654 (grub_ohci_pci_iter): Use dma32_alloc.
25655 (grub_ohci_transfer): Likewise.
25656 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25657 (grub_usb_bulk_readwrite): Likewise.
25658 * include/grub/pci.h: Add declarations.
25659
256602010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25661
25662 CS5536 support.
25663
25664 * bus/cs5536.c: New file.
25665 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25666 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25667 (cs5536_mod_SOURCES): New variable.
25668 (cs5536_mod_CFLAGS): Likewise.
25669 (cs5536_mod_LDFLAGS): Likewise.
25670 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25671 machine/pci.h.
25672 (kernel_img_SOURCES): Add bus/cs5536.c.
25673 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
25674 usb_keyboard.mod.
25675 (usb_mod_SOURCES): New variable.
25676 (usb_mod_CFLAGS): New variable.
25677 (usb_mod_LDFLAGS): New variable.
25678 (usbtest_mod_SOURCES): New variable.
25679 (usbtest_mod_CFLAGS): New variable.
25680 (usbtest_mod_LDFLAGS): New variable.
25681 (ohci_mod_SOURCES): New variable.
25682 (ohci_mod_CFLAGS): New variable.
25683 (ohci_mod_LDFLAGS): New variable.
25684 (usbms_mod_SOURCES): New variable.
25685 (usbms_mod_CFLAGS): New variable.
25686 (usbms_mod_LDFLAGS): New variable.
25687 (usb_keyboard_mod_SOURCES): New variable.
25688 (usb_keyboard_mod_CFLAGS): New variable.
25689 (usb_keyboard_mod_LDFLAGS): New variable.
25690 * include/grub/smbus.h: New file.
25691 * include/grub/cs5536.h: New file.
25692
0b35b2a9
CW
256932010-06-02 Colin Watson <cjwatson@ubuntu.com>
25694
25695 * util/grub.d/00_header.in: Add safety check to make sure that
25696 ${locale_dir} exists before trying to probe it.
25697
ca0afd5b
CW
256982010-06-02 Colin Watson <cjwatson@ubuntu.com>
25699
25700 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
25701 per the GNU Coding Standards; this is now too obscure to be worth
25702 documenting.
25703 (QNX): Likewise.
25704 (chainloader): Remove cross-reference to `SCO UnixWare'.
25705
1c41aa78
CW
257062010-06-02 Colin Watson <cjwatson@ubuntu.com>
25707
25708 * docs/grub.texi (Chain-loading): New section.
25709 (DOS/Windows): New section, borrowed from GRUB Legacy with details
25710 adjusted for GRUB 2.
25711 (SCO UnixWare): Likewise.
25712 (QNX): Likewise.
25713 (chainloader): Add reference to `Block list syntax'.
25714 (drivemap): New section.
25715 (parttool): New section.
25716
bb8ea0f5
CW
257172010-06-02 Colin Watson <cjwatson@ubuntu.com>
25718
25719 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
25720 the grub shell'.
25721 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
25722 (Installing GRUB using grub-install): Remove reference to the grub
25723 shell; mention `grub-mkimage' and `grub-setup' instead.
25724 (Invoking grub-install): Likewise.
25725 (Interface): Add reference to `Menu entry editor'.
25726 (serial): Remove `--device' option.
25727
288dd6ed
CW
257282010-06-02 Colin Watson <cjwatson@ubuntu.com>
25729
25730 * docs/grub.texi (Configuration): New section, documenting
25731 configuration file generation using grub-mkconfig. I've left a slot
25732 for documenting the full shell scripting format but have not yet
25733 started on writing that up.
25734 (Invoking grub-mkconfig): New section.
25735
34c9f0e9
CW
257362010-06-02 Colin Watson <cjwatson@ubuntu.com>
25737
25738 * docs/grub.texi (direntry): Remove grub-terminfo reference.
25739 (GNU GRUB manual): Likewise.
25740 (General commands): Update description of `terminfo' for GRUB 2.
25741
9121567e
CW
257422010-06-02 Colin Watson <cjwatson@ubuntu.com>
25743
25744 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
25745 (GRUB_MOD_INIT): Fix capitalisation.
25746 * docs/grub.texi (Command-line and menu entry commands): Document
25747 gettext and gptsync commands.
25748
ab631611
CW
257492010-06-02 Colin Watson <cjwatson@ubuntu.com>
25750
25751 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
25752 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
25753
bde4a9ac
CW
257542010-06-01 Colin Watson <cjwatson@ubuntu.com>
25755
25756 Add btrfs probing support, currently only in the single-device case.
25757
25758 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
25759 function.
25760 (grub_guess_root_device): Call find_root_device_from_mountinfo
25761 before looking in /dev.
25762
b1d17e10
VS
257632010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25764
25765 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
25766 GRUB_DISK_SIZE_UNKNOWN.
25767 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
25768
dfbfe004
JS
257692010-05-31 Jiro SEKIBA <jir@unicus.jp>
25770
25771 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
25772 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
25773 corrupted or not synced properly.
25774
c2ffc8e9
VS
257752010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25776
25777 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
25778 Reported by: Seth Goldberg.
25779
56293166
VS
257802010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25781
25782 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
25783 addition of dest.
25784 Reported by: Seth Goldberg.
25785
7620e7de
VS
257862010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25787
25788 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
25789 Reported by: Seth Goldberg.
25790
c837af3f
VS
257912010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25792
25793 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
25794 64-bit address as signed on MIPS.
25795
c7c75cf4
CW
257962010-05-28 Colin Watson <cjwatson@ubuntu.com>
25797
25798 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
25799 to the empty string.
25800
fa4b8490
BC
258012010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
25802
25803 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
25804
25805 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
25806 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
25807 * kern/misc.c (__enable_execute_stack): Disable on
25808 GRUB_MACHINE_EMU.
25809
a33075b9
CW
258102010-05-28 Colin Watson <cjwatson@ubuntu.com>
25811
25812 Make grub-probe work with symbolic links under /dev/mapper as well
25813 as with real block devices. The Linux world seems to be (at best)
25814 in transition here, and GRUB shouldn't get caught in the middle.
25815
25816 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
25817 /dev/mapper.
25818
d8708134
CW
258192010-05-27 Colin Watson <cjwatson@ubuntu.com>
25820
25821 * util/grub-script-check.c (main): Ensure defined behaviour on empty
25822 input files (in which case exit zero).
25823
db2102a0
CW
258242010-05-27 Colin Watson <cjwatson@ubuntu.com>
25825
25826 * kern/emu/misc.c (canonicalize_file_name): realpath can still
25827 return NULL for various reasons even if it has a maximum-length
25828 buffer: for example, there might be a symlink loop, or the path
25829 might exceed PATH_MAX. If this happens, return NULL.
25830
5fdba519
RM
258312010-05-27 Robert Millan <rmh@gnu.org>
25832
25833 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
25834 partmap module to handle cross-partmap setups.
25835 Reported by Orestes Mas. Gràcies!
25836
d1d368e4
CW
258372010-05-27 Colin Watson <cjwatson@ubuntu.com>
25838
25839 * util/grub-mkrescue.in: Initialise override_dir rather than
25840 assuming that it's unset or empty in the environment.
25841
95ac3c73
GS
258422010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
25843
25844 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
25845 variable index into p_index to suppress a warning with -Wshadow.
25846
7d8c0213
BC
258472010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
25848
25849 * INSTALL: Added flex >= 2.5.35 requirement.
25850
db4d5813
VS
258512010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25852
25853 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
25854
f24f4300
VS
258552010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25856
25857 cmostest support.
25858
25859 * commands/i386/cmostest.c: New file.
25860 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
25861 (cmostest_mod_SOURCES): New variable.
25862 (cmostest_mod_CFLAGS): Likewise.
25863 (cmostest_mod_LDFLAGS): Likewise.
25864 * conf/i386-pc.rmk: Likewise.
25865 * docs/grub.texi (Vendor power-on keys): New section.
25866 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
25867 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
25868 and GRUB_BUTTON_CMOS_ADDRESS.
25869 * util/grub.d/00_header.in: Handle powering-on by separate button.
25870
ad603f61
VS
258712010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25872
25873 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
25874 Removed drawing_scrollbar argument. All users updated
25875 Fixes #29792.
25876 Reported by Jo Shields
25877
3ecb080a
VS
258782010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25879
25880 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
25881 buffer since gfxterm handles double repaint.
25882
5f2316c1
VS
258832010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25884
25885 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
25886 * term/gfxterm.c (real_scroll): Likewise.
25887
9a25f885
VS
258882010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25889
25890 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
25891 before calling BIOS.
25892
39fbb79a
VS
258932010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25894
25895 * include/grub/i18n.h: Always enable grub_gettext.
25896
228cfa97
VS
258972010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25898
25899 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
25900 partition naming style.
25901
21717c8f
CW
259022010-05-21 Colin Watson <cjwatson@ubuntu.com>
25903
25904 * util/grub-mkconfig.in: Fix handling of -o so that it works when
25905 not the first option.
25906
c0f48e65
CW
259072010-05-20 Colin Watson <cjwatson@ubuntu.com>
25908
25909 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
25910
96779aec
CW
259112010-05-20 Colin Watson <cjwatson@ubuntu.com>
25912
25913 * util/misc.c: Move inclusion of <limits.h> to ...
25914 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
25915
fa9d256e
GS
259162010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
25917
25918 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
25919 Fix merge error in NetBSD code.
25920 (find_partition_start) [__NetBSD__]: Likewise.
25921
123b7a85
BC
259222010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
25923
25924 Fix grub-mkrescue usage unit testing.
25925
25926 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
25927
74276c0d
CF
259282010-05-18 Christian Franke <franke@computer.org>
25929
25930 * util/grub.d/10_windows.in: Use path names instead of
25931 drive letters to prevent warning from Cygwin 1.7.
25932 Add drivemap command to menuentry if needed.
25933
c4f7b523
ST
259342010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
25935
25936 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
25937 gnumach and gnumach.gz.
25938
95b97950
VS
259392010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25940
25941 * include/grub/i18n.h (gettext): Inline instead of using #define.
25942 (grub_gettext): Likewise.
25943 (_): Likewise.
25944
01b8d2d7
VS
259452010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25946
25947 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
25948 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
25949 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
25950 (main): Add a slash after pkglibdirroot.
25951
654e1d1e
VS
259522010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25953
25954 * util/grub-install.in: Add missing "in" keyword.
25955
26966aeb
VS
259562010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25957
25958 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
25959 Reported by: Seth Goldberg.
25960
75006747
VS
259612010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25962
25963 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
25964
74cbf5bd
CW
259652010-05-18 Colin Watson <cjwatson@ubuntu.com>
25966
25967 * configure.ac: Check for Linux device-mapper support.
25968
25969 * util/hostdisk.c (device_is_mapped): New function.
25970 (find_partition_start): New function, partly broken out from
25971 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
25972 device-mapper support added.
25973 (linux_find_partition): Use find_partition_start.
25974 (convert_system_partition_to_system_disk): Add `st' argument.
25975 Support Linux /dev/mapper/* devices if device-mapper support is
25976 available; only DM-RAID devices are understood at present.
25977 (find_system_device): Add `st' argument. Pass it to
25978 convert_system_partition_to_system_disk.
25979 (grub_util_biosdisk_get_grub_dev): Pass stat result to
25980 find_system_device and convert_system_partition_to_system_disk. Use
25981 find_partition_start.
25982
25983 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
25984 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
25985 * util/deviceiter.c [__linux__]: Define MINOR.
25986 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
25987 * util/mkdevicemap.c (grub_putchar): New function.
25988 (grub_getkey): New function.
25989 (grub_refresh): New function.
25990 (main): Set debug=all if -v -v is used.
25991
355b51e9
CW
259922010-05-18 Colin Watson <cjwatson@ubuntu.com>
25993
25994 Fix build with non-GNU libcs.
25995
25996 * util/misc.c (canonicalize_file_name): Move to ...
25997 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
25998 grub_make_system_path_relative_to_its_root.
25999
7fb5c25f
CW
260002010-05-18 Colin Watson <cjwatson@ubuntu.com>
26001
26002 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26003 we handle finding grub-mkimage. Default to finding grub-mkimage in
26004 ${bindir} with program_transform_name applied, and provide a
26005 --grub-mkimage option to override this.
26006
1d3293d6
VS
260072010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26008
26009 Remove grub-mkisofs.
26010
26011 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26012 (grub_mkisofs_SOURCES): Removed.
26013 (grub_mkisofs_CFLAGS): Removed.
26014 * util/mkisofs/defaults.h: Removed.
26015 * util/mkisofs/eltorito.c: Likewise.
26016 * util/mkisofs/exclude.h: Likewise.
26017 * util/mkisofs/hash.c: Likewise.
26018 * util/mkisofs/include/: Likewise.
26019 * util/mkisofs/include/fctldefs.h: Likewise.
26020 * util/mkisofs/include/mconfig.h: Likewise.
26021 * util/mkisofs/include/prototyp.h: Likewise.
26022 * util/mkisofs/include/statdefs.h: Likewise.
26023 * util/mkisofs/iso9660.h: Likewise.
26024 * util/mkisofs/joliet.c: Likewise.
26025 * util/mkisofs/match.c: Likewise.
26026 * util/mkisofs/match.h: Likewise.
26027 * util/mkisofs/mkisofs.c: Likewise.
26028 * util/mkisofs/mkisofs.h: Likewise.
26029 * util/mkisofs/msdos_partition.h: Likewise.
26030 * util/mkisofs/multi.c: Likewise.
26031 * util/mkisofs/name.c: Likewise.
26032 * util/mkisofs/rock.c: Likewise.
26033 * util/mkisofs/tree.c: Likewise.
26034 * util/mkisofs/write.c: Likewise.
26035
5dde9afe
VS
260362010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26037
26038 Unify grub-mkimage accross platforms.
26039
26040 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26041 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26042 (grub_mkelfimage_SOURCES): Removed.
26043 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26044 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26045 (bin_UTILITIES): Add grub-mkimage.
26046 (grub_mkimage_SOURCES): New variable.
26047 (kernel_img_HEADERS): Remove machine/kernel.h.
26048 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26049 (pkglib_PROGRAMS): Add kernel.img.
26050 (kernel_img_HEADERS): Add machine/kernel.h.
26051 (kernel_img_FORMAT): Removed.
26052 (bin_UTILITIES): Remove grub-mkimage.
26053 (grub_mkimage_SOURCES): Removed.
26054 (grub_mkimage_CFLAGS): Likewise.
26055 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26056 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26057 (pkglib_PROGRAMS): Add kernel.img.
26058 (bin_UTILITIES): Remove grub-mkimage.
26059 (grub_mkimage_SOURCES): Removed.
26060 (grub_mkimage_CFLAGS): Likewise.
26061 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26062 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26063 (pkglib_PROGRAMS): Add kernel.img.
26064 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26065 (pkglib_PROGRAMS): Add kernel.img.
26066 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26067 (grub_mkimage_SOURCES): Removed.
26068 (grub_mkimage_CFLAGS): Likewise.
26069 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26070 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26071 (pkglib_PROGRAMS): Add kernel.img.
26072 (bin_UTILITIES): Remove grub-mkimage.
26073 (grub_mkimage_SOURCES): Removed.
26074 (grub_mkimage_CFLAGS): Likewise.
26075 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26076 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26077 (grub_mkimage_SOURCES): Removed.
26078 (grub_mkimage_CFLAGS): Likewise.
26079 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26080 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26081 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26082 (grub_pe32_optional_header): ... this.
26083 (grub_pe64_optional_header): ... and this. All users updated.
26084 (GRUB_PE32_PE32_MAGIC): Split into ..
26085 (GRUB_PE32_PE32_MAGIC): .. this.
26086 (GRUB_PE32_PE64_MAGIC): .. and this.
26087 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26088 * include/grub/elf.h (PT_GNU_STACK): New definition.
26089 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26090 * include/grub/i386/efi/kernel.h: Likewise.
26091 * include/grub/i386/kernel.h: Likewise.
26092 * include/grub/i386/pc/kernel.h: Likewise.
26093 * include/grub/i386/qemu/boot.h: Likewise.
26094 * include/grub/mips/kernel.h: Likewise.
26095 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26096 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26097 * include/grub/powerpc/kernel.h: Likewise.
26098 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26099 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26100 * include/grub/sparc64/kernel.h: Likewise.
26101 * include/grub/x86_64/efi/kernel.h: Likewise.
26102 * include/grub/x86_64/kernel.h: Likewise.
26103 * include/grub/offsets.h: New file.
26104 * include/grub/kernel.h (grub_module_info): Split into ...
26105 (grub_module_info32): ... this.
26106 (grub_module_info64): ... and this.
26107 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26108 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26109 (grub_boot_blocklist): Moved from here ...
26110 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26111 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26112 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26113 * include/grub/types.h (grub_target_to_host16): Removed.
26114 (grub_target_to_host32): Likewise.
26115 (grub_target_to_host64): Likewise.
26116 (grub_host_to_target16): Likewise.
26117 (grub_host_to_target32): Likewise.
26118 (grub_host_to_target64): Likewise.
26119 (grub_host_to_target_addr): Likewise.
26120
26121 Support grub-mkrescue for efi, coreboot and qemu.
26122
26123 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26124 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26125 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26126 * util/grub-mkrawimage.c: Moved from here ...
26127 * util/grub-mkimage.c: ... here. All users updated.
26128 (ALIGN_ADDR): Use image_target.
26129 (TARGET_NO_FIELD): New const.
26130 (image_target_desc): New type.
26131 (image_targets): New array.
26132 (grub_target_to_host64): Use image_target.
26133 (grub_target_to_host32): Likewise.
26134 (grub_target_to_host16): Likewise.
26135 (grub_host_to_target64): Likewise.
26136 (grub_host_to_target32): Likewise.
26137 (grub_host_to_target16): Likewise.
26138 (grub_host_to_target_addr): Likewise.
26139 (generate_image): Handle multiimage.
26140 (main): Require -O parameter. All users updated.
26141 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26142 util/efi/grub-mkimage.c
26143 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26144 New option --rom-directory.
26145 Use xorriso.
26146 * util/i386/efi/grub-mkimage.c: Removed.
26147 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26148 (grub_target_to_host32): Likewise.
26149 (grub_target_to_host64): Likewise.
26150 (grub_host_to_target16): Likewise.
26151 (grub_host_to_target32): Likewise.
26152 (grub_host_to_target64): Likewise.
26153 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26154 (grub_target_to_host32): Likewise.
26155 (grub_target_to_host64): Likewise.
26156 (grub_host_to_target16): Likewise.
26157 (grub_host_to_target32): Likewise.
26158 (grub_host_to_target64): Likewise.
26159
f4fc97d0
BC
261602010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26161
26162 Source tree is reorganized for emu build.
26163
26164 * include/grub/util/console.h: Move from here...
26165 * include/grub/emu/console.h: ...to here.
26166 * include/grub/util/getroot.h: Move from here...
26167 * include/grub/emu/getroot.h: ...to here.
26168 * include/grub/util/hostdisk.h: Move from here...
26169 * include/grub/emu/hostdisk.h: ...to here.
26170 * util/console.c: Move from here...
26171 * kern/emu/console.c: ...to here.
26172 * util/getroot.c: Move from here...
26173 * kern/emu/getroot.c: ...to here.
26174 * util/grub-emu.c: Move from here...
26175 * kern/emu/main.c: ...to here.
26176 * util/hostdisk.c: Move from here...
26177 * kern/emu/hostdisk.c: ...to here.
26178 * util/hostfs.c: Move from here...
26179 * kern/emu/hostfs.c: ...to here.
26180 * util/mm.c: Move from here...
26181 * kern/emu/mm.c: ...to here.
26182 * util/pci.c: Move from here...
26183 * bus/emu/pci.c: ...to here.
26184 * util/sdl.c: Move from here...
26185 * video/emu/sdl.c: ...to here.
26186 * util/time.c: Move from here...
26187 * kern/emu/time.c: ...to here.
26188 * util/usb.c: Move from here...
26189 * bus/usb/emu/usb.c: ...to here.
26190
26191 * include/grub/emu/misc.h: New header for grub-emu functions.
26192 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26193
26194 * conf/any-emu.rmk: Rule updates for above renames.
26195 * conf/common.rmk: Likewise.
26196 * conf/i386-pc.rmk: Likewise.
26197 * conf/i386-qemu.rmk: Likewise.
26198 * conf/mips.rmk: Likewise.
26199 * conf/sparc64-ieee1275.rmk: Likewise.
26200 * conf/x86-efi.rmk: Likewise.
26201
26202 * disk/lvm.h: #include updates for above renames.
26203 * util/grub-mkrelpath.c: Likewise.
26204 * util/grub-probe.c: Likewise.
26205 * util/i386/pc/grub-setup.c: Likewise.
26206 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26207 * kern/emu/console.c: Likewise.
26208 * kern/emu/getroot.c: Likewise.
26209 * kern/emu/hostdisk.c: Likewise.
26210 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26211
26212 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26213 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26214 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26215 * util/misc.c: Remove grub-emu functions.
26216
cced9145
VS
262172010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26218
26219 Fix gfxmenu crash.
26220 Reported by: Thorsten Grützmacher.
26221
26222 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26223 timeout hook.
26224 (circprog_set_property): Register and unregister timeout hook.
26225 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26226 (label_destroy): Free template. and unregister hook.
26227 (label_set_state): New function.
26228 (label_set_property): Handle templates and hooks.
26229 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26230 timeout hook.
26231 (progress_bar_set_property): Register and unregister timeout hook.
26232 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26233 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26234 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26235 (update_timeout_visit): Removed.
26236 (update_timeouts): New function.
26237 (redraw_timeouts): Likewise.
26238 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26239 (grub_gfxmenu_clear_timeout): Likewise.
26240 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26241 (grub_gfxmenu_timeout_notify): Likewise.
26242 (grub_gfxmenu_timeout_notifications): New external variable.
26243 (grub_gfxmenu_timeout_register): New function.
26244 (grub_gfxmenu_timeout_unregister): Likewise.
26245
c6e5caab
VS
262462010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26247
26248 Transform (broken) vga terminal into (working) vga video driver.
26249
26250 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26251 video/i386/pc/vga.c.
26252 * include/grub/video.h (grub_video_driver_id):
26253 Add GRUB_VIDEO_DRIVER_VGA.
26254 * term/i386/pc/vga.c: Renamed to ...
26255 * video/i386/pc/vga.c: ...this
26256 (DEBUG_VGA): Removed.
26257 (CHAR_WIDTH): Likewise.
26258 (CHAR_HEIGHT): Likewise.
26259 (TEXT_WIDTH): Likewise.
26260 (TEXT_HEIGHT): Likewise.
26261 (DEFAULT_FG_COLOR): Likewise.
26262 (DEFAULT_BG_COLOR): Likewise.
26263 (colored_char): Likewise.
26264 (xpos): Likewise.
26265 (ypos): Likewise.
26266 (cursor_state): Likewise.
26267 (fg_color): Likewise.
26268 (bg_color): Likewise.
26269 (text_buf): Likewise.
26270 (page): Likewise.
26271 (font): Likewise.
26272 (framebuffer): New variable.
26273 (set_read_map): Disabled.
26274 (setup): New variable.
26275 (is_target): Likewise.
26276 (grub_vga_mod_init): Likewise.
26277 (grub_vga_mod_fini): Likewise.
26278 (check_vga_mem): Likewise.
26279 (write_char): Likewise.
26280 (write_cursor): Likewise.
26281 (scroll_up): Likewise.
26282 (grub_vga_putchar): Likewise.
26283 (grub_vga_getcharwidth): Likewise.
26284 (grub_vga_getwh): Likewise.
26285 (grub_vga_getxy): Likewise.
26286 (grub_vga_gotoxy): Likewise.
26287 (grub_vga_cls): Likewise.
26288 (grub_vga_setcolorstate): Likewise.
26289 (grub_vga_setcursor): Likewise.
26290 (grub_video_vga_init): New function.
26291 (grub_video_vga_setup): Likewise.
26292 (grub_video_vga_fini): Likewise.
26293 (update_target): Likewise.
26294 (grub_video_vga_blit_bitmap): Likewise.
26295 (grub_video_vga_blit_render_target): Likewise.
26296 (grub_video_vga_set_active_render_target): Likewise.
26297 (grub_video_vga_get_active_render_target): Likewise.
26298 (grub_video_vga_swap_buffers): Likewise.
26299 (grub_video_vga_set_palette): Likewise.
26300 (grub_video_vga_get_info_and_fini): Likewise.
26301 (grub_vga_term): Removed.
26302 (grub_video_vga_adapter): New variable.
26303 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26304 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26305
2bf61a98
VS
263062010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26307
26308 * video/readers/jpeg.c: Indented.
26309
09ddcd11
VS
263102010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26311
26312 Various jpeg cleanups.
26313
26314 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26315 (grub_jpeg_decode_quan_table): Use sizeof.
26316 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26317
e5507505
PH
263182010-05-05 Peter Hurley <No e-mail available> (tiny change)
26319
26320 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26321 tables. Ignore non-last ac bit.
26322 (grub_jpeg_decode_quan_table): Likewise.
26323
7e720a9b
VS
263242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26325
26326 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26327 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26328 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26329 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26330 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26331 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26332
a7fc080b
VS
263332010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26334
26335 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26336 error.
26337
2bf6012d
VS
263382010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26339
26340 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26341
265d68cd
VS
263422010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26343
26344 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26345 condition.
26346
263472010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26348
26349 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26350 part.
26351
265d68cd 263522010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26353
26354 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26355 pointers.
26356
265d68cd 263572010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26358
26359 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26360
d1b61374
CF
263612010-05-01 Christian Franke <franke@computer.org>
26362
26363 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26364 Remove broken Cygwin path conversion.
26365 * util/misc.c: [__CYGWIN__] Add include and define.
26366 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26367 for Cygwin 1.7.
26368 (make_system_path_relative_to_its_root): Simplify loop, replace early
26369 return by break.
26370 [__CYGWIN__] Add conversion to win32 path.
26371 Include "/" case in trailing slash removal.
26372
3558c6e9
VS
263732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26374
26375 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26376 Reported by: Seth Goldberg
26377
f5f3ff93
VS
263782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26379
26380 * commands/help.c (grub_cmd_help): Fix a typo.
26381 Reported by: Seth Goldberg
26382
d8b5cd40
VS
263832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26384
26385 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26386 name and add N_.
26387 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26388 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26389 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26390 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26391 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26392 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26393 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26394 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26395 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26396 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26397 * normal/context.c (GRUB_MOD_INIT): Likewise.
26398 * normal/main.c (GRUB_MOD_INIT): Likewise.
26399 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26400 * term/serial.c (GRUB_MOD_INIT): Likewise.
26401 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26402
88c14915
VS
264032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26404
26405 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26406 extra == 0.
26407
165134bc
VS
264082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26409
26410 * commands/iorw.c: New file.
26411 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26412 (iorw_mod_SOURCES): New variable.
26413 (iorw_mod_CFLAGS): Likewise.
26414 (iorw_mod_LDFLAGS): Likewise.
26415
c5ac9b32
VS
264162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26417
26418 Hotkey support
26419
26420 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26421 * normal/main.c (hotkey_aliases): New variable.
26422 (grub_normal_add_menu_entry): Parse "--hotkey".
26423 * normal/menu_text.c (run_menu): Handle hotkeys.
26424
ce60689c
VS
264252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26426
26427 * kern/i386/coreboot/init.c (grub_machine_init): Call
26428 grub_machine_mmap_init on qemu.
26429
0359d006
VS
264302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26431
26432 * boot/i386/qemu/boot.S: Add a missing .code16.
26433
7819a456
VS
264342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26435
26436 Use LBIO on coreboot.
26437
26438 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26439 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26440 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26441 New declaration.
26442 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26443 grub_machine_mmap_init on coreboot.
26444 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26445 GRUB_LINUXBIOS_MEMBER_LINK.
26446 (grub_machine_mmap_iterate): Fix declaration.
26447 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26448
7210dca9
VS
264492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26450
26451 Split coreboot and multiboot ports.
26452
26453 * conf/i386-multiboot.rmk: New file.
26454 * configure.ac: Add multiboot port.
26455 * include/grub/i386/multiboot/boot.h: New file.
26456 * include/grub/i386/multiboot/console.h: Likewise.
26457 * include/grub/i386/multiboot/init.h: Likewise.
26458 * include/grub/i386/multiboot/kernel.h: Likewise.
26459 * include/grub/i386/multiboot/loader.h: Likewise.
26460 * include/grub/i386/multiboot/memory.h: Likewise.
26461 * include/grub/i386/multiboot/serial.h: Likewise.
26462 * include/grub/i386/multiboot/time.h: Likewise.
26463 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26464 * loader/multiboot.c: Likewise.
26465 * loader/multiboot_mbi2.c: Likewise.
26466 * util/grub-mkrescue.in: Generate multiboot rescue.
26467
6f8aaf68
VS
264682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26469
3080f7a7
VS
26470 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26471
264722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26473
26474 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26475
26476 * commands/terminal.c (abstract_terminal): New struct.
26477 (handle_command): New function. Based on grub_cmd_terminal_input.
26478 (grub_cmd_terminal_input): Use handle_command.
26479 (grub_cmd_terminal_output): Use handle_command.
26480
a8ebb841
BC
264812010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26482
26483 Fix comment handling.
26484
26485 * tests/grub_script_comments.in: New testcase.
26486 * conf/tests.rmk: Rules for new testcase.
26487 * script/yylex.l: Updated flex rules.
26488
bb06ba08
ST
264892010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26490
26491 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26492 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26493 if argc is 1.
bb06ba08 26494
cc9d2425
VS
264952010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26496
26497 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26498 autogen issues.
26499
460d8402
CF
265002010-04-26 Christian Franke <franke@computer.org>
26501
26502 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26503 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26504 (grub_get_prefix): Remove function.
26505 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26506 make_system_path_relative_to_its_root ().
26507 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26508
553c01f9
CF
265092010-04-24 Christian Franke <franke@computer.org>
26510
26511 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26512 (kernel_img_LDFLAGS): Remove -static-libgcc.
26513
2aec1692
CF
265142010-04-24 Christian Franke <franke@computer.org>
26515
26516 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26517 and CHECK_END_SYMBOL if grub-emu is built.
26518 Unset TARGET_OBJ2ELF if grub-emu is built
26519 without module support.
26520
f67dc308
JS
265212010-04-24 Jiro SEKIBA <jir@unicus.jp>
26522
26523 Nilfs2 support.
26524
26525 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26526 (grub_fstest_SOURCES): Likewise.
26527 (pkglib_MODULES): Add nilfs2.mod.
26528 (nilfs2_mod_SOURCES): New variable.
26529 (nilfs2_mod_CFLAGS): Likewise.
26530 (nilfs2_mod_LDFLAGS): Likewise.
26531 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26532 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26533 * fs/nilfs2.c: New file.
26534
4ba8d354
VS
265352010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26536
26537 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26538 is not supported.
26539
0d2c20c6
GS
265402010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26541
26542 Add grub-mkconfig support for NetBSD.
26543
26544 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26545 * util/grub-mkconfig.in: export new NetBSD specific variables.
26546 * po/POTFILES-shell: added 10_netbsd.in.
26547 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26548
bc4a2d83
BC
265492010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26550
26551 Fix emu build with grub-emu-pci and grub-emu-modules.
26552
26553 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26554 functions.
26555 * include/grub/libpciaccess.h: New file.
26556 * conf/any-emu.rmk: Update kernel headers for emu build.
26557
f48c87aa
VS
265582010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26559
26560 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26561
18959385
VS
265622010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26563
26564 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26565
0037de3f
VS
265662010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26567
26568 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26569 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26570 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26571 util/ieee1275/ofpath.c.
26572 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26573 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26574 * include/grub/sparc64/ieee1275/boot.h
26575 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26576 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26577 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26578 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26579 const char *.
26580 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26581 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26582 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26583 install.
26584
38e55e90
GS
265852010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26586
26587 * util/grub-mkconfig.in: Corrected two == equality tests.
26588 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26589 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26590 expect a number appended to it.
26591 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26592 expects a number appended to it.
26593
a9e6ff28
VS
265942010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26595
26596 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26597
0b830b8f
VS
265982010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26599
26600 * util/hostdisk.c (make_device_name): Change to new partition naming.
26601
0973daeb
VS
266022010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26603
26604 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26605
460d8402 266062010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
26607
26608 * Makefile.in: Add missing localedir setting.
26609
0b456309
CW
266102010-04-14 Colin Watson <cjwatson@ubuntu.com>
26611
26612 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26613 mistake in r2156. Noticed by Anthony Fok.
26614
26615 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26616 @localedir@.
26617 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26618
08f46d62
BC
266192010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26620
26621 Fix a spurious, uninitialized variable warning.
26622
26623 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26624 Initialize variable, shdr.
26625 (grub_freebsd_load_elfmodule): Likewise.
26626 (grub_freebsd_load_elf_meta): Likewise.
26627
8c4a72d4
BC
266282010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26629
26630 Fix for escaped dollar in double quoted strings.
26631
26632 * script/yylex.l: Updated flex rules.
26633 * conf/tests.rmk: Rule for new testcase.
26634 * tests/grub_script_dollar.in: New testcase.
26635
ce44826e
CPE
266362010-04-13 Carles Pina i Estany <carles@pina.cat>
266372010-04-13 Colin Watson <cjwatson@ubuntu.com>
26638
26639 Enclose all translated strings in grub.cfg in single quotes, and
26640 escape them appropriately (Ubuntu bug #552921).
26641
26642 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26643 * util/grub.d/10_hurd.in: Use it.
26644 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26645 * util/grub.d/10_linux.in (linux_entry): Likewise.
26646
4b0cd8f8
VS
266472010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26648
26649 Fix cygwin compilation.
26650
26651 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26652 * include/grub/misc.h (__register_frame_info)
26653 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26654 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26655 * kern/misc.c (__register_frame_info)
26656 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26657 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26658
01fcf061
VS
266592010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26660
26661 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26662
5d04b11e
VS
266632010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26664
26665 Unify libgcc processing.
26666
26667 * Makefile.in (kernel_img_LDFLAGS): New variable.
26668 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26669 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26670 overwriting.
26671 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26672 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26673 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
26674 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
26675 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
26676 overwriting. Remove -lgcc and -static-libgcc
26677 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
26678 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26679 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26680 (kernel_img_LDFLAGS): Append instead of overwriting.
26681 Remove -lgcc and -static-libgcc
26682 * conf/sparc64-ieee1275.rmk: Likewise.
26683 * include/grub/powerpc/libgcc.h: Move to ...
26684 * include/grub/libgcc.h: .. this.
26685 * include/grub/libgcc.h: Don't export most of the function on x86.
26686 (__bswapsi2): New export.
26687 (__bswapdi2): Likewise.
26688 * include/grub/mips/libgcc.h: Removed.
26689 * include/grub/sparc64/libgcc.h: Likewise.
26690
b7f3ac29
VS
266912010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26692
26693 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
26694 disk_info_msg (conflicts with gettexting into languages with cases).
26695
2c7031b1
GS
266962010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
26697
26698 Add grub-probe support for NetBSD.
26699
26700 * util/getroot.c (find_root_device): Convert block device to
26701 character device on NetBSD.
26702 * util/probe.c (probe): Require character device on NetBSD.
26703 * util/hostdisk.c: NetBSD specific headers.
26704 (configure_device_driver): new function to tune device driver
26705 parameters (currently only for NetBSD floppy driver).
26706 (grub_util_biosdisk_open): NetBSD specific code (get disk size
26707 via disklabel ioctl).
26708 (open_device): call configure_device_driver on NetBSD.
26709 (convert_system_partition_to_system_disk): NetBSD specific code.
26710 (device_is_wholedisk): Likewise.
26711 (grub_util_biosdisk_get_grub_dev): Likewise.
26712 (make_device_name): Fixed a typo in bsd_part_str.
26713 * configure.ac: check for opendisk() and getrawpartition() on
26714 NetBSD and set LIBUTIL.
26715 * Makefile.in: add LIBUTIL to LIBS.
26716
f516290c
BC
267172010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26718
26719 Documentation fix.
26720
26721 * util/grub-script-check.c: Better help message.
26722
d8dcc0df
BC
267232010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26724
26725 Fix FreeBSD build.
26726
26727 * configure.ac: Flex version check.
26728 * conf/common.rmk: Add -Wno-error to sh.mod.
26729 * script/yylex.l: Remove all #pragma.
26730
6734334a
VS
267312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26732
26733 * include/grub/util/misc.h (canonicalise_file_name): Add missing
26734 prototype.
26735 Reported by: Seth Goldberg.
26736
daea6abd
VS
267372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26738
26739 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
26740 Rename "module" to "module2".
26741 Reported by: Seth Goldberg.
26742
f2fd9d2b
VS
267432010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26744
26745 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
26746 EXPORT_FUNC.
26747 Reported by: Seth Goldberg.
26748
be124579
VS
267492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26750
26751 * lib/posix_wrap/locale.h: Add missing file.
26752 Reported by: Seth Goldberg.
26753
ef5da797
VS
267542010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26755
26756 grub-emu module load support.
26757
26758 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
26759 NO_DYNAMIC_MODULES switched to this.
26760 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
26761 (CFLAGS): Likewise.
26762 * conf/any-emu.rmk: Generate symlist.
26763 (kernel_img_HEADERS): Add util/datetime.h.
26764 (kernel_img_HEADERS) [sdl]: Add sdl.h.
26765 (kernel_img_HEADERS) [libusb]: Add libusb.h.
26766 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
26767 kern/$(target_cpu)/cache.S.
26768 * configure.ac (grub-emu-modules): New option.
26769 * genmk.rb: Handle multiple source lists.
26770 * include/grub/sdl.h: New file.
26771 * include/grub/libusb.h: Likewise.
26772 * util/grub-emu.c (main): Hanle (host) root.
26773 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
26774 GRUB_ERR_UNKNOWN_DEVICE.
26775 * util/misc.c: Move mm functions to ...
26776 * util/mm.c: ... here. All users updated.
26777
47822096
VS
267782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26779
26780 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
26781 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
26782 missing files.
26783 (maintainer-clean): Remove libgcrypt-grub.
26784
5d7e7445
VS
267852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26786
26787 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
26788
25f4e252
EC
267892010-04-09 EFI Coder <eficoder@hotmail.com>
26790
26791 * normal/menu_text.c (print_message): Clean up the message and show
26792 the Fn information when on EFI
26793 * term/efi/console.c (grub_console_checkkey): Add F4 support.
26794
027de555
VS
267952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26796
26797 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
26798 All users updated.
26799 * normal/crypto.c (read_crypto_list): Likewise.
26800 * normal/dyncmd.c (read_command_list): Likewise.
26801 * normal/term.c (read_terminal_list): Likewise.
26802 * normal/main.c (read_lists): Use explicit prefix.
26803 (read_lists_hook): Use read_lists.
26804 (grub_normal_execute): Likewise.
26805
47779711
VS
268062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26807
26808 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
26809 Reported by: Thomas Schmitt.
26810 Add -no-emul-boot to grub-mkisofs parameters.
26811
1118c32e
VS
268122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26813
26814 * font/font.c: Indented.
26815
7d652447
BC
268162010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26817
26818 Elif support to GRUB script (by Deepak Vankadaru).
26819
26820 * tests/grub_script_if.in: New testcase.
26821 * conf/tests.rmk: Rule for new testcase.
26822 * script/parser.y: Grammar rules for elif.
26823
34bb22df
BC
268242010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26825
26826 While and until loops support to GRUB script.
26827
26828 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
26829 (grub_script_create_cmdwhile): New function prototype.
26830 (grub_script_execute_cmdwhile): New function prototype.
26831 * script/execute.c (grub_script_execute_cmdwhile): New function.
26832 * script/parser.y (command): New commands.
26833 (whilecmd): New grammar rule.
26834 (untilcmd): New grammar rule.
26835 * script/script.c (grub_script_create_cmdwhile): New function.
26836 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
26837 function.
26838
26839 * tests/grub_script_while1.in: New testcase.
26840 * conf/tests.rmk: Rule for new testcase.
26841
e215d8e0
VS
268422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26843
26844 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
26845 as *.jpg.
26846
d7c43ba1
MV
268472010-04-09 Mario Vazquez <mariovazq@gmail.com>
26848
26849 GRUB_BACKGROUND support.
26850
26851 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
26852 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
26853
d64795c0
VS
268542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26855
26856 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 26857 Idea by: Mario Vazquez
d64795c0
VS
26858
26859 * util/grub.d/00_header.in: Load pf2 and image modules.
26860
f267f83a
VS
268612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26862
26863 grub-mkconfig multiple terminal support.
26864
26865 * util/grub-mkconfig.in: Handle multiple terminals correctly.
26866 * util/grub.d/00_header.in: Likewise.
26867
b7841ceb
VS
268682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26869
26870 * Makefile.in: Specify files explicitly instead of using $< and $@ since
26871 we use cd $(srcdir).
26872
df60998c
CW
268732010-04-08 Colin Watson <cjwatson@ubuntu.com>
26874
26875 * util/grub.d/10_linux.in: Only use the first word of
26876 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
26877 spaces in GRUB_DISTRIBUTOR.
26878 * util/grub.d/10_kfreebsd.in: Likewise.
26879 * util/grub.d/10_hurd.in: Likewise.
26880
fa09c82e
BC
268812010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
26882
14e18ae3 26883 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
26884
26885 * tests/util/grub-shell.in: Remove -serial stdio option.
26886
daf892b3
BC
268872010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
26888
26889 POSIX header file wrappers.
26890
26891 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
26892 equivalents.
26893 * lib/posix_wrap/ctype.h: Likewise.
26894 * lib/posix_wrap/errno.h: Likewise.
26895 * lib/posix_wrap/langinfo.h: Likewise.
26896 * lib/posix_wrap/limits.h: Likewise.
26897 * lib/posix_wrap/localcharset.h: Likewise.
26898 * lib/posix_wrap/stdint.h: Likewise.
26899 * lib/posix_wrap/stdio.h: Likewise.
26900 * lib/posix_wrap/stdlib.h: Likewise.
26901 * lib/posix_wrap/string.h: Likewise.
26902 * lib/posix_wrap/sys/types.h: Likewise.
26903 * lib/posix_wrap/unistd.h: Likewise.
26904 * lib/posix_wrap/wchar.h: Likewise.
26905 * lib/posix_wrap/wctype.h: Likewise.
26906 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
26907 (grub_script.yy.h): Likewise.
26908 * script/yylex.l: Remove POSIX emulation #defines.
26909 * Makefile.in (POSIX_CFLAGS): New variable.
26910 (GNULIB_UTIL_CFLAGS): Likewise.
26911
26912 Regexp support.
26913
26914 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
26915 (regexp_mod_SOURCES): New variable.
26916 (regexp_mod_CFLAGS): Likewise.
26917 (regexp_mod_LDFLAGS): Likewise.
26918 * commands/regexp.c: New file.
26919 * gnulib/regcomp.c: New file. Imported from gnulib.
26920 * gnulib/regex.c: Likewise.
26921 * gnulib/regex_internal.c: Likewise.
26922 * gnulib/regex_internal.h: Likewise.
26923 * gnulib/regexec.c: Likewise.
26924 * gnulib/regex.h: Likewise.
26925
974ac4f7
VS
269262010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26927
26928 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
26929 unsupported video mode types.
26930
2622c3ff
VS
269312010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26932
26933 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
26934
064cb524
VS
269352010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26936
26937 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
26938 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
26939
a8c3b552
VS
269402010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26941
26942 Remove unused grub_vga_get_font.
26943
26944 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
26945 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
26946
187bbe3d
GS
269472010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26948
26949 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
26950 * include/grub/misc.h: Likewise.
26951
b9396631
GS
269522010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26953
26954 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
26955 for which failure is fatal.
26956
50479feb
GS
269572010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26958
26959 * util/grub-install.in: Use mkdir -p to create grub directory.
26960 * util/i386/efi/grub-install.in: Likewise.
26961 * util/ieee1275/grub-install.in: Likewise.
26962
b1654fdf
GS
269632010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26964
26965 * Makefile.in (LEX): new variable.
26966
bd5a6415
GS
269672010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26968
26969 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
26970 `=' and added double quotes on operands of this equality test.
26971
3db3a82b
VS
269722010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26973
26974 * Makefile.in (uninstall): Remove a leftover debug echo.
26975 Reported by: Grégoire Sutre
26976
38023412
VS
269772010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26978
26979 MIPS multiboot2 support.
26980
26981 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
26982 (multiboot2_mod_SOURCES): New variable.
26983 (multiboot2_mod_CFLAGS): Likewise.
26984 (multiboot2_mod_LDFLAGS): Likewise.
26985 (multiboot2_mod_ASFLAGS): Likewise.
26986 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
26987 definition.
26988 (MULTIBOOT_ENTRY_REGISTER): Likewise.
26989 (MULTIBOOT_MBI_REGISTER): Likewise.
26990 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
26991 (MULTIBOOT_ELF32_MACHINE): Likewise.
26992 (MULTIBOOT_ELF64_MACHINE): Likewise.
26993 * include/grub/mips/multiboot.h: New file.
26994 * include/grub/video.h (grub_video_driver_id): New type
26995 GRUB_VIDEO_DRIVER_SM712.
26996 (grub_video_get_info_and_fini): Export.
26997 (grub_video_get_palette): Likewise.
26998 (grub_video_get_driver_id): Likewise.
26999 * include/multiboot2.h: Resynced with spec.
27000 * loader/i386/multiboot.c: Moved from here ...
27001 * loader/multiboot.c: ... here. All users updated.
27002 (grub_multiboot_boot): Use platform-specific macros.
27003 * loader/i386/multiboot_elfxx.c: Moved from here ...
27004 * loader/multiboot_elfxx.c: ... here. All users updated.
27005 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27006 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27007 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27008
47674667
VS
270092010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27010
27011 Import gnulib argp module.
27012
27013 * gnulib/argp-ba.c: New file.
27014 * gnulib/argp-eexst.c: Likewise.
27015 * gnulib/argp-fmtstream.c: Likewise.
27016 * gnulib/argp-fmtstream.h: Likewise.
27017 * gnulib/argp-fs-xinl.c: Likewise.
27018 * gnulib/argp-help.c: Likewise.
27019 * gnulib/argp-namefrob.h: Likewise.
27020 * gnulib/argp-parse.c: Likewise.
27021 * gnulib/argp-pin.c: Likewise.
27022 * gnulib/argp-pv.c: Likewise.
27023 * gnulib/argp-pvh.c: Likewise.
27024 * gnulib/argp-version-etc.c: Likewise.
27025 * gnulib/argp-version-etc.h: Likewise.
27026 * gnulib/argp-xinl.c: Likewise.
27027 * gnulib/argp.h: Likewise.
27028
495442ed
VS
270292010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27030
27031 * kern/device.c (grub_device_iterate): Clear errors after failed
27032 opening device.
27033
f9fd65df
VS
270342010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27035
27036 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27037 returned by firmware.
27038
af09641e
VS
270392010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27040
27041 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27042 compilation on coreboot and qemu
27043
016883a5
VS
270442010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27045
27046 * include/multiboot2.h: Resync with spec.
27047
f97e1f7d
VS
270482010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27049
27050 Multiboot2 tag support
27051
27052 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27053 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27054 Remove loader/multiboot_loader.c.
27055 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27056 (grub_multiboot2_real_boot): Likewise.
27057 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27058 (grub_get_multiboot_mmap_count): New proto.
27059 (grub_fill_multiboot_mmap): Likewise.
27060 (grub_multiboot_set_video_mode): Likewise.
27061 (grub_multiboot_set_console): Likewise.
27062 (grub_multiboot_load): Likewise.
27063 (grub_multiboot_load_elf): Likewise.
27064 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27065 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27066 * include/multiboot.h: Resynced with specification.
27067 * include/multiboot2.h: Resynced with specification.
27068 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27069 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27070 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27071 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27072 users updated.
27073 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27074 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27075 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27076 Removed.
27077 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27078 Moved from here...
27079 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27080 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27081 Moved from here...
27082 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27083 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27084 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27085 All users updated.
27086 * loader/i386/multiboot_mbi2.c: New file.
27087
3506b90b
VS
270882010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27089
27090 Resync with gnulib.
27091
27092 * Makefile.in (GNULIB_CFLAGS): New variable.
27093 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27094 (grub_script_check_CFLAGS): New variable.
27095 * gnulib/alloca.h: Resync with gnulib.
27096 * gnulib/error.c: Likewise.
27097 * gnulib/error.h: Likewise.
27098 * gnulib/fnmatch.c: Likewise.
27099 * gnulib/fnmatch_loop.c: Likewise.
27100 * gnulib/getdelim.c: Likewise.
27101 * gnulib/getline.c: Likewise.
27102 * gnulib/getopt.c: Likewise.
27103 * gnulib/getopt1.c: Likewise.
27104 * gnulib/getopt_int.h: Likewise.
27105 * gnulib/gettext.h: Likewise.
27106 * gnulib/progname.c: Likewise.
27107 * gnulib/progname.h: Likewise.
27108
394a3120
GS
271092010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27110
27111 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27112 which is the case with --disabled-nls.
27113
27114 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27115 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27116 * util/misc.c: Likewise.
27117 * util/mkisofs/mkisofs.c: Likewise.
27118 * util/mkisofs/mkisofs.h: Likewise.
27119
969d1c78
VS
271202010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27121
27122 Simplify Apple CC support.
27123
27124 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27125 Add 0 byte at the end not to have a symbol with empty target.
27126 * mmap/i386/pc/mmap_helper.S: Likewise.
27127 * genmk.rb: Ignore errors 2030 and 2050.
27128 * kern/i386/pc/startup.S: Use LOCAL when possible.
27129
8d2977bb
BC
271302010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27131
27132 Testcase and the fix for final semicolon on cmdline.
27133
27134 * tests/grub_script_final_semicolon.in: New testcase.
27135 * conf/tests.rmk: Rules for the new testcase.
27136 * script/parser.y: Grammar fix.
27137
a7bd6915
BC
271382010-03-26 BVK Chaitanya <bvk@localhost>
27139
27140 Blank lines testcase for GRUB script.
27141
27142 * tests/grub_script_blanklines.in: New testcase.
27143 * conf/tests.rmk: Rules for the new testcase.
27144
e4ff6628
VS
271452010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27146
27147 Don't use __FILE__.
27148
27149 * genmk.rb: Add -DGRUB_FILE to all C targets.
27150 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27151 * include/grub/list.h: Likewise.
27152 * include/grub/misc.h: Likewise.
27153 * include/grub/mm.h: Likewise.
27154 * include/grub/test.h: Likewise.
27155 * kern/mm.c: Likewise.
27156 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27157
6a5cf6b6
VS
271582010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27159
27160 Sunpc partitions support.
27161
27162 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27163 (grub_fstest_SOURCES): Likewise.
27164 (pkglib_MODULES): Add part_sunpc.mod.
27165 (part_sunpc_mod_SOURCES): New variable.
27166 (part_sunpc_mod_CFLAGS): Likewise.
27167 (part_sunpc_mod_LDFLAGS): Likewise.
27168 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27169 * partmap/sunpc.c: New file.
27170
746d9045
BC
271712010-03-26 BVK Chaitanya <bvk@localhost>
27172
27173 For loop support to GRUB script.
27174
27175 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27176 (grub_script_create_cmdfor): New function prototype.
27177 (grub_script_execute_cmdfor): New function prototype.
27178 * script/execute.c (grub_script_execute_cmdfor): New function.
27179 * script/parser.y (command): New for command.
27180 (forcmd): New grammar rule.
27181 * script/script.c (grub_script_create_cmdfor): New function.
27182 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27183 function.
27184 * tests/grub_script_for1.in: New testcase.
27185 * conf/tests.rmk: Rules for new testcase.
27186
18486b18
VS
271872010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27188
27189 Nested partitions
27190
27191 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27192 'partition' is NULL, grub_partition_get_start already does that.
27193 * commands/loadenv.c (check_blocklists): Likewise.
27194 (write_blocklists): Likewise.
27195 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27196 (grub_fstest_SOURCES): Likewise.
27197 (pkglib_MODULES): Add part_bsd.mod.
27198 (part_bsd_mod_SOURCES): New variable.
27199 (part_bsd_mod_CFLAGS): Likewise.
27200 (part_bsd_mod_LDFLAGS): Likewise.
27201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27202 (grub_emu_SOURCES): Likewise.
27203 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27204 * include/grub/bsdlabel.h: New file.
27205 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27206 'get_name'.
27207 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27208 (grub_partition_map_list): New variable.
27209 (grub_partition_map_register): Inline.
27210 (grub_partition_map_unregister): Likewise.
27211 (FOR_PARTITION_MAPS): New macro.
27212 (grub_partition_map_iterate): Removed.
27213 (grub_partition_get_start): Handle nested partitions.
27214 * include/grub/msdos_partition.h: Remove bsd-related entries.
27215 (grub_pc_partition): Remove.
27216 * kern/disk.c (grub_disk_close): Free partition data.
27217 (grub_disk_adjust_range): Handle nested partitions.
27218 * kern/partition.c (grub_partition_map_probe): New function.
27219 (grub_partition_probe): Parse name to number, handle subpartitions.
27220 (get_partmap): New function.
27221 (grub_partition_iterate): Handle subpartitions.
27222 (grub_partition_get_name): Likewise.
27223 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27224 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27225 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27226 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27227 Set 'number'.
27228 (acorn_partition_map_probe): Remove.
27229 (acorn_partition_map_get_name): Likewise.
27230 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27231 Set 'number'.
27232 Set 'index' to 0 since there can be only one partition entry per sector.
27233 (amiga_partition_map_probe): Remove.
27234 (amiga_partition_map_get_name): Likewise.
27235 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27236 Set 'number'.
27237 Set 'offset' and 'index' to real positions of partitions.
27238 (apple_partition_map_probe): Remove.
27239 (apple_partition_map_get_name): Likewise.
27240 * partmap/bsdlabel.c: New file.
27241 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27242 Set 'number'.
27243 Allocate 'data' so it can be correctly freed.
27244 Set 'index' to offset inside sector.
27245 (gpt_partition_map_probe): Remove.
27246 (gpt_partition_map_get_name): Likewise.
27247 * partmap/msdos.c (grub_partition_parse): Remove.
27248 (pc_partition_map_iterate): Don't force raw access.
27249 Set 'number'.
27250 Make 'ext_offset' a local variable.
27251 (pc_partition_map_probe): Remove.
27252 (pc_partition_map_get_name): Remove.
27253 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27254 Set 'number'.
27255 (sun_partition_map_probe): Remove.
27256 (sun_partition_map_get_name): Likewise.
27257 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27258 (grub_pcpart_type): Likewise.
27259 * util/hostdisk.c (open_device): Handle new numbering scheme.
27260 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27261 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27262 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27263 * util/grub-install.in: Insert all subpartition modules.
27264 * util/ieee1275/grub-install.in: Likewise.
27265
a3940f88
AG
272662010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27267
27268 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27269 grammar.
27270
21b99926 272712010-03-24 Colin Watson <cjwatson@ubuntu.com>
27272
27273 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27274
bed1d352
CW
272752010-03-21 Colin Watson <cjwatson@ubuntu.com>
27276
27277 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27278 match where 'make install' puts them.
27279 * util/i386/efi/grub-install.in: Likewise.
27280
c9f58427
CW
272812010-03-19 Colin Watson <cjwatson@ubuntu.com>
27282
27283 * .bzrignore: Add gentrigtables, grub-script-check,
27284 grub_script_check_init.c, grub_script_check_init.h, and
27285 trigtables.c.
27286
f84afb27
VS
272872010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27288
27289 * kern/parser.c: Indented.
27290
ed0e3d30
VS
272912010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27292
27293 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27294
0ea81d98
VS
272952010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27296
27297 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27298 alpha_mask_size == 0 case.
27299
0cdc2a09
BC
273002010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27301
27302 GRUB shell lexer and parser improvements.
27303
27304 * conf/any-emu.rmk: Build rule updates.
27305 * conf/common.rmk: Likewise.
27306 * conf/i386-coreboot.rmk: Likewise.
27307 * conf/i386-efi.rmk: Likewise.
27308 * conf/i386-ieee1275.rmk: Likewise.
27309 * conf/i386-pc.rmk: Likewise.
27310 * conf/powerpc-ieee1275.rmk: Likewise.
27311 * conf/x86_64-efi.rmk: Likewise.
27312
27313 * configure.ac: Configure check for flex.
27314
27315 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27316 types.
27317 (grub_lexer_param): Struct member updates.
27318 (grub_parser_param): Likewise.
27319 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27320 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27321 (grub_script_lexer_init): Prototype update.
27322 (grub_script_lexer_record_start): Likewise.
27323 (grub_script_lexer_record_stop): Likewise.
27324 (grub_script_lexer_yywrap): New function prototype.
27325 (grub_script_lexer_fini): Likewise.
27326 (grub_script_execute_argument_to_string): Removed by...
27327 (grub_script_execute_argument_to_argv): ...better version.
27328
27329 * script/execute.c (ROUND_UPTO): New macro.
27330 (grub_script_execute_cmdline): Out of memory fixes.
27331 (grub_script_execute_menuentry): Likewise.
27332 (grub_script_execute_argument_to_string): Removed. Update all
27333 users by...
27334 (grub_script_execute_argument_to_argv): ...better version.
27335 * script/function.c (grub_script_function_create): Use
27336 grub_script_execute_argument_to_argv instead of
27337 grub_script_execute_argument_to_string.
27338
27339 * script/lexer.c (check_varstate): Removed.
27340 (check_textstate): Removed.
27341 (grub_script_lexer_record_start): Likewise.
27342 (grub_script_lexer_record_stop): Likewise.
27343 (recordchar): Replaced with...
27344 (grub_script_lexer_record): ...new function.
27345 (nextchar): Removed.
27346 (grub_script_lexer_init): Rewritten.
27347 (grub_script_yylex): Rewritten.
27348 (append_newline): New function.
27349 (grub_script_lexer_yywrap): New function.
27350 (grub_script_lexer_fini): New function.
27351 (grub_script_yyerror): Sets error flag.
27352
27353 * script/yylex.l: New file.
27354 (grub_lexer_yyfree): Wrapper for flex yyffre.
27355 (grub_lexer_yyalloc): Likewise.
27356 (grub_lexer_yyrealloc): Likewise.
27357 * script/parser.y: Refactored.
27358
27359 * script/script.c (grub_script_arg_add): Out of memory fixes.
27360 (grub_script_add_arglist): Likewise.
27361 (grub_script_create_cmdline): Likewise.
27362 (grub_script_create_cmdmenu): Likewise.
27363 (grub_script_add_cmd): Likewise.
27364 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27365 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27366 unnecessary code.
27367
27368 * tests/grub_script_echo1.in: New testcase.
27369 * tests/grub_script_vars1.in: New testcase.
27370 * tests/grub_script_echo_keywords.in: New testcase.
27371
1d63a066
VS
273722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27373
27374 Remove some redundancy in build system.
27375
27376 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27377 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27378 (TARGET_LDFLAGS): Add -nostdlib.
27379 (TARGET_IMG_LDFLAGS): Likewise.
27380 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27381 anything since mmap isn't available.
27382 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27383 Add util/time.c.
27384 (pkglib_MODULES): Remove reboot.mod.
27385 (reboot_mod_SOURCES): Removed.
27386 (reboot_mod_CFLAGS): Likewise.
27387 (reboot_mod_LDFLAGS): Likewise.
27388 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27389 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27390 (DEFSYMFILES): Add kernel_syms.lst.
27391 (kernel_img_HEADERS): Add common headers.
27392 (symlist.c): New target.
27393 (kernel_syms.lst): Likewise.
27394 (pkglib_MODULES): Add memdisk.mod.
27395 (memdisk_mod_SOURCES): New variable.
27396 (memdisk_mod_CFLAGS): Likewise.
27397 (memdisk_mod_LDFLAGS): Likewise.
27398 (pkglib_MODULES): Add reboot.mod.
27399 (reboot_mod_SOURCES): New variable.
27400 (reboot_mod_CFLAGS): Likewise.
27401 (reboot_mod_LDFLAGS): Likewise.
27402 (pkglib_MODULES): Add date.mod.
27403 (date_mod_SOURCES): New variable.
27404 (date_mod_CFLAGS): Likewise.
27405 (date_mod_LDFLAGS): Likewise.
27406 (pkglib_MODULES): Add datehook.mod.
27407 (datehook_mod_SOURCES): New variable.
27408 (datehook_mod_CFLAGS): Likewise.
27409 (datehook_mod_LDFLAGS): Likewise.
27410 (pkglib_MODULES): Add lsmmap.mod.
27411 (lsmmap_mod_SOURCES): New variable.
27412 (lsmmap_mod_CFLAGS): Likewise.
27413 (lsmmap_mod_LDFLAGS): Likewise.
27414 (pkglib_MODULES): Add boot.mod.
27415 (boot_mod_SOURCES): New variable.
27416 (boot_mod_CFLAGS): Likewise.
27417 (boot_mod_LDFLAGS): Likewise.
27418 * conf/i386-coreboot.rmk: Removed redundant parts.
27419 * conf/i386-ieee1275.rmk: Likewise.
27420 * conf/i386-pc.rmk: Likewise.
27421 * conf/mips-yeeloong.rmk: Likewise.
27422 * conf/mips.rmk: Likewise.
27423 * conf/powerpc-ieee1275.rmk: Likewise.
27424 * conf/sparc64-ieee1275.rmk: Likewise.
27425 * conf/x86_64-efi.rmk: Likewise.
27426 * conf/i386-coreboot.rmk: Moved qemu parts ..
27427 * conf/i386-qemu.rmk: ... here
27428 * conf/i386-efi.rmk: Moved common parts to...
27429 * conf/x86-efi.rmk: ... here.
27430 * conf/i386.rmk: Added modules common to all x86 variants.
27431 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27432 * disk/memdisk.c: Remove grub/machine/kernel.h.
27433 * gensymlist.sh.in: Include symbol.h.
27434 * hook/datehook.c: Correct module name.
27435 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27436 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27437 * include/grub/i386/efi/serial.h: New file.
27438 * include/grub/x86_64/efi/serial.h: Likewise.
27439 * util/time.c: Likewise.
27440 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27441
463ac55f
CK
274422010-03-14 Colin King <colin.king@ubuntu.com>
274432010-03-14 Colin Watson <cjwatson@ubuntu.com>
27444
27445 Shrink the pre-partition-table part of boot.img by eight bytes.
27446
27447 * boot/i386/pc/boot.S (ERR): New macro.
27448 (chs_mode): Use ERR.
27449 (geometry_error): Likewise.
27450 (hd_probe_error): Remove. This is only used once, so we wrwite
27451 it inline instead.
27452 (read_error): Instead of printing read_error_string, just set up
27453 %si and fall through to ...
27454 (error_message): ... this new function, also used by ERR.
27455
08e46ede
CW
274562010-03-14 Colin Watson <cjwatson@ubuntu.com>
27457
27458 Speed up consecutive hostdisk operations on the same device.
27459
27460 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27461 (grub_util_biosdisk_open): Initialise disk->data.
27462 (struct linux_partition_cache): New structure.
27463 (linux_find_partition): Cache partition start positions; these are
27464 expensive to compute on every read and write.
27465 (open_device): Cache open file descriptor in disk->data, so that we
27466 don't have to reopen it and flush the buffer cache for consecutive
27467 operations on the same device.
27468 (grub_util_biosdisk_close): New function.
27469 (grub_util_biosdisk_dev): Set `close' member.
27470
27471 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27472 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27473 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27474 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27475 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27476
4a6d2d06
VS
274772010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27478
27479 Compile parts of grub-emu as modules.
27480
27481 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27482 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27483 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27484 (all-local): Add $(GRUB_EMU).
27485 (install-local): Install $(GRUB_EMU).
27486 (uninstall): Uninstall $(GRUB_EMU).
27487 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27488 * kern/dl.c: Likewise.
27489 * commands/sleep.c: Not include machine/time.h.
27490 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27491 (COMMON_CFLAGS): Likewise.
27492 (sbin_UTILITIES): Remove grub-emu.
27493 (grub_emu_SOURCES): Removed.
27494 (kernel_img_RELOCATABLE): New variable.
27495 (pkglib_PROGRAMS): Add kernel.img.
27496 (kernel_img_SOURCES): New variable
27497 (kernel_img_CFLAGS): Likewise.
27498 (kernel_img_LDFLAGS): Likewise.
27499 (TARGET_NO_STRIP): Likewise.
27500 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27501 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27502 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27503 (grub-emu): New target.
27504 (GRUB_EMU): New variable.
27505 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27506 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27507 * loader/xnu.c: Likewise.
27508 * include/grub/pci.h: Likewise.
27509 * genemuinit.sh: New file.
27510 * genemuinitheader.sh: Likewise.
27511 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27512 Support TARGET_NO_DYNAMIC_MODULES.
27513 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27514 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27515 * disk/loopback.c: Likewise.
27516 * font/font_cmd.c: Likewise.
27517 * partmap/acorn.c: Likewise.
27518 * partmap/amiga.c: Likewise.
27519 * partmap/apple.c: Likewise.
27520 * partmap/gpt.c: Likewise.
27521 * partmap/msdos.c: Likewise.
27522 * partmap/sun.c: Likewise.
27523 * parttool/msdospart.c: Likewise.
27524 * term/gfxterm.c: Likewise.
27525 * video/bitmap.c: Likewise.
27526 * video/readers/jpeg.c: Likewise.
27527 * video/readers/png.c: Likewise.
27528 * video/readers/tga.c: Likewise.
27529 * video/video.c: Likewise.
27530 * util/grub-emu.c (read_command_list): Removed.
27531 (main): Don't call util_init_nls.
27532 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27533 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27534
91fdd2ed
VS
275352010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27536
27537 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27538 date.mod, datehook.mod.
27539 (datetime_mod_SOURCES): New variable.
27540 (datetime_mod_CFLAGS): Likewise.
27541 (datetime_mod_LDFLAGS): Likewise.
27542 (date_mod_SOURCES): Likewise.
27543 (date_mod_CFLAGS): Likewise.
27544 (date_mod_LDFLAGS): Likewise.
27545 (datehook_mod_SOURCES): Likewise.
27546 (datehook_mod_CFLAGS): Likewise.
27547 (datehook_mod_LDFLAGS): Likewise.
27548 * conf/sparc64-ieee1275.rmk: Likewise.
27549 * lib/ieee1275/datetime.c: New file.
27550
873ccae6
VS
275512010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27552
27553 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27554 (ieee1275_fb_mod_SOURCES): New variable.
27555 (ieee1275_fb_mod_CFLAGS): Likewise.
27556 (ieee1275_fb_mod_LDFLAGS): Likewise.
27557 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27558 New proto.
27559 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27560 (HEAP_MAX_ADDR): Likewise.
27561 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27562 type.
27563 Correct stop condition.
27564 (grub_ieee1275_devices_iterate): New function.
27565 * video/ieee1275.c: New file.
27566
601c97c0
VS
275672010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27568
27569 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27570
27571 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27572 as scratch.
27573 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27574 SCRATCH_PAD_DISKBOOT as scratch.
27575 (bootit): Pass Openfirmware pointer in %o4.
27576 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27577 of 0x200000.
27578 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27579 with util/grub-mkrawimage.c.
27580 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27581 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27582 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27583 (grub_aout_load) [GRUB_UTIL]: Likewise.
27584 * include/grub/kernel.h (grub_modules_get_end): New proto.
27585 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27586 (SCRATCH_PAD_BOOT): New definition.
27587 (SCRATCH_PAD_DISKBOOT): Likewise.
27588 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27589 * include/grub/sparc64/ieee1275/ieee1275.h
27590 (grub_ieee1275_original_stack): New variable
27591 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27592 New definition
27593 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27594 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27595 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27596 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27597 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27598 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27599 (grub_platform_image_format_t): New type.
27600 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27601 * kern/main.c (grub_modules_get_end)
27602 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27603 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27604 (codestart): Switch stacks.
27605 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27606 variable.
27607 (grub_heap_init): Use grub_modules_get_end.
27608 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27609 stack.
27610 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27611 (main): Likewise.
27612 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27613
d68b491e
TG
276142010-03-14 Thorsten Glaser <tg@mirbsd.org>
27615
27616 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27617
4e02ed50
MK
276182010-03-08 Matt Kraai <kraai@ftbfs.org>
27619
27620 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27621 bug #559005).
27622
1f15fc1e
VS
276232010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27624
27625 * genmoddep.awk: Output all missing symbols and not only first.
27626
fce5d8ff
VS
276272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27628
27629 * NEWS: Put the date of 1.98 release.
27630
d1e8a02f
VS
276312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27632
27633 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27634 ft2build.h.
27635
696fd607
VS
276362010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27637
27638 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27639 completition in the middle of string.
27640
33e2e6f3
VS
276412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27642
27643 * util/grub-mkrescue.in: Use mktemp with explicit template.
27644
b1f6d291
VS
276452010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27646
27647 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27648
2ac227c7
VS
276492010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27650
27651 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27652 right pointer.
27653
8f9a632b
VS
276542010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27655
27656 Fix FreeBSD compilation.
27657
27658 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27659 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27660
60b03859
VS
276612010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27662
27663 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27664
48a5a769
VS
276652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27666
27667 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27668
3ab4bd77
VS
276692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27670
27671 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27672
d116e0d8
RM
276732010-03-04 Robert Millan <rmh.grub@aybabtu.com>
27674
27675 Support relative image path in theme file.
27676
27677 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
27678 (image_set_property): Handle theme_dir and relative path.
27679
c7ef54aa
VS
276802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27681
27682 * configure.ac: Alias amd64 to x86_64.
27683
fcee14ed
VS
276842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27685
27686 * NEWS: mention multiboot on EFI.
27687
d0780363
VS
276882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27689
27690 * kern/main.c (grub_load_modules): Handle errors from init functions of
27691 embeded modules.
27692
41168ea4
VS
276932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27694
27695 * normal/autofs.c (autoload_fs_module): Handle errors.
27696
b54d93ac
VS
276972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27698
27699 Disable linux.mod on qemu-mips since it's not functional and leads
27700 to compilation failure.
27701
27702 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
27703 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
27704 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
27705 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
27706 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
27707 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
27708 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
27709 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
27710 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
27711 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
27712 Reported by: BVK Chaitanya
27713
fc8345da
JU
277142010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
27715
27716 * INSTALL: Add gettext as a dependency and add qemu to a new section
27717 "Prerequisites for make-check".
27718
4760f979
CF
277192010-03-04 Christian Franke <franke@computer.org>
27720
27721 * util/grub-pe2elf.c: Add missing include "progname.h".
27722
f209b5b2
VS
277232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27724
27725 * normal/crypto.c (read_crypto_list): Fix a typo.
27726 Reported by: Seth Goldberg.
27727
b4b7be98
VS
277282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27729
27730 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 27731 Reported by: Seth Goldberg.
b4b7be98 27732
c0ee0385
VS
277332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27734
27735 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
27736 ascii.bitmaps.
27737
a8efbf64
VS
277382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27739
27740 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 27741 Reported by: Seth Goldberg.
a8efbf64 27742
08dcd913
VS
277432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27744
27745 * util/i386/efi/grub-install.in: Copy gettext files.
27746
c4d0b332
VS
277472010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27748
27749 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
27750
c6f2fe52
VS
277512010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27752
27753 Wait for user entry basing on presence of output rather than on errors.
27754
27755 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
27756 (grub_install_newline_hook): Likewise.
27757 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
27758 * normal/menu.c (show_menu): Check line_counter to determine presence
27759 of output.
27760 * normal/term.c (grub_normal_line_counter): New variable.
27761 (grub_normal_get_line_counter): New function.
27762 (grub_install_newline_hook): Likewise.
27763
5382b1e4
VS
277642010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27765
27766 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
27767
5519963b
VS
277682010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27769
27770 * configure.ac: Update version to 1.98.
27771
72b28631
VS
277722010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
27773
27774 * util/grub.d/10_linux.in (linux_entry): Don't default to
27775 gfxpayload=keep if Linux doesn't support video handover.
27776
c140a180
VS
277772010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
27778
27779 Don't compile video modules on yeeloong since video subsystem is part
27780 of kernel.
27781
27782 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
27783 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
27784 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
27785 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
27786 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
27787 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
27788 * include/grub/bitmap_scale.h: Likewise.
27789 * include/grub/bufio.h: Likewise.
27790 * include/grub/font.h: Likewise.
27791 * include/grub/gfxterm.h: Likewise.
27792 * include/grub/video.h: Likewise.
27793 * include/grub/vbe.h: Don't include video_fb.h.
27794 * video/i386/pc/vbe.c: Include video_fb.h.
27795 * commands/i386/pc/vbetest.c: Include video.h.
27796
a0ca21c2
CW
277972010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
27798
27799 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
27800 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
27801 default entry if GRUB_SAVEDEFAULT=true. This allows using
27802 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
27803 saving a new default on every boot.
27804
4a8a763c
VS
278052010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27806
27807 * normal/crypto.c (read_crypto_list): Fix a memory leak.
27808 * normal/term.c (read_terminal_list): Likewise.
27809 * normal/main.c (grub_normal_init_page): Likewise.
27810 (grub_normal_read_line_real): Likewise.
27811
607ffde2
VS
278122010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27813
27814 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
27815 memory leak.
27816 Reported by: Seth Goldberg.
27817
2b8fa975
CW
278182010-02-24 Joey Korkames <joey+lists@kidfixit.com>
27819
27820 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
27821 duplicate declaration of `start'.
27822
618307dd
VS
278232010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27824
27825 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
27826 filename.
27827 Reported by: Georgy Buranov
27828
7dd05b96 278292010-02-20 Carles Pina i Estany <carles@pina.cat>
27830
27831 * util/grub-mkrawimage.c (usage): Change string formatting to
27832 improve gettext.
27833
d1484a42
MRA
278342010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
27835
27836 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
27837 backspace keys.
27838
42b1d186
VS
278392010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27840
27841 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
27842 Reported by: Michael Suchanek.
27843
278442010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
27845
27846 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
27847 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
27848
d9f31a41
VS
278492010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
27850
27851 Remove any reference to non-free fonts.
27852
27853 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
27854 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
27855 uses non-free components.
27856 * font/font.c (grub_font_get_name): Remove example name.
27857 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
27858 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
27859 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
27860 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
27861
2793c71e
GB
278622010-02-16 Georgy Buranov <gburanov@gmail.com>
27863
27864 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
27865
402e3779
VS
278662010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
27867
27868 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
27869 Double divisor.
27870 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
27871 features.
27872 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
27873
0dd1e0dd
VS
278742010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
27875
27876 * gensymlist.sh.in: Use TARGET_CC instead of CC.
27877
6fa7cfce
ST
278782010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27879
27880 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
27881 * docs/grub.texi (Command-line and menu entry commands): Document play
27882 command.
27883
37c8483b
ST
278842010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27885
27886 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
27887 parse arguments as inline tempo and notes. Move code for playing notes
27888 to...
27889 (play): ... new function.
27890
14da0fb7
ST
278912010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27892
27893 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
27894 grub_uint16_t instead of short.
27895 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
27896 disk from little endian to cpu endianness.
27897
04459e70
ST
278982010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
27899
27900 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
27901 GRUB_TICKS_PER_SECOND instead of 120.
27902
a0876943
VS
279032010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27904
27905 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
27906 escape sequence after \e.
27907
e29f95dc
VS
279082010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27909
27910 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
27911 non-ASCII characters.
27912
d27859b2
VS
279132010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27914
27915 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
27916 set root in single quotes to prevent \, from being unescaped.
27917
bc028f2f
VS
279182010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27919
27920 Prevent unknown commands from stopping menuentry execution.
27921
27922 * script/execute.c (grub_script_execute_cmdline): Print error after
27923 unknown command.
27924
095f5f82
VS
279252010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27926
27927 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
27928 Reported by: Pavel Pisa.
27929
8c717950
VS
279302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27931
27932 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
27933
904935c3
VS
279342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27935
27936 Merge grub_ieee1275_map_physical into grub_map and rename to
27937 grub_ieee1275_map
27938
27939 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
27940 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
27941 Remove.
27942 * kern/ieee1275/openfw.c (grub_map): Rename to ...
27943 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
27944 necessary.
27945 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
27946
5b59a4e3
VS
279472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27948
27949 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
27950 opening and not after.
27951
69e137e8
VS
279522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27953
27954 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
27955 constants.
27956
2c0fcc36
VS
279572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27958
27959 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
27960 (alloc_phys): Use ALIGN_UP instead of align_addr.
27961
8c6052ce
VS
279622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27963
27964 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
27965
17cec782
VS
279662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27967
27968 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
27969
e0128bbd
VS
279702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27971
27972 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
27973 verbose dprintf.
27974
ca62070b
VS
279752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27976
27977 Fix over-4GiB seek on sparc64.
27978
27979 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
27980 Replace pos_i and pos_lo with pos. All users updated.
27981 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
27982 New constant.
27983 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
27984 Likewise.
27985 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
27986 and pos_lo.
27987
bdca2607
VS
279882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27989
27990 * util/grub-mkrawimage.c (main): Call set_program_name.
27991
da278c4d
VS
279922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27993
27994 Properly align 64-bit targets.
27995
27996 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
27997 (generate_image): Use ALIGN_ADDR.
27998
b274d734
VS
279992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28000
28001 Properly create cross-endian images.
28002
28003 * include/grub/types.h (grub_host_to_target_addr): New macro
28004 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28005
82da2062
VS
280062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28007
28008 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28009
7cae4377
VS
280102010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28011
28012 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28013
28014 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28015 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28016 (grub_linux_boot): Divide by 64K when on VESA.
28017
65a533e7
VS
280182010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28019
28020 Support GRUB_GFXPAYLOAD_LINUX.
28021
28022 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28023 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28024
dd01d397
VS
280252010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28026
28027 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28028 to show messages instead of discarding them.
28029 Process errors after executing command and not before. Keep old method
28030 too as precaution.
28031
660960d6
VS
280322010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28033
28034 * configure.ac: Check for ft2build.h.
28035
62509f04
VS
280362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28037
28038 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28039
473df63d
VS
280402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28041
28042 * genkernsyms.sh.in: Use TARGET_CC.
28043
c98d2a13
CW
280442010-02-07 Colin Watson <cjwatson@ubuntu.com>
28045
28046 * NEWS: Update.
28047
6e14234c
VS
280482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28049
28050 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28051 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28052 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28053
b255e9cf
YB
280542010-02-07 Yves Blusseau <blusseau@zetam.org>
28055
6e14234c 28056 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28057
98e6959d
VS
280582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28059
28060 Fix warnings in grub-emu when compiling with maximum warning options.
28061
28062 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28063 (grub_arch_modules_addr): Return 0 and not NULL.
28064 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28065 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28066 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28067 of disk to dsk to avoid shadowing.
74e4934e
VS
28068 (find_free_slot): Fix prototype.
28069 * util/getroot.c (grub_util_is_dmraid): Make static.
28070 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28071 Add missing prototype.
28072 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28073
74e31b5c
VS
280742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28075
28076 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28077 appropriately.
28078
6b2ad14b
VS
280792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28080
28081 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28082 code out.
28083
8f891adc
VS
280842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28085
28086 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28087 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28088 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28089 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28090 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28091 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28092
74b45184
VS
280932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28094
28095 * include/grub/err.h (grub_err_printf): Don't export.
28096
a4bced77
VS
280972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28098
28099 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28100
007d0695
VS
281012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28102
28103 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28104 * kern/misc.c (grub_gettext_dummy): Make static.
28105
b6c0d9c2
VS
281062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28107
28108 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28109 by non-valid ones.
28110 * kern/term.c (grub_putchar): Likewise.
28111
f51a90d0
VS
281122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28113
28114 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28115 buggy hook call and memory leak.
28116
6846cec5
VS
281172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28118
28119 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28120
468d69fe
VS
281212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28122
28123 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28124
51906b8c
VS
281252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28126
28127 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28128 modevar.
28129 Return grub_errno on allocation error.
28130
09706ce5
VS
281312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28132
28133 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28134
911df80c
YB
281352010-02-06 Yves Blusseau <blusseau@zetam.org>
28136
28137 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28138 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28139
3746a6bc
VS
281402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28141
28142 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28143 non-pxe disk.
28144 (grub_pxefs_open): Likewise.
28145
09706ce5
VS
281462010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28147
28148 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28149 * util/grub.d/10_kfreebsd.in: Likewise.
28150 * util/grub.d/10_linux.in: Likewise.
28151
7cc192d9
VS
281522010-02-06 Colin D Bennett <colin@gibibit.com>
28153
28154 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28155 (gfxmenu_mod_SOURCES): New variable.
28156 (gfxmenu_mod_CFLAGS): Likewise.
28157 (gfxmenu_mod_LDFLAGS): Likewise.
28158 * include/grub/term.h (grub_term_set_current_output): Declare
28159 argument as const.
28160 * docs/gfxmenu-theme-example.txt: New file.
28161 * gfxmenu/gfxmenu.c: Likewise.
28162 * gfxmenu/gui_box.c: Likewise.
28163 * gfxmenu/gui_canvas.c: Likewise.
28164 * gfxmenu/gui_circular_progress.c: Likewise.
28165 * gfxmenu/gui_image.c: Likewise.
28166 * gfxmenu/gui_label.c: Likewise.
28167 * gfxmenu/gui_list.c: Likewise.
28168 * gfxmenu/gui_progress_bar.c: Likewise.
28169 * gfxmenu/gui_string_util.c: Likewise.
28170 * gfxmenu/gui_util.c: Likewise.
28171 * gfxmenu/icon_manager.c: Likewise.
28172 * gfxmenu/model.c: Likewise.
28173 * gfxmenu/named_colors.c: Likewise.
28174 * gfxmenu/theme_loader.c: Likewise.
28175 * gfxmenu/view.c: Likewise.
28176 * gfxmenu/widget-box.c: Likewise.
28177 * include/grub/gfxmenu_model.h: Likewise.
28178 * include/grub/gfxmenu_view.h: Likewise.
28179 * include/grub/gfxwidgets.h: Likewise.
28180 * include/grub/gui.h: Likewise.
28181 * include/grub/gui_string_util.h: Likewise.
28182 * include/grub/icon_manager.h: Likewise.
28183
281842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28185
28186 Agglomerate scrolling in gfxterm.
28187
28188 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28189 (grub_virtual_screen_setup): Initialise 'total_screen'.
28190 (write_char): Split to ...
28191 (paint_char): ... this ...
28192 (write_char): ... and this.
28193 (paint_char): Handle delayed scrolling.
28194 (draw_cursor): Likewise.
28195 (scroll_up): Split to ...
28196 (real_scroll): ... this ...
28197 (scroll_up): ... and this.
28198 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28199 characters.
28200 (grub_gfxterm_refresh): Call real_scroll.
28201
282022010-02-06 Colin D Bennett <colin@gibibit.com>
28203
28204 * include/grub/misc.h (grub_iscntrl): New inline function.
28205 (grub_isalnum): Likewise.
28206 (grub_strtol): Likewise.
28207
282082010-02-06 Colin D Bennett <colin@gibibit.com>
28209
28210 * normal/menu_text.c (get_entry_number): Move from here ...
28211 * normal/menu.c (get_entry_number): ... moved here.
28212 * include/grub/menu.h (grub_menu_get_default_entry_index):
28213 New prototype.
28214 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28215 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28216 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28217 (grub_menu_viewer_should_return): Likewise.
28218 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28219 * normal/menu_text.c (run_menu): Enable menu switching.
28220 * normal/menu_viewer.c (should_return): New variable.
28221 (menu_viewer_changed): Likewise.
28222 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28223 (grub_menu_viewer_should_return): New function.
28224 (menuviewer_write_hook): Likewise.
28225 (grub_menu_viewer_init): Likewise.
28226
282272010-02-06 Colin D Bennet <colin@gibibit.com>
282282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28229
28230 Support for gfxterm in a window.
28231
28232 * include/grub/gfxterm.h: New file.
28233 * include/grub/video.h (struct grub_video_rect): New declaration.
28234 (grub_video_rect_t): Likewise.
28235 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28236 (refcount): New variable.
28237 (render_target): Likewise.
28238 (window): Likewise.
28239 (repaint_callback): Likewise.
28240 (grub_virtual_screen_setup): Use 'render_target'.
28241 (init_window): New function.
28242 (grub_gfxterm_init_window): Likewise.
28243 (grub_gfxterm_init): Check reference counter.
28244 Use init_window.
28245 (destroy_window): New function.
28246 (grub_gfxterm_destroy_window): Likewise.
28247 (grub_gfxterm_fini): Check reference counter.
28248 Use destroy_window.
28249 (redraw_screen_rect): Restore viewport.
28250 Use 'render_target' and 'window'.
28251 Call 'repaint_callback'.
28252 (write_char): Use 'render_target'.
28253 (draw_cursor): Likewise.
28254 (scroll_up): Restore viewport.
28255 Use 'render_target' and 'window'.
28256 Call 'repaint_callback'.
28257 (grub_gfxterm_cls): Likewise.
28258 (grub_gfxterm_refresh): Use 'window'.
28259 (grub_gfxterm_set_repaint_callback): New function.
28260 (grub_gfxterm_background_image_cmd): Use 'window'.
28261 (grub_gfxterm_get_term): New function.
28262 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28263
282642010-02-06 Colin D Bennett <colin@gibibit.com>
28265
28266 Bitmap scaling support.
28267
28268 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28269 (bitmap_scale_mod_SOURCES): New variable.
28270 (bitmap_scale_mod_CFLAGS): Likewise.
28271 (bitmap_scale_mod_LDFLAGS): Likewise.
28272 * include/grub/bitmap_scale.h: New file.
28273 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28274 (background_image_cmd_options): New variable.
28275 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28276 (cmd): Rename and change type to ...
28277 (background_image_cmd_handle): ... this. All users updated.
28278 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28279 * video/bitmap_scale.c: New file.
28280
282812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28282
28283 SDL support.
28284
28285 * Makefile.in (LIBSDL): New variable.
28286 (enable_grub_emu_sdl): Likewise.
28287 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28288 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28289 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28290 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28291 * util/sdl.c: New file.
28292
282932010-02-06 Colin D Bennett <colin@gibibit.com>
282942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28295
28296 Double buffering support.
28297
28298 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28299 * include/grub/video.h: Update comment.
28300 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28301 New type.
28302 (grub_video_fb_doublebuf_blit_init): New prototype.
28303 * term/gfxterm.c (scroll_up): Support double buffering.
28304 (grub_gfxterm_refresh): Likewise.
28305 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28306 (grub_video_fb_doublebuf_blit_init): Likewise.
28307 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28308 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28309 'displayed_page', 'render_page' and 'update_screen'.
28310 (grub_video_vbe_fini): Free offscreen buffer.
28311 (doublebuf_pageflipping_commit): New function.
28312 (doublebuf_pageflipping_update_screen): Likewise.
28313 (doublebuf_pageflipping_init): Likewise.
28314 (double_buffering_init): Likewise.
28315 (grub_video_vbe_setup): Enable doublebuffering.
28316 (grub_video_vbe_swap_buffers): Implement.
28317 (grub_video_vbe_set_active_render_target): Handle double buffering.
28318 (grub_video_vbe_get_active_render_target): Likewise.
28319 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28320 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28321 (grub_video_vbe_enable_double_buffering): Likewise.
28322 (grub_video_vbe_swap_buffers): Use update_screen.
28323 (grub_video_set_mode): Use double buffering.
28324
283252010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28326
28327 * maintainance/gentrigtables.py: Remove.
28328 * lib/trig.c: Likewise.
28329
28330 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28331
28332 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28333 `trigtables.c'.
28334 (trigtables.c): New rule.
28335 (gentrigtables): Likewise.
28336 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28337
283382010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28339
28340 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28341 integer constants.
28342
283432010-02-06 Colin D Bennet <colin@gibibit.com>
28344
28345 Trigonometry support.
28346
28347 * include/grub/trig.h: New file.
28348 * lib/trig.c: Likewise.
28349 * maintainance/gentrigtables.py: Likewise.
28350 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28351 (trig_mod_SOURCES): New variable.
28352 (trig_mod_CFLAGS): Likewise.
28353 (trig_mod_LDFLAGS): Likewise.
28354
5562834e
VS
283552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28356
28357 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28358 disk devices.
28359
4f8528fc
VS
283602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28361
28362 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28363 error.
28364
2b4068e9
VS
283652010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28366
28367 * util/hostdisk.c (open_device): Don't use partition device when reading
28368 before the partition.
28369 (grub_util_biosdisk_read): Don't read from partition and before the
28370 partition in single operation.
28371 (grub_util_biosdisk_write): Don't write to partition and before the
28372 partition in single operation.
28373
399f6e4d
TL
283742010-02-03 Torsten Landschoff <torsten@debian.org>
28375
28376 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28377 last sectors.
28378
996649b0
VS
283792010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28380
28381 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28382 CDROM reads.
28383 (grub_biosdisk_write): Refuse to write to CDROM.
28384
3b205d4d
VS
283852010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28386
28387 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28388
61e89d9d
VS
283892010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28390
28391 * font/font.c (find_glyph): Check that bmp_idx is available before
28392 using it.
28393 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28394 with (font == NULL).
28395
bf7fcba2
CS
283962010-01-28 Christian Schmitt <chris@ilovelinux.de>
28397
28398 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28399
f45d2663
BC
284002010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28401
28402 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28403 * util/grub-script-check.c (getline): Fix empty lines case.
28404
ec1444e6
RM
284052010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28406
28407 * Makefile.in (check): Exit with fail status when one of the tests
28408 fails.
28409 * tests/example_functional_test.c (example_test): Fix reversed assert.
28410 * tests/example_unit_test.c (example_test): Likewise.
28411
2e1cb9bb
CW
284122010-01-28 Colin Watson <cjwatson@ubuntu.com>
28413
28414 * util/grub.d/10_linux.in: This script does not use any of the
28415 contents of gettext.sh, only the external command `gettext', so stop
28416 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28417 the same prefix as GRUB.)
28418 * util/grub.d/10_kfreebsd.in: Likewise.
28419
63533ab0
VS
284202010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28421
28422 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28423 of the line.
28424
989e1f93
VS
284252010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28426
28427 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28428 last sectors.
28429
e709ebe2
VS
284302010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28431
28432 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28433 having a 4KiB and not 32KiB buffer size.
28434
27dea7ed
RM
284352010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28436
28437 * util/hostfs.c: Include `<errno.h>'.
28438 (grub_hostfs_read): Handle errors from fseeko() and fread().
28439
67667b9c
RM
284402010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28441
28442 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28443 loop when using read hooks on files whose size isn't sector-aligned.
28444
c294d9d8
RM
284452010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28446
28447 Remove unused parameter.
28448
28449 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28450 (grub_iso9660_open): Remove initialization of `data->length'.
28451
af75a9f1
RM
284522010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28453
28454 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28455 memleak conditions.
28456
254e2ce5 284572010-01-27 Carles Pina i Estany <carles@pina.cat>
28458
28459 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28460 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28461
b510928c 284622010-01-26 Carles Pina i Estany <carles@pina.cat>
28463
28464 * util/bin2h.c (usage): Fix warning (space after backslash).
28465
aa2f9dd2 284662010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28467
28468 * font/font.c: Include `grub/fontformat.h.
28469 Remove font file format constants.
28470 (grub_font_load): Use the new macros.
28471 * include/grub/fontformat.h: New file.
28472 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28473 (write_font_pf2): Use the new macros.
28474
94e7e712
RM
284752010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28476
28477 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28478 does.
28479
3973a59a
RM
284802010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28481
28482 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28483
28484 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28485 (_start): Macroify `0x7F'.
28486
28487 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28488 (make_install_device): Use "(pxe)" as fallback prefix when booting
28489 via PXE.
28490
42e0cba3
GS
284912010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28492
28493 * configure.ac: Reset LIBS after check for libgcc symbols.
28494
847effd8
CW
284952010-01-25 Colin Watson <cjwatson@ubuntu.com>
28496
28497 * util/hostdisk.c (open_device): Add trailing newline to debug
28498 message.
28499
ea4a7e35
GS
285002010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28501
28502 * configure.ac: Check for `limits.h'.
28503 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28504
67951a53
RM
285052010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28506
28507 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28508 capitalize error strings.
28509
c273d4ce
ST
285102010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28511
28512 * util/grub.d/10_hurd.in: Add a recovery mode.
28513
69be5b74
VS
285142010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28515
28516 * configure.ac: Check for libgcc symbols with -nostdlib.
28517
fc9e5810
BC
285182010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28519
28520 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28521
4b358c0a
VS
285222010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28523
28524 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28525 stack since heap may be unavailable at that point.
28526 (grub_ofconsole_gotoxy): Likewise.
28527
454fcd1c
VS
285282010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28529
28530 * configure.ac: Check for _restgpr_14_x.
28531 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28532 and _savegpr_* prototypes.
28533
566863ca
RM
285342010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28535
28536 Use generic grub_reboot() for i386-efi.
28537
28538 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28539 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28540 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28541
bf86e59a
VS
285422010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28543
28544 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28545 presence of "prefix" variable as it breaks when normal.mod is
28546 embedded.
28547
d645e0f8
VS
285482010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28549
28550 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28551 stack since heap is unavailable at that point.
28552
f9ab2e25
VS
285532010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28554
28555 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28556 (grub_freebsd_bootinfo): Rewritten.
28557 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28558
01fc7054
VS
285592010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28560
28561 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28562
caab4fd6
RM
285632010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28564
28565 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28566 domain now.
28567
67eb1427
FZ
285682010-01-20 Felix Zielcke <fzielcke@z-51.de>
28569
28570 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28571 around for handling "/" to the correct fix. Fix a memory leak. Use
28572 xstrdup instead of strdup.
28573
a9ed4ff3
VS
285742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28575
28576 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28577
285782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
28579
28580 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28581
28582 * font/font.c (struct grub_font): New member 'bmp_idx'.
28583 (font_init): Initialise 'bmp_idx'.
28584 (load_font_index): Fill 'bmp_idx'.
28585 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28586
48209f4f
VS
285872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28588
28589 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28590 unnecessary calls.
28591
9f0a4bb7
VS
285922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28593
28594 Move context handling out of the kernel.
28595
28596 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28597 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28598 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28599 * conf/i386-efi.rmk: Likewise.
28600 * conf/i386-ieee1275.rmk: Likewise.
28601 * conf/i386-pc.rmk: Likewise.
28602 * conf/powerpc-ieee1275.rmk: Likewise.
28603 * conf/sparc64-ieee1275.rmk: Likewise.
28604 * conf/x86_64-efi.rmk: Likewise.
28605 * include/grub/env.h: Include grub/menu.h.
28606 (grub_env_var_type): Removed.
28607 (grub_env_var): Replaced field 'type' with 'global'.
28608 (grub_env_find): New prototype.
28609 (grub_env_context_open): Remove EXPORT_FUNC.
28610 (grub_env_context_close): Likewise.
28611 (grub_env_export): Likewise.
28612 (grub_env_set_data_slot): Removed.
28613 (grub_env_get_data_slot): Likewise.
28614 (grub_env_unset_data_slot): Likewise.
28615 (grub_env_unset_menu): New prototype.
28616 (grub_env_set_menu): Likewise.
28617 (grub_env_get_menu): Likewise.
28618 * include/grub/env_private.h: New file.
28619 * include/grub/normal.h (grub_context_init): New prototype.
28620 (grub_context_fini): Likewise.
28621 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28622 * normal/context.c (grub_cmd_export): ... to here.
28623 * kern/env.c: Include env_private.h.
28624 (HASHSZ): Moved to include/grub/env_private.h.
28625 (grub_env_context): Likewise.
28626 (grub_env_sorted_var): Likewise.
28627 (current_context): Renamed from this ...
28628 (grub_current_context): ...to this. 'static' removed. All users updated.
28629 (grub_env_find): Removed 'static'.
28630 (grub_env_context_open): Moved to normal/context.c.
28631 (grub_env_context_close): Likewise.
28632 (grub_env_export): Likewise.
28633 (mangle_data_slot_name): Removed.
28634 (grub_env_set_data_slot): Likewise.
28635 (grub_env_get_data_slot): Likewise.
28636 (grub_env_unset_data_slot): Likewise.
28637 * kern/main.c (grub_set_root_dev): Don't export root.
28638 It will be done later.
28639 (grub_main): Don't export prefix.
28640 It will be done later.
28641 * normal/context.c: New file.
28642 * normal/main.c (free_menu): Use grub_env_unset_menu.
28643 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28644 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28645 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28646 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28647
8dd35b8c
VS
286482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28649
28650 setpci support.
28651
28652 * commands/setpci.c: New file.
28653 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28654 (setpci_mod_SOURCES): New variable.
28655 (setpci_mod_CFLAGS): Likewise.
28656 (setpci_mod_LDFLAGS): Likewise.
28657
449193d5
VS
286582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28659
28660 Byte-addressable PCI configuration space.
28661
28662 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28663 dword address.
28664 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28665 GRUB_PCI_REG_CACHELINE.
28666 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28667 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28668 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28669 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28670 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28671 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28672 grub_pci_make_address.
28673 (lock_rom_area): Likewise.
28674 * commands/lspci.c (grub_lspci_iter): Use macroses
28675 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
28676 of grub_pci_make_address.
28677 * disk/ata.c (grub_ata_pciinit): Likewise.
28678 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
28679 (GRUB_PCI_REG_VENDOR): Likewise.
28680 (GRUB_PCI_REG_DEVICE): Likewise.
28681 (GRUB_PCI_REG_COMMAND): Likewise.
28682 (GRUB_PCI_REG_STATUS): Likewise.
28683 (GRUB_PCI_REG_REVISION): Likewise.
28684 (GRUB_PCI_REG_CLASS): Likewise.
28685 (GRUB_PCI_REG_CACHELINE): Likewise.
28686 (GRUB_PCI_REG_LAT_TIMER): Likewise.
28687 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
28688 (GRUB_PCI_REG_BIST): Likewise.
28689 (GRUB_PCI_REG_ADDRESSES): Likewise.
28690 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28691 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28692 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28693 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28694 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28695 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28696 (GRUB_PCI_REG_CIS_POINTER): Likewise.
28697 (GRUB_PCI_REG_SUBVENDOR): Likewise.
28698 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
28699 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
28700 (GRUB_PCI_REG_CAP_POINTER): Likewise.
28701 (GRUB_PCI_REG_IRQ_LINE): Likewise.
28702 (GRUB_PCI_REG_IRQ_PIN): Likewise.
28703 (GRUB_PCI_REG_MIN_GNT): Likewise.
28704 (GRUB_PCI_REG_MAX_LAT): Likewise.
28705 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
28706 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
28707 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 28708 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
28709 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
28710 space.
28711
96d73208
RM
287122010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28713
28714 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
28715 can be reliably determined to be supported.
28716
d4484482
RM
287172010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28718
28719 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
28720 that VESA is supported.
28721 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
28722 supported.
28723
00308ecf
VS
287242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28725
28726 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
28727
f66924a4
RM
287282010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28729
28730 * util/misc.c (make_system_path_relative_to_its_root): Work around
28731 special-casing of "/", as previous incarnation of this routine did.
28732
cbca0ada
VS
287332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28734
28735 Fix any-emu compilation.
28736
28737 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
28738 * grub_bin2h_SOURCES: New variable.
28739
34a66d99
RM
287402010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28741
28742 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
28743
94fabf58
RM
287442010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28745
28746 * util/grub.d/00_header.in: Fix handling of locale_dir.
28747
02cf98ca
VS
287482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28749
28750 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
28751 as possible unifont location (Gentoo).
28752 Reported by: Alexander Brüning
28753
327dbcd7
VS
287542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28755
28756 Don't try to generate lists for kernel.img.
28757
28758 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
28759 (pkglib_MODULES): Remove kernel.img.
28760 (kernel_img_EXPORTS): Removed.
28761 (kernel_img_RELOCATABLE): New variable.
28762 * conf/x86_64-efi.rmk: Likewise.
28763 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
28764
ca467290
VS
287652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28766
28767 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
28768 grub_xasprintf or grub_snprintf.
28769 (grub_vsprintf): Likewise.
28770 (grub_snprintf): New proto.
28771 (grub_vsnprintf): Likewise.
28772 (grub_xasprintf): Likewise.
28773 (grub_xvasprintf): Likewise.
28774 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
28775 (grub_sprintf): Removed.
28776 (grub_vsnprintf): New function.
28777 (grub_snprintf): Likewise.
28778 (grub_xvasprintf): Likewise.
28779 (grub_xasprintf): Likewise.
28780 (grub_vsprintf): Renamed to ...
28781 (grub_vsnprintf_real): ...this. New argument max_len.
28782
aca655fd
BC
287832010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
28784
28785 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
28786 fix grub-script-check warning.
28787
7ee92c32
VS
287882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28789
28790 * include/grub/font.h (grub_font_load): Fix prototype.
28791
f80927ca
VS
287922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28793
28794 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
28795
119c50ea
VS
287962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28797
28798 * include/grub/x86_64/at_keyboard.h: New file.
28799
47d5f3c1
VS
288002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28801
28802 * loader/mips/linux.c: Include missing grub/i18n.h.
28803
55ff5266
RM
288042009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28805
28806 * normal/menu.c (notify_execution_failure): Clarify error message.
28807
c893cc87
RM
288082009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28809
28810 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
28811 return value (and revert all return statements). Update users.
28812
917dd370
CW
288132010-01-20 Dan Merillat <debian@dan.merillat.org>
28814
28815 * kern/device.c (grub_device_iterate): Allocate new part_ent
28816 structure based on sizeof (*p) rather than sizeof (p->next), to
28817 account for structure padding.
28818
28819 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
28820 disk is NULL, which might happen for LVM physical volumes with no
28821 LVM signature.
28822
d4a4ee57
RM
288232009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28824
28825 * loader/mips/linux.c (grub_cmd_initrd)
28826 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
28827
288282009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28829
28830 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
28831 (grub_video_video_init, grub_video_bitmap_init)
28832 (grub_font_manager_init, grub_term_gfxterm_init)
28833 (grub_at_keyboard_init): New extern declarations.
28834 (grub_machine_init): Initialize gfxterm and at_keyboard.
28835
28836 * kern/main.c (grub_main): Revert grub_printf delay kludge.
28837
28838 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
28839 `gfxterm.mod' into core image.
28840
28841 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28842 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28843 (kernel_img_FORMAT): Copy to ...
28844
28845 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28846 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28847 (kernel_img_FORMAT): ... here, and ...
28848
28849 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28850 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28851 (kernel_img_FORMAT): ... here.
28852
28853 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
28854 and input (at_keyboard) terminals in kernel.
28855 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
28856
28857 (pkglib_MODULES): Remove `pci.mod'.
28858 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
28859 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
28860 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
28861 (at_keyboard_mod_LDFLAGS): Remove variables.
28862
288632010-01-11 Felix Zielcke <fzielcke@z-51.de>
28864
28865 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
28866
288672009-12-10 Robert Millan <rmh.grub@aybabtu.com>
28868
28869 * include/grub/mips/libgcc.h: Only export symbols for functions
28870 that libgcc provides.
28871
288722009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
28873
28874 MIPS support.
28875
28876 * bus/bonito.c: New file.
28877 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
28878 GRUB_PCI_NUM_DEVICES.
28879 * term/i386/pc/serial.c: Move to ...
28880 * term/serial.c: ... here. All users updated.
28881 * util/i386/pc/grub-mkimage.c: Move to ...
28882 * util/grub-mkrawimage.c: ... here. All users updated.
28883 * term/i386/pc/at_keyboard.c: Move to ...
28884 * term/at_keyboard.c: ... here. All users updated.
28885 * conf/mips-qemu-mips.rmk: New file.
28886 * conf/mips-yeeloong.rmk: Likewise.
28887 * conf/mips.rmk: Likewise.
28888 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
28889 mipsel-qemu-mips.
28890 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
28891 to port addresses.
28892 (grub_ata_pciinit): Support CS5536.
28893 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
28894 * font/font_cmd.c (loadfont_command): Open file before passing it to
28895 grub_font_load.
28896 (pseudo_file_read): New function.
28897 (pseudo_file_close): Likewise.
28898 (pseudo_fs): New structure.
28899 (load_font_module): New function.
28900 (GRUB_MOD_INIT(font_manager)): Load embedded font.
28901 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
28902 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
28903 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
28904 * include/grub/i386/at_keyboard.h: Split into ...
28905 * include/grub/at_keyboard.h: ... this ...
28906 * include/grub/i386/at_keyboard.h: ... and this.
28907 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
28908 New prototype.
28909 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
28910 updated.
28911 (grub_elf64_size): Likewise.
28912 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
28913 filename.
28914 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
28915 * include/grub/i386/coreboot/serial.h: Rewritten.
28916 * include/grub/i386/ieee1275/serial.h: Include
28917 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
28918 * include/grub/i386/pc/serial.h: Moved from here ...
28919 * include/grub/serial.h: ... to here. All users updated.
28920 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
28921 (GRUB_PCI_NUM_BUS): Likewise.
28922 (GRUB_PCI_NUM_DEVICES): Likewise.
28923 (grub_pci_device_map_range): Add missing volatile keyword.
28924 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
28925 * include/grub/mips/at_keyboard.h: New file.
28926 * include/grub/mips/cache.h: Likewise.
28927 * include/grub/mips/io.h: Likewise.
28928 * include/grub/mips/kernel.h: Likewise.
28929 * include/grub/mips/libgcc.h: Likewise.
28930 * include/grub/mips/pci.h: Likewise.
28931 * include/grub/mips/qemu-mips/boot.h: Likewise.
28932 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28933 * include/grub/mips/qemu-mips/loader.h: Likewise.
28934 * include/grub/mips/qemu-mips/memory.h: Likewise.
28935 * include/grub/mips/qemu-mips/serial.h: Likewise.
28936 * include/grub/mips/qemu-mips/time.h: Likewise.
28937 * include/grub/mips/relocator.h: Likewise.
28938 * include/grub/mips/time.h: Likewise.
28939 * include/grub/mips/types.h: Likewise.
28940 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
28941 * include/grub/mips/yeeloong/boot.h: Likewise.
28942 * include/grub/mips/yeeloong/kernel.h: Likewise.
28943 * include/grub/mips/yeeloong/loader.h: Likewise.
28944 * include/grub/mips/yeeloong/memory.h: Likewise.
28945 * include/grub/mips/yeeloong/pci.h: Likewise.
28946 * include/grub/mips/yeeloong/serial.h: Likewise.
28947 * include/grub/mips/yeeloong/time.h: Likewise.
28948 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
28949 * kern/elf.c (grub_elf32_size): New parameter. All users
28950 updated.
28951 (grub_elf64_size): Likewise.
28952 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
28953 Load modules before saying "Welcome to GRUB!".
28954 Call grub_refresh after saying "Welcome to GRUB!".
28955 * kern/mips/cache.S: New file.
28956 * kern/mips/cache_flush.S: Likewise.
28957 * kern/mips/dl.c: Likewise.
28958 * kern/mips/init.c: Likewise.
28959 * kern/mips/qemu-mips/init.c: Likewise.
28960 * kern/mips/startup.S: Likewise.
28961 * kern/mips/yeeloong/init.c: Likewise.
28962 * kern/term.c (grub_putcode): Handle NULL terminal.
28963 (grub_getcharwidth): Likewise.
28964 (grub_getkey): Likewise.
28965 (grub_checkkey): Likewise.
28966 (grub_getkeystatus): Likewise.
28967 (grub_getxy): Likewise.
28968 (grub_getwh): Likewise.
28969 (grub_gotoxy): Likewise.
28970 (grub_cls): Likewise.
28971 (grub_setcolorstate): Likewise.
28972 (grub_setcolor): Likewise.
28973 (grub_getcolor): Likewise.
28974 (grub_refresh): Likewise.
28975 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
28976 (write_jump): Add hatch nop.
28977 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
28978 * lib/mips/setjmp.S: New file.
28979 * loader/mips/linux.c: Likewise.
28980 * term/i386/pc/at_keyboard.c: Move from here ...
28981 * term/at_keyboard.c: ... to here.
28982 * term/i386/pc/serial.c: Moved from here ...
28983 * term/serial.c: ... to here. All users updated.
28984 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
28985 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
28986 (serial_translate_key_sequence): Avoid deadlock.
28987 (grub_serial_getkey): Handle backspace.
28988 (grub_serial_putchar): Fix newline handling.
28989 * util/i386/pc/grub-mkimage.c: Move from here ...
28990 * util/grub-mkrawimage.c: ... to here. All users updated.
28991 (generate_image): New parameters 'font_path' and 'format'.
28992 Support embedding font.
28993 Use grub_host_to_target* instead of grub_cpu_to_le*.
28994 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
28995 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
28996 (options): New option "--font".
28997 (usage): Likewise.
28998 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
28999 (main): Handle "--font".
29000 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29001 (grub_virtual_screen_setup): Set bg_color_display.
29002 (redraw_screen_rect): Use bg_color_display instead of incorrect
29003 bg_color.
29004 (grub_gfxterm_cls): Likewise.
29005 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29006 Support embedding config file.
29007 (add_segments): Likewise.
29008 (options): New option "--config".
29009 (main): Handle "--config".
29010 * video/sm712.c: New file.
29011
25c2b5b3
RM
290122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29013
29014 Fix parallel builds.
29015
29016 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29017 font.c depend on ascii.h).
29018
290192010-01-12 Carles Pina i Estany <carles@pina.cat>
29020
29021 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29022
290232010-01-11 Carles Pina i Estany <carles@pina.cat>
29024
29025 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29026 By default: disabled.
29027 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29028 parameter.
29029
290302010-01-10 Carles Pina i Estany <carles@pina.cat>
29031
29032 * font/font.c: Update copyright years.
29033 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29034
290352010-01-10 Carles Pina i Estany <carles@pina.cat>
29036
29037 * font/font.c: Include `ascii.h'.
29038 (ASCII_BITMAP_SIZE): New macro.
29039 (ascii_font_glyph): Define.
29040 (ascii_glyph_lookup): New function.
29041 (grub_font_get_string_width): Change comment. If glyph not found, use
29042 ascii_glyph_lookup.
29043 (grub_font_get_glyph_with_fallback): If glyph not available returns
29044 ascii_glyph_lookup.
29045 * util/grub-mkfont.c (file_formats): New enum.
29046 (options): Add `ascii-bitmaps' new option.
29047 (usage): Add `asii-bitmaps' new option.
29048 (write_font_ascii_bitmap): New function.
29049 (write_font): Rename to ...
29050 (write_font_p2): ... this. Remove print_glyphs call.
29051 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29052 used. Call print_glyphs.
29053 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29054
290552010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29056
29057 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29058 (grub_bin2h_SOURCES): New variable.
29059 * util/bin2h.c: New file.
29060
915fc1b8
VS
290612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29062
29063 * include/multiboot.h: Resynced with spec.
29064 * include/multiboot2.h: Likewise.
29065 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29066 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29067
9444b678
RM
290682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29069
29070 * include/grub/term.h (grub_term_register_input,
29071 grub_term_register_output): Check return of terminal init()
29072 routines, and abort if errors are raised.
29073
29074 * commands/terminal.c: Update copyright year.
29075
cba98e8d
RM
290762010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29077
29078 * commands/terminal.c (grub_cmd_terminal_input)
29079 (grub_cmd_terminal_output): Check return of terminal init()
29080 routines, and abort if errors are raised.
29081
6f7db5d6
VS
290822010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29083
29084 * include/grub/i386/bsd.h: Fix include pathes.
29085
262bff8d
VS
290862010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29087
29088 Add missing *BSD copyright headers.
29089
29090 * include/grub/aout.h: Add BSD licence.
29091 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29092 * include/grub/i386/freebsd_linker.h: ... here,
29093 * include/grub/i386/freebsd_reboot.h: ... here,
29094 * include/grub/i386/netbsd_bootinfo.h: ... here,
29095 * include/grub/i386/netbsd_reboot.h: ... here,
29096 * include/grub/i386/openbsd_bootarg.h: ... here,
29097 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29098 licence to each file.
29099
b2cab848
RM
291002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29101
29102 * acinclude.m4: Remove `nop' assembly instruction; it's not
29103 implemented by all architectures.
29104
2cb6be4b
RM
291052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29106
29107 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29108 ELILO. This is no longer necessary.
29109
a2eaee15
BC
291102010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29111
29112 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29113
29114 * util/grub-script-check.c: grub-script-check tool.
29115 * conf/common.rmk: Make rules for grub-script-check.
29116
88d17012
RM
291172010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29118
29119 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29120 spotting it back in 2008. Shame on me for forgetting he did.
29121
29122 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29123
8040619d
RM
291242010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29125
29126 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29127 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29128 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29129 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29130 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29131 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29132
a0c2a0f6
RM
291332010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29134
29135 * include/grub/test.h: Add license header.
29136 * tests/example_functional_test.c: Likewise.
29137 * tests/example_unit_test.c: Likewise.
29138 * tests/lib/functional_test.c: Likewise.
29139 * tests/lib/test.c: Likewise.
29140 * tests/lib/unit_test.c: Likewise.
29141
b0b13907
VS
291422010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29143
29144 Use flag-based instead of hook-based video mode selection and "auto"
29145 keyword.
29146
29147 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29148 (grub_video_set_mode): Changed prototype. All users updated.
29149 (grub_video_check_mode_flag): New inline function.
29150 * video/video.c (parse_modespec): New function.
29151 (grub_video_set_mode): Parse flags and keywords.
29152
ea379330 291532010-01-17 Carles Pina i Estany <carles@pina.cat>
29154
29155 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29156 fprintf call.
29157
e15c215e
FZ
291582010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29159
29160 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29161
409ae1c9 291622010-01-16 Carles Pina i Estany <carles@pina.cat>
29163
29164 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29165 string.
29166 * util/grub-emu.c (usage): Likewise.
29167 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29168 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29169 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29170 * util/i386/pc/grub-setup.c (usage): Likewise.
29171
70a14d3d 291722010-01-16 Carles Pina i Estany <carles@pina.cat>
29173
29174 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29175 the message.
29176 (grub_util_info): Likewise.
29177 (grub_util_error): Likewise.
29178 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29179 and/or new lines in `grub_util_warna', `grub_util_info',
29180 `grub_util_error' calls.
29181 * util/getroot.c: Likewise.
29182 * util/grub-editenv.c: Likewise.
29183 * util/grub-emu.c: Likewise.
29184 * util/grub-fstest.c: Likewise.
29185 * util/grub-mkdevicemap.c: Likewise.
29186 * util/grub-mkfont.c: Likewise.
29187 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29188 * util/grub-mkrelpath.c: Likewise.
29189 * util/grub-pe2elf.c: Likewise.
29190 * util/grub-probe.c: Likewise.
29191 * util/hostdisk.c: Likewise.
29192 * util/i386/efi/grub-mkimage.c: Likewise.
29193 * util/i386/pc/grub-mkimage.c: Likewise.
29194 * util/i386/pc/grub-setup.c: Likewise.
29195 * util/ieee1275/ofpath.c: Likewise.
29196 * util/mkisofs/eltorito.c: Likewise.
29197 * util/mkisofs/rock.c: Likewise.
29198 * util/mkisofs/write.c: Likewise.
29199 * util/raid.c: Likewise.
29200 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29201 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29202
a0b766fc
VS
292032010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29204
29205 Enable multiboot on non-pc.
29206
29207 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29208 multiboot.mod and multiboot2.mod to ...
29209 * conf/i386.rmk (pkglib_MODULES): ... here.
29210 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29211 Moved to ...
29212 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29213 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29214 Moved to ...
29215 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29216 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29217 Moved to ...
29218 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29219 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29220 Moved to ...
29221 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29222 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29223 relocator.mod.
29224 (ata_mod_SOURCES): Removed.
29225 (ata_mod_CFLAGS): Likewise.
29226 (ata_mod_LDFLAGS): Likewise.
29227 (relocator_mod_SOURCES): Removed.
29228 (relocator_mod_CFLAGS): Likewise.
29229 (relocator_mod_ASFLAGS): Likewise.
29230 (relocator_mod_LDFLAGS): Likewise.
29231 Include i386.mk.
29232 * include/grub/x86_64/multiboot.h: New file.
29233 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29234 Terminate EFI.
29235
884ade56
VS
292362010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29237
29238 Video multiboot support.
29239
29240 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29241 New prototype.
29242 * include/multiboot.h: Resynced with multiboot specification.
29243 * include/multiboot2.h: Likewise.
29244 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29245 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29246 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29247 (HAS_VGA_TEXT): Likewise.
29248 (accepts_video): New variable.
29249 (grub_multiboot_set_accepts_video): New function.
29250 (grub_multiboot_get_mbi_size): Account for video structures.
29251 (set_video_mode): New function.
29252 (retrieve_video_parameters): Likewise.
29253 (grub_multiboot_make_mbi): Fill video fields.
29254
0d90e8a6
VS
292552010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29256
29257 Video driver ids.
29258
29259 * include/grub/video.h (grub_video_driver_id): New type.
29260 (grub_video_adapter): New member 'id'. All users updated.
29261 (grub_video_get_driver_id): New proto.
29262 * video/video.c (grub_video_get_driver_id): New function.
29263
5c71db1b 292642010-01-14 Carles Pina i Estany <carles@pina.cat>
29265
29266 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29267 `var=val'.
29268
cca15b52 292692010-01-14 Carles Pina i Estany <carles@pina.cat>
29270
29271 * normal/cmdline.c (print_completion): Gettextizze.
29272
c586fbb2 292732001-01-14 Carles Pina i Estany <carles@pina.cat>
29274
29275 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29276
ba2f6848 292772010-01-14 Carles Pina i Estany <carles@pina.cat>
29278
29279 * gettext/gettext.c (grub_gettext_translate): Push and pop
29280 grub_errno.
29281 (grub_gettext_delete_list): Change comment style.
29282 * kern/err.c (grub_error): Gettextizze.
29283 (grub_fatal): Gettextizze.
29284
0a46429a
RM
292852010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29286
29287 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29288 (grub_linux16_real_boot): ... this.
29289 * kern/i386/loader.S: Likewise.
29290 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29291 (grub_linux16_boot): New function. Switches to text mode and calls
29292 grub_linux16_real_boot().
29293
29294 * loader/i386/bsd.c: Include `<grub/video.h>'.
29295 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29296 text mode before calling grub_unix_real_boot().
29297
29298 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29299 (grub_multiboot_boot): Switch to text mode before calling
29300 grub_relocator32_boot().
29301
29302 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29303 (grub_chainloader_boot): Switch to text mode before calling
29304 grub_chainloader_real_boot().
29305
d6f93a66
RM
293062010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
293072010-01-05 Colin Watson <cjwatson@ubuntu.com>
29308
29309 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29310 non-empty value.
29311
293122010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
293132010-01-05 Colin Watson <cjwatson@ubuntu.com>
29314
29315 * util/grub.d/00_header.in: Define a "savedefault" function for use
29316 in menu entries.
29317 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29318
293192010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
293202010-01-05 Colin Watson <cjwatson@ubuntu.com>
29321
29322 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29323 saved_entry if boot_once is unset.
29324 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29325 previous saved entry (i.e. grub-reboot).
29326
293272009-12-08 Colin Watson <cjwatson@ubuntu.com>
29328
29329 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29330
293312009-12-08 Colin Watson <cjwatson@ubuntu.com>
29332
29333 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29334 `var=val'.
29335 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29336
293372009-12-08 Colin Watson <cjwatson@ubuntu.com>
29338
29339 * util/grub-reboot.in: Fix --version output.
29340 * util/grub-set-default.in: Likewise.
29341
293422009-12-08 Colin Watson <cjwatson@ubuntu.com>
29343
29344 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29345 blocks.
29346
293472009-12-08 Colin Watson <cjwatson@ubuntu.com>
29348
29349 * util/grub.d/00_header.in: Quote the value assigned to `default',
29350 in case it contains spaces.
29351
293522009-12-08 Colin Watson <cjwatson@ubuntu.com>
29353
29354 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29355 `save_default_entry' call from the macosx case to the linux case.
29356
293572009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
293582009-10-25 Colin Watson <cjwatson@ubuntu.com>
29359
29360 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29361 in `chosen' environment variable.
29362 * normal/menu_text.c (get_entry_number): Check if the variable
29363 matches the title of a menu entry.
29364 (run_menu): Pass menu to get_entry_number.
29365
29366 * util/grub-reboot.in: New file.
29367 * util/grub-set-default.in: New file.
29368 * conf/common.rmk (grub-reboot): New utility.
29369 (grub-set-default): New utility.
29370
29371 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29372 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29373 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29374 move it to `saved_entry' for the next boot. Load environment on
29375 initialisation.
29376 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29377 * util/grub.d/10_hurd.in: Likewise.
29378 * util/grub.d/10_linux.in (linux_entry): Likewise.
29379 * util/grub.d/10_windows.in: Likewise.
29380 * util/grub.d/30_os-prober.in: Likewise.
29381
29382 * util/grub-install.in: Create environment block.
29383 * util/i386/efi/grub-install.in: Likewise.
29384 * util/ieee1275/grub-install.in: Likewise.
29385 * util/sparc64/ieee1275/grub-install.in: Likewise.
29386
0934d184
BC
293872010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29388
29389 Unit testing framework for GRUB.
29390
29391 * Makefile.in: Test framework build rules for 'make check'.
29392 * conf/tests.rmk: Build rules for individual tests and framework.
29393
29394 * include/grub/test.h: Header file for whitebox tests.
29395 * tests/lib/functional_test.c: Framework support for whitebox
29396 functional tests.
29397 * tests/lib/test.c: Common whitebox testing code for unit and
29398 functional tests.
29399 * tests/lib/unit_test.c: Framework support for whitebox unit
29400 tests.
29401
29402 * tests/util/grub-shell-tester.in: Support utility for grub-script
29403 tests.
29404 * tests/util/grub-shell.in: Utility to execute grub-script
29405 commands in a Qemu instance.
29406
29407 * tests/example_functional_test.c: Example whitebox functional
29408 test.
29409 * tests/example_grub_script_test.in: Example grub-script test.
29410 * tests/example_scripted_test.in: Example scripted test.
29411 * tests/example_unit_test.c: Example whitebox unit test.
29412
9c4ffeeb
VS
294132010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29414
29415 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29416 Add loader/i386/multiboot_mbi.c.
29417 (multiboot2_mod_SOURCES): Likewise.
29418 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29419 (multiboot2_mod_SOURCES): Likewise.
29420 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29421 (grub_multiboot_make_mbi): Likewise.
29422 (grub_multiboot_free_mbi): Likewise.
29423 (grub_multiboot_init_mbi): Likewise.
29424 (grub_multiboot_add_module): Likewise.
29425 (grub_multiboot_set_bootdev): Likewise.
29426 * loader/i386/multiboot.c (mbi): Removed.
29427 (mbi_dest): Likewise.
29428 (alloc_mbi): New variable.
29429 (grub_multiboot_payload_size): Removed. All users updated.
29430 (grub_multiboot_pure_size): New variable.
29431 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29432 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29433 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29434 (grub_fill_multiboot_mmap): Likewise.
29435 (grub_multiboot_get_bootdev): Likewise.
29436 (grub_multiboot): Use multiboot_mbi functions.
29437 * loader/i386/multiboot_mbi.c: New file.
29438
17383dfe
VS
294392010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29440
29441 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29442 it would result in module crash.
29443
c1f28820
VS
294442010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29445
29446 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29447 (grub_ofconsole_getwh): Split to ...
29448 (grub_ofconsole_getwh): ... this.
29449 (grub_ofconsole_dimensions): ...and this.
29450 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29451
58655a16
RM
294522010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29453
29454 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29455
10891398
VS
294562010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29457
29458 * loader/i386/pc/multiboot2.c: Removed stalled file.
29459
0b8a223c
VS
294602010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29461
29462 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29463 Reported by: Grégoire Sutre
29464
92ab12b0
RM
294652010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29466
29467 * util/misc.c (canonicalize_file_name): New function.
29468 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29469 instead of realpath().
29470
a788afb6
CW
294712010-01-11 Colin Watson <cjwatson@ubuntu.com>
29472
29473 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29474 and make it clearer that it's optional. Based on confusion
29475 witnessed on IRC.
29476
ffa8e3d2
VS
294772010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29478
29479 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29480 in premature implicit newline.
29481
e9060a9d
VS
294822010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29483
29484 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29485 which resulted in garbled command line at the end of screen.
29486
f0d0c0b7
RM
294872010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29488
29489 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29490 initialization with similar approach as with other Linux loaders.
29491
0e60bae7
RM
294922010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29493
29494 Fix i386-ieee1275 build.
29495
29496 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29497 and grub_term_height() for video_{width,height} initialization.
29498
294992010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29500
29501 Fix grub-emu build.
29502
29503 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29504
cdb3f378
RM
295052010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
295062010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29507
29508 Support for multiple terminals.
29509
29510 * Makefile.in (pkglib_DATA): terminal.lst.
29511 (terminal.lst): New target.
29512 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29513 (GRUB_MOD_INIT(handler)): Likewise.
29514 (GRUB_MOD_FINI(handler)): Likewise.
29515 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29516 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29517 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29518 (grub_cmd_sleep): Use grub_term_save_pos.
29519 * commands/terminal.c: New file.
29520 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29521 commands/terminal.c and lib/charset.c.
29522 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29523 (pkglib_MODULES): Add terminal.mod.
29524 (terminal_mod_SOURCES): New variable.
29525 (terminal_mod_CFLAGS): Likewise.
29526 (terminal_mod_LDFLAGS): Likewise.
29527 * genhandlerlist.sh: Don't handle terminals.
29528 * genmk.rb: Generate terminal-*.lst.
29529 * genterminallist.sh: New file.
29530 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29531 (grub_is_valid_utf8): Likewise.
29532 (grub_utf8_to_ucs4_alloc): Likewise.
29533 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29534 (grub_menu_register_viewer): Changed argument.
29535 (grub_menu_try_text): New proto.
29536 (grub_gfxmenu_try_hook): New declaration.
29537 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29538 (grub_menu_init_page): Additional argument term.
29539 (grub_normal_init_page): Likewise.
29540 (grub_cmdline_get): Arguments simplified.
29541 (grub_utf8_to_ucs4_alloc): Removed.
29542 (grub_print_ucs4): Additional argument term.
29543 (grub_getstringwidth): Likewise.
29544 (grub_print_message_indented): Likewise.
29545 (grub_menu_text_register_instances): New proto.
29546 (grub_show_menu): Likewise.
29547 (read_terminal_list): Likewise.
29548 (grub_set_more): Likewise.
29549 * include/grub/parser.h: Include handler.h.
29550 * include/grub/reader.h: Rewritten.
29551 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29552 (GRUB_TERM_WIDTH): Changed to function.
29553 (GRUB_TERM_HEIGHT): Likewise.
29554 (GRUB_TERM_BORDER_WIDTH): Likewise.
29555 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29556 (GRUB_TERM_NUM_ENTRIES): Likewise.
29557 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29558 (GRUB_TERM_CURSOR_X): Likewise.
29559 (grub_term_input_class): Likewise.
29560 (grub_term_output_class): Likewise.
29561 (grub_term_outputs_disabled): New declaration.
29562 (grub_term_inputs_disabled): Likewise.
29563 (grub_term_outputs): Likewise.
29564 (grub_term_inputs): Likewise.
29565 (grub_term_register_input): Rewritten.
29566 (grub_term_register_output): Likewise.
29567 (grub_term_unregister_input): Likewise.
29568 (grub_term_unregister_output): Likewise.
29569 (FOR_ACTIVE_TERM_INPUTS): New macro.
29570 (FOR_DISABLED_TERM_INPUTS): Likewise.
29571 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29572 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29573 * include/grub/terminfo.h: Add oterm argument to all protypes.
29574 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29575 Use grub_rescue_run.
29576 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29577 All users updated.
29578 * kern/reader.c: Removed. All users updated.
29579 * kern/rescue_reader.c (grub_rescue_init): Removed.
29580 (grub_rescue_reader): Likewise.
29581 (grub_register_rescue_reader): Likewise.
29582 (grub_rescue_run): New function based on kern/reader.c.
29583 * kern/term.c: Adapted for multiterm.
29584 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29585 (grub_is_valid_utf8): Likewise.
29586 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29587 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29588 right terminal.
29589 * loader/i386/linux.c (grub_linux_boot): Likewise.
29590 * normal/auth.c (grub_username_get): New function.
29591 (grub_auth_check_authentication): Use grub_username_get.
29592 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29593 * normal/color.c: Adapt for multiterm.
29594 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29595 (grub_normal_init_page): Additional argument term.
29596 (read_lists): Call read_terminal_lists.
29597 (grub_enter_normal_mode): Call grub_cmdline_run.
29598 Handle grub_normal_exit_level.
29599 (grub_cmd_normal): Make reentrant.
29600 (grub_cmd_normal_exit): New function.
29601 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29602 * normal/menu.c: Adapt for multiterm.
29603 * normal/menu_entry.c: Likewise.
29604 * normal/menu_text.c: Likewise.
29605 * normal/menu_viewer.c: Removed. All users updated.
29606 * normal/term.c: New file.
29607 * util/console.c: Change order of includes to workaround a bug in
29608 ncurses headers.
29609 * term/terminfo.c: New argument oterm on all exported functions.
29610 All users updated.
29611 * util/grub-editenv.c (grub_term_input_class): Removed.
29612 (grub_term_output_class): Likewise.
29613
1a064917
RM
296142010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29615
29616 Make loader output a bit more user-friendly.
29617
29618 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29619 is being loaded. Likewise for the Hurd.
29620
29621 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29622 that kernel of FreeBSD ${version} is being loaded.
29623
29624 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29625 grub_dprintf().
29626 (grub_cmd_initrd): Likewise.
29627 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29628 that Linux ${version} is being loaded. Likewise for initrd.
29629
5ce0a83a 296302010-01-09 Carles Pina i Estany <carles@pina.cat>
29631
29632 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29633
809bbfeb 296342010-01-08 Carles Pina i Estany <carles@pina.cat>
29635
29636 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29637 (GRUB_MOD_INIT): Gettextizze.
29638 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29639 (GRUB_MOD_INIT): Gettextizze.
29640 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29641 (grub_cmd_linux): Capitalise Linux.
29642 (GRUB_MOD_INIT): Gettextizze.
29643 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29644 (grub_cmd_linux): Capitalise Linux.
29645 (GRUB_MOD_INIT): Gettextizze.
29646 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29647 (grub_cmd_linux): Capitalise Linux.
29648 (GRUB_MOD_INIT): Gettextizze.
29649 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29650 (GRUB_MOD_INIT): Gettextizze.
29651 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29652 (grub_cmd_linux): Capitalise Linux.
29653 (GRUB_MOD_INIT): Gettextizze.
29654 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29655 (grub_cpu_xnu_init): Gettextizze.
29656 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29657 (GRUB_MOD_INIT): Gettextizze.
29658 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29659 (GRUB_MOD_INIT): Gettextizze.
29660 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29661 (grub_linux_load64): Capitalise Linux.
29662 (GRUB_MOD_INIT): Gettextizze.
29663 * loader/xnu.c: Include `<grub/i18n.h>'.
29664 (GRUB_MOD_INIT): Gettextizze.
29665 * po/POTFILES: Add `loader/efi/appleloader.c',
29666 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29667 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29668 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29669 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29670 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29671 and `loader/xnu.c'.
29672
b394b2ca
RM
296732010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29674
29675 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
29676
296772010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
29678
29679 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
29680 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
29681 * util/mkisofs/mkisofs.c (main): Readjust --version output.
29682
bc8b32b3
RM
296832010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29684
29685 Reset Multiboot 2 support. New loader implements the draft in
29686 /branches/multiboot2 and shares as much code as possible with the
29687 production Multiboot 1 implementation.
29688
29689 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
29690 * loader/multiboot2.c: Likewise.
29691 * loader/i386/multiboot_helper.S: Likewise.
29692 * include/multiboot2.h: Replace with latest version from the draft
29693 in /branches/multiboot2.
29694
29695 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
29696 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
29697 and `loader/multiboot2.c'.
29698 (pkglib_MODULES): Add `multiboot2.mod'.
29699 (multiboot2_mod_SOURCES): New variable.
29700 (multiboot2_mod_LDFLAGS): Likewise.
29701 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
29702
29703 * conf/i386-pc.rmk: Likewise.
29704
29705 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29706 (multiboot_mod_SOURCES): Remove variable.
29707 (multiboot_mod_LDFLAGS): Likewise.
29708 (multiboot_mod_CFLAGS): Likewise.
29709
29710 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
29711 `<multiboot2.h>' instead of `<multiboot.h>'.
29712 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
29713 (MULTIBOOT_HEADER_MAGIC): New macros.
29714
29715 * loader/multiboot_loader.c (module_version_status): Remove variable.
29716 (find_multi_boot2_header): Remove function.
29717 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
29718 logic. Always check for the Multiboot version we're compiling for.
29719 (grub_cmd_module_loader): Likewise.
29720 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
29721 command instead of `multiboot'.
29722
5d2c52b8
RM
297232010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29724
29725 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
29726 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
29727 all users.
29728
53108d92
RM
297292010-01-07 Robert Millan <rmh.grub@aybabtu.com>
297302010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29731
29732 Fix breakage introduced with previous commit.
29733
29734 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
29735 commands.
29736 * normal/handler.c (read_handler_list): Revert part of previous commit
29737 affecting this file.
29738 * normal/main.c (read_lists): Move read_handler_list() call back to ...
29739 (grub_normal_execute): ... here.
29740
e2e936b2
RM
297412010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29742
29743 Merge prefix-redefinition-fix branch.
29744
29745 * normal/autofs.c (read_fs_list): Make function capable of being
29746 run multiple times, gracefuly replacing the previous data
29747 structures.
29748 * normal/dyncmd.c (read_command_list): Likewise.
29749 * normal/handler.c (read_handler_list): Likewise.
29750 * normal/main.c (read_lists): New function. Calls all the
29751 list reading functions.
29752 (grub_normal_execute): Use read_lists() instead of calling all
29753 list reading functions explicitly. Register read_lists() as a
29754 variable hook attached to ${prefix}.
29755
607a3701
VS
297562010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29757
29758 Merge crypto branch.
29759
29760 * Makefile.in (pkglib_DATA): Add crypto.lst.
29761 (crypto.lst): New target.
29762 * commands/hashsum.c: New file.
29763 * commands/password.c (check_password): Use grub_crypto_memcmp.
29764 * commands/password_pbkdf2.c: New file.
29765 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
29766 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
29767 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
29768 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
29769 -I$(srcdir)/lib/libgcrypt_wrap.
29770 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
29771 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
29772 password_pbkdf2.mod.
29773 (crypto_mod_SOURCES): New variable.
29774 (crypto_mod_CFLAGS): Likewise.
29775 (crypto_mod_LDFLAGS): Likewise.
29776 (hashsum_mod_SOURCES): New variable.
29777 (hashsum_mod_CFLAGS): Likewise.
29778 (hashsum_mod_LDFLAGS): Likewise.
29779 (pbkdf2_mod_SOURCES): New variable.
29780 (pbkdf2_mod_CFLAGS): Likewise.
29781 (pbkdf2_mod_LDFLAGS): Likewise.
29782 (password_pbkdf2_mod_SOURCES): New variable.
29783 (password_pbkdf2_mod_CFLAGS): Likewise.
29784 (password_pbkdf2_mod_LDFLAGS): Likewise.
29785 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
29786 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
29787 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
29788 Include conf/gcry.rmk.
29789 * include/grub/auth.h: Rewritten.
29790 * include/grub/crypto.h: New file.
29791 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
29792 * include/grub/normal.h (read_crypto_list): New prototype.
29793 * lib/crypto.c: New file.
29794 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29795 * lib/pbkdf2.c: Likewise.
29796 * normal/auth.c (grub_auth_strcmp): Removed.
29797 (grub_iswordseparator): Likewise.
29798 (grub_auth_strword): Likewise.
29799 (is_authenticated): Use grub_strword.
29800 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
29801 and grub_strword. Pass entered password to authentication callback.
29802 * normal/crypto.c: New file.
29803 * normal/main.c: Call read_crypto_list.
29804 * util/grub-mkpasswd-pbkdf2.c: New file.
29805 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
29806
42841caa
VS
298072010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
29808
29809 Fix descent and ascent calculation.
29810
29811 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
29812 (options): New option "asce".
29813 (usage): Likewise.
29814 (add_char): Ignore invalid glyphs for descent calculation.
29815 Calculate ascent from actual content.
29816 (print_glyphs): Use 'asce'.
29817 (write_font): Likewise. Allow ascent override.
29818 (main): Handle "asce" option.
29819
e7730de7 298202010-01-06 Carles Pina i Estany <carles@pina.cat>
29821
29822 * kern/err.c: Include `<grub/i18n.h>'.
29823 (grub_print_error): Add full stop. Gettextizze.
29824 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
29825 (grub_bsd_load_elf): Capitalise ELF.
29826 (grub_cmd_freebsd_loadenv): Add `s' in error string.
29827 (grub_cmd_freebsd_module): Likewise.
29828 (grub_cmd_freebsd_module_elf): Likewise.
29829 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
29830
40e3a41f 298312010-01-06 Carles Pina i Estany <carles@pina.cat>
29832
29833 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
29834 * commands/search_file.c (HELP_MESSAGE): New macro.
29835 * commands/search_label.c (HELP_MESSAGE): Likewise.
29836 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
29837 * po/POTFILES: Add `commands/search_file.c',
29838 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
29839 `commands/search.c'.
29840
83507e68
RM
298412010-01-05 Robert Millan <rmh.grub@aybabtu.com>
29842
29843 * config.rpath: Update from Gnulib.
29844
465c787b
YB
298452010-01-05 Yves Blusseau <blusseau@zetam.org>
29846
29847 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
29848
6581dd3a
YB
298492010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
29850
29851 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
29852
3bff18c5
CW
298532010-01-05 Colin Watson <cjwatson@ubuntu.com>
29854
29855 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
29856 arguments to fread so that we get a return value in bytes, rather
29857 than something that will normally be rounded down to 0.
29858 Adjust error handling to avoid producing garbage when size_t is not
29859 the same size as long long.
29860
a1368118
CW
298612010-01-05 Colin Watson <cjwatson@ubuntu.com>
29862
29863 * util/mkisofs/write.c (padblock_write): Check return value of
29864 fread.
29865
7c302978
RM
298662010-01-05 Robert Millan <rmh.grub@aybabtu.com>
29867
29868 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
29869 floppy images now.
29870
29871 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
29872
e33ace06
RM
298732010-01-04 Robert Millan <rmh.grub@aybabtu.com>
29874
29875 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
29876 instead of manual alignment.
29877 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
29878 verbose). Avoid attempts to read past end of the device
29879 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
29880 but GRUB_DISK_CACHE_SIZE may exceed that).
29881
4b856776
RM
298822010-01-04 Robert Millan <rmh.grub@aybabtu.com>
29883
29884 * commands/crc.c (grub_cmd_crc): Abort on read errors.
29885 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
29886 it to upper layer.
29887
52c2d97f
VS
298882010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
29889
29890 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
29891 New constant.
29892 (grub_efi_piwg_device_path): New structure
29893 (grub_efi_piwg_device_path_t): New type.
29894 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
29895 (devpath_1): Transform to a structure. All users updated.
29896 (devpath_2): Likewise.
29897 (devpath_3): Likewise.
29898 (devpath_4): Likewise.
29899 (devpath_5): Likewise.
29900
98ff6a54
VS
299012010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
29902
29903 * loader/efi/appleloader.c: Restored. Update all users.
29904
3a73dcb6
RM
299052010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29906
29907 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
29908
29909 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
29910 (struct boot_blocklist): Move from here ...
29911 * include/grub/i386/pc/boot.h [ASM_FILE]
29912 (struct grub_boot_blocklist): ... to here. Update all users.
29913 (setup): Only initialize `start' member of `first_block'
29914 structure. Add assert() calls to verify the other members.
29915
29916 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
29917 (generate_image): Fix broken blocklist length initialization.
29918 Add assert() call to verify blocklist `segment' field.
29919
ab0eeb0c
RM
299202010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29921
29922 * loader/efi/appleloader.c: Remove. Update all users.
29923
58bc8bd5
RM
299242010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29925
29926 * boot/i386/pc/boot.S: Update copyright year.
29927 * boot/i386/pc/cdboot.S: Likewise.
29928 * boot/i386/pc/diskboot.S: Likewise.
29929 * boot/i386/pc/lnxboot.S: Likewise.
29930 * boot/i386/pc/pxeboot.S: Likewise.
29931 * bus/pci.c: Likewise.
29932 * commands/cmp.c: Likewise.
29933 * commands/help.c: Likewise.
29934 * commands/hexdump.c: Likewise.
29935 * commands/i386/pc/halt.c: Likewise.
29936 * commands/i386/pc/play.c: Likewise.
29937 * commands/i386/pc/vbeinfo.c: Likewise.
29938 * commands/ls.c: Likewise.
29939 * commands/test.c: Likewise.
29940 * disk/dmraid_nvidia.c: Likewise.
29941 * disk/i386/pc/biosdisk.c: Likewise.
29942 * disk/ieee1275/nand.c: Likewise.
29943 * disk/ieee1275/ofdisk.c: Likewise.
29944 * disk/lvm.c: Likewise.
29945 * disk/raid.c: Likewise.
29946 * disk/raid6_recover.c: Likewise.
29947 * disk/scsi.c: Likewise.
29948 * fs/affs.c: Likewise.
29949 * fs/cpio.c: Likewise.
29950 * fs/ext2.c: Likewise.
29951 * fs/hfs.c: Likewise.
29952 * fs/iso9660.c: Likewise.
29953 * fs/ntfs.c: Likewise.
29954 * fs/sfs.c: Likewise.
29955 * fs/udf.c: Likewise.
29956 * fs/ufs.c: Likewise.
29957 * fs/xfs.c: Likewise.
29958 * gencmdlist.sh: Likewise.
29959 * genmk.rb: Likewise.
29960 * include/grub/disk.h: Likewise.
29961 * include/grub/efi/api.h: Likewise.
29962 * include/grub/efi/efi.h: Likewise.
29963 * include/grub/efi/pe32.h: Likewise.
29964 * include/grub/elf.h: Likewise.
29965 * include/grub/fs.h: Likewise.
29966 * include/grub/i386/at_keyboard.h: Likewise.
29967 * include/grub/i386/pc/memory.h: Likewise.
29968 * include/grub/i386/pc/vbe.h: Likewise.
29969 * include/grub/i386/pci.h: Likewise.
29970 * include/grub/i386/tsc.h: Likewise.
29971 * include/grub/ieee1275/ieee1275.h: Likewise.
29972 * include/grub/ntfs.h: Likewise.
29973 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29974 * include/grub/sparc64/libgcc.h: Likewise.
29975 * include/grub/symbol.h: Likewise.
29976 * include/grub/types.h: Likewise.
29977 * include/multiboot2.h: Likewise.
29978 * io/gzio.c: Likewise.
29979 * kern/device.c: Likewise.
29980 * kern/disk.c: Likewise.
29981 * kern/efi/efi.c: Likewise.
29982 * kern/efi/mm.c: Likewise.
29983 * kern/elf.c: Likewise.
29984 * kern/file.c: Likewise.
29985 * kern/i386/dl.c: Likewise.
29986 * kern/i386/pc/init.c: Likewise.
29987 * kern/i386/pc/startup.S: Likewise.
29988 * kern/ieee1275/ieee1275.c: Likewise.
29989 * kern/ieee1275/init.c: Likewise.
29990 * kern/main.c: Likewise.
29991 * kern/mm.c: Likewise.
29992 * kern/powerpc/dl.c: Likewise.
29993 * kern/sparc64/dl.c: Likewise.
29994 * kern/x86_64/dl.c: Likewise.
29995 * lib/hexdump.c: Likewise.
29996 * loader/efi/appleloader.c: Likewise.
29997 * loader/i386/ieee1275/linux.c: Likewise.
29998 * loader/i386/pc/chainloader.c: Likewise.
29999 * loader/i386/pc/linux.c: Likewise.
30000 * loader/i386/pc/multiboot2.c: Likewise.
30001 * loader/ieee1275/multiboot2.c: Likewise.
30002 * loader/multiboot2.c: Likewise.
30003 * loader/multiboot_loader.c: Likewise.
30004 * loader/powerpc/ieee1275/linux.c: Likewise.
30005 * normal/completion.c: Likewise.
30006 * normal/menu_entry.c: Likewise.
30007 * partmap/apple.c: Likewise.
30008 * util/grub.d/10_hurd.in: Likewise.
30009 * util/hostfs.c: Likewise.
30010 * video/readers/png.c: Likewise.
30011
e2d70b5c
CW
300122010-01-03 Colin Watson <cjwatson@ubuntu.com>
30013
30014 * include/grub/misc.h (GNUC_PREREQ): New macro.
30015 (ATTRIBUTE_ERROR): New macro.
30016 * include/grub/list.h (grub_bad_type_cast_real): Use
30017 ATTRIBUTE_ERROR.
30018
a173283f 300192010-01-03 Carles Pina i Estany <carles@pina.cat>
30020
30021 * normal/menu_text.c (print_message): Change messages.
30022
7fa7ff74 300232010-01-03 Carles Pina i Estany <carles@pina.cat>
30024
30025 * normal/menu_entry.c (store_completion): Gettextizze.
30026
136d24f6 300272010-01-03 Carles Pina i Estany <carles@pina.cat>
30028
30029 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30030
f936862e 300312010-01-03 Carles Pina i Estany <carles@pina.cat>
30032
30033 * po/POTFILES: Sort correctly.
30034
29c44ad1 300352010-01-03 Carles Pina i Estany <carles@pina.cat>
30036
30037 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30038 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30039 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30040 full stop.
30041 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30042 summary. Gettextizze the strings.
30043 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30044 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30045 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30046 full stop.
30047 (GRUB_MOD_INIT): Remove command name from summary.
30048 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30049 summary.
30050 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30051 * term/i386/pc/serial.c (options): Add full stops.
30052 (GRUB_MOD_INIT): Remove command name from the summary.
30053
77a79592 300542010-01-03 Carles Pina i Estany <carles@pina.cat>
30055
30056 * commands/acpi.c: Gettextizze help strings and/or options. Include
30057 `grub/i18n.h' if needed.
30058 * commands/blocklist.c: Likewise.
30059 * commands/boot.c: Likewise.
30060 * commands/cat.c: Likewise.
30061 * commands/cmp.c: Likewise.
30062 * commands/configfile.c: Likewise.
30063 * commands/crc.c: Likewise.
30064 * commands/date.c: Likewise.
30065 * commands/echo.c: Likewise.
30066 * commands/efi/fixvideo.c: Likewise.
30067 * commands/efi/loadbios.c: Likewise.
30068 * commands/gptsync.c: Likewise.
30069 * commands/halt.c: Likewise.
30070 * commands/handler.c: Likewise.
30071 * commands/hdparm.c: Likewise.
30072 * commands/hexdump.c: Likewise.
30073 * commands/i386/cpuid.c: Likewise.
30074 * commands/i386/pc/drivemap.c: Likewise.
30075 * commands/i386/pc/halt.c: Likewise.
30076 * commands/i386/pc/pxecmd.c: Likewise.
30077 * commands/i386/pc/vbeinfo.c: Likewise.
30078 * commands/i386/pc/vbetest.c: Likewise.
30079 * commands/ieee1275/suspend.c: Likewise.
30080 * commands/keystatus.c: Likewise.
30081 * commands/loadenv.c: Likewise.
30082 * commands/ls.c: Likewise.
30083 * commands/lsmmap.c: Likewise.
30084 * commands/lspci.c: Likewise.
30085 * commands/memrw.c: Likewise.
30086 * commands/minicmd.c: Likewise.
30087 * commands/parttool.c: Likewise.
30088 * commands/password.c: Likewise.
30089 * commands/probe.c: Likewise.
30090 * commands/read.c: Likewise.
30091 * commands/reboot.c: Likewise.
30092 * commands/search.c: Likewise.
30093 * commands/sleep.c: Likewise.
30094 * commands/test.c: Likewise.
30095 * commands/true.c: Likewise.
30096 * commands/usbtest.c: Likewise.
30097 * commands/videotest.c: Likewise.
30098 * commands/xnu_uuid.c: Likewise.
30099 * disk/loopback.c: Likewise.
30100 * hello/hello.c: Likewise.
30101 * loader/i386/bsd.c: Likewise.
30102 * term/i386/pc/serial.c: Likewise.
30103 * po/POTFILES: Add new files.
30104
da8d5c53
CW
301052010-01-02 Colin Watson <cjwatson@ubuntu.com>
30106
30107 * term/i386/pc/at_keyboard.c
30108 (keyboard_controller_wait_untill_ready): Rename to ...
30109 (keyboard_controller_wait_until_ready): ... this. Update all users.
30110
33937904 301112010-01-01 Carles Pina i Estany <carles@pina.cat>
30112
30113 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30114 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30115 string using string width.
30116 * normal/menu_text.c (grub_print_message_indented): Use
30117 grub_print_spaces and not print_spaces.
30118 (print_timeout): Likewise.
30119 (print_spaces): Move to...
30120 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30121
3fd3b8d8
RM
301222010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30123
30124 Import from Gnulib.
30125
30126 * gnulib/getdelim.c: New file.
30127 * gnulib/getline.c: Likewise.
30128
33433555
VS
301292009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30130
30131 * include/grub/list.h (grub_assert_fail): Removed.
30132 (grub_bad_type_cast_real): New function.
30133 (grub_bad_type_cast): New macro.
30134 (GRUB_AS_LIST): Use grub_bad_type_cast.
30135 (GRUB_AS_LIST_P): Likewise.
e44721e8 30136 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30137 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30138 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30139 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30140 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30141
f5a51306
VS
301422009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30143
30144 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30145 Fix syntax error.
30146
90d1e879
RM
301472009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30148
30149 * configure.ac: Check for TARGET_CFLAGS initialization before we
30150 initialize it ourselves (sigh).
30151 Move a few modifications to TARGET_CFLAGS to be unconditional
30152 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30153 eh_frame)
30154
30155 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30156 * term/i386/pc/at_keyboard.c
30157 (keyboard_controller_wait_untill_ready): Likewise.
30158 (keyboard_controller_led): Rename `led_status' paramter to avoid
30159 name conflict.
30160
465b5a81 301612009-12-28 Carles Pina i Estany <carles@pina.cat>
30162
30163 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30164 quotes.
30165
c181849b
VS
301662009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30167
30168 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30169
9c8739a4
VS
301702009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30171
30172 * normal/menu_text.c (grub_print_message_indented): Prevent
30173 past-the-end-of-array dereference.
30174
3e74249c
VS
301752009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30176
30177 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30178 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30179
64fd18ed 301802009-12-27 Carles Pina i Estany <carles@pina.cat>
30181
30182 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30183 * normal/main.c (grub_normal_read_line): Remove a space from the
30184 default prompt.
30185
714af9b9 301862009-12-27 Carles Pina i Estany <carles@pina.cat>
30187
30188 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30189 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30190 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30191 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30192 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30193 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30194 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30195
82f3e412 301962009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30197
30198 * video/readers/jpeg.c (cmd): Declare.
30199 (grub_cmd_jpegtest): Use `grub_command_t' type.
30200 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30201 Assign to `cmd'.
30202 (GRUB_MOD_FINI): Use `cmd' to unregister.
30203 * video/readers/png.c (cmd): Declare.
30204 (grub_cmd_pngtest): Use `grub_command_t' type.
30205 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30206 Assign to `cmd'.
30207 (GRUB_MOD_FINI): Use `cmd' to unregister.
30208 * video/readers/tga.c (cmd): Declare.
30209 (grub_cmd_tgatest): Use `grub_command_t' type.
30210 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30211 Assign to `cmd'.
30212 (GRUB_MOD_FINI): Use `cmd' to unregister.
30213
82f3e412 302142009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30215
30216 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30217 stops.
30218 * kern/corecmd.c (grub_register_core_commands): Likewise.
30219 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30220 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30221 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30222 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30223 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30224 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30225 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30226 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30227 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30228 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30229 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30230 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30231 * normal/handler.c (insert_handler): Likewise.
30232 * normal/main.c (GRUB_MOD_INIT): Likewise.
30233 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30234
fdcdbb66 302352009-12-26 Carles Pina i Estany <carles@pina.cat>
30236
30237 * commands/help.c (grub_cmd_help): Print the command name before the
30238 summary.
30239 (GRUB_MOD_INIT): Remove command name from the summary.
30240 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30241 string as summary.
fdcdbb66 30242 * lib/arg.c (find_long): Print the command name before the summary.
30243 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30244 summary.
30245 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30246 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30247 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30248 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30249 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30250 * commands/date.c (GRUB_MOD_INIT): Likewise.
30251 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30252 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30253 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30254 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30255 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30256 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30257 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30258 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30259 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30260 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30261 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30262 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30263 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30264 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30265 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30266 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30267 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30268 * commands/password.c (GRUB_MOD_INIT): Likewise.
30269 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30270 * commands/read.c (GRUB_MOD_INIT): Likewise.
30271 * commands/search.c (GRUB_MOD_INIT): Likewise.
30272 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30273 * commands/test.c (GRUB_MOD_INIT): Likewise.
30274 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30275 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30276 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30277 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30278 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30279 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30280 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30281 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30282 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30283 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30284 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30285 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30286 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30287 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30288
9c288be2
VS
302892009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30290
30291 Use search command for preliminar UUID search.
30292
30293 * commands/search.c: Split into ...
30294 * commands/search_wrap.c: ...this
30295 * commands/search.c: ...and this.
30296 * commands/search_file.c: New file.
30297 * commands/search_label.c: New file.
30298 * commands/search_uuid.c: New file.
30299 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30300 Add commands/search_wrap.c, commands/search_file.c,
30301 commands/search_label.c and commands/search_uuid.c.
30302 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30303 (search_mod_SOURCES): Set to commands/search_wrap.c.
30304 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30305 search_label.mod.
30306 (search_fs_file_mod_SOURCES): New variable.
30307 (search_fs_file_mod_CFLAGS): Likewise.
30308 (search_fs_file_mod_LDFLAGS): Likewise.
30309 (search_label_mod_SOURCES): Likewise.
30310 (search_label_mod_CFLAGS): Likewise.
30311 (search_label_mod_LDFLAGS): Likewise.
30312 (search_fs_uuid_mod_SOURCES): New variable.
30313 (search_fs_uuid_mod_CFLAGS): Likewise.
30314 (search_fs_uuid_mod_LDFLAGS): Likewise.
30315 (fs_file_mod_SOURCES): Removed.
30316 (fs_file_mod_CFLAGS): Likewise.
30317 (fs_file_mod_LDFLAGS): Likewise.
30318 (fs_uuid_mod_SOURCES): Removed.
30319 (fs_uuid_mod_CFLAGS): Likewise.
30320 (fs_uuid_mod_LDFLAGS): Likewise.
30321 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30322 Set to util/grub-install.in.
30323 * disk/fs_file.c: Removed.
30324 * disk/fs_uuid.c: Likewise.
30325 * include/grub/search.h: New file.
30326 * util/grub-install.in: Handle sparc64.
30327 Create and use load.cfg.
30328 * util/sparc64/ieee1275/grub-install.in: Removed.
30329
db943399
VS
303302009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30331
30332 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30333 Ignore return status if CF is cleared.
30334 (grub_biosdisk_get_diskinfo_standard): Likewise.
30335
3fdae612
RM
303362009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30337
30338 * term/i386/pc/at_keyboard.c
30339 (keyboard_controller_wait_untill_ready): New function.
30340 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30341 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30342 for keyboard polling, rather than duplicate the same loop. This
30343 saves a few bytes in code size.
30344
7ebaa2b4
VS
303452009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30346
30347 Support for (pxe[:server[:gateway]]) syntax and
30348 use environment variable for PXE.
30349
30350 * commands/i386/pc/pxecmd.c (options): Removed.
30351 (print_ip): Removed.
30352 (grub_cmd_pxe): Removed
30353 (grub_cmd_pxe_unload): New function.
30354 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30355 (grub_pxe_your_ip): Made static.
30356 (grub_pxe_default_server_ip): Likewise.
30357 (grub_pxe_default_gateway_ip): Likewise.
30358 (grub_pxe_blksize): Likewise.
30359 (parse_ip): New function.
30360 (grub_pxe_open): Support server and gateway specification.
30361 (grub_pxe_close): Free disk->data.
30362 (grub_pxefs_open): Use disk->data.
30363 (grub_pxefs_read): Likewise.
30364 (grub_env_write_readonly): New function.
30365 (set_mac_env): Likewise.
30366 (set_env_limn_ro): Likewise.
30367 (parse_dhcp_vendor): Likewise.
30368 (grub_pxe_detect): Set the environment variables.
30369 (set_ip_env): New function.
30370 (write_ip_env): Likewise.
30371 (grub_env_write_pxe_default_server): Likewise.
30372 (grub_env_write_pxe_default_gateway): Likewise.
30373 (grub_env_write_pxe_blocksize): Likewise.
30374 (GRUB_MOD_INIT(pxe)): Set environment variables.
30375 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30376 (grub_pxe_mac_addr_t): ... this. All users updated.
30377 (grub_pxe_your_ip): Removed.
30378 (grub_pxe_server_ip): Likewise.
30379 (grub_pxe_gateway_ip): Likewise.
30380 (grub_pxe_blksize): Likewise.
30381
ec5f98ab 303822009-12-25 Carles Pina i Estany <carles@pina.cat>
30383
30384 * commands/help.c: Include `<grub/i18n.h>'.
30385 (grub_cmd_help): Gettextizze.
30386 (GRUB_MOD_INIT): Likewise.
30387 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30388 (GRUB_MOD_INIT): Gettextizze.
30389 * commands/search.c: Include `<grub/i18n.h>'.
30390 (options): Gettextizze.
30391 (GRUB_MOD_INIT): Gettextizze.
30392 * lib/arg.c: Include `<grub/i18n.h>'.
30393 (help_options): Gettextizze.
30394 (find_long): Likewise.
30395 (grub_arg_show_help): Likewise.
30396 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30397 (read_command_list): Gettextizze.
30398 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30399 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30400
22815526
RM
304012009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30402
30403 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30404 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30405 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30406 (led_status): New variable.
30407 (keyboard_controller_led): New function.
30408 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30409 update led status for caps lock, num lock and scroll lock.
30410
0ad46fd7
FZ
304112009-12-25 Felix Zielcke <fzielcke@z-51.de>
30412
30413 * util/hostdisk.c (open_device): Fix a comment.
30414
d0e158c2
RM
304152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30416
30417 * util/grub-install.in (host_os): New variable.
30418 * util/i386/efi/grub-install.in (host_os): Likewise.
30419
401c0ad6
RM
304202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30421
30422 * util/mkisofs/write.c (padblock_write): Abort when given an
30423 excedingly large embed image, instead of silently truncating it.
30424
d14d3370
RM
304252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30426
30427 * include/multiboot.h: Indentation fixes.
30428
eeed10b4
RM
304292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30430
30431 * include/multiboot.h (struct multiboot_aout_symbol_table)
30432 (struct multiboot_elf_section_header_table): New structure
30433 declarations (stolen from GRUB Legacy).
30434 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30435 table information.
30436
30437 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30438 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30439 type aliases.
30440
681c70ab
RM
304412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30442
30443 * include/multiboot.h: Make comments src2texi-friendly.
30444
e4d47d8d
RM
304452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30446
30447 For consistency with [multiboot]/docs/boot.S.
30448
30449 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30450 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30451 (MULTIBOOT_MAGIC2): Rename from this ...
30452 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30453
a0b70bda
RM
304542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30455
30456 * include/multiboot.h: Remove `<grub/types.h>'.
30457 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30458 types. Update all users.
30459
61ba42be 304602009-12-25 Carles Pina i Estany <carles@pina.cat>
30461
30462 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30463 `couldn't' and `can not' by `cannot'.
30464 * commands/i386/pc/drivemap.c: Likewise.
30465 * disk/ata.c: Likewise.
30466 * disk/ieee1275/nand.c: Likewise.
30467 * fs/affs.c: Likewise.
30468 * fs/fat.c: Likewise.
30469 * fs/hfs.c: Likewise.
30470 * fs/hfsplus.c: Likewise.
30471 * fs/iso9660.c: Likewise.
30472 * fs/jfs.c: Likewise.
30473 * fs/minix.c: Likewise.
30474 * fs/reiserfs.c: Likewise.
30475 * fs/sfs.c: Likewise.
30476 * fs/udf.c: Likewise.
30477 * fs/ufs.c: Likewise.
30478 * fs/xfs.c: Likewise.
30479 * loader/powerpc/ieee1275/linux.c: Likewise.
30480 * loader/sparc64/ieee1275/linux.c: Likewise.
30481 * util/grub-probe.c: Likewise.
30482 * util/misc.c: Likewise.
30483
7fd0baee 304842009-12-24 Carles Pina i Estany <carles@pina.cat>
30485
30486 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30487 grub_errno calls.
30488 * commands/acpi.c: Likewise.
30489 * commands/blocklist.c: Likewise.
30490 * commands/efi/loadbios.c: Likewise.
30491 * commands/i386/pc/drivemap.c: Likewise.
30492 * commands/loadenv.c: Likewise.
30493 * commands/memrw.c: Likewise.
30494 * commands/password.c: Likewise.
30495 * commands/videotest.c: Likewise.
30496 * disk/ata.c: Likewise.
30497 * disk/ata_pthru.c: Likewise.
30498 * disk/dmraid_nvidia.c: Likewise.
30499 * disk/ieee1275/nand.c: Likewise.
30500 * disk/ieee1275/ofdisk.c: Likewise.
30501 * disk/loopback.c: Likewise.
30502 * disk/lvm.c: Likewise.
30503 * disk/mdraid_linux.c: Likewise.
30504 * disk/raid.c: Likewise.
30505 * disk/raid6_recover.c: Likewise.
30506 * disk/scsi.c: Likewise.
30507 * efiemu/main.c: Likewise.
30508 * efiemu/mm.c: Likewise.
30509 * efiemu/pnvram.c: Likewise.
30510 * efiemu/symbols.c: Likewise.
30511 * font/font.c: Likewise.
30512 * fs/cpio.c: Likewise.
30513 * fs/hfsplus.c: Likewise.
30514 * fs/iso9660.c: Likewise.
30515 * fs/jfs.c: Likewise.
30516 * fs/minix.c: Likewise.
30517 * fs/ntfs.c: Likewise.
30518 * fs/ntfscomp.c: Likewise.
30519 * fs/reiserfs.c: Likewise.
30520 * fs/ufs.c: Likewise.
30521 * fs/xfs.c: Likewise.
30522 * gettext/gettext.c: Likewise.
30523 * include/grub/auth.h: Likewise.
30524 * kern/elf.c: Likewise.
30525 * kern/file.c: Likewise.
30526 * kern/ieee1275/init.c: Likewise.
30527 * kern/ieee1275/mmap.c: Likewise.
30528 * kern/ieee1275/openfw.c: Likewise.
30529 * kern/powerpc/dl.c: Likewise.
30530 * kern/sparc64/dl.c: Likewise.
30531 * lib/arg.c: Likewise.
30532 * loader/i386/bsd.c: Likewise.
30533 * loader/i386/bsdXX.c: Likewise.
30534 * loader/i386/efi/linux.c: Likewise.
30535 * loader/i386/efi/xnu.c: Likewise.
30536 * loader/i386/ieee1275/linux.c: Likewise.
30537 * loader/i386/linux.c: Likewise.
30538 * loader/i386/multiboot.c: Likewise.
30539 * loader/i386/pc/linux.c: Likewise.
30540 * loader/i386/pc/multiboot2.c: Likewise.
30541 * loader/i386/xnu.c: Likewise.
30542 * loader/ieee1275/multiboot2.c: Likewise.
30543 * loader/macho.c: Likewise.
30544 * loader/machoXX.c: Likewise.
30545 * loader/multiboot2.c: Likewise.
30546 * loader/multiboot_loader.c: Likewise.
30547 * loader/powerpc/ieee1275/linux.c: Likewise.
30548 * loader/sparc64/ieee1275/linux.c: Likewise.
30549 * loader/xnu.c: Likewise.
30550 * loader/xnu_resume.c: Likewise.
30551 * mmap/i386/pc/mmap.c: Likewise.
30552 * normal/menu_viewer.c: Likewise.
30553 * partmap/acorn.c: Likewise.
30554 * partmap/amiga.c: Likewise.
30555 * partmap/apple.c: Likewise.
30556 * script/lexer.c: Likewise.
30557 * term/gfxterm.c: Likewise.
30558 * term/i386/pc/serial.c: Likewise.
30559 * term/i386/pc/vga.c: Likewise.
30560 * term/ieee1275/ofconsole.c: Likewise.
30561 * term/terminfo.c: Likewise.
30562 * video/bitmap.c: Likewise.
30563 * video/efi_gop.c: Likewise.
30564 * video/efi_uga.c: Likewise.
30565 * video/fb/video_fb.c: Likewise.
30566 * video/i386/pc/vbe.c: Likewise.
30567 * video/readers/tga.c: Likewise.
30568 * video/video.c: Likewise.
30569
0ad46fd7 305702009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
30571
30572 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30573 * commands/lspci.c: Likewise.
30574 * commands/probe.c: Likewise.
30575 * commands/xnu_uuid.c: Likewise.
30576 * conf/i386-coreboot.rmk: Likewise.
30577 * conf/i386-efi.rmk: Likewise.
30578 * conf/i386-ieee1275.rmk: Likewise.
30579 * conf/i386-pc.rmk: Likewise.
30580 * conf/powerpc-ieee1275.rmk: Likewise.
30581 * conf/sparc64-ieee1275.rmk: Likewise.
30582 * conf/x86_64-efi.rmk: Likewise.
30583 * fs/i386/pc/pxe.c: Likewise.
30584 * gettext/gettext.c: Likewise.
30585 * include/grub/efi/graphics_output.h: Likewise.
30586 * include/grub/i386/pc/memory.h: Likewise.
30587 * kern/env.c: Likewise.
30588 * kern/i386/qemu/startup.S: Likewise.
30589 * lib/i386/pc/biosnum.c: Likewise.
30590 * lib/i386/relocator.c: Likewise.
30591 * lib/i386/relocator_asm.S: Likewise.
30592 * lib/relocator.c: Likewise.
30593 * loader/i386/bsd.c: Likewise.
30594 * loader/i386/multiboot.c: Likewise.
30595 * loader/i386/pc/chainloader.c: Likewise.
30596 * loader/i386/xnu.c: Likewise.
30597 * loader/xnu.c: Likewise.
30598 * normal/main.c: Likewise.
30599 * normal/menu_text.c: Likewise.
30600 * util/getroot.c: Likewise.
30601 * util/grub-mkconfig_lib.in: Likewise.
30602 * util/grub.d/00_header.in: Likewise.
30603 * util/i386/pc/grub-mkimage.c: Likewise.
30604 * util/mkisofs/eltorito.c: Likewise.
30605 * util/mkisofs/exclude.h: Likewise.
30606 * util/mkisofs/hash.c: Likewise.
30607 * util/mkisofs/iso9660.h: Likewise.
30608 * util/mkisofs/joliet.c: Likewise.
30609 * util/mkisofs/mkisofs.c: Likewise.
30610 * util/mkisofs/mkisofs.h: Likewise.
30611 * util/mkisofs/multi.c: Likewise.
30612 * util/mkisofs/name.c: Likewise.
30613 * util/mkisofs/rock.c: Likewise.
30614 * util/mkisofs/tree.c: Likewise.
30615 * util/mkisofs/write.c: Likewise.
30616 * video/efi_gop.c: Likewise.
30617
009ec743
VS
306182009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30619
30620 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30621 size counting.
30622
0ad46fd7 306232009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
30624
30625 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30626 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30627
d3d30ea0
VS
306282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30629
30630 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30631 (GRUB_MOD_INIT(memrw)): Update help line.
30632
a34f5c70
VS
306332009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30634
30635 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30636 Use grub_extcmd_t. All users updated.
30637 (options): New variable.
30638 (grub_cmd_read): Restructure for readability. Support "-v" option.
30639 (grub_cmd_write): Restructure for readability.
30640
0ad46fd7 306412009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
30642
30643 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30644
0ad46fd7 306452009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
30646
30647 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30648 with the actual contents of the correspondending make variable.
30649 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30650 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30651 specifying `*.lst' and `efiemu??.o'
30652
0ad46fd7 306532009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
30654
30655 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30656 after function name.
30657 Noticed by Rene Engelhard <rene@debian.org>.
30658
dc77a799
VS
306592009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30660
30661 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30662 (options): New variable.
30663 (iospace): Likewise.
30664 (grub_lspci_iter): List IO spaces if "-i" was given.
30665 (grub_cmd_lspci): Parse options.
30666 (GRUB_MOD_INIT(lspci)): Use extcmd.
30667 (GRUB_MOD_FINI(lspci)): Likewise.
30668
0ad46fd7 306692009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
30670
30671 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30672 `function' keyword.
30673 Patch by Tony Mancill <tmancill@debian.org>.
30674
b5d5993b
VS
306752009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30676
30677 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
30678 (grub_uhci_portstatus): Likewise.
30679 (grub_uhci_portstatus): Add necessary delay.
11d18281 30680 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 30681
941903f2 306822009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 30683
941903f2 30684 * commands/acpi.c (options): Fix capitalizations and/or full stops.
30685 (GRUB_MOD_INIT): Likewise.
30686 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 30687 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
30688 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 30689 * commands/efi/loadbios.c (enable_rom_area): Likewise.
30690 (enable_rom_area): Likewise.
30691 (GRUB_MOD_INIT): Likewise.
30692 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30693 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
30694 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30695 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
30696 * commands/hexdump.c (options): Likewise.
30697 * commands/i386/cpuid.c (options): Likewise.
30698 (GRUB_MOD_INIT): Likewise.
30699 * commands/i386/pc/drivemap.c (options): Likewise.
30700 (GRUB_MOD_INIT): Likewise.
30701 * commands/i386/pc/halt (options): Likewise.
30702 (GRUB_MOD_INIT): Likewise.
30703 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30704 * commands/i386/pc/pxecmd.c (options): Likewise.
30705 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
30706 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
30707 * commands/keystatus.c (options): Likewise.
30708 (GRUB_MOD_INIT): Likewise.
30709 * commands/loadenv.c (options): Likewise.
30710 * commands/ls.c (options): Likewise.
30711 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30712 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30713 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30714 * commands/parttool.c (helpmsg): Likewise.
30715 * commands/probe.c (options): Likewise.
30716 * commands/read.c (GRUB_MOD_INIT): Likewise.
30717 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
30718 * commands/search.c (options): Likewise.
30719 * commands/sleep.c (options): Likewise.
30720 * commands/test.c (GRUB_MOD_INIT): Likewise.
30721 * commands/true.c (GRUB_MOD_INIT): Likewise.
30722 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
30723 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
30724 * lib/arg.c (help_options): Likewise.
e9bbb4e7 30725 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
30726 `$(XGETTEXT)'.
98a50553 30727 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 30728
0ad46fd7 307292009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 30730
ef3c2c3a 30731 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
30732 instead of specifying them explicit.
30733
7922f68b
RM
307342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30735
30736 * NEWS: Add grub-probe support for GNU/Hurd.
30737
537ce47f
RM
307382009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30739
30740 * NEWS: gettext was added after 1.97.
30741
9b214e3a
RM
307422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30743
30744 * util/mkisofs/msdos_partition.h: New file (based on
30745 include/grub/msdos_partition.h).
30746 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
30747 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
30748 (ld_options, main): Recognize --protective-msdos-label.
30749 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
30750 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
30751 (padblock_write): If `use_protective_msdos_label' is set, patch a
30752 protective DOS-style label in the output image.
30753
30754 * util/grub-mkrescue.in: Use --protective-msdos-label.
30755
e9309813
RM
307562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30757
30758 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
30759 boot.
30760
0ae56929
RM
307612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30762
30763 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
30764 variables.
30765 (ld_options, main): Recognize `--embedded-boot'.
30766 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
30767 declarations.
30768 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
30769 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
30770 (padblock_write): Likewise. Rewrite to support embedded boot image.
30771
30772 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
30773 for BIOS-based disk boot instead of only ElTorito.
30774
b15937b1
RM
307752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30776
30777 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
30778 build (not needed for bootstrap).
30779
52cc3ce0
RM
307802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30781
30782 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
30783 from i386-pc build (not needed for bootstrap).
30784 Rewrite a pair of strings.
30785
36f5ff04
RM
307862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30787
30788 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
30789
973c6c85 307902009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
30791
30792 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
30793
05d21547
AB
307942009-12-21 Andreas Born <futur.andy@googlemail.com>
30795
30796 * kern/env.c (grub_env_context_open): Mark exported variable for
30797 reexport.
30798
0175d51f
AB
307992009-12-21 Andreas Born <futur.andy@googlemail.com>
30800
30801 * kern/env.c (grub_env_export): Create nonexistent variables before
30802 exporting.
30803
7f39d92f 308042009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 30805
7f39d92f 30806 * include/grub/auth.h: Include `<grub/i18n.h>'.
30807 (GRUB_GET_PASSWORD): Gettextizze string.
30808 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
30809 menu_text.c.
30810 (grub_utf8_to_ucs4_alloc): Fix indentation.
30811 (grub_print_ucs4): Likewise.
30812 (grub_getstringwidth): Likewise.
30813 (print_message_indented): New declaration.
30814 * normal/auth.c: Include `<grub/i18n.h>'.
30815 (grub_auth_check_authentication): Gettexttize string.
30816 * normal/cmdline.c: Include `<grub/i18n.h>'.
30817 (grub_cmdline_get): Gettextizze.
30818 * normal/color.c: Include `<grub/i18n.h>'.
30819 (grub_parse_color_name_pair): Gettexttize strings.
30820 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
30821 string (use `print_message_indented').
30822 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
30823 `include/grub/normal.h'.
30824 (print_message_indented): Renamed to ...
30825 (grub_print_message_indented): ... this. Remove `static' qualifer (now
30826 used in normal/main.c).
30827 (print_message): Use `grub_print_message_indented' instead of
30828 `print_message_indented'.
30829 (print_timeout): Likewise.
30830 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
30831 (grub_normal_print_device_info): Gettexttize strings.
30832 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
30833
3041d898
VS
308342009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30835
30836 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
30837 of arguments. Return number of tokens and not arguments. All users
30838 updated.
30839
de15bf8e
VS
308402009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30841
30842 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
30843 non-MSDOS paritions.
30844
e0a6ca52
VS
308452009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
30846
30847 * include/grub/types.h (UNUSED): Removed since it conflicts with
30848 NetBSD headers. All users changed to direct __attribute__ ((unused)).
30849 Reported by Grégoire Sutre.
30850
b99518d1 308512009-12-19 Carles Pina i Estany <carles@pina.cat>
30852
30853 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
30854 (grub_print_ucs4_alloc): Likewise.
30855 (grub_getstringwidth): Likewise.
30856 * normal/main.c (grub_normal_init_page): Gettextize version string.
30857 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
30858 (getstringwidth): Renamed to ...
30859 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
30860 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
30861 (grub_print_ucs4): Remove `static' qualifer (now used in
30862 normal/main.c).
30863 * po/POTFILES: Add normal/main.c.
30864
bfd5e52b 308652009-12-19 Carles Pina i Estany <carles@pina.cat>
30866
30867 * normal/menu_text.c (STANDARD_MARGIN): New macro.
30868 (print_message_indented): Add `margin_left' and `margin_right'
30869 parameters.
30870 (print_message): Update `print_message_indented' calls. Adds '\n' to the
30871 strings.
30872 (print_timeout): Use `print_message_indented' to print the message.
30873 Deletes `second_stage' parameter.
30874 (run_menu): Update `print_timeout' calls.
30875
5a1ad2b9
VS
308762009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30877
30878 Fix console palette on OpenFirmware.
30879
30880 * term/ieee1275/ofconsole.c (MAX): Removed.
30881 (colors): Redone based on VGA palette.
30882 (grub_ofconsole_setcolor): Discard brightness bit since only 8
30883 colors are supported.
30884 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
30885
b045f00a
VS
308862009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30887
30888 Fix potential EfiEmu double prepare.
30889
30890 * efiemu/main.c (prepared): New variable
30891 (grub_efiemu_unload): Set prepare to '0'.
30892 (grub_efiemu_prepare): Return if already prepared. Set prepared.
30893
30894 set_virtual_address_map support.
30895
30896 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
30897 prototype.
30898 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
30899 prototype.
30900 (grub_efiemu_crc32): Likewise.
30901 (grub_efiemu_crc64): Likewise.
30902 (grub_efiemu_set_virtual_address_map): Likewise.
30903 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
30904 New definition.
30905 (grub_autoefi_set_virtual_address_map): Likewise.
30906 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
30907 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
30908 Restructure flow to accomodate it.
30909 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
30910 (grub_efiemu_crc): Recompute CRC32.
30911 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
30912 (efiemu_ptv_relocated): ... this. Made global. All users updated.
30913 * efiemu/symbols.c (relocated_handle): New variable.
30914 (grub_efiemu_free_syms): Free relocated_handle.
30915 (grub_efiemu_alloc_syms): Allocate relocated_handle.
30916 (grub_efiemu_write_sym_markers): New function.
30917 (grub_efiemu_set_virtual_address_map): Likewise.
30918
30919 Newer XNU parameters.
30920
30921 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
30922 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
30923 (grub_xnu_fill_devicetree): New prototype.
30924 (grub_xnu_heap_real_start): New variable.
30925 * loader/xnu.c (get_name_ptr): New function.
30926 (grub_xnu_load_driver): Fill namelen and name.
30927
30928 64-bit xnu support.
30929
30930 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
30931 and 'loader/macho64.c'.
30932 * conf/i386-pc.rmk: Likewise.
30933 * conf/x86_64-efi.rmk: Likewise.
30934 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
30935 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
30936 * include/grub/macho.h (grub_macho_segment64): New structure.
30937 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
30938 (grub_macho_size32): ... to this.
30939 (grub_macho32_get_entry_point): Renamed from ...
30940 (grub_macho_get_entry_point32): ... to this.
30941 (grub_macho_contains_macho64): New prototype.
30942 (grub_macho_size64): Likewise.
30943 (grub_macho_get_entry_point64): Likewise.
30944 (grub_macho32_load): Renamed from ...
30945 (grub_macho_load32): ... to this.
30946 (grub_macho32_filesize): Renamed from ...
30947 (grub_macho_filesize32): ... to this.
30948 (grub_macho32_readfile): Renamed from ...
30949 (grub_macho_readfile32): ... to this.
30950 (grub_macho_filesize64): New prototype.
30951 (grub_macho_readfile64): Likewise.
30952 (grub_macho_parse32): Likewise.
30953 (grub_macho_parse64): Likewise.
30954 * loader/macho.c: Split into ...
30955 * loader/machoXX.c: ... and this. Replace 32 with XX.
30956 * loader/macho32.c: New file.
30957 * loader/macho64.c: Likewise.
30958 * loader/xnu.c (grub_xnu_is_64bit): New variable.
30959 (grub_cmd_xnu_kernel): Make 32-bit only.
30960 (grub_cmd_xnu_kernel64): New function.
30961 (grub_xnu_load_driver): Support Mach-O 64.
30962 (grub_cmd_xnu_mkext): Likewise.
30963 * util/grub.d/30_os-prober.in (osx_entry): New function.
30964 Generate entries for 64-bit boot too.
30965
30966 Eliminate ad-hoc tree format in XNU and EfiEmu.
30967
30968 * efiemu/main.c (grub_efiemu_prepare): Update comment.
30969 * efiemu/pnvram.c: Rewritten to use environment variables.
30970 All users updated.
30971
30972 Inline utf16_to_utf8.
30973
30974 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
30975 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
30976 All users updated.
30977 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
30978
30979 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
30980 * commands/usbtest.c (grub_usb_get_string): ... move here.
30981 (usb_print_str): Fix error handling.
30982 * include/grub/usb.h (grub_usb_get_string): Remove.
30983
30984 UTF-8 to UTF-16 transformation.
30985
30986 * conf/common.rmk (pkglib_MODULES): Add charset.mod
30987 (charset_mod_SOURCES): New variable.
30988 (charset_mod_CFLAGS): Likewise.
30989 (charset_mod_LDFLAGS): Likewise.
30990 * include/grub/utf.h: New file.
30991 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
30992
30993 Support for device properties.
30994
30995 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
30996 (grub_xnu_devprop_device_header): Likewise.
30997 (grub_xnu_devprop_device_descriptor): Likewise.
30998 (grub_xnu_devprop_add_device): New prototype.
30999 (grub_xnu_devprop_remove_device): Likewise.
31000 (grub_xnu_devprop_remove_property): Likewise.
31001 (grub_xnu_devprop_add_property_utf8): Likewise.
31002 (grub_xnu_devprop_add_property_utf16): Likewise.
31003 (grub_cpu_xnu_init): Likewise.
31004 (grub_cpu_xnu_fini): Likewise.
31005 (grub_cpu_xnu_unload): Likewise.
31006 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31007 (property_descriptor): Likewise.
31008 (devices): New variable.
31009 (grub_xnu_devprop_remove_property): New function.
31010 (grub_xnu_devprop_add_device): Likewise.
31011 (grub_xnu_devprop_remove_device): Likewise.
31012 (grub_xnu_devprop_add_property): Likewise.
31013 (grub_xnu_devprop_add_property_utf8): Likewise.
31014 (grub_xnu_devprop_add_property_utf16): Likewise.
31015 (hextoval): Likewise.
31016 (grub_cpu_xnu_fill_devprop): Likewise.
31017 (grub_cmd_devprop_load): Likewise.
31018 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31019 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31020 (cmd_devprop_load): New variable.
31021 (grub_cpu_xnu_init): New function.
31022 (grub_cpu_xnu_fini): Likewise.
31023 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31024 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31025 (grub_cmd_xnu_devtree): Likewise.
31026 (hextoval): New function.
31027 (unescape): Likewise.
31028 (grub_xnu_fill_devicetree): Likewise.
31029
31030 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31031 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31032
0945f181
VS
310332009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31034
31035 Workaround for broken ATI VBE.
31036
31037 * video/i386/pc/vbe.c (last_set_mode): New variable.
31038 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31039 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31040 (grub_video_vbe_setup): Don't check for reserved flag.
31041
0ad46fd7 310422009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31043
31044 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31045 the `find' command.
31046
c179ebe4
VS
310472009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31048
31049 UUID support for HFS.
31050
31051 * fs/hfs.c (grub_hfs_uuid): New function.
31052 (grub_hfs_fs): New value .uuid.
31053 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31054
0ad46fd7 310552009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31056
31057 Fix a segfault with parsing unknown long options.
31058
31059 * util/grub-mkrelpath.c (options): Zero terminate it.
31060
c4a3e41a
CPE
310612009-12-13 Carles Pina i Estany <carles@pina.cat>
31062
31063 * include/grub/misc.h (grub_puts): New declaration.
31064 (grub_puts_): Likewise.
a22008a6 31065 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31066 (grub_puts_): Likewise.
31067
2e8a7602
RM
310682009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31069
31070 * util/grub-probe.c (probe): Improve error message.
31071
b50b77b9
RM
310722009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31073
31074 * loader/i386/multiboot_elfxx.c
31075 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31076 initialization.
31077
310782009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31079
31080 Relocator framework
31081
31082 * loader/i386/xnu_helper.S: Removed. All users updated.
31083 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31084 (relocator_mod_SOURCES): New variable.
31085 (relocator_mod_CFLAGS): Likewise.
31086 (relocator_mod_LDFLAGS): Likewise.
31087 (relocator_mod_ASFLAGS): Likewise.
31088 * conf/x86_64.rmk: Likewise.
31089 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31090 (grub_multiboot_payload_entry_offset): Likewise.
31091 (grub_multiboot_forward_relocator): Likewise.
31092 (grub_multiboot_forward_relocator_end): Likewise.
31093 (grub_multiboot_backward_relocator): Likewise.
31094 (grub_multiboot_backward_relocator_end): Likewise.
31095 (grub_multiboot_payload_eip): New variable.
31096 (grub_multiboot_payload_orig): Likewise.
31097 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31098 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31099 * include/grub/i386/memory.h
31100 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31101 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31102 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31103 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31104 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31105 * include/grub/i386/relocator.h: New file.
31106 * include/grub/x86_64/relocator.h: Likewise.
31107 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31108 (XNU_RELOCATOR): New macro.
31109 (grub_xnu_launcher_start): Remove.
31110 (grub_xnu_launcher_end): Likewise.
31111 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31112 (grub_xnu_heap_real_start): Remove.
31113 (grub_xnu_heap_start): Change to void *. All users updated.
31114 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31115 * lib/i386/relocator.c: New file.
31116 * lib/i386/relocator_asm.S: Likewise.
31117 * lib/i386/relocator_backward.S: Likewise.
31118 * lib/mips/relocator.c: Likewise.
31119 * lib/mips/relocator_asm.S: Likewise.
31120 * lib/relocator.c: Likewise.
31121 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31122 (entry): Removed.
31123 (playground): Likewise.
31124 (grub_multiboot_payload_orig): New variable.
31125 (grub_multiboot_payload_dest): Likewise.
31126 (grub_multiboot_payload_size): Likewise.
31127 (grub_multiboot_payload_eip): Likewise.
31128 (grub_multiboot_payload_esp): Likewise.
31129 (grub_multiboot_boot): Use grub_relocator32_boot.
31130 (grub_multiboot_unload): Free relocators.
31131 (grub_multiboot): Setup stack. Use relocators.
31132 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31133 (grub_multiboot_load_elfXX): Use relocators.
31134 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31135 (grub_multiboot_payload_size): Likewise.
31136 (grub_multiboot_payload_dest): Likewise.
31137 (grub_multiboot_payload_entry_offset): Likewise.
31138 (grub_multiboot_forward_relocator): Likewise.
31139 (grub_multiboot_backward_relocator): Likewise.
31140 (grub_multiboot_real_boot): Likewise.
31141 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31142 (grub_xnu_entry_point): Likewise.
31143 (grub_xnu_arg1): Likewise.
31144 (grub_xnu_stack): Likewise.
31145 (grub_xnu_launch): Removed.
31146 (grub_xnu_boot_resume): New function.
31147 (grub_xnu_boot): Use relocators.
31148 * loader/i386/xnu_helper.S: Removed.
31149 * loader/xnu.c (grub_xnu_heap_start): New variable.
31150 (grub_xnu_heap_size): Likewise.
31151 (grub_xnu_heap_malloc): Use relocators.
31152 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31153
29eb90c6
VS
311542009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31155
31156 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31157 anything.
31158
31027430
CPE
311592009-12-13 Carles Pina i Estany <carles@pina.cat>
31160
31161 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31162 GRUB_ERR_NONE before calling grub_env_set.
31163
dc0c71d9
RM
311642009-12-12 Robert Millan <rmh@aybabtu.com>
31165
31166 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31167 * genmk.rb (video): New variable.
31168 (CLEANFILES, VIDEOFILES): Add #{video}.
31169 (#{video}): New target rule.
31170 * genvideolist.sh: New file.
31171 * Makefile.in (pkglib_DATA): Add video.lst.
31172 (video.lst): New target rule.
31173 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31174 `video.lst'.
31175 * util/grub.d/30_os-prober.in: Replace `vbe' with
31176 ${GRUB_VIDEO_BACKEND}.
31177
2a4bfcf0
RM
311782009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31179
31180 * THANKS: Add David Miller.
31181
2a3aa4d5
RM
311822009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31183
31184 libpciaccess support.
31185
31186 * Makefile.in (LIBPCIACCESS): New variable.
31187 (enable_grub_emu_pci): Likewise.
31188 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31189 util/pci.c and commands/lspci.c.
31190 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31191 * configure.ac (grub-emu-pci): New option.
31192 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31193 (grub_pci_device_unmap_range): Likewise.
31194 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31195 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31196 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31197 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31198 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31199 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31200 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31201 * include/grub/pciutils.h: New file.
31202 * util/pci.c: Likewise.
31203
0ad46fd7 312042009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31205
31206 * util/misc.c: Don't include <errno.h> twice.
31207
0ad46fd7 312082009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31209
31210 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31211 name in an error message.
31212 (grub_biosdisk_rw): Likewise.
31213
2e59983c
VS
312142009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31215
31216 Eliminate NTFS 4Gib barrier.
31217
31218 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31219 (read_run_data): Likewise.
31220 (grub_ntfs_read_run_list): Likewise.
31221 (grub_ntfs_read_block): Likewise.
31222 (grub_ntfs_iterate_dir): Likewise.
31223 (read_mft): Likewise.
31224 (read_data): Likewise.
31225 Use COM_LOG_LEN.
31226 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31227 to avoid 64-bit division
31228 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31229 (grub_ntfs_rlst): Use grub_disk_addr_t.
31230
71ee178a
VS
312312009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31232
31233 Eliminate grub-fstest 4Gib barrier.
31234
31235 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31236 (read_file): Fix error reporting.
31237
2520d4b8
VS
312382009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31239
31240 Eliminate hexdump 4Gib barrier.
31241
31242 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31243 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31244
e1f27065
VS
312452009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31246
31247 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31248 Fixes amarsh bug.
31249
1a0f7f45
RM
312502009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31251
31252 Remove miscellaneous files in distclean target.
31253
31254 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31255
c631d9fb
CW
312562009-12-09 Colin Watson <cjwatson@ubuntu.com>
31257
31258 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31259 if they're already set. This resolves the conflict between my
31260 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31261 fixing the --grub-probe option again.
31262 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31263 change on 2009-10-06, so that we now once again source
31264 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31265
7c7b6106
RM
312662009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31267
31268 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31269 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31270 `util/devicemap.c'.
31271
e3069ec1
CPE
312722009-12-08 Carles Pina i Estany <carles@pina.cat>
31273
31274 * include/grub/misc.h (grub_printf_): New declaration.
31275 * kern/misc.c (grub_printf_): New definition.
31276 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31277 instead of `grub_printf' and `_'.
31278 * normal/menu_entry.c (store_completion): Likewise.
31279 (run): Likewise.
31280 (grub_menu_entry_run): Likewise.
31281 * normal/menu_text.c (grub_wait_after_message): Likewise.
31282 (notify_booting): Likewise.
31283 (notify_fallback): Likewise.
31284 (notify_execution_failure): Likewise.
31285
d6ceebf1
CW
312862009-12-07 Colin Watson <cjwatson@ubuntu.com>
31287
31288 * configure.ac: Check for vasprintf.
31289 * util/misc.c (asprintf): Move allocation from here ...
31290 (vasprintf): ... to here. New function.
31291 (xasprintf): New function.
31292 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31293 prototypes.
31294 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31295 * util/grub-mkfont.c (write_font): Likewise.
31296 * util/grub-probe.c (probe): Likewise.
31297 * util/hostdisk.c (make_device_name): Likewise.
31298
de6daa8b
DM
312992009-12-06 David S. Miller <davem@sunset.davemloft.net>
31300
31301 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31302 anything even prefixed with 'cdrom' as a cdrom.
31303
0ad46fd7 313042009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31305
31306 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31307 mount points.
31308
98d3dc02
CPE
313092009-12-05 Carles Pina i Estany <carles@pina.cat>
31310
31311 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31312 grub_gettext_msg_list.
31313 (grub_gettext_gettranslation_from_position): Return const char *
31314 and not char *.
a2c1332b 31315 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31316 returns from the list if existing there.
31317 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31318 (grub_gettext_delete_list): Delete the list.
31319 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31320 lang environment variable is changed.
31321 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31322
b283f108
VS
313232009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31324
31325 Rename kernel.mod to kernel.img.
31326
31327 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31328 (kernel_mod_EXPORTS): Rename to ...
31329 (kernel_img_EXPORTS): ... this.
31330 (kernel_mod_SOURCES): Rename to ...
31331 (kernel_img_SOURCES): ... this.
31332 (kernel_mod_HEADERS): Rename to ...
31333 (kernel_img_HEADERS): ... this. All users updated.
31334 (kernel_mod_CFLAGS): Rename to ...
31335 (kernel_img_CFLAGS): ... this.
31336 (kernel_mod_ASFLAGS): Rename to ...
31337 (kernel_img_ASFLAGS): ... this.
31338 (kernel_mod_LDFLAGS): Rename to ...
31339 (kernel_img_LDFLAGS): ... this.
31340 * conf/x86_64-efi.rmk: Likewise.
31341 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31342 (read_kernel_image): ... this. All users updated.
31343 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31344
69055f8a
CPE
313452009-12-05 Carles Pina i Estany <carles@pina.cat>
31346
31347 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31348 (print_spaces): New function.
31349 (grub_print_ucs4): New function.
31350 (getstringwidth): New function.
31351 (print_message_indented): New function.
31352 (print_message): Gettexttize strings using print_message_indented.
31353 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31354 width.
31355 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31356 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31357 Gettextize.
31358 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31359 string.
31360 (run): Likewise.
31361 (grub_menu_entry_run): Likewise.
31362 * PO/POTFILES: Add normal/menu_entry.c.
31363
f616f51c
VS
313642009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31365
31366 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31367
57bbe3be
CPE
313682009-12-05 Carles Pina i Estany <carles@pina.cat>
31369
31370 * util/grub-install.in: Install gettext .mo files.
31371 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31372
013d67a1
CPE
313732009-12-05 Carles Pina i Estany <carles@pina.cat>
31374
31375 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31376 grub_dprintf.
31377
fb954db0
RM
313782009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31379
31380 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31381 non-firmware-dependant one in realmode.S takes precedence.
31382
6b8474f8
RM
313832009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31384
31385 * commands/halt.c: Replace misc arch-specific headers with
31386 `<grub/misc.h>'.
31387 * commands/reboot.c: Likewise.
31388 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31389 `<grub/misc.h>'.
31390 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31391 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31392 (kernel_img_SOURCES): ... to here.
31393
31394 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31395 * include/grub/i386/pc/init.h: Likewise.
31396 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31397 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31398
31399 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31400
31401 * include/grub/i386/halt.h: Remove.
31402 * include/grub/i386/reboot.h: Likewise.
31403
31404 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31405
4b2e6ca2
DM
314062009-12-03 David S. Miller <davem@sunset.davemloft.net>
31407
31408 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31409 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31410 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31411 "progname.h"
31412 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31413 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31414 (usage): Add missing comma in printf.
31415
5239348f
RM
314162009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31417
31418 Use the same reboot approach on i386 coreboot and qemu as we do on
31419 BIOS.
31420
31421 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31422 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31423 * kern/i386/reboot.c: Remove.
31424 * include/grub/i386/reboot.h (grub_reboot): Export function.
31425 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31426 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31427 0xf000:0xfff0 instead of 0xffff:0x0000.
31428 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31429 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31430
ef34cbd4
RM
314312009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31432
31433 Fix $srcdir != $objdir build.
31434
31435 * Makefile.in (po/%.po): Rewrite as ...
31436 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31437
dc9837ea
ST
314382009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31439
31440 Fix GNU/Hurd grub-install crash.
31441 * util/grub-probe.c (probe): Try to access `path' only when it is not
31442 NULL.
31443
2f857f98
VS
314442009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31445
31446 Correct module naming.
31447
31448 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31449 (GRUB_MOD_INIT(efi_uga)): ... to this
31450 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31451 (GRUB_MOD_FINI(efi_uga)): ... to this
31452 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31453 (GRUB_MOD_INIT(efi_gop)): ... to this
31454 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31455 (GRUB_MOD_FINI(efi_gop)): ... to this
31456
c5448046
RM
314572009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31458
31459 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31460 translatable.
31461 (usage): Translate `arg' strings using gettext().
31462 Thanks to Jordi Mallach for the suggestion.
31463
c85184ad
VS
314642009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31465
31466 GOP support. Based on patch from Bean
31467 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31468
31469 * video/efi_gop.c: New file.
31470 * include/grub/efi/graphics_output.h: Likewise.
31471 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31472 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31473 variables.
31474 * conf/x86_64-efi.rmk: Likewise.
31475
8a4c48d8
VS
314762009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31477
31478 Rename efi_fb to efi_uga.
31479
31480 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31481 'efi_uga.mod'.
31482 (efi_fb_mod_SOURCES): Rename this ...
31483 (efi_uga_mod_SOURCES): ... to this.
31484 (efi_fb_mod_CFLAGS): Rename this ...
31485 (efi_uga_mod_CFLAGS): ... to this.
31486 (efi_fb_mod_LDFLAGS): Rename this ...
31487 (efi_uga_mod_LDFLAGS): ... to this.
31488 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31489 'efi_uga.mod'.
31490 (efi_fb_mod_SOURCES): Rename this ...
31491 (efi_uga_mod_SOURCES): ... to this.
31492 (efi_fb_mod_CFLAGS): Rename this ...
31493 (efi_uga_mod_CFLAGS): ... to this.
31494 (efi_fb_mod_LDFLAGS): Rename this ...
31495 (efi_uga_mod_LDFLAGS): ... to this.
31496 * video/efi_fb.c: Move this ...
31497 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31498
fb6c1a7b
RM
314992009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31500
31501 * po/README: New file. Explain our PO file workflow.
31502
3bc7896c
RM
315032009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31504
31505 * po/ChangeLog: Remove. Move relevant entries back to ...
31506 * ChangeLog: ... here.
31507 * po/ca.po: Remove (now handled by TLP).
31508 * po/id.po: Likewise.
31509 * po/zh_CN.po: Likewise.
31510 * Makefile.in (LINGUAS): Initialize in a way that supports
31511 empty set.
31512
9ed4841d
RM
315132009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31514
31515 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31516 reliing on po/LINGUAS.
31517 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31518 (po/%.po): ... this.
31519
0ad46fd7 315202009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31521
31522 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31523 (main): Use `program_name' instead of nonexistent `progname'.
31524
e30dd392
FZ
315252009-11-26 Felix Zielcke <fzielcke@z-51.de>
31526
31527 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31528 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31529
7656de4f
RM
315302009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31531
31532 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31533 commit.
31534 * conf/i386-efi.rmk: Likewise.
31535 * conf/i386-ieee1275.rmk: Likewise.
31536 * conf/powerpc-ieee1275.rmk: Likewise.
31537 * conf/sparc64-ieee1275.rmk: Likewise.
31538 * conf/x86_64-efi.rmk: Likewise.
31539
db77c4d4
FZ
315402009-11-26 Felix Zielcke <fzielcke@z-51.de>
31541
31542 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31543
a755bb04
FZ
315442009-11-26 Felix Zielcke <fzielcke@z-51.de>
31545
31546 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31547
8a4c07fd
RM
315482009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31549
31550 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31551 (grub_mkdevicemap_SOURCES): New variable.
31552 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31553 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31554 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31555 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31556 (grub_mkdevicemap_SOURCES): Remove.
31557 * conf/i386-efi.rmk: Likewise.
31558 * conf/i386-ieee1275.rmk: Likewise.
31559 * conf/i386-pc.rmk: Likewise.
31560 * conf/powerpc-ieee1275.rmk: Likewise.
31561 * conf/sparc64-ieee1275.rmk: Likewise.
31562 * conf/x86_64-efi.rmk: Likewise.
31563 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31564 (usage): Fix strings to use `program_name'.
31565 (main): Initialize gettext.
31566 * util/grub-editenv.c: Likewise.
31567 * util/grub-emu.c: Likewise.
31568 * util/grub-fstest.c: Likewise.
31569 * util/grub-mkdevicemap.c: Likewise.
31570 * util/grub-mkfont.c: Likewise.
31571 * util/grub-mkrelpath.c: Likewise.
31572 * util/grub-pe2elf.c: Likewise.
31573 * util/grub-probe.c: Likewise.
31574 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31575 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31576 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31577
31578 * util/misc.c: Include `"progname.h"'.
31579 (progname): Remove variable.
31580 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31581
6f61ed55
FZ
315822009-11-25 Felix Zielcke <fzielcke@z-51.de>
31583
31584 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31585 printf and print a newline after the menuentry header line.
31586 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31587
f022876b
FZ
315882009-11-25 Felix Zielcke <fzielcke@z-51.de>
31589
31590 autoconf >= 2.60 support $(localedir).
31591
31592 * INSTALL: Note that autoconf 2.60 is required.
31593 * configure.ac (AC_PREREQ): Bump to 2.60.
31594 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31595 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31596
6717926e
YB
315972009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31598
31599 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31600 aclocal is run.
31601
08806a54
RM
316022009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31603
31604 * normal/main.c (grub_normal_read_line): Fix off-by-one
31605 buffer overflow.
31606
13b33fba
RM
316072009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31608
31609 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31610 "parser.grub" in grub_command_execute() call.
31611
4a8572e9
CPE
316122009-11-24 Carles Pina i Estany <carles@pina.cat>
31613
31614 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31615 * conf/i386-efi.rmk: Likewise.
31616 * conf/i386-ieee1275.rmk: Likewise.
31617 * conf/i386-pc.rmk: Likewise.
31618 * conf/powerpc-ieee1275.rmk: Likewise.
31619 * conf/sparc64-ieee1275.rmk: Likewise.
31620 * conf/x86_64-efi.rmk: Likewise.
31621 * gettext/gettex.c: Include <grub/i18n.h>.
31622 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31623 here ...
31624 * include/grub/i18n.h: ... to here
31625 * include/grub/i18n.h: ... to here.
31626 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 31627 (grub_gettext_dummy): Move above user.
4a8572e9 31628
bee48093
FZ
316292009-11-24 Felix Zielcke <fzielcke@z-51.de>
31630
31631 * util/Makefile.in (install-local): Convert a `for' into a normal
31632 shell expansion.
31633
a031e91c
RM
316342009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31635
31636 * autogen.sh: Add automake call.
31637 * config.guess: Remove.
31638 * config.sub: Likewise.
31639 * install-sh: Likewise.
31640
26bec39d
FZ
316412009-11-24 Felix Zielcke <fzielcke@z-51.de>
31642
31643 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31644
8e2532fd
FZ
316452009-11-24 Felix Zielcke <fzielcke@z-51.de>
31646
31647 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31648 function to a normal shell `for'.
31649
fefa1b7d
FZ
316502009-11-24 Felix Zielcke <fzielcke@z-51.de>
31651
31652 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31653
4501250b
FZ
316542009-11-24 Felix Zielcke <fzielcke@z-51.de>
31655
31656 * util/grub-mkrelpath.c: New file.
31657 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31658 (grub_mkrelpath_SOURCES): New variable.
31659 * include/grub/util/misc.h: New function prototype.
31660 * util/misc.c (make_system_path_relative_to_its_root): New function.
31661
31662 * util/grub-mkconfig_lib.in (bindir): New variable.
31663 (grub_mkrelpath): Likewise.
31664 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31665
31666 * util/probe.c (probe): Make the file path relative to its root.
31667 Change a info message to use the GRUB path. Enable again the
31668 check if we can read the file with GRUB facilities.
31669
31670 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31671 to its root.
31672
11d9778b
FZ
316732009-11-24 Felix Zielcke <fzielcke@z-51.de>
31674
31675 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
31676 platform.
31677
4465287d
FZ
316782009-11-24 Felix Zielcke <fzielcke@z-51.de>
31679
31680 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
31681 strncmp().
31682
62b47f22
FZ
316832009-11-24 Felix Zielcke <fzielcke@z-51.de>
31684
31685 * util/getroot.c (grub_util_is_dmraid): New function.
31686 (grub_util_get_dev_abstraction): Treat dmraid and multipath
31687 devices as normal ones, not as LVM.
31688
1eafb9b9 316892009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
31690
31691 * conf/common.rmk: Add grub-gettext_lib target and updates
31692 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
31693 LDFLAGS.
31694 * gettext/gettext.c: New file. (Reads mo files).
31695 * include/grub/file.h (grub_file_pread): New prototype.
31696 * include/grub/i18n.h (_): New prototype.
31697 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
31698 prototypes.
31699 * kern/misc.c (grub_gettext_dummy): New function.
31700 * normal/menu_text.c: Include <grub/i18n.h>.
31701 * normal/menu_text.c (print_timeout): Gettexttize string.
31702 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
31703 * po/POTFILES: Add `normal/menu_text.c'.
31704 * po/ca.po: Add new translations.
c3ea6bd4
CPE
31705 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
31706 gettext module and defines locale_dir and lang in grub.cfg.
31707 * NEWS: Add gettext support.
31708
0fdb2568
RM
317092009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31710
31711 * util/hostdisk.c: Include `<grub/i18n.h>'.
31712 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
31713 (make_device_name): Rewrite using asprintf.
31714 (convert_system_partition_to_system_disk): Replace 0 with NULL.
31715 (find_system_device): If a device is not found, generate one just
31716 by reusing the OS path name.
31717 (read_device_map): Make it permissible for device.map not to exist.
31718
f515aa62
RM
317192009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31720
31721 * script/sh/execute.c: Move from here ...
31722 * script/execute.c: ... to here. Update all users.
31723 * script/sh/function.c: Move from here ...
31724 * script/function.c: ... to here. Update all users.
31725 * script/sh/lexer.c: Move from here ...
31726 * script/lexer.c: ... to here. Update all users.
31727 * script/sh/main.c: Move from here ...
31728 * script/main.c: ... to here. Update all users.
31729 * script/sh/parser.y: Move from here ...
31730 * script/parser.y: ... to here. Update all users.
31731 * script/sh/script.c: Move from here ...
31732 * script/script.c: ... to here. Update all users.
31733
f84b481b
RM
317342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31735
31736 * configure.ac: Detect all `emu' platforms. Define
31737 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
31738 --enable-grub-emu logic. Disable include/grub/machine
31739 symlink on `emu' platforms.
31740
31741 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
31742 * gensymlist.sh.in: Likewise.
31743
31744 * include/grub/i386/coreboot/machine.h: Remove file.
31745 * include/grub/i386/efi/machine.h: Likewise.
31746 * include/grub/i386/ieee1275/machine.h: Likewise.
31747 * include/grub/i386/pc/machine.h: Likewise.
31748 * include/grub/i386/qemu/machine.h: Likewise.
31749 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31750 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31751 * include/grub/x86_64/efi/machine.h: Likewise.
31752
31753 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
31754 * commands/halt.c: Likewise.
31755 * commands/reboot.c: Likewise.
31756 * include/grub/autoefi.h: Likewise.
31757 * include/grub/i386/at_keyboard.h: Likewise.
31758 * include/grub/i386/kernel.h: Likewise.
31759 * include/grub/i386/loader.h: Likewise.
31760 * include/grub/i386/pc/memory.h: Likewise.
31761 * kern/dl.c: Likewise.
31762 * kern/i386/coreboot/init.c: Likewise.
31763 * loader/i386/bsd.c: Likewise.
31764 * loader/i386/linux.c: Likewise.
31765 * loader/multiboot_loader.c: Likewise.
31766 * term/i386/pc/serial.c: Likewise.
31767 * term/usb_keyboard.c: Likewise.
31768
31769 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
31770 `<grub/machine/machine.h>'
31771 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
31772 * util/misc.c: Remove `<grub/machine/machine.h>' and
31773 `<grub/machine/time.h>'.
31774
31775 * Makefile.in (enable_grub_emu): Remove variable.
31776 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
31777
31778 * conf/any-emu.rmk: New file.
31779 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
31780 (grub_emu_init.c): Move from here ...
31781 * conf/any-emu.rmk: ... to here.
31782
31783 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
31784 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
31785 * conf/any-emu.rmk: ... to here.
31786
4efeab03
RM
317872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31788
31789 * include/grub/parser.h (grub_parser_register): Document need
31790 of `name' parameter.
31791 * normal/main.c (grub_normal_read_line): Simplify prompt string.
31792 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
31793 "sh" to "grub".
31794
ea1dd8bf
RM
317952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31796
31797 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
31798 `$(XGETTEXT)'.
31799 * include/grub/i18n.h (N_): New macro.
31800 * util/mkisofs/mkisofs.h: Likewise.
31801 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
31802 around N_().
31803 (usage): Use gettext() to translate help strings when printing them.
31804
0c140626
RM
318052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31806
31807 Based on patch from Bean
31808 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31809
31810 * video/efi_fb.c: New file.
31811 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
31812 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31813 variables.
31814 * conf/x86_64-efi.rmk: Likewise.
31815
87d58298
RM
318162009-11-22 Robert Millan <rmh.grub@aybabtu.com>
31817
31818 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
31819 * util/i386/pc/grub-setup.c: Likewise.
31820
994cc3a3
ST
318212009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
31822
31823 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
31824 <hurd/fs.h>
31825 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
31826 file_get_storage_info to implement grub_guess_root_device.
31827
26a61d6a
FZ
318282009-11-21 Felix Zielcke <fzielcke@z-51.de>
31829
31830 * Makefile.in (target): Use make's builtin $(shell) function
31831 instead of calling directly $(SHELL) to create the locale directories,
31832 inside the $(foreach) function.
31833
74ff1dd5
FZ
318342009-11-21 Felix Zielcke <fzielcke@z-51.de>
31835
31836 * util/grub-mkrescue.in: Print an error and usage if output option
31837 has not been given.
31838
0b787d0e
FZ
318392009-11-21 Felix Zielcke <fzielcke@z-51.de>
31840
31841 Patch from Loïc Minier <loic.minier@ubuntu.com>.
31842 * util/grub.d/30_os-prober.in: Cope with Linux entries where
31843 root and /boot are on different devices.
31844
1164b270
RM
318452009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31846
31847 Fix build for srcdir != objdir.
31848
31849 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
31850 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
31851 $(srcdir).
31852 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
31853 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
31854 reference for input.
31855
13774a2f
RM
318562009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31857
31858 * util/grub-mkrescue.in: Use source directory direcly (without copiing
31859 or hardlinking it). Remove -J option, Joliet is not compatible with
31860 multiple source directories.
31861
efda854e
RM
318622009-11-21 Carles Pina i Estany <carles@pina.cat>
318632009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31864
31865 * util/grub-mkrescue.in: Recognize `--override-directory' option.
31866 (process_input_dir): New function. Process an arbitrary input
31867 directory.
31868 Misc adjustments to support both "override mode" and system-wide mode.
31869
6c09890c
FZ
318702009-11-20 Felix Zielcke <fzielcke@z-51.de>
31871
31872 * configure.ac (UNIFONT_BDF): Rename to ...
31873 (FONT_SOURCE): ... this. Update all users.
31874
a797824f
FZ
318752009-11-20 Felix Zielcke <fzielcke@z-51.de>
31876
31877 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
31878 to the list of unifont files to look for.
31879
cd4f42b0
RM
318802009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31881
31882 Patch from Joe Auricchio <jauricchio@gmail.com>
31883 * commands/minicmd.c (grub_mini_cmd_clear): New function.
31884 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
31885 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
31886
393c783d
FZ
318872009-11-19 Felix Zielcke <fzielcke@z-51.de>
31888
31889 * Makefile.in (install-local): Add a missing backslash.
31890
b2f1e327
FZ
318912009-11-19 Felix Zielcke <fzielcke@z-51.de>
31892
31893 * include/grub/x86_64/io.h: New file.
31894
f577f7a0
RM
318952009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31896
31897 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
31898 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
31899 Include `"progname.h"'.
31900 (main): Initialize gettext.
31901 * util/i386/pc/grub-setup.c: Gettexttize.
31902 * util/i386/pc/grub-mkimage.c: Likewise.
31903
31904 * Makefile.in (po/*.po): Redefine as ...
31905 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
31906
3bc7896c
RM
31907 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
31908
c37943b6
RM
319092009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31910
31911 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
31912 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
31913 (program_name): Remove.
31914 (main): Initialize gettext support.
6323f705
RM
31915 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
31916 Include `<libintl.h>'.
31917 (_): New macro.
c37943b6
RM
31918
31919 * util/mkisofs/eltorito.c: Gettexttize.
31920 * util/mkisofs/joliet.c: Likewise.
31921 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
31922 * util/mkisofs/multi.c: Likewise.
31923 * util/mkisofs/rock.c: Likewise.
31924 * util/mkisofs/tree.c: Likewise.
31925 * util/mkisofs/write.c: Likewise.
31926
3bc7896c
RM
31927 * po/POTFILES: Update with new files.
31928
5ce77c6e
RM
319292009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31930
31931 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
31932 * util/mkisofs/iso9660.h: Likewise.
31933 * util/mkisofs/joliet.c: Likewise.
31934 * util/mkisofs/mkisofs.c: Likewise.
31935 * util/mkisofs/mkisofs.h: Likewise.
31936 * util/mkisofs/rock.c: Likewise.
31937 * util/mkisofs/tree.c: Likewise.
31938 * util/mkisofs/write.c: Likewise.
31939
31940 * util/mkisofs/eltorito.c (rcsid): Remove.
31941 * util/mkisofs/hash.c: Likewise.
31942 * util/mkisofs/joliet.c: Likewise.
31943 * util/mkisofs/name.c: Likewise.
31944 * util/mkisofs/rock.c: Likewise.
31945 * util/mkisofs/tree.c: Likewise.
31946 * util/mkisofs/write.c: Likewise.
31947
1dabbc77
RM
319482009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31949
31950 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
31951 instead of static allocation.
31952 * util/mkisofs/match.h: Likewise.
31953
633877cb
RM
319542009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31955
3bc7896c
RM
31956 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
31957 and `util/grub.d/10_linux.in'.
633877cb
RM
31958 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
31959 translatable Shell files.
31960
af1c0c85
RM
319612009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31962
31963 * Makefile.in ($(srcdir)/aclocal.m4): New target.
31964
769ae37b
RM
319652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31966
31967 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 31968 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
31969 * util/grub.d/10_kfreebsd.in (bindir): New variable.
31970 Add gettext initialization.
31971 (kfreebsd_entry): Make menuentry output translatable.
31972
319732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31974
31975 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
31976 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
31977 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
31978 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
31979 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 31980 * po/LINGUAS: New file.
769ae37b
RM
31981
319822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31983
31984 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
31985 other things).
31986 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
31987 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
31988 bindtextdomain() calls for gettext initialization.
31989
319902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31991
31992 * gnulib/progname.c: New file (imported from Gnulib).
31993 * gnulib/progname.h: Likewise.
31994 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31995 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
31996 (usage): Replace `progname' with `program_name'.
31997 (main): Use set_program_name() for program name initialization.
31998
319992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32000
32001 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32002 from here ...
32003 * Makefile.in (CPPFLAGS): ... to here.
32004
320052009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32006
32007 * aclocal.m4: Move from here ...
32008 * acinclude.m4: ... to here.
32009 * autogen.sh: Add call to `aclocal'.
32010 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32011
320122009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32013
32014 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32015 (LINGUAS): New variable.
32016 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32017 (install-local): Install MO files.
32018 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32019 * include/grub/i18n.h: New file.
3bc7896c
RM
32020 * po/POTFILES: New file.
32021 * po/ca.po: New file.
769ae37b
RM
32022 * util/grub.d/10_linux.in (bindir): New variable.
32023 Add gettext initialization.
32024 (linux_entry): Make menuentry output translatable.
32025 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32026 (usage): Make --help output translatable.
32027 (main): Initialize gettext.
32028
02c0a6ad
RM
320292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32030
32031 * import_gcry.py: New file (written by Vladimir with minor
32032 adjustments).
32033 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32034 ciphers.
32035 * INSTALL: Document that Python is required for bootstrap.
32036
320372009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32038
32039 Import ciphers from libgcrypt 1.4.4.
32040
32041 * lib/libgcrypt/cipher/ChangeLog
32042 * lib/libgcrypt/cipher/ac.c
32043 * lib/libgcrypt/cipher/arcfour.c
32044 * lib/libgcrypt/cipher/bithelp.h
32045 * lib/libgcrypt/cipher/blowfish.c
32046 * lib/libgcrypt/cipher/camellia-glue.c
32047 * lib/libgcrypt/cipher/camellia.c
32048 * lib/libgcrypt/cipher/camellia.h
32049 * lib/libgcrypt/cipher/cast5.c
32050 * lib/libgcrypt/cipher/cipher.c
32051 * lib/libgcrypt/cipher/crc.c
32052 * lib/libgcrypt/cipher/des.c
32053 * lib/libgcrypt/cipher/dsa.c
32054 * lib/libgcrypt/cipher/ecc.c
32055 * lib/libgcrypt/cipher/elgamal.c
32056 * lib/libgcrypt/cipher/hash-common.c
32057 * lib/libgcrypt/cipher/hash-common.h
32058 * lib/libgcrypt/cipher/hmac-tests.c
32059 * lib/libgcrypt/cipher/md.c
32060 * lib/libgcrypt/cipher/md4.c
32061 * lib/libgcrypt/cipher/md5.c
32062 * lib/libgcrypt/cipher/primegen.c
32063 * lib/libgcrypt/cipher/pubkey.c
32064 * lib/libgcrypt/cipher/rfc2268.c
32065 * lib/libgcrypt/cipher/rijndael-tables.h
32066 * lib/libgcrypt/cipher/rijndael.c
32067 * lib/libgcrypt/cipher/rmd.h
32068 * lib/libgcrypt/cipher/rmd160.c
32069 * lib/libgcrypt/cipher/rsa.c
32070 * lib/libgcrypt/cipher/seed.c
32071 * lib/libgcrypt/cipher/serpent.c
32072 * lib/libgcrypt/cipher/sha1.c
32073 * lib/libgcrypt/cipher/sha256.c
32074 * lib/libgcrypt/cipher/sha512.c
32075 * lib/libgcrypt/cipher/tiger.c
32076 * lib/libgcrypt/cipher/twofish.c
32077 * lib/libgcrypt/cipher/whirlpool.c
32078
af2f93ac
RM
320792009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32080
32081 Fix build for systems without error().
32082
32083 * gnulib/error.c: New file (imported from Gnulib).
32084 * gnulib/error.h: Likewise.
32085 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32086 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32087 (this variable is now used by error()).
32088
73fb3dd5
FZ
320892009-11-16 Felix Zielcke <fzielcke@z-51.de>
32090
814f5e96
FZ
32091 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32092 instead of relying that char is signed.
73fb3dd5 32093
a691ca33
VS
320942009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32095
32096 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32097 blocksize different from specified.
32098 (grub_pxefs_read): Likewise.
32099
2af8f0f4
FZ
321002009-11-16 Felix Zielcke <fzielcke@z-51.de>
32101
32102 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32103
32104 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32105 (grub_ata_readwrite): Likewise. Update 2 format strings.
32106 (grub_atapi_read): Likewise.
32107
32108 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32109 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32110 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32111 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32112 (ata_mod_LDFLAGS): Move from here ...
32113 * conf/i386.rmk: ... to here ...
32114 * conf/x86_64-efi.rmk: ... and here.
32115 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32116 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32117
83bdecaf
RM
321182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32119
32120 Relicense multiboot.h, with RMS' blessing.
32121
32122 * include/multiboot.h: Change to X11 license.
32123
fd6fd3d7
RM
321242009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32125
32126 Support --version in grub-mkisofs.
32127
32128 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32129 (OPTION_VERSION): New macro.
32130 (ld_options): Recognize --version.
32131 (usage): Move `program_name' from here ...
32132 (program_name): ... to here. Add `static' qualifier.
32133 (main): Recognize `OPTION_VERSION'.
32134
16a88c49
FZ
321352009-11-15 Felix Zielcke <fzielcke@z-51.de>
32136
32137 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32138 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32139
a4158476
RM
321402009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32141
32142 Fix help2man generation for mkisofs.
32143
32144 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32145 (usage): Send output to stdout (rather than stderr).
32146
fc2208b0
RM
321472009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32148
32149 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32150 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32151 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32152 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32153 (bin_SCRIPTS): Add `grub-mkfloppy'.
32154 (grub_mkfloppy_SOURCES): New variable.
32155
32156 * util/grub-mkrescue.in: New file.
32157 * util/i386/pc/grub-mkfloppy.in: New file.
32158
32159 * util/i386/coreboot/grub-mkrescue.in: Remove.
32160 * util/i386/pc/grub-mkrescue.in: Remove.
32161
8d0edf4a
RM
321622009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32163
32164 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32165 from here ...
32166 * include/multiboot.h (struct multiboot_header): ... to here. Update
32167 all users.
32168 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32169 from here ...
32170 * include/multiboot.h (struct multiboot_info): ... to here. Update
32171 all users.
32172 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32173 from here ...
32174 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32175 Update all users.
32176 * include/grub/multiboot.h (struct grub_mod_list): Move
32177 from here ...
32178 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32179 Update all users.
32180
a73f5969
RM
321812009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32182
32183 * include/multiboot2.h (multiboot_word): Rename from this ...
32184 (multiboot2_word): ... to this. Update all users.
32185 (multiboot_header): Rename from this ...
32186 (multiboot2_header): ... to this. Update all users.
32187 (multiboot_tag_header): Rename from this ...
32188 (multiboot2_tag_header): ... to this. Update all users.
32189 (multiboot_tag_start): Rename from this ...
32190 (multiboot2_tag_start): ... to this. Update all users.
32191 (multiboot_tag_name): Rename from this ...
32192 (multiboot2_tag_name): ... to this. Update all users.
32193 (multiboot_tag_module): Rename from this ...
32194 (multiboot2_tag_module): ... to this. Update all users.
32195 (multiboot_tag_memory): Rename from this ...
32196 (multiboot2_tag_memory): ... to this. Update all users.
32197 (multiboot_tag_unused): Rename from this ...
32198 (multiboot2_tag_unused): ... to this. Update all users.
32199 (multiboot_tag_end): Rename from this ...
32200 (multiboot2_tag_end): ... to this. Update all users.
32201
1c8927f0
RM
322022009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32203
32204 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32205 this platform we should support Multiboot1 first.
32206
32207 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32208 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32209 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32210
6e1e0d89
RM
322112009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32212
32213 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32214 of write calls (converting them to fwrite() if they aren't already).
32215 (get_torito_desc): Likewise.
32216 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32217
7f2b34d8
RM
322182009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32219
32220 * util/i386/pc/grub-install.in: Move from here ...
32221 * util/grub-install.in: ... to here. Update all users.
32222
c0ef3311
CW
322232009-11-11 Colin Watson <cjwatson@ubuntu.com>
32224
32225 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32226
e1f240ff
RM
322272009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32228
32229 Support for El Torito without floppy emulation.
32230
32231 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32232 (init_boot_catalog): Improve error handling.
32233 (get_torito_desc): Don't use floppy emulation unless requested by
32234 user. Patch boot information table when requested via
32235 `-boot-info-table'.
32236 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32237 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32238 (use_boot_info_table): New variables.
32239 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32240 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32241 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32242 `--eltorito-emul-floppy'.
32243 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32244 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32245 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32246 (use_boot_info_table, get_731): New prototypes.
32247 * util/mkisofs/write.c (get_731): New function.
32248
af7d4de5
FZ
322492009-11-11 Felix Zielcke <fzielcke@z-51.de>
32250
32251 Fix the generation of the man page.
32252
32253 * util/pc/i386/grub-install.in: Source
32254 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32255
2c55dbc0
RM
322562009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32257
32258 Large file support for grub-mkisofs.
32259
32260 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32261 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32262 (session_start): Upgrade type to `uint64_t'. Update all users.
32263 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32264 (struct directory_entry): Upgrade type of `starting_block' and
32265 `size' to `uint64_t'. Update all users.
32266 (struct deferred): Remove unused structure.
32267 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32268 Update all users.
32269 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32270 file is larger than `UINT32_MAX'.
32271 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32272 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32273 return value.
32274 (struct deferred_write): Upgrade type of `extent' and `size' to
32275 `uint64_t'. Update all users.
32276 (last_extent_written): Upgrade type to `uint64_t'. Update all
32277 users.
32278 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32279 Update all users. Upgrade type of `remain' to `int64_t' and
32280 `use' to `size_t'. Use error() to handle fread() errors.
32281 (write_files): Rely on write_one_file() rather than calling
32282 xfwrite() directly.
32283
6a9cead5
FZ
322842009-11-09 Felix Zielcke <fzielcke@z-51.de>
32285
32286 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32287
4825d790
RM
322882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32289
32290 * util/mkisofs/fnmatch.c: Remove.
32291 * util/mkisofs/getopt1.c: Likewise.
32292 * util/mkisofs/getopt.c: Likewise.
32293 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32294 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32295 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32296 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32297 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32298
32299 * configure.ac: Detect `mingw32msvc' host_os.
32300 Check for lstat(), getuid() and getgid().
32301
32302 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32303 instances of `u_char' with `uint8_t'.
32304
32305 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32306 [!HAVE_GETUID] (getuid): New function (stub).
32307 [!HAVE_GETGID] (getgid): Likewise.
32308 [!HAVE_LSTAT] (lstat): Likewise.
32309 [!S_IROTH] (S_IROTH): New macro (dummy).
32310 [!S_IRGRP] (S_IRGRP): Likewise.
32311
84b860d8
RM
323122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32313
32314 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32315 conditional expression).
32316
66e9b712
RM
323172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32318
32319 Import from Gnulib.
32320
32321 * gnulib/fnmatch.c: New file.
32322 * gnulib/fnmatch.h: Likewise.
32323 * gnulib/fnmatch_loop.c: Likewise.
32324 * gnulib/getopt.c: Likewise.
32325 * gnulib/getopt.h: Likewise.
32326 * gnulib/getopt1.c: Likewise.
32327 * gnulib/getopt_int.h: Likewise.
32328 * gnulib/gettext.h: Likewise.
32329
34f4a5b0
RM
323302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32331
32332 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32333 * normal/handler.c (read_handler_list): Likewise.
32334
ac451143
RM
323352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32336
32337 Misc cleanup.
32338
32339 * kern/command.c (grub_register_command_prio): Use
32340 grub_zalloc() instead of explicitly zeroing data.
32341 * kern/list.c: Include `<grub/mm.h>'.
32342 (grub_named_list_find): Replace `0' with `NULL'.
32343 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32344 (fs_module_list): Change type to `grub_named_list_t'. Update all
32345 users.
32346 * normal/dyncmd.c (read_command_list): Add space between function
32347 call and parenthesis.
32348 * normal/handler.c (read_handler_list): Likewise.
32349
4089b167
RM
323502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32351
32352 * normal/auth.c (punishment_delay): Moved from here ...
32353 (grub_auth_strcmp): ... to here (inside function).
32354
325f5037
RM
323552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32356
32357 * include/grub/list.h (struct grub_named_list): Remove `const'
32358 qualifier from `name'.
32359 (struct grub_prio_list): Likewise.
32360
7aea29a3
RM
323612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32362
32363 * normal/auth.c: Include `<grub/time.h>'.
32364 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32365
3fd6f044
RM
323662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32367
32368 * normal/auth.c (punishment_delay): New variable.
32369 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32370 (grub_auth_check_authentication): Punish failed login attempts with
32371 an incremental (2^N) delay.
32372
a4cd68e4
RM
323732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32374
32375 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32376 path with $(srcdir).
32377
7ad12f43
VS
323782009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32379
32380 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32381
c1129f03
RM
323822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32383
32384 * util/i386/coreboot/grub-mkrescue.in: New file.
32385 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32386 variables.
32387
32388 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32389 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32390 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32391 requirements.
32392 * util/mkisofs/defaults.h: New file.
32393 * util/mkisofs/eltorito.c: Likewise.
32394 * util/mkisofs/exclude.h: Likewise.
32395 * util/mkisofs/fnmatch.c: Likewise.
32396 * util/mkisofs/getopt.c: Likewise.
32397 * util/mkisofs/getopt1.c: Likewise.
32398 * util/mkisofs/hash.c: Likewise.
32399 * util/mkisofs/include/fctldefs.h: Likewise.
32400 * util/mkisofs/include/mconfig.h: Likewise.
32401 * util/mkisofs/include/prototyp.h: Likewise.
32402 * util/mkisofs/include/statdefs.h: Likewise.
32403 * util/mkisofs/iso9660.h: Likewise.
32404 * util/mkisofs/joliet.c: Likewise.
32405 * util/mkisofs/match.c: Likewise.
32406 * util/mkisofs/match.h: Likewise.
32407 * util/mkisofs/mkisofs.c: Likewise.
32408 * util/mkisofs/mkisofs.h: Likewise.
32409 * util/mkisofs/multi.c: Likewise.
32410 * util/mkisofs/name.c: Likewise.
32411 * util/mkisofs/rock.c: Likewise.
32412 * util/mkisofs/tree.c: Likewise.
32413 * util/mkisofs/write.c: Likewise.
32414
ec8bb77d
VS
324152009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32416
32417 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32418 being insecure.
32419
3716b12c
RM
324202009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32421
32422 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32423 `grub-mkimage' (and use $0 when possible).
32424
b97b7b91
RM
324252009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32426
32427 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32428 error message for excessively large memory map.
32429
04114812
RM
324302009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32431
32432 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32433 executable bit.
32434
e4eb2373
RM
324352009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32436
32437 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32438 message for coreboot users.
32439
c926e1d5 324402009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32441
32442 Fix build with GNU gold.
32443
32444 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32445 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32446 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32447 link addresses.
32448 * aclocal.m4: Likewise.
32449
86e5b1db 324502009-11-04 Felix Zielcke <fzielcke@z-51.de>
32451
32452 * configure.ac (AC_PREREQ): Bump to 2.59d.
32453 * INSTALL: Make it more clear when Autoconf and Ruby are
32454 needed and when to run `./autogen.sh'.
32455
246cd78f 324562009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32457
32458 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32459 OSes.
32460
4f9dfb37 324612009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32462
32463 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32464
b82bd5e1 324652009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32466
32467 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32468 giving it to GNU Mach.
32469
ff1a9bca 324702009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32471
32472 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32473 GNU partition number to get internal GRUB partition number.
32474
61697d9c 324752009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32476
32477 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32478 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32479
a50569e1 324802009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32481
32482 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32483 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32484 case.
32485
5b153867 324862009-11-01 Felix Zielcke <fzielcke@z-51.de>
32487
32488 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32489
d9e2cd70 324902009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32491
32492 Fix build problem.
32493
32494 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32495 `-isystem=$(srcdir)/include'.
32496
805111a4 324972009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32498
32499 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32500 checked (grub-install doesn't currently rely on it).
32501
fa6e945f 325022009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32503
32504 Revert SVN r2660.
32505
32506 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32507 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32508 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32509 * conf/i386-ieee1275.rmk: Likewise.
32510 * conf/i386-pc.rmk: Likewise.
32511 * conf/powerpc-ieee1275.rmk: Likewise.
32512 * conf/sparc64-ieee1275.rmk: Likewise.
32513 * conf/x86_64-efi.rmk: Likewise.
32514
cee15086 325152009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32516
32517 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32518
95b9239e 325192009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32520
32521 * include/grub/misc.h: Stop checking for APPLE_CC.
32522
2ed19dfd 325232009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32524
32525 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32526 doesn't cause an infinite call loop.
32527
fdcdde19 325282009-10-28 Felix Zielcke <fzielcke@z-51.de>
32529
32530 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32531 strings.
32532
cefabfe1 325332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32534
32535 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32536 variable.
32537 * Makefile.in: Likewise.
32538
ed96ab6d 325392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32540
32541 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32542
0579b753 325432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32544
32545 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32546
478df409 325472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32548
32549 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32550
083d1679 325512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32552
32553 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32554 from here ...
32555 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32556
5947ae32 325572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32558
32559 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32560 in $(MAKEINFO) invocation. This makes it clear in output that
32561 errors are being ignored.
32562
94180ff6 325632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32564
32565 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32566 from here ...
32567 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32568 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32569 * conf/i386-ieee1275.rmk: Likewise.
32570 * conf/i386-pc.rmk: Likewise.
32571 * conf/powerpc-ieee1275.rmk: Likewise.
32572 * conf/sparc64-ieee1275.rmk: Likewise.
32573 * conf/x86_64-efi.rmk: Likewise.
32574
9031b03a 325752009-10-26 Colin Watson <cjwatson@ubuntu.com>
32576
32577 * util/grub-editenv.c (main): If only a command is given, use
32578 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32579 (usage): FILENAME is now optional and has a default.
32580
e4f6809b 325812009-10-26 Colin Watson <cjwatson@ubuntu.com>
32582
32583 Improve grub-mkconfig performance when there are several menu
32584 entries on a single filesystem.
32585
32586 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32587 prepare_grub_to_access_device.
32588 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32589 * util/grub.d/30_os-prober.in: Likewise.
32590
67937d4d 325912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32592
32593 * util/grub.d/10_freebsd.in: Remove.
32594 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32595 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32596
ee3756cc 325972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32598
5c35048e 32599 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 32600
4dea1c6f 326012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32602
32603 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32604 grub_util_error() call.
32605
042484d7 326062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32607
32608 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32609 `reserved_first_sector' member.
32610 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32611 `reserved_first_sector' to 1.
32612 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32613 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32614 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32615 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32616 filesystems which begin at first sector.
32617 (options): New option --skip-fs-probe.
32618 (main): Handle --skip-fs-probe and pass it to setup().
32619
d64448a7 326202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32621
32622 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32623 (memset): Fix function prototype.
32624
508d42ec 326252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
326262009-10-25 Vasily Averin <vvs@parallels.com>
32627
32628 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32629 `dirent.direntlen == 0'.
32630
b240e30c 326312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32632
32633 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32634 `cpio'.
32635 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32636
346e7fbe 326372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32638
32639 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32640 `__trampoline_setup' and `__ucmpdi2'.
32641 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32642 that libgcc provides.
32643
cdb308b0 326442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32645
32646 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32647 * include/grub/sparc64/libgcc.h (memset): Likewise.
32648 * include/grub/misc.h (memset, memcmp): New function prototypes.
32649
fb26abc2 326502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32651
32652 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32653 `cpio'.
32654 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32655
f6693890 326562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32657
32658 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32659 * docs/grub.cfg: Compensate for recent change in multiboot
32660 loader (since 2009-08-14 it won't pass filename to payload).
32661 * util/grub.d/10_hurd.in: Likewise.
32662
0933cdc0 326632009-10-21 Felix Zielcke <fzielcke@z-51.de>
32664
32665 * config.guess: Update to latest version from config git
32666 repository.
32667 * config.sub: Likewise.
32668
3b2fe8c2 326692009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32670
32671 Fix build on sparc64.
32672
32673 * configure.ac: Perform checks for libgcc symbols before
32674 adding `-nostdlib' to LDFLAGS.
32675
46695a62 326762009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32677
32678 Let user specify OpenBSD root device.
32679
32680 * loader/i386/bsd.c (openbsd_root): New variable.
32681 (openbsd_opts): New option 'root'.
32682 (OPENBSD_ROOT_ARG): New macro.
32683 (grub_openbsd_boot): Use 'openbsd_root'.
32684 (grub_cmd_openbsd): Fill 'openbsd_root'.
32685
d2b6b7fc 326862009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32687
32688 * NEWS: Misc adjustments.
32689
421bd7ac 326902009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32691
32692 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
32693
f1d29d87 326942009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32695
32696 * configure.ac: Bump version to 1.97.
32697
6f3cd880 326982009-10-16 Colin Watson <cjwatson@ubuntu.com>
32699
32700 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
32701 -mno-3dnow on x86 architectures. Some toolchains enable these
32702 features by default, but they rely on registers that aren't enabled
32703 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
32704
035f7122 327052009-10-15 Robert Millan <rmh.grub@aybabtu.com>
32706
32707 Make entry text a bit more readable.
32708
32709 * util/grub.d/10_linux.in: Add `with' before `Linux'.
32710
44998e58 327112009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32712
32713 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
32714
cd2851b3 327152009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32716
32717 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
32718 operations.
32719
c6f3b249 327202009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32721
32722 * configure.ac: Add missing dollar.
32723
6b5886ba 327242009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32725
32726 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
32727
32728 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
32729 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
32730 exports.
32731 * include/grub/sparc64/libgcc.h: Likewise. Use
32732 preprocessor conditionals.
32733
e9d66f6d 327342009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32735
32736 * conf/common.rmk (grub-dumpbios): Remove rule.
32737 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
32738 * util/grub-dumpbios.in: Remove file.
32739
9155bc17 327402009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32741
32742 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
32743 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
32744
32745 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
32746 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
32747 users.
32748
32749 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
32750 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
32751 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
32752 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
32753 users.
32754
bf7f7a18 327552009-10-12 Robert Millan <rmh.grub@aybabtu.com>
32756
32757 * term/tparm.c: Switch to GPLv3.
32758
86564c26 327592009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32760
32761 * include/grub/i386/cpuid.h: Add header protection.
32762
5c936493 327632009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32764
32765 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
32766
32767 * include/grub/i386/cpuid.h: New file.
32768 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
32769 (has_longmode): Rename to ...
32770 (grub_cpuid_has_longmode): ... this. Update all users. Remove
32771 `static' attribute.
32772 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
32773 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
32774 on a CPU that doesn't implement AMD64 instruction set.
32775
186e7cf2 327762009-10-06 Colin Watson <cjwatson@ubuntu.com>
32777
32778 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
32779 that version.texi is rebuilt on version number changes.
32780
83b65c4a 327812009-10-06 Colin Watson <cjwatson@ubuntu.com>
32782
32783 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
32784 Fixes bug #27602.
32785
d244281c 327862009-10-06 Colin Watson <cjwatson@ubuntu.com>
32787
32788 * util/i386/pc/grub-install.in: Source
32789 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
32790 that the --grub-probe option will work.
32791 * util/sparc64/ieee1275/grub-install.in: Likewise.
32792
da25306d 327932009-10-05 Robert Millan <rmh.grub@aybabtu.com>
32794
32795 * configure.ac: Bump version to 1.97~beta4.
32796
e8ee83c0 327972009-10-03 Robert Millan <rmh.grub@aybabtu.com>
32798
32799 Resync grub-mkdevicemap in x86_64-efi.
32800
32801 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
32802 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
32803 `util/devicemap.c'.
32804
50dcabcf 328052009-10-01 Colin Watson <cjwatson@ubuntu.com>
32806
32807 * util/grub-editenv.c (create_envblk_file): Write new block with a
32808 .new suffix and then rename it into place, to ensure atomic
32809 creation.
32810
0e51c3a7 328112009-09-28 Robert Millan <rmh.grub@aybabtu.com>
32812
32813 Do not automatically install headers.
32814
32815 * Makefile.in (include_DATA): Remove. Update all users.
32816
31299a95 328172009-09-26 Robert Millan <rmh.grub@aybabtu.com>
32818
32819 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
32820 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
32821
32822 * util/osdetect.lua: Remove.
32823 * script/lua/lauxlib.c: Likewise.
32824 * script/lua/ldebug.c: Likewise.
32825 * script/lua/grub_main.c: Likewise.
32826 * script/lua/lauxlib.h: Likewise.
32827 * script/lua/ldebug.h: Likewise.
32828 * script/lua/ltablib.c: Likewise.
32829 * script/lua/liolib.c: Likewise.
32830 * script/lua/lstrlib.c: Likewise.
32831 * script/lua/lualib.h: Likewise.
32832 * script/lua/ldo.c: Likewise.
32833 * script/lua/ldump.c: Likewise.
32834 * script/lua/ldo.h: Likewise.
32835 * script/lua/loslib.c: Likewise.
32836 * script/lua/lundump.c: Likewise.
32837 * script/lua/grub_lib.c: Likewise.
32838 * script/lua/ldblib.c: Likewise.
32839 * script/lua/lundump.h: Likewise.
32840 * script/lua/lmem.c: Likewise.
32841 * script/lua/grub_lib.h: Likewise.
32842 * script/lua/lmathlib.c: Likewise.
32843 * script/lua/lstate.c: Likewise.
32844 * script/lua/ltm.c: Likewise.
32845 * script/lua/lvm.c: Likewise.
32846 * script/lua/lmem.h: Likewise.
32847 * script/lua/lstate.h: Likewise.
32848 * script/lua/ltm.h: Likewise.
32849 * script/lua/ltable.c: Likewise.
32850 * script/lua/lvm.h: Likewise.
32851 * script/lua/llex.c: Likewise.
32852 * script/lua/lgc.c: Likewise.
32853 * script/lua/grub_lua.h: Likewise.
32854 * script/lua/loadlib.c: Likewise.
32855 * script/lua/lfunc.c: Likewise.
32856 * script/lua/lopcodes.c: Likewise.
32857 * script/lua/lparser.c: Likewise.
32858 * script/lua/ltable.h: Likewise.
32859 * script/lua/llex.h: Likewise.
32860 * script/lua/lgc.h: Likewise.
32861 * script/lua/lfunc.h: Likewise.
32862 * script/lua/lbaselib.c: Likewise.
32863 * script/lua/lopcodes.h: Likewise.
32864 * script/lua/lparser.h: Likewise.
32865 * script/lua/lzio.c: Likewise.
32866 * script/lua/linit.c: Likewise.
32867 * script/lua/lobject.c: Likewise.
32868 * script/lua/llimits.h: Likewise.
32869 * script/lua/lstring.c: Likewise.
32870 * script/lua/lzio.h: Likewise.
32871 * script/lua/lapi.c: Likewise.
32872 * script/lua/lcode.c: Likewise.
32873 * script/lua/lua.h: Likewise.
32874 * script/lua/lobject.h: Likewise.
32875 * script/lua/lstring.h: Likewise.
32876 * script/lua/lapi.h: Likewise.
32877 * script/lua/lcode.h: Likewise.
32878 * script/lua/luaconf.h: Likewise.
32879
cb8a2c38 328802009-09-26 Colin Watson <cjwatson@ubuntu.com>
32881
32882 * docs/grub.texi (Command-line and menu entry commands): Document
32883 date and echo commands.
32884
6b9b6276 328852009-09-24 Pavel Roskin <proski@gnu.org>
32886
32887 * include/grub/kernel.h (struct grub_module_header): Remove
32888 `grub_module_header_types'. Make `type' unsigned. Make `size'
32889 32-bit on all platforms.
32890 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
32891 8-bit field. Use grub_host_to_target32() for `size'.
32892 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
32893 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
32894 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
32895
4e5a02a7 328962009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32897
32898 Fix "lost keypress" bug in at_keyboard.
32899
32900 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
32901 Checks for readyness of input buffer (without flushing it).
32902 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
32903 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
32904
c6dcedf6 329052009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32906
32907 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
32908 size check within GRUB_MACHINE_PCBIOS section.
32909
74c958b1 329102009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32911
32912 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
32913 return value.
32914 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
32915 KEYBOARD_ISREADY check.
32916 (grub_at_keyboard_checkkey): Rename to ...
32917 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
32918 Remove gratuitous cast.
32919
ff420223 329202009-09-23 Colin Watson <cjwatson@ubuntu.com>
32921
32922 * configure.ac: Call AC_PROG_MKDIR_P.
32923 * Makefile.in (docs/stamp-vti): Create docs directory. Create
32924 version.texi in $(builddir) rather than $(srcdir).
32925 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
32926 to makeinfo's @include search path.
32927
d96875df 329282009-09-23 Felix Zielcke <fzielcke@z-51.de>
32929
32930 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
32931
9b3f8365 329322009-09-23 Felix Zielcke <fzielcke@z-51.de>
32933
32934 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
32935 for `*.dpkg-new'.
32936
c44c90db 329372009-09-21 Colin Watson <cjwatson@ubuntu.com>
32938
32939 Build info documentation. Some code borrowed from Automake.
32940
32941 * configure.ac: Check for makeinfo.
32942 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
32943 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
32944 docs/version.texi.
32945 (MOSTLYCLEANFILES): Add vti.tmp.
32946 (docs/version.texi, docs/stamp-vti): Update automatically.
32947 (docs/grub.info): Build info documentation. Use --force and ignore
32948 errors for now.
32949 (all-local): Add $(INFOS).
32950 (install-local): Install info files.
32951 (uninstall): Uninstall info files.
32952 * docs/version.texi: Remove from revision control. This file is
32953 automatically generated on build now.
32954 * gendistlist.sh: Add `*.info'.
32955
e0b37bb5 329562009-09-21 Felix Zielcke <fzielcke@z-51.de>
32957
32958 * kern/term.c: Fix indentation.
32959
5a78865b 329602009-09-21 Felix Zielcke <fzielcke@z-51.de>
32961
32962 * util/hostdisk.c: Fix a comment.
32963
dace7e8a 329642009-09-20 Robert Millan <rmh.grub@aybabtu.com>
32965
32966 Fix regression introduced in r2539.
32967
32968 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
32969 to 0xA1.
32970
a83d079b 329712009-09-19 Colin Watson <cjwatson@ubuntu.com>
32972
32973 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 32974 os-prober. Under normal operation, it does not print anything to
32975 stderr; if it does, we need to debug it, and throwing away stderr
32976 makes that excessively difficult.
a83d079b 32977
be94a509 329782009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
32979
32980 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
32981
63f745e8 329822009-09-16 Robert Millan <rmh.grub@aybabtu.com>
32983
32984 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
32985 AC_LANG_PROGRAM from autoconf.
32986 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
32987 prototypes (fixes warning).
32988
32989 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
32990 `--disable-werror' was used.
32991
bbb2a70f 329922009-09-16 Robert Millan <rmh.grub@aybabtu.com>
32993
32994 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
32995 uninitialized `lastaddr'.
32996
77c24f1d 329972009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
32998
0f0b8c87 32999 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33000
07197f23 330012009-09-14 Colin Watson <cjwatson@ubuntu.com>
33002
33003 * commands/test.c (get_fileinfo): Return immediately if
33004 grub_fs_probe fails.
33005
dabf1798 330062009-09-14 José Martínez <xosemp@gmail.com>
33007
33008 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33009
d52109a7 330102009-09-14 Colin Watson <cjwatson@ubuntu.com>
33011
33012 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33013 output.
33014
56532179 330152009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33016
33017 * configure.ac: Remove --enable-grub-pe2elf. Only build
33018 grub-pe2elf when needed by the build system itself.
33019 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33020
8ef070f5 330212009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33022
33023 * configure.ac: Bump version to 1.97~beta3.
33024 * docs/version.texi: Likewise.
33025
61229557 330262009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33027
33028 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33029 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33030 from here ...
33031 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33032 (grub_linux_setup_video): ... to here (with some adjustments).
33033
5c9f8d84 330342009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33035
33036 Fix memory corruption issue (spotted by Colin Watson).
33037
33038 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33039 causing returned size to be stored in an incorrect memory location.
33040 Fix use of uninitialized value when storing the returned size.
33041
e8f5d6e9 330422009-09-12 Yves Blusseau <blusseau@zetam.org>
33043
33044 Change clean rules to properly remove files
33045
33046 * genmk.rb: add new clean rules
33047 * Makefile.in (clean): add the new targets
33048 (mostlyclean): likewise
33049
cda2a409 330502009-09-11 Colin Watson <cjwatson@ubuntu.com>
33051
33052 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33053 to grub_uint64_t.
33054 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33055 non-resident files.
33056
86695375 330572009-09-11 Colin Watson <cjwatson@ubuntu.com>
33058
33059 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33060 part of bug #27349.
33061
8aa1541a 330622009-09-10 Felix Zielcke <fzielcke@z-51.de>
33063
33064 * util/grub-mkconfig.in: Make the created config mode 400 and
33065 print a warning if it fails.
33066
48d9bb0a 330672009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33068
33069 * util/grub.d/40_custom.in: Ask user to type custom entries below
33070 comment, rather than below 'exec tail' line.
33071
3b0521be 330722009-09-10 Colin Watson <cjwatson@ubuntu.com>
33073
33074 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33075 visible in grub.cfg.
33076
50051d55 330772009-09-10 Colin Watson <cjwatson@ubuntu.com>
33078
33079 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33080 file.
33081
c0d34387 330822009-09-10 Felix Zielcke <fzielcke@z-51.de>
33083
33084 * docs/grub.cfg: Add an example menu entry for memtest86+.
33085
80a608f3 330862009-09-09 Felix Zielcke <fzielcke@z-51.de>
33087
a2094832 33088 * config.guess: Update to latest version from config git.
80a608f3 33089 * config.sub: Likewise.
33090
99423078 330912009-09-08 Colin Watson <cjwatson@ubuntu.com>
33092
33093 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33094 unknown-command case. Fixes bug #27320.
33095
44454e4c 330962009-09-08 Felix Zielcke <fzielcke@z-51.de>
33097
33098 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33099 `help' if the command exists.
33100
e30d87ad 331012009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33102
33103 * INSTALL: Require GCC 4.1.3 or later.
33104
9a86f1ec 331052009-09-06 Yves Blusseau <blusseau@zetam.org>
33106
33107 * Makefile.in (RMKFILES): add i386-qemu.rmk
33108 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33109 $(srcdir)/stamp-h.in
33110
7f26d466 331112009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33112
33113 * util/grub-probe.c (probe): Comment out buggy codepath, which
33114 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33115 should be re-enabled after 1.97.
33116
3a613259 331172009-09-05 Felix Zielcke <fzielcke@z-51.de>
33118
33119 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33120 find searches for.
33121
197f76c7 331222009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33123
33124 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33125 unnecessary calls to grub_error.
33126
70ba68ce 331272009-09-04 Colin Watson <cjwatson@ubuntu.com>
33128
33129 * NEWS: Mention `keystatus' and Unicode fonts.
33130
4ff0d7a4 331312009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33132
33133 * configure.ac: Bump version to 1.97~beta2.
33134 * docs/version.texi: Likewise.
33135
77c55a87 331362009-09-03 Colin Watson <cjwatson@ubuntu.com>
33137
33138 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33139 containing unwind information in some cases where it previously did
33140 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33141 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33142 discussion.
33143
f79572cd 331442009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33145
33146 Embedding loadenv module into grub-emu
33147
33148 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33149 commands/loadenv.c
33150 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33151 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33152 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33154 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33155 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33156
93a81088 331572009-09-03 Magnus Granberg <zorry@ume.nu>
33158
33159 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33160 include -fPIE in the default specs.
33161 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33162 to TARGET_CFLAGS.
33163
160034b2 331642009-09-03 Felix Zielcke <fzielcke@z-51.de>
33165
33166 * INSTALL: Note that GNU Bison 2.3 or later is required.
33167
087c07c4 331682009-09-03 Colin Watson <cjwatson@ubuntu.com>
33169
33170 * kern/i386/pc/startup.S: Fix typo.
33171
cbf978c0 331722009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33173
33174 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33175 according to GCS.
33176
331772009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33178
33179 * docs/grub.texi (Naming convention): Describe one-based partition
33180 numbering.
33181 (Device syntax): Likewise.
33182 (File name syntax): Likewise.
33183 (Block list syntax): Likewise.
33184 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33185 menu.lst.
33186 (File name syntax): Likewise.
33187 (Command-line and menu entry commands): Document acpi, blocklist,
33188 crc, export, insmod, keystatus, ls, set, and unset commands.
33189
f3e8cdfd 331902009-09-02 Colin Watson <cjwatson@ubuntu.com>
33191
33192 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33193 to avoid implying that only one of --shift, --ctrl, or --alt may be
33194 used.
33195
c0bc232b 331962009-09-02 Colin Watson <cjwatson@ubuntu.com>
33197
33198 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33199 rather than comparing against S_IFREG, which will almost never work.
33200
aa0f752d 332012009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33202
33203 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33204 (write_blocklists): Likewise.
33205
ecb3166a 332062009-09-01 Colin Watson <cjwatson@ubuntu.com>
33207
33208 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33209 argument to grub_printf.
33210
c403a125 332112009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33212
33213 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33214 non GNU test.
31aba781 33215
b5e7312c 332162009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33217
33218 * kern/file.c (grub_file_read): Spelling fix
33219
fe00f472 332202009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33221
33222 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33223 loading of headers in some cases.
33224
cc55302e 332252009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33226
33227 * configure.ac: Bump version to 1.97~beta1.
33228 * docs/version.texi: Likewise.
33229
5c90cdd2 332302009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33231
33232 * include/grub/i386/xnu.h: Add license header.
33233 include grub/err.h explicitly.
33234
c90edae4 332352009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33236
33237 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33238 to `ufs' in the vfs.root.mountfrom kernel parameter.
33239
d8888b5c 332402009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33241
33242 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33243
33244 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33245 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33246
33247 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33248 `ARRAY_SIZE' macro.
33249
6f07b921 332502009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33251
33252 * kern/file.c (grub_file_read): Check offset.
33253 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33254 * fs/jfs.c (grub_jfs_read_file): Likewise.
33255 * fs/ntfs.c (grub_ntfs_read): Likewise.
33256 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33257 * fs/minix.c (grub_minix_read_file): Correct offset check.
33258 * fs/ufs.c (grub_ufs_read_file): Likewise.
33259
b4f34077 332602009-08-28 Colin Watson <cjwatson@ubuntu.com>
33261
33262 * term/i386/pc/console.c (bios_data_area): Cast
33263 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33264
e7c69859 332652009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33266
33267 1-bit optimised blitters.
33268
33269 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33270 prototype.
33271 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33272 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33273 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33274 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33275 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33276 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33277 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33278 function.
33279 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33280 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33281 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33282 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33283 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33284 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33285 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33286 when possible.
33287 * video/video.c (grub_video_get_blit_format): Return
33288 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33289
a57da43f 332902009-08-28 Colin Watson <cjwatson@ubuntu.com>
33291
33292 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33293 the first argument to grub_printf.
33294
4cbe67e5 332952009-08-28 Colin Watson <cjwatson@ubuntu.com>
332962009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33297
33298 Add `getkeystatus' terminal method. Add a new `keystatus' command
33299 to query it.
33300
33301 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33302 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33303 modifier key bitmasks.
33304 (struct grub_term_input): Add `getkeystatus' member.
33305 (grub_getkeystatus): Add prototype.
33306 * kern/term.c (grub_getkeystatus): New function.
33307
33308 * include/grub/i386/pc/memory.h
33309 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33310 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33311 Data Area layout.
33312 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33313 (grub_console_term_input): Set `getkeystatus' member.
33314 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33315 constants.
33316 (grub_usb_keyboard_getreport): Likewise.
33317 (grub_usb_keyboard_checkkey): Likewise.
33318 (grub_usb_keyboard_getkeystatus): New function.
33319 (grub_usb_keyboard_term): Set `getkeystatus' member.
33320
33321 * commands/keystatus.c: New file.
33322 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33323 (keystatus_mod_SOURCES): New variable.
33324 (keystatus_mod_CFLAGS): Likewise.
33325 (keystatus_mod_LDFLAGS): Likewise.
33326 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33327 commands/keystatus.c.
33328 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33329 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33330 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33332 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33333 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33334
6e2a9085 333352009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33336
33337 Split befs.mod and afs.mod into *_be.mod and *.mod
33338
33339 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33340 (grub_fstest_SOURCES): Likewise.
33341 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33342 (afs_be_mod_SOURCES): New variable.
33343 (afs_be_mod_CFLAGS): Likewise.
33344 (afs_be_mod_LDFLAGS): Likewise.
33345 (befs_be_mod_SOURCES): Likewise.
33346 (befs_be_mod_CFLAGS): Likewise.
33347 (befs_be_mod_LDFLAGS): Likewise.
33348 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33349 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33350 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33351 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33352 (grub_emu_SOURCES): Likewise.
33353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33354 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33355 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33356 * fs/afs_be.c: New file.
33357 * fs/befs_be.c: New file.
33358 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33359 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33360 (U16): Replaced with ...
33361 (grub_afs_to_cpu16): ...this. All users updated.
33362 (U32): Replaced with ...
33363 (grub_afs_to_cpu32): ...this. All users updated.
33364 (U64): Replaced with ...
33365 (grub_afs_to_cpu64): ...this. All users updated.
33366 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33367 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33368 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33369 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33370 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33371 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33372 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33373 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33374 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33375 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33376 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33377
32a71655 333782009-08-26 Bean <bean123ch@gmail.com>
33379
33380 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33381 64-bit number.
33382 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33383 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33384 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33385
552bf6c5 333862009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33387
33388 NetBSD memory map support.
33389
33390 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33391 (grub_netbsd_btinfo_mmap_header): New structure.
33392 (grub_netbsd_btinfo_mmap_entry): Likewise.
33393 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33394
1ae2078c 333952009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33396
33397 Enable bsd.mod on coreboot.
33398
33399 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33400 (bsd_mod_SOURCES): New variable.
33401 (bsd_mod_CFLAGS): Likewise.
33402 (bsd_mod_LDFLAGS): Likewise.
33403 (bsd_mod_ASFLAGS): Likewise.
33404 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33405 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33406
beefc598 334072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33408
33409 Cleanup NetBSD root support.
33410
33411 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33412 grub_bsd_get_device.
33413 Fix typo.
33414
3b76e68b 334152009-08-25 Felix Zielcke <fzielcke@z-51.de>
33416
33417 * util/grub.d/00_header.in: Move check for the video backend of
33418 gfxterm from here ...
33419 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33420 a suitable video backend.
33421
aea664ea 334222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33423
33424 Fix breakage in grub-setup.
33425
33426 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33427 "msdos_partition_map".
33428
ff747d50 334292009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33430
33431 Fix breakage in normal/auth.c.
33432
33433 * normal/auth.c (grub_iswordseparator): New function.
33434
e7e1f93f 334352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33436
33437 Authentication support.
33438
33439 * commands/password.c: New file.
33440 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33441 (password_mod_SOURCES): New variable.
33442 (password_mod_CFLAGS): Likewise.
33443 (password_mod_LDFLAGS): Likewise.
33444 (normal_mod_SOURCES): Add normal/auth.c.
33445 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33446 normal/auth.c.
33447 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33448 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33449 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33451 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33452 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33453 * include/grub/auth.h: New file.
33454 * include/grub/err.h (grub_err_t): New enum value
33455 GRUB_ERR_ACCESS_DENIED.
33456 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33457 'users'.
33458 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33459 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33460 users updated.
33461 * normal/auth.c: New file.
33462 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33463 (grub_cmdline_run): Don't allow to go to command line without
33464 authentication.
33465 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33466 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33467 menuentry without superuser rights.
33468 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33469 user isn't a superuser.
33470
70f1161d 334712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33472
33473 Save space by inlining misc.c functions.
33474
33475 * kern/misc.c (grub_iswordseparator): Made static.
33476 * kern/misc.c (grub_strcat): Moved from here ...
33477 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33478 * kern/misc.c (grub_strncat): Moved from here ...
33479 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33480 * kern/misc.c (grub_strcasecmp): Moved from here ...
33481 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33482 * kern/misc.c (grub_strncasecmp): Moved from here ...
33483 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33484 * kern/misc.c (grub_isalpha): Moved from here ...
33485 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33486 * kern/misc.c (grub_isdigit): Moved from here ...
33487 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33488 * kern/misc.c (grub_isgraph): Moved from here ...
33489 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33490 * kern/misc.c (grub_tolower): Moved from here ...
33491 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33492
48e40bff 334932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33494
33495 * script/sh/function.c (grub_script_function_find): Cut error message
33496 not to flood terminal.
33497 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33498 limit.
33499 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33500
c385bfc3 335012009-08-24 Colin Watson <cjwatson@ubuntu.com>
33502
33503 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33504 `report' grub_uint8_t *.
33505 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33506 Use a 50-millisecond timeout rather than just repeating
33507 grub_usb_keyboard_getreport 50 times.
33508 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33509
2d21e3e8 335102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33511
33512 Rename *_partition_map to part_*
33513
33514 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33515 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33516 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33517 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33518 All users updated.
33519 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33520 All users updated.
33521 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33522 * util/grub-probe.c (probe_partmap): Don't transform partition name
33523 to get module name.
33524
dd103c4e 335252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33526
33527 Fix OpenBSD and NetBSD support.
33528
33529 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33530 memory address conflict.
33531 (OPENBSD_MMAP_ACPI): New definition.
33532 (OPENBSD_MMAP_NVS): Likewise.
33533 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33534 and OPENBSD_MMAP_NVS.
33535 Add memory map terminator
33536 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 33537 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 33538
16c84d74 335392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33540
33541 Let user specify NetBSD root device.
33542
33543 * loader/i386/bsd.c (netbsd_root): New variable.
33544 (netbsd_opts): New option 'root'.
33545 (NETBSD_ROOT_ARG): New macro.
33546 (grub_netbsd_boot): Use 'netbsd_root'.
33547 (grub_bsd_unload): Free 'netbsd_root'.
33548 (grub_cmd_netbsd): Fill 'netbsd_root'.
33549
adb29902 335502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33551
33552 Support for 64-bit NetBSD.
33553
33554 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33555 point when booting non-FreeBSD.
33556
f5ae9f74 335572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33558
33559 Support --no-smp and --no-acpi for NetBSD.
33560
33561 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33562 (NETBSD_AB_NOACPI): Likewise.
33563 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33564 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33565
de74f136 335662009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33567
33568 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33569 errors.
33570 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33571 errors. Call grub_error when needed.
33572
e9a925da 335732009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33574
33575 * commands/search.c (search_fs): Try searching without autoload first.
33576 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33577 filesystem module explicitly for faster booting.
33578
5174302b 335792009-08-23 Colin Watson <cjwatson@ubuntu.com>
33580
33581 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33582
c8c80635 335832009-08-23 Colin Watson <cjwatson@ubuntu.com>
33584
33585 * util/grub.d/30_os-prober.in: Disable os-prober if
33586 `GRUB_DISABLE_OS_PROBER' was set to true.
33587
71acf5e5 335882009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33589
33590 * partmap/pc.c: Rename to ...
33591 * partmap/msdos.c: ... this. Update all users.
33592 (grub_pc_partition_map): Rename to ...
33593 (grub_msdos_partition_map): ... this. Update all users.
33594
33595 * parttool/pcpart.c: Rename to ...
33596 * parttool/msdospart.c: ... this. Update all users.
33597
33598 * include/grub/pc_partition.h: Rename to ...
33599 * include/grub/msdos_partition.h: ... this. Update all users.
33600 (grub_pc_partition_bsd_entry): Rename to ...
33601 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33602 (grub_pc_partition_disk_label): Rename to ...
33603 (grub_msdos_partition_disk_label): ... this. Update all users.
33604 (grub_pc_partition_entry): Rename to ...
33605 (grub_msdos_partition_entry): ... this. Update all users.
33606 (grub_pc_partition_mbr): Rename to ...
33607 (grub_msdos_partition_mbr): ... this. Update all users.
33608 (grub_pc_partition): Rename to ...
33609 (grub_msdos_partition): ... this. Update all users.
33610 (grub_pc_partition_is_empty): Rename to ...
33611 (grub_msdos_partition_is_empty): ... this. Update all users.
33612 (grub_pc_partition_is_extended): Rename to ...
33613 (grub_msdos_partition_is_extended): ... this. Update all users.
33614 (grub_pc_partition_is_bsd): Rename to ...
33615 (grub_msdos_partition_is_bsd): ... this. Update all users.
33616
33617 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33618 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33619 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33620 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33621 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33622 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33623 (gpt_mod_LDFLAGS): Rename to ...
33624 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33625 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33626 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33627 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33628 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33629 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33630 (part_gpt_mod_LDFLAGS): ... this.
33631 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33632 `pcpart.mod' to `msdospart.mod'.
33633 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33634 to ...
33635 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33636 (msdospart_mod_LDFLAGS): ... this.
33637
c11fded5 336382009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33639
33640 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33641 (openbsd_opts): Likewise.
33642 (netbsd_opts): Likewise.
33643 (freebsd_flags): Added 0 terminator.
33644 (openbsd_flags): Likewise.
33645 (netbsd_flags): Likewise.
33646 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33647 (grub_cmd_freebsd): Transformed into extended command.
33648 (grub_cmd_openbsd): Likewise.
33649 (grub_cmd_netbsd): Likewise.
33650 (cmd_freebsd): Changed type to grub_extcmd_t.
33651 (cmd_openbsd): Likewise.
33652 (cmd_netbsd): Likewise.
33653 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33654 grub_cmd_openbsd as extended commands.
33655 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33656 cmd_netbsd and cmd_openbsd
33657
11d1c769 336582009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33659
33660 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33661
7a9094e5 336622009-08-21 Pavel Roskin <proski@gnu.org>
33663
5496c37e 33664 * Makefile.in (install-local): When checking if a file is in the
33665 build directory, use "test -e" to detect symlinks.
33666
7a9094e5 33667 * Makefile.in (install-local): Remove all files in
33668 $(DESTDIR)$(pkglibdir) before installing new files there.
33669
e53cea11 336702009-08-18 Felix Zielcke <fzielcke@z-51.de>
33671
33672 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33673 grub-mkelfimage.
33674
9aced544 336752009-08-18 Felix Zielcke <fzielcke@z-51.de>
33676
33677 * util/grub-mkconfig.in: Don't use gfxterm by default if not
33678 explicitly specified by the user.
33679
b7da6bab 336802009-08-18 Pavel Roskin <proski@gnu.org>
33681
33682 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
33683 grub_uint8_t pointer for data.
33684 * include/grub/fbutil.h (struct grub_video_fbblit_info):
33685 Likewise.
33686 * video/fb/fbutil.c: Remove unnecessary casts.
33687
19f1b335 336882009-08-17 Michal Suchanek <hramrach@centrum.cz>
33689
33690 VBE cleanup.
33691
33692 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
33693 (grub_vbe_set_video_mode): Save active mode info
33694 only after setting the mode.
33695 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
33696 second argument.
33697
2f467aa9 336982009-08-17 Michal Suchanek <hramrach@centrum.cz>
33699
33700 Rename variables for clarity.
33701
33702 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
33703 (active_vbe_mode_info): ... this. All users updated.
33704 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
33705 All users updated.
33706 (initial_mode): Rename to ...
33707 (initial_vbe_mode): ... this. All users updated.
33708 (mode_in_use): Rename to ..
33709 (vbe_mode_in_use): ... this. All users updated.
33710 (mode_list): Rename to ..
33711 (vbe_mode_list): ... this. All users updated.
33712 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
33713 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
33714 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
33715 'mode_list_size' to 'vbe_mode_list_size'.
33716 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
33717 'best_mode_info' to 'best_vbe_mode_info' and
33718 'best_mode' to 'best_vbe_mode'
33719
6025fcd7 337202009-08-17 Michal Suchanek <hramrach@centrum.cz>
33721
33722 Remove duplicate grub_video_fb_get_video_ptr.
33723
33724 * include/grub/fbutil.h (get_data_ptr): Rename to ...
33725 (grub_video_fb_get_video_ptr): ... this.
33726 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
33727 * video/fb/fbutil.c: Add comment about addressing.
33728 (get_data_ptr): Rename to ...
33729 (grub_video_fb_get_video_ptr): ... this. All users updated.
33730 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
33731
cc8c6faf 337322009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33733
33734 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
33735 grub_dprintf() that was just added.
33736
08aa61f0 337372009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33738
33739 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
33740 (DEFAULT_VIDEO_MODE): Remove macros.
33741 (grub_linux_boot): Remove assumption that Linux has FB support,
33742 and use "text" as default video mode.
33743
7cef4f75 337442009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
33745
33746 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
33747 grub_dprintf.
33748 * fs/fat.c (grub_fat_read_data): Likewise.
33749
e1f39873 337502009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33751
33752 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
33753 payload.
33754 (grub_module): Likewise.
33755
c166d79e 337562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33757
33758 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
33759 mbi->cmdline but free playground.
33760
c60cee8e 337612009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33762
33763 Handle group offset on UFS1.
33764
33765 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
33766 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
33767
c0d8b5d4 337682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33769
33770 Split ufs.mod into ufs1.mod and ufs2.mod.
33771
33772 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
33773 (grub_fstest_SOURCES): Likewise.
33774 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
33775 (ufs_mod_SOURCES): Remove.
33776 (ufs_mod_CFLAGS): Likewise.
33777 (ufs_mod_LDFLAGS): Likewise.
33778 (ufs1_mod_SOURCES): New variable.
33779 (ufs1_mod_CFLAGS): Likewise.
33780 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 33781 (ufs2_mod_SOURCES): New variable.
33782 (ufs2_mod_CFLAGS): Likewise.
33783 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 33784 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
33785 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33786 Likewise.
33787 (grub_emu_SOURCES): Likewise.
33788 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33789 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33790 (grub_setup_SOURCES): Likewise.
33791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33792 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
33793 (grub_setup_SOURCES): Likewise.
33794 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33795 Likewise.
33796 * fs/ufs2.c: New file.
33797 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
33798
d3539132 337992009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33800
33801 Framebuffer split.
33802
33803 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
33804 subsystem at the end.
33805 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
33806 (video_fb_mod_SOURCES): New variable.
33807 (video_fb_mod_CFLAGS): Likewise.
33808 (video_fb_mod_LDFLAGS): Likewise.
33809 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
33810 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
33811 * video/i386/pc/vbeblit.c: Moved from here ...
33812 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
33813 * video/i386/pc/vbefill.c: Moved from here ...
33814 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
33815 * video/i386/pc/vbeutil.c: Moved from here ...
33816 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
33817 * include/grub/i386/pc/vbeblit.h: Moved from here ...
33818 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
33819 * include/grub/i386/pc/vbefill.h: Moved from here ...
33820 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
33821 * include/grub/i386/pc/vbeutil.h: Moved from here ...
33822 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
33823 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
33824 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
33825 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
33826 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
33827 (grub_video_adapter): Added 'get_info_and_fini'.
33828 (grub_video_get_info_and_fini): New prototype.
33829 (grub_video_set_mode): make modestring const char *.
33830 * loader/i386/linux.c (grub_linux_setup_video): Use
33831 grub_video_get_info_and_fini.
33832 (grub_linux_boot): Move modesetting just before booting.
33833 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
33834 grub_video_get_info_and_fini.
33835 * video/i386/pc/vbe.c: Moved framebuffer part ...
33836 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
33837 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
33838 grub_video_fbstd_colors and grub_video_fb_set_palette.
33839 (grub_video_vbe_init): Clear 'framebuffer' variable and use
33840 grub_video_fb_init.
33841 (grub_video_vbe_fini): Use grub_video_fb_fini.
33842 (grub_video_vbe_setup): Use framebuffer.render_target instead of
33843 render_target and use grub_video_fb_set_active_render_target and
33844 grub_video_fb_set_palette.
33845 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
33846 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
33847 (grub_video_vbe_adapter): Use framebuffer.
33848 * video/video.c (grub_video_get_info_and_fini): New function.
33849 (grub_video_set_mode): Make modestring const char *.
33850 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
33851 values are already initialised.
33852
d404ee56 338532009-08-14 Pavel Roskin <proski@gnu.org>
33854
33855 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
33856 ABS and APPLE_CC.
33857 * boot/i386/pc/diskboot.S: Likewise.
33858 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
33859 sectors allow compilation on MacOSX.
33860 * conf/i386-pc.rmk: Enable unconditional compilation of
33861 lnxboot.img.
33862
9a10df16 338632009-08-13 Colin Watson <cjwatson@ubuntu.com>
33864
33865 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
33866 * util/grub.d/00_header.in: Enter interruptible sleep if
33867 GRUB_HIDDEN_TIMEOUT is set.
33868
be3c9ca7 338692009-08-13 Yves Blusseau <blusseau@zetam.org>
33870
33871 * include/grub/symbol.h: Add the LOCAL macro.
33872 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
33873 starting with "L_".
33874
1f9e557e 338752009-08-13 Pavel Roskin <proski@gnu.org>
33876
9ca62843 33877 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
33878 any modern compilers we support.
33879
1f9e557e 33880 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
33881 Use local labels starting with "L_" so that Apple assembler
33882 knows they are local.
33883
81623db6 338842009-08-10 Robert Millan <rmh.grub@aybabtu.com>
33885
33886 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
33887 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
33888 (bsd_kernel_types): ... this enum.
33889
33890 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
33891 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
33892 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
33893
33894 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
33895 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
33896 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
33897 messages.
33898
f5d35e7a 338992009-08-08 Robert Millan <rmh.grub@aybabtu.com>
33900
33901 * util/grub-dumpdevtree: Moved from here ...
33902 * util/i386/efi/grub-dumpdevtree: ... to here.
33903 (hexify): New function. Converts a string to its hex version.
33904 Generate hex versions of "efi" and "device-properties" by calling
33905 hexify() on the ASCII strings rather than by hardcoding numbers.
33906
d1e1d527 339072009-08-08 Robert Millan <rmh.grub@aybabtu.com>
33908
33909 * fs/jfs.c: Update copyright year.
33910
1ebbe064 339112009-08-08 Felix Zielcke <fzielcke@z-51.de>
33912
33913 * util/grub.d/00_header.in: Fix a comment.
33914 * util/grub.d/10_linux.in: Likewise.
33915 * util/grub.d/10_windows.in: Likewise.
33916 * util/grub.d/10_hurd.in: Likewise.
33917
a78c8d24 339182009-08-08 Felix Zielcke <fzielcke@z-51.de>
33919
33920 * util/grub-mkconfig.in: Allow the user to specify the used font
33921 with GRUB_FONT.
33922
29a6b9e8 339232009-08-08 Pavel Roskin <proski@gnu.org>
33924
b5f16cc4 33925 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
33926 available, xfs.mod needs it now.
33927
2f5cb827 33928 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
33929 the "g" modifier in sed when the intention is to strip something
33930 once. This fixes comparison of kernels with multiple dashes.
33931
29a6b9e8 33932 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
33933 on it. Add missing space before closing bracket. Fix
33934 misleading formatting.
33935
892a3d98 339362009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33937
33938 * docs/grub.texi: Major overhaul. Remove all sections that are
33939 specific to GRUB Legacy, or mostly composed of Legacy-specific
33940 information.
33941
ed94253f 339422009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33943
33944 * docs/version.texi: New file. Provides version information for
33945 grub.texi.
33946
126d6628 339472009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33948
33949 * docs/grub.texi: Update CVS information to SVN.
33950 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
33951
998b5aa9 339522009-08-07 Felix Zielcke <fzielcke@z-51.de>
33953
33954 * util/grub-mkconfig.in: Remove a wrong `fi'.
33955
818e094a 339562009-08-07 Felix Zielcke <fzielcke@z-51.de>
33957
33958 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
33959 (grub_jfs_uuid): New function.
33960 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
33961
b969c52f 339622009-08-07 Felix Zielcke <fzielcke@z-51.de>
33963
33964 * util/grub-mkconfig_lib.in (font_path): Move the functionality
33965 of it to ...
33966 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
33967 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
33968
7a4894cc 339692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33970
33971 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
33972 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
33973 Update all users.
33974
33975 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
33976 not just "vmlinu[zx]".
33977 Moved from here ...
33978 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
33979 all users.
33980
33981 * util/grub.d/10_linux.in (find_latest): Moved from here ...
33982 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
33983 all users.
33984
4e2171f8 339852009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33986
33987 * util/grub.d/10_freebsd.in: Use an absolute device path for
33988 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
33989
6dcfcb32 339902009-08-06 Felix Zielcke <fzielcke@z-51.de>
33991
33992 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
33993 handling of multiple abstraction modules.
33994
f56a8756 339952009-08-04 Robert Millan <rmh.grub@aybabtu.com>
33996
33997 Fix a bug resulting in black screen when loading Linux using a
33998 packed video mode.
33999
34000 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34001 function.
34002
34003 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34004 (grub_vbe_bios_getset_dac_palette_width): New function.
34005 (grub_vbe_bios_get_dac_palette_width)
34006 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34007 grub_vbe_bios_getset_dac_palette_width()).
34008
34009 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34010 check for return status.
34011 (grub_vbe_get_video_mode_info): When getting information for a packed
34012 mode (<= 8 bpp), obtain DAC palette width using
34013 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34014 {red,green,blue}_mark_size.
34015
222671b2 340162009-08-04 Felix Zielcke <fzielcke@z-51.de>
34017
ecb1a6d9 34018 * commands/search.c (options): Fix help output to match actual code.
222671b2 34019
f84114f5 340202009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34021
34022 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34023 of homegrown code.
34024
bd288a20 340252009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34026
34027 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34028 on XFS or ReiserFS.
34029
8aab5e25 340302009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34031
34032 Support Apple partition map with sector size different from 512 bytes.
34033
34034 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34035 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34036 and 'apart.partmap_size'.
34037
6ad6258a 340382009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
340392009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34040
34041 Fix cpuid command.
34042
34043 * commands/i386/cpuid.c (options): New variable.
34044 (grub_cmd_cpuid): Return real error.
34045 (GRUB_MOD_INIT(cpuid)): Declare options.
34046
67459bc6 340472009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34048
34049 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34050 valid.
34051
fbc6ab54 340522009-07-31 Bean <bean123ch@gmail.com>
34053
34054 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34055 log2_inode.
34056 (grub_fshelp_node): Move inode field to the end.
34057 (grub_xfs_data): Remove inode field.
34058 (grub_xfs_inode_block): Calculate inode size using sblock.
34059 (grub_xfs_inode_offset): Likewise.
34060 (grub_xfs_read_inode): Calculate inode size using sblock.
34061 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34062 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34063 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34064 to match inode size.
34065 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34066 not accessible when data is null.
34067 (grub_xfs_open): Likewise.
34068
f45d6cfc 340692009-07-31 Bean <bean123ch@gmail.com>
34070
34071 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34072 Don't change pv->disk if it's already set.
34073
34074 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34075 (grub_raid_register): ... here.
34076 (grub_raid_rescan): Removed.
34077
34078 * include/grub/raid.h (grub_raid_rescan): Removed.
34079
34080 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34081 (fstest): Replace grub_raid_rescan with module fini function followed
34082 by init function.
34083
34084 * util/grub-probe.c: Add include file <grub/raid.h>.
34085 (probe_raid_level): New function.
34086 (probe): Detect abstraction by walking the disk device, support two
34087 level of abstraction (LVM on RAID) when detecting partition map.
34088
24443b5a 340892009-07-31 Pavel Roskin <proski@gnu.org>
34090
34091 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34092 to grub_zalloc(), it was erroneous.
34093 Reported by Bean <bean123ch@gmail.com>
34094
a275d9e7 340952009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34096
34097 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34098 embedding zone, not only the first one.
a275d9e7 34099
56c5a47f 341002009-07-29 Joe Auricchio <jauricchio@gmail.com>
34101
34102 * term/gfxterm.c (clear_char): New function.
34103 (grub_virtual_screen_setup): Use clear_char.
34104 (scroll_up): Likewise.
34105 (grub_virtual_screen_cls): Likewise.
34106
67bb323a 341072009-07-29 Felix Zielcke <fzielcke@z-51.de>
34108
34109 * util/deviceiter.c (get_acceleraid_disk_name): New static
34110 function.
34111 (grub_util_iterate_devices): Handle Accelraid devices.
34112 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34113
388a7c75 341142009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34115
34116 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34117 separator for the suggested gfxpayload string (';' collides with the
34118 parser and needs escaping).
34119
3bb7abcf 341202009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34121
34122 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34123 Clear direction flag before jumping to OS.
34124 (grub_multiboot2_real_boot): Likewise.
34125
2ddd36d7 341262009-07-28 Felix Zielcke <fzielcke@z-51.de>
34127
34128 * util/i386/pc/grub-install: Fix parsing of --disk-module
34129 option.
34130
c521b62b 341312009-07-28 Felix Zielcke <fzielcke@z-51.de>
34132
34133 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34134 when embedding.
34135
880e0a0c 341362009-07-26 Felix Zielcke <fzielcke@z-51.de>
34137
34138 * util/grub-mkconfig.in (package_version): New variable.
34139 Use it do display the version.
34140
2366e356 341412009-07-25 Felix Zielcke <fzielcke@z-51.de>
34142
34143 * kern/file.c (grub_file_open): Revert to previous check with
34144 grub_errno.
34145
7ad8c80e 341462009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34147
34148 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34149 from help line. It's out of sync with code.
34150
72b9658b 341512009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34152
34153 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34154 entries on failed boot.
34155
77435277 341562009-07-25 Felix Zielcke <fzielcke@z-51.de>
34157
34158 * kern/file.c (grub_file_open): Fix an error check.
34159
fcaa8b21 341602009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34161
35d16c74 34162 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34163 partition map couldn't be identified.
fcaa8b21 34164
48904cd1 341652009-07-23 Pavel Roskin <proski@gnu.org>
34166
ef3c317f 34167 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34168 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34169 case of little endian words becomes just an optimization.
34170 Respect const modifier.
ad8ea1f4 34171 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34172
48904cd1 34173 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34174 to avoid loss of upper bits if align is unsigned and shorter
34175 than addr.
34176
260c9a89 341772009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34178
34179 UUID support for UFS
34180
34181 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34182 (grub_ufs_uuid): New function.
34183 (grub_ufs_fs): add .uuid
34184
f76ce889 341852009-07-21 Pavel Roskin <proski@gnu.org>
34186
34187 * kern/dl.c (grub_dl_check_header): Make static.
34188
6a6cbcaf 341892009-07-21 Felix Zielcke <fzielcke@z-51.de>
34190
34191 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34192 add drivemap for Vista. It breaks Windows 7.
34193
cffcddb2 341942009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34195
34196 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34197 128 bytes
34198
1ef44b80 341992009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34200
34201 Add BFS support
34202
34203 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34204 (grub_fstest_SOURCES): Likewise.
34205 (pkglib_MODULES): Add befs.mod.
34206 (befs_mod_SOURCES): New variable.
34207 (befs_mod_CFLAGS): Likewise.
34208 (befs_mod_LDFLAGS): Likewise.
34209 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34210 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34211 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34212 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34213 (grub_setup_SOURCES): Likewise.
34214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34215 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34216 (grub_setup_SOURCES): Likewise.
34217 * fs/befs.c: New file.
34218 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34219 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34220 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34221 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34222 (B_KEY_INDEX_ALIGN): New declaration.
34223 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34224 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34225 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34226 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34227 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34228 (grub_afs_mount) [MODE_BFS]: Likewise.
34229 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34230 (grub_afs_fs): Use GRUB_AFS_FSNAME
34231 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34232 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34233 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34234 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34235
4f253044 342362009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34237
34238 * util/getroot.c (find_root_device): Add support for MacOSX.
34239 * util/hostdisk.c: Likewise.
34240
57a55913 342412009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34242
34243 * font/font.c (find_glyph): Check whether a font is present to avoid
34244 segmentation fault.
75421ca9 34245
342462009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34247
34248 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34249
e98cd0c2 342502009-07-20 Pavel Roskin <proski@gnu.org>
34251
34252 * configure.ac: Trim excessively wordy excuses.
34253
1d2d169a 342542009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34255
34256 Add symlink, mtime and label support to AtheFS.
34257
34258 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34259 (grub_afs_iterate_dir): Handle symlinks.
34260 (grub_afs_open): Use grub_afs_read_symlink.
34261 (grub_afs_dir): Likewise.
34262 Pass mtime.
34263 (grub_afs_label): New function.
34264 (grub_afs_fs): Add grub_afs_label.
34265 (grub_afs_read_symlink): New function.
34266
186f3189 342672009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34268
34269 Fix AtheFS support.
34270
34271 * fs/afs.c: Fix comments style.
34272 (grub_afs_blockrun): Declare as packed.
34273 (grub_afs_datastream): Likewise.
34274 (grub_afs_bnode): Likewise.
34275 (grub_afs_btree): Likewise.
34276 (grub_afs_sblock): Likewise.
34277 Declare `name' as char.
34278 (grub_afs_inode): Declare as packed.
34279 Change void *vnode to grub_uint32_t unused.
34280 (grub_afs_iterate_dir): Check that key_size is positive.
34281 (grub_afs_mount): Don't read superblock twice.
75421ca9 34282 (grub_afs_dir): Don't free node in case of error,
186f3189 34283 grub_fshelp_find_file already handles this.
34284 (grub_afs_open): Likewise.
34285
5680109e 342862009-07-19 Pavel Roskin <proski@gnu.org>
34287
34288 * Makefile.in: Remove LIBLZO and enable_lzo.
34289 * conf/i386-pc.rmk: Remove lzo support.
34290 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34291 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34292 support.
34293 * kern/i386/pc/lzo1x.S: Remove.
34294 * kern/i386/pc/startup.S: Remove lzo support.
34295 * util/i386/pc/grub-mkimage.c: Likewise.
34296
ac70fa32 342972009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34298
34299 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34300 * fs/xfs.c (grub_xfs_dir): Likewise.
34301 * fs/afs.c (grub_afs_dir): Likewise.
34302 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34303 (grub_iso9660_open): Likewise.
34304 * fs/jfs.c (grub_jfs_open): Likewise.
34305 * fs/ext2.c (grub_ext2_dir): Likewise.
34306 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34307 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34308
eab58da2 343092009-07-16 Pavel Roskin <proski@gnu.org>
34310
d2838156 34311 * configure.ac: Never add "-c" to CFLAGS.
34312
55c70904 34313 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34314
43e6200c 34315 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34316 grub_cv_cc_efiemu should be used.
34317
ce7a733d 34318 * configure.ac: Typo fixes.
34319
eab58da2 34320 * kern/mm.c (grub_zalloc): New function.
34321 (grub_debug_zalloc): Likewise.
34322 * include/grub/mm.h: Declare grub_zalloc() and
34323 grub_debug_zalloc().
34324 * util/misc.c (grub_zalloc): New function.
34325 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34326 instead of grub_malloc(), remove unneeded initializations.
34327 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34328 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34329 * commands/parttool.c (grub_cmd_parttool): Likewise.
34330 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34331 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34332 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34333 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34334 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34335 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34336 (grub_cmd_efiemu_pnvram): Likewise.
34337 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34338 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34339 (grub_iso9660_iterate_dir): Likewise.
34340 * fs/jfs.c (grub_jfs_opendir): Likewise.
34341 * fs/ntfs.c (list_file): Likewise.
34342 (grub_ntfs_mount): Likewise.
34343 * kern/disk.c (grub_disk_open): Likewise.
34344 * kern/dl.c (grub_dl_load_core): Likewise.
34345 * kern/elf.c (grub_elf_file): Likewise.
34346 * kern/env.c (grub_env_context_open): Likewise.
34347 (grub_env_set): Likewise.
34348 (grub_env_set_data_slot): Likewise.
34349 * kern/file.c (grub_file_open): Likewise.
34350 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34351 * loader/i386/multiboot.c (grub_module): Likewise.
34352 * loader/xnu.c (grub_xnu_create_key): Likewise.
34353 (grub_xnu_create_value): Likewise.
34354 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34355 (read_config_file): Likewise.
34356 * normal/menu_entry.c (make_screen): Likewise.
34357 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34358 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34359 * script/sh/script.c (grub_script_parse): Likewise.
34360 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34361 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34362 * video/readers/png.c (grub_png_output_byte): Likewise.
34363 (grub_video_reader_png): Likewise.
34364
830afef7 343652009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34366
34367 Enable all targets that can be built by default
34368
830afef7 34369 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34370 grub-mkfont and grub-fstest if they can be built
34371
ee293aee 343722009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34373
34374 Fix hang and segmentation fault in grub-emu-usb
34375
34376 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34377 * util/usb.c (grub_libusb_devices): likewise
34378 (grub_libusb_init): rename to ...
34379 (GRUB_MOD_INIT (libusb)):...this
34380 (grub_libusb_fini): rename to ..
34381 (GRUB_MOD_FINI (libusb)):...this
34382 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34383 * include/grub/disk.h (grub_raid_init): removed, it's useless
34384 (grub_raid_fini): likewise
34385 (grub_lvm_init): likewise
34386 (grub_lvm_fini): likewise
34387 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34388 by grub_init_all
34389
94414221 343902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34391
34392 Fix libusb
34393
34394 * Makefile.in (LIBUSB): new macro
34395 * genmk.rb (Utility/print_tail): new method
34396 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34397 (top level): call util.print_tail at the end.
34398
59ade63d 343992009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34400
34401 Make FreeBSD accept zpool.cache
34402
34403 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34404 type is /boot/zfs/zpool.cache
34405
a58da8c7 344062009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34407
34408 Fix 64-bit efiemu
34409
34410 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34411 correct wrong typedef
34412 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34413
20591577 344142009-07-15 Pavel Roskin <proski@gnu.org>
34415
560ca572 34416 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34417 * kern/disk.c (struct grub_disk_cache): Likewise.
34418
e8e8e4fd 34419 * commands/probe.c (options): Typo fix.
34420
fde24e10 34421 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34422 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34423 accordingly.
34424 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34425
379c54c1 34426 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34427 the end of "Error" to make the message more readable.
34428
7bd8f5bf 34429 * boot/i386/pc/boot.S (kernel_segment): Remove.
34430 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34431 for destination.
34432
40b132c5 34433 * boot/i386/pc/boot.S (boot_version): Remove.
34434 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34435 Remove.
34436
20591577 34437 * include/grub/i386/pc/boot.h: Sort all offsets.
34438 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34439 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34440 * boot/i386/pc/boot.S: Assert location of every offset listed in
34441 include/grub/i386/pc/boot.h.
34442
2df32b2c 344432009-07-13 Pavel Roskin <proski@gnu.org>
34444
44b5d879 34445 * include/grub/i386/coreboot/machine.h: Rename
34446 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34447 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34448 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34449
17dc3751 34450 * kern/dl.c: Force native word size to suppress warnings when
34451 compiling grub-emu.
34452
2df32b2c 34453 * kern/device.c (grub_device_iterate): Change struct part_ent to
34454 hold the name, not a pointer to it. Use one grub_malloc() per
34455 partition, not two. Free partition_name if grub_malloc() fails.
34456 Set ents to NULL only before grub_partition_iterate() is called.
34457
75c59f59 344582009-07-11 Bean <bean123ch@gmail.com>
34459
34460 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34461 childname.
34462
0ae1bf88 344632009-07-10 Bean <bean123ch@gmail.com>
344642009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34465
34466 * kern/ieee1275/openfw.c (grub_children_iterate)
34467 (grub_devalias_iterate): Fix size evaluation for property or path
34468 strings, which was broken since r2132.
34469
8279cade 344702009-07-07 Pavel Roskin <proski@gnu.org>
34471
7d8a52d3 34472 * commands/search.c (search_file): Merge into ...
34473 (search_fs): ... this. Accept search type as argument.
34474 (grub_cmd_search): Pass search type to search_fs().
34475
25f9a05a 34476 * include/grub/util/console.h: New file.
34477 * util/console.c: Use it instead of grub/machine/console.h.
34478 * util/grub-emu.c: Likewise.
34479
8279cade 34480 * lib/arg.c (find_long_option): Remove.
34481 (find_long): Add `len' argument, make `s' const char *.
34482 (grub_arg_parse): Parse long options in place, not in a
34483 temporary buffer.
34484
4a11b60f 344852009-07-06 Pavel Roskin <proski@gnu.org>
34486
99f68041 34487 * commands/search.c (search_fs): Fix potential NULL pointer
34488 dereference.
34489
4a11b60f 34490 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34491 function pointer.
34492
e110f4de 344932009-07-06 Daniel Mierswa <impulze@impulze.org>
34494
34495 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34496 comparison.
34497
46eeb6a2 344982009-07-05 Pavel Roskin <proski@gnu.org>
34499
bab74958 34500 * include/grub/i386/linux.h (struct linux_kernel_params):
34501 Restore padding3, it's still needed.
34502
46eeb6a2 34503 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34504 FreeBSD.
34505 * util/osdetect.lua: Likewise.
34506
b4a1dc79 345072009-07-05 Bean <bean123ch@gmail.com>
34508
34509 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34510
34511 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34512 (grub_lua_getenv): Likewise.
34513 (grub_lua_setenv): Likewise.
34514 (save_errno): New function.
34515 (push_result): Likewise.
34516 (grub_lua_enum_device): Likewise.
34517 (grub_lua_enum_file): Likewise.
34518 (grub_lua_file_open): Likewise.
34519 (grub_lua_file_close): Likewise.
34520 (grub_lua_file_seek): Likewise.
34521 (grub_lua_file_read): Likewise.
34522 (grub_lua_file_getline): Likewise.
34523 (grub_lua_file_getsize): Likewise.
34524 (grub_lua_file_getpos): Likewise.
34525 (grub_lua_file_eof): Likewise.
34526 (grub_lua_file_exist): Likewise.
34527 (grub_lua_add_menu): Likewise.
34528
34529 * script/lua/grub_lua.h (isupper): New inline function.
34530 (islower): Likewise.
34531 (ispunct): Likewise.
34532 (isxdigit): Likewise.
34533 (strcspn): Change to normal function.
34534 (strpbkr): New function declaration.
34535 (memchr): Likewise.
34536
34537 * script/lua/grub_main.c (scan_str): New function.
34538 (strcspn): Likewise.
34539 (strpbrk): Likewise.
34540 (memchr): Likewise.
34541
34542 * script/lua/linit.c (lualibs): Enable the string library.
34543
34544 * util/osdetect.lua: New file.
34545
2da92295 345462009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34547
34548 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34549 `capabilities' member.
34550
b2582ec9 345512009-07-02 Pavel Roskin <proski@gnu.org>
34552
34553 * genparttoollist.sh: Add missing newline at the end.
34554
32622956 345552009-07-01 Pavel Roskin <proski@gnu.org>
34556
87a7339e 34557 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34558
d23af54e 34559 * util/hostdisk.c (open_device): Remove `const' from
34560 `sysctl_size', as sysctlbyname() can change it (in this case it
34561 doesn't actually happen).
34562
c94b18a9 34563 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34564 using signed long int constants.
34565
c6cd3ef0 34566 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34567 constant to avoid a warning on FreeBSD.
34568
0df63420 34569 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34570 where it's needed.
34571
999577f1 34572 * Makefile.in: Install include/grub/machine symlink.
34573
6f41557f 34574 * Makefile.in: When installing symlinks, use "cp -fR", which
34575 works on FreeBSD and MacOSX.
34576 From Yves Blusseau <cl7m42e02@sneakemail.com>
34577
c8d22988 34578 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34579 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34580
1b96e952 34581 * util/misc.c: Move grub_reboot() and grub_halt() ...
34582 * util/grub-emu.c: ... here. Make main_env static.
34583 * include/grub/util/misc.h: Remove main_env.
34584
2ef0084d 34585 * kern/mm.c: Use correct format to print size_t.
34586
32622956 34587 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34588 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34589 * kern/powerpc/dl.c: Likewise.
34590 * kern/sparc64/dl.c: Likewise.
34591 * kern/x86_64/dl.c: Likewise.
34592
3f7f0cd0 345932009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34594
34595 Fix grub-emu build on sparc64-ieee1275.
34596
75421ca9 34597 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 34598 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34599
211d06b5 346002009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34601
34602 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34603 (grub_reboot, grub_halt): New functions.
34604
34605 * util/i386/pc/misc.c: Delete. Update all users.
34606 * util/sparc64/ieee1275/misc.c: Likewise.
34607 * util/powerpc/ieee1275/misc.c: Likewise.
34608
aaf53e3c 346092009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34610
34611 * conf/i386.rmk (setjmp_mod_SOURCES)
34612 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34613 * conf/common.rmk (setjmp_mod_SOURCES)
34614 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34615 to use $(target_cpu).
34616 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34617 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34618 * conf/powerpc-ieee1275.rmk: Likewise.
34619 * conf/sparc64-ieee1275.rmk: Likewise.
34620
34621 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34622 $(target_cpu) for kern/$(target_cpu)/dl.c.
34623 * conf/i386-efi.rmk: Likewise.
34624 * conf/i386-ieee1275.rmk: Likewise.
34625 * conf/x86_64-efi.rmk: Likewise.
34626 * conf/i386-coreboot.rmk: Likewise.
34627 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34628 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34629 kern/$(target_cpu)/cache.S.
34630 * conf/sparc64-ieee1275.rmk: Likewise.
34631
a337130b 346322009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34633
34634 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34635 type to `grub_uint8_t', and adjust `padding9' accordingly.
34636
c6fe4d53 346372009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34638
b09db61d 34639 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34640
c6fe4d53 34641 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34642 assembly in final jump, using register constraints.
34643
b09db61d 34644 (grub_linux_boot): For text mode, initialize `have_vga' using
34645 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34646
34647 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34648 right before the final jump.
34649
34650 Set `video_mode' to 0x3.
34651
34652 Document initialization of `video_page', `video_mode' and
34653 `video_ega_bx'.
34654
28333ad0 346552009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34656
34657 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34658 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 34659 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 34660
02164e1b 346612009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34662
34663 Fix build on Debian / sparc.
34664
34665 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34666
18b6c557 346672009-06-28 Pavel Roskin <proski@gnu.org>
34668
85f2aab6 34669 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34670 fix a warning.
34671
18b6c557 34672 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34673
ad760f81 346742009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34675
34676 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
34677 `err'.
34678
87a4623b 346792009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34680
34681 Revert r2338.
34682
34683 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
34684 file can't be opened. grub_file_open() is already supposed to set
75421ca9 34685 grub_errno / grub_errmsg appropriately.
87a4623b 34686 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34687
8231fb77 346882009-06-27 Pavel Roskin <proski@gnu.org>
346892009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34690
34691 * include/grub/dl.h: Include grub/elf.h.
34692 (struct grub_dl): Add symtab field.
34693 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
34694 GRUB_MODULES_MACHINE_READONLY.
34695 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
34696 of the header for read-only modules.
34697 (grub_dl_unload): Free mod->symtab for read-only modules.
34698 * kern/i386/dl.c: Use mod->symtab.
34699 * kern/powerpc/dl.c: Likewise.
34700 * kern/sparc64/dl.c: Likewise.
34701 * kern/x86_64/dl.c: Likewise.
34702
34703 * conf/i386-qemu.rmk: New file.
34704 * kern/i386/qemu/startup.S: Likewise.
34705 * kern/i386/qemu/mmap.c: Likewise.
34706 * boot/i386/qemu/boot.S: Likewise.
34707 * include/grub/i386/qemu/time.h: Likewise.
34708 * include/grub/i386/qemu/serial.h: Likewise.
34709 * include/grub/i386/qemu/kernel.h: Likewise.
34710 * include/grub/i386/qemu/console.h: Likewise.
34711 * include/grub/i386/qemu/boot.h: Likewise.
34712 * include/grub/i386/qemu/init.h: Likewise.
34713 * include/grub/i386/qemu/machine.h: Likewise.
34714 * include/grub/i386/qemu/loader.h: Likewise.
34715 * include/grub/i386/qemu/memory.h: Likewise.
34716
34717 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
34718 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
34719 [qemu] (pkglib_IMAGES): Add `boot.img'.
34720 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
34721 [qemu] (boot_img_FORMAT): New variables.
34722 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
34723 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
34724 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
34725 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
34726 [qemu] (kernel_img_FORMAT): New variables.
34727
34728 * configure.ac: Recognise `i386-qemu'.
34729
34730 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
34731 (for no compression).
34732 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
34733 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
34734 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
34735 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
34736 ifdefs).
34737
97fe384e 347382009-06-27 Pavel Roskin <proski@gnu.org>
34739
34740 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
34741 read.
34742 * efiemu/prepare32.c: Likewise.
34743 * efiemu/prepare64.c: Likewise.
34744
c402ab17 347452009-06-26 Pavel Roskin <proski@gnu.org>
34746
34747 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
34748 * include/grub/elf.h: Define symbols without "32" or "64" based
34749 on GRUB_TARGET_WORDSIZE.
34750 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
34751 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
34752 ELF definitions.
34753 * efiemu/loadcore64.c: Likewise.
34754 * loader/i386/bsd32.c: Likewise.
34755 * loader/i386/bsd64.c: Likewise.
34756 * kern/dl.c: Remove own ELF definitions.
34757 * util/i386/efi/grub-mkimage.c: Likewise.
34758
9bbdfd4d 347592009-06-23 Robert Millan <rmh.grub@aybabtu.com>
34760
34761 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
34762 segment 0x0 unconditionally, because the reference generated by
34763 GAS is an absolute address.
34764
a42ce6e9 347652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34766
34767 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
34768 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
34769
c952cf92 347702009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34771
34772 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
34773 indexes. Check for -f explicitly.
cc3752ad 34774 (search_file): Improve error message.
34775 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 34776
132a0a59 347772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34778
34779 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
34780 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
34781
387a140c 347822009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34783
34784 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
34785 * conf/i386-ieee1275.rmk: Likewise.
34786 * conf/i386-coreboot.rmk: Likewise.
34787
34788 * kern/i386/pc/startup.S (grub_stop): Remove function.
34789 * kern/i386/ieee1275/startup.S: Likewise.
34790 * kern/i386/coreboot/startup.S: Likewise.
34791 * kern/i386/misc.S (grub_stop): New function.
34792
41da9665 347932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34794
34795 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
34796 * kern/i386/realmode.S (real_to_prot): ... to here.
34797
bf337234 347982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34799
34800 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
34801 with `kernel.img'.
34802 (kernel_elf_SOURCES): Rename to ...
34803 (kernel_img_SOURCES): ... this.
34804 (kernel_elf_HEADERS): Rename to ...
34805 (kernel_img_HEADERS): ... this. Update all users.
34806 (kernel_elf_ASFLAGS): Rename to ...
34807 (kernel_img_ASFLAGS): ... this.
34808 (kernel_elf_CFLAGS): Rename to ...
34809 (kernel_img_CFLAGS): ... this.
34810 (kernel_elf_LDFLAGS): Rename to ...
34811 (kernel_img_LDFLAGS): ... this.
34812 * conf/i386-coreboot.rmk: Likewise.
34813 * conf/powerpc-ieee1275.rmk: Likewise.
34814
34815 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
34816 with "kernel.img".
34817
f52196ff 348182009-06-21 Pavel Roskin <proski@gnu.org>
34819
c3cee413 34820 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
34821 to match nested functions.
34822 * loader/sparc64/ieee1275/linux.c: Likewise.
34823
f52196ff 34824 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
34825
58750afc 348262009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34827
34828 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
34829 all i386 platforms.
34830
15355c7d 348312009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34832
34833 Fix asm file handling on ELF, and remove workarounds.
34834
34835 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 34836 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 34837 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
34838 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
34839
3f3ec72b 348402009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
34841
34842 Load BSD ELF modules
34843
34844 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
34845 and loader/i386/bsd64.c
34846 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
34847 (FREEBSD_MODTYPE_ELF_MODULE): New definition
34848 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
34849 (grub_freebsd_load_elfmodule32): New declaration
34850 (grub_freebsd_load_elfmoduleobj64): Likewise
34851 (grub_freebsd_load_elf_meta32): Likewise
34852 (grub_freebsd_load_elf_meta64): Likewise
34853 (grub_freebsd_add_meta): Likewise
34854 (grub_freebsd_add_meta_module): Likewise
34855 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
34856 (grub_freebsd_add_meta_module): Likewise and move module-specific
34857 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
34858 (grub_cmd_freebsd): Add elf-kernel specific parts
34859 based on grub_freebsd_add_meta_module
34860 (grub_cmd_freebsd_module): Add type parsing moved from
34861 grub_freebsd_add_meta_module
34862 (grub_cmd_freebsd_module_elf): New function
34863 (cmd_freebsd_module_elf): New variable
34864 (GRUB_MOD_INIT): Register freebsd_module_elf
34865 * loader/i386/bsd32.c: New file
34866 * loader/i386/bsd64.c: Likewise
34867 * loader/i386/bsdXX.c: Likewise
34868 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
34869 (grub_elf64_load): Likewise
34870 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
34871 All users updated
34872 (grub_elf64_load_hook_t): Likewise
34873
0db15301 348742009-06-21 Colin Watson <cjwatson@ubuntu.com>
34875
34876 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
34877 variable.
34878 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
34879 don't write a menu entry for recovery mode.
34880
546796c1 348812009-06-20 Robert Millan <rmh.grub@aybabtu.com>
34882
34883 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
34884 after it's no longer needed.
34885
cd7310d5 348862009-06-20 Robert Millan <rmh.grub@aybabtu.com>
34887
34888 * include/grub/i386/loader.h (grub_linux_prot_size)
34889 (grub_linux_tmp_addr, grub_linux_real_addr)
34890 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
34891 GRUB_MACHINE_PCBIOS.
34892 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
34893 common grub_util_info() call to ...
34894 (generate_image): ... here.
34895 Fix use of uninitialized memory, comparison of signed with
34896 unsigned integers and memory leak.
34897 Remove bogus module address message.
34898
ab32d3b5 348992009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
34900
34901 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
34902 grub_raid_register
34903 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
34904
024ef597 349052009-06-19 Pavel Roskin <proski@gnu.org>
34906
34907 * configure.ac: Remove stray AC_MSG_CHECKING.
34908
3ac72b51 349092009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
34910
34911 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 34912
e14cd814 349132009-06-18 Pavel Roskin <proski@gnu.org>
34914
34915 * conf/common.rmk: Add fs_file.mod.
34916 * disk/fs_file.c: New file.
34917 * include/grub/disk.h (enum grub_disk_dev_id): Add
34918 GRUB_DISK_DEVICE_FILE_ID.
34919
26586d98 349202009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34921
34922 Fix build with Apple's toolchain. Part 2
34923
34924 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
34925 a fake start
34926
26de2bcd 349272009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34928
34929 Fix build with Apple's toolchain. Part 1
34930
34931 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
34932 for long calls
34933 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 34934 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 34935 Apple's toolchain
34936
09b3490b 349372009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34938
34939 Fix warnings
34940
34941 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
34942 (decomp_block): initialize ch
34943 use grub_memcpy instead of memcpy
34944
c22a006a 349452009-06-17 Pavel Roskin <proski@gnu.org>
34946
d3638678 34947 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
34948 version, use declarations needed to use vga_text as the startup
34949 console.
34950
c22a006a 34951 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
34952 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
34953 the kernel.
34954 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
34955 and grub_at_keyboard_fini(), it's done on module load and
34956 unload.
34957
05b129e0 349582009-06-17 Felix Zielcke <fzielcke@z-51.de>
34959
34960 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
34961 file can't be found.
34962 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34963
cf24ed9e 349642009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34965
34966 Fix newline handling
34967
34968 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 34969 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 34970 (grub_script_yylex): don't segfault on unterminated script
34971 newline terminates command and variable
34972
74aa8e4b 349732009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34974
34975 avoid double grub_adjust_range call. Bug reported by David Simner
34976
34977 * kern/disk.c (grub_disk_write): change to raw disk access before
34978 calling disk_read
34979
1bd265f3 349802009-06-17 Colin Watson <cjwatson@ubuntu.com>
34981
34982 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
34983 spaces, for the benefit of help2man.
34984 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34985
a2d08c06 349862009-06-16 Pavel Roskin <proski@gnu.org>
34987
34988 * kern/i386/halt.c: Include grub/machine/init.h.
34989 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
34990
b97bcb19 349912009-06-16 Felix Zielcke <fzielcke@z-51.de>
34992
34993 * util/grub.d/30_os-prober.in: Use ${root} in the generated
34994 drivemap menuentry.
34995
0644f96c 349962009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
34997
34998 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
34999 `echo' command.
35000
3ef17a2e 350012009-06-16 Pavel Roskin <proski@gnu.org>
35002
35003 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35004 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35005 save %dx, we only need %dl and we never change it.
35006 * boot/i386/pc/cdboot.S: Don't set the root drive.
35007 * boot/i386/pc/pxeboot.S: Likewise.
35008 * include/grub/i386/pc/boot.h: Remove
35009 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35010 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35011 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35012 * kern/i386/pc/init.c (make_install_device): Remove references
35013 to grub_root_drive.
35014 * kern/i386/pc/startup.S: Likewise.
35015 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35016
693fe637 350172009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35018
35019 xnu_uuid command
35020
35021 * commands/xnu_uuid.c: new file
35022 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35023 (xnu_uuid_mod_SOURCES): new variable
35024 (xnu_uuid_mod_CFLAGS): likewise
35025 (xnu_uuid_mod_LDFLAGS): likewise
35026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35027 * conf/i386-ieee1275.rmk: likewise
35028 * conf/i386-pc.rmk: likewise
35029 * conf/powerpc-ieee1275.rmk: likewise
35030 * conf/sparc64-ieee1275.rmk: likewise
35031 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35032
c9da87d0 350332009-06-16 Pavel Roskin <proski@gnu.org>
35034
35035 * configure.ac: Avoid '==' in test command, it's not portable.
35036
9c6f4596 350372009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35038
35039 Probe command
35040
35041 * commands/probe.c: new file
35042 * conf/common.rmk (pkglib_MODULES): add probe.mod
35043 (probe_mod_SOURCES): new variable
35044 (probe_mod_CFLAGS): likewise
35045 (probe_mod_LDFLAGS): likewise
35046 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35047 * conf/i386-ieee1275.rmk: likewise
35048 * conf/i386-pc.rmk: likewise
35049 * conf/powerpc-ieee1275.rmk: likewise
35050 * conf/sparc64-ieee1275.rmk: likewise
35051
70b7f9fd 350522009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35053
35054 Fix handling of string like \"hello\" and "a
35055 b"
35056
35057 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35058 (grub_script_yylex): fix parsing of quoting, escaping and newline
35059
71c79a6b 350602009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35061
dd74360c 35062 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35063 handling
dd74360c 35064
0644f96c 350652009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35066
35067 * util/grub-mkconfig.in: Fix parsing of --output option.
35068
e40893c3 350692009-06-12 Pavel Roskin <proski@gnu.org>
35070
35071 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35072 genmk.rb don't need to be generated or installed.
35073
3a1acfe2 350742009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35075
35076 * commands/i386/pc/drivemap_int13h.S: add more comments
35077
3a4575d4 350782009-06-11 Pavel Roskin <proski@gnu.org>
35079
0658e928 35080 * Makefile.in (uninstall): Uninstall manuals.
35081
ca0388f0 35082 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35083 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35084 and update-grub_lib in two places.
35085 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35086
e3b27c39 35087 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35088 a compiler warning.
35089
3a4575d4 35090 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35091 `entry_lo' to fix variable shadowing.
35092
af1f4f55 350932009-06-11 Christian Franke <franke@computer.org>
35094
35095 * kern/misc.c (__enable_execute_stack): Add missing return type
35096 to prevent gcc warning.
35097
5225e649 350982009-06-11 Felix Zielcke <fzielcke@z-51.de>
35099
35100 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35101
7d83bd47 351022009-06-11 Pavel Roskin <proski@gnu.org>
35103
c1cb63ba 35104 * Makefile.in: Don't rely on any scripts being executable.
35105 Always use $(SHELL) to run shell scripts.
35106
7d83bd47 35107 * configure.ac: Always define ___main if using -nostdlib. This
35108 fixes tests on Cygwin.
35109
948f48e7 351102009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35111
35112 UDF fix
35113
7d83bd47 35114 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35115 is in bytes and not in blocks
7d83bd47 35116
8ada9bc1 351172009-06-11 Pavel Roskin <proski@gnu.org>
35118
35119 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35120 warning.
35121
25ad2323 351222009-06-11 Felix Zielcke <fzielcke@z-51.de>
35123
35124 * util/grub.d/30_os-prober.in: Fix a comment. Source
35125 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35126 to set the root device. Place drivemap command in the generated
35127 chain entry.
35128
e65acb0c 351292009-06-11 Pavel Roskin <proski@gnu.org>
35130
35131 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35132 have long been resolved.
35133
f285fe2d 351342009-06-11 Colin Watson <cjwatson@ubuntu.com>
35135
bd47b0b5 35136 * util/grub.d/10_linux.in: Capitalise "Linux".
35137
f285fe2d 35138 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35139
a0c62e4e 351402009-06-11 Pavel Roskin <proski@gnu.org>
35141
b6783cb2 35142 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35143 fix a gcc warning and ensure that the function won't ever exit.
35144
dde032e8 35145 * kern/i386/ieee1275/init.c: Add missing prototype for
35146 grub_stop_floppy().
35147
22cd079d 35148 * loader/ieee1275/multiboot2.c [__i386__]: Include
35149 grub/cpu/multiboot.h.
35150
a0c62e4e 35151 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35152 casts to short - they are not portable and cause warnings. Fix
35153 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35154
63963d17 351552009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35156
35157 Drivemap fixes
35158
35159 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35160 new function
35161 (grub_get_root_biosnumber_saved): new variable
35162 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35163 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35164 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35165 %dx after the call if necessary
35166 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35167 (boot_mod_SOURCES): remove
35168 (boot_mod_CFLAGS): remove
35169 (boot_mod_LDFLAGS): remove
35170 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35171 (boot_mod_SOURCES): new variable
35172 (boot_mod_CFLAGS): likewise
35173 (boot_mod_LDFLAGS): likewise
35174 * conf/i386-efi.rmk: likewise
35175 * conf/i386-ieee1275.rmk: likewise
35176 * conf/i386-pc.rmk: likewise
35177 * conf/powerpc-ieee1275.rmk: likewise
35178 * conf/sparc64-ieee1275.rmk: likewise
35179 * conf/x86_64-efi.rmk: likewise
35180 * include/grub/i386/pc/biosnum.h: new file
35181 * lib/i386/pc/biosnum.c: likewise
35182 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35183 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35184 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35185
33abf7ae 351862009-06-10 Pavel Roskin <proski@gnu.org>
35187
5ac35b35 35188 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35189 Use separate variables. Read only the file size at the end, but
35190 not the checksum that we don't use.
35191
5c5215d5 35192 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35193 Adjust all callers.
35194
27d5fef7 35195 * kern/ieee1275/openfw.c: Remove libc includes.
35196 * kern/ieee1275/cmain.c: Likewise.
35197 * include/grub/ieee1275/ieee1275.h: Likewise.
35198
33abf7ae 35199 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35200 compiler warnings.
35201
19d50c2b 352022009-06-10 Felix Zielcke <fzielcke@z-51.de>
35203
35204 * Makefile.in: Remove all trailing whitespace.
35205 * conf/i386-pc.rmk: Likewise.
35206 * conf/powerpc-ieee1275.rmk: Likewise.
35207 * conf/sparc64-ieee1275.rmk: Likewise.
35208 * docs/grub.texi: Likewise.
35209 * docs/texinfo.tex: Likewise.
35210 * disk/fs_uuid.c: Likewise.
35211 * disk/lvm.c: Likewise.
35212 * disk/scsi.c: Likewise.
35213 * disk/ata.c: Likewise.
35214 * disk/ieee1275/ofdisk.c: Likewise.
35215 * disk/i386/pc/biosdisk.c: Likewise.
35216 * disk/host.c: Likewise.
35217 * disk/raid.c: Likewise.
35218 * disk/efi/efidisk.c: Likewise.
35219 * disk/usbms.c: Likewise.
35220 * disk/memdisk.c: Likewise.
35221 * disk/loopback.c: Likewise.
35222 * kern/powerpc/dl.c: Likewise.
35223 * kern/device.c: Likewise.
35224 * kern/dl.c: Likewise.
35225 * kern/sparc64/dl.c: Likewise.
35226 * kern/ieee1275/ieee1275.c: Likewise.
35227 * kern/term.c: Likewise.
35228 * kern/fs.c: Likewise.
35229 * kern/i386/dl.c: Likewise.
35230 * kern/i386/pc/startup.S: Likewise.
35231 * kern/i386/pc/init.c: Likewise.
35232 * kern/i386/pc/mmap.c: Likewise.
35233 * kern/i386/pc/lzo1x.S: Likewise.
35234 * kern/i386/ieee1275/init.c: Likewise.
35235 * kern/i386/realmode.S: Likewise.
35236 * kern/i386/tsc.c: Likewise.
35237 * kern/partition.c: Likewise.
35238 * kern/corecmd.c: Likewise.
35239 * kern/file.c: Likewise.
35240 * kern/efi/efi.c: Likewise.
35241 * kern/efi/init.c: Likewise.
35242 * kern/efi/mm.c: Likewise.
35243 * kern/main.c: Likewise.
35244 * kern/err.c: Likewise.
35245 * kern/env.c: Likewise.
35246 * kern/disk.c: Likewise.
35247 * kern/generic/millisleep.c: Likewise.
35248 * kern/generic/rtc_get_time_ms.c: Likewise.
35249 * kern/misc.c: Likewise.
35250 * kern/parser.c: Likewise.
35251 * genmk.rb: Likewise.
35252 * configure.ac: Likewise.
35253 * boot/i386/pc/diskboot.S: Likewise.
35254 * boot/i386/pc/pxeboot.S: Likewise.
35255 * boot/i386/pc/boot.S: Likewise.
35256 * boot/i386/pc/lnxboot.S: Likewise.
35257 * boot/i386/pc/cdboot.S: Likewise.
35258 * parttool/pcpart.c: Likewise.
35259 * video/readers/tga.c: Likewise.
35260 * video/video.c: Likewise.
35261 * video/bitmap.c: Likewise.
35262 * lib/envblk.c: Likewise.
35263 * lib/i386/setjmp.S: Likewise.
35264 * fs/xfs.c: Likewise.
35265 * fs/afs.c: Likewise.
35266 * fs/fat.c: Likewise.
35267 * fs/ntfs.c: Likewise.
35268 * fs/udf.c: Likewise.
35269 * fs/affs.c: Likewise.
35270 * fs/iso9660.c: Likewise.
35271 * fs/hfs.c: Likewise.
35272 * fs/fshelp.c: Likewise.
35273 * fs/ext2.c: Likewise.
35274 * fs/jfs.c: Likewise.
35275 * fs/reiserfs.c: Likewise.
35276 * fs/hfsplus.c: Likewise.
35277 * fs/minix.c: Likewise.
35278 * fs/cpio.c: Likewise.
35279 * fs/sfs.c: Likewise.
35280 * fs/ufs.c: Likewise.
35281 * efiemu/prepare.c: Likewise.
35282 * efiemu/loadcore_common.c: Likewise.
35283 * efiemu/runtime/efiemu.sh: Likewise.
35284 * efiemu/runtime/efiemu.S: Likewise.
35285 * efiemu/runtime/efiemu.c: Likewise.
35286 * efiemu/pnvram.c: Likewise.
35287 * efiemu/main.c: Likewise.
35288 * efiemu/i386/pc/cfgtables.c: Likewise.
35289 * efiemu/i386/loadcore64.c: Likewise.
35290 * efiemu/i386/loadcore32.c: Likewise.
35291 * efiemu/loadcore.c: Likewise.
35292 * efiemu/symbols.c: Likewise.
35293 * efiemu/mm.c: Likewise.
35294 * include/grub/autoefi.h: Likewise.
35295 * include/grub/datetime.h: Likewise.
35296 * include/grub/term.h: Likewise.
35297 * include/grub/hfs.h: Likewise.
35298 * include/grub/lvm.h: Likewise.
35299 * include/grub/i386/tsc.h: Likewise.
35300 * include/grub/i386/linux.h: Likewise.
35301 * include/grub/i386/xnu.h: Likewise.
35302 * include/grub/i386/efiemu.h: Likewise.
35303 * include/grub/i386/pc/biosdisk.h: Likewise.
35304 * include/grub/i386/pc/memory.h: Likewise.
35305 * include/grub/i386/pc/vbe.h: Likewise.
35306 * include/grub/parttool.h: Likewise.
35307 * include/grub/video.h: Likewise.
35308 * include/grub/memory.h: Likewise.
35309 * include/grub/fs.h: Likewise.
35310 * include/grub/partition.h: Likewise.
35311 * include/grub/xnu.h: Likewise.
35312 * include/grub/efi/api.h: Likewise.
35313 * include/grub/efi/pe32.h: Likewise.
35314 * include/grub/efi/memory.h: Likewise.
35315 * include/grub/multiboot.h: Likewise.
35316 * include/grub/usbdesc.h: Likewise.
35317 * include/grub/multiboot2.h: Likewise.
35318 * include/grub/acpi.h: Likewise.
35319 * include/grub/efiemu/efiemu.h: Likewise.
35320 * include/grub/disk.h: Likewise.
35321 * include/grub/ieee1275/ieee1275.h: Likewise.
35322 * include/grub/net.h: Likewise.
35323 * include/grub/machoload.h: Likewise.
35324 * include/grub/macho.h: Likewise.
35325 * include/multiboot.h: Likewise.
35326 * genmoddep.awk: Likewise.
35327 * normal/main.c: Likewise.
35328 * normal/menu_entry.c: Likewise.
35329 * normal/menu_viewer.c: Likewise.
35330 * normal/completion.c: Likewise.
35331 * normal/cmdline.c: Likewise.
35332 * normal/misc.c: Likewise.
35333 * normal/datetime.c: Likewise.
35334 * bus/usb/usbtrans.c: Likewise.
35335 * bus/usb/ohci.c: Likewise.
35336 * bus/usb/uhci.c: Likewise.
35337 * bus/usb/usb.c: Likewise.
35338 * mmap/efi/mmap.c: Likewise.
35339 * mmap/i386/pc/mmap_helper.S: Likewise.
35340 * mmap/i386/pc/mmap.c: Likewise.
35341 * mmap/i386/mmap.c: Likewise.
35342 * mmap/i386/uppermem.c: Likewise.
35343 * mmap/mmap.c: Likewise.
35344 * commands/acpi.c: Likewise.
35345 * commands/echo.c: Likewise.
35346 * commands/blocklist.c: Likewise.
35347 * commands/loadenv.c: Likewise.
35348 * commands/usbtest.c: Likewise.
35349 * commands/boot.c: Likewise.
35350 * commands/parttool.c: Likewise.
35351 * commands/search.c: Likewise.
35352 * commands/cat.c: Likewise.
35353 * commands/i386/pc/play.c: Likewise.
35354 * commands/i386/pc/drivemap.c: Likewise.
35355 * commands/i386/pc/vbeinfo.c: Likewise.
35356 * commands/i386/pc/acpi.c: Likewise.
35357 * commands/i386/pc/vbetest.c: Likewise.
35358 * commands/ls.c: Likewise.
35359 * commands/cmp.c: Likewise.
35360 * commands/test.c: Likewise.
35361 * commands/efi/acpi.c: Likewise.
35362 * commands/gptsync.c: Likewise.
35363 * commands/help.c: Likewise.
35364 * partmap/amiga.c: Likewise.
35365 * partmap/apple.c: Likewise.
35366 * partmap/acorn.c: Likewise.
35367 * partmap/pc.c: Likewise.
35368 * partmap/sun.c: Likewise.
35369 * partmap/gpt.c: Likewise.
35370 * script/sh/lexer.c: Likewise.
35371 * script/sh/function.c: Likewise.
35372 * font/font.c: Likewise.
35373 * font/font_cmd.c: Likewise.
35374 * loader/powerpc/ieee1275/linux.c: Likewise.
35375 * loader/efi/chainloader.c: Likewise.
35376 * loader/multiboot_loader.c: Likewise.
35377 * loader/macho.c: Likewise.
35378 * loader/i386/multiboot.c: Likewise.
35379 * loader/i386/linux.c: Likewise.
35380 * loader/i386/pc/linux.c: Likewise.
35381 * loader/i386/pc/multiboot2.c: Likewise.
35382 * loader/i386/pc/chainloader.c: Likewise.
35383 * loader/i386/pc/xnu.c: Likewise.
35384 * loader/i386/bsd_trampoline.S: Likewise.
35385 * loader/i386/efi/linux.c: Likewise.
35386 * loader/i386/multiboot_elfxx.c: Likewise.
35387 * loader/i386/bsd_helper.S: Likewise.
35388 * loader/i386/bsd.c: Likewise.
35389 * loader/i386/linux_trampoline.S: Likewise.
35390 * loader/i386/xnu_helper.S: Likewise.
35391 * loader/i386/xnu.c: Likewise.
35392 * loader/i386/bsd_pagetable.c: Likewise.
35393 * loader/i386/multiboot_helper.S: Likewise.
35394 * loader/xnu.c: Likewise.
35395 * loader/xnu_resume.c: Likewise.
35396 * io/gzio.c: Likewise.
35397 * term/efi/console.c: Likewise.
35398 * term/terminfo.c: Likewise.
35399 * term/ieee1275/ofconsole.c: Likewise.
35400 * term/i386/pc/serial.c: Likewise.
35401 * term/i386/pc/vesafb.c: Likewise.
35402 * term/i386/pc/vga.c: Likewise.
35403 * term/usb_keyboard.c: Likewise.
35404 * term/gfxterm.c: Likewise.
35405 * aclocal.m4: Likewise.
35406 * util/lvm.c: Likewise.
35407 * util/grub.d/30_os-prober.in: Likewise.
35408 * util/grub.d/10_hurd.in: Likewise.
35409 * util/console.c: Likewise.
35410 * util/grub-macho2img.c: Likewise.
35411 * util/grub-probe.c: Likewise.
35412 * util/hostfs.c: Likewise.
35413 * util/i386/pc/grub-mkimage.c: Likewise.
35414 * util/i386/pc/grub-setup.c: Likewise.
35415 * util/i386/efi/grub-mkimage.c: Likewise.
35416 * util/grub-mkconfig.in: Likewise.
35417 * util/raid.c: Likewise.
35418 * util/resolve.c: Likewise.
35419 * util/grub-mkdevicemap.c: Likewise.
35420 * util/grub-emu.c: Likewise.
35421 * util/getroot.c: Likewise.
35422 * util/hostdisk.c: Likewise.
35423 * util/usb.c: Likewise.
35424 * util/grub-editenv.c: Likewise.
35425 * util/misc.c: Likewise.
35426
d2d49665 354272009-06-10 Felix Zielcke <fzielcke@z-51.de>
35428
35429 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35430 `genparttoollist.sh'.
35431 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35432 Add `*.sh' to the list find searches for and change `mdate.sh'
35433 to `mdate-sh'.
35434
fe052e37 354352009-06-10 Pavel Roskin <proski@gnu.org>
35436
2763ac18 35437 * include/grub/multiboot2.h: Provide compatibility defines for
35438 multiboot2.h.
35439 * include/multiboot2.h: Include stdint.h only if needed, using
35440 angle brackets.
35441 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35442 grub/multiboot2.h.
35443 * loader/ieee1275/multiboot2.c: Likewise.
35444 * loader/multiboot2.c: Likewise.
35445 * loader/multiboot_loader.c: Likewise.
35446
437e6adc 35447 * configure.ac: Use -nostdlib when probing for the target. It
35448 should not be required to have libc for the target.
35449
06a6836c 35450 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35451 they fail without libc headers for the target.
35452 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35453 exports.
35454 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35455 preprocessor conditionals.
35456
fe052e37 35457 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35458 build system doesn't need to be aware of the tar.c internals.
35459
afd22553 354602009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35461
afd22553 35462 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35463
6b787c4f 354642009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35465
35466 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35467 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35468
354692009-06-09 Felix Zielcke <fzielcke@z-51.de>
35470
35471 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35472 aren't available if ata.mod gets used.
6b787c4f 35473
473d1e45 354742009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35475
473d1e45 35476 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35477 initialising controller.
473d1e45 35478 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35479
255a27d4 354802009-06-08 Felix Zielcke <fzielcke@z-51.de>
35481
35482 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35483 to choose between ata and biosdisk module on i386-pc.
35484
473d1e45 354852009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35486
d55842d8 35487 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35488 Subclass and Programming Interface fields in terms of the 3 byte
35489 Class Code register.
35490 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35491
fa5db0b1 35492 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35493 interface is OHCI. Add grub_dprintf for symmetry with
35494 bus/usb/uhci.c.
35495 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35496 interface is UHCI. Add interf variable for programming
35497 interface. Print interface with class/subclass.
35498
c0947beb 35499 * bus/usb/ohci.c: Set interf with correct field.
35500
69da8877 35501 * bus/usb/uhci.c: Remove unneeded doubled lines.
35502 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35503 Remove whitespace inside comment.
35504
9e172e30 355052009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35506
35507 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35508 as fallback an equivalent option without depth.
35509
de65ee2b 355102009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35511
35512 Not fail if unable to retrieve C/H/S on LBA disks
35513
473d1e45 35514 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35515 if unable to retrieve C/H/S on LBA disks
35516
b57ea2c9 355172009-06-08 Pavel Roskin <proski@gnu.org>
35518
35519 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35520 about aliasing.
35521
af361263 355222009-06-08 Felix Zielcke <fzielcke@z-51.de>
35523
35524 * Makefile.in (uninstall): Remove all $lib_DATA files.
35525
4c9ec6b3 355262009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35527
35528 Bugfix: install on partitionless device
35529
35530 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35531 is a whole disk
35532
e76fc924 355332009-06-08 Felix Zielcke <fzielcke@z-51.de>
35534
35535 * Makefile.in (uninstall): Remove all $include_DATA files.
35536
ba5a0d05 355372009-06-08 Felix Zielcke <fzielcke@z-51.de>
35538
35539 * commands/true.c: New file. Implement the true and false commands.
35540 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35541 (true_mod_SOURCES): New variable.
35542 (true_mod_CFLAGS): Likewise.
35543 (true_mod_LDFLAGS): Likewise.
35544
c8048e32 355452009-06-05 Colin D Bennett <colin@gibibit.com>
35546
35547 Optimized font character lookup using binary search instead of linear
35548 search. Fonts now are required to have the character index ordered by
35549 code point.
35550
35551 * font/font.c (load_font_index): Verify that fonts have ordered
35552 character indices.
35553 (find_glyph): Use binary search instead of linear search to find a
35554 character in a font.
35555
408305be 355562009-06-05 Michael Scherer <misc@mandriva.org>
35557
35558 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35559 uses case sensitive btree.
35560 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35561 only for case insensitive filesystems.
35562
8ee1e0d9 355632009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35564
35565 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35566 * conf/common.rmk (search_mod_CFLAGS): likewise
35567
a9966eb1 355682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35569
473d1e45 35570 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 35571 compensate a compiler bug
35572
9e7100fb 355732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35574
473d1e45 35575 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 35576 instead of '\b'
473d1e45 35577
ede21d71 355782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35579
35580 Definitions for creating asm symbols with Apple's CC
35581
35582 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35583 [APPLE_CC] (VARIABLE): likewise
35584
9dbf7653 355852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35586
35587 Disable lnxboot.img when compiled
35588 with Apple's CC
35589
35590 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35591 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35592 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35593 [! APPLE_CC] (CODE_LENG): skip
35594 [! APPLE_CC] (setup_sects): likewise
35595 [! APPLE_CC]: skip filling
473d1e45 35596
e93cdc3d 355972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35598
35599 Address in trampolines based on 32-bit registers when compiled
35600 with Apple's CC
35601
473d1e45 35602 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 35603 for addresses
35604 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35605
6c688477 356062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35607
35608 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35609
35610 * kern/misc.c [APPLE_CC] (memcpy): new function
35611 [APPLE_CC] (memmove): likewise
35612 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 35613 (memcpy): define alias conditionally on !APPLE_CC
6c688477 35614 (memset): likewise
35615 (abort): likewise
35616 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35617 APPLE_CC are defined
35618 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35619 (grub_assert_fail): make prototype conditional
35620
e37ffc5c 356212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35622
35623 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35624
473d1e45 35625 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35626 grub-macho2img
e37ffc5c 35627 (CLEANFILES): add grub-macho2img
35628 (grub_macho2img_SOURCES): new variable
35629 * kern/i386/pc/startup.S (bss_start): new variable
35630 (bss_end): likewise
35631 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35632 * util/grub-macho2img.c: new file
35633
cf00df31 356342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35635
35636 Use objconv when compiling with Apple's CC
35637
35638 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35639 (efiemu64.o): likewise
35640 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35641 when compiling with Apple's CC
35642 (efiemu64_s.o): likewise
35643 * configure.ac: check for objconv when compiling with Apple's CC
35644 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 35645
d119a20c 356462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35647
35648 Define segment as well as section when compiling with
35649 Apple's CC
35650
35651 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35652 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35653 (efiemu_convert_pointer): likewise
35654 (efiemu_set_virtual_address_map): likewise
35655 (efiemu_convert_pointer): likewise
35656 (efiemu_getcrc32): likewise
35657 (init_crc32_table): likewise
35658 (reflect): likewise
35659 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35660 (GRUB_MOD_DEP): likewise
473d1e45 35661
c8600122 356622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35663
35664 Allow a compilation without -mcmodel=large
35665
35666 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35667 when compiled without -mcmodel=large
473d1e45 35668 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 35669 without -mcmodel=large
473d1e45 35670 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 35671 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 35672
e8df1d4e 356732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35674
35675 Remove nested functions in efiemu core
35676
35677 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 35678
cc6c3ac1 356792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35680
35681 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
35682
35683 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
35684 temporary storage
473d1e45 35685 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
35686 using Apple's CC
cc6c3ac1 35687 (grub_cpu_is_tsc_supported): likewise
35688 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 35689
3e325901 356902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35691
35692 Absolute addressing through constant with Apple's cc
35693
35694 * kern/i386/pc/startup.S: Define necessary constants
35695 and address through it when using ABS with Apple's CC
35696 * boot/i386/pc/diskboot.S: likewise
35697 * boot/i386/pc/boot.S: likewise
35698 * boot/i386/pc/lnxboot.S: likewise
35699 * boot/i386/pc/cdboot.S: likewise
35700 * mmap/i386/pc/mmap_helper.S: likewise
35701 * commands/i386/pc/drivemap_int13h.S: likewise
35702
2b167a72 357032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35704
35705 Check if compiler is apple cc
35706
35707 * Makefile.in (ASFLAGS): new variable
35708 (TARGET_ASFLAGS): likewise
35709 (TARGET_MODULE_FORMAT): likewise
35710 (TARGET_APPLE_CC): likewise
35711 (OBJCONV): likewise
35712 (TARGET_IMG_CFLAGS): likewise
35713 (TARGET_CPPFLAGS): add includedir
35714 * configure.ac: call grub_apple_cc and grub_apple_target_cc
35715 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
35716 Check for linker script only if compiler isn't Apple's CC
35717 (TARGET_MODULE_FORMAT): set
35718 (TARGET_APPLE_CC): likewise
35719 (TARGET_ASFLAGS): likewise
35720 (ASFLAGS): likewise
35721 Check for objcopy only if compiler isn't Apple's CC
35722 Check for BSS symbol only if compiler isn't Apple's CC
35723 * genmk.rb: adapt nm options if we use Apple's utils
35724 * aclocal.m4 (grub_apple_cc): new test
35725 (grub_apple_target_cc): likewise
473d1e45 35726
fb14123e 357272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35728
35729 Simplify sed expressions and improve awk
35730
35731 * Makefile.in (install-local): simplify sed expression
35732 * gencmdlist.sh: likewise
35733 * genmoddep.awk: avoid adding module as a dependency of itself
35734
5b889789 357352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35736
35737 Add missing start symbols
35738
35739 * boot/i386/pc/boot.S: add start
fb14123e 35740 * boot/i386/pc/pxeboot.S: likewise
473d1e45 35741
fd2bf2e3 357422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35743
35744 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 35745
35746 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 35747 (relocate_addresses): consider both r_addend and value at offset
35748 (make_mods_section): zerofill modinfo and header
35749 (convert_elf): write prefix here
473d1e45 35750
5389763d 357512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35752
35753 Use .asciz instead of .string
35754
35755 * i386/pc/diskboot.S: use .asciz instead of .string
35756 * i386/pc/boot.S: likewise
35757 * include/grub/dl.h (GRUB_MOD_DEP): likewise
35758 (GRUB_MOD_NAME): likewise
473d1e45 35759
3eb5ed4e 357602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35761
35762 gfxpayload support
35763
35764 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
35765 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
35766 (grub_video_setup): remove
35767 (grub_video_set_mode): new prototype
35768 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
35769 (vid_mode): remove
35770 (linux_vesafb_res): compile only on PCBIOS
35771 (grub_linux_boot): support gfxpayload
35772 * loader/i386/pc/xnu.c (video_hook): new function
35773 (grub_xnu_set_video): support gfxpayload
35774 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
35775 (DEFAULT_VIDEO_HEIGHT): likewise
35776 (DEFAULT_VIDEO_FLAGS): likewise
35777 (DEFAULT_VIDEO_MODE): new definition
35778 (video_hook): new function
35779 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 35780 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 35781 loading xnu
35782 * video/video.c (grub_video_setup): removed
473d1e45 35783 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 35784 grub_video_setup
35785
4b0e1143 357862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35787
35788 Avoid calling biosdisk in drivemap
35789
35790 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
35791 (revparse_biosdisk): likewise
35792 (list_mappings): derive name from id directly
35793 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 35794
fda6cb98 357952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35796
35797 Script fixes
35798
35799 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
35800 (grub_lexer_param): add tokenonhold
35801 (grub_script_create_cmdline): remove cmdline. All callers updated
35802 (grub_script_function_create): make functionname
35803 grub_script_arg. All callers updated
35804 (grub_script_execute_argument_to_string): new prototype
35805 * kern/parser.c (state_transitions): reorder
35806 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 35807 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 35808 make global
35809 (grub_script_execute_cmdline): use new format
35810 * script/sh/function.c (grub_script_function_create): make functionname
35811 grub_script_arg. All callers updated
473d1e45 35812 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 35813 (grub_script_yylex): remove
35814 (grub_script_yylex2): renamed to ...
35815 (grub_script_yylex): ...renamed
35816 parse the expressions like a${b}c
35817 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
35818 (GRUB_PARSER_TOKEN_VAR): remove
35819 (GRUB_PARSER_TOKEN_NAME): likewise
35820 ("if"): declare as typeless
35821 ("while"): likewise
35822 ("function"): likewise
35823 ("else"): likewise
35824 ("then"): likewise
35825 ("fi"): likewise
35826 (text): remove
35827 (argument): likewise
35828 (script): accept empty scripts and make exit on error
35829 (arguments): use GRUB_PARSER_TOKEN_ARG
35830 (function): likewise
35831 (command): move error handling to script
35832 (menuentry): move grub_script_lexer_ref before
473d1e45 35833 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 35834 argument. All callers updated
35835
f4448a07 358362009-06-04 Robert Millan <rmh.grub@aybabtu.com>
35837
35838 Prevent GRUB from probing floppies during boot.
35839
35840 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
35841 * commands/search.c (options): Add --no-floppy.
35842 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
35843 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
35844 --no-floppy when searching for UUIDs.
35845
2bf5885a 358462009-06-04 Robert Millan <rmh.grub@aybabtu.com>
35847
35848 Simplify the code duplication in commands/search.c.
35849
35850 * commands/search.c (search_label, search_fs_uuid): Merge into ...
35851 (search_fs): ... this. Update all users.
35852
f6fd460a 358532009-06-03 Felix Zielcke <fzielcke@z-51.de>
35854
35855 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
35856
cbb3c83e 358572009-05-28 Pavel Roskin <proski@gnu.org>
35858
57788cfd 35859 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
35860 Remove the original symlink explicitly.
35861
cbb3c83e 35862 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
35863 just one slash. That's how grub_fshelp_find_file() does it.
35864
cd0d5e30 358652009-05-26 Pavel Roskin <proski@gnu.org>
35866
f0f8bbe2 35867 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
35868 to `str'.
35869
cd0d5e30 35870 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
35871 possibly unused.
35872
8c2cab51 358732009-05-25 Christian Franke <franke@computer.org>
35874
35875 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
35876 register.
35877 (grub_atapi_identify): Add wait after drive select.
35878 (grub_ata_identify): Do more strict status register check before
35879 calling grub_atapi_identify (). Suppress error message if status
35880 register is 0x00 after command failure. Add status register
35881 check after PIO read to avoid bogus identify due to stuck DRQ.
35882 Thanks to Pavel Roskin for testing.
35883 (grub_device_initialize): Remove unsafe status register check.
35884 Thanks to 'phcoder' for problem report and patch.
35885 Prevent sign extension in debug message.
35886
230c0ad6 358872009-05-23 Colin D Bennett <colin@gibibit.com>
35888
35889 Cleaned up `include/grub/normal.h'. Grouped prototypes by
35890 definition file, and functions defined in `normal/menu.c' have had
35891 their prototypes moved to `include/grub/menu.h' for consistency.
35892
35893 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
35894 from normal.h.
35895 (grub_menu_get_entry): Likewise.
35896 (grub_menu_get_timeout): Likewise.
35897 (grub_menu_set_timeout): Likewise.
35898 (grub_menu_execute_entry): Likewise.
35899 (grub_menu_execute_with_fallback): Likewise.
35900 (grub_menu_entry_run): Likewise.
35901
35902 * include/grub/normal.h: Re-ordered and grouped function
35903 prototypes by file that the function is defined in.
35904 (grub_menu_execute_callback): Removed; moved to menu.h.
35905 (grub_menu_get_entry): Likewise.
35906 (grub_menu_get_timeout): Likewise.
35907 (grub_menu_set_timeout): Likewise.
35908 (grub_menu_execute_entry): Likewise.
35909 (grub_menu_execute_with_fallback): Likewise.
35910 (grub_menu_entry_run): Likewise.
35911 (grub_menu_addentry): Renamed from this ...
35912 (grub_normal_add_menu_entry): ... to this.
35913
35914 * normal/main.c (grub_menu_addentry): Renamed from this ...
35915 (grub_normal_add_menu_entry): ... to this.
35916
35917 * script/sh/execute.c (grub_script_execute_menuentry): Update
35918 reference to renamed grub_menu_addentry function.
35919
861f03a5 359202009-05-23 Felix Zielcke <fzielcke@z-51.de>
35921
35922 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
35923
96b1619a 359242009-05-22 Pavel Roskin <proski@gnu.org>
35925
bf6a5fb2 35926 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
35927 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
35928 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
35929 compiling for the i386 targets, but not for the utilities.
35930
96b1619a 35931 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
35932 to grub_uint8_t.
35933 (grub_root_drive): Likewise.
35934 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
35935 remove alignment.
35936 (grub_root_drive): Change size to byte.
35937 (grub_start_addr): Remove.
35938 (grub_end_addr): Likewise.
35939 (grub_apm_bios_info): Likewise.
35940
b729776b 359412009-05-21 Felix Zielcke <fzielcke@z-51.de>
35942
35943 * normal/i386: Remove.
35944 * normal/powerpc: Likewise.
35945 * normal/sparc64: Likewise.
35946 * normal/x86_64: Likewise.
35947
0a15ce80 359482009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
35949
35950 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 35951 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 35952 * loader/i386/xnu_helper.S: Likewise
d6da58e6 35953
33db9015 359542009-05-18 Colin D Bennett <colin@gibibit.com>
35955
d6da58e6 35956 Display error messages when parsing a Lua statement fails.
35957 Previously, executing a syntactically invalid statement like
35958 ")foo" or "bar;" would silently fail.
33db9015 35959
35960 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 35961 (grub_lua_parse_line): Improved reporting of Lua parser and
35962 execution errors.
33db9015 35963
46422c89 359642009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35965
35966 Remove -Werror which causes build to fail on some systems
35967
35968 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
35969 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
35970 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 35971
22f53a96 359722009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35973
35974 trampoline for linux on 64-bit platform
35975
18f547ad 35976 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
35977 loader/i386/efi/linux_trampoline.S
35978 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 35979 declaration
d6da58e6 35980 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
35981 here
22f53a96 35982 * loader/i386/linux_trampoline.S: moved here
d6da58e6 35983 * loader/i386/efi/linux.c (allocate_pages): reserve space for
35984 trampoline
22f53a96 35985 (jumpvector): removed
35986 (grub_linux_trampoline_start): new declaration
35987 (grub_linux_trampoline_end): likewise
35988 (grub_linux_boot): use trampoline when on 64-bit platform
35989 * loader/i386/linux.c: likewise
35990
cb5a0f40 359912009-05-16 Pavel Roskin <proski@gnu.org>
35992
35993 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
35994 const to avoid a warning.
35995 (grub_lua_setenv): Likewise.
35996 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
35997 lmsg to fix a warning.
35998
334f2c28 359992009-05-16 Felix Zielcke <fzielcke@z-51.de>
36000
36001 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36002 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36003 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36004 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36005 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36006 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36007 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36008 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36009
59e5d3ec 360102009-05-16 Felix Zielcke <fzielcke@z-51.de>
36011
36012 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36013
9d87a1ba 360142009-05-16 Bean <bean123ch@gmail.com>
36015
36016 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36017 (lua_mod_SOURCES): New variable.
36018 (lua_mod_CFLAGS): Likewise.
36019 (lua_mod_LDFLAGS): Likewise.
36020
36021 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36022 (setjmp_mod_SOURCES): New variable.
36023 (setjmp_mod_CFLAGS): Likewise.
36024 (setjmp_LDFLAGS): Likewise.
36025
36026 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36027 (setjmp_mod_SOURCES): New variable.
36028 (setjmp_mod_CFLAGS): Likewise.
36029 (setjmp_LDFLAGS): Likewise.
36030
36031 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36032 (setjmp_mod_SOURCES): New variable.
36033 (setjmp_mod_CFLAGS): Likewise.
36034 (setjmp_LDFLAGS): Likewise.
36035
36036 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36037 (setjmp_mod_SOURCES): New variable.
36038 (setjmp_mod_CFLAGS): Likewise.
36039 (setjmp_LDFLAGS): Likewise.
36040
36041 * normal/i386/setjmp.S: Moved from here ...
36042 * lib/i386/setjmp.S: ... Moved here
36043 * normal/x86_64/setjmp.S: Moved from here ...
36044 * lib/x86_64/setjmp.S: ... Moved here
36045 * normal/powerpc/setjmp.S: Moved from here ...
36046 * lib/powerpc/setjmp.S: ... Moved here
36047 * normal/sparc64/setjmp.S: Moved from here ...
36048 * lib/sparc64/setjmp.S: ... Moved here
36049
36050 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36051 returns_twice in mingw.
36052
36053 * script/lua/grub_lib.c: New file.
36054 * script/lua/grub_lib.h: Likewise.
36055 * script/lua/grub_lua.h: Likewise.
36056 * script/lua/grub_main.c: Likewise.
36057 * script/lua/lapi.c: Likewise.
36058 * script/lua/lapi.h: Likewise.
36059 * script/lua/lauxlib.c: Likewise.
36060 * script/lua/lauxlib.h: Likewise.
36061 * script/lua/lbaselib.c: Likewise.
36062 * script/lua/lcode.c: Likewise.
36063 * script/lua/lcode.h: Likewise.
36064 * script/lua/ldblib.c: Likewise.
36065 * script/lua/ldebug.c: Likewise.
36066 * script/lua/ldebug.h: Likewise.
36067 * script/lua/ldo.c: Likewise.
36068 * script/lua/ldo.h: Likewise.
36069 * script/lua/ldump.c: Likewise.
36070 * script/lua/lfunc.c: Likewise.
36071 * script/lua/lfunc.h: Likewise.
36072 * script/lua/lgc.c: Likewise.
36073 * script/lua/lgc.h: Likewise.
36074 * script/lua/linit.c: Likewise.
36075 * script/lua/liolib.c: Likewise.
36076 * script/lua/llex.c: Likewise.
36077 * script/lua/llex.h: Likewise.
36078 * script/lua/llimits.h: Likewise.
36079 * script/lua/lmathlib.c: Likewise.
36080 * script/lua/lmem.c: Likewise.
36081 * script/lua/lmem.h: Likewise.
36082 * script/lua/loadlib.c: Likewise.
36083 * script/lua/lobject.c: Likewise.
36084 * script/lua/lobject.h: Likewise.
36085 * script/lua/lopcodes.c: Likewise.
36086 * script/lua/lopcodes.h: Likewise.
36087 * script/lua/loslib.c: Likewise.
36088 * script/lua/lparser.c: Likewise.
36089 * script/lua/lparser.h: Likewise.
36090 * script/lua/lstate.c: Likewise.
36091 * script/lua/lstate.h: Likewise.
36092 * script/lua/lstring.c: Likewise.
36093 * script/lua/lstring.h: Likewise.
36094 * script/lua/lstrlib.c: Likewise.
36095 * script/lua/ltable.c: Likewise.
36096 * script/lua/ltable.h: Likewise.
36097 * script/lua/ltablib.c: Likewise.
36098 * script/lua/ltm.c: Likewise.
36099 * script/lua/ltm.h: Likewise.
36100 * script/lua/lua.h: Likewise.
36101 * script/lua/luaconf.h: Likewise.
36102 * script/lua/lualib.h: Likewise.
36103 * script/lua/lundump.c: Likewise.
36104 * script/lua/lundump.h: Likewise.
36105 * script/lua/lvm.c: Likewise.
36106 * script/lua/lvm.h: Likewise.
36107 * script/lua/lzio.c: Likewise.
36108 * script/lua/lzio.h: Likewise.
36109
5e898c9d 361102009-05-16 Bean <bean123ch@gmail.com>
36111
36112 * include/grub/kernel.h (grub_module_header_types): Add type
36113 OBJ_TYPE_CONFIG.
36114
36115 * kern/main.c (grub_load_config): New function.
36116 (grub_main): Call grub_load_config to read boot config.
36117
36118 * grub-mkimage (generate_image): New parameter config_path.
36119 (options): New option --config.
36120 (main): Parse --config option, and pass it to generate_image.
36121
cf353a47 361222009-05-14 Christian Franke <franke@computer.org>
36123
36124 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36125 This fixes build on Cygwin.
36126
3834887f 361272009-05-14 Pavel Roskin <proski@gnu.org>
36128
36129 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36130 jump. This saves two bytes, so the typical case of 2 swapped
36131 drives would fit 32 bytes.
36132
8090fc01 361332009-05-13 Pavel Roskin <proski@gnu.org>
36134
ac963883 36135 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36136 grub_uint32_t to avoid a warning.
36137
8090fc01 36138 * loader/i386/linux.c (allocate_pages): When assigning
36139 real_mode_mem, cast through grub_size_t to fix a warning. The
36140 code already makes sure that the value would fit a pointer.
36141 (grub_linux_setup_video): Cast render_target->data to
36142 grub_size_t to fix a warning.
36143
18f547ad 361442009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36145
36146 * commands/i386/pc/drivemap.c: New file - implement drivemap
36147 command.
36148 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36149 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36150
6f6a8b28 361512009-05-13 Pavel Roskin <proski@gnu.org>
36152
36153 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36154 embedding_area_exists.
36155
15fbf4c4 361562009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36157
36158 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36159 it easier to understand / work with.
59978c8a 36160 Improve warning messages for cases where there's no embedding area,
36161 or when it is too small (or core.img too large).
15fbf4c4 36162
238e871f 361632009-05-13 Pavel Roskin <proski@gnu.org>
36164
0ab3a9a4 36165 * loader/i386/pc/multiboot2.c: Add necessary includes for
36166 grub_multiboot2_real_boot().
36167
a2c8c5f8 36168 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36169 PX record is always little-endian. We only need the lower 2
36170 bytes of the mode.
36171
faec96af 36172 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36173 facilitate code reuse.
36174 (grub_cpio_mount): Use "struct head", not a char buffer. This
36175 fixes a warning reported by gcc 4.4.
36176
238e871f 36177 * kernel/disk.c (grub_disk_read): Use void pointer for the
36178 buffer.
36179 (grub_disk_write): Use const void pointer for the buffer.
36180 Adjust all callers. Remove unnecessary casts.
36181
901d2f0c 361822009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36183
36184 * util/i386/pc/grub-install.in: Update copyright year.
36185
18f547ad 361862009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36187
36188 gptsync
36189
36190 * commands/gptsync.c: new file
36191 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36192 (gptsync_mod_SOURCES): new variable
36193 (gptsync_mod_CFLAGS): likewise
36194 (gptsync_mod_LDFLAGS): likewise
18f547ad 36195 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36196 new definition
36197 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36198 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36199 * conf/i386-ieee1275.rmk: likewise
36200 * conf/i386-pc.rmk: likewise
36201 * conf/powerpc-ieee1275.rmk: likewise
36202
b4ba690a 362032009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36204
36205 Fixed grub-emu
36206
36207 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36208 (grub_dl_ref): likewise
36209
317e1a44 362102009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36211
36212 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36213 split in two functions (one for msdos and one for gpt).
36214
041b8094 362152009-05-08 Pavel Roskin <proski@gnu.org>
36216
752473c2 36217 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36218 not modified.
36219
041b8094 36220 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36221 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36222 Initialize them with -1. Add sanity check for bad1. Eliminate
36223 nerr variable.
36224
172800ce 362252009-05-08 David S. Miller <davem@davemloft.net>
36226
36227 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36228
29aa5e81 362292009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36230
36231 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36232 existence.
29aa5e81 36233
96613b62 362342009-05-05 Felix Zielcke <fzielcke@z-51.de>
36235
36236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36237 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36238
eef73c8a 362392009-05-05 David S. Miller <davem@davemloft.net>
36240
36241 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36242
119494b5 362432009-05-05 Pavel Roskin <proski@gnu.org>
36244
36245 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36246 of grub_dl_ref() and grub_dl_unref().
36247 * commands/parttool.c: Remove preprocessor conditionals around
36248 grub_dl_ref() and grub_dl_unref().
36249 * fs/affs.c: Likewise.
36250 * fs/afs.c: Likewise.
36251 * fs/cpio.c: Likewise.
36252 * fs/ext2.c: Likewise.
36253 * fs/fat.c: Likewise.
36254 * fs/hfs.c: Likewise.
36255 * fs/hfsplus.c: Likewise.
36256 * fs/iso9660.c: Likewise.
36257 * fs/jfs.c: Likewise.
36258 * fs/minix.c: Likewise.
36259 * fs/ntfs.c: Likewise.
36260 * fs/reiserfs.c: Likewise.
36261 * fs/sfs.c: Likewise.
36262 * fs/udf.c: Likewise.
36263 * fs/ufs.c: Likewise.
36264 * fs/xfs.c: Likewise.
36265 * include/grub/dl.h: Likewise.
36266 * loader/xnu.c: Likewise.
36267
de5fd76e 362682009-05-04 Pavel Roskin <proski@gnu.org>
36269
36270 * commands/acpi.c: Remove unused variable my_mod.
36271 * partmap/amiga.c: Likewise.
36272 * partmap/apple.c: Likewise.
36273 * partmap/gpt.c: Likewise.
36274 * partmap/pc.c: Likewise.
36275 * partmap/sun.c: Likewise.
36276 * term/gfxterm.c: Likewise.
36277 * term/i386/pc/vesafb.c: Likewise.
36278 * term/i386/pc/vga.c: Likewise.
36279
983598ad 362802009-05-04 David S. Miller <davem@davemloft.net>
36281
36282 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36283 pointer args to grub_ieee1275_get_property().
36284
8aadec43 36285 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36286
9554b15e 36287 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36288 devices, and do not traverse down under controller nodes.
36289
67e23c90 36290 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36291 (grub_ofdisk_open): Use it to un-escape "," characters.
36292 * kern/disk.c (find_part_sep): New.
36293 (grub_disk_open): Use it to find the first non-escaped ','
36294 character in the disk name.
36295 * util/ieee1275/devicemap.c (escape_of_path): New.
36296 (grub_util_emit_devicemap_entry): Use it.
36297 * util/sparc64/ieee1275/grub-install.in: Update script to
36298 strip partition specifiers properly by not triggering on
36299 '\' escaped ',' characters.
36300
74bfdd2f 363012009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36302
36303 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36304 to 0x300.
36305 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36306 resolutions.
36307 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36308 on documentation from Wikipedia).
36309
4241d2b1 363102009-05-04 Pavel Roskin <proski@gnu.org>
36311
36312 * disk/ata.c: Spelling fixes.
36313 * disk/raid.c: Likewise.
36314 * disk/usbms.c: Likewise.
36315 * disk/dmraid_nvidia.c: Likewise.
36316 * kern/ieee1275/openfw.c: Likewise.
36317 * kern/ieee1275/init.c: Likewise.
36318 * kern/ieee1275/cmain.c: Likewise.
36319 * boot/i386/pc/cdboot.S: Likewise.
36320 * video/readers/png.c: Likewise.
36321 * video/i386/pc/vbe.c: Likewise.
36322 * fs/udf.c: Likewise.
36323 * fs/hfs.c: Likewise.
36324 * fs/reiserfs.c: Likewise.
36325 * efiemu/runtime/efiemu.c: Likewise.
36326 * efiemu/main.c: Likewise.
36327 * efiemu/mm.c: Likewise.
36328 * include/grub/elf.h: Likewise.
36329 * include/grub/xnu.h: Likewise.
36330 * include/grub/usbdesc.h: Likewise.
36331 * include/grub/usb.h: Likewise.
36332 * include/grub/script_sh.h: Likewise.
36333 * include/grub/lib/LzmaEnc.h: Likewise.
36334 * include/grub/efiemu/efiemu.h: Likewise.
36335 * include/grub/command.h: Likewise.
36336 * normal/menu.c: Likewise.
36337 * normal/main.c: Likewise.
36338 * normal/datetime.c: Likewise.
36339 * bus/usb/uhci.c: Likewise.
36340 * mmap/i386/uppermem.c: Likewise.
36341 * mmap/mmap.c: Likewise.
36342 * commands/acpi.c: Likewise.
36343 * commands/test.c: Likewise.
36344 * partmap/apple.c: Likewise.
36345 * font/font.c: Likewise.
36346 * loader/sparc64/ieee1275/linux.c: Likewise.
36347 * loader/macho.c: Likewise.
36348 * loader/i386/bsd_trampoline.S: Likewise.
36349 * loader/i386/bsd.c: Likewise.
36350 * loader/xnu.c: Likewise.
36351 * term/i386/pc/vesafb.c: Likewise.
36352 * term/usb_keyboard.c: Likewise.
36353 * util/resolve.c: Likewise.
36354 * util/getroot.c: Likewise.
36355
0cfc0083 363562009-05-04 Felix Zielcke <fzielcke@z-51.de>
36357
36358 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36359
7c1d00cd 363602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36361
36362 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36363 build error.
36364
b01f0548 363652009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36366
36367 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36368 parameter only available on BIOS.
36369
ecc3eb22 363702009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36371
36372 Removed wrong semicolon in declaration
36373
36374 * grub/misc.h (grub_dprintf): remove semicolon
36375
112972a9 363762009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36377
36378 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36379 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36380 is done by grub_cmd_linux() now).
36381 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36382 restore video to text mode.
36383 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36384 indicates lack of "vga=" parameter. "vga=0" is mapped to
36385 `GRUB_LINUX_VID_MODE_NORMAL'.
36386
afd5c115 363872009-05-04 Felix Zielcke <fzielcke@z-51.de>
36388
36389 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36390 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36391 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36392 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36393 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36394 `grub_script.tab.c'.
36395
36396 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36397 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36399 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36400 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36401
faa517ce 36402 * Makefile.in: Remove duplicated 2008 in Copyright line.
36403
ae0c0bdc 364042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36405
473d1e45 36406 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36407 unconditionally.
36408 * include/grub/util/misc.h (grub_util_warn): New declaration.
36409
36410 * util/i386/pc/grub-install.in: Understand --force and pass it down
36411 to grub-setup.
36412
36413 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36414 down to setup().
36415 (setup): Improve error messages and add warnings when requested to
36416 install in odd layouts. Refuse to install using blocklists unless
36417 --force was set.
36418
18f547ad 364192009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36420
36421 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36422
6d260daa 364232009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36424
36425 Updated copyright year
36426
36427 * fs/hfsplus.c: updated copyright year
18f547ad 36428
69f853f8 364292009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36430
36431 HFS+ UUID
36432
18f547ad 36433 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36434 in the space previously used by unused3
36435 (grub_hfsplus_uuid): new function
36436 (grub_hfsplus_fs): added uuid field
36437
4c402e73 364382009-05-03 Pavel Roskin <proski@gnu.org>
36439
36440 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36441 suppress warnings. It's no longer needed.
36442 * disk/host.c: Likewise.
36443 * disk/ata_pthru.c: Likewise.
36444 * disk/loopback.c: Likewise.
36445 * hook/datehook.c: Likewise.
36446 * parttool/pcpart.c: Likewise.
36447 * fs/i386/pc/pxe.c: Likewise.
36448 * fs/ntfscomp.c: Likewise.
36449 * efiemu/main.c: Likewise.
36450 * mmap/mmap.c: Likewise.
36451 * commands/crc.c: Likewise.
36452 * commands/hexdump.c: Likewise.
36453 * commands/hdparm.c: Likewise.
36454 * commands/acpi.c: Likewise.
36455 * commands/echo.c: Likewise.
36456 * commands/minicmd.c: Likewise.
36457 * commands/blocklist.c: Likewise.
36458 * commands/memrw.c: Likewise.
36459 * commands/loadenv.c: Likewise.
36460 * commands/usbtest.c: Likewise.
36461 * commands/lsmmap.c: Likewise.
36462 * commands/boot.c: Likewise.
36463 * commands/parttool.c: Likewise.
36464 * commands/configfile.c: Likewise.
36465 * commands/search.c: Likewise.
36466 * commands/ieee1275/suspend.c: Likewise.
36467 * commands/cat.c: Likewise.
36468 * commands/i386/pc/pxecmd.c: Likewise.
36469 * commands/i386/pc/play.c: Likewise.
36470 * commands/i386/pc/halt.c: Likewise.
36471 * commands/i386/pc/vbeinfo.c: Likewise.
36472 * commands/i386/pc/vbetest.c: Likewise.
36473 * commands/lspci.c: Likewise.
36474 * commands/date.c: Likewise.
36475 * commands/handler.c: Likewise.
36476 * commands/ls.c: Likewise.
36477 * commands/test.c: Likewise.
36478 * commands/cmp.c: Likewise.
36479 * commands/efi/loadbios.c: Likewise.
36480 * commands/efi/fixvideo.c: Likewise.
36481 * commands/halt.c: Likewise.
36482 * commands/help.c: Likewise.
36483 * commands/reboot.c: Likewise.
36484 * hello/hello.c: Likewise.
36485 * script/sh/main.c: Likewise.
36486 * loader/xnu.c: Likewise.
36487 * term/terminfo.c: Likewise.
36488 * term/i386/pc/serial.c: Likewise.
36489 * term/usb_keyboard.c: Likewise.
36490
515b5079 364912009-05-03 David S. Miller <davem@davemloft.net>
36492
36493 * normal/menu.c: Include grub/parser.h
36494
dfc31a22 364952009-05-03 Pavel Roskin <proski@gnu.org>
36496
2fee74f1 36497 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36498 not char*.
36499 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36500 Suggested by Javier Martín <lordhabbit@gmail.com>
36501
dfc31a22 36502 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36503 efiemu??.o doesn't exist.
36504 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36505 copying.
36506
18f547ad 365072009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36508
36509 FreeBSD 64-bit support
36510
18f547ad 36511 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36512 and loader/i386/bsd_trampoline.S
36513 (bsd_mod_ASFLAGS): new variable
36514 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36515 (FREEBSD_MODTYPE_KERNEL64): likewise
36516 (grub_bsd64_trampoline_start): likewise
36517 (grub_bsd64_trampoline_end): likewise
36518 (grub_bsd64_trampoline_selfjump): likewise
36519 (grub_bsd64_trampoline_gdt): likewise
36520 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36521 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36522 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36523 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36524 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36525 of "attrib" member
36526 * loader/i386/bsd_pagetable.c: new file
36527 * loader/i386/bsd_trampoline.S: likewise
36528 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36529 (ALIGN_VAR): likewise
36530 (entry_hi): new variable
36531 (kern_end_mdofs): likewise
36532 (is_64bit): likewise
36533 (grub_freebsd_add_meta): use ALIGN_VAR
36534 (grub_e820_mmap): new declaration
36535 (grub_freebsd_add_mmap): new function
36536 (grub_freebsd_add_meta_module): support 64 bit kernels
36537 (grub_freebsd_list_modules): use ALIGN_VAR
36538 (gdt_descriptor): new declaration
36539 (grub_freebsd_boot): support 64 bit kernels
36540 (grub_bsd_elf64_hook): new function
36541 (grub_bsd_load_elf): support elf64
36542
038c5720 365432009-05-03 Bean <bean123ch@gmail.com>
36544
36545 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36546 after we get the result of if statement.
36547
fc45fb58 365482009-05-03 Bean <bean123ch@gmail.com>
36549
36550 * Makefile.in (enable_efiemu): New variable.
36551
36552 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36553 set.
36554 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36555 path.
36556 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36557 path, add -mno-red-zone option.
36558 (efiemu64_s.o): Likewise.
36559 (efiemu64.o): Use macro $^ for source file.
36560
36561 * configure.ac (--enable-efiemu): New option.
36562
bbee0f2b 365632009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36564
36565 xnu support
36566
36567 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36568 (pkglib_MODULES): add xnu.mod
36569 (xnu_mod_SOURCES): new variable
36570 (xnu_mod_CFLAGS): likewise
36571 (xnu_mod_LDFLAGS): likewise
36572 (xnu_mod_ASFLAGS): likewise
36573 * conf/i386-pc.rmk: likewise
36574 * conf/x86_64-efi.rmk: likewise
7dd4a573 36575 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 36576 new declaration
36577 * include/grub/i386/macho.h: new file
36578 * include/grub/i386/xnu.h: likewise
36579 * include/grub/macho.h: likewise
36580 * include/grub/machoload.h: likewise
36581 * include/grub/x86_64/macho.h: likewise
36582 * include/grub/x86_64/xnu.h: likewise
36583 * include/grub/xnu.h: likewise
36584 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36585 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36586 * loader/i386/efi/xnu.c: new file
36587 * loader/i386/pc/xnu.c: likewise
36588 * loader/i386/xnu.c: likewise
36589 * loader/i386/xnu_helper.S: likewise
36590 * loader/macho.c: likewise
36591 * loader/xnu.c: likewise
36592 * loader/xnu_resume.c: likewise
36593 * util/grub-dumpdevtree: likewise
36594 * include/grub/i386/pit.h: include grub/err.h
36595 (grub_pit_wait): export
36596 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 36597
5caf964d 365982009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36599
36600 Efiemu
7dd4a573 36601
5caf964d 36602 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 36603 _linux_efi, linux_efi.
36604 new files in grub-emu
5caf964d 36605 new targets efiemu32.o and efiemu64.o
36606 * loader/linux_normal_efiemu.c: likewise
36607 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 36608 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 36609 files to copy
36610 * include/grub/autoefi.h: new file
7dd4a573 36611 * include/grub/i386/efiemu.h: likewise
5caf964d 36612 * include/grub/i386/pc/efiemu.h: likewise
36613 * include/grub/efi/api.h: add LL suffix when necessary
36614 new definitions relating to tables
36615 * include/grub/efiemu/efiemu.h: new file
36616 * include/grub/efiemu/runtime.h: likewise
36617 * efiemu/prepare.c: likewise
36618 * efiemu/loadcore_common.c: likewise
36619 * efiemu/loadcore64.c: likewise
36620 * efiemu/runtime/efiemu.sh: likewise
36621 * efiemu/runtime/efiemu.S: likewise
36622 * efiemu/runtime/efiemu.c: likewise
36623 * efiemu/runtime/config.h: likewise
36624 * efiemu/prepare32.c: likewise
36625 * efiemu/main.c: likewise
36626 * efiemu/modules/pnvram.c: likewise
36627 * efiemu/modules/i386: likewise
36628 * efiemu/modules/i386/pc: likewise
36629 * efiemu/modules/acpi.c: likewise
36630 * efiemu/i386/pc/cfgtables.c: likewise
36631 * efiemu/i386/loadcore64.c: likewise
36632 * efiemu/i386/loadcore32.c: likewise
36633 * efiemu/prepare64.c: likewise
36634 * efiemu/loadcore.c: likewise
36635 * efiemu/symbols.c: likewise
36636 * efiemu/mm.c: likewise
36637 * efiemu/loadcore32.c: likewise
7dd4a573 36638
366392009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 36640
36641 ACPI spoofing
36642
36643 * commands/acpi.c: new file
36644 * commands/i386/pc/acpi.c: likewise
36645 * commands/efi/acpi.c: likewise
36646 * include/grub/acpi.h: likewise
36647 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36648 (acpi_mod_SOURCES): new variable
36649 (acpi_mod_CFLAGS): likewise
36650 (acpi_mod_LDFLAGS): likewise
36651 * conf/i386-efi.rmk: likewise
36652 * conf/x86_64-efi.rmk: likewise
36653
7dd4a573 366542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 36655
36656 Missing part from mmap patch
36657
36658 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36659 (grub_mmap_unregister)
36660 (grub_mmap_free_and_unregister): use grub_mmap_register
36661
7dd4a573 366622009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 36663
36664 Mmap services
36665
36666 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36667 * loader/i386/linux.c (find_mmap_size): likewise
36668 (allocate_pages): likewise
36669 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36670 (grub_fill_multiboot_mmap): likewise
36671 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36672 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36673 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
36674 (OPENBSD_MMAP_RESERVED): likewise
36675 * include/grub/i386/pc/memory.h: include grub/memory.h
36676 (grub_lower_mem): removed
36677 (grub_upper_mem): likewise
36678 (GRUB_MACHINE_MEMORY_ACPI): new definition
36679 (GRUB_MACHINE_MEMORY_NVS): likewise
36680 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
36681 (GRUB_MACHINE_MEMORY_HOLE): likewise
36682 (grub_machine_mmap_register): likewise
36683 (grub_machine_mmap_unregister): likewise
36684 (grub_machine_get_upper): likewise
36685 (grub_machine_get_lower): likewise
36686 (grub_machine_get_post64): likewise
36687 * include/grub/i386/efi/memory.h: new file
36688 * include/grub/x86_64/efi/memory.h: likewise
36689 * include/grub/efi/memory.h: likewise
36690 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
36691 (mmap_mod_SOURCES): new variable
36692 (mmap_mod_LDFLAGS): likewise
36693 (mmap_mod_ASFLAGS): likewise
36694 * conf/i386-coreboot.rmk: likewise
36695 * conf/i386-ieee1275.rmk: likewise
36696 * conf/i386-efi.rmk: likewise
36697 * conf/x86_64-efi.rmk: likewise
36698 * include/grub/types.h (UINT_TO_PTR): new macro
36699 (PTR_TO_UINT32): likewise
36700 (PTR_TO_UINT64): likewise
36701 * include/grub/memory.h: new file
36702 * mmap/i386/pc/mmap.c: likewise
36703 * mmap/i386/pc/mmap_helper.S: likewise
36704 * mmap/i386/uppermem.c: likewise
36705 * mmap/mmap.c: likewise
36706 * mmap/efi/mmap.c: likewise
7dd4a573 36707 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 36708 grub_upper_mem
36709 * kern/i386/pc/init.c (grub_lower_mem): removed variable
36710 (grub_upper_mem): likewise
36711 (grub_machine_init): don't use grub_upper_mem,
36712 make grub_lower_mem local
36713 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
36714 grub_mmap_iterate and grub_mmap_get_upper
36715 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
36716
d558e6b5 367172009-05-02 Bean <bean123ch@gmail.com>
36718
36719 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
36720 script/sh/parser.y.
36721 (pkglib_MODULES): Add normal.mod and sh.mod.
36722 (normal_SOURCES): New variable.
36723 (normal_mod_CFLAGS): Likewise.
36724 (normal_mod_LDFLAGS): Likewise.
36725 (sh_mod_SOURCES): Likewise.
36726 (sh_mod_CFLAGS): Likewise.
36727 (sh_mod_LDFLAGS): Likewise.
36728
36729 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
36730 script/sh/lexer.c_DEPENDENCIES.
36731 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
36732 kern/rescue_reader.c and kern/rescue_parser.c.
36733 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
36734 (grub_emu_SOURCES): Change source files.
36735 (pkglib_MODULES): Remove normal.mod.
36736 (normal_SOURCES): Removed.
36737 (normal_mod_CFLAGS): Likewise.
36738 (normal_mod_LDFLAGS): Likewise.
36739 * conf/i386-coreboot.rmk: Likewise.
36740 * conf/i386-efi.rmk: Likewise.
36741 * conf/i386-ieee1276.rmk: Likewise.
36742 * conf/powerpc-ieee1275.rmk: Likewise.
36743 * conf/sparc64-ieee1275.rmk: Likewise.
36744 * conf/x86_64-efi.rmk: Likewise.
36745
36746 * include/grub/command.h (grub_command_execute): New inline function.
36747
36748 * include/grub/menu.h (grub_menu_entry): Removed commands field.
36749
36750 * include/grub/normal.h: Remove <grub/setjmp.h>.
36751 (grub_fs_module_list): Moved to normal/autofs.c.
36752 (grub_exit_env): Removed.
36753 (grub_command_execute): Likewise.
36754 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
36755 parameter script.
36756 (read_command_list): New function declaration.
36757 (read_fs_list): Likewise.
36758
36759 * include/parser.h: Include <grub/reader.h>.
36760 (grub_parser_split_cmdline): Change type of getline parameter.
36761 (grub_parser): New structure.
36762 (grub_parser_class): New variable.
36763 (grub_parser_execute): New function declaration.
36764 (grub_register_rescue_parser): Likewise.
36765 (grub_parser_register): New inline function.
36766 (grub_parser_unregister): Likewise.
36767 (grub_parser_get_current): Likewise.
36768 (grub_parser_set_current): Likewise.
36769
36770 * include/grub/reader.h: New file.
36771 * kern/reader.c: Likewise.
36772 * kern/rescue_parser.c: Likewise.
36773 * kern/rescue_reader.c: Likewise.
36774 * normal/autofs.c: Likewise.
36775 * normal/dyncmd.c: Likewise.
36776
36777 * include/grub/rescue.h: Removed.
36778 * normal/command.h: Likewise.
36779
36780 * include/grub/script.h: Moved to ...
36781 * include/grub/script_sh.h: ... Moved here.
36782 * normal/execute.c: Moved to ...
36783 * script/sh/execute.c: ... Moved here.
36784 * normal/function.c: Moved to ...
36785 * script/sh/function.c: ... Moved here.
36786 * normal/lexer.c: Moved to ...
36787 * script/sh/lexer.c: ... Moved here.
36788 * normal/parser.y: Moved to ...
36789 * script/sh/parser.y: ... Moved here.
36790 * normal/script.c: Moved to ...
36791 * script/sh/script.c: ... Moved here.
36792
36793 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
36794 <grub/reader.h>.
36795 (grub_exit_env): Removed.
36796 (fs_module_list): Moved to normal/autofs.c.
36797 (grub_file_getline): Don't handle comment here.
36798 (free_menu): Skip removed field entry->commands.
36799 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
36800 script parameter.
36801 (read_config_file): Removed nested parameter, change getline function.
36802 (grub_enter_normal_mode): Removed.
36803 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
36804 (read_command_list): Likewise.
36805 (autoload_fs_module): Moved to normal/autofs.c.
36806 (read_fs_list): Likewise.
36807 (reader_nested): New variable.
36808 (grub_normal_execute): Run parser.sh to switch to sh parser.
36809 (grub_cmd_rescue): Removed.
36810 (cmd_normal): Removed.
36811 (grub_cmd_normal): Unregister itself at the beginning. Don't register
36812 rescue command.
36813 (grub_cmdline_run): New function.
36814 (grub_normal_reader_init): Likewise.
36815 (grub_normal_read_line): Likewise.
36816 (grub_env_write_pager): Likewise.
36817 (cmdline): New variable.
36818 (grub_normal_reader): Likewise.
36819 (GRUB_MOD_INIT): Register normal reader and set as current, register
36820 pager hook, register normal command with grub_register_command_prio,
36821 so that it won't show up in command.lst.
36822 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
36823 grub_fs_autoload_hook.
36824
36825 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
36826 (grub_menu_execute_entry): Replace grub_script_execute with
36827 grub_parser_execute, change parameter to grub_command_execute.
36828
36829 * normal/menu_text.c: Remove <grub/script.h>.
36830
36831 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
36832 and <grub/parser.h>.
36833 (run): Change editor_getline to use new parser interface. Change
36834 parameter to grub_command_execute.
36835
36836 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
36837 <grub/reader.h> and <grub/parser.h>.
36838 (grub_load_normal_mode): Execute normal command.
36839 (grub_main): Call grub_register_core_commands,
36840 grub_register_rescue_parser and grub_register_rescue_reader, use
36841 grub_reader_loop to enter input loop.
36842
7dd4a573 36843 * kern/parser.c (grub_parser_split_cmdline): Change type of
36844 getline parameter.
d558e6b5 36845 (grub_parser_class): New variable.
36846 (grub_parser_execute): New function.
36847
36848 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
36849 * loader/multiboot2.c: Likewise.
36850 * loader/sparc64/ieee1275/linux.c: Likewise.
36851
36852 * util/grub-emu.c (read_command_list): New dummy function.
36853
18db813d 368542009-05-02 Robert Millan <rmh.grub@aybabtu.com>
36855
36856 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
36857 count to 16 for CCISS and IDA.
36858
6c67de15 368592009-05-02 Robert Millan <rmh.grub@aybabtu.com>
36860
36861 * normal/menu_text.c (grub_wait_after_message): Print a newline
36862 after waiting for user input.
36863
36864 * loader/i386/linux.c: Include `<grub/normal.h>'.
36865 (grub_cmd_linux): Improve the error message about `ask' mode, by
36866 waiting for user input so it's not missed (we can do this, since
36867 user requested interaction).
36868
d9dc87b0 368692009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36870
36871 Added missing lst to grub-mkrescue
36872
36873 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
36874 and ${input_dir}/parttool.lst
36875
ac8a2baa 368762009-04-30 David S. Miller <davem@davemloft.net>
36877
ad22a610 36878 * util/hostdisk.c (device_is_wholedisk): New function.
36879 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
36880 zero only if device_is_wholedisk() returns true.
36881
6966215d 36882 * util/hostdisk.c (convert_system_partition_to_system_disk):
36883 Handle virtual disk devices named /dev/vdiskX as found on sparc
36884 and powerpc.
36885
ac8a2baa 36886 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
36887 lettered partition specifier is found, convert to numbered.
36888
979b4fb4 368892009-04-29 David S. Miller <davem@davemloft.net>
36890
e2bf39b2 36891 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
36892 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36893
3c64e104 36894 * normal/command.c: Add missing newline at end of file.
36895
979b4fb4 36896 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
36897 warnings.
36898 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
36899 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
36900 grub_ofdisk_read): Likewise, and deal similarly with the fact that
36901 ihandles have a 32-bit type but need to be stored in a "void *".
36902
136d9f82 369032009-04-28 Pavel Roskin <proski@gnu.org>
36904
9459c306 36905 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
36906 not disk. Adjust all dependencies.
2e08a26a 36907 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 36908 grub_disk_close().
36909
136d9f82 36910 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
36911 parent's partition, don't copy it by reference, as it gets freed
36912 on close.
36913
7dd4a573 369142009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 36915
36916 Preboot hooks support
36917
36918 * commands/boot.c (struct grub_preboot_t): new declaration
36919 (preboots_head): new variable
36920 (preboots_tail): likewise
36921 (grub_loader_register_preboot_hook): new function
36922 (grub_loader_unregister_preboot_hook): likewise
36923 (grub_loader_set): launch preboot hooks
36924 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
36925 (grub_loader_register_preboot_hook): new declaration
36926 (grub_loader_unregister_preboot_hook): likewise
36927
5af922b5 369282009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
36929
36930 Warning fix
36931
7dd4a573 36932 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 36933 calling grub_dprintf
36934
a5562c30 369352009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
36936
36937 Bug and warning fixes
36938
7dd4a573 36939 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 36940 declaration
36941 * commands/test.c (test_parse): fixed bug with file tests and corrected
36942 declaration of find_file
36943
4006f85c 369442009-04-26 Pavel Roskin <proski@gnu.org>
36945
36946 * Makefile.in: Don't install empty manual pages if help2man is
36947 missing. Use help2man option for output, not shell redirection.
36948
5c77c3de 369492009-04-26 David S. Miller <davem@davemloft.net>
36950
36951 * util/grub-mkdevicemap.c (make_device_map): Add missing
36952 NESTED_FUNC_ATTR to process_device().
36953
033b10a8 369542009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36955
36956 Test command
36957
36958 * commands/test.c: rewritten to use bash-like test
36959
e4343593 369602009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36961
36962 Parttool autoloading and improvements
36963
7dd4a573 36964 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 36965 (parttool.lst): new target
36966 * genmk.rb: generate parttool-*
36967 (CLEANFILES): add #{parttool}
36968 (PARTTOOLFILES): new variable
36969 * genparttoollist.sh: new file
7dd4a573 36970 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 36971 (grub_pcpart_type): likewise
36972 * commands/parttool.c (helpmsg): new variable
36973 (grub_cmd_parttool): output help if not enough arguments are supplied
36974 autoload modules
36975 (GRUB_MOD_INIT(parttool)): use helpmsg
36976
0d312500 369772009-04-24 David S. Miller <davem@davemloft.net>
36978
7dd4a573 36979 Avoiding opening same device multiple times in device iterator.
0d312500 36980
36981 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 36982 and use it to build a list of partitions in iterate_disk() and
0d312500 36983 iterate_partition().
36984
ac20caff 36985 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
36986 on disk->data.
36987
0dcf7495 36988 * disk/ieee1275/nand.c (grub_nand_iterate): Return
36989 grub_devalias_iterate() result instead of unconditional 0.
36990 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
36991 Also, capture hook return value, either directly or via
36992 grub_children_iterate(), and propagate to caller.
36993 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
36994 grub_children_iterate): Return value is now 'int' instead of
36995 'grub_err_t'.
36996 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
36997 like a proper iterator, stopping when hooks return non-zero.
36998 (grub_devalias_iterate): Likewise.
36999
c8c08833 370002009-04-23 David S. Miller <davem@davemloft.net>
37001
37002 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37003
f01005a8 370042009-04-22 David S. Miller <davem@davemloft.net>
37005
37006 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37007 is larger than address_cells, use that value for address_cells too.
37008
4e8269da 37009 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37010 IEEE1275_MAX_PATH_LEN): Define.
37011 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37012 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37013 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37014 'devtype'. Explicitly NULL terminate devalias expansion.
37015
a1447506 37016 * util/sparc64/ieee1275/misc.c: New file.
37017 * util/sparc64/ieee1275/grub-setup.c: New file.
37018 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37019 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37020 * util/sparc64/ieee1275/grub-install.in: New file.
37021 * util/ieee1275/ofpath.c: New file.
37022 * util/ieee1275/devicemap.c: New file.
37023 * util/devicemap.c: New file.
37024 * util/deviceiter.c: New file.
37025 * kern/sparc64/ieee1275/init.c: New file.
37026 * include/grub/util/ofpath.h: New file.
37027 * include/grub/util/deviceiter.h: New file.
37028 * util/grub-mkdevicemap.c: Include deviceiter.h.
37029 Implement using grub_util_emit_devicemap_entry and
37030 grub_util_iterate_devices.
37031 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37032 util/devicemap.c into grub-mkdevicemap
37033 * conf/i386-efi.rmk: Likewise.
37034 * conf/i386-ieee1275.rmk: Likewise.
37035 * conf/i386-pc.rmk: Likewise.
37036 * conf/powerpc-ieee1275.rmk: Likewise.
37037 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37038 images and installation utilities. Build kernel as image
37039 instead of as elf binary. Use common rules as much as possible.
37040
7dd4a573 370412009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37042
37043 Correct GPT definition
37044
7dd4a573 37045 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37046 of "attrib" member
37047
c6c5219f 370482009-04-19 Felix Zielcke <fzielcke@z-51.de>
37049
37050 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37051
0552ff9f 370522009-04-19 David S. Miller <davem@davemloft.net>
37053
37054 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37055 (grub_rescue_cmd_linux): Rename to...
37056 (grub_cmd_linux): and fix prototype.
37057 (grub_rescue_cmd_initrd): Rename to...
37058 (grub_cmd_initrd): and fix prototype.
37059 (cmd_linux, cmd_initrd): New.
37060 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37061 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37062
d1a282fc 370632009-04-17 Pavel Roskin <proski@gnu.org>
37064
07c5039f 37065 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37066 format.
37067 (grub_ohci_transfer): Likewise.
37068
b012002d 37069 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37070
1bc09c35 37071 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37072 return without a value. Fix inconsistent indentation.
37073
e0ff9126 37074 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37075 match struct grub_fs.
37076
d1a282fc 37077 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37078 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37079 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37080 * commands/lspci.c (grub_lspci_iter): Likewise.
37081
a96df3f2 370822009-04-16 Bean <bean123ch@gmail.com>
37083
37084 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37085 value.
37086
41bb0fe9 370872009-04-15 Pavel Roskin <proski@gnu.org>
37088
37089 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37090 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37091 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37092 definitions.
37093
596c6970 370942009-04-15 Felix Zielcke <fzielcke@z-51.de>
37095
37096 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37097 that no multiple data or metadata areas are supported and `Unknown
596c6970 37098 metadata header'.
37099
7dd4a573 371002009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37101
37102 Move loader out of the kernel
37103
37104 * kern/loader.c: moved to ...
37105 * commands/boot.c: ... moved here
37106 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37107 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37108 * include/grub/kernel.h (grub_machine_fini): export
37109 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37110 (grub_loader_set): likewise
37111 (grub_loader_unset): likewise
37112 (grub_loader_boot): likewise
37113 * conf/common.rmk: new module boot.mod
37114 (pkglib_MODULES): add boot.mod
37115 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37116 (grub_emu_SOURCES): likewise
37117 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37118 (grub_emu_SOURCES): likewise
37119 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37120 (grub_emu_SOURCES): likewise
37121 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37122 (grub_emu_SOURCES): likewise
37123 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37124 (grub_emu_SOURCES): likewise
7dd4a573 37125 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37126 (grub_emu_SOURCES): likewise
0d5d5653 37127 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37128 (grub_emu_SOURCES): likewise
0d5d5653 37129
7dd4a573 371302009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37131
37132 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37133
5999d619 37134 * kern/misc.c (grub_itoa): Removed function
37135 (grub_ltoa): likewise
37136 (grub_vsprintf): use grub_lltoa
37137
7dd4a573 371382009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37139
37140 Restore grub-emu
37141
37142 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37143 * conf/i386-coreboot.rmk: likewise
37144 * conf/i386-ieee1275.rmk: likewise
37145 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37146
20318222 371472009-04-15 Felix Zielcke <fzielcke@z-51.de>
37148
37149 * INSTALL: Add that `./autogen.sh' needs to be run before
37150 `./configure.'.
37151
d05f0df3 371522009-04-14 Bean <bean123ch@gmail.com>
37153
37154 * Makefile.in (pkglib_DATA): Add handler.lst.
37155 (handler.lst): New rule.
37156
37157 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37158 * conf/i386-coreboot.rmk: Likewise.
37159 * conf/i386-ieee1275.rmk: Likewise.
37160 * conf/i386-efi.rmk: Likewise.
37161 * conf/x86_64-efi.rmk: Likewise.
37162 * conf/powerpc-ieee1275.rmk: Likewise.
37163 * conf/sparc64-ieee1275.rmk: Likewise.
37164
37165 * genhandlerlist.sh: New file.
37166
37167 * genmk.rb: Add rules to generate handler.lst.
37168
37169 * include/grub/normal.h (grub_file_getline): New function definition.
37170 (read_handler_list): Likewise.
37171 (free_handler_list): Likewise.
37172
37173 * include/grub/term.h (grub_term_register_input): Add name parameter
37174 for auto generation of handler.lst.
37175 (grub_term_register_output): Likewise.
37176
37177 * normal/handler.c: New file.
37178
37179 * normal/main.c (get_line): Renamed to grub_file_getline.
37180 (read_config_file): Use the newly renamed grub_file_getline.
37181 (read_command_list): Likewise.
37182 (read_fs_list): Likewise.
37183 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37184 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37185
37186 * term/efi/console.c (grub_console_init): Add name parameter for auto
37187 generation of handler.lst.
37188 * term/gfxterm.c: Likewise.
37189 * term/i386/pc/at_keyboard.c: Likewise.
37190 * term/i386/pc/console.c: Likewise.
37191 * term/i386/pc/serial.c: Likewise.
37192 * term/i386/pc/vesafb.c: Likewise.
37193 * term/i386/pc/vga.c: Likewise.
37194 * term/i386/pc/vga_text.c: Likewise.
37195 * term/ieee1275/ofconsole.c: Likewise.
37196 * term/usb_keyboard.c: Likewise.
37197
33c846be 371982009-04-14 Bean <bean123ch@gmail.com>
37199
37200 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37201 properly with null character.
37202
4484e01e 372032009-04-14 Felix Zielcke <fzielcke@z-51.de>
37204
37205 * configure: Remove.
37206 * config.h.in: Likewise.
f93d668e 37207 * stamp-h.in: Likewise.
4484e01e 37208 * DISTLIST: Likewise.
37209 * conf/common.mk: Likewise.
37210 * conf/i386-coreboot.mk: Likewise.
37211 * conf/i386-efi.mk: Likewise.
37212 * conf/i386-ieee1275.mk: Likewise.
37213 * conf/i386.mk: Likewise.
37214 * conf/i386-pc.mk: Likewise.
37215 * conf/powerpc-ieee1275.mk: Likewise.
37216 * conf/sparc64-ieee1275.mk: Likewise.
37217 * conf/x86_64-efi.mk: Likewise.
37218
37219 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37220 develop on GRUB.
37221
7dd4a573 372222009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37223 David S. Miller <davem@davemloft.net>
37224
37225 * util/hostdisk.c (make_device_name): Fix buffer length
37226 calculations.
37227
e25b5a8c 372282009-04-14 Felix Zielcke <fzielcke@z-51.de>
37229
37230 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37231 <sys/param.h> and <sys/sysctl.h>.
37232 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37233 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37234 opening the device and reset them afterwards.
37235
1f1f580c 372362009-04-13 Pavel Roskin <proski@gnu.org>
37237
37238 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37239 Reported by John Stanley <jpsinthemix@verizon.net>
37240
7ebc2d6b 372412009-04-13 Robert Millan <rmh@aybabtu.com>
37242
37243 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37244 that name for menuentries when appropriate.
7ebc2d6b 37245
d8ba3667 372462009-04-13 Felix Zielcke <fzielcke@z-51.de>
37247
37248 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37249
cba416eb 372502009-04-13 Robert Millan <rmh@aybabtu.com>
37251
37252 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37253 to Linux, simply abort telling the user it's no longer supported.
37254
a547a745 372552009-04-13 Felix Zielcke <fzielcke@z-51.de>
37256
37257 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37258 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37259 `freebsd_loadenv' only when devices.hints exist.
37260
232a769c 372612009-04-13 Pavel Roskin <proski@gnu.org>
37262
37263 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37264
c3012039 372652009-04-13 Felix Zielcke <fzielcke@z-51.de>
37266
37267 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37268 partition number.
37269 (grub_drive): Likewise.
37270
234022fe 372712009-04-13 David S. Miller <davem@davemloft.net>
37272
37273 * kern/sparc64/ieee1275/ieee1275.c: New file.
37274 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37275 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37276 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37277 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37278 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37279 grub_ieee1275_alloc_physmem): Declare new exported functions.
37280
d8e1836c 37281 * include/grub/sparc64/ieee1275/loader.h: New file.
37282 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37283 * include/grub/sparc64/kernel.h: Likewise.
37284 * loader/sparc64/ieee1275/linux.c: Likewise.
37285
96bd81ec 37286 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37287 (grub_fstest_SOURCES): Likewise.
37288
6a4737e5 37289 * util/hostdisk.c (make_device_name): Do not make any assumptions
37290 about the length of drive names.
37291
1d7a72fd 37292 * kern/dl.c (grub_dl_load_file): Close file immediately when
37293 we are done using it.
37294
56bc2471 372952009-04-12 David S. Miller <davem@davemloft.net>
37296
37297 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37298 values. Noticed by Pavel Roskin.
37299
df38d0bb 37300 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37301 target compiler.
7dd4a573 37302
e382e93a 37303 * genmk.rb: Add more flexible image type specification, also
37304 pass --strip-unneeded to objcopy.
37305 * conf/i386-pc.rmk: Use *_FORMAT.
37306 * conf/i386-pc.mk: Rebuilt.
37307
f5dbbca9 37308 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37309 (OFDISK_HASH_SZ): Define.
37310 (ofdisk_hash): New hash table.
37311 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37312 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37313 instead of device phandle which is not unique.
37314
91c88b12 37315 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37316 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37317 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37318 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37319 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37320 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37321 GRUB_KERNEL_MACHINE_DATA_END): Define.
37322 (grub_kernel_image_size, grub_total_module_size): Declare.
37323
5b5d4aa5 373242009-04-12 Pavel Roskin <proski@gnu.org>
37325
7dd4a573 37326 * configure.ac: Change the logic when we check for target tools.
37327 Do it when the target is specified and it's different from the
37328 specified value of the host.
5b5d4aa5 37329
c91e1793 373302009-04-11 Felix Zielcke <fzielcke@z-51.de>
37331
37332 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37333 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37334 GNU/kFreeBSD. Check if a device is a character device. Use
37335 DIOCGMEDIASIZE to get the size.
37336 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37337 support for GNU/kFreeBSD.
37338 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37339 is a character device instead of a block device. Add support for
37340 FreeBSD device names.
37341
37342 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37343 is a character device instead of a block device.
37344
37345 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37346 is a character device instead of a block device.
37347
b1ac8644 373482009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37349
37350 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37351 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37352 FreeBSD. Check if a device is a character device. Use
37353 DIOCGMEDIASIZE to get the size.
37354 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37355 support for FreeBSD.
37356 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37357 is a character device instead of a block device. Add support for
37358 FreeBSD device names.
37359
37360 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37361 a character device instead of a block device.
37362 (grub_util_check_char_device): New function.
37363
37364 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37365 a character device instead of a block device.
37366
37367 * include/grub/util/getroot.h (grub_util_check_char_device): New
37368 prototype.
37369
a3f7515a 373702009-04-11 David S. Miller <davem@davemloft.net>
37371
37372 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37373 static libgcc.
37374 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37375 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37376 function, if present.
37377 (__bswapdi2): Likewise.
37378
0d44993d 37379 * include/grub/sparc64/ieee1275/boot.h: New file.
37380 * boot/sparc64/ieee1275/boot.S: Likewise.
37381 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37382
ed3d2bc2 37383 * kern/misc.c (grub_ltoa): New function.
37384 (grub_vsprintf): Use it to format 'long' integers.
37385
d3bfb59c 373862009-04-10 David S. Miller <davem@davemloft.net>
37387
37388 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37389 slots are of type grub_ieee1275_cell_t.
37390 (grub_nand_read): Likewise.
37391 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37392 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37393 macros are used to compare values in arg/ret block of the call.
37394 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37395 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37396 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37397 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37398 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37399 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37400 grub_ieee1275_close, grub_ieee1275_set_property,
37401 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37402 grub_ieee1275_cell_t.
37403 * kern/ieee1275/openfw.c (grub_map): Likewise.
37404 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37405 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37406
450e2238 37407 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37408 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37409 (grub_devalias_iterate): Likewise.
37410
7dd4a573 374112009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37412
37413 UFS improvements
37414
37415 * fs/ufs.c (INODE_NBLOCKS): new definition
37416 (struct grub_ufs_dirent): added fields for non-BSD dirents
37417 (grub_ufs_get_file_block): fixed double indirect handling
37418 (grub_ufs_lookup_symlink): use more robust way to determine whether
37419 symlink is inline
37420 (grub_ufs_find_file): support for non-BSD dirents
37421 (grub_ufs_dir): support for non-BSD dirents
37422
e7e6862a 374232009-04-10 Bean <bean123ch@gnail.com>
37424
37425 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37426 attribute, otherwise the size would be wrong for i386 platform.
37427
37428 * include/grub/pci.h (grub_pci_read_word): New inline function.
37429 (grub_pci_read_byte): Likewise.
37430 (grub_pci_write): Likewise.
37431 (grub_pci_write_word): Likewise.
37432 (grub_pci_write_byte): Likewise.
37433
37434 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37435
37436 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37437 (find_framebuf): Scan pci to locate the frame buffer address.
37438
37439 * commands/efi/fixvideo.c: New file.
37440
37441 * commands/efi/loadbios.c: Likewise.
37442
37443 * commands/memrw.c: Likewise.
37444
37445 * util/grub-dumpbios.in: Likewise.
37446
37447 * conf/common.rmk (grub-dumpbios): New utility.
37448 (pkglib_MODULES): New module memrw.mod.
37449 (memrw_mod_SOURCE): New macro.
37450 (memrw_mod_CFLAGS): Likewise.
37451 (memrw_mod_LDFLAGS): Likewise.
37452
7dd4a573 37453 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37454 fixvideo.mod.
37455 (loadbios_mod_SOURCE): New macro.
37456 (loadbios_mod_CFLAGS): Likewise.
37457 (loadbios_mod_LDFLAGS): Likewise.
37458 (fixvideo_mod_SOURCE): Likewise.
37459 (fixvideo_mod_CFLAGS): Likewise.
37460 (fixvideo_mod_LDFLAGS): Likewise.
37461
7dd4a573 37462 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37463 fixvideo.mod.
37464 (loadbios_mod_SOURCE): New macro.
37465 (loadbios_mod_CFLAGS): Likewise.
37466 (loadbios_mod_LDFLAGS): Likewise.
37467 (fixvideo_mod_SOURCE): Likewise.
37468 (fixvideo_mod_CFLAGS): Likewise.
37469 (fixvideo_mod_LDFLAGS): Likewise.
37470
af63ada2 374712009-04-08 Felix Zielcke <fzielcke@z-51.de>
37472
37473 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37474
c2cdde70 374752009-04-07 David S. Miller <davem@davemloft.net>
37476
37477 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37478 support for R_SPARC_OLO10 relocations. Fix compile warning for
37479 R_SPARC_WDISP30 case.
ea3f72cf 37480 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37481
761319cf 374822009-04-06 Pavel Roskin <proski@gnu.org>
37483
1007d1f5 37484 * include/grub/misc.h (ARRAY_SIZE): New macro.
37485 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37486 New macro.
37487 * loader/i386/linux.c (allocate_pages): Use free_pages().
37488 (grub_linux_unload): Don't use free_pages().
37489 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37490 wrong index. Treat all other modes as text modes.
37491 (grub_cmd_linux): Initialize vid_mode unconditionally to
37492 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37493
761319cf 37494 * commands/help.c (print_command_help): Use cmd->prio, not
37495 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37496
ea761d40 374972009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37498
ea761d40 37499 Parttool
37500
37501 * parttool/pcpart.c: new file
37502 * commands/parttool.c: likewise
37503 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37504 (parttool_mod_SOURCES): new variable
37505 (parttool_mod_CFLAGS): likewise
37506 (parttool_mod_LDFLAGS): likewise
37507 (pcpart_mod_SOURCES): likewise
37508 (pcpart_mod_CFLAGS): likewise
37509 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37510 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37511 and parttool/pcpart.c
37512 * conf/i386-efi.rmk: likewise
37513 * conf/i386-ieee1275.rmk: likewise
37514 * conf/i386-pc.rmk: likewise
37515 * conf/powerpc-ieee1275.rmk: likewise
37516 * conf/sparc64-ieee1275.rmk: likewise
37517 * conf/x86_64-ieee1275.rmk: likewise
37518
05aaebfb 375192009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37520
37521 Support for mtime and further expandability of dir command
37522
37523 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37524 * include/grub/datetime.h: ... moved here and added
05aaebfb 37525 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37526 * include/grub/fs.h: new syntax for dir and mtime functions in
37527 struct grub_fs
05aaebfb 37528 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37529 and GRUB_FSHELP_FLAGS_MASK
37530 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37531 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37532 (grub_ext2_mtime): new function
37533 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37534 (grub_hfsplus_mtime): new function
37535 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37536 (GRUB_UFS_ATTR_FILE): likewise
37537 (GRUB_UFS_ATTR_LNK): likewise
37538 (struct grub_ufs_sblock): new fields mtime
37539 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37540 all users updated
37541 (grub_ufs_dir): mtime support
37542 (grub_ufs_mtime): new function
37543 * fs/affs.c (grub_affs_dir): use new dir syntax
37544 * fs/afs.c (grub_afs_dir): likewise
37545 * fs/cpio.c (grub_cpio_dir): likewise
37546 * fs/fat.c (grub_fat_find_dir): likewise
37547 * fs/hfs.c (grub_hfs_dir): likewise
37548 * fs/iso9660.c (grub_iso9660_dir): likewise
37549 * fs/jfs.c (grub_jfs_dir): likewise
37550 * fs/minix.c (grub_minix_dir): likewise
37551 * fs/ntfs.c (grub_ntfs_dir): likewise
37552 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37553 * fs/sfs.c (grub_sfs_dir): likewise
37554 * fs/xfs.c (grub_xfs_dir): likewise
37555 * util/hostfs.c (grub_hostfs_dir): likewise
37556 * lib/datetime.c: moved to ...
37557 * normal/datetime.c: ... moved here
37558 (grub_unixtime2datetime): new function
37559 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 37560 * normal/completion.c (iterate_dir): use new dir syntax
37561 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 37562 last modification time of a volume
7dd4a573 37563 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 37564 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 37565 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 37566 (normal_mod_SOURCES): likewise
37567 (datetime_mod_SOURCES): Removed lib/datetime.c
37568 * conf/i386-efi.rmk: likewise
7dd4a573 37569 * conf/i386-ieee1275.rmk: likewise
05aaebfb 37570 * conf/i386-pc.rmk: likewise
37571 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37572 * conf/sparc64-ieee1275.rmk: likewise
37573 * conf/x86_64-efi.rmk: likewise
05aaebfb 37574
8a7e1a14 375752009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37576
37577 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 37578
37579 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 37580 on grub_fat_find_dir
37581 (grub_fat_find_dir): use grub_fat_iterate_dir
37582 (grub_fat_label): likewise
37583
04186a9c 375842009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37585
7dd4a573 37586 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 37587 and command.h
37588 remove extraneous kernel_elf_HEADERS
37589
da4c0bb6 375902009-04-04 Bean <bean123ch@gnail.com>
37591
37592 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37593
37594 * util/misc.c: Likewise.
37595
54ad9555 375962009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37597
37598 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37599 instead of grub_printf.
37600
7a6bf9f2 376012009-04-03 Robert Millan <rmh@aybabtu.com>
37602
37603 * loader/i386/linux.c (grub_linux_setup_video): Fill
37604 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37605 values from `mode info' structure instead of hardcoded
37606 values.
37607
3fcc2083 376082009-04-01 Pavel Roskin <proski@gnu.org>
37609
37610 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37611 unused now.
37612 * genmk.rb: Likewise.
37613 * configure.ac: Likewise.
37614
5ec9740b 376152009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37616
37617 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37618 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37619
5270cec8 376202009-04-01 David S. Miller <davem@davemloft.net>
37621
37622 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 37623 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 37624 (grub_setjmp): Mark with 'returns_twice' attribute.
37625 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37626 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37627 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37628
9c3dd854 376292009-04-01 Robert Millan <rmh@aybabtu.com>
37630
37631 Reapply fix from 2008-07-28 which was accidentally reverted; also
37632 perform the same fix to a similar check in same function.
37633
37634 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37635 with the same number are found, just use issue a warning with
37636 grub_dprintf(), as this error has been reported to be non-fatal.
37637
0d818b7e 376382009-03-31 Pavel Roskin <proski@gnu.org>
37639
37640 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37641 for cross-compilation.
37642
95646d92 376432009-03-30 Robert Millan <rmh@aybabtu.com>
37644
37645 Fix i386-ieee1275 build.
37646
37647 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37648 Remove declaration.
37649
6a003ed1 376502009-03-30 Pavel Roskin <proski@gnu.org>
37651
37652 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37653 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37654 zero-terminated, rely only on the strlen value. Fix comparison
37655 of strings differing in length.
37656
92f33540 376572009-03-30 Robert Millan <rmh@aybabtu.com>
37658
37659 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37660 checking for abi version. Improve error messages on BIOS to notify
37661 user about `linux16' command.
37662
a8c48fd5 376632009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37664
f968172e 37665 Leak fixes
a8c48fd5 37666
f968172e 37667 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37668 in case of collision
37669 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 37670
9c323f09 376712009-03-29 Robert Millan <rmh@aybabtu.com>
37672
37673 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
37674 set `vid_mode' accordingly.
37675 (grub_linux_boot): Process `vid_mode' and set video mode.
37676
ae68f423 376772009-03-29 Robert Millan <rmh@aybabtu.com>
37678
37679 * util/grub.d/10_linux.in (linux_entry): New function.
37680 Factorize generation of Linux boot entries.
37681
5709cfc4 376822009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
37683
37684 Make the format of Environment Block plain text. The boot loader
37685 part is not tested well yet.
7dd4a573 37686
5709cfc4 37687 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
37688 (buffer): Removed.
37689 (envblk): Likewise.
37690 (usage): Remove "info" and "clear". Add "unset". Update the
37691 description of "set", as this does not delete variables any
37692 longer.
37693 (create_envblk_file): Complete rewrite.
37694 (open_envblk_file): Likewise.
37695 (cmd_info): Removed.
37696 (cmd_list): Likewise.
37697 (cmd_set): Likewise.
37698 (cmd_clear): Likewise.
37699 (list_variables): New function.
37700 (write_envblk): Likewise.
37701 (set_variables): Likewise.
37702 (unset_variables): Likewise.
37703 (main): Complete rewrite.
37704
37705 * commands/loadenv.c (buffer): Removed.
37706 (envblk): Likewise.
37707 (open_envblk_file): New function.
37708 (read_envblk_file): Complete rewrite.
37709 (grub_cmd_load_env): Likewise.
37710 (grub_cmd_list_env): Likewise.
37711 (struct blocklist): New struct.
37712 (free_blocklists): New function.
37713 (check_blocklists): Likewise.
37714 (write_blocklists): Likewise.
37715 (grub_cmd_save_env): Complete rewrite.
37716
37717 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
37718 a plain text signature.
37719 (GRUB_ENVBLK_MAXLEN): Removed.
37720 (struct grub_envblk): Complete rewrite.
37721 (grub_envblk_find): Removed.
37722 (grub_envblk_insert): Likewise.
37723 (grub_envblk_open): New prototype.
37724 (grub_envblk_set): Likewise.
37725 (grub_envblk_delete): Put const to VALUE.
37726 (grub_envblk_iterate): Put const to NAME and VALUE.
37727 (grub_envblk_close): New prototype.
37728 (grub_envblk_buffer): New inline function.
37729 (grub_envblk_size): Likewise.
37730
37731 * lib/envblk.c: Include grub/mm.h.
37732 (grub_env_find): Removed.
37733 (grub_envblk_open): New function.
37734 (grub_envblk_close): Likewise.
37735 (escaped_value_len): Likewise.
37736 (find_next_line): Likewise.
37737 (grub_envblk_insert): Removed.
37738 (grub_envblk_set): New function.
37739 (grub_envblk_delete): Complete rewrite.
37740 (grub_envblk_iterate): Likewise.
37741
a9368fd3 377422009-03-28 Robert Millan <rmh@aybabtu.com>
37743
37744 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
37745 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
37746 variables. Use 16-bit loader.
37747 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
37748 loader.
37749 * kern/i386/loader.S (grub_linux_boot): Rename to ...
37750 (grub_linux16_boot): ... this. Update all users.
37751 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
37752 (grub_linux_boot): ... this. Update all users.
37753
37754 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
37755 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
37756 commands to `linux16' and `initrd16'.
37757 (GRUB_MOD_FINI(linux)): Rename to ...
37758 (GRUB_MOD_FINI(linux16)): ... this.
37759
e4dd5a7e 377602009-03-24 Pavel Roskin <proski@gnu.org>
37761
37762 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
37763 not just for compilation.
37764
c04d6e05 377652009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
37766
37767 Move multiboot helper out of kernel
37768
37769 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
37770 `loader/i386/multiboot_helper.S'.
37771 * conf/i386-coreboot.rmk: Likewise
37772 * conf/i386-ieee1275.rmk: Likewise
37773
37774 * kern/i386/loader.S: Move multiboot helpers from here...
37775 * loader/i386/multiboot_helper.S: ...moved here
37776 * include/grub/i386/loader.h: Move declarations of multiboot
37777 helpers from here...
37778 * include/grub/i386/multiboot.h: ...moved here
37779 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
37780
42a5b3fc 377812009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37782
37783 * kern/env.c (grub_env_context_open): Added an argument to specify
37784 whether a new context inherits exported variables from current
37785 one. This is useful when making a sandbox to interpret a config
37786 file.
37787 All callers updated.
37788
37789 * include/grub/env.h (grub_env_context_open): Updated the prototype.
37790
b28bbc4e 377912009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37792
37793 * kern/env.c (grub_env_context_close): Fix memory leaks.
37794
f04f02e4 377952009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37796
37797 * normal/main.c (grub_normal_execute): Added an argument
37798 BATCH to specify if an interactive interface should be provided
37799 after reading a config file.
37800 All callers updated.
37801 (read_command_list): Prevent being executed twice.
37802 (read_fs_list): Likewise.
37803
42a5b3fc 37804 * include/grub/normal.h (grub_normal_execute): Updated the
37805 prototype.
f04f02e4 37806
41473ac2 378072009-03-22 Pavel Roskin <proski@gno.org>
37808
fbc00b0c 37809 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
37810 _start.
37811 * kern/i386/pc/startup.S: Likewise.
37812 * kern/i386/efi/startup.S: Likewise.
37813 * kern/i386/ieee1275/startup.S: Likewise.
37814 * kern/i386/coreboot/startup.S: Likewise.
37815 * kern/x86_64/efi/startup.S: Likewise.
37816
41473ac2 37817 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
37818 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
37819 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
37820
2274cc8f 378212009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
37822
37823 Bugfixes in multiboot for bugs uncovered by solaris kernel.
37824
37825 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
37826 limit detection.
37827 Use vaddr of correct segment for entry_point.
37828
b1b797cb 378292009-03-21 Bean <bean123ch@gmail.com>
37830
37831 * commands/blocklist.c: Add include file <grub/command.h>, remove
37832 <grub/normal.h> and <grub/arg.h>.
37833 (grub_cmd_blocklist): Use the new command interface.
37834 (GRUB_MOD_INIT): Likewise.
37835 (GRUB_MOD_FINI): Likewise.
37836 * commands/boot.c: Likewise.
37837 * commands/cat.c: Likewise.
37838 * commands/cmp.c: Likewise.
37839 * commands/configfile.c: Likewise.
37840 * commands/crc.c: Likewise.
37841 * commands/echo.c: Likewise.
37842 * commands/halt.c: Likewise.
37843 * commands/handler.c: Likewise.
37844 * commands/hdparm.c: Likewise.
37845 * commands/help.c: Likewise.
37846 * commands/hexdump.c: Likewise.
37847 * commands/loadenv.c: Likewise.
37848 * commands/ls.c: Likewise.
37849 * commands/lsmmap.c: Likewise.
37850 * commands/lspci.c: Likewise.
37851 * commands/loadenv.c: Likewise.
37852 * commands/read.c: Likewise.
37853 * commands/reboot.c: Likewise.
37854 * commands/search.c: Likewise.
37855 * commands/sleep.c: Likewise.
37856 * commands/test.c: Likewise.
37857 * commands/usbtest.c: Likewise.
37858 * commands/videotest.c: Likewise.
37859 * commands/i386/cpuid.c: Likewise.
37860 * commands/i386/pc/halt.c: Likewise.
37861 * commands/i386/pc/play.c: Likewise.
37862 * commands/i386/pc/pxecmd.c: Likewise.
37863 * commands/i386/pc/vbeinfo.c: Likewise.
37864 * commands/i386/pc/vbetest.c: Likewise.
37865 * commands/ieee1275/suspend.c: Likewise.
37866 * disk/loopback.c: Likewise.
37867 * font/font_cmd.c: Likewise.
37868 * hello/hello.c: Likewise.
37869 * loader/efi/appleloader.c: Likewise.
37870 * loader/efi/chainloader.c: Likewise.
37871 * loader/i386/bsd.c: Likewise.
37872 * loader/i386/efi/linux.c: Likewise.
37873 * loader/i386/ieee1275/linux.c: Likewise.
37874 * loader/i386/linux.c: Likewise.
37875 * loader/i386/pc/chainloader.c: Likewise.
37876 * loader/i386/pc/linux.c: Likewise.
37877 * loader/powerpc/ieee1275/linux.c: Likewise.
37878 * loader/multiboot_loader.c: Likewise.
37879 * term/gfxterm.c: Likewise.
37880 * term/i386/pc/serial.c: Likewise.
37881 * term/terminfo.c: Likewise.
37882
37883 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
37884 * term/i386/pc/vga.c: Likewise.
37885 * video/readers/jpeg.c: Likewise.
37886 * video/readers/png.c: Likewise.
37887 * video/readers/tga.c: Likewise.
37888
37889 * util/grub-fstest (cmd_loopback): Removed.
37890 (cmd_blocklist): Likewise.
37891 (cmd_ls): Likewise.
37892 (grub_register_command): Likewise.
37893 (grub_unregister_command): Likewise.
37894 (execute_command): Use grub_command_find to locate command and execute
37895 it.
37896
37897 * include/grub/efi/chainloader.h: Removed.
37898 * loader/efi/chainloader_normal.c: Likewise.
37899 * loader/i386/bsd_normal.c: Likewise.
37900 * loader/i386/pc/chainloader_normal.c: Likewise.
37901 * loader/i386/pc/multiboot_normal.c: Likewise.
37902 * loader/linux_normal.c: Likewise.
37903 * loader/multiboot_loader_normal.c: Likewise.
37904 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37905
37906 * gencmdlist.sh: Scan new registration command grub_register_extcmd
37907 and grub_register_command_p1.
37908
37909 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
37910 kern/command.c, lib/arg.c and commands/extcmd.c.
37911 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
37912 (minicmd_mod_SOURCES): New variable.
37913 (minicmd_mod_CFLAGS): Likewise.
37914 (minicmd_mod_LDFLAGS): Likewise.
37915 (extcmd_mod_SOURCES): Likewise.
37916 (extcmd_mod_CFLAGS): Likewise.
37917 (extcmd_mod_LDFLAGS): Likewise.
37918 (boot_mod_SOURCES): Removed.
37919 (boot_mod_CFLAGS): Likewise.
37920 (boot_mod_LDFLAGS): Likewise.
37921
37922 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
37923 kern/corecmd.c.
37924 (kernel_img_HEADERS): Add command.h.
37925 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
37926 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
37927 and lib/arg.c.
37928 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
37929 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
37930 remove the corresponding normal mode command.
37931 (normal_mod_SOURCES): Remove normal/arg.c.
37932 * conf/i386-coreboot.rmk: Likewise.
37933 * conf/i386-efi.rmk: Likewise.
37934 * conf/i386-ieee1275.rmk: Likewise.
37935 * conf/powerpc-ieee1275.rmk: Likewise.
37936 * conf/x86_64-efi.rmk: Likewise.
37937
37938 * include/grub/arg.h: Move from here ...
37939 * include/grub/lib/arg.h: ... to here.
37940
37941 * normal/arg.c: Move from here ...
37942 * lib/arg.c: ... to here.
37943
37944 * commands/extcmd.c: New file.
37945 * commands/minicmd.c: Likewise.
37946 * include/grub/command.h: Likewise.
37947 * include/grub/extcmd.h: Likewise.
37948 * kern/command.c: Likewise.
37949 * kern/corecmd.c: Likewise.
37950
37951 * kern/list.c (grub_list_iterate): Return int instead of void.
37952 (grub_list_insert): New function.
37953 (grub_prio_list_insert): Likewise.
37954
37955 * kern/rescue.c (grub_rescue_command): Removed.
37956 (grub_rescue_command_list): Likewise.
37957 (grub_rescue_register_command): Likewise.
37958 (grub_rescue_unregister_command): Likewise.
37959 (grub_rescue_cmd_boot): Move to minicmd.c
37960 (grub_rescue_cmd_help): Likewise.
37961 (grub_rescue_cmd_info): Likewise.
37962 (grub_rescue_cmd_boot): Likewise.
37963 (grub_rescue_cmd_testload): Likewise.
37964 (grub_rescue_cmd_dump): Likewise.
37965 (grub_rescue_cmd_rmmod): Likewise.
37966 (grub_rescue_cmd_lsmod): Likewise.
37967 (grub_rescue_cmd_exit): Likewise.
37968 (grub_rescue_print_devices): Moved to corecmd.c.
37969 (grub_rescue_print_files): Likewise.
37970 (grub_rescue_cmd_ls): Likewise.
37971 (grub_rescue_cmd_insmod): Likewise.
37972 (grub_rescue_cmd_set): Likewise.
37973 (grub_rescue_cmd_unset): Likewise.
7d074e3c 37974 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 37975 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 37976 commands, remove grub_rescue_register_command calls.
b1b797cb 37977
7d074e3c 37978 * normal/command.c (grub_register_command): Removed.
b1b797cb 37979 (grub_unregister_command): Likewise.
37980 (grub_command_find): Likewise.
37981 (grub_iterate_commands): Likewise.
37982 (rescue_command): Likewise.
37983 (export_command): Moved to corecmd.c.
37984 (set_command): Removed.
37985 (unset_command): Likewise.
37986 (insmod_command): Likewise.
37987 (rmmod_command): Likewise.
37988 (lsmod_command): Likewise.
37989 (grub_command_init): Likewise.
37990
37991 * normal/completion.c (iterate_command): Use cmd->prio to check for
37992 active command.
37993 (complete_arguments): Use grub_extcmd_t structure to find options.
37994 (grub_normal_do_completion): Change function grub_iterate_commands to
37995 grub_command_iterate.
37996
37997 * normal/execute.c (grub_script_execute_cmd): No need to parse
37998 argument here.
37999
38000 * normal/main.c (grub_dyncmd_dispatcher): New function.
38001 (read_command_list): Register unload commands as dyncmd.
38002 (grub_cmd_normal): Use new command interface, register rescue,
38003 unregister normal at entry, register normal, unregister rescue at exit.
38004
38005 * include/grub/list.h (grub_list_test_t): New type.
38006 (grub_list_iterate): Return int instead of void.
38007 (grub_list_insert): New function.
38008 (GRUB_AS_NAMED_LIST_P): New macro.
38009 (GRUB_AS_PRIO_LIST): Likewise.
38010 (GRUB_AS_PRIO_LIST_P): Likewise.
38011 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38012 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38013 (grub_prio_list): New structure.
38014 (grub_prio_list_insert): New function.
38015 (grub_prio_list_remove): New inline function.
38016
38017 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38018 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38019 (GRUB_COMMAND_FLAG_MENU): Likewise.
38020 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38021 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38022 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38023 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38024 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38025 (grub_command): Likewise.
38026 (grub_register_command): Likewise.
38027 (grub_command_find): Likewise.
38028 (grub_iterate_commands): Likewise.
38029 (grub_command_init): Likewise.
38030 (grub_arg_parse): Likewise.
38031 (grub_arg_show_help): Likewise.
38032
38033 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38034 (grub_rescue_unregister_command): Likewise.
38035
38036 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38037 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38038 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38039
38040 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38041 grub_rescue_cmd_initrd.
38042 * include/grub/i386/loader.h: Likewise.
38043 * include/grub/x86_64/loader.h: Likewise.
38044
38045 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38046
1f4147aa 380472009-03-21 Bean <bean123ch@gmail.com>
38048
38049 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38050 instead of stat in mingw environment.
38051
38052 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38053
38054 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38055
38056 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38057 AC_CONFIG_LINKS.
38058
2156d5ba 380592009-03-21 Bean <bean123ch@gmail.com>
38060
38061 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38062 out of range error.
38063
177b82ca 380642009-03-18 Michel Dänzer <michel@daenzer.net>
38065
38066 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38067 checking inode flags for EXT4_EXTENTS_FLAG.
38068
14aad807 380692009-03-18 Robert Millan <rmh@aybabtu.com>
38070
38071 * loader/i386/linux.c: Include `<grub/video.h>' and
38072 `<grub/i386/pc/vbe.h>'..
38073 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38074 (grub_linux32_boot): Attempt to configure video settings with
38075 grub_linux_setup_video().
38076 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38077 to avoid grub_console_fini() which would step out of graphical mode
38078 unconditionally.
38079
8cf83a27 380802009-03-14 Robert Millan <rmh@aybabtu.com>
38081
38082 Fix build on powerpc.
38083 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38084
40164e75 380852009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38086
38087 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38088 background image command.
38089
c58bc32a 380902009-03-12 Colin D Bennett <colin@gibibit.com>
38091
38092 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38093 (grub_gfxterm_putchar): Extract pairs of identical calls to
38094 draw_cursor out of conditional blocks.
38095
5415144a 380962009-03-11 Pavel Roskin <proski@gnu.org>
38097
38098 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38099 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38100
6394042e 381012009-03-11 Robert Millan <rmh@aybabtu.com>
38102
38103 * loader/i386/multiboot_elfxx.c
38104 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38105
b7b50e5f 381062009-03-11 Felix Zielcke <fzielcke@z-51.de>
38107
38108 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38109 `kern/handler.c'.
38110
1ca7fc96 381112009-03-11 Robert Millan <rmh@aybabtu.com>
38112
38113 * loader/i386/multiboot.c (code_size): New variable.
38114 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38115 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38116 4-byte alignment to MBI and others by increasing
7d074e3c 38117 `boot_loader_name_length' appropriately.
1ca7fc96 38118
38119 * loader/i386/multiboot_elfxx.c
38120 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38121
a83ea1d2 381222009-03-09 Felix Zielcke <fzielcke@z-51.de>
38123
38124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38125 `fs/ext2.c'.
38126
aa9f3bff 381272009-03-08 Robert Millan <rmh@aybabtu.com>
38128
38129 Make loader/i386/linux.c usable on i386-pc again.
38130
38131 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38132 memory to heap.
38133 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38134 `#error' stanza.
38135
d8b3b60e 381362009-03-07 Bean <bean123ch@gmail.com>
38137
38138 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38139 allocation.
38140
b362c9e9 381412009-03-06 Robert Millan <rmh@aybabtu.com>
38142
38143 Fix display issue on terminals with screen size other than 80x25
38144 (e.g. gfxterm with resolution higher than 640x480).
38145
38146 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38147 position relative to the center of the terminal instead of relying
b362c9e9 38148 on a hardcoded offset.
38149
9304eef1 381502009-03-04 Robert Millan <rmh@aybabtu.com>
38151
38152 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38153 installed.
38154
38155 * Makefile.in (host_kernel): New variable.
38156 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38157 scripts instead of just the windows one.
38158 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38159
eabc95fb 381602009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38161
38162 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38163 `kern/handler.c'.
38164 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38165 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38166 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38168 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38169 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38170
ceb1223c 381712009-03-04 Felix Zielcke <fzielcke@z-51.de>
38172
38173 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38174 or if there's no space for the disk label and print the partition number on a
38175 invalid magic.
38176
4910684a 381772009-03-04 Felix Zielcke <fzielcke@z-51.de>
38178
38179 * util/misc.c: Include <time.h>.
38180 (grub_millisleep): New function.
38181
7e9ca17a 381822009-03-04 Bean <bean123ch@gmail.com>
38183
38184 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38185 another option -mno-red-zone.
38186
38187 * commands/handler.c: Change module description.
38188
38189 * kern/handler.c: Add missing space at the end of description line.
38190
38191 * kern/list.c: Likewise.
38192
f501677c 381932009-03-03 Robert Millan <rmh@aybabtu.com>
38194
38195 Move more components to the relocation area, and fix mbi pointer
38196 handling to use the destination rather than the origin (thanks to
38197 Vladimir Serbinenko for spotting).
38198
38199 * loader/i386/multiboot.c (mbi_dest): New variable.
38200 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38201 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38202 relocation area.
38203
9902d047 382042009-03-01 Bean <bean123ch@gmail.com>
38205
50fb7002 38206 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38207 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38208 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38209 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38210
38211 * loader/i386/efi/linux.c (acpi_guid): New variable.
38212 (acpi_guid): Likewise.
38213 (EBDA_SEG_ADDR): New constant.
38214 (LOW_MEM_ADDR): Likewise.
38215 (FAKE_EBDA_SEG): Likewise.
38216 (fake_bios_data): New function.
38217 (grub_linux_boot): Call fake_bios_data.
38218
71b9f361 382192009-03-01 Bean <bean123ch@gmail.com>
38220
38221 * commands/terminal.c: Removed.
38222
38223 * commands/handler.c: New file.
38224
38225 * include/grub/list.h: Likewise.
38226
38227 * include/grub/handler.h: Likewise.
38228
38229 * kern/list.c: Likewise.
38230
38231 * kern/handler.c: Likewise.
38232
38233 * kern/term.h: Include header file <grub/handler.h>.
38234 (grub_term_input): Move next field to the beginning.
38235 (grub_term_output): Likewise.
38236 (grub_term_input_class): New variable.
38237 (grub_term_output_class): Likewise.
38238 (grub_term_register_input): Changed to inline function.
38239 (grub_term_register_output): Likewise.
38240 (grub_term_unregister_input): Likewise.
38241 (grub_term_unregister_output): Likewise.
38242 (grub_term_set_current_input): Likewise.
38243 (grub_term_set_current_output): Likewise.
38244 (grub_term_get_current_input): Likewise.
38245 (grub_term_get_current_output): Likewise.
38246 (grub_term_iterate_input): Removed.
38247 (grub_term_iterate_output): Likewise.
38248
38249 * kern/term.c (grub_term_list_input): Removed.
38250 (grub_term_list_output): Likewise.
38251 (grub_term_input_class): New variable.
38252 (grub_term_output_class): Likewise.
50fb7002 38253 (grub_cur_term_input): Change variable as macro.
71b9f361 38254 (grub_cur_term_output): Likewise.
38255 (grub_term_register_input): Removed.
38256 (grub_term_register_output): Likewise.
38257 (grub_term_unregister_input): Likewise.
38258 (grub_term_unregister_output): Likewise.
38259 (grub_term_set_current_input): Likewise.
38260 (grub_term_set_current_output): Likewise.
38261 (grub_term_iterate_input): Likewise.
38262 (grub_term_iterate_output): Likewise.
38263 (grub_term_get_current_input): Likewise.
38264 (grub_term_get_current_output): Likewise.
38265
38266 * util/grub-editenv.c: Include header file <grub/handler.h>.
38267 (grub_term_get_current_input): Removed.
38268 (grub_term_get_current_output): Likewise.
38269 (grub_term_input_class): New variable.
50fb7002 38270 (grub_term_output_class): Likewise.
71b9f361 38271
38272 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38273 (grub_term_get_current_output): Likewise.
38274 (grub_term_input_class): New variable.
50fb7002 38275 (grub_term_output_class): Likewise.
71b9f361 38276
38277 * util/grub-probe.c (grub_term_get_current_input): Removed.
38278 (grub_term_get_current_output): Likewise.
38279 (grub_term_input_class): New variable.
50fb7002 38280 (grub_term_output_class): Likewise.
71b9f361 38281
38282 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38283 (grub_term_get_current_output): Likewise.
38284 (grub_term_input_class): New variable.
50fb7002 38285 (grub_term_output_class): Likewise.
71b9f361 38286
38287 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38288 (terminal_mod_SOURCES): Likewise.
38289 (terminal_mod_CFLAGS): Likewise.
38290 (terminal_mod_LDFLAGS): Likewise.
38291
38292 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38293 handler.c.
38294 (kernel_img_SOURCES): Add list.c and handler.c.
38295 (kernel_img_HEADERS): Add list.h and handler.h.
38296
38297 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38298 handler.c.
38299 (kernel_mod_SOURCES): Add list.c and handler.c.
38300 (kernel_mod_HEADERS): Add list.h and handler.h.
38301
38302 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38303 handler.c.
38304 (kernel_elf_SOURCES): Add list.c and handler.c.
38305 (kernel_elf_HEADERS): Add list.h and handler.h.
38306
38307 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38308 handler.c.
38309 (kernel_elf_SOURCES): Add list.c and handler.c.
38310 (kernel_elf_HEADERS): Add list.h and handler.h.
38311
38312 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38313 handler.c.
38314 (kernel_mod_SOURCES): Add list.c and handler.c.
38315 (kernel_mod_HEADERS): Add list.h and handler.h.
38316
38317 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38318 handler.c.
38319 (kernel_elf_SOURCES): Add list.c and handler.c.
38320 (kernel_elf_HEADERS): Add list.h and handler.h.
38321
8a31787f 383222009-02-27 Robert Millan <rmh@aybabtu.com>
38323
38324 Factorize elf32 / elf64 code in Multiboot loader. This will
38325 prevent it from getting out of sync again.
38326
38327 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38328 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38329 grub_multiboot_load_elf64): Move from here ...
38330 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38331 grub_multiboot_load_elf): ... to here (new file).
38332
51cd3dfc 383332009-02-27 Robert Millan <rmh@aybabtu.com>
38334
38335 * util/grub.d/10_linux.in: Rename "single-user mode" to
38336 "recovery mode".
38337
6e8c9c3a 383382009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38339
38340 Don't leak in SCSI code.
38341 * disk/scsi.c (grub_scsi_close): free `scsi'.
38342
4b6bf4f9 383432009-02-27 Robert Millan <rmh@aybabtu.com>
38344
38345 * loader/i386/pc/multiboot.c: Move from here ...
38346 * loader/i386/multiboot.c: ... to here. Update all users.
38347
b9413424 383482009-02-27 Robert Millan <rmh@aybabtu.com>
38349
38350 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38351 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38352
50fb7002 383532009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38354
38355 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38356 b-tree.
38357
8cc50345 383582009-02-27 Robert Millan <rmh@aybabtu.com>
38359
38360 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38361 `0x' qualifier as 0 when base is specified as parameter).
38362
6e09b8b7 383632009-02-24 Bean <bean123ch@gmail.com>
38364
38365 * configure.ac: Check for -mcmodel=large in x86_64 target.
38366
38367 * include/grub/efi/api.h (efi_call_10): New macro.
38368 (efi_wrap_10): New function.
38369
38370 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38371 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38372 (GRUB_PE32_REL_BASED_LOW): Likewise.
38373 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38374 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38375 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38376 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38377 (GRUB_PE32_REL_BASED_REL): Likewise.
38378 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38379 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38380 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38381
38382 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38383 issue.
38384
38385 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38386 (efi_wrap_10): New function.
38387
38388 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38389
38390 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38391 MB/MBP model (NV chipset).
38392 (devdata_devs): Add devpath_5 to the list.
38393
38394 * load/i386/efi/linux.c (video_base): Remove variable.
38395 (RGB_MASK): New macro.
38396 (RGB_MAGIC): Likewise.
38397 (LINE_MIN): Likewise.
38398 (LINE_MAX): Likewise.
38399 (FBTEST_STEP): Likewise.
38400 (FBTEST_COUNT): Likewise.
38401 (fb_list): New variable.
38402 (grub_find_video_card): Remove function.
38403 (find_framebuf): New function.
38404 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38405 line length.
38406
38407 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38408 problem for x86_64.
38409
74b21bee 384102009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38411
38412 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38413
38414 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38415 coding tool name.
38416
a455f472 384172009-02-22 Robert Millan <rmh@aybabtu.com>
38418
38419 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38420 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38421 in our relocation, instead of using it directly from heap. Also
38422 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38423
6374daf3 384242009-02-21 Robert Millan <rmh@aybabtu.com>
38425
38426 Implement USB keyboard support (based on patch by Marco Gerards)
38427
38428 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38429 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38430 (usb_keyboard_mod_LDFLAGS): New variables.
38431
38432 * term/usb_keyboard.c: New file.
38433
8fa4ea70 384342009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38435
38436 Corrected wrong declaration
38437
38438 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38439
353976ac 384402009-02-14 Christian Franke <franke@computer.org>
38441
38442 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38443 (grub_lspci_iter): Print class code and programming interface byte.
38444
6aa1169b 384452009-02-14 Christian Franke <franke@computer.org>
38446
38447 * gendistlist.sh: Ignore `.svn' directories.
38448
265372ca 384492009-02-14 Felix Zielcke <fzielcke@z-51.de>
38450
38451 * fs/fat.c: Add 2009 to Copyright line.
38452
9ff516f3 384532009-02-14 Christian Franke <franke@computer.org>
38454
38455 * commands/hdparm.c: New file. Provides `hdparm' command
38456 which sends ATA commands via grub_disk_ata_pass_through ().
38457
38458 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38459
38460 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38461 and <grub/cpu/io.h> to include/grub/ata.h.
38462 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38463 (GRUB_CDROM_SECTOR_SIZE): Remove.
38464 (GRUB_ATA_*): Move to include/grub/ata.h.
38465 (GRUB_ATAPI_*): Likewise.
38466 (enum grub_ata_commands): Likewise.
38467 (enum grub_ata_timeout_milliseconds): Likewise.
38468 (struct grub_ata_device): Likewise.
38469 (grub_ata_regset): Likewise.
38470 (grub_ata_regget): Likewise.
38471 (grub_ata_regset2): Likewise.
38472 (grub_ata_regget2): Likewise.
38473 (grub_ata_check_ready): Likewise.
38474 (grub_ata_wait_not_busy): Remove static, exported in
38475 include/grub/ata.h.
38476 (grub_ata_wait_drq): Likewise.
38477 (grub_ata_pio_read): Likewise.
38478
38479 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38480 function for hdparm.mod.
38481
38482 * include/grub/ata.h: New file, contains declarations from
38483 disk/ata.c.
38484 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38485
38486 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38487 (grub_disk_ata_pass_through): New exported variable.
38488
38489 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38490
772e23da 384912009-02-13 Colin D Bennett <colin@gibibit.com>
38492
38493 Support multiple fallback entries, and provide an API to support
38494 executing default+fallback menu entries. Renamed the `terminal' menu
38495 viewer to `text'.
38496
38497 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38498 variable declaration.
38499 (grub_menu_execute_callback): New structure declaration.
38500 (grub_menu_execute_callback_t): New typedef.
38501 (grub_menu_execute_with_fallback): New function declaration.
38502 (grub_menu_get_entry): Likewise.
38503 (grub_menu_get_timeout): Likewise.
38504 (grub_menu_set_timeout): Likewise.
38505
38506 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38507
38508 * normal/menu.c (grub_wait_after_message): Moved to
38509 `normal/menu_text.c'.
38510 (draw_border): Likewise.
38511 (print_message): Likewise.
38512 (print_entry): Likewise.
38513 (print_entries): Likewise.
38514 (grub_menu_init_page): Likewise.
38515 (get_entry_number): Likewise.
38516 (print_timeout): Likewise.
38517 (run_menu): Likewise.
38518 (grub_menu_execute_entry): Likewise.
38519 (show_text_menu): Likewise.
38520 (get_and_remove_first_entry_number): New function.
38521 (grub_menu_execute_with_fallback): Likewise.
38522 (get_entry): Renamed to ...
38523 (grub_menu_get_entry): .. this and made it global.
38524 (get_timeout): Renamed to ...
38525 (grub_menu_get_timeout): ... this and made it global.
38526 (set_timeout): Renamed to ...
38527 (grub_menu_set_timeout): ... this and made it global.
38528 (grub_normal_terminal_menu_viewer): Renamed to ...
38529 (grub_normal_text_menu_viewer): ... this.
38530
38531 * normal/menu_text.c: New file. Extracted text-menu-specific code
38532 from normal/menu.c.
38533
38534 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38535 (normal_mod_SOURCES): Likewise.
38536
38537 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38538 (normal_mod_SOURCES): Likewise.
38539
38540 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38541 (normal_mod_SOURCES): Likewise.
38542
38543 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38544 (normal_mod_SOURCES): Likewise.
38545
38546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38547 (normal_mod_SOURCES): Likewise.
38548
38549 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38550 (normal_mod_SOURCES): Likewise.
38551
38552 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38553 (normal_mod_SOURCES): Likewise.
38554
16ac430e 385552009-02-11 Robert Millan <rmh@aybabtu.com>
38556
38557 * util/grub.d/00_header.in: Update old reference to `font' command.
38558
06ff20fc 385592009-02-10 Felix Zielcke <fzielcke@z-51.de>
38560
38561 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38562
38563 Based on patch from Javier Martín.
38564
96da9407 385652009-02-09 Felix Zielcke <fzielcke@z-51.de>
38566
38567 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 38568 to avoid false positives with FAT.
96da9407 38569 (grub_fstest_SOURCES): Likewise.
38570 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38571 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38573 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38574 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38575 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38576
6dca6fe4 385772009-02-09 Felix Zielcke <fzielcke@z-51.de>
38578
06ff20fc 38579 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 38580 bpb.version_specific.fat12_or_fat16.fstype and
38581 bpb.version_specific.fat32.fstype.
38582
2550c62f 385832009-02-08 Robert Millan <rmh@aybabtu.com>
38584
be110b30 38585 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 38586
56978920 385872009-02-08 Robert Millan <rmh@aybabtu.com>
38588
38589 * Makefile.in (host_os, host_cpu): New variables.
38590 (target_os): Remove. Update all users.
38591
d64399b5 385922009-02-08 Marco Gerards <marco@gnu.org>
38593
38594 * Makefile.in (enable_grub_emu_usb): New variable.
38595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38596 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38597 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38598 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38599 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38600 `usbtest.mod' and `usbms.mod'.
38601 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38602 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38603 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38604 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38605 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38606 variables.
38607
38608 * disk/usbms.c: New file.
38609
38610 * include/grub/usb.h: Likewise.
38611
38612 * include/grub/usbtrans.h: Likewise.
38613
38614 * include/grub/usbdesc.h: Likewise.
38615
38616 * bus/usb/usbtrans.c: Likewise.
38617
38618 * bus/usb/ohci.c: Likewise.
38619
38620 * bus/usb/uhci.c: Likewise.
38621
38622 * bus/usb/usbhub.c: Likewise.
38623
38624 * bus/usb/usb.c: Likewise.
38625
38626 * commands/usbtest.c: Likewise.
38627
38628 * util/usb.c: Likewise.
50fb7002 38629
d64399b5 38630 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38631
38632 * configure.ac: Test for libusb presence.
50fb7002 38633
d64399b5 38634 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38635
2b40d6bb 386362009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38637
38638 * kern/mm.c: Add more comments.
38639
73a4ce81 386402009-02-08 Robert Millan <rmh@aybabtu.com>
38641
38642 Patch from Javier Martín.
38643 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38644 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38645
f821ce59 386462009-02-08 Robert Millan <rmh@aybabtu.com>
38647
38648 * fs/cpio.c: Split tar functionality to ...
38649 * fs/tar.c: ... here (new file). Update all users.
38650
aebfc4b0 386512009-02-07 Robert Millan <rmh@aybabtu.com>
38652
38653 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38654 backward-incompatible features.
38655
38656 Based on patch from Javier Martín, with some adjustments.
38657
50fb7002 386582009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 38659
38660 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38661
0bb5115e 386622009-02-07 Robert Millan <rmh@aybabtu.com>
38663
38664 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38665 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38666 after the RAID stuff.
38667
38a0f8e7 386682009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38669
50fb7002 38670 Fixes problem when running vbetest command as reported by
38a0f8e7 38671 Vladimir Serbinenko <phcoder@gmail.com>.
38672
38673 * (grub_vbe_set_video_mode): Fixed problem with text modes.
38674
3143cc1c 386752009-02-04 Felix Zielcke <fzielcke@z-51.de>
38676
38677 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
38678 /dev/md/NpN style mdraid devices.
38679
9cba6fce 386802009-02-03 Felix Zielcke <fzielcke@z-51.de>
38681
38682 * util/unifont2pff.rb: Remove.
38683
e507a2c1 386842009-02-03 Felix Zielcke <fzielcke@z-51.de>
38685
38686 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
38687 `#'.
38688
d2c2b4cd 386892009-02-03 Felix Zielcke <fzielcke@z-51.de>
38690
38691 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
38692 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38693 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38694 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38696 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38697 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38698
b4315fb0 386992009-02-02 Christian Franke <franke@computer.org>
38700
38701 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
38702
de3aa260 387032009-02-01 Felix Zielcke <fzielcke@z-51.de>
38704
7c3ff286 38705 * INSTALL: Note that we now require at least autoconf 2.59 and
38706 that LZO is optional.
de3aa260 38707
825a182b 387082009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38709
38710 Base on patch on bug #24154 created by Tomas Tintera
38711 <trosos@seznam.cz>.
38712
38713 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
38714
a69ef770 387152009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38716
7c3ff286 38717 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 38718 <bero@arklinux.org>.
38719
38720 * normal/parser.y (script_init): Add missing semicolon.
38721
6fa42fa6 387222009-01-31 Colin D Bennett <colin@gibibit.com>
38723
7c3ff286 38724 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 38725 (free_menu_entry_classes): Added.
38726 (grub_normal_menu_addentry): Added class property handling.
38727 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
38728 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
38729
38730 * normal/menu_viewer.c: New file.
38731
38732 * normal/menu.c (run_menu_entry): Renamed to ...
38733 (grub_menu_execute_entry): ... this and made it as global.
38734 (grub_menu_run): Renamed to ...
38735 (show_text_menu): ... this and made it local.
38736 (show_text_menu): Adapt to new function names.
38737 (grub_normal_terminal_menu_viewer): New global variable.
38738
38739 * include/grub/menu.h: New file.
38740
38741 * include/grub/menu_viewer.h: New file.
38742
38743 * include/grub/normal.h: Added include to grub/menu.h.
38744 (grub_menu_entry): Moved to include/grub/menu.h.
38745 (grub_menu_entry_t): Likewise.
38746 (grub_menu): Likewise.
38747 (grub_menu_t): Likewise.
38748 (grub_normal_terminal_menu_viewer): Added.
38749 (grub_menu_execute_entry): Likewise.
38750 (grub_menu_run): Removed.
38751
38752 * DISTLIST: Added include/grub/menu.h.
38753 Added include/grub/menu_viewer.h.
38754 Added normal/menu_viewer.c.
38755
387562009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
38757
38758 * normal/execute.c (grub_script_execute_menuentry): Changed to use
38759 arglist for menutitle arguments.
38760
38761 * normal/main.c (grub_normal_menu_addentry): Likewise.
38762
38763 * normal/parser.y (menuentry): Likewise.
38764
38765 * normal/script.c (grub_script_create_cmdmenu): Likewise.
38766
38767 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
38768 (grub_script_create_cmdmenu): Likewise.
38769
38770 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
38771
38772 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
38773 changes.
38774
38775 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
38776
38777 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
38778
38779 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
38780
38781 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38782
38783 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38784
38785 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38786
56192c23 387872009-01-30 Christian Franke <franke@computer.org>
38788
38789 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
38790 in option help text.
38791
d72521b3 387922009-01-27 Pavel Roskin <proski@gnu.org>
38793
38794 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
38795
994b5e84 387962009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38797
38798 * commands/lsmmap.c: Add include to grub/machine/memory.h.
38799
38800 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
38801
38802 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
38803 unregister function.
38804
6a7eab2c 388052009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38806
38807 * disk/scsi.c (grub_scsi_read): Fix sign problem.
38808
38809 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
38810
38811 * util/grub-mkfont.c (usage): Fix typo.
38812
38813 * util/elf/grub-mkimage.c (load_modules): Fix warning.
38814
1806b56e 388152009-01-26 Daniel Mierswa <impulze@impulze.org>
38816
3fb18f09 38817 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
38818
336e1fb9 38819 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
38820
1806b56e 38821 * kern/misc.c (grub_strcasecmp): New function.
38822 (grub_strcasecmp): Use grub_size_t instead of int for length.
38823 Fix return value.
38824 * include/grub/misc.h: Update function prototypes.
38825
580b2a0f 388262009-01-26 Robert Millan <rmh@aybabtu.com>
38827
38828 * configure.ac: Fix cross-compilation check.
ef257b36 38829
d31c24f1 388302009-01-22 Christian Franke <franke@computer.org>
38831
38832 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
38833 (precision) digit string. Allow `.format2' without `format1' (width).
38834 Limit input chars for `%s' output to `format2' if specified. This is
38835 compatible with standard printf ().
38836
3138b44c 388372009-01-22 Christian Franke <franke@computer.org>
38838
38839 * disk/ata.c (grub_ata_wait_status): Replace by ...
38840 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
38841 other status bits may be invalid while BSY is asserted.
38842 (grub_ata_check_ready): New function.
38843 (grub_ata_cmd): Removed.
38844 (grub_ata_wait_drq): New function.
38845 (grub_ata_strncpy): Remove inline.
38846 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
38847 and error check now done by grub_ata_wait_drq ().
38848 (grub_ata_pio_write): Likewise.
38849 (grub_atapi_identify): Set DEV before check for !BSY. Use
38850 grub_ata_wait_drq () to wait for data.
38851 (grub_ata_device_initialize): Add status register check to
38852 detect missing SATA slave devices. Add debug messages.
38853 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
38854 (grub_atapi_packet): Set DEV before check for !BSY. Replace
38855 transfer loop by grub_ata_pio_write ().
38856 (grub_ata_identify): Set DEV before check for !BSY. Use
38857 grub_ata_wait_drq () to wait for data.
ef257b36 38858 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 38859 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
38860 read/write in one loop. Fix invalid command on write. Fix incomplete
38861 command on (size % batch) == 0. Add missing error check after write of
38862 last block. Add debug messages.
38863 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
38864
59a64ef6 388652009-01-19 Christian Franke <franke@computer.org>
38866
38867 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
38868 (GRUB_ATAPI_IREASON_*): Likewise.
38869 (grub_ata_pio_write): Fix timeout error return.
38870 (grub_atapi_identify): Add grub_ata_wait () after cmd.
38871 (grub_atapi_wait_drq): New function.
38872 (grub_atapi_packet): New parameter `size'.
38873 Use grub_atapi_wait_drq () and direct write instead of
38874 grub_ata_pio_write ().
38875 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
38876 reads the number of bytes requested by the device for each DRQ
38877 assertion.
38878 (grub_atapi_write): Remove old implementation, return not
38879 implemented instead.
38880
1cfe20b3 388812009-01-19 Christian Franke <franke@computer.org>
38882
38883 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
38884 of 512 to calculate data size.
38885 (grub_scsi_read12): Likewise.
38886 (grub_scsi_write10): Likewise.
38887 (grub_scsi_write12): Likewise.
38888 (grub_scsi_read): Adjust size according to blocksize.
38889 Add checks for invalid blocksize and unaligned transfer.
38890
bee5fe5d 388912009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
38892
38893 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
38894
ef257b36 38895 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 38896 width glyphs.
38897
3e643f8c 388982009-01-19 Robert Millan <rmh@aybabtu.com>
38899
38900 * config.guess: Update to latest version from config git.
38901 * config.sub: Likewise.
38902
4fa80998 389032009-01-17 Felix Zielcke <fzielcke@z-51.de>
38904
38905 * Makefile.in: Change font compilation to use new grub-mkfont instead
38906 of java version.
38907
38908 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
38909 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
38910 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38911 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38912 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
38913 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
38914 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
38915 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
38916 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38917
7086085b 389182009-01-16 Christian Franke <franke@computer.org>
38919
38920 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
38921 (enum grub_ata_timeout_milliseconds): New enum.
38922 (grub_ata_wait_status): Add parameter milliseconds.
38923 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
38924 recovery from timed-out commands.
38925 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
38926 return grub_errno instead of REG_ERROR.
38927 (grub_ata_pio_write): Add parameter milliseconds.
38928 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
38929 Pass milliseconds to grub_ata_wait_status () and
38930 grub_ata_pio_read ().
38931 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
38932 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
38933 grub_ata_wait_status (). Fix IDENTIFY timeout check.
38934 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
38935 It is not suitable for device detection, because DEV bit is ignored,
38936 the command may run too long, and not all devices set the signature
38937 properly.
38938 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
38939 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
38940 Fix device selection, DEV bit must be set first to address the registers
38941 of the correct device.
38942 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
38943 grub_ata_pio_read/write ().
38944 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
38945 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
38946
4a412913 389472009-01-13 Carles Pina i Estany <carles@pina.cat>
38948
38949 * util/grub-editenv.c (main): Use fseeko(), not fseek().
38950
7795c55e 389512009-01-13 Bean <bean123ch@gmail.com>
d913988c 38952
38953 * util/grub-mkfont.c (write_font): forget to remove some debug code.
38954
7795c55e 389552009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 38956
38957 * Makefile.in: (enable_grub_mkfont): New variable.
38958 (freetype_cflags): Likewise.
38959 (freetype_libs): Likewise.
38960
38961 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
38962 (grub_mkfont_SOURCES): New variable.
38963 (grub_mkfont_CFLAGS): Likewise.
38964 (grub_mkfont_LDFLAGS): Likewise.
38965
38966 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
38967 library if `--enable-grub-mkfont' is requested.
38968 (enable_grub_mkfont): New variable.
38969 (freetype_cflags): Likewise.
38970 (freetype_libs): Likewise.
38971
38972 * util/grub-mkfont.c: New file.
38973
093af1fe 389742009-01-12 Christian Franke <franke@computer.org>
38975
38976 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
38977 mode check. Fix setting of compat_use[].
38978
f36cc108 389792009-01-10 Robert Millan <rmh@aybabtu.com>
38980
38981 Update a few copyright years which we forgot to do in 2008 (only for
38982 files whose changes made in 2008 were copyright-significant)
38983
38984 * Makefile.in: Add 2008 to Copyright line.
38985 * disk/ieee1275/ofdisk.c: Likewise.
38986 * disk/efi/efidisk.c: Likewise.
38987 * kern/dl.c: Likewise.
38988 * kern/sparc64/ieee1275/init.c: Likewise.
38989 * kern/mm.c: Likewise.
38990 * kern/efi/mm.c: Likewise.
38991 * boot/i386/pc/boot.S: Likewise.
38992 * genfslist.sh: Likewise.
38993 * fs/iso9660.c: Likewise.
38994 * fs/hfs.c: Likewise.
38995 * fs/jfs.c: Likewise.
38996 * fs/minix.c: Likewise.
38997 * fs/ufs.c: Likewise.
38998 * gensymlist.sh.in: Likewise.
38999 * genkernsyms.sh.in: Likewise.
39000 * include/grub/misc.h: Likewise.
39001 * include/grub/types.h: Likewise.
39002 * include/grub/symbol.h: Likewise.
39003 * include/grub/elf.h: Likewise.
39004 * include/grub/kernel.h: Likewise.
39005 * include/grub/disk.h: Likewise.
39006 * include/grub/dl.h: Likewise.
39007 * include/grub/i386/linux.h: Likewise.
39008 * include/grub/i386/pc/biosdisk.h: Likewise.
39009 * include/grub/efi/api.h: Likewise.
39010 * include/grub/efi/pe32.h: Likewise.
39011 * include/grub/util/misc.h: Likewise.
39012 * normal/execute.c: Likewise.
39013 * normal/arg.c: Likewise.
39014 * normal/completion.c: Likewise.
39015 * normal/lexer.c: Likewise.
39016 * normal/parser.y: Likewise.
39017 * normal/misc.c: Likewise.
39018 * commands/i386/pc/vbeinfo.c: Likewise.
39019 * commands/hexdump.c: Likewise.
39020 * commands/terminal.c: Likewise.
39021 * commands/ls.c: Likewise.
39022 * commands/help.c: Likewise.
39023 * partmap/pc.c: Likewise.
39024 * loader/efi/chainloader.c: Likewise.
39025 * loader/multiboot_loader.c: Likewise.
39026 * loader/i386/pc/multiboot2.c: Likewise.
39027 * term/efi/console.c: Likewise.
39028 * term/i386/pc/serial.c: Likewise.
39029 * util/lvm.c: Likewise.
39030 * util/console.c: Likewise.
39031 * util/i386/efi/grub-mkimage.c: Likewise.
39032 * util/raid.c: Likewise.
39033
7f02114b 390342009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39035
39036 * commands/videotest.c: Removed include to grub/machine/memory.h.
39037
39038 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39039 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39040 (video_mod_SOURCES): Removed.
39041 (video_mod_CFLAGS): Likewise.
39042 (video_mod_LDFLAGS): Likewise.
39043 (gfxterm_mod_SOURCES): Likewise.
39044 (gfxterm_mod_CFLAGS): Likewise.
39045 (gfxterm_mod_LDFLAGS): Likewise.
39046 (videotest_mod_SOURCES): Likewise.
39047 (videotest_mod_CFLAGS): Likewise.
39048 (videotest_mod_LDFLAGS): Likewise.
39049 (bitmap_mod_SOURCES): Likewise.
39050 (bitmap_mod_CFLAGS): Likewise.
39051 (bitmap_mod_LDFLAGS): Likewise.
39052 (tga_mod_SOURCES): Likewise.
39053 (tga_mod_CFLAGS): Likewise.
39054 (tga_mod_LDFLAGS): Likewise.
39055 (jpeg_mod_SOURCES): Likewise.
39056 (jpeg_mod_CFLAGS): Likewise.
39057 (jpeg_mod_LDFLAGS): Likewise.
39058 (png_mod_SOURCES): Likewise.
39059 (png_mod_CFLAGS): Likewise.
39060 (png_mod_LDFLAGS): Likewise.
39061
39062 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39063 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39064 (video_mod_SOURCES): Added.
39065 (video_mod_CFLAGS): Likewise.
39066 (video_mod_LDFLAGS): Likewise.
39067 (videotest_mod_SOURCES): Likewise.
39068 (videotest_mod_CFLAGS): Likewise.
39069 (videotest_mod_LDFLAGS): Likewise.
39070 (bitmap_mod_SOURCES): Likewise.
39071 (bitmap_mod_CFLAGS): Likewise.
39072 (bitmap_mod_LDFLAGS): Likewise.
39073 (tga_mod_SOURCES): Likewise.
39074 (tga_mod_CFLAGS): Likewise.
39075 (tga_mod_LDFLAGS): Likewise.
39076 (jpeg_mod_SOURCES): Likewise.
39077 (jpeg_mod_CFLAGS): Likewise.
39078 (jpeg_mod_LDFLAGS): Likewise.
39079 (png_mod_SOURCES): Likewise.
39080 (png_mod_CFLAGS): Likewise.
39081 (png_mod_LDFLAGS): Likewise.
39082 (gfxterm_mod_SOURCES): Likewise.
39083 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39084 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39085
39086 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39087 grub/machine/console.h.
39088
644fff97 390892009-01-04 Jerone Young <jerone@gmail.com>
39090
39091 Make on screen instructions clearer
39092
39093 Based on patch created by Jidanni <jidanni@jidanni.org>
39094
39095 * normal/menu.c: print clearer instructions on the screen
39096
1e901a75 390972009-01-02 Colin D Bennett <colin@gibibit.com>
39098
39099 New font engine.
34c44600 39100
1e901a75 39101 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39102 build system and fixed gfxterm.c to work with different sized fonts.
39103
39104 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39105
1e901a75 39106 * configure: Re-generated.
34c44600 39107
1e901a75 39108 * DISTLIST: Removed font/manager.c.
39109 Added font/font.c.
39110 Added font/font_cmd.c.
34c44600 39111
1e901a75 39112 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39113 compilation.
34c44600 39114
1e901a75 39115 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39116
39117 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39118
39119 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39120
1e901a75 39121 * normal/menu.c: Likewise.
34c44600 39122
1e901a75 39123 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39124 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39125
1e901a75 39126 * include/grub/font.h: Replaced with new file.
34c44600 39127
1e901a75 39128 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39129 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39130 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39131 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39132 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39133 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39134 fg_red, fg_green, fg_blue, fg_alpha.
39135 (grub_video_adapter): Removed blit_glyph.
34c44600 39136 (grub_video_blit_glyph): Removed.
39137
1e901a75 39138 * font/manager.c: Removed file.
34c44600 39139
39140 * font/font.c: New file.
39141
1e901a75 39142 * font/font_cmd.c: Likewise.
34c44600 39143
1e901a75 39144 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39145
1e901a75 39146 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39147 (grub_video_vbe_map_rgba): Likewise.
39148 (grub_video_vbe_unmap_color_int): Likewise.
39149 (grub_video_vbe_blit_glyph): Removed.
39150 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39151
1e901a75 39152 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39153 (get_pixel): Likewise.
34c44600 39154 (set_pixel): Likewise.
39155
1e901a75 39156 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39157
1e901a75 39158 * term/gfxterm.c: Adapted to new font engine.
34c44600 39159
1e901a75 39160 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39161
1e901a75 39162 * term/i386/pc/vga.c: Likewise.
34c44600 39163
1e901a75 39164 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39165
1e901a75 39166 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39167
1e901a75 39168 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39169
1e901a75 39170 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39171
1e901a75 39172 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39173
1e901a75 39174 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39175
1e901a75 39176 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39177
1e901a75 39178 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39179
1e901a75 39180 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39181
39182 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39183
1e901a75 39184 * util/grub-mkconfig_lib.in: Changed font extension.
39185
278922e8 391862008-12-28 Felix Zielcke <fzielcke@z-51.de>
39187
39188 * util/getroot.c (grub_util_get_grub_dev): Add support for
39189 /dev/md/dNNpNN style partitionable mdraid devices.
39190
3ced05cf 391912008-12-12 Alex Smith <alex@alex-smith.me.uk>
39192
39193 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39194 at a time limit of the PXE TFTP API correctly.
39195 (grub_pxefs_close): Likewise.
39196
7fd0ee30 391972008-11-29 Robert Millan <rmh@aybabtu.com>
39198
34c44600 39199 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39200 grub_ata_device_initialize() calls.
39201
34c44600 392022008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39203
39204 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39205 iteration failed.
39206 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39207
89313780 392082008-11-28 Robert Millan <rmh@aybabtu.com>
39209
39210 Fix build on powerpc-ieee1275. Based on patch created by
39211 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39212 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39213 `kern/ieee1275/mmap.c'.
39214 * include/grub/powerpc/ieee1275/memory.h: New file.
39215
15257703 39216 Provide grub-install on coreboot.
39217 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39218 (grub_install_SOURCES): New variable.
39219 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39220 usable on coreboot.
39221
9fc5388a 392222008-11-25 Felix Zielcke <fzielcke@z-51.de>
39223
39224 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39225 to `grub_term_input_t'.
39226 (grub_term_get_current_output): Change return type to
39227 `grub_term_output_t'.
39228
bc3a2f31 392292008-11-22 Robert Millan <rmh@aybabtu.com>
39230
34c44600 39231 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39232 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39233 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39234 grub_vga_text_cls().
39235
80fc88f2 39236 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39237 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39238
cbf36fd3 39239 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39240 to 0x200000 (avoids trouble with some OFW implementations, and matches
39241 with the one in Yaboot).
39242 Reported by Manoel Abranches
39243
73e8e268 392442008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39245
39246 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39247 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39248
73e8e268 39249 * util/grub-mkconfig_lib.in (grub_warn): New function.
39250 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39251 warnings, to obtain consistent formatting.
39252 * util/grub.d/00_header.in: Likewise.
39253 * util/update-grub_lib.in: Likewise.
39254
e94045a1 39255 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39256 Move comment text to `#error' stanza.
e94045a1 39257
79d29fd7 39258 Harmonize ieee1275's grub_available_iterate() with the generic
39259 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39260 build problem on i386-ieee1275):
39261 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39262 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39263 parameter `type'. Update all users of this function.
39264 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39265 `kern/ieee1275/mmap.c'.
39266 * kern/ieee1275/init.c
39267 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39268 with ...
39269 (grub_machine_mmap_iterate): ... this.
39270 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39271 return type to `grub_err_t'. Update all implementations of this
39272 function prototype.
39273 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39274 Likewise.
39275
60d6b16e 39276 Add `lsmmap' command (lists firmware-provided memory map):
39277 * commands/lsmmap.c: New file.
39278 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39279 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39280 variables.
39281 * conf/powerpc-ieee1275.rmk: Likewise.
39282 * conf/i386-coreboot.rmk: Likewise.
39283 * conf/i386-ieee1275.rmk: Likewise.
39284
ebaaf49b 392852008-11-19 Robert Millan <rmh@aybabtu.com>
39286
39287 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39288 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39289 constraints to initrd allocation (based on code from
39290 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39291 for Linux to find it.
ebaaf49b 39292
dfab719f 392932008-11-14 Robert Millan <rmh@aybabtu.com>
39294
39295 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39296 order to cope with duplicate slashes.
39297
10fc3eb9 392982008-11-14 Robert Millan <rmh@aybabtu.com>
39299
39300 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39301 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39302 don't want to mess with lower memory, because it is used in the Linux
39303 loader.
39304
39305 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39306 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39307 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39308 is in our heap (probably as a result of it being corrupted during
2f2a3442 39309 decompression). Add #error instance with comment to explain why this
39310 loader isn't currently usable on PC/BIOS.
10fc3eb9 39311
e2e07847 393122008-11-14 Robert Millan <rmh@aybabtu.com>
39313
39314 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39315 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39316
fe8e8d69 393172008-11-12 Robert Millan <rmh@aybabtu.com>
39318
39319 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39320
39321 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39322 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39323 from here ...
39324 * include/grub/i386/pc/memory.h: ... to here.
39325
976b07d0 393262008-11-12 Robert Millan <rmh@aybabtu.com>
39327
39328 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39329 split).
39330
39331 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39332 (grub_console_cur_color, grub_console_real_putchar)
39333 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39334 (grub_console_setcolorstate, grub_console_setcolor)
39335 (grub_console_getcolor): Move from here ...
39336 * include/grub/i386/vga_common.h: ... to here (new file).
39337
39338 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39339 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39340 `<grub/i386/io.h>'.
39341 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39342 `<grub/i386/vga_common.h>'.
39343
76679cd3 393442008-11-12 Robert Millan <rmh@aybabtu.com>
39345
39346 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39347 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39348 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39349 variables.
39350 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39351 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39352
39353 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39354 grub_console_init() with call to grub_vga_text_init().
39355 (grub_machine_fini): Replace call to
39356 grub_console_fini() with call to grub_vga_text_fini() and
39357 grub_at_keyboard_fini().
39358
39359 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39360 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39361 (grub_console_setcolorstate, grub_console_setcolor)
39362 (grub_console_getcolor): New function prototypes.
39363
39364 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39365 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39366 (grub_vga_text_setcursor): Static-ize.
39367 (grub_vga_text_term): New structure.
39368 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39369
39370 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39371 (grub_console_cur_color, grub_console_standard_color)
39372 (grub_console_normal_color, grub_console_highlight_color)
39373 (map_char, grub_console_putchar, grub_console_getcharwidth)
39374 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39375 (grub_console_getcolor): Move from here ...
39376 * term/i386/vga_common.c: ... to here (same function names).
39377
95b841d3 393782008-11-12 Robert Millan <rmh@aybabtu.com>
39379
39380 Use newly-added Multiboot support in coreboot.
39381
39382 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39383 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39384
39385 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39386 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39387 (codestart): Store the MBI in `startup_multiboot_info' when we're
39388 being loaded using Multiboot.
39389
39390 * kern/i386/coreboot/init.c (grub_machine_init): Move
39391 grub_at_keyboard_init() call to beginning of function (useful for
39392 debugging). Call grub_machine_mmap_init() before attempting to use
39393 grub_machine_mmap_iterate().
39394 (grub_lower_mem, grub_upper_mem): Move from here ...
39395 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39396 here (new file).
39397
39398 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39399 function prototype.
39400
761ca975 394012008-11-12 Robert Millan <rmh@aybabtu.com>
39402
39403 Fix a regression introduced by the at_keyboard.mod split. Because
39404 some terminals are default on some platforms and non-default on
39405 others, the first terminal being registered determines which is
39406 going to be default.
39407
39408 * kern/term.c (grub_term_register_input): If this is the first
39409 terminal being registered, set it as the current one.
39410 (grub_term_register_output): Likewise.
39411
39412 * term/efi/console.c (grub_console_init): Do not call
39413 grub_term_set_current_output() or grub_term_set_current_input().
39414 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39415 * term/i386/pc/console.c (grub_console_init): Likewise.
39416 (grub_console_fini): Do not call grub_term_set_current_input()
39417 (but leave grub_term_set_current_output() to restore text mode).
39418
6c529df7 394192008-11-10 Robert Millan <rmh@aybabtu.com>
39420
39421 * util/grub.d/00_header.in: Add backward compatibility check for
39422 versions of terminal.mod that don't understand `terminal_input' or
39423 `terminal_output'.
39424
132e4113 394252008-11-09 Robert Millan <rmh@aybabtu.com>
39426
39427 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39428 `terminal_input' / `terminal_output', not `terminal'.
39429
ac293d50 394302008-11-08 Robert Millan <rmh@aybabtu.com>
39431
39432 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39433 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39434
0025933a 394352008-11-08 Robert Millan <rmh@aybabtu.com>
39436
39437 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39438 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39439 members. Update all users.
39440 * util/console.c (grub_ncurses_term): Split in ...
39441 (grub_ncurses_term_input): ... this, and ...
39442 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39443 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39444
37c86336 394452008-11-08 Robert Millan <rmh@aybabtu.com>
39446
39447 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39448 (PKGDATA): Add $(pkgdata_SRCDIR).
39449 (pkglib_BUILDDIR): New variable.
39450 (pkgdata_SRCDIR): New variable.
39451 (build_env.mk): New target.
39452 (include_DATA): New variable.
39453 (install-local): Install $(include_DATA) files in $(includedir).
39454
b6c15a2d 394552008-11-07 Pavel Roskin <proski@gnu.org>
39456
d99d46f1 39457 * gendistlist.sh: Use C locale for sorting to ensure consistent
39458 output on all systems.
39459
b6c15a2d 39460 * util/grub.d/00_header.in: Remove incorrect space before
39461 "serial".
39462
c32ee8c9 394632008-11-07 Robert Millan <rmh@aybabtu.com>
39464
39465 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39466 per specification.
39467 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39468 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39469 (based on find_multi_boot1_header).
39470 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39471 using find_multi_boot2_header(), and abort if neither Multiboot or
39472 Multiboot headers were found.
39473
651c29b7 394742008-11-07 Robert Millan <rmh@aybabtu.com>
39475
39476 Modularize at_keyboard.mod:
39477
39478 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39479 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39480 (at_keyboard_mod_LDFLAGS): New variables.
39481
39482 Actual terminal split:
39483
39484 * include/grub/term.h (struct grub_term): Split in ...
39485 (struct grub_term_input): ... this, and ...
39486 (struct grub_term_output): ... this. Update all users.
39487 (grub_term_set_current): Split in ...
39488 (grub_term_set_current_input): ... this, and ...
39489 (grub_term_set_current_output): ... this.
39490 (grub_term_get_current): Split in ...
39491 (grub_term_get_current_input): ... this, and ...
39492 (grub_term_get_current_output): ... this.
39493 (grub_term_register): Split in ...
39494 (grub_term_register_input): ... this, and ...
39495 (grub_term_register_output): ... this.
39496 (grub_term_unregister): Split in ...
39497 (grub_term_unregister_input): ... this, and ...
39498 (grub_term_unregister_output): ... this.
39499 (grub_term_iterate): Split in ...
39500 (grub_term_iterate_input): ... this, and ...
39501 (grub_term_iterate_output): ... this.
39502
39503 * kern/term.c (grub_term_list): Split in ...
39504 (grub_term_list_input): ... this, and ...
39505 (grub_term_list_output): ... this. Update all users.
39506 (grub_cur_term): Split in ...
39507 (grub_cur_term_input): ... this, and ...
39508 (grub_cur_term_output): ... this. Update all users.
39509 (grub_term_set_current): Split in ...
39510 (grub_term_set_current_input): ... this, and ...
39511 (grub_term_set_current_output): ... this.
39512 (grub_term_get_current): Split in ...
39513 (grub_term_get_current_input): ... this, and ...
39514 (grub_term_get_current_output): ... this.
39515 (grub_term_register): Split in ...
39516 (grub_term_register_input): ... this, and ...
39517 (grub_term_register_output): ... this.
39518 (grub_term_unregister): Split in ...
39519 (grub_term_unregister_input): ... this, and ...
39520 (grub_term_unregister_output): ... this.
39521 (grub_term_iterate): Split in ...
39522 (grub_term_iterate_input): ... this, and ...
39523 (grub_term_iterate_output): ... this.
39524
39525 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39526 a check for input and one for output (and only attempt to get keys
39527 from user when input works).
39528
39529 * util/grub-probe.c (grub_term_get_current): Split in ...
39530 (grub_term_get_current_input): ... this, and ...
39531 (grub_term_get_current_output): ... this.
39532 * util/grub-fstest.c: Likewise.
39533 * util/i386/pc/grub-setup.c: Likewise.
39534 * util/grub-editenv.c: Likewise.
39535
39536 Portability adjustments:
39537
39538 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39539 `term/i386/pc/at_keyboard.c'.
39540 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39541 grub_keyboard_controller_init() (now handled by terminal .init).
39542 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39543 grub_at_keyboard_init().
39544 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39545 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39546 at_keyboard.mod via input terminal interface).
39547 * include/grub/i386/coreboot/console.h: Convert into a stub for
39548 `<grub/i386/pc/console.h>'.
39549
39550 Migrate full terminals to new API:
39551
39552 * term/efi/console.c (grub_console_term): Split into ...
39553 (grub_console_term_input): ... this, and ...
39554 (grub_console_term_output): ... this. Update all users.
39555 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39556 (grub_ofconsole_init): Split into ...
39557 (grub_ofconsole_init_input): ... this, and ...
39558 (grub_ofconsole_init_output): ... this.
39559 (grub_ofconsole_term): Split into ...
39560 (grub_ofconsole_term_input): ... this, and ...
39561 (grub_ofconsole_term_output): ... this. Update all users.
39562 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39563 (grub_serial_term_input): ... this, and ...
39564 (grub_serial_term_output): ... this. Update all users.
39565 * term/i386/pc/console.c (grub_console_term): Split into ...
39566 (grub_console_term_input): ... this, and ...
39567 (grub_console_term_output): ... this. Update all users.
39568 (grub_console_term_input): Only enable it on PC/BIOS platform.
39569 (grub_console_init): Remove grub_keyboard_controller_init() call.
39570
39571 Migrate input terminals to new API:
39572
39573 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39574 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39575 i386-specific anyway).
39576 (grub_console_checkkey): Rename to ...
39577 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39578 users.
39579 (grub_keyboard_controller_orig): New variable.
39580 (grub_console_getkey): Rename to ...
39581 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39582 users.
39583 (grub_keyboard_controller_init): Static-ize. Save original
39584 controller value so that it can be restored ...
39585 (grub_keyboard_controller_fini): ... here (new function).
39586 (grub_at_keyboard_term): New structure.
39587 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39588 functions.
39589
39590 Migrate output terminals to new API:
39591
39592 * term/i386/pc/vga.c (grub_vga_term): Change type to
39593 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39594 members. Update all users.
39595 * term/gfxterm.c (grub_video_term): Change type to
39596 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39597 members. Update all users.
39598 * include/grub/i386/pc/console.h (grub_console_checkkey)
39599 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39600 etc).
39601
39602 Migrate `terminal' command and userland tools to new API:
39603
39604 * commands/terminal.c (grub_cmd_terminal): Split into ...
39605 (grub_cmd_terminal_input): ... this, and ...
39606 (grub_cmd_terminal_output): ... this.
39607 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39608 `terminal_input' and `terminal_output'.
39609 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39610 `terminal_input' / `terminal_output' API.
39611 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39612 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39613 provided ${GRUB_TERMINAL}, convert it).
39614
96e5d876 396152008-11-04 Robert Millan <rmh@aybabtu.com>
39616
39617 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39618 for FreeBSD.
39619 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39620
556f3775 396212008-11-03 Bean <bean123ch@gmail.com>
39622
39623 * kern/elf.c (grub_elf32_load): Revert to previous code.
39624 (grub_elf64_load): Likewise.
39625
39626 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39627
926b9823 396282008-11-01 Robert Millan <rmh@aybabtu.com>
39629
39630 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39631 (TARGET_CPPFLAGS): Likewise.
39632 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39633
1432e958 396342008-11-01 Carles Pina i Estany <carles@pina.cat>
39635
39636 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39637
dba3f844 396382008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 39639
39640 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39641 addition of objects until the code is not going to be able to fail.
39642
dba3f844 396432008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 39644
39645 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39646 (add a missing NULL check, and correct them by moving the pointer
39647 operations after the actual check).
39648
7ab28c21 396492008-10-29 Robert Millan <rmh@aybabtu.com>
39650
39651 * util/i386/pc/grub-install.in: Handle empty string as output from
39652 make_system_path_relative_to_its_root().
39653
1b7748eb 396542008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39655
39656 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39657 circular metadata worst case scenario. If the metadata is circular
39658 then copy the wrap in place.
39659 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39660 project lib/format_text/layout.h
39661 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39662
c9618ab2 396632008-10-03 Felix Zielcke <fzielcke@z-51.de>
39664
7a36edca 39665 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 39666
bf981c62 396672008-10-03 Felix Zielcke <fzielcke@z-51.de>
39668
39669 * util/update-grub_lib.in: Mention filename in warning message.
39670
6d994591 396712008-09-29 Felix Zielcke <fzielcke@z-51.de>
39672
39673 * NEWS: Update for rename of update-grub to grub-mkconfig.
39674
18ade780 396752008-09-29 Felix Zielcke <fzielcke@z-51.de>
39676
39677 * util/update-grub_lib.in: Copy to ...
39678 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 39679 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 39680 * util/update-grub.in: Rename to ...
39681 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
39682 option. Add `--output' option to allow users to specify the generated
39683 configuration file. Default to stdout.
39684 (update_grub_dir): Rename to ...
39685 (grub_mkconfig_dir): ... this.
39686 (grub_cfg): Default to an empty string.
39687 * conf/common.rmk (update-grub): Rename to ...
39688 (grub-mkconfig): ... this.
39689 (update-grub_lib): Copy to ...
39690 (grub-mkconfig_lib): ... this.
39691 (update-grub_SCRIPTS): Copy to ...
39692 (grub-mkconfig_SCRIPTS): ... this. Update all users.
39693 (update-grub_DATA): Rename to ...
39694 (grub-mkconfig_DATA): ... this.
39695
556ce6ac 396962008-09-28 Robert Millan <rmh@aybabtu.com>
39697
39698 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
39699 to `modified'. Add the real `created' field.
39700 (grub_iso9660_uuid): Use `modified' rather than `created' for
39701 constructing the UUID.
39702
397032008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 39704
39705 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
39706 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
39707
92274e85 397082008-09-28 Bean <bean123ch@gmail.com>
39709
39710 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
39711 Thanks to Christian Franke for finding this bug.
39712
add6f17a 397132008-09-25 Robert Millan <rmh@aybabtu.com>
39714
39715 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
39716 instances of grub_util_get_disk_name() (see previous commit).
39717
d2a367b8 397182008-09-25 Robert Millan <rmh@aybabtu.com>
39719
39720 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
39721 `util/i386/get_disk_name.c'.
39722 * conf/i386-efi.rmk: Likewise.
39723 * conf/x86_64-efi.rmk: Likewise.
39724 * conf/i386-coreboot.rmk: Likewise.
39725 * conf/i386-ieee1275.rmk: Likewise.
39726 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
39727 `util/ieee1275/get_disk_name.c'.
39728 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
39729 * util/ieee1275/get_disk_name.c: Remove file.
39730 * util/i386/get_disk_name.c: Remove file.
39731 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
39732 "hd%d" for device.map entries, rather than using
39733 grub_util_get_disk_name().
39734
81a06771 397352008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 39736
39737 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
39738 warning.
39739 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
39740
5a004279 397412008-09-24 Carles Pina i Estany <carles@pina.cat>
39742
39743 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
39744 Changed to 0x5100.
39745 (GRUB_TERM_PPAGE): Changed to 0x4900.
39746
397093d3 397472008-09-24 Robert Millan <rmh@aybabtu.com>
39748
39749 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
39750 macros (they were i386-pc specific).
39751 * include/grub/sparc64/ieee1275/console.h: Likewise.
39752 * include/grub/efi/console.h: Likewise.
39753
a91b6c7c 397542008-09-22 Bean <bean123ch@gmail.com>
39755
39756 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
39757 resident and in attribute list.
39758
39759 * include/grub/ntfs.h (BMP_LEN): Removed.
39760
c40fd116 397612008-09-22 Bean <bean123ch@gmail.com>
39762
81a06771 39763 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 39764 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
39765
39766 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
39767 error occurs, as grub_disk_open will call grub_disk_close, which will
39768 call p->close (scsi).
39769
81a06771 397702008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 39771
39772 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
39773 (AC_PREREQ): Bumped to 2.59.
39774 (AC_TRY_COMPILE): Replace obsolete macro with ...
39775 (AC_COMPILE_IFELSE): ... this.
39776 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
39777 (AC_LINK_IFELSE): ... this.
39778
5dc43410 397792008-09-21 Felix Zielcke <fzielcke@z-51.de>
39780
39781 * autogen.sh: Add a call to `gendistlist.sh'.
39782
9035dce4 397832008-09-19 Christian Franke <franke@computer.org>
39784
39785 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
39786 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
39787 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
39788 Export __enable_execute_stack() to modules.
39789 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
39790 New function.
39791
7fd75377 397922008-09-09 Felix Zielcke <fzielcke@z-51.de>
39793
040030b3 39794 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
39795 Sort the list.
39796
397972008-09-09 Felix Zielcke <fzielcke@z-51.de>
39798
39799 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 39800 #include <grub/util/hostdisk.h>.
39801
89d5ffcf 398022008-09-08 Robert Millan <rmh@aybabtu.com>
39803
39804 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
39805 segments when their filesz is zero (grub_file_read() interprets
81a06771 39806 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 39807 Use `lowest_segment' rather than 0 for calculating the current
39808 segment load address.
39809
40da438f 398102008-09-08 Robert Millan <rmh@aybabtu.com>
39811
39812 * util/hostdisk.c (open_device): Replace a grub_util_info() call
39813 with grub_dprintf("hostdisk", ...), as it was so verbose that it
39814 clobbered useful information.
39815
ddbf5556 398162008-09-08 Robert Millan <rmh@aybabtu.com>
39817
39818 * include/grub/util/biosdisk.h: Move to ...
39819 * include/grub/util/hostdisk.h: ... here. Update all users.
39820 * util/biosdisk.c: Move to ...
39821 * util/hostdisk.c: ... here. Update all users.
39822
783d0f48 398232008-09-07 Robert Millan <rmh@aybabtu.com>
39824
39825 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
39826 variables.
39827 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
39828 and length can be stored directly in the `mbi->mmap_addr' and
39829 `mbi->mmap_length' struct fields.
39830
548e2ea5 398312008-09-07 Robert Millan <rmh@aybabtu.com>
39832
39833 * conf/i386.rmk: New file. Provides declaration for building
39834 `cpuid.mod'.
39835 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
39836 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
39837 variables.
39838 Include `conf/i386.mk'.
39839 * conf/i386-efi.rmk: Likewise.
39840 * conf/x86_64-efi.rmk: Likewise.
39841 * conf/i386-coreboot.rmk: Likewise.
39842 * conf/i386-ieee1275.rmk: Likewise.
39843
0ea85a37 398442008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
39845
39846 Based on patch created by Colin D Bennett <colin@gibibit.com>.
39847 Adds optimization support for BGR based modes.
39848
39849 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
39850 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
39851 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39852 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39853 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39854 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39855 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39856 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39857 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39858 (grub_video_i386_vbeblit_index_index): Likewise.
39859 (grub_video_i386_vbeblit_replace_directN): Added.
39860 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
39861 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
39862 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
39863 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
39864 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
39865 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 39866 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 39867 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
39868 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
39869 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39870 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39871 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39872 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
39873
39874 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
39875 (grub_video_i386_vbefill_R8G8B8): Likewise.
39876 (grub_video_i386_vbefill_index): Likewise.
39877 (grub_video_i386_vbefill_direct32): Added.
39878 (grub_video_i386_vbefill_direct24): Likewise.
39879 (grub_video_i386_vbefill_direct16): Likewise.
39880 (grub_video_i386_vbefill_direct8): Likewise.
39881
81a06771 39882 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 39883 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
39884 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
39885 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
39886 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
39887 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 39888
0ea85a37 39889 * video/video.c (grub_video_get_blit_format): Updated to use new
39890 blit formats. Added handling for 16 bit color modes.
81a06771 39891
39892 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 39893 fillers.
39894 (common_blitter): Updated to use new blitters.
39895
39896 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
39897 Removed.
39898 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
39899 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39900 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39901 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39902 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39903 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39904 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39905 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39906 (grub_video_i386_vbeblit_index_index): Likewise.
39907 (grub_video_i386_vbeblit_replace_directN): Added.
39908 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
39909 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
39910 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
39911 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
39912 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
39913 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
39914 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
39915 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
39916 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
39917 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39918 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39919 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39920 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 39921
0ea85a37 39922 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
39923 (grub_video_i386_vbefill_R8G8B8): Likewise.
39924 (grub_video_i386_vbefill_index): Likewise.
39925 (grub_video_i386_vbefill_direct32): Added.
39926 (grub_video_i386_vbefill_direct24): Likewise.
39927 (grub_video_i386_vbefill_direct16): Likewise.
39928 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 39929
0ea85a37 39930 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
39931 types.
81a06771 39932
0ea85a37 39933 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
39934 types.
81a06771 39935
0ea85a37 39936 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
39937 blitter types.
81a06771 39938
0ea85a37 39939 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
39940 types.
39941
e8a83df6 399422008-09-06 Felix Zielcke <fzielcke@z-51.de>
39943
39944 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
39945 RAID level 1.
39946
6bcd8ee5 399472008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 39948
6bcd8ee5 39949 * fs/iso9660.c (grub_iso9660_date): New structure.
39950 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
39951 (grub_iso9660_uuid): New function.
c375ae58 39952
59261157 399532008-09-05 Bean <bean123ch@gmail.com>
39954
39955 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
39956
39957 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
39958 insensitive bit for names in Win32 and Win32 & DOS namespace.
39959
39960 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
39961
39962 * include/grub/types.h (LONG_MAX): Likewise.
39963
58b6645a 399642008-09-04 Felix Zielcke <fzielcke@z-51.de>
39965
4ee55921 39966 * util/getroot.c: Include <config.h>.
39967 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
39968 add support for /dev/md/N devices and handle LVM double dash escaping.
39969
399702008-09-04 Felix Zielcke <fzielcke@z-51.de>
39971
39972 * config.guess: Update to latest version from config git.
39973 * config.sub: Likewise.
58b6645a 39974
9124f65d 399752008-09-03 Robert Millan <rmh@aybabtu.com>
39976
39977 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
39978 `disk->total_sectors'.
39979
81a06771 399802008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 39981
39982 * include/grub/normal.h: Fixed incorrect comment for
39983 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
39984
81a06771 399852008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 39986
39987 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
39988 values with defines.
39989
39990 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
39991 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
39992 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
39993 (GRUB_VBE_MODEATTR_COLOR): Likewise.
39994 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
39995 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
39996 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
39997 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
39998 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
39999 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40000 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40001 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40002 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40003 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40004 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40005 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40006 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40007 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40008 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40009
93d5cbf8 400102008-08-31 Robert Millan <rmh@aybabtu.com>
40011
40012 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40013 declaration.
40014 (grub_multiboot): Fix a few warnings.
40015
21751d50 400162008-08-31 Robert Millan <rmh@aybabtu.com>
40017
40018 * loader/i386/pc/multiboot.c: Update comment not to say that
40019 boot_device support is unimplemented.
40020
e27a75c5 400212008-08-31 Robert Millan <rmh@aybabtu.com>
40022
40023 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40024 or memory map support are unimplemented.
40025
81a06771 400262008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40027
40028 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40029
81a06771 400302008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40031
40032 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40033 total video memory in 'vbeinfo' output; show color format details for
40034 each video mode.
40035
7c5d8d95 400362008-08-30 Pavel Roskin <proski@gnu.org>
40037
40038 * util/genmoddep.c: Remove for real this time.
40039 * DISTLIST: Remove util/genmoddep.c.
40040
4cebd25a 400412008-08-30 Robert Millan <rmh@aybabtu.com>
40042
40043 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40044 as required by Multiboot spec (it was already 4-byte aligned, but
40045 only by chance).
40046
b497a269 400472008-08-29 Pavel Roskin <proski@gnu.org>
40048
e3925185 40049 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40050 * kern/powerpc/ieee1275/startup.S: ... this.
40051 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40052 * DISTLIST: Likewise.
40053
b497a269 40054 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40055 grub/cpu/kernel.h. Add start label for consistency with other
40056 platforms. Add grub_prefix immediately after start. Add jump
40057 to the code after grub_prefix.
40058 * include/grub/powerpc/kernel.h: Provide valid values for
40059 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40060
6e5a42fe 400612008-08-29 Bean <bean123ch@gmail.com>
40062
40063 * configure.ac: Change host_os to cygwin for mingw.
40064 (asprintf): New check for function.
40065
40066 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40067 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40068
40069 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40070 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40071 sync, sleep and grub_util_get_disk_size for mingw.
40072
40073 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40074 to get size in mingw.
40075 (open_device): Use flag O_BINARY if it's defined.
40076 (find_root_device): Add dummy code for mingw.
40077
40078 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40079 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40080 (get_scsi_disk_name): Return 0 for mingw.
40081
40082 * util/hostfs.c: #include <grub/util/misc.h>.
40083 (grub_hostfs_open): Use "rb" flag to open file, use
40084 grub_util_get_disk_size to get disk size for mingw.
40085
40086 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40087 (asprintf): New function if HAVE_ASPRINTF is not set.
40088 (sync): New function for mingw.
40089 (sleep): Likewise.
40090 (grub_util_get_disk_size): Likewise.
40091
ab3f2673 400922008-08-28 Pavel Roskin <proski@gnu.org>
40093
40094 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40095 kern/time.c.
40096
1c282483 400972008-08-28 Robert Millan <rmh@aybabtu.com>
40098
40099 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40100
678e849c 401012008-08-28 Robert Millan <rmh@aybabtu.com>
40102
40103 Change find_grub_drive() syntax so it doesn't prevent it from
40104 detecting NULL names as errors.
40105
40106 * util/biosdisk.c (find_grub_drive): Move free slot search code
40107 from here ...
40108 (find_free_slot): ... to here.
40109 (read_device_map): Use find_free_slot() to search for free slots.
40110
965c75ca 401112008-08-27 Marco Gerards <marco@gnu.org>
40112
40113 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40114 (scsi_mod_SOURCES): New variable.
40115 (scsi_mod_CFLAGS): Likewise
40116 (scsi_mod_LDFLAGS): Likewise.
40117
40118 * disk/scsi.c: New file.
40119
40120 * include/grub/scsi.h: Likewise.
40121
40122 * include/grub/scsicmd.h: Likewise.
40123
40124 * disk/ata.c: Include <grub/scsi.h>.
40125 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40126 instead.
40127 (grub_ata_iterate): Skip ATAPI devices.
40128 (grub_ata_open): Only handle ATAPI devices.
40129 (struct grub_atapi_read): Removed.
40130 (grub_atapi_readsector): Likewise.
40131 (grub_ata_read): No longer handle ATAPI devices.
40132 (grub_ata_write): Likewise.
40133 (grub_atapi_iterate): New function.
40134 (grub_atapi_read): Likewise.
40135 (grub_atapi_write): Likewise.
40136 (grub_atapi_open): Likewise.
40137 (grub_atapi_close): Likewise.
40138 (grub_atapi_dev): New variable.
40139 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40140 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40141
40142 * include/grub/disk.h (enum grub_disk_dev_id): Add
40143 `GRUB_DISK_DEVICE_SCSI_ID'.
40144
c07ae501 401452008-08-26 Robert Millan <rmh@aybabtu.com>
40146
40147 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40148 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40149 descriptive.
40150
5ed20adc 401512008-08-23 Bean <bean123ch@gmail.com>
40152
40153 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40154 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40155 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40156 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40157 dm_nv.mod.
40158 (raid5rec_mod_SOURCES): New macro.
40159 (raid5rec_mod_CFLAGS): Likewise.
40160 (raid5rec_mod_LDFLAGS): Likewise.
40161 (raid6rec_mod_SOURCES): Likewise.
40162 (raid6rec_mod_CFLAGS): Likewise.
40163 (raid6rec_mod_LDFLAGS): Likewise.
40164 (mdraid_mod_SOURCES): Likewise.
40165 (mdraid_mod_CFLAGS): Likewise.
40166 (mdraid_mod_LDFLAGS): Likewise.
40167 (dm_nv_mod_SOURCES): Likewise.
40168 (dm_nv_mod_CFLAGS): Likewise.
40169 (dm_nv_mod_LDFLAGS): Likewise.
40170
40171 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40172 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40173 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40174
40175 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40176 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40177
40178 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40179
40180 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40181
40182 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40183
40184 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40185
40186 * disk/raid5_recover.c: New file.
40187
40188 * disk/raid6_recover.c: Likewise.
40189
40190 * disk/mdraid_linux.c: Likewise.
40191
40192 * disk/dmraid_nvidia.c: Likewise.
40193
40194 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40195 ULONG_MAX.
40196
40197 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40198 calculate the size of raid device.
40199 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40200 different layout of raid5.
40201 (grub_raid_scan_device): Remove code specific to mdraid.
40202 (grub_raid_list): New variable.
40203 (free_array): New function.
40204 (grub_raid_register): Likewise.
40205 (grub_raid_unregister): Likewise.
40206 (grub_raid_rescan): Likewise.
40207 (GRUB_MOD_INIT): Don't iterate device here.
40208 (GRUB_MOD_FINI): Use free_array to release resource.
40209
40210 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40211 (grub_raid5_recover_func_t): New function variable type.
40212 (grub_raid6_recover_func_t): Likewise.
40213 (grub_raid5_recover_func): New variable.
40214 (grub_raid6_recover_func): Likewise.
40215 (grub_raid_register): New function.
40216 (grub_raid_unregister): Likewise.
40217 (grub_raid_rescan): Likewise.
40218 (grub_raid_block_xor): Likewise.
40219
40220 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40221 (CMD_CRC): New macro.
40222 (part): Removed.
40223 (read_file): Handle device as well as file.
40224 (cmd_crc): New function.
40225 (fstest): Handle multiple disks.
40226 (options): Remove part, raw and long, add root and diskcount.
40227 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40228 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40229 add handling for the new options, support multiple disks.
40230
40231 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40232
29c18915 402332008-08-23 Bean <bean123ch@gmail.com>
40234
40235 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40236
40237 * genfslist.sh: Ignore kernel.mod.
40238
40239 * genpartmaplist.sh: Likewise.
40240
8415f261 402412008-08-23 Robert Millan <rmh@aybabtu.com>
40242
40243 * util/getroot.c (find_root_device): Skip anything that starts with
40244 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40245
d5a7dc5b 402462008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40247
d5a7dc5b 40248 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40249 * util/grub.d/00_header.in: Allow the administrator to change default
40250 gfxmode via ${GRUB_GFXMODE}.
40251
380cfbb4 402522008-08-21 Felix Zielcke <fzielcke@z-51.de>
40253
40254 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40255
c9baafe7 402562008-08-21 Robert Millan <rmh@aybabtu.com>
40257
40258 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40259 loader.
40260 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40261 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40262
e290bef2 402632008-08-20 Carles Pina i Estany <carles@pina.cat>
40264
40265 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40266 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40267
f9dbfc96 402682008-08-19 Robert Millan <rmh@aybabtu.com>
40269
40270 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40271 (struct grub_virtual_screen): Remove `cursor_color'.
40272 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40273 initialization.
40274 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40275
dd6bd6ab 402762008-08-18 Robert Millan <rmh@aybabtu.com>
40277
40278 Unify (identical) linux_normal.c files.
40279 * loader/i386/efi/linux_normal.c: Move from here ...
40280 * loader/linux_normal.c: ... to here. Update all users.
40281 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40282 * loader/i386/ieee1275/linux_normal.c: Likewise.
40283
7f42f83e 402842008-08-18 Robert Millan <rmh@aybabtu.com>
40285
40286 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40287 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40288 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40289 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40290 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40291 New macros.
40292 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40293 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40294 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40295 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40296 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40297 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40298 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40299 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40300 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40301 portably using grub_getxy().
40302 Replace `-EFI' with `-bzImage' in boot message.
40303
38487ddb 403042008-08-17 Robert Millan <rmh@aybabtu.com>
40305
40306 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40307
deceb3ec 403082008-08-17 Robert Millan <rmh@aybabtu.com>
40309
40310 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40311
40312 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40313 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40314 (grub_machine_mmap_iterate): New function declaration.
40315 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40316 structure.
40317 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40318 macros.
40319
40320 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40321 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40322 Move e820 parsing from here ...
40323 * kern/i386/pc/mmap.c: New file.
40324 (grub_machine_mmap_iterate): ... to here.
40325
40326 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40327 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40328 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40329 (grub_available_iterate): Redeclare to return `void', and redeclare
40330 its hook to use grub_uint64_t as addr and size parameters, and rename
40331 to ...
40332 (grub_machine_mmap_iterate): ... this. Update all users.
40333
40334 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40335 to make it more readable. Rename to ...
40336 (grub_machine_mmap_iterate): ... this.
40337
40338 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40339 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40340 (grub_multiboot): Allocate an extra region after the payload, and fill
40341 it with a Multiboot memory map. Adjust a.out loader to calculate size
40342 with the extra space.
40343 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40344 with the extra space.
40345
f8aa0f43 403462008-08-17 Carles Pina i Estany <carles@pina.cat>
40347
9807deb9 40348 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40349
605f5bb6 403502008-08-17 Felix Zielcke <fzielcke@z-51.de>
40351
40352 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40353 mdate-sh to the list `find' searches for.
40354 * DISTLIST: Regenerated.
40355
210db6c6 403562008-08-16 Felix Zielcke <fzielcke@z-51.de>
40357
40358 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40359 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40360 genmoddep.awk, gensymlist.sh.in.
40361 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40362 * DISTLIST: Regenerated.
48cdbfd4 40363 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40364
1082b929 403652008-08-16 Robert Millan <rmh@aybabtu.com>
40366
40367 * disk/raid.c (grub_raid_init): Handle/report errors set by
40368 grub_device_iterate().
40369 * disk/lvm.c (grub_lvm_init): Likewise.
40370
42ce5170 403712008-08-15 Bean <bean123ch@gmail.com>
40372
40373 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40374 and datehook.mod.
40375 (datetime_mod_SOURCES): New macro.
40376 (datetime_mod_CFLAGS): Likewise.
40377 (datetime_mod_LDFLAGS): Likewise.
40378 (date_mod_SOURCES): Likewise.
40379 (date_mod_CFLAGS): Likewise.
40380 (date_mod_LDFLAGS): Likewise.
40381 (datehook_mod_SOURCES): Likewise.
40382 (datehook_mod_CFLAGS): Likewise.
40383 (datehook_mod_LDFLAGS): Likewise.
40384
40385 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40386 and datehook.mod.
40387 (datetime_mod_SOURCES): New macro.
40388 (datetime_mod_CFLAGS): Likewise.
40389 (datetime_mod_LDFLAGS): Likewise.
40390 (date_mod_SOURCES): Likewise.
40391 (date_mod_CFLAGS): Likewise.
40392 (date_mod_LDFLAGS): Likewise.
40393 (datehook_mod_SOURCES): Likewise.
40394 (datehook_mod_CFLAGS): Likewise.
40395 (datehook_mod_LDFLAGS): Likewise.
40396
40397 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40398 and datehook.mod.
40399 (datetime_mod_SOURCES): New macro.
40400 (datetime_mod_CFLAGS): Likewise.
40401 (datetime_mod_LDFLAGS): Likewise.
40402 (date_mod_SOURCES): Likewise.
40403 (date_mod_CFLAGS): Likewise.
40404 (date_mod_LDFLAGS): Likewise.
40405 (datehook_mod_SOURCES): Likewise.
40406 (datehook_mod_CFLAGS): Likewise.
40407 (datehook_mod_LDFLAGS): Likewise.
40408
40409 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40410 and datehook.mod.
40411 (datetime_mod_SOURCES): New macro.
40412 (datetime_mod_CFLAGS): Likewise.
40413 (datetime_mod_LDFLAGS): Likewise.
40414 (date_mod_SOURCES): Likewise.
40415 (date_mod_CFLAGS): Likewise.
40416 (date_mod_LDFLAGS): Likewise.
40417 (datehook_mod_SOURCES): Likewise.
40418 (datehook_mod_CFLAGS): Likewise.
40419 (datehook_mod_LDFLAGS): Likewise.
40420
40421 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40422 and datehook.mod.
40423 (datetime_mod_SOURCES): New macro.
40424 (datetime_mod_CFLAGS): Likewise.
40425 (datetime_mod_LDFLAGS): Likewise.
40426 (date_mod_SOURCES): Likewise.
40427 (date_mod_CFLAGS): Likewise.
40428 (date_mod_LDFLAGS): Likewise.
40429 (datehook_mod_SOURCES): Likewise.
40430 (datehook_mod_CFLAGS): Likewise.
40431 (datehook_mod_LDFLAGS): Likewise.
40432
40433 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40434
40435 * commands/date.c: New file.
40436
40437 * hook/datehook.c: Likewise.
40438
40439 * include/grub/lib/datetime.h: Likewise.
40440
40441 * include/grub/i386/cmos.h: Likewise.
40442
40443 * lib/datetime.c: Likewise.
40444
40445 * lib/i386/datetime.c: Likewise.
40446
40447 * lib/efi/datetime.c: Likewise.
40448
0e9242da 404492008-08-14 Robert Millan <rmh@aybabtu.com>
40450
40451 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40452 (grub_mkelfimage_SOURCES): New variable.
40453 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40454
40455 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40456 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40457 * conf/powerpc-ieee1275.rmk: Likewise.
40458 * conf/i386-ieee1275.rmk: Likewise.
40459
40460 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40461 * kern/i386/coreboot/init.c: Likewise.
40462
40463 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40464 with `<grub/cpu/kernel.h>'.
40465 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40466 to ...
40467 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40468 * kern/i386/coreboot/startup.S: Likewise.
40469
40470 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40471 (GRUB_MOD_GAP): Remove.
40472 * include/grub/powerpc/kernel.h: New file.
40473 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40474 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40475 * include/grub/i386/kernel.h: New file.
40476 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40477 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40478 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40479
40480 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40481 `grub-mkelfimage'.
40482 Use --directory when invoking grub_mkimage.
40483
40484 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40485 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40486 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40487 and GRUB_KERNEL_CPU_PREFIX.
40488
b86408f8 404892008-08-14 Felix Zielcke <fzielcke@z-51.de>
40490
d5e619ca 40491 * include/grub/err.h (grub_err_printf): New function prototype.
40492 * util/misc.c (grub_err_printf): New function.
40493 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40494 grub_printf.
40495 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40496
7161f0e0 404972008-08-13 Robert Millan <rmh@aybabtu.com>
40498
40499 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40500
a1967522 405012008-08-13 Robert Millan <rmh@aybabtu.com>
40502
40503 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40504 boot entry.
40505
371458b5 405062008-08-12 Robert Millan <rmh@aybabtu.com>
40507
40508 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40509 of the relocation code from here ...
40510 (grub_multiboot): ... to here.
40511 (forward_relocator, backward_relocator): Move from here ...
40512 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40513 (grub_multiboot_backward_relocator): ... to here.
40514 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40515 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40516 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40517 (grub_multiboot_forward_relocator_end)
40518 (grub_multiboot_backward_relocator)
40519 (grub_multiboot_backward_relocator_end): New variables.
40520
05f9452b 405212008-08-12 Bean <bean123ch@gmail.com>
40522
40523 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40524
20024ab0 405252008-08-11 Robert Millan <rmh@aybabtu.com>
40526
40527 * kern/i386/linuxbios/startup.S: Move from here ...
40528 * kern/i386/coreboot/startup.S: ... to here.
40529
40530 * kern/i386/linuxbios/init.c: Move from here ...
40531 * kern/i386/coreboot/init.c: ... to here.
40532
40533 * kern/i386/linuxbios/table.c: Move from here ...
40534 * kern/i386/coreboot/mmap.c: ... to here.
40535
40536 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40537
e352e9cd 405382008-08-11 Robert Millan <rmh@aybabtu.com>
40539
40540 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40541 errors. Leave it to the upper layer to handle them.
40542
2d05bc6a 405432008-08-09 Christian Franke <franke@computer.org>
40544
40545 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40546 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40547 Install `grub.d/10_windows' only on Cygwin.
40548 * configure.ac: Add subst of `target_os'.
40549 Check `target_os' also before setting TARGET_OBJ2ELF.
40550 Add `--enable-grub-pe2elf'.
40551
042bd419 405522008-08-08 Robert Millan <rmh@aybabtu.com>
40553
40554 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40555 (grub_last_time): Change type to grub_uint64_t.
40556 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40557 (grub_disk_close): Likewise.
40558
40559 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40560 (run_menu): Migrate code from to using grub_get_time_ms().
40561
40562 * util/misc.c (grub_get_time_ms): New function.
40563
7f280db5 405642008-08-08 Marco Gerards <marco@gnu.org>
40565
40566 * disk/ata.c (grub_ata_regget): Change return type to
40567 `grub_uint8_t'.
40568 (grub_ata_regget2): Likewise.
40569 (grub_ata_wait_status): New function.
40570 (grub_ata_wait_busy): Removed function, updated all users to use
40571 `grub_ata_wait_status'.
40572 (grub_ata_wait_drq): Likewise.
40573 (grub_ata_cmd): New function.
40574 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40575 error handling.
40576 (grub_ata_pio_write): Add error handling.
40577 (grub_atapi_identify): Likewise.
40578 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40579 handling.
40580 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40581 handling. Actually use the detected registers. Reorder the
40582 detection logic such that it is easier to read.
40583 (grub_ata_pciinit): Do not assign the same ID to each controller.
40584 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40585 handling.
40586 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40587
40588 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40589
1fbc5e66 405902008-08-08 Marco Gerards <marco@gnu.org>
40591
40592 * NEWS: Update.
40593
819ce6c0 405942008-08-07 Bean <bean123ch@gmail.com>
40595
40596 * include/grub/x86_64/pci.h: New file.
40597
5c41d44d 405982008-08-07 Christian Franke <franke@computer.org>
40599
40600 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40601 (TIMER2_GATE): Likewise.
40602 (grub_pit_wait): Add enable/disable of the timer2 gate
40603 bit of port 0x61. This fixes a possible infinite loop.
40604
5ebc275d 406052008-08-07 Bean <bean123ch@gmail.com>
40606
40607 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40608 kern/i386/tsc.c and kern/i386/pit.c.
40609
40610 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40611 x86_64 platform.
40612
40613 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40614 <grub/i386/tsc.h>.
40615
40616 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40617
e383b3d0 406182008-08-07 Bean <bean123ch@gmail.com>
40619
40620 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40621
40622 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40623
40624 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40625 multiple inclusion. Add #include <grub/types.h>.
40626
1cbb58ac 406272008-08-06 Christian Franke <franke@computer.org>
40628
40629 * conf/common.rmk: Build and install `10_windows'.
40630 * util/grub.d/10_windows.in: New script.
40631
337f5a1e 406322008-08-06 Pavel Roskin <proski@gnu.org>
40633
40634 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40635
057bc4ac 406362008-08-06 Robert Millan <rmh@aybabtu.com>
40637
40638 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40639 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40640
2b99f123 406412008-08-06 Bean <bean123ch@gmail.com>
40642
40643 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40644 (grub_pxefs_fs_int): Remove dummy definition.
40645 (grub_pxefs_open): Use data->block_size to store the current block
40646 size setting.
40647 (grub_pxefs_read): Use block size stored in data->block_size. As the
40648 value of grub_pxe_blksize can be changed after the file is opened.
40649
9f0234cb 406502008-08-06 Bean <bean123ch@gmail.com>
40651
40652 * fs/i386/pc/pxe.c (curr_file): new variable.
40653 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40654 require the dummy internal file system anymore.
40655 (grub_pxefs_read): Removed.
40656 (grub_pxefs_close): Likewise.
40657 (grub_pxefs_fs_int): Likewise.
40658 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40659 connection when we switch file.
40660 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40661
a55d42e0 406622008-08-06 Robert Millan <rmh@aybabtu.com>
40663
40664 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40665 `halt.mod'.
40666 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40667 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40668
40669 * kern/i386/halt.c: New file.
40670 * kern/i386/reboot.c: Likewise.
40671 * include/grub/i386/reboot.h: Likewise.
40672 * include/grub/i386/halt.h: Likewise.
40673
40674 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
40675 Include `<grub/cpu/halt.h>'.
40676 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
40677 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
40678
40679 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
40680 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
40681 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
40682 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
40683 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
40684 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
40685 from here ...
40686 * include/grub/i386/at_keyboard.h: ... to here.
40687
24371d26 406882008-08-05 Robert Millan <rmh@aybabtu.com>
40689
40690 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
40691 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
40692 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
40693 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40694 `kern/generic/millisleep.c'.
40695
40696 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
40697 instead of grub_get_rtc().
40698 (grub_tsc_init): Initialize `tsc_boot_time'.
40699
40700 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
40701 (grub_machine_init): Use grub_tsc_init() rather than
40702 installing an RTC-based handler via grub_install_get_time_ms().
40703
40704 * kern/i386/pit.c: New file.
40705 * include/grub/i386/pit.h: Likewise.
40706
9e7007b3 407072008-08-05 Bean <bean123ch@gmail.com>
40708
40709 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
40710
40711 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
40712 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
40713 (pxe_mod_SOURCES): New macro.
40714 (pxe_mod_CFLAGS): Likewise.
40715 (pxe_mod_LDFLAGS): Likewise.
40716 (pxecmd_mod_SOURCES): Likewise.
40717 (pxecmd_mod_CFLAGS): Likewise.
40718 (pxecmd_mod_LDFLAGS): Likewise.
40719
40720 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
40721 (grub_pxe_call): Likewise.
40722
40723 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
40724
40725 * commands/i386/pc/pxecmd.c: New file.
40726
9f0234cb 40727 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 40728
40729 * include/grub/i386/pc/pxe.h: Likewise.
40730
6977d49f 407312008-08-05 Bean <bean123ch@gmail.com>
40732
40733 * util/console.c (grub_console_cur_color): New variable.
40734 (grub_console_standard_color): Likewise.
40735 (grub_console_normal_color): Likewise.
40736 (grub_console_highlight_color): Likewise.
40737 (color_map): Likewise.
40738 (use_color): Likewise.
40739 (NUM_COLORS): New macro.
40740 (grub_ncurses_setcolorstate): Handle color properly.
40741 (grub_ncurses_setcolor): Don't change color here, just remember the
40742 settings, color will be set in grub_ncurses_setcolorstate.
40743 (grub_ncurses_getcolor): New function.
40744 (grub_ncurses_init): Initialize color pairs.
40745 (grub_ncurses_term): New member grub_ncurses_getcolor.
40746
9c2ff3ee 407472008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 40748
9c2ff3ee 40749 High resolution timer support. Implemented for x86 CPUs using TSC.
40750 Extracted generic grub_millisleep() so it's linked in only as needed.
40751 This requires a Pentium compatible CPU; if the RDTSC instruction is
40752 not supported, then it falls back on the generic grub_get_time_ms()
40753 implementation that uses the machine's RTC.
40754
40755 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
40756 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40757 `kern/generic/millisleep.c'.
40758
40759 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
40760 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
40761
40762 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
40763 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
40764
40765 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40766
40767 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40768 `kern/generic/millisleep.c'.
40769
40770 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40771
40772 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
40773
40774 * kern/generic/rtc_get_time_ms.c: New file.
40775
40776 * kern/generic/millisleep.c: New file.
337f5a1e 40777
9c2ff3ee 40778 * kern/misc.c: Don't include
40779 <kern/time.h> anymore.
40780 (grub_millisleep_generic): Removed.
40781
40782 * commands/sleep.c (grub_interruptible_millisleep): Uses
40783 grub_get_time_ms() instead of grub_get_rtc().
40784
40785 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
40786 function.
40787 (grub_cpu_is_cpuid_supported): New inline function.
40788 (grub_cpu_is_tsc_supported): New inline function.
40789 (grub_tsc_init): New function prototype.
40790 (grub_tsc_get_time_ms): New function prototype.
40791
40792 * kern/i386/tsc.c (grub_get_time_ms): New file.
40793
40794 * include/grub/time.h: Include <grub/types.h.
40795 (grub_millisleep_generic): Removed.
40796 (grub_get_time_ms): New prototype.
40797 (grub_install_get_time_ms): New prototype.
40798 (grub_rtc_get_time_ms): New prototype.
40799
40800 * kern/time.c (grub_get_time_ms): New function.
40801 (grub_install_get_time_ms): New function.
40802
40803 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
40804 <grub/time.h> anymore.
40805 (grub_millisleep): Removed.
40806 (grub_machine_init): Call grub_tsc_init.
40807
40808 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
40809 get_time_ms() implementation.
40810
40811 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
40812 (ieee1275_get_time_ms): New function.
40813 (grub_machine_init): Install get_time_ms() implementation.
40814
40815 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
40816 (grub_machine_init): Call grub_tsc_init().
40817 (grub_millisleep): Removed.
bf06a93f 40818
9c2ff3ee 40819 * kern/ieee1275/init.c (grub_millisleep): Removed.
40820 (grub_machine_init): Install ieee1275_get_time_ms()
40821 implementation.
40822 (ieee1275_get_time_ms): New function.
40823 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
40824 real work.
40825
9ec92aaf 408262008-08-05 Marco Gerards <marco@gnu.org>
40827
40828 * disk/ata.c: Include <grub/pci.h>.
40829 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
40830 (grub_ata_initialize): Rewritten.
40831 (grub_ata_device_initialize): New function.
40832
8d23f507 408332008-08-04 Pavel Roskin <proski@gnu.org>
40834
40835 * kern/main.c: Include grub/mm.h.
40836
5e15ee3d 408372008-08-04 Robert Millan <rmh@aybabtu.com>
40838
40839 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
40840 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
40841 corruption problem).
40842
a9053f8f 408432008-08-04 Robert Millan <rmh@aybabtu.com>
40844
40845 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
40846 warnings introduced in my last commit.
40847
dd19c7d7 408482008-08-03 Robert Millan <rmh@aybabtu.com>
40849
40850 Make PCI available on all i386 architectures.
40851
40852 * include/grub/i386/pc/pci.h: Move from here ...
40853 * include/grub/i386/pci.h: ... to here.
40854
40855 * include/grub/i386/pc/pci.h: Remove.
40856 * include/grub/i386/efi/pci.h: Remove.
40857 * include/grub/x86_64/efi/pci.h: Remove.
40858
40859 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
40860 `<grub/cpu/pci.h>'.
40861
40862 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
40863 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
40864 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
40865
40866 * conf/i386-ieee1275.rmk: Likewise.
40867
e14a6184 408682008-08-03 Robert Millan <rmh@aybabtu.com>
40869
40870 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
40871 (grub_console_setcursor): Make it possible to set cursor off.
40872
52768e37 408732008-08-03 Robert Millan <rmh@aybabtu.com>
40874
40875 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
40876 of modules instead of assuming which platform provides what.
40877 * util/update-grub.in: Likewise.
40878
2d52f57f 408792008-08-03 Robert Millan <rmh@aybabtu.com>
40880
40881 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
40882 instead of `grub_install_dos_part' to determine whether a drive needs
40883 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 40884 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 40885
2a5cd121 408862008-08-02 Robert Millan <rmh@aybabtu.com>
40887
40888 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
40889
93808428 408902008-08-02 Robert Millan <rmh@aybabtu.com>
40891
40892 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
40893 of informational grub_dprintf() calls.
40894
3bd0a12a 408952008-08-02 Robert Millan <rmh@aybabtu.com>
40896
40897 * disk/memdisk.c (memdisk_size): Don't initialize.
40898 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
40899
40900 * include/grub/i386/pc/kernel.h
40901 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
40902 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
40903 (grub_memdisk_image_size, grub_arch_memdisk_addr)
40904 (grub_arch_memdisk_size): Remove.
40905
40906 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
40907 field (was only used to transfer a constant). Add `type' field to
40908 support multiple module types.
40909 (grub_module_iterate): New function.
40910
40911 * kern/device.c (grub_device_open): Do not hide error messages
40912 when grub_disk_open() fails. Use grub_print_error() instead.
40913
40914 * kern/i386/pc/init.c (grub_arch_modules_addr)
40915 (grub_arch_memdisk_size): Remove functions.
40916 (grub_arch_modules_addr): Return the module address in high memory
40917 (now that it isn't copied anymore).
40918
40919 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
40920 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
40921 decompression routine (grub_total_module_size already includes that
40922 now). Don't copy modules back to low memory.
40923
40924 * kern/main.c: Include `<grub/mm.h>'.
40925 (grub_load_modules): Split out (and use) ...
40926 (grub_module_iterate): ... this function, which iterates through
40927 module objects and runs a hook.
40928 Comment out grub_mm_init_region() call, as it would cause non-ELF
40929 modules to be overwritten.
40930
40931 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
40932 the memdisk image in its own region, make it part of the module list.
40933 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
40934 (main): Parse --memdisk|-m option, and pass user-provided path as
40935 parameter to generate_image().
40936 (add_segments): Pass `memdisk_path' down to load_modules().
40937 (load_modules): Embed memdisk image in module section when requested.
40938 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
40939 `header.type' instead of `header.offset'.
40940
40941 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
40942 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
40943 (memdisk_mod_LDFLAGS): New variables.
40944 * conf/i386-coreboot.rmk: Likewise.
40945 * conf/i386-ieee1275.rmk: Likewise.
40946
a927cc73 409472008-08-02 Robert Millan <rmh@aybabtu.com>
40948
40949 * loader/i386/pc/multiboot.c (playground, forward_relocator)
40950 (backward_relocator): New variables. Used to allocate and relocate
40951 the payload, respectively.
40952 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 40953 address, install the appropriate relocator code in each bound of
a927cc73 40954 the payload, and set the entry point such that
40955 grub_multiboot_real_boot() will jump to one of them.
40956
40957 * kern/i386/loader.S (grub_multiboot_payload_size)
40958 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40959 (grub_multiboot_payload_entry_offset): New variables.
40960 (grub_multiboot_real_boot): Set cpu context to what the relocator
40961 expects, and jump to the relocator instead of the payload.
40962
40963 * include/grub/i386/loader.h (grub_multiboot_payload_size)
40964 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40965 (grub_multiboot_payload_entry_offset): Export.
40966
b15d8a0c 409672008-08-01 Bean <bean123ch@gmail.com>
40968
40969 * normal/menu_entry.c (editor_getline): Don't return the original
40970 string as result, as it will be released by lexer once it has done
40971 using it.
40972
cdfb3d22 409732008-08-01 Robert Millan <rmh@aybabtu.com>
40974
40975 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
40976 within menuentries, not before them.
40977 util/grub.d/10_hurd.in: Likewise.
40978
9175e93d 409792008-08-01 Bean <bean123ch@gmail.com>
40980
40981 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
40982 (bufio_mod_SOURCES): New macro.
40983 (bufio_mod_CFLAGS): Likewise.
40984 (bufio_mod_LDFLAGS): Likewise.
40985
40986 * include/grub/bufio.h: New file.
40987
40988 * io/bufio.c: Likewise.
40989
40990 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
40991 (grub_video_reader_png): Use grub_buffile_open to open file.
40992
40993 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
40994 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
40995
40996 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
40997 (grub_video_reader_tga): Use grub_buffile_open to open file.
40998
40999 * font/manager.c: Include <grub/bufio.h>.
41000 (add_font): Use grub_buffile_open to open file.
41001
3d8383e7 410022008-07-31 Robert Millan <rmh@aybabtu.com>
41003
41004 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41005 ELF segments, use a macro for arbitrarily accessing any of them instead
41006 of preparing a pointer that allows access to one at a time.
41007 (grub_multiboot_load_elf64): Likewise.
41008
16e641b6 410092008-07-31 Bean <bean123ch@gmail.com>
41010
41011 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41012 GRUB_KERNEL_MACHINE_DATA_END.
41013
59198b72 410142008-07-30 Robert Millan <rmh@aybabtu.com>
41015
41016 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41017 Increase from 0x50 to 0x60.
41018 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41019 use UUIDs to identify the root drive for them. If that's not
41020 possible, abort.
41021 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41022 check, for cross-disk installs.
41023
ae88bca3 410242008-07-30 Robert Millan <rmh@aybabtu.com>
41025
41026 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41027 is non-empty, use it to set the `prefix' environment variable instead
41028 of the usual approach.
41029 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41030 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41031 environment variable instead of dummy make_install_device().
41032
41033 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41034 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41035 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41036
41037 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41038 New variable reference.
41039 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41040 New macro. Defines offset of `grub_prefix' within startup.S (relative
41041 to `start').
41042 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41043 section within startup.S (relative to `start').
41044 * include/grub/i386/coreboot/kernel.h: Likewise.
41045
41046 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41047 Overwrite grub_prefix with its contents, at the beginning of the
41048 first segment.
41049 (main): Understand -p|--prefix.
41050
14f41dd1 410512008-07-30 Robert Millan <rmh@aybabtu.com>
41052
41053 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41054
4ca049a3 410552008-07-30 Robert Millan <rmh@aybabtu.com>
41056
41057 * term/i386/pc/vga_text.c (grub_console_cls): Use
41058 grub_console_gotoxy() to go back to beginning of the screen.
41059 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41060
2921d337 410612008-07-29 Christian Franke <franke@computer.org>
41062
41063 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41064 Add conversion of emulated mount points on Cygwin.
41065
b609876d 410662008-07-29 Christian Franke <franke@computer.org>
41067
41068 * util/update-grub.in: Add a check for admin
41069 group on Cygwin.
41070 Remove old `grub.cfg.new' before creation.
41071 Add `-f' to `mv' to handle the different filesystem
41072 semantics of Windows.
41073
e93e4679 410742008-07-29 Bean <bean123ch@gmail.com>
41075
41076 * normal/main.c (get_line): Fix buffer overflow bug.
41077
41694fd0 410782008-07-28 Robert Millan <rmh@aybabtu.com>
41079
41080 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41081 (struct grub_apple_header): New struct. Describes the layout of
41082 the partmap header.
41083 (apple_partition_map_iterate): Check the header magic as well as the
41084 partition magic (which was already being checked).
41085
cfd0b4e6 410862008-07-28 Pavel Roskin <proski@gnu.org>
41087
41088 * genmk.rb: Add a warning to the beginning of the output that
41089 it's a generated file and should not be edited.
41090
93cce016 410912008-07-28 Robert Millan <rmh@aybabtu.com>
41092
41093 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41094 with the same number are found, just use issue a warning with
41095 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41096
cd1df915 410972008-07-27 Robert Millan <rmh@aybabtu.com>
41098
41099 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41100 information.
41101
b70a8427 411022008-07-27 Bean <bean123ch@gmail.com>
41103
41104 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41105 (grub_fat_find_dir): Ignore case when comparing filename.
41106
8f5e379f 411072008-07-27 Bean <bean123ch@gmail.com>
41108
41109 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41110 smallino, as it's more descriptive, and i8count can be confused with
41111 the other field count.
41112 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41113 inode type.
41114
a85cd5a0 411152008-07-27 Bean <bean123ch@gmail.com>
41116
41117 * commands/crc.c: New file.
41118
41119 * lib/crc.c: Likewise.
41120
41121 * include/grub/lib/crc.h: Likewise.
41122
41123 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41124
41125 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41126 (hexdump): Move this function to ...
41127
41128 * lib/hexdump.c: ... here.
41129
41130 * include/grub/hexdump.h: Renamed to ...
41131
41132 * include/grub/lib/hexdump.h: ... this.
41133
41134 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41135
41136 * util/grub-editenv.c: Likewise.
41137
41138 * include/envblk.h: Renamed to ...
41139
41140 * include/lib/envblk.h: ... this.
41141
41142 * util/envblk.c: Renamed to ...
41143
41144 * lib/envblk.c: ... this.
41145
41146 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41147 lib/hexdump.c.
41148 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41149 (pkglib_MODULES): Add crc.mod.
41150 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41151 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41152 (crc_mod_SOURCES): New macro.
41153 (crc_mod_CFLAGS): Likewise.
41154 (crc_mod_LDFLAGS): Likewise.
41155
41156 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41157
41158 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41159
41160 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41161
41162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41163
41164 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41165
c298def0 411662008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41167
41168 * commands/help.c: Include <grub/term.h>.
41169 (TERM_WIDTH): Removed. Updated all users.
41170
cc349fb3 411712008-07-27 Pavel Roskin <proski@gnu.org>
41172
41173 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41174 spurious warnings about a comment within a comment.
41175
9051607e 411762008-07-25 Robert Millan <rmh@aybabtu.com>
41177
41178 * util/getroot.c (find_root_device): Skip devices that match
41179 /dev/dm-[0-9]. This lets the real device be found for any type of
41180 abstraction (LVM, EVMS, RAID..).
41181 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41182 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41183 device is found first, find_root_device() will now skip it.
41184
01453bfc 411852008-07-24 Pavel Roskin <proski@gnu.org>
41186
41187 * include/grub/types.h: Use __builtin_bswap32() and
41188 __builtin_bswap64() with gcc 4.3 and newer.
41189
6af9849f 411902008-07-24 Christian Franke <franke@computer.org>
41191
3a0fa256 41192 * util/i386/pc/grub-install.in: If `--debug' is specified,
41193 pass `--verbose' to grub-setup.
41194 Abort script if make_system_path_relative_to_its_root() fails.
41195
7810e747 411962008-07-24 Bean <bean123ch@gmail.com>
41197
41198 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41199 variable `target_platform' should be `platform'.
41200
42290e17 412012008-07-24 Bean <bean123ch@gmail.com>
41202
51cc5193 41203 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41204 (grub_png_init_fixed_block): New function.
41205 (grub_png_decode_image_data): Handle fixed huffman code compression.
41206
2a8a80e4 412072008-07-24 Bean <bean123ch@gmail.com>
41208
41209 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41210 (grub_pe2elf_SOURCES): New macro.
41211 (CLEANFILES): Add grub-pe2elf.
41212
41213 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41214 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41215 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41216 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41217 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41218 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41219 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41220 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41221 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41222 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41223 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41224 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41225 (GRUB_PE32_DT_FUNCTION): Likewise.
41226 (GRUB_PE32_REL_I386_DIR32): Likewise.
41227 (GRUB_PE32_REL_I386_REL32): Likewise.
41228 (grub_pe32_symbol): New structure.
41229 (grub_pe32_reloc): Likewise.
41230
41231 * util/grub-pe2elf.c: New file.
41232
41233 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41234 start symbol in non pc platform.
41235
41236 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41237
41238 The following patches are from Christian Franke.
41239
41240 * include/grub/dl.h: Remove .previous, gas supports this only
41241 for ELF format.
41242
41243 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41244 Remove .type, gas supports this only for ELF format.
41245
41246 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41247 nullbytes in symbol table. This fixes an infinite loop if table is
41248 zero filled.
41249
41250 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41251 TARGET_IMG_LDFLAGS and EXEEXT.
41252
41253 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41254 TARGET_IMG_LDFLAGS_AC.
41255 (grub_CHECK_STACK_ARG_PROBE): New function.
41256
41257 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41258
41259 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41260
41261 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41262 to set TARGET_IMG_LD* accordingly.
41263 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41264 Add call to grub_CHECK_STACK_ARG_PROBE.
41265 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41266
41267 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41268
41269 * genmk.rb: Add EXEEXT to CLEANFILES.
41270
12ccdb75 412712008-07-23 Robert Millan <rmh@aybabtu.com>
41272
41273 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41274 define the codes for arrows and lines used for the menu).
41275 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41276 as well.
41277
41278 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41279 fonts, because the latter are too slow.
41280
18eeaf04 412812008-07-21 Bean <bean123ch@gmail.com>
41282
41283 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41284 a20. Run keyboard test last, as it will cause macbook to halt.
41285
b095e2ad 412862008-07-18 Pavel Roskin <proski@gnu.org>
41287
41288 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41289 load foreign architecture modules correctly anyway. Keep
41290 support for loading host architecture modules, whether we
41291 compile them or not.
41292
737feb35 412932008-07-17 Pavel Roskin <proski@gnu.org>
41294
3f4ce737 41295 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41296 change target_cpu. The compiler default can mismatch target_cpu
41297 in any case.
41298
4ad2d049 41299 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41300 * kern/efi/efi.c: Likewise.
41301
f6130a12 41302 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41303 target compiler is functional.
41304 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41305 are set up.
41306
58393a2d 41307 * configure.ac: Default to efi platform for x86_64-apple. Allow
41308 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41309 adjustments from the rest, only do them if target is not
41310 explicitly given. Merge other adjustments with the final sanity
41311 check. Remove an extraneous check for supported CPU. Be
41312 specific which CPU and which platform is not supported.
41313
737feb35 41314 * configure.ac: Default to pc platform for x86_64.
41315
546f966a 413162008-07-17 Robert Millan <rmh@aybabtu.com>
41317
41318 Partial LinuxBIOS -> Coreboot rename.
41319
41320 * conf/i386-linuxbios.rmk: Renamed to ...
41321 * conf/i386-coreboot.rmk: ... this.
41322 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41323 * configure.ac: Accept "coreboot" as input platform (but maintain
41324 compatibility with "linuxbios").
41325 * include/grub/i386/linuxbios: Renamed to ...
41326 * include/grub/i386/coreboot: ... this.
41327
20011694 413282008-07-17 Bean <bean123ch@gmail.com>
41329
41330 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41331 (appleldr_mod_SOURCE): New variable.
20011694 41332 (appleldr_mod_CFLAGS): Likewise.
41333 (appleldr_mod_LDFLAGS): Likewise.
41334 (pci_mod_SOURCES): Likewise.
41335 (pci_mod_CFLAGS): Likewise.
41336 (pci_mod_LDFLAGS): Likewise.
41337 (lspci_mod_SOURCES): Likewise.
41338 (lspci_mod_CFLAGS): Likewise.
41339 (lspci_mod_LDFLAGS): Likewise.
41340
41341 * conf/x86_64-efi.rmk: New file.
41342
41343 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41344 macro.
41345 (grub_efidisk_write): Likewise.
41346
41347 * include/efi/api.h (efi_call_0): New macro.
41348 (efi_call_1): Likewise.
41349 (efi_call_2): Likewise.
41350 (efi_call_3): Likewise.
41351 (efi_call_4): Likewise.
41352 (efi_call_5): Likewise.
41353 (efi_call_6): Likewise.
41354
41355 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41356 grub_rescue_cmd_chainloader.
41357
41358 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41359 (grub_pe32_optional_header): Change some fields based on i386 or
41360 x86_64 platform.
41361 (GRUB_PE32_PE32_MAGIC): Likewise.
41362
41363 * include/grub/efi/uga_draw.h: New file.
41364
41365 * include/grub/elf.h (STN_ABS): New constant.
41366 (R_X86_64_NONE): Relocation constant for x86_64.
41367 (R_X86_64_64): Likewise.
41368 (R_X86_64_PC32): Likewise.
41369 (R_X86_64_GOT32): Likewise.
41370 (R_X86_64_PLT32): Likewise.
41371 (R_X86_64_COPY): Likewise.
41372 (R_X86_64_GLOB_DAT): Likewise.
41373 (R_X86_64_JUMP_SLOT): Likewise.
41374 (R_X86_64_RELATIVE): Likewise.
41375 (R_X86_64_GOTPCREL): Likewise.
41376 (R_X86_64_32): Likewise.
41377 (R_X86_64_32S): Likewise.
41378 (R_X86_64_16): Likewise.
41379 (R_X86_64_PC16): Likewise.
41380 (R_X86_64_8): Likewise.
41381 (R_X86_64_PC8): Likewise.
41382
41383 * include/grub/i386/efi/pci.h: New file.
41384
41385 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41386 Change it value based on platform.
41387 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41388 (GRUB_E820_RAM): Likewise.
41389 (GRUB_E820_RESERVED): Likewise.
41390 (GRUB_E820_ACPI): Likewise.
41391 (GRUB_E820_NVS): Likewise.
41392 (GRUB_E820_EXEC_CODE): Likewise.
41393 (GRUB_E820_MAX_ENTRY): Likewise.
41394 (grub_e820_mmap): New structure.
41395 (linux_kernel_header): Change the efi field according to different
41396 kernel version, also field from linux_kernel_header.
41397
41398 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41399
41400 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41401 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41402 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41403 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41404 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41405 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41406 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41407 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41408 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41409 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41410
41411 * include/grub/x86_64/efi/kernel.h: New file.
41412
41413 * include/grub/x86_64/efi/loader.h: Likewise.
41414
41415 * include/grub/x86_64/efi/machine.h: Likewise.
41416
41417 * include/grub/x86_64/efi/pci.h: Likewise.
41418
41419 * include/grub/x86_64/efi/time.h: Likewise.
41420
41421 * include/grub/x86_64/linux.h: Likewise.
41422
41423 * include/grub/x86_64/setjmp.h: Likewise.
41424
41425 * include/grub/x86_64/time.h: Likewise.
41426
41427 * include/grub/x86_64/types.h: Likewise.
41428
41429 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41430 GRUB_TARGET_SIZEOF_VOID_P.
41431
41432 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41433 (grub_efi_locate_handle): Likewise.
41434 (grub_efi_open_protocol): Likewise.
41435 (grub_efi_set_text_mode): Likewise.
41436 (grub_efi_stall): Likewise.
41437 (grub_exit): Likewise.
41438 (grub_reboot): Likewise.
41439 (grub_halt): Likewise.
41440 (grub_efi_exit_boot_services): Likewise.
41441 (grub_get_rtc): Likewise.
41442
41443 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41444 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41445 (grub_efi_allocate_pages): Wrap efi calls.
41446 (grub_efi_free_pages): Wrap efi calls.
41447 (grub_efi_get_memory_map): Wrap efi calls.
41448
41449 * kern/x86_64/dl.c: New file.
41450
41451 * kern/x86_64/efi/callwrap.S: Likewise.
41452
41453 * kern/x86_64/efi/startup.S: Likewise.
41454
41455 * loader/efi/appleloader.c: Likewise.
41456
41457 * loader/efi/chainloader.c (cmdline): New variable.
41458 (grub_chainloader_unload): Wrap efi calls.
41459 (grub_chainloader_boot): Likewise.
41460 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41461 command line.
41462
41463 * loader/efi/chainloader_normal.c (chainloader_command):
41464 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41465 command line.
41466
41467 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41468 method.
41469 (grub_e820_add_region): New function.
41470 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41471 booting.
41472 (grub_find_video_card): New function.
41473 (grub_linux_setup_video): New function.
41474 (grub_rescue_cmd_linux): Probe for video information.
41475
41476 * normal/x86_64/setjmp.S: New file.
41477
41478 * term/efi/console.c (map_char): New function.
41479 (grub_console_putchar): Map unicode char.
41480 (grub_console_checkkey): Wrap efi calls.
41481 (grub_console_getkey): Likewise.
41482 (grub_console_getwh): Likewise.
41483 (grub_console_gotoxy): Likewise.
41484 (grub_console_cls): Likewise.
41485 (grub_console_setcolorstate): Likewise.
41486 (grub_console_setcursor): Likewise.
41487
41488 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41489
59652a20 414902008-07-16 Pavel Roskin <proski@gnu.org>
41491
ef294055 41492 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41493 format strings.
41494
59652a20 41495 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41496 pointer, not an integer. This fixes a warning and prevents
41497 precision loss on 64-bit systems.
41498 (relocate_addresses): Remove unneeded cast.
41499
afc3b5d7 415002008-07-15 Pavel Roskin <proski@gnu.org>
41501
506b2b3e 41502 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41503
62ead89c 41504 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41505
c4cd51d7 41506 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41507 Fix comparison between signed and unsigned.
41508
0d3d8f28 41509 * include/grub/i386/ieee1275/console.h: Declare
41510 grub_console_init() and grub_console_fini().
41511
8804b286 41512 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41513 It's empty and unused.
41514
ee01cf35 41515 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41516 beginning to avoid warnings with some compilers.
41517
afc3b5d7 41518 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41519 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41520
e4e8eaa5 415212008-07-14 Pavel Roskin <proski@gnu.org>
41522
407aceb4 41523 * kern/env.c (grub_register_variable_hook): Don't copy empty
41524 string, it leaks memory. Pass "" to grub_env_set(), it should
41525 handle constant strings.
41526
e4e8eaa5 41527 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41528 * commands/cmp.c (grub_cmd_cmp): Likewise.
41529 * kern/dl.c (grub_dl_flush_cache): Likewise.
41530 (grub_dl_load_core): Likewise.
41531 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41532 (grub_elf64_load_phdrs): Likewise.
41533
d4e2dad3 415342008-07-13 Pavel Roskin <proski@gnu.org>
41535
41536 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41537 between signed and unsigned.
41538 (LzmaEnc_Finish): Fix warning about an unused parameter.
41539
aa24b516 415402008-07-13 Bean <bean123ch@gmail.com>
41541
41542 * Makefile.in (enable_lzo): New rule.
41543
41544 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41545
41546 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41547
41548 * boot/i386/pc/lnxboot.S: #include <config.h>.
41549
41550 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 41551 its value according to the compression algorithm used, lzo or lzma.
aa24b516 41552
41553 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41554 compression algorithm according to configure macro.
41555
41556 * kern/i386/pc/startup.S (codestart): Likewise.
41557
41558 * kern/i386/pc/lzma_decode.S: New file.
41559
41560 * include/grub/lib/LzFind.h: Likewise.
41561
41562 * include/grub/lib/LzHash.h: Likewise.
41563
41564 * include/grub/lib/LzmaDec.h: Likewise.
41565
41566 * include/grub/lib/LzmaEnc.h: Likewise.
41567
41568 * include/grub/lib/LzmaTypes.h: Likewise.
41569
41570 * lib/LzFind.c: Likewise.
41571
41572 * lib/LzmaDec.c: Likewise.
41573
41574 * lib/LzmaEnc.c: Likewise.
41575
4ae821ac 415762008-07-13 Bean <bean123ch@gmail.com>
41577
41578 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41579 (grub_ext4_extent_header): New structure.
41580 (grub_ext4_extent): Likewise.
41581 (grub_ext4_extent_idx): Likewise.
41582 (grub_ext4_find_leaf): New function.
41583 (grub_ext2_read_block): Handle extents.
41584
9a745147 415852008-07-12 Robert Millan <rmh@aybabtu.com>
41586
41587 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41588
d49a4cf6 415892008-07-11 Robert Millan <rmh@aybabtu.com>
41590
41591 * util/grub.d/40_custom.in: New file. Example on how to add custom
41592 entries to /etc/grub.d.
41593 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41594 40_custom (implicitly, by merging all the grub.d rules).
41595
947414b4 415962008-07-11 Pavel Roskin <proski@gnu.org>
41597
0059cf6f 41598 * commands/read.c (grub_getline): Fix invalid memory access.
41599 Don't add newline to the variable value.
41600
947414b4 41601 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41602 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41603 (serial_hw_get_port): Check validity of the port number.
41604 (grub_cmd_serial): Check return value of serial_hw_get_port().
41605
62a02d00 416062008-07-07 Pavel Roskin <proski@gnu.org>
41607
41608 * boot/i386/pc/diskboot.S (notification_string): Replace
41609 "Loading kernel" with just "loading". This is shorter, less
41610 confusing and saves a few bytes for possible future changes.
41611
3e5581b0 416122008-07-05 Pavel Roskin <proski@gnu.org>
41613
ea387a48 41614 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41615 size for ATAPI devices, they are undefined. Output sector
41616 number in decimal form.
41617
3e5581b0 41618 * disk/ata.c: Use named constants for status bits.
41619
fdecb8fd 416202008-07-04 Pavel Roskin <proski@gnu.org>
41621
bcd35b90 41622 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41623 grub_addr_t before casting it to the void pointer to fix a
41624 warning. Non-addressable regions are discarded earlier.
41625 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41626 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41627 (check_signature): Don't shadow table_header.
41628 (grub_linuxbios_table_iterate): Cast numeric constants to
41629 grub_linuxbios_table_header_t.
41630 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41631 grub_stop().
41632
af58ab3d 41633 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41634 prevent warnings.
41635
1759aa57 41636 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41637 pointer, which can cause warnings. Support 64-bit addresses.
41638
fdecb8fd 41639 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41640 of sizeof(long). This fixes PowerPC image generation on x86_64.
41641
8516d2a8 416422008-07-04 Robert Millan <rmh@aybabtu.com>
41643
41644 This fixes a performance issue when pc & gpt partmap iterators
41645 didn't abort iteration even after our hook found what it was
fe987087 41646 looking for (often causing expensive probes of non-existent drives).
8516d2a8 41647
41648 Some callers relied on previous buggy behaviour, since they would
34c44600 41649 raise an error when their own hooks caused early abortion of its
8516d2a8 41650 iteration.
41651
41652 * kern/device.c (grub_device_open): Improve error message.
41653 * disk/lvm.c (grub_lvm_open): Likewise.
41654 * disk/raid.c (grub_raid_open): Likewise.
41655
41656 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41657 when hook requests it, independently of grub_errno.
41658 (pc_partition_map_probe): Do not fail when find_func() caused
41659 early abortion of pc_partition_map_iterate().
41660
41661 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41662 when hook requests it, independently of grub_errno.
41663 (gpt_partition_map_probe): Do not fail when find_func() caused
41664 early abortion of gpt_partition_map_iterate().
41665
41666 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41667 when hook requests it, independently of grub_errno. Do not fail when
41668 part_map_iterate_hook() caused early abortion of p->iterate().
41669
41670 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41671 when grub_partition_iterate() returned with non-zero.
41672
277d0de9 416732008-07-03 Pavel Roskin <proski@gnu.org>
41674
41675 * disk/ata.c (grub_ata_pio_write): Check status before writing,
41676 like we do in grub_ata_pio_read().
41677 (grub_ata_readwrite): Always write individual sectors. Fix the
41678 sector count for the remainder.
41679 (grub_ata_write): Enable writing to ATA devices. Correctly
41680 report error for ATAPI devices.
41681
d4c9b428 416822008-07-02 Pavel Roskin <proski@gnu.org>
41683
e43fc690 41684 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
41685 warning.
41686
f707af42 41687 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
41688 for every read sector, we already increment it for the whole
41689 batch. This fixes reading more than 256 sectors at once.
41690
11e16b15 41691 * util/grub-editenv.c (cmd_info): Cast argument to long
41692 explicitly. ptrdiff_t reduces to int on i386.
41693
cbabfdd4 41694 * util/grub-editenv.c (main): Be specific which parameter is
41695 missing.
41696
b8fbce0a 41697 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
41698 (memdisk): Make memdisk_orig_addr a pointer.
41699
c9c8e606 41700 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
41701 for file offsets, use grub_off_t instead. Fix printf format
41702 warnings.
41703
ca62e598 41704 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
41705 there. Real unexpected warnings should not drown in the noise
41706 about known problems.
41707
ce8d1766 41708 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
41709 grub_disk_addr_t for memory addresses.
41710
00c7a56a 41711 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
41712 explicitly to fix a warning.
41713
08d3ef09 41714 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
41715
cb71ba20 41716 * Makefile.in (MODULE_LDFLAGS): New variable.
41717 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
41718 the linker accepts --build-id=none.
41719 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
41720 MODULE_LDFLAGS.
41721 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
41722
d4c9b428 41723 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
41724 those in Linux XFS code. Provide a way to access 64-bit parent
41725 inode.
41726 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
41727 the end of struct grub_xfs_dir_header.
41728
d4156eee 417292008-07-02 Bean <bean123ch@gmail.com>
41730
41731 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
41732 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41733 and GRUB_IEEE1275_FLAG_NO_ANSI.
41734
41735 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
41736 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41737 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
41738
41739 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
41740 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
41741
41742 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
41743 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
41744
41745 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
41746 esc sequence on non ANSI terminal.
41747 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
41748
41749 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
41750 beginning of file.
41751
2270f77b 417522008-07-02 Bean <bean123ch@gmail.com>
41753
41754 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
41755 (grub_editenv_SOURCES): New variable.
41756 (pkglib_MODULES): Add loadenv.mod.
41757 (loadenv_mod_SOURCES): New variable.
41758 (loadenv_mod_CFLAGS): Likewise.
41759 (loadenv_mod_LDFLAGS): Likewise.
41760
41761 * include/grub/envblk.h: New file.
41762
41763 * util/envblk.c: New file.
41764
41765 * util/grub-editenv.c: New file.
41766
41767 * commands/loadenv.c: New file.
41768
0e9e51ec 417692008-07-01 Pavel Roskin <proski@gnu.org>
41770
d89b7634 41771 * include/multiboot2.h (struct multiboot_tag_module): Use char,
41772 not unsigned char. This fixes warnings and is consistent with
41773 other tags.
41774
bf1835b1 41775 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
41776
8222a04b 41777 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
41778
6a42d99d 41779 * term/tparm.c (analyze): Always set *popcount.
41780
10b159d1 41781 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
41782 cast to fix a warning.
41783
b8789f6c 41784 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
41785 cast to suppress a warning.
41786
29d7e38a 41787 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
41788 grub_fshelp_read_file() expects.
41789
f341f669 41790 * fs/fat.c: Fix UUID calculation on big-endian systems. We
41791 write uuid as a 32-bit value in CPU byte order, so declare and
41792 use it as such.
41793
0e9e51ec 41794 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
41795 long if the format specifier expects it.
41796 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
41797 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41798 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
41799 long to fix a warning.
41800 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
41801 grub_dprintf() arguments to fix warnings.
41802
3aefa857 418032008-06-30 Pavel Roskin <proski@gnu.org>
41804
56c7668b 41805 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
41806 install_bsd_part immediately before core.img is embedded or
41807 modified on disk. This fixes core.img verification if core.img
41808 cannot be embedded.
41809
3aefa857 41810 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
41811 core_path to calculate the blocklist.
41812 Patch from Javier Martín <lordhabbit@gmail.com>
41813
5444088d 418142008-06-29 Robert Millan <rmh@aybabtu.com>
41815
41816 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
41817 block to disk block.
41818 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
41819 Patch from Niels Böhm <bitbucket@arcor.de>
41820
674835c8 418212008-06-29 Robert Millan <rmh@aybabtu.com>
41822
41823 * util/update-grub_lib.in (font_path): Search for fonts in
41824 /boot/grub first, which is more likely to be readable (we aren't
41825 deciding where fonts live, just looking for them).
41826
f527dbc8 418272008-06-26 Pavel Roskin <proski@gnu.org>
41828
6c2d8df6 41829 * util/biosdisk.c (read_device_map): Don't leave dead map
41830 entries for devices failing stat() check.
41831
f527dbc8 41832 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
41833 core_path_dev for the core.img path on the target device.
41834
aebe3d13 418352008-06-26 Robert Millan <rmh@aybabtu.com>
41836
41837 * disk/fs_uuid.c: New file.
41838 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
41839 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
41840 (fs_uuid_mod_LDFLAGS): New variables.
41841 * include/grub/disk.h (grub_disk_dev_id): Add
41842 `GRUB_DISK_DEVICE_UUID_ID'.
41843 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
41844 implement iterate().
41845
37aaf354 418462008-06-26 Robert Millan <rmh@aybabtu.com>
41847
41848 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
41849 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
41850 Linux image includes no initrd.
41851
25ff262a 418522008-06-21 Javier Martín <lordhabbit@gmail.com>
41853
41854 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
41855 call to resolve the core image location that effectively appended the
41856 name twice.
41857
76a2bd44 418582008-06-21 Robert Millan <rmh@aybabtu.com>
41859
41860 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
41861 call from here ...
41862
41863 * util/grub.d/10_hurd.in: ... to here ...
41864 * util/grub.d/10_linux.in: ... and here.
41865
650e1c79 418662008-06-19 Robert Millan <rmh@aybabtu.com>
41867
fe987087 41868 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 41869 after it has been set by grub_machine_set_prefix().
41870
6ce63911 418712008-06-19 Robert Millan <rmh@aybabtu.com>
41872
41873 * commands/search.c (search_label, search_fs_uuid, search_file): Print
41874 search result when not saving to variable, not the other way around.
41875 When saving to variable, abort iteration as soon as a match is found.
41876
73940cec 418772008-06-19 Robert Millan <rmh@aybabtu.com>
41878
41879 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
41880 check for partition that provides /boot/grub. Its logic is flawed,
41881 as it prevents prepare_grub_to_access_device() from being called
41882 multiple times.
41883
3c62a39d 418842008-06-19 Robert Millan <rmh@aybabtu.com>
41885
41886 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
41887 "insmod" command directly when abstraction modules are needed,
fe987087 41888 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 41889 since it had already been processed).
41890
47395a42 418912008-06-19 Pavel Roskin <proski@gnu.org>
41892
41893 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
41894 changed. This is needed in case GRUB_LIBDIR changes.
41895 * conf/i386-ieee1275.rmk: Likewise.
41896 * conf/i386-linuxbios.rmk: Likewise.
41897 * conf/i386-pc.rmk: Likewise.
41898 * conf/powerpc-ieee1275.rmk: Likewise.
41899
a145ac2d 419002008-06-18 Pavel Roskin <proski@gnu.org>
41901
41902 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
41903 kernel_elf_symlist.c to symlist.c for consistency with other
41904 architectures. Update all users.
41905 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41906
7847c51e 419072008-06-18 Robert Millan <rmh@aybabtu.com>
41908
41909 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
41910 it in prefix.
41911
41912 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
41913 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
41914 a RAID device, run setup() for all members independently on whether
41915 LVM abstraction is being used.
41916 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
41917 If grub-mkimage has set `*install_dos_part == -2', don't override this
41918 value.
41919 Perform *install_dos_part adjustments independently on whether
41920 we're embedding or not.
41921 Clarify error message when image is too big for embedding.
41922 Remove duplicate *install_dos_part stanza.
41923
b23e5644 419242008-06-17 Robert Millan <rmh@aybabtu.com>
41925
41926 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
41927 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
41928 variables.
41929 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
41930 values in grub_ofconsole_normal_color and
41931 grub_ofconsole_highlight_color (they're not directly related to
41932 background and foreground).
41933 (grub_ofconsole_setcolorstate): Extract background and foreground
41934 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
41935
0aac2f79 419362008-06-17 Robert Millan <rmh@aybabtu.com>
41937
41938 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
41939 /boot/grub for the check in last commit, not /boot (they could be
41940 different partitions).
41941
3cca7ef3 419422008-06-16 Robert Millan <rmh@aybabtu.com>
41943
41944 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
41945 asked to setup access for the same partition that provides /boot,
41946 don't bother using UUIDs since our root already has the value we
41947 want.
41948
347396d8 419492008-06-16 Robert Millan <rmh@aybabtu.com>
41950
41951 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
41952 I2O devices.
41953 Patch from Sven Mueller <sven@debian.org>.
41954
991477f8 419552008-06-16 Robert Millan <rmh@aybabtu.com>
41956
41957 * util/update-grub.in: Check for $EUID instead of $UID.
41958 Reported by Vincent Zweije.
41959
d31a32a1 419602008-06-16 Bean <bean123ch@gmail.com>
41961
fe987087 41962 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 41963 (grub_ext2_read_block): Likewise.
41964 (grub_ext2_read_inode): Likewise.
41965 (grub_ext2_mount): Likewise.
41966 (grub_ext2_close): Likewise.
41967 (grub_ext3_get_journal): Removed.
41968
fe987087 41969 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 41970 (grub_reiserfs_read_symlink): Likewise.
41971 (grub_reiserfs_mount): Likewise.
41972 (grub_reiserfs_open): Likewise.
41973 (grub_reiserfs_read): Likewise.
41974 (grub_reiserfs_close): Likewise.
41975 (grub_reiserfs_get_journal): Removed.
41976
41977 * fs/fshelp.c (grub_fshelp_read): Removed.
41978 (grub_fshelp_map_block): Likewise.
41979
41980 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
41981 (grub_fshelp_journal): Likewise.
41982 (grub_fshelp_read): Likewise.
41983 (grub_fshelp_map_block): Likewise.
41984
3540a760 419852008-06-16 Pavel Roskin <proski@gnu.org>
41986
41987 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
41988 floating point anymore.
41989 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
41990
95614c84 419912008-06-15 Pavel Roskin <proski@gnu.org>
41992
41993 * commands/ls.c (grub_ls_list_files): Use integer calculations
41994 for human readable format, avoid floating point use.
41995 * kern/misc.c (grub_ftoa): Remove.
41996 (grub_vsprintf): Remove floating point support.
41997
50465dd6 419982008-06-15 Robert Millan <rmh@aybabtu.com>
41999
fe6b695a 42000 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42001 devices.
42002 Reported by Max Vozeler.
42003
a9207284 420042008-06-15 Robert Millan <rmh@aybabtu.com>
42005
42006 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42007 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42008 skipped later.
42009 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42010 the beginning of the prefix.
42011
42012 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42013 It is assumed that if we have a memdisk, grub-mkimage has set
42014 grub_prefix to include the "(memdisk)" drive in it.
42015
a7cbd45a 420162008-06-15 Robert Millan <rmh@aybabtu.com>
42017
42018 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42019 Initialize keyboard controller after registering the terminal, so that
42020 grub_printf() can be called from grub_keyboard_controller_init().
42021
21cf716a 420222008-06-15 Robert Millan <rmh@aybabtu.com>
42023
42024 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42025 extent-btree which is written as big endian on disk.
42026 Reported by Alain Greppin <al@chilibi.org>.
42027
23a64d8e 420282008-06-14 Robert Millan <rmh@aybabtu.com>
42029
42030 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42031 * util/i386/pc/grub-install.in (modules): Likewise.
42032
d687651c 420332008-06-13 Pavel Roskin <proski@gnu.org>
42034
42035 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42036
dfe9ddd4 420372008-06-13 Bean <bean123ch@gmail.com>
42038
42039 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42040
42041 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42042
42043 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42044 to indicate sparse block.
42045
16ae7781 420462008-06-12 Pavel Roskin <proski@gnu.org>
42047
e6d1a308 42048 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42049 number, grub_fshelp_read() does it for us.
42050
16ae7781 42051 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42052 linear disk read with journal translation.
42053 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42054 * include/grub/fshelp.h: Declare grub_fshelp_read().
42055
40fd3a2b 420562008-06-09 Pavel Roskin <proski@gnu.org>
42057
42058 * fs/minix.c (grub_minix_mount): Handle error reading
42059 superblock.
42060
f5679726 420612008-06-08 Robert Millan <rmh@aybabtu.com>
42062
42063 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42064 don't append the RAID prefix afterwards.
42065 Reported by Clint Adams.
42066
ce525529 420672008-06-08 Robert Millan <rmh@aybabtu.com>
42068
42069 Based on description from Pavel:
42070 * kern/disk.c (grub_disk_check_range): Rename to ...
42071 (grub_disk_adjust_range): ... this. Add a comment explaining the
42072 tasks performed by this function.
42073
ad4936a0 420742008-06-08 Robert Millan <rmh@aybabtu.com>
42075
42076 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42077 `num_serial' (for consistency with other variables).
42078 (struct grub_ntfs_data): Add `uuid' member.
42079 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42080 (grub_ntfs_uuid): New function.
42081 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42082
dc20b0f9 420832008-06-07 Pavel Roskin <proski@gnu.org>
42084
42085 * util/biosdisk.c (open_device): Revert last change to the
42086 function, it broke installation. The sector needs to be
42087 different dependent on which device is opened.
42088
c5e3cfba 420892008-06-06 Robert Millan <rmh@aybabtu.com>
42090
42091 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42092 rest of GRUB, and breakage doesn't happen if its value were modified.
42093
42094 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42095 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42096 a constant (same value).
42097 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42098 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42099
26a1f8c4 421002008-06-06 Robert Millan <rmh@aybabtu.com>
42101
42102 * util/biosdisk.c (open_device): Do not modify sector offset when
42103 accessing a partition. kern/disk.c already handles this for us.
42104
25d6b327 421052008-06-06 Robert Millan <rmh@aybabtu.com>
42106
42107 * util/grub-emu.c (grub_machine_init): Move code in this function from
42108 here ...
42109 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42110 segfault in case grub_printf() is called).
42111
42112 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42113 grub_probe. Update all users not to explicitly add it again.
42114 (grub_device): New variable; contains corresponding device for grubdir.
42115 (fs_module, partmap_module, devabstraction_module): Pass
42116 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42117 every time.
42118
9ece62fb 421192008-06-05 Robert Millan <rmh@aybabtu.com>
42120
42121 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42122 is found, print it (same layout as with labels).
42123
1ad36d37 421242008-06-04 Robert Millan <rmh@aybabtu.com>
42125
42126 * util/biosdisk.c (get_drive): Rename to ...
42127 (find_grub_drive): ... this. Update all users.
42128
42129 (get_os_disk): Rename to ...
42130 (convert_system_partition_to_system_disk): ... this. Update all users.
42131
42132 (find_drive): Rename to ...
42133 (find_system_device): ... this. Update all users.
42134
e6a30859 421352008-06-04 Robert Millan <rmh@aybabtu.com>
42136
42137 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42138 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42139 (make_device_map): Likewise.
42140
00c108a4 421412008-06-01 Robert Millan <rmh@aybabtu.com>
42142
42143 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42144 before dereferencing it.
42145
42146 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42147 union with fat12/fat16-specific ones. Add some new fields, including
42148 `num_serial' for both versions.
42149 (struct grub_fat_data): Add `uuid' member.
42150 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42151 names. Initialize `data->uuid' using `num_serial'.
42152 (grub_fat_uuid): New function.
42153 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42154
42155 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42156 (grub_reiserfs_uuid): New function.
42157 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42158 member.
42159
42160 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42161 (grub_xfs_uuid): New function.
42162 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42163
1385c5bb 421642008-06-01 Robert Millan <rmh@aybabtu.com>
42165
42166 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42167 code that is backward compatible with pre-uuid search command.
42168
c682dfd7 421692008-05-31 Robert Millan <rmh@aybabtu.com>
42170
42171 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42172 floppies after everything else, to ensure floppy drive isn't accessed
42173 unnecessarily (patch from Bean).
42174
b7db5d47 421752008-05-31 Robert Millan <rmh@aybabtu.com>
42176
42177 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42178 not print device names when we were asked to set a variable.
42179
6e037aa9 421802008-05-31 Robert Millan <rmh@aybabtu.com>
42181
42182 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42183 using "cursor-on" and "cursor-off" commands (understood at least by
42184 the Open Firmware flavour on OLPC).
42185
41305bc8 421862008-05-31 Michael Gorven <michael@gorven.za.net>
42187
42188 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42189 on and off sequences.
42190
69ba137e 421912008-05-31 Robert Millan <rmh@aybabtu.com>
42192
42193 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42194 * util/update-grub.in: Likewise.
42195
520ae21b 421962008-05-30 Pavel Roskin <proski@gnu.org>
42197
42198 * util/biosdisk.c (linux_find_partition): Simplify logic and
42199 make the code more universal. Keep special processing for
42200 devfs, but use a simple rule for all other devices. If the
42201 device ends with a number, append 'p' and the partition number.
42202 Otherwise, append only the partition number.
42203
5786569b 422042008-05-30 Robert Millan <rmh@aybabtu.com>
42205
42206 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42207 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42208 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42209 the `root' parameter to Linux.
42210
51500452 422112008-05-30 Robert Millan <rmh@aybabtu.com>
42212
42213 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42214 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42215 --fs_uuid with --fs-uuid.
42216 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42217 all filesystems support them).
42218
811d3878 422192008-05-30 Robert Millan <rmh@aybabtu.com>
42220
42221 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42222 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42223
cab63c95 422242008-05-30 Robert Millan <rmh@aybabtu.com>
42225
42226 * util/grub.d/00_header.in: Remove obsolete comment referencing
42227 convert_system_path_to_grub_path().
42228 * util/update-grub.in: Likewise.
42229 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42230 (convert_system_path_to_grub_path): Add a warning message explaining
42231 that this function is deprecated. Rely on is_path_readable_by_grub()
42232 for the readability checks.
42233 (font_path): Use is_path_readable_by_grub() for the readability
42234 check rather than convert_system_path_to_grub_path().
42235
972e2f7a 422362008-05-30 Robert Millan <rmh@aybabtu.com>
42237
42238 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42239 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42240 converting it first.
42241 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42242 grub.cfg for access to font file, and afterwards call it again to set
42243 the root device.
42244
62191274 422452008-05-30 Robert Millan <rmh@aybabtu.com>
42246
42247 * commands/search.c (options): Add --fs_uuid option.
42248 (search_fs_uuid): New function.
42249 (grub_cmd_search): Fix --set argument passing.
42250 Use search_fs_uuid() when requested via --fs_uuid.
42251 (grub_search_init): Update help message.
42252 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42253 and redeclare it as an array of 16-bit words.
42254 (grub_ext2_uuid): New function.
42255 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42256 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42257 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42258 (GRUB_DEVICE_BOOT_UUID): New variables.
42259 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42260 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42261 whenever possible.
42262 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42263 just assume `root' variable has the right value.
42264 * util/grub.d/10_linux.in: Likewise.
42265 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42266 via PRINT_FS_UUID.
42267 (main): Recognise `-t fs_uuid' argument.
42268
01b73ec8 422692008-05-30 Robert Millan <rmh@aybabtu.com>
42270
42271 * util/biosdisk.c (map): Redefine structure to hold information
42272 about GRUB drive name.
fe6b695a 42273 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42274 drive names.
42275 (call_hook): Remove.
42276 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42277 member. Assume drive has partitions.
42278 (grub_util_biosdisk_open): Access device names via `.device' struct
42279 member.
42280 (open_device): Likewise.
42281 (find_drive): Likewise.
42282 (read_device_map): Adjust map[] usage to match the new struct
42283 definition. Don't check for duplicates (still possible, but not cheap
42284 anymore).
42285 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42286 (make_device_name): Remove assumption of BIOS-like drive names.
42287
22f16596 422882008-05-30 Pavel Roskin <proski@gnu.org>
42289
42290 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42291 compiling execute.c doesn't need grub_script.tab.h anymore.
42292 (normal/command.c_DEPENDENCIES): Likewise.
42293 (normal/function.c_DEPENDENCIES): Likewise.
42294 * conf/i386-ieee1275.rmk: Likewise.
42295 * conf/i386-linuxbios.rmk: Likewise.
42296 * conf/i386-pc.rmk: Likewise.
42297 * conf/powerpc-ieee1275.rmk: Likewise.
42298 * conf/sparc64-ieee1275.rmk: Likewise.
42299
528ad8f2 423002008-05-29 Pavel Roskin <proski@gnu.org>
42301
d1dff95d 42302 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42303 when scanning metadata for volume group name.
42304
528ad8f2 42305 * include/grub/script.h: Don't include grub_script.tab.h. It's
42306 a generated file, which may only be included from the files with
42307 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42308 use union YYSTYPE, as the later allows forward declaration.
42309 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42310
47248e08 423112008-05-29 Robert Millan <rmh@aybabtu.com>
42312
42313 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42314 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42315 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42316 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42317 scan codes.
42318
ee632529 423192008-05-29 Robert Millan <rmh@aybabtu.com>
42320
42321 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42322 control key combinations.
42323
eee96e08 423242008-05-29 Robert Millan <rmh@aybabtu.com>
42325
42326 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42327 * util/ieee1275/grub-install.in: ... to here.
42328 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42329 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42330 (grub_install_SOURCES): Likewise.
42331
da9a6a94 423322008-05-29 Robert Millan <rmh@aybabtu.com>
42333
42334 * fs/affs.c: Update copyright year.
42335 * fs/ext2.c: Likewise.
42336 * fs/fshelp.c: Likewise.
42337 * fs/hfsplus.c: Likewise.
42338 * fs/ntfs.c: Likewise.
42339 * fs/xfs.c: Likewise.
42340 * include/grub/fshelp.h: Likewise.
42341 * util/grub-mkdevicemap.c: Likewise.
42342
12e65f3a 423432008-05-28 Robert Millan <rmh@aybabtu.com>
42344
42345 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42346 might need to be fatfs to support some firmware implementations
42347 (e.g. OFW or EFI).
42348
23023641 423492008-05-28 Robert Millan <rmh@aybabtu.com>
42350
42351 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42352 devices.
42353 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42354 (make_device_map): Likewise.
42355
887d2619 423562008-05-20 Bean <bean123ch@gmail.com>
42357
42358 * fs/fshelp.c (grub_fshelp_map_block): New function.
42359 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42360 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42361
42362 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42363 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42364 (grub_fshelp_journal): New structure.
42365 (grub_fshelp_map_block): New function prototype.
42366 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42367 (grub_fshelp_map_block): Likewise.
42368
42369 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42370 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42371 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42372 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42373 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42374 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42375 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42376 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42377 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42378 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42379 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42380 (grub_ext2_sblock): New members for journal support.
42381 (grub_ext3_journal_header): New structure.
42382 (grub_ext3_journal_revoke_header): Likewise.
42383 (grub_ext3_journal_block_tag): Likewise.
42384 (grub_ext3_journal_sblock): Likewise.
42385 (grub_fshelp_node): New members logfile and journal.
42386 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42387 grub_fshelp_map_block to get real block number.
42388 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42389 number.
42390 (grub_ext2_read_inode): Likewise.
42391 (grub_ext3_get_journal): New function.
42392 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42393 (grub_ext2_close): Release memory used by journal.
42394
42395 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42396 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42397 (grub_reiserfs_transaction_header): Renamed to
42398 grub_reiserfs_description_block, replace field data with real_blocks.
42399 (grub_reiserfs_commit_block): New structure.
42400 (grub_reiserfs_data): New member journal.
42401 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42402 number.
42403 (grub_reiserfs_read_symlink): Likewise.
42404 (grub_reiserfs_iterate_dir): Likewise.
42405 (grub_reiserfs_open): Likewise.
42406 (grub_reiserfs_read): Likewise.
42407 (grub_reiserfs_get_journal): New function.
42408 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42409 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42410 using grub_reiserfs_get_journal.
42411 (grub_reiserfs_close): Release memory used by journal.
42412
42413 * fs/affs.c (grub_affs_read_block): Change block type to
42414 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42415
42416 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42417
42418 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42419
42420 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42421
42422 * fs/udf.c (grub_udf_read_block): Change block type to
42423 grub_disk_addr_t. Use type cast to avoid warning.
42424
42425 * fs/xfs.c (grub_xfs_read_block): Likewise.
42426
b7c6bed5 424272008-05-16 Christian Franke <franke@computer.org>
42428
42429 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42430 to ensure that break with ESC will always work.
42431 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42432 Remove ESC from keyboard queue.
42433
eedf167f 424342008-05-16 Christian Franke <franke@computer.org>
42435
42436 * util/biosdisk.c: [__CYGWIN__] Add includes.
42437 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42438 (get_os_disk): Move variable declarations to OS specific
42439 parts to avoid warning.
42440 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42441 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42442 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42443 Cygwin.
42444 * util/getroot.c: [__CYGWIN__] Add includes.
42445 (strip_extra_slashes): Fix "/" case.
42446 [__CYGWIN__] (get_win32_path): New function.
42447 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42448 [__CYGWIN__] (find_root_device): Disable.
42449 [__CYGWIN__] (get_bootsec_serial): New function.
42450 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42451 [__linux__] (grub_guess_root_device): Add early returns to simplify
42452 structure.
42453 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42454 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42455 check for Linux only.
42456
a079699e 424572008-05-15 Bean <bean123ch@gmail.com>
42458
42459 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42460 keyboard hang problem in apple's intel mac.
42461
1cf4059a 424622008-05-09 Robert Millan <rmh@aybabtu.com>
42463
42464 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42465 devices.
42466 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42467 (make_device_map): Likewise.
42468 Reported by Aurelien Jarno <aurel32@debian.org>
42469
ed759390 424702008-05-07 Ian Campbell <ijc@hellion.org.uk>
42471
42472 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42473 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42474 (make_device_map): Output entries for xvd type disks.
42475
b56c4eaa 424762008-05-07 Robert Millan <rmh@aybabtu.com>
42477
42478 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42479 devices.
42480 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42481 (make_device_map): Likewise.
42482 Reported by Roland Dreier <rdreier@cisco.com>
42483
7f8866ed 424842008-05-07 Robert Millan <rmh@aybabtu.com>
42485
42486 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42487 grub_strstr() call. Correct a few mistakes in failure path handling.
42488
b0346e0f 424892008-05-06 Robert Millan <rmh@aybabtu.com>
42490
42491 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42492 Do not print a trailing slash (therefore, the root directory is an
42493 empty string).
42494 (convert_system_path_to_grub_path): Do not remove trailing slash
42495 from make_system_path_relative_to_its_root() output.
42496
42497 * util/i386/pc/grub-install.in: Add trailing slash to output from
42498 make_system_path_relative_to_its_root().
42499
6cf12cbd 425002008-05-06 Robert Millan <rmh@aybabtu.com>
42501
42502 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42503 ensures that output lines aren't intermangled with those sent to
42504 stderr (via grub_util_info()).
42505 * util/grub-probe.c (grub_refresh): Likewise.
42506 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42507
0fbb3117 425082008-05-05 Christian Franke <franke@computer.org>
42509
42510 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42511 Add Cygwin device names.
42512 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42513 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42514 (check_device): Return error instead of success on empty name.
42515 (make_device_map): Move label inside linux specific code to
42516 prevent compiler warning.
42517
8124cdb7 425182008-04-30 Robert Millan <rmh@aybabtu.com>
42519
42520 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42521 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42522 first boot option.
42523 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42524
094c01d0 425252008-04-29 Robert Millan <rmh@aybabtu.com>
42526
42527 * docs/grub.cfg: New file (example GRUB configuration).
42528
f4b1fc02 425292008-04-26 Robert Millan <rmh@aybabtu.com>
42530
329ce2a5 42531 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42532 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42533 and `disk/ieee1275/nand.c'.
f4b1fc02 42534
25f16ec1 425352008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 42536
25f16ec1 42537 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42538 i386-linuxbios.
42539
42540 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42541 change the buffer size to 4096 for cdrom device.
42542
42543 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42544 and nand.mod.
42545 (_linux_mod_SOURCES): New variable.
42546 (_linux_mod_CFLAGS): Likewise.
42547 (_linux_mod_LDFLAGS): Likewise.
42548 (linux_mod_SOURCES): Likewise.
42549 (linux_mod_CFLAGS): Likewise.
42550 (linux_mod_LDFLAGS): Likewise.
42551 (nand_mod_SOURCES): Likewise.
42552 (nand_mod_CFLAGS): Likewise.
42553 (nand_mod_LDFLAGS): Likewise.
42554
42555 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42556 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42557 type property. (nand device in olpc don't have this property)
42558
42559 * include/grub/disk.h (grub_disk_dev_id): New macro
42560 GRUB_DISK_DEVICE_NAND_ID.
42561
42562 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42563 function prototype.
42564 (grub_rescue_cmd_initrd): Likewise.
42565
42566 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42567 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42568 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 42569
25f16ec1 42570 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42571 GRUB_MACHINE_IEEE1275 is defined.
42572
42573 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42574 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42575
42576 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42577 on nested function heap_init.
42578 (grub_upper_mem): New variable for i386-ieee1275.
42579 (grub_get_extended_memory): New function for i386-ieee1275.
42580 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42581
42582 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42583 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42584 property.
f19dbdb7 42585
25f16ec1 42586 * loader/i386/ieee1275/linux.c: New file.
42587
42588 * loader/i386/ieee1275/linux_normal.c: New file.
42589
42590 * disk/ieee1275/nand.c: New file.
42591
e89d61e9 425922008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42593
42594 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42595 value.
42596 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42597
602566f6 425982008-04-18 Robert Millan <rmh@aybabtu.com>
42599
42600 Restructures early code path on ieee1275 to unify grub_main() as
42601 the first C function that is executed in every platform.
42602
42603 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42604 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42605 cmain().
42606 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42607 * kern/ieee1275/cmain.c (cmain): Rename to ...
42608 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42609 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42610 at the beginning.
42611
57490c2b 426122008-04-18 Robert Millan <rmh@aybabtu.com>
42613
42614 * util/update-grub.in: Fix syntax error when setting
42615 `GRUB_PRELOAD_MODULES'.
42616 Reported by Stephane Chazelas <stephane@artesyncp.com>
42617
1977517d 426182008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42619
42620 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42621 section into account, newer toolchains generate unique build ids
42622 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 42623 we want build ids to be preserved
1977517d 42624 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42625 far from other sections don't cause the raw binary images grow
42626 size
42627
bfb1f1a2 426282008-04-15 Robert Millan <rmh@aybabtu.com>
42629
42630 * disk/lvm.c: Update copyright year.
42631 * kern/misc.c: Likewise.
42632
01979850 426332008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42634
42635 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 42636 there is no memory left for physical volume name.
01979850 42637
0a1150e2 426382008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42639
42640 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42641 volume name mapping to support bigger than 9 character names properly.
42642
82ead3fe 426432008-04-13 Robert Millan <rmh@aybabtu.com>
42644
42645 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42646 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42647
e54a72f5 426482008-04-13 Christian Franke <franke@computer.org>
42649
42650 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42651 to create a floppy emulation boot CD when non emulation mode
42652 does not work.
42653 Enable Joliet CD filesystem extension.
42654
9fe86034 426552008-04-13 Robert Millan <rmh@aybabtu.com>
42656
42657 * kern/misc.c (grub_strncat): Fix off-by-one error.
42658 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42659
42660 * kern/env.c (grub_env_context_close): Clear current context, not
42661 previous one.
42662 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42663
42664 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42665
7ceeee39 426662008-04-13 Robert Millan <rmh@aybabtu.com>
42667
42668 Improve robustness when handling LVM.
42669
42670 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 42671 (and leave `*p' unmodified).
7ceeee39 42672 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42673 through it.
42674 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
42675 iterating through it.
42676 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
42677 through it.
fe6b695a 42678 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 42679 when due) on each grub_lvm_getvalue() or grub_strstr() call.
42680 Don't assume `vg->pvs != NULL' when iterating through it.
42681
58cd3d85 426822008-04-13 Robert Millan <rmh@aybabtu.com>
42683
42684 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
42685 * genmk.rb (partmap): New variable.
42686 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
42687 (#{partmap}): New target rule.
42688 * genpartmaplist.sh: New file.
42689 * Makefile.in (pkglib_DATA): Add partmap.lst.
42690 (partmap.lst): New target rule.
42691 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
42692 modules (including all partition maps), instead of preloading them.
42693
78b51059 426942007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
42695
42696 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
42697 `linux-boot-prober' (if installed) to detect other operating
42698 systems which are installed on the computer and add them to
42699 the boot menu.
42700 * conf/common.rmk: Build and install 30_os-prober.
42701
a91627b4 427022008-04-12 Robert Millan <rmh@aybabtu.com>
42703
42704 * kern/powerpc/ieee1275/init.c: Move from here ...
42705 * kern/ieee1275/init.c: ... to here. Update all users.
42706
42707 * kern/powerpc/ieee1275/cmain.c: Move from here ...
42708 * kern/ieee1275/cmain.c: ... to here. Update all users.
42709
42710 * kern/powerpc/ieee1275/openfw.c: Move from here ...
42711 * kern/ieee1275/openfw.c: ... to here. Update all users.
42712
42713 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
42714 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
42715
322562ea 427162008-04-10 Pavel Roskin <proski@gnu.org>
42717
42718 * configure.ac: Always use "_cv_" in cache variables for
42719 compatibility with Autoconf 2.62.
42720
a02a73c5 427212008-04-07 Robert Millan <rmh@aybabtu.com>
42722
42723 Revert grub/machine/init.h addition by Pavel (since it breaks on
42724 i386-ieee1275 and others):
42725 * util/i386/pc/misc.c: Remove grub/machine/init.h.
42726 * util/powerpc/ieee1275/misc.c: Likewise.
42727
25c024b1 427282008-04-07 Robert Millan <rmh@aybabtu.com>
42729
42730 * util/grub-probe.c (probe): Improve error message.
42731
3cbd2f98 427322008-04-07 Robert Millan <rmh@aybabtu.com>
42733
42734 * util/biosdisk.c (read_device_map): Skip devices that don't exist
42735 (this prevents the presence of a bogus entry from ruining the whole
42736 thing).
42737
87a297bf 427382008-04-06 Pavel Roskin <proski@gnu.org>
42739
36747a62 42740 * util/biosdisk.c: Include grub/util/biosdisk.h.
42741 * util/grub-fstest.c (execute_command): Make static.
42742 * util/grub-mkdevicemap.c (check_device): Likewise.
42743 * util/i386/pc/misc.c: Include grub/machine/init.h.
42744 * util/powerpc/ieee1275/misc.c: Likewise.
42745 * util/lvm.c: Include grub/util/lvm.h.
42746 * util/misc.c: Include grub/kernel.h, grub/misc.h and
42747 grub/cache.h.
42748 * util/raid.c: Include grub/util/raid.h.
42749 (grub_util_getdiskname): Make static.
42750
87a297bf 42751 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
42752 grub_hostfs_fini(), as they are called from grub_init_all() and
42753 grub_fini_all() respectively. This fixes an infinite loop in
42754 grub-fstest due to double registration of hostfs.
42755 Reported by Christian Franke <Christian.Franke@t-online.de>
42756
f6ce7629 427572008-04-05 Pavel Roskin <proski@gnu.org>
42758
42759 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
42760 all 8 functions. Otherwise, probe function 0 only.
42761
070e49e4 427622008-04-04 Pavel Roskin <proski@gnu.org>
42763
8b088a4c 42764 * commands/lspci.c (grub_lspci_iter): Print the bus number
42765 correctly.
42766
4f657021 42767 * commands/lspci.c (grub_pci_classes): Fix typos.
42768 (grub_lspci_iter): Don't print func twice. Print vendor ID
42769 before device ID, as it's normally done.
42770
070e49e4 42771 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42772 Fix signedness warnings.
42773 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
42774 Likewise.
42775 * util/ieee1275/get_disk_name.c: Include config.h so that
42776 _GNU_SOURCE is defined and getline() is declared. Mark an
42777 unused argument as such. Fix a signedness warning.
42778
ba7328dc 427792008-04-02 Pavel Roskin <proski@gnu.org>
42780
26887f22 42781 * genkernsyms.sh.in: Use more robust assignments for CC and
42782 srcdir. Quote srcdir.
42783 * gensymlist.sh.in: Likewise. Assert at the compile time that
42784 the symbol table is not empty.
42785
ba7328dc 42786 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
42787 * fs/cpio.c (grub_cpio_read): Likewise.
42788
0f582c6b 427892008-04-01 Pavel Roskin <proski@gnu.org>
42790
4b6e1995 42791 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
42792 * disk/host.c (grub_host_open): Likewise.
42793 * disk/loopback.c (grub_loopback_open): Likewise.
42794 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
42795 disk->id as in disk/host.c, not a multi-character constant.
42796
828a2768 42797 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
42798 later is obsolete, potentially dangerous and sets a bad example.
42799 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
42800 * util/misc.c (grub_util_get_image_size): Likewise.
42801
2bb4fb47 42802 * disk/loopback.c (options): Improve help for "--partitions".
42803
0f582c6b 42804 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
42805 options to align them with the short options, e.g. "echo -e".
42806
a33224e0 428072008-03-31 Bean <bean123ch@gmail.com>
42808
42809 * video/reader/png.c (grub_png_data): New member is_16bit and
42810 image_data.
42811 (grub_png_decode_image_header): Detect 16 bit png image.
42812 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
42813 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
42814 (grub_video_reader_png): Release memory occupied by image_data.
42815
42816 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
42817 4096 bytes.
42818 (grub_nfs_mount): Skip the test for sector per cluster.
42819
42820 * include/grub/ntfs.h (MAX_SPC): Removed.
42821
86cb4f54 428222008-03-31 Bean <bean123ch@gmail.com>
42823
42824 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
42825 (grub_probe_SOURCES): Add fs/afs.c.
42826 (grub_fstest_SOURCES): Likewise.
42827 (afs_mod_SOURCES): New variable.
42828 (afs_mod_CFLAGS): Likewise.
42829 (afs_mod_LDFLAGS): Likewise.
42830
42831 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
42832 (grub_emu_SOURCES): Likewise.
42833
42834 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42835
42836 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42837
42838 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42839
42840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42841
42842 * fs/afs.c: New file.
42843
17c74c21 428442008-03-30 Pavel Roskin <proski@gnu.org>
42845
4cb68e89 42846 * disk/host.c: Include grub/misc.h to fix a warning.
42847 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
42848 warnings about implicit declarations.
42849
8790bb04 42850 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
42851 variable.
42852 * include/grub/i386/loader.h: Change declaration of
42853 grub_linux_boot() to match what grub_loader_set() expects.
42854 * util/getroot.c (grub_guess_root_device): Return const char* to
42855 fix a warning.
42856 * util/grub-probe.c (probe): Fix a warning about uninitialized
42857 abstraction_name variable.
42858 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
42859 second argument as unused to fix a warning.
42860
9a3f3296 42861 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
42862 missing grub_error() call.
42863
0ecef90d 42864 * util/update-grub_lib.in: Define datarootdir, since Autoconf
42865 2.60 and newer uses it to define datadir.
42866
0bf6d401 42867 * commands/sleep.c: Fix warning about implicit declaration.
42868 * disk/memdisk.c: Likewise.
42869 * loader/aout.c: Likewise.
42870 * loader/i386/bsd_normal.c: Likewise.
42871 * util/grub-probe.c: Likewise.
42872
7cdacf97 42873 * commands/i386/cpuid.c (has_longmode): Make static.
42874 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
42875 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
42876
17c74c21 42877 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
42878 GDT. This is more robust, as %ds can change.
42879 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
42880 calling real_to_prot().
42881 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
42882
80a3e68b 428832008-03-28 Pavel Roskin <proski@gnu.org>
42884
42885 * kern/i386/pc/startup.S: Assert that uncompressed functions
42886 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
42887 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
42888 code, as they push parts of the code (error handlers) beyond
42889 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
42890 code as correctness and size.
42891
77bcd272 428922008-03-28 Pavel Roskin <proski@gnu.org>
42893
42894 * kern/i386/pc/startup.S
42895 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
42896 data block address to the real mode, keep offset minimal. This
42897 works around a bug in AWARD BIOS on old Athlon systems, which
42898 makes CD detection hang.
42899
c5dfd43b 429002008-03-26 Pavel Roskin <proski@gnu.org>
42901
42902 * normal/color.c (grub_parse_color_name_pair): Make `name' a
42903 const.
42904 * include/grub/normal.h: Add grub_parse_color_name_pair()
42905 declaration.
42906
bf962df2 429072008-03-24 Bean <bean123ch@gmail.com>
42908
42909 * disk/i386/pc/biosdisk.c (cd_start): Removed.
42910 (cd_count): Removed.
42911 (cd_drive): New variable.
42912 (grub_biosdisk_get_drive): Don't check for (cdN) device.
42913 (grub_biosdisk_call_hook): Likewise.
42914 (grub_biosdisk_iterate): Change cdrom detection method.
42915 (grub_biosdisk_open): Replace cd_start with cd_drive.
42916 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
42917 detect cdrom device.
42918
42919 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
42920 Removed.
42921 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
42922 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
42923 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
42924 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
42925 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
42926 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
42927 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
42928 (grub_biosdisk_cdrp): New structure.
42929 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
42930
42931 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
42932
42933 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
42934 device.
42935
42936 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
42937 New function.
42938
68e7fc7a 429392008-03-20 Robert Millan <rmh@aybabtu.com>
42940
42941 Remove 2 TiB limit in ata.mod.
42942 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
42943 (grub_ata_dumpinfo): Print sector count with 0x%llx.
42944 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
42945 grub_uint64_t instead of grub_uint32_t.
42946
38ad2cf5 429472008-03-05 Bean <bean123ch@gmail.com>
42948
42949 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
42950 (grub_multiboot): Set boot device.
42951
42952 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
42953
2b89344e 429542008-03-02 Bean <bean123ch@gmail.com>
42955
42956 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
42957 symlink_buffer.
42958
87a95d1f 429592008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
42960
42961 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
42962 texinfo.tex.
42963
42964 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
42965 modified.
42966
42967 * docs/fdl.texi: New file.
f19dbdb7 42968
87a95d1f 42969 * docs/mdate-sh: New file. Copied from gnulib.
42970 * docs/texinfo.tex: Likewise.
42971
42972 * config.guess: Updated from gnulib.
42973 * install-sh: Likewise.
42974
7dc15d8e 429752008-02-28 Robert Millan <rmh@aybabtu.com>
42976
42977 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
42978 (aout_mod_SOURCES): New variable.
42979 (aout_mod_CFLAGS): Likewise.
42980 (aout_mod_LDFLAGS): Likewise.
42981
42982 * conf/i386-ieee1275.rmk: Likewise.
42983
b00ab696 429842008-02-28 Robert Millan <rmh@aybabtu.com>
42985
42986 * util/update-grub.in: Reorganise terminal validity check. Accept
42987 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
42988 Based on suggestion by Franklin PIAT.
42989
79ca2d78 429902008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
42991
42992 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
42993 function.
42994 * util/getroot.c (grub_util_check_block_device): New function that
42995 returns the given argument if it is a block device and returns NULL else.
42996 * util/grub-probe.c (argument_is_device): New variable.
42997 (probe): Promote device_name from a variable to an argument. Receive
42998 device_name from grub_util_check_block_device() if path is NULL and from
42999 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43000 (options): Introduce new parameter '-d, --device'.
79ca2d78 43001 (main): Add description of the new parameter to the help screen.
43002 Rename path variable to argument. Set argument_is_device if the '-d'
43003 option is given. Pass argument to probe() depending on
43004 argument_is_device.
43005
0d16e571 430062008-02-24 Bean <bean123ch@gmail.com>
43007
43008 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43009 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43010 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43011 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43012 (GRUB_ISO9660_VOLDESC_END): Likewise.
43013 (grub_iso9660_primary_voldesc): New member escape.
43014 (grub_iso9660_data): New member joliet.
43015 (grub_iso9660_convert_string): New function.
43016 (grub_iso9660_mount): Detect joliet extension.
43017 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43018 (grub_iso9660_iso9660_label): Likewise.
43019
43020 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43021 (grub_setup_SOURCES): Add fs/udf.c.
43022 (grub_fstest_SOURCES): Likewise.
43023 (udf_mod_SOURCES): New variable.
43024 (udf_mod_CFLAGS): Likewise.
43025 (udf_mod_LDFLAGS): Likewise.
43026
43027 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43028 (grub_emu_SOURCES): Likewise.
43029
43030 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43031
43032 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43033
43034 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43035
43036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43037
43038 * fs/udf.c: New file.
43039
8a594a17 430402008-02-24 Robert Millan <rmh@aybabtu.com>
43041
43042 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43043 (normal/lexer.c_DEPENDENCIES): New variables.
43044 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43045 (normal/lexer.c_DEPENDENCIES): Likewise.
43046 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43047 (normal/lexer.c_DEPENDENCIES): Likewise.
43048 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43049 (normal/lexer.c_DEPENDENCIES): Likewise.
43050 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43051 (normal/lexer.c_DEPENDENCIES): Likewise.
43052 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43053 (normal/lexer.c_DEPENDENCIES): Likewise.
43054
2dc33c03 430552008-02-23 Robert Millan <rmh@aybabtu.com>
43056
43057 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43058 since they were intended to be in hex. This didn't break previously
43059 because of a bug in gpt_partition_map_iterate() (see below).
43060
43061 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43062 when checking the validity of GPT header.
43063 Remove `partno', since it always provides the same information as `i'.
43064
f6f4cfb0 430652008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43066
43067 * include/grub/efi/time.h: Fix a wrong comment.
43068
79ff665f 430692008-02-19 Pavel Roskin <proski@gnu.org>
43070
43071 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43072 message.
43073
d38e24c2 430742008-02-19 Bean <bean123ch@gmail.com>
43075
43076 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43077 (aout_mod_SOURCES): New variable.
43078 (aout_mod_CFLAGS): Likewise.
43079 (aout_mod_LDFLAGS): Likewise.
43080 (_bsd_mod_SOURCES): New variable.
43081 (_bsd_mod_CFLAGS): Likewise.
43082 (_bsd_mod_LDFLAGS): Likewise.
43083 (bsd_mod_SOURCES): New variable.
43084 (bsd_mod_CFLAGS): Likewise.
43085 (bsd_mod_LDFLAGS): Likewise.
43086
43087 * include/grub/aout.h: New file.
43088
43089 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43090
43091 * include/grub/i386/bsd.h: New file.
43092
43093 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43094 to make it public.
43095
43096 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43097 function is called, so that it's possible to change it inside the hook.
43098 (grub_elf64_load): Likewise.
43099 (grub_elf_file): Don't close the file if elf header is not found.
43100 (grub_elf_close): Close the file if grub_elf_file fails (The new
43101 grub_elf_file won't close it).
43102 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43103 (grub_elf64_size): Likewise.
43104
43105 * kern/i386/loader.S (grub_unix_real_boot): New function.
43106
43107 * loader/aout.c: New file.
43108
43109 * loader/i386/bsd.c: New file.
43110
43111 * loader/i386/bsd_normal.c: New file.
43112
43113 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43114
43115 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43116 can test other formats.
d38e24c2 43117
b93bdb0f 431182008-02-19 Robert Millan <rmh@aybabtu.com>
43119
43120 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43121 (grub_gpt_partition_type_empty): Redefine with macro from
43122 `<grub/gpt_partition.h>'.
43123 (gpt_partition_map_iterate): Adjust partition type comparison.
43124
43125 Export `entry' as partmap-specific `part.data' struct.
43126 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43127
43128 * include/grub/gpt_partition.h (grub_gpt_header)
43129 (grub_gpt_partentry): ... to here (new file).
43130
43131 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43132
43133 (grub_gpt_partition_type_bios_boot): New const variable, defined
43134 with macro from `<grub/gpt_partition.h>'.
43135
43136 (setup): Replace `first_start' with `embed_region', which keeps
43137 track of the embed region (and is partmap-agnostic).
43138
43139 Replace find_first_partition_start() with find_usable_region(),
43140 which finds a usable region for embedding using partmap-specific
43141 knowledge (supports PC/MSDOS and GPT).
43142
43143 Fix all assumptions that the embed region start at sector 1, using
43144 `embed_region.start' from now on. Similarly, use `embed_region.end'
43145 rather than `first_start' to calculate available size.
43146
43147 In grub_util_info() message, replace "into after the MBR" with an
43148 indication of the specific sector our embed region starts at.
43149
66cb40f6 431502008-02-19 Robert Millan <rmh@aybabtu.com>
43151
43152 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43153 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43154 `commands/reboot.c'.
43155 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43156 (halt_mod_SOURCES): Likewise.
43157 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43158 (halt_mod_SOURCES): Likewise.
43159
b7202015 431602008-02-17 Christian Franke <franke@computer.org>
43161
43162 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43163
32b0fc49 431642008-02-17 Robert Millan <rmh@aybabtu.com>
43165
43166 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43167 set `first_start' to 0 for non-PC/MSDOS partition maps.
43168
aca63502 431692008-02-16 Robert Millan <rmh@aybabtu.com>
43170
43171 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43172 do not assume partition map is PC/MSDOS before performing checks that
43173 are specific to that layout.
43174
0de8be86 431752008-02-13 Robert Millan <rmh@aybabtu.com>
43176
43177 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43178 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43179 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43180
c3db8364 431812008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43182
43183 * configure.ac: Only a cosmetic change on the handling of
43184 -fno-stack-protector.
43185
f714229e 431862008-02-12 Alexandre Boeglin <alex@boeglin.org>
43187
c3db8364 43188 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43189 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43190 reboot.c.
f714229e 43191 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43192 (halt_mod_SOURCES): New variable.
43193 (halt_mod_CFLAGS): Likewise.
43194 (halt_mod_LDFLAGS): Likewise.
43195 (reboot_mod_SOURCES): Likewise.
43196 (reboot_mod_CFLAGS): Likewise.
43197 (reboot_mod_LDFLAGS): Likewise.
43198
c3db8364 43199 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43200 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43201 reboot.c.
f714229e 43202 (halt_mod_SOURCES): Likewise.
43203 (reboot_mod_SOURCES): Likewise.
43204
c3db8364 43205 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43206 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43207 (reboot_mod_SOURCES): Likewise.
43208
43209 * commands/i386/pc/reboot.c: merge this file ...
43210
43211 * commands/ieee1275/reboot.c: ... and this file ...
43212
43213 * commands/reboot.c: ... to this file.
c3db8364 43214 Add some precompiler directive to include the correct header for
43215 each machine.
f714229e 43216
43217 * commands/ieee1275/halt.c: move this file ...
43218
43219 * commands/halt.c: ... to here.
c3db8364 43220 Add some precompiler directive to include the correct header for
43221 each machine.
f714229e 43222
43223 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43224 (grub_halt): Likewise.
43225
43226 * kern/efi/efi.c (grub_reboot): New function.
43227 (grub_halt): Likewise.
43228
c74493e0 432292008-02-12 Robert Millan <rmh@aybabtu.com>
43230
43231 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43232 /dev (like it is done for /dev/mapper). This doesn't provide support
43233 for EVMS, but at least it is now easy to identify the problem when it
43234 arises.
43235
d0db4b04 432362008-02-11 Robert Millan <rmh@aybabtu.com>
43237
43238 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43239 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43240 comparing it with -1, not 0.
43241
bf748642 432422008-02-10 Robert Millan <rmh@aybabtu.com>
43243
43244 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43245 `disk/lvm.c'.
43246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43247 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43248
43249 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43250 `disk/lvm.c' to the end of the list.
43251 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43252 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43253
b5db202a 432542008-02-10 Robert Millan <rmh@aybabtu.com>
43255
43256 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43257 grub_print_error() instead. This will let user know why we're entering
43258 rescue mode.
43259 Based on suggestions from Sam Morris.
43260
83abee31 432612008-02-10 Alexandre Boeglin <alex@boeglin.org>
43262
43263 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43264 on remaining N args, instead of "--" arg N times.
43265
78d5a08b 432662008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43267
43268 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43269 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43270 pattern for unknown glyphs.
43271
68807e5f 432722008-02-09 Robert Millan <rmh@aybabtu.com>
43273
43274 * configure.ac: Probe for `help2man'.
43275 * Makefile.in (builddir): New variable.
43276 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43277 or otherwise add a few flags/options to it.
43278 (install-local): For every executable utility or script that is
43279 installed, invoke $(HELP2MAN) to install a manpage based on --help
43280 output.
43281
43282 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43283 that it doesn't prevent --help from working in build tree.
43284
43285 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43286 with `bug-grub@gnu.org'.
43287 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43288 * util/update-grub.in (usage): New function.
43289 Implement proper argument check, with support for --help and --version
43290 (as well as existing -y).
43291
432922008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43293
43294 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43295 avoid overwriting previous output.
43296 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43297
c1962162 432982008-02-09 Robert Millan <rmh@aybabtu.com>
43299
43300 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43301 drawing the menu.
43302
3dac2e3f 433032008-02-09 Robert Millan <rmh@aybabtu.com>
43304
43305 * commands/sleep.c: New file.
43306 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43307 (sleep_mod_SOURCES): New variable.
43308 (sleep_mod_CFLAGS): Likewise.
43309 (sleep_mod_LDFLAGS): Likewise.
43310
7a634e08 433112008-02-09 Robert Millan <rmh@aybabtu.com>
43312
43313 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43314 situations in which we can deduce the RAID size and the superblock
43315 doesn't match it.
43316
b92f0c18 433172008-02-09 Robert Millan <rmh@aybabtu.com>
43318
43319 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43320 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43321 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43322
43323 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43324 and return a grub_diskmemberlist_t composed of physical array members.
43325 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43326
43327 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43328 prototype.
43329 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43330 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43331 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43332
43333 * util/grub-probe.c (probe): Move partmap probing code from here ...
43334 (probe_partmap): ... to here.
43335 (probe): Use probe_partmap() once for the disk we're probing, and
43336 additionally, when such disk contains a memberlist() struct member,
43337 once for each disk that is contained in the structure returned by
43338 memberlist().
43339
91a4bf68 433402008-02-09 Robert Millan <rmh@aybabtu.com>
43341
43342 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43343 environment variable to 'all' in order to obtain debug output from
43344 non-util/ code.
43345 * util/i386/pc/grub-setup.c (main): Likewise.
43346
a96f9caa 433472008-02-08 Robert Millan <rmh@aybabtu.com>
43348
43349 * disk/raid.c (grub_raid_scan_device): Check for
43350 `array->device[sb.this_disk.number]' rather than for
43351 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43352 guaranteed to be accessible.
a96f9caa 43353
b37a9222 433542008-02-08 Robert Millan <rmh@aybabtu.com>
43355
43356 * disk/raid.c: Update copyright.
43357 * fs/cpio.c: Likewise.
43358 * include/grub/raid.h: Likewise.
43359 * loader/i386/pc/multiboot.c: Likewise.
43360 * util/hostfs.c: Likewise.
43361
5626aee1 433622008-02-08 Robert Millan <rmh@aybabtu.com>
43363
43364 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43365 to a grub_disk_t array.
43366 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43367 `device[x]'.
43368 (grub_raid_scan_device): Replace `device[x].name' accesses with
43369 `device[x]->name'. Simplify initialization of `array->device[x]'.
43370
554f0187 433712008-02-08 Robert Millan <rmh@aybabtu.com>
43372
43373 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43374 grub_dprintf() calls.
43375 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43376 error message.
43377
1ec8425d 433782008-02-07 Christian Franke <franke@computer.org>
43379
43380 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43381 instead of fseek and ftell to support large files.
43382 (grub_hostfs_read): Likewise.
43383
f2156fda 433842008-02-07 Robert Millan <rmh@aybabtu.com>
43385
43386 Patch from Jeroen Dekkers.
43387 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43388 failure, since successfully reading all array members might not be
f2156fda 43389 required.
43390
9216e0e7 433912008-02-06 Robert Millan <rmh@aybabtu.com>
43392
43393 * util/grub-probe.c (probe): Simplify partmap probing (with the
43394 assumption that the first word up to the underscore equals to
43395 the module name).
43396
b0dfd29a 433972008-02-06 Christian Franke <franke@computer.org>
43398
43399 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43400 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43401 last block of a cpio or tar stream.
43402 Check for "TRAILER!!!" instead of any empty data
43403 block to detect last block of a cpio stream.
43404 (grub_cpio_dir): Fix constness of variable np.
43405 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43406 cpio or tar trailer is detected. This fixes a crash
43407 on open of a non existing file.
43408
c32865bf 434092008-02-05 Bean <bean123ch@gmail.com>
43410
43411 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43412 address of entry.
43413 (grub_multiboot_load_elf64): Likewise.
43414 (grub_multiboot): Initialize mbi structure.
43415
43416 * util/grub-fstest.c: Don't include unused header file script.h.
43417
fe6b695a 43418 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43419 of file.
43420 (grub_fstest_SOURCES): Likewise.
43421
409480b7 434222008-02-05 Robert Millan <rmh@aybabtu.com>
43423
43424 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43425 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43426 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43427 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43428
43429 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43430 (translation_table): Replace hardcoded values with macros
43431 provided by `<grub/term.h>'.
43432
43433 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43434 (keyboard_map): Correct/add a few values, with macros provided
43435 by `<grub/term.h>'.
43436 (keyboard_map_shift): Zero values that don't differ from their
43437 `keyboard_map' equivalents.
43438 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43439 Discard the second scan code that is always sent by Caps lock.
43440 Only use `keyboard_map_shift' when it provides a non-zero value,
43441 otherwise fallback to `keyboard_map'.
43442
99fadbaa 434432008-02-04 Bean <bean123ch@gmail.com>
43444
43445 * Makefile.in (enable_grub_fstest): New variable.
43446
43447 * conf/common.rmk (grub_fstest_init.lst): New rule.
43448 (grub_fstest_init.h): Likewise.
43449 (grub_fstest_init.c): Likewise.
43450 (util/grub-fstest.c_DEPENDENCIES): New variable.
43451 (grub_fstest_SOURCES): Likewise.
43452
43453 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43454
43455 * util/grub-fstest.c: New file.
43456
bf567c50 434572008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43458
43459 Make grub-setup handle a separate root device.
f19dbdb7 43460
bf567c50 43461 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43462 so that the root device can be compared with the destination
43463 device.
43464 When embedding the core image, if the root and destination devices
43465 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43466 0xFF.
43467 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43468
9be6b98b 434692008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43470
43471 Add support for having a grub directory in a different drive. This
43472 is still only the data handling part.
f19dbdb7 43473
9be6b98b 43474 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43475 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43476 (grub_root_drive): New variable.
43477
43478 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43479 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43480 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43481 as it was.
43482
43483 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43484
43485 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43486 macro.
43487 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43488
43489 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43490 is bogus, because PXE booting does not specify any drive
43491 correctly.
43492
43493 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43494 am not sure if this is really correct.
43495
43496 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43497 is always identical to the boot drive when booting from a CD.
43498
43499 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43500 longer.
43501 (root_drive): New variable.
43502 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43503 (setup_sectors): Push %dx right after popping it, because %dh will
43504 be modified later.
43505 (copy_buffer): Restore %dx.
43506
e0ca0677 435072008-02-03 Robert Millan <rmh@aybabtu.com>
43508
43509 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43510 use `cdboot.img' for cdrom images.
43511
3b3f6629 435122008-02-03 Robert Millan <rmh@aybabtu.com>
43513
43514 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43515 only setup gfxterm when `font' command has succeeded.
43516
d42b3672 435172008-02-03 Robert Millan <rmh@aybabtu.com>
43518
43519 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43520 (grub_rescue_cmd_multiboot_loader)
43521 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43522
fa370ea6 435232008-02-03 Pavel Roskin <proski@gnu.org>
43524
e0c5dacb 43525 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43526 %edx and %esi from stack only after grub_gate_a20() is called.
43527 grub_gate_a20() clobbers %edx.
43528
f2a76e1d 435292008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43530
43531 * configure.ac (AC_INIT): Bumped to 1.96.
43532
43533 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43534 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43535 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43536 video/readers/png.c.
43537
90fd32d1 435382008-02-03 Bean <bean123ch@gmail.com>
9be665dd 43539
43540 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43541 (cdboot_img_SOURCES): New variable.
43542 (cdboot_img_ASFLAGS): New variable.
43543 (cdboot_img_LDFLAGS): New variable.
43544
43545 * boot/i386/pc/cdboot.S: New file.
43546
43547 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43548 (cd_count): Likewise.
43549 (grub_biosdisk_get_drive): Add support for cd device.
43550 (grub_biosdisk_call_hook): Likewise.
43551 (grub_biosdisk_iterate): Likewise.
43552 (grub_biosdisk_open): Likewise.
43553 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43554 (grub_biosdisk_rw): Support reading from cd device.
43555 (GRUB_MOD_INIT): Iterate cd devices.
43556
43557 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43558 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43559 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43560
43561 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43562
4020aa53 435632008-02-02 Robert Millan <rmh@aybabtu.com>
43564
43565 * commands/read.c: New file.
43566 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43567 (read_mod_SOURCES): New variable.
43568 (read_mod_CFLAGS): Likewise.
43569 (read_mod_LDFLAGS): Likewise.
43570
e03a1132 435712008-02-02 Robert Millan <rmh@aybabtu.com>
43572
43573 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43574 determining whether menu has to be displayed.
43575
58c69220 435762008-02-02 Marco Gerards <marco@gnu.org>
43577
43578 * bus/pci.c: New file.
43579
43580 * include/grub/pci.h: Likewise.
43581
43582 * include/grub/i386/pc/pci.h: Likewise.
43583
43584 * commands/lspci.c: Likewise.
43585
43586 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43587 `lspci.mod'.
43588 (pci_mod_SOURCES): New variable.
43589 (pci_mod_CFLAGS): Likewise.
43590 (pci_mod_LDFLAGS): Likewise.
43591 (lspci_mod_SOURCES): Likewise.
43592 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 43593 (lspci_mod_LDFLAGS): Likewise.
58c69220 43594
c004e1b4 435952008-02-02 Bean <bean123ch@gmail.com>
43596
43597 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43598 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43599
43600 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43601 (grub_xfs_btree_node): New structure.
43602 (grub_xfs_btree_root): New structure.
43603 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43604 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43605 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43606 (GRUB_XFS_EXTENT_SIZE): Likewise.
43607 (grub_xfs_read_block): Support btree format type.
43608 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43609 Use directory block as basic unit.
43610
43611 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43612
43613 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43614 __attribute__ ((__regparm__ (1))).
43615
f95562bf 436162008-02-01 Robert Millan <rmh@aybabtu.com>
43617
43618 Correct a mistake in previous commit.
43619
43620 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43621 top.
43622 (normal/command.c_DEPENDENCIES): New variable.
43623
7d31f41f 436242008-02-01 Robert Millan <rmh@aybabtu.com>
43625
43626 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43627 top.
43628 (normal/command.c_DEPENDENCIES): New variable.
43629 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43630 * conf/i386-ieee1275.rmk: Likewise.
43631 * conf/i386-linuxbios.rmk: Likewise.
43632 * conf/i386-pc.rmk: Likewise.
43633 * conf/sparc64-ieee1275.rmk: Likewise.
43634 * conf/powerpc-ieee1275.rmk: Likewise.
43635 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43636
43637 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43638
60b6be74 436392008-02-01 Robert Millan <rmh@aybabtu.com>
43640
43641 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43642 call at beginning of function.
43643
078522ab 436442008-01-31 Pavel Roskin <proski@gnu.org>
43645
43646 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 43647 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43648 (grub_mkrescue_SOURCES): Likewise.
078522ab 43649 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43650
ccaa8a5f 436512008-01-30 Robert Millan <rmh@aybabtu.com>
43652
43653 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43654 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43655 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43656 (grub_probe_SOURCES): ... to here.
43657
43658 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43659 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43660 * conf/i386-ieee1275.rmk: Likewise.
43661 * conf/i386-linuxbios.rmk: Likewise.
43662 * conf/powerpc-ieee1275.rmk: Likewise.
43663
ae5a9cd7 436642008-01-30 Tristan Gingold <gingold@free.fr>
43665
43666 * kern/rescue.c: Silently accept empty lines.
43667
70bc2ef2 436682008-01-29 Bean <bean123ch@gmail.com>
43669
43670 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43671 (real_code_2): Code cleanup and change comment style.
43672 (move_memory): Avoid using 32-bit address mode.
43673
6a4d50ea 436742008-01-29 Bean <bean123ch@gmail.com>
43675
43676 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
43677 (png_mod_SOURCES): New variable.
43678 (png_mod_CFLAGS): Likewise.
43679 (png_mod_LDFLAGS): Likewise.
43680
43681 * video/readers/png.c: New file.
43682
11cc30ac 436832008-01-28 Robert Millan <rmh@aybabtu.com>
43684
43685 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
43686 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
43687 `ifndef GRUB_MOD_GAP' hack.
43688 * util/elf/grub-mkimage.c (add_segments): Likewise.
43689
3abc589f 436902008-01-27 Robert Millan <rmh@aybabtu.com>
43691
43692 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
43693 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 43694 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 43695
e1907778 436962008-01-27 Robert Millan <rmh@aybabtu.com>
43697
43698 Get grub-emu to build again (including parallel builds).
43699
43700 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
43701 Split into ...
43702 (util/grub-emu.c_DEPENDENCIES): ... this, ...
43703 (normal/execute.c_DEPENDENCIES): ... this, ...
43704 (grub-emu_DEPENDENCIES): ... and this.
43705
43706 * conf/i386-efi.rmk: Likewise.
43707 * conf/i386-linuxbios.rmk: Likewise.
43708 * conf/i386-ieee1275.rmk: Likewise.
43709 * conf/powerpc-ieee1275.rmk: Likewise.
43710 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
43711
2216b101 437122008-01-27 Robert Millan <rmh@aybabtu.com>
43713
43714 * NEWS: Add a few items.
43715
f75172d9 437162008-01-27 Robert Millan <rmh@aybabtu.com>
43717
43718 Fix parallel builds with grub-emu. Based on earlier commit for
43719 grub-probe and grub-setup.
43720
43721 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43722 (util/grub-emu.c_DEPENDENCIES): ... this.
43723 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43724 (util/grub-emu.c_DEPENDENCIES): ... this.
43725 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43726 (util/grub-emu.c_DEPENDENCIES): ... this.
43727 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43728 (util/grub-emu.c_DEPENDENCIES): ... this.
43729 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43730 (util/grub-emu.c_DEPENDENCIES): ... this.
43731
3f51de77 437322008-01-27 Pavel Roskin <proski@gnu.org>
43733
43734 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
43735 to create a gap between _end and the modules added to the image
43736 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
43737 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
43738 * util/elf/grub-mkimage.c (add_segments): Likewise.
43739
2033f53e 437402008-01-26 Pavel Roskin <proski@gnu.org>
43741
43742 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
43743 just return an error.
43744
22da1f6f 437452008-01-26 Bean <bean123ch@gmail.com>
43746
43747 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
43748 (grub_reiserfs_get_item): Save offset of the next item.
43749 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
43750
2a9525e6 437512008-01-25 Robert Millan <rmh@aybabtu.com>
43752
43753 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
43754 make all filesystem sources appear together (possibly fixing omissions
43755 while at it).
43756 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43757 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43758 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43760
43761 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
43762 add `kern/file.c'.
43763 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
43764 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43765 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
43766 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43767
43768 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
43769 (probe): Add a sanity check to make sure of our ability to read
43770 requested files when probing for filesystem type.
43771
43772 * genmk.rb: Update copyright year (2007).
43773
43774 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
43775 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
43776 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
43777 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
43778 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
43779 : Remove function prototypes.
43780
b95f71b5 437812008-01-25 Robert Millan <rmh@aybabtu.com>
43782
43783 Revert my previous commits (based on wrong assumption of how grub_errno
43784 works).
43785
fe6b695a 43786 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 43787 * kern/file.c (grub_file_open): Likewise.
43788
d08bbb49 437892008-01-24 Pavel Roskin <proski@gnu.org>
43790
43791 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
43792 that hang if GRUB tries to setup colors.
43793 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
43794 colors for firmwares that don't support it.
43795 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
43796 Recognize Open Hack'Ware, set flags to work around its
43797 limitations.
43798
605e36ed 437992008-01-24 Robert Millan <rmh@aybabtu.com>
43800
43801 * kern/file.c (grub_file_open): Do not account previous failures of
43802 unrelated functions when grub_errno is checked for.
43803 Reported by Oleg Strikov.
43804
bac332a1 438052008-01-24 Bean <bean123ch@gmail.com>
43806
43807 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
43808 (grub_ufs_sblock): New member volume name.
43809 (grub_ufs_find_file): Fix string copy bug.
43810 (grub_ufs_label): Implement this function properly.
43811
43812 * fs/hfs.c (grub_hfs_cnid_type): New enum.
43813 (grub_hfs_iterate_records): Use the correct file number for extents
43814 and catalog file. Fix problem in next index calculation.
43815 (grub_hfs_find_node): Replace recursive function call with loop.
43816 (grub_hfs_iterate_dir): Replace recursive function call with loop.
43817
15c80c09 438182008-01-23 Robert Millan <rmh@aybabtu.com>
43819
43820 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
43821 `<grub/symbol.h>' and `<grub/multiboot.h>'.
43822 (grub_multiboot2_real_boot): New function prototype.
43823
43824 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
43825 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
43826
43827 * kern/i386/ieee1275/init.c (grub_os_area_addr)
43828 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
43829
305338fd 438302008-01-23 Robert Millan <rmh@aybabtu.com>
43831
43832 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
43833 #ifdef'ed out grub_printf().
43834
3ea52685 438352008-01-23 Robert Millan <rmh@aybabtu.com>
43836
43837 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
43838 grub_dprintf calls, since they make "debug=all" mode unusable.
43839 (grub_console_checkkey): Likewise.
43840
5882ae4b 438412008-01-23 Robert Millan <rmh@aybabtu.com>
43842
43843 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
43844 `term/i386/pc/at_keyboard.c'.
43845 (pkglib_MODULES): Add `serial.mod'.
43846 (serial_mod_SOURCES): New variable.
43847 (serial_mod_CFLAGS): Likewise.
43848 (serial_mod_LDFLAGS): Likewise.
43849
43850 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
43851 `<grub/powerpc/ieee1275/console.h>'.
43852 (grub_keyboard_controller_init): New function prototype.
43853 (grub_console_checkkey): Likewise.
43854 (grub_console_getkey): Likewise.
43855
43856 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
43857 keyboard on i386.
43858
43859 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
43860 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
43861
06ab5303 438622008-01-23 Robert Millan <rmh@aybabtu.com>
43863
43864 * kern/i386/pc/init.c (make_install_device): When memdisk image is
43865 present, "(memdisk)/boot/grub" becomes the default prefix.
43866
43867 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
43868 a memdisk tarball with all the modules. Add --overlay=DIR option that
43869 allows users to overlay additional files into the image.
43870
dbb475a4 438712008-01-23 Robert Millan <rmh@aybabtu.com>
43872
43873 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
43874 and `machine/memory.h'.
43875 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
43876 (_multiboot_mod_SOURCES): New variable.
43877 (_multiboot_mod_CFLAGS): Likewise.
43878 (_multiboot_mod_LDFLAGS): Likewise.
43879 (multiboot_mod_SOURCES): Likewise.
43880 (multiboot_mod_CFLAGS): Likewise.
43881 (multiboot_mod_LDFLAGS): Likewise.
43882
43883 * include/grub/i386/ieee1275/loader.h: New file.
43884
43885 * include/grub/i386/ieee1275/machine.h: Likewise.
43886
43887 * include/grub/i386/ieee1275/memory.h: Likewise.
43888
43889 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
43890 variable declaration.
43891 (grub_os_area_size): Likewise.
43892
43893 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
43894 (grub_lower_mem, grub_upper_mem): New variables.
43895 (grub_stop_floppy): New function (just to make
43896 grub_multiboot2_real_boot() happy).
43897
43898 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
43899 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
43900 (grub_stop): New function.
43901 Include `"../realmode.S"' and `"../loader.S"'.
43902
43903 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
43904 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
43905
43906 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
43907 rely on grub_multiboot2_real_boot() for final boot.
43908
25638629 439092008-01-22 Robert Millan <rmh@aybabtu.com>
43910
43911 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
43912 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
43913 device that doesn't look like an SD card.
43914 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43915 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
43916 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
43917 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
43918 found.
43919
9dad816d 439202008-01-22 Robert Millan <rmh@aybabtu.com>
43921
43922 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
43923 avoid claiming over our own code.
43924
34842f2d 439252008-01-22 Bean <bean123ch@gmail.com>
43926
43927 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
43928 (jpeg_mod_SOURCES): New variable.
43929 (jpeg_mod_CFLAGS): Likewise.
43930 (jpeg_mod_LDFLAGS): Likewise.
43931
43932 * video/readers/jpeg.c : New file.
43933
44023a28 439342008-01-22 Bean <bean123ch@gmail.com>
43935
43936 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
43937 there are no more items.
43938
bc2d8ac6 439392008-01-21 Robert Millan <rmh@aybabtu.com>
43940
43941 * kern/mm.c (grub_mm_init_region): Improve debug message.
43942
261bd4bc 439432008-01-21 Robert Millan <rmh@aybabtu.com>
43944
43945 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
43946 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
43947 address.
43948 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
43949 a C macro.
43950 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
43951 Indicates start of upper memory.
43952 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
43953 (generate_image): Abort when image size is big enough to corrupt
43954 upper memory.
43955
43956 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
43957 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
43958 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43959 instead of hardcoding 0xA0000.
43960 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
43961 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43962 instead of hardcoding 0xA0000.
43963
f970b55e 439642008-01-21 Robert Millan <rmh@aybabtu.com>
43965
43966 * disk/memdisk.c (memdisk_size): New variable.
43967 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
43968 `memdisk_size'.
43969 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
43970 image to dynamic memory.
43971 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
43972 `memdisk_size'. Free memdisk block.
43973
1a8b0526 439742008-01-21 Robert Millan <rmh@aybabtu.com>
43975
43976 Fix detection of very small filesystems (like tar).
43977
43978 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
43979 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
43980 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
43981 a problem with this disk).
43982
6e9b4aab 439832008-01-21 Robert Millan <rmh@aybabtu.com>
43984
43985 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
43986 on grub_biosdisk_rw_standard() error.
43987
0d8837b2 439882008-01-21 Robert Millan <rmh@aybabtu.com>
43989
43990 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
43991 recent changes.
43992 * kern/elf.c: Likewise.
43993 * kern/ieee1275/ieee1275.c: Likewise.
43994 * kern/powerpc/ieee1275/openfw.c: Likewise.
43995 * term/ieee1275/ofconsole.c: Likewise.
43996
ffd36e34 439972008-01-21 Robert Millan <rmh@aybabtu.com>
43998
43999 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44000
3f0093d0 44001 * include/grub/kernel.h (grub_arch_memdisk_addr)
44002 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44003
3f0093d0 44004 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44005 (grub_arch_memdisk_size): ... to here.
ffd36e34 44006
6c391b21 440072008-01-21 Robert Millan <rmh@aybabtu.com>
44008
44009 Mostly based on bugfix from Bean.
44010
44011 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44012 attribute with hook() parameter.
44013 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44014 declaration.
44015 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44016 attribute with hook() parameter.
44017 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44018 declaration.
44019
55a581dc 440202008-01-21 Robert Millan <rmh@aybabtu.com>
44021
44022 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44023 (pkglib_MODULES): Add `memdisk.mod'.
44024 (memdisk_mod_SOURCES): New variable.
44025 (memdisk_mod_CFLAGS): Likewise.
44026 (memdisk_mod_LDFLAGS): Likewise.
44027
44028 * disk/memdisk.c: New file.
44029
44030 * include/grub/disk.h (grub_disk_dev_id): Add
44031 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44032
44033 * include/grub/i386/pc/kernel.h
44034 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44035 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44036 (grub_kernel_image_size): New variable declaration.
44037 (grub_total_module_size): Likewise.
44038 (grub_memdisk_image_size): Likewise.
44039
44040 * include/grub/i386/pc/memory.h
44041 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44042
44043 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44044 (grub_arch_memdisk_addr): New variable declaration.
44045 (grub_arch_memdisk_size): Likewise.
44046
44047 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44048 (grub_arch_memdisk_size): Likewise.
44049
44050 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44051 (codestart): Replace hardcoded `0x100000' with
44052 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44053
44054 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44055 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44056 not NULL, append the contents of the file it refers to, at the end of
44057 the compressed kernel image. Initialize `grub_memdisk_image_size'
44058 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44059 (options): Add "memdisk"|'m' option.
44060 (main): Parse --memdisk|-m option, and pass user-provided path as
44061 parameter to generate_image().
44062
3d7f54c9 440632008-01-20 Robert Millan <rmh@aybabtu.com>
44064
44065 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44066 grub_dprintf() calls from here ...
44067 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44068
0bf74728 440692008-01-20 Robert Millan <rmh@aybabtu.com>
44070
44071 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44072
44073 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44074 declaration.
44075 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44076 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44077 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44078 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44079 property).
44080 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44081 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44082
33bf70a7 440832008-01-19 Robert Millan <rmh@aybabtu.com>
44084
fe6b695a 44085 Get rid of confusing function (superseded by
33bf70a7 44086 `grub_ieee1275_get_integer_property')
44087 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44088 prototype.
44089 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44090 function.
44091 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44092 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44093 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44094
e2da7d26 440952008-01-19 Robert Millan <rmh@aybabtu.com>
44096
44097 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44098 command after "shut-down", since implementations differ on which
44099 the command for halt is.
44100
59f1fd8d 441012008-01-19 Robert Millan <rmh@aybabtu.com>
44102
44103 * include/grub/i386/linuxbios/console.h: Add header protection.
44104 (grub_keyboard_controller_init): New function prototype.
44105 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44106 (KEYBOARD_COMMAND_READ): Likewise.
44107 (KEYBOARD_COMMAND_WRITE): Likewise.
44108 (KEYBOARD_SCANCODE_SET1): Likewise.
44109 (grub_keyboard_controller_write): New function.
44110 (grub_keyboard_controller_read): Likewise.
44111 (grub_keyboard_controller_init): Likewise.
44112
44113 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44114 (grub_console_init): On coreboot/LinuxBIOS, call
44115 grub_keyboard_controller_init().
44116
5f5a7c15 441172008-01-19 Robert Millan <rmh@aybabtu.com>
44118
44119 PowerPC changes provided by Pavel Roskin.
44120
44121 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44122 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44123 don't rely on cmain() doing it.
44124 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44125 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44126
1210e168 441272008-01-16 Robert Millan <rmh@aybabtu.com>
44128
44129 * include/grub/i386/linuxbios/memory.h
44130 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44131 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44132 receive `table_header' as argument. Instead, probe for it in the
44133 known memory ranges where it can be present.
44134 (grub_available_iterate): Do not pass a fixed `table_header' address
44135 to grub_linuxbios_table_iterate().
44136
3d04eab8 441372008-01-15 Robert Millan <rmh@aybabtu.com>
44138
44139 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44140 * conf/i386-ieee1275.rmk: New file.
44141 * include/grub/i386/ieee1275/console.h: Likewise.
44142 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44143 * include/grub/i386/ieee1275/kernel.h: Likewise.
44144 * include/grub/i386/ieee1275/time.h: Likewise.
44145 * kern/i386/ieee1275/init.c: Likewise.
44146 * kern/i386/ieee1275/startup.S: Likewise.
44147
d1bc1b73 441482008-01-15 Robert Millan <rmh@aybabtu.com>
44149
44150 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44151 when pointers are 32-bit (but still do set it to one when they are
44152 64-bit).
44153
66a65807 441542008-01-15 Robert Millan <rmh@aybabtu.com>
44155
44156 * include/grub/ieee1275/ieee1275.h
44157 (grub_ieee1275_get_integer_property): New function prototype.
44158
44159 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44160 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44161 grub_ieee1275_get_property() to handle endianness.
66a65807 44162
44163 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44164 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44165 where appropriate.
66a65807 44166 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44167 (grub_map): Likewise.
44168 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44169
a83ccafd 441702008-01-15 Bean <bean123ch@gmail.com>
44171
44172 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44173 (grub_script_execute_cmdline): Reset grub_errno.
44174
44175 * normal/main.c (read_config_file): Reset grub_errno.
44176
44177 * normal/parse.y (script_init): New.
44178 (script): Move function and menuentry here.
44179 (delimiter): New.
44180 (command): Add delimiter at the end of command.
44181 (commands): Adjust to match the new command.
44182 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44183 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44184 (if): Use the new commands.
44185
44186 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44187
df6ecfc6 441882008-01-15 Robert Millan <rmh@aybabtu.com>
44189
44190 * normal/menu.c (run_menu): Move timeout message from here ...
44191 (print_timeout): ... to here.
44192 (run_menu): Use print_timeout() once during initial draw to print
44193 the whole message, and again in every clock tick to update only
44194 the number of seconds.
44195
87ae25eb 441962008-01-15 Robert Millan <rmh@aybabtu.com>
44197
44198 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44199 actual size of `available' from grub_ieee1275_get_property(), and
44200 restrict parsing to that bound.
44201
47bf09a4 442022008-01-15 Christian Franke <franke@computer.org>
44203
44204 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44205 (argp_program_version): Remove variable.
44206 (argp_program_bug_address): Likewise.
44207 (options): Convert from struct argp_option to struct option.
44208 (struct arguments): Remove.
44209 (parse_opt): Remove.
44210 (usage): New function.
44211 (main): Replace struct args members by simple variables.
44212 Replace argp_parse() by getopt_long().
44213 Add switch to evaluate options.
44214 Add missing "(...)" around root_dev in prefix string.
44215
c86f1469 442162008-01-14 Robert Millan <rmh@aybabtu.com>
44217
44218 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44219 for grub_ieee1275_exit(), in order to improve portability.
44220
e622c559 442212008-01-14 Robert Millan <rmh@aybabtu.com>
44222
44223 * util/grub.d/10_linux.in (prefix): Define.
44224 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44225
44cb1ec8 442262008-01-13 Pavel Roskin <proski@gnu.org>
44227
44228 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44229 grub_errno if no errors have been detected.
44230
1eb8c802 442312008-01-12 Robert Millan <rmh@aybabtu.com>
44232
44233 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44234 (grub_util_get_dev_abstraction): New function prototype.
44235
44236 * util/getroot.c: Include `<grub/util/getroot.h>'
44237 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44238 (grub_util_get_dev_abstraction): ... here (new function).
44239
44240 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44241 `PRINT_ABSTRACTION'.
44242 (probe): Probe for abstraction type when requested.
44243 (main): Understand `--target=abstraction'.
44244
44245 * util/i386/efi/grub-install.in: Add abstraction module to core
44246 image when it is found to be necessary.
44247 * util/i386/pc/grub-install.in: Likewise.
44248 * util/powerpc/ieee1275/grub-install.in: Likewise.
44249
44250 * util/update-grub_lib.in (font_path): Return system path without
44251 converting to GRUB path.
44252 * util/update-grub.in: Convert system path returned by font_path()
44253 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44254 abstraction module is needed for loading fonts (if any). Export
44255 that as `GRUB_PRELOAD_MODULES'.
44256 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44257 insmod commands).
44258
52bd3de9 442592008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44260
44261 Remove some unused code from reiserfs.
f19dbdb7 44262
52bd3de9 44263 * fs/reiserfs.c (struct grub_reiserfs_key)
44264 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44265 (struct grub_reiserfs_node_body): Removed.
44266 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44267 Likewise.
44268 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44269 Likewise.
44270 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44271 Likewise.
44272 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44273 Likewise.
44274 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44275 Likewise.
44276 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44277 Likewise.
44278 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44279 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44280 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44281
2f80039d 442822008-01-10 Robert Millan <rmh@aybabtu.com>
44283
44284 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44285 Determines if a file is garbage left by packaging systems, etc.
44286 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44287 for processing /etc/grub.d scripts.
44288 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44289 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44290 as a condition for processing Linux images.
44291
87888032 442922008-01-10 Pavel Roskin <proski@gnu.org>
44293
44294 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44295 to compile reiserfs.c on PowerPC.
44296
7e54fced 442972008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44298
44299 * kern/device.c (grub_device_iterate): Do not abort device iteration
44300 when one of the devices cannot be opened.
44301 * kern/disk.c (grub_disk_open): Do not account previous failures of
44302 unrelated functions when grub_errno is checked for.
44303
5aa541e6 443042008-01-08 Robert Millan <rmh@aybabtu.com>
44305
44306 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44307 `! grub_linux_is_bzimage', change order of address comparison to make
44308 it more intuitive, and improve "too big zImage" error message.
44309
7076340d 443102008-01-08 Robert Millan <rmh@aybabtu.com>
44311
44312 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44313 `$(update-grub_DATA)'.
44314 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44315 targets.
44316
9ca70333 443172008-01-07 Robert Millan <rmh@aybabtu.com>
44318
44319 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44320 which instruction is modified by grub-setup during installation
44321 (since it wasn't obvious by only looking at this file).
44322
38ccf575 443232008-01-07 Robert Millan <rmh@aybabtu.com>
44324
44325 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44326 listing actual TODO items.
44327
f5db4291 443282008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44329
868967cf 44330 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44331 correctly.
44332 (grub_reiserfs_get_key_offset): Likewise.
44333 (grub_reiserfs_set_key_offset): Likewise.
44334 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44335 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44336
44337 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44338 better to remove the bitfield version completely.
f19dbdb7 44339
868967cf 443402008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44341
f5db4291 44342 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44343 allocated from the heap, due to the fshelp implementation.
44344 (grub_reiserfs_dir): Free NODE, due to the same reason.
44345
492e6d9d 443462008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44347
44348 Mostly from Vincent Pelletier:
f19dbdb7 44349
492e6d9d 44350 * fs/reiserfs.c: New file.
f19dbdb7 44351
492e6d9d 44352 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44353 (reiserfs_mod_SOURCES): New variable.
44354 (reiserfs_mod_CFLAGS): Likewise.
44355 (reiserfs_mod_LDFLAGS): Likewise.
44356
44357 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44358 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44359 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44360 normal/color.c.
44361
9ce3e7c1 443622008-01-06 Robert Millan <rmh@aybabtu.com>
44363
44364 * normal/color.c: Remove `<grub/env.h>'.
44365
f3b58148 443662008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44367
44368 * include/grub/normal.h: Include <grub/env.h>.
44369
7ac3bcfa 443702008-01-05 Robert Millan <rmh@aybabtu.com>
44371
44372 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44373 usage example with `(hd0,1)'.
fb358190 44374 Reported by Samuel Thibault.
7ac3bcfa 44375
c8ee99d7 443762008-01-05 Robert Millan <rmh@aybabtu.com>
44377
44378 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44379 (grub_linux_boot_zimage): Rename to ...
44380 (grub_linux_boot): ... this.
44381 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44382 (grub_linux_boot_zimage): Conditionalize zImage copy.
44383
44384 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44385 (grub_linux_boot_bzimage): Remove prototype.
44386 (grub_linux_boot_zimage): Rename to ...
44387 (grub_linux_boot): ... this.
44388
44389 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44390 (grub_linux_boot): Remove function.
44391
0ece25b1 443922008-01-05 Robert Millan <rmh@aybabtu.com>
44393
44394 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44395 (grub_env_write_color_highlight): Likewise.
44396 (grub_wait_after_message): Likewise.
44397
44398 * normal/color.c: New file.
44399
44400 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44401 (normal_mod_DEPENDENCIES): Likewise.
44402
44403 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44404 (normal_mod_DEPENDENCIES): Likewise.
44405
44406 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44407 (normal_mod_DEPENDENCIES): Likewise.
44408
44409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44410 (normal_mod_DEPENDENCIES): Likewise.
44411
44412 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44413 for waiting after a message is printed.
44414 * normal/main.c (read_config_file): Likewise.
44415 (grub_normal_init): Register grub_env_write_color_normal() and
44416 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44417 `color_highlight' variables as global.
44418
44419 * normal/menu.c (grub_wait_after_message): New function.
44420 (grub_color_menu_normal): New variable. Replaces ...
44421 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44422 (grub_color_menu_highlight): New variable. Replaces ...
44423 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44424 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44425 `GRUB_TERM_COLOR_STANDARD'.
44426 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44427 `normal_code' and `highlight_code' to `old_color_normal' and
44428 `old_color_highlight', respectively.
44429 (grub_menu_init_page): Update colors when drawing the menu, based on
44430 `menu_color_normal' and `menu_color_highlight' variables.
44431 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44432 a message is printed.
44433
182dd4e5 444342008-01-05 Robert Millan <rmh@aybabtu.com>
44435
44436 * kern/env.c (grub_env_context_open): Propagate hooks for global
44437 variables to new context.
44438
44439 * kern/main.c (grub_set_root_dev): Export `root' variable.
44440
ddf8f6ad 444412008-01-05 Robert Millan <rmh@aybabtu.com>
44442
44443 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44444 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44445 them.
44446
d8b43d9b 444472008-01-05 Robert Millan <rmh@aybabtu.com>
44448
44449 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44450
2bff2de3 444512008-01-04 Christian Franke <franke@computer.org>
44452
44453 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44454 of eisa_mmap.
44455
97eab917 444562008-01-03 Pavel Roskin <proski@gnu.org>
44457
44458 * kern/i386/linuxbios/init.c: Put "void" to all function
44459 declarations with no arguments.
44460 * kern/powerpc/ieee1275/init.c: Likewise.
44461 * term/i386/pc/at_keyboard.c: Likewise.
44462 * term/i386/pc/vga_text.c: Likewise.
44463 * util/grub-mkdevicemap.c: Likewise.
44464
b9416d00 444652008-01-02 Robert Millan <rmh@aybabtu.com>
44466
44467 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44468 message when loaded image is out of bounds.
44469 (grub_multiboot_load_elf64): Likewise.
44470
92695df9 444712008-01-02 Pavel Roskin <proski@gnu.org>
44472
44473 * util/grub.d/10_linux.in: Try version without ".old" when
44474 looking for initrd. It's better to use initrd from the newer
44475 kernel of the same version than no initrd at all.
44476
d98d9cad 444772008-01-01 Robert Millan <rmh@aybabtu.com>
44478
44479 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44480
dbfdce36 444812008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44482
f19dbdb7 44483 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44484 grub_video_get_active_render_target.
44485 (grub_video_adapter): Added unmap_color and get_active_render_target.
44486
f19dbdb7 44487 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44488 grub_video_get_active_render_target.
44489 (grub_video_get_info): Changed method to accept NULL pointer as an
44490 argument to allow detection of active video adapter.
44491
44492 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44493 grub_video_vbe_unmap_color_int.
44494 Added grub_video_vbe_unmap_color and
44495 grub_video_vbe_get_active_render_target.
44496 (grub_video_vbe_adapter): Added unmap_color and
44497 get_active_render_target.
44498
f19dbdb7 44499 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44500 with grub_video_vbe_unmap_color_int.
44501
44502 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44503 (DEFAULT_NORMAL_COLOR): Likewise.
44504 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44505 (DEFAULT_FG_COLOR): Removed.
44506 (DEFAULT_BG_COLOR): Likewise.
44507 (DEFAULT_CURSOR_COLOR): Changed value.
44508 (grub_virtual_screen): Added standard_color_setting,
44509 normal_color_setting, highlight_color_setting and term_color.
44510 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44511 (bitmap_width): Added.
44512 (bitmap_height): Likewise.
44513 (bitmap): Likewise.
44514 (set_term_color): Likewise.
44515 (grub_virtual_screen_setup): Changed to use new terminal coloring
44516 settings.
44517 (grub_gfxterm_init): Added init for bitmap.
44518 (grub_gfxterm_fini): Added destroy for bitmap.
44519 (redraw_screen_rect): Updated to use background bitmap and new
44520 terminal coloring.
44521 (scroll_up): Added optimization for case when there is no bitmap.
44522 (grub_gfxterm_cls): Fixed to use correct background color.
44523 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44524 coloring.
44525 (grub_virtual_screen_setcolor): Likewise.
44526 (grub_virtual_screen_getcolor): Added.
44527 (grub_gfxterm_background_image_cmd): Likewise.
44528 (grub_video_term): Added setcolor and getcolor.
44529 (MOD_INIT): Added registration of background_image command.
44530 (MOD_TERM): Added unregistration for background_image command.
44531
c3c20931 445322007-12-30 Pavel Roskin <proski@gnu.org>
44533
44534 * loader/multiboot_loader.c: Fix multiboot command
44535 unregistration. Fix all typos in the word "multiboot".
44536
df266716 445372007-12-29 Pavel Roskin <proski@gnu.org>
94239199 44538
44539 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44540 support for initrd names used in Fedora.
44541
fc6e896c 445422007-12-26 Bean <bean123ch@gmail.com>
44543
44544 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44545 (cpio_mod_SOURCES): New variable.
44546 (cpio_mod_CFLAGS): Likewise.
44547 (cpio_mod_LDFLAGS): Likewise.
44548
44549 * fs/cpio.c: New file.
44550
44551 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44552
44553 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44554
44555 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44556
44557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44558
533110ad 445592007-12-25 Robert Millan <rmh@aybabtu.com>
44560
44561 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44562 (grub_getcolor): New function.
44563
44564 * kern/term.c (grub_getcolor): New function.
44565 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44566 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44567 (print_entry): Set normal and highlight colors to
44568 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44569 respectively, before printing and restore them to old
44570 values afterwards.
44571 (grub_menu_init_page): Likewise. Fill an additional colored space
44572 that would otherwise be left blank.
44573
44574 * term/efi/console.c (grub_console_getcolor): New function.
44575 (struct grub_console_term.getcolor): New variable.
44576 * term/i386/pc/console.c (grub_console_getcolor): New function.
44577 (struct grub_console_term.getcolor): New variable.
44578 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44579 (struct grub_console_term.getcolor): New variable.
44580
44581 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44582 (struct grub_console_term.setcolor): Remove variable.
44583 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44584 (struct grub_console_term.setcolor): Remove variable.
44585 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44586 (struct grub_console_term.setcolor): Remove variable.
44587 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44588 (struct grub_console_term.setcolor): Remove variable.
44589
4931827f 445902007-12-25 Robert Millan <rmh@aybabtu.com>
44591
44592 * configure.ac: Search for possible unifont.hex locations, and
44593 define UNIFONT_HEX if found.
44594
44595 * Makefile.in (UNIFONT_HEX): Define variable.
44596 (DATA): Rename to ...
44597 (PKGLIB): ... this. Update all users.
44598 (PKGDATA): New variable.
44599 (pkgdata_IMAGES): Rename to ...
44600 (pkglib_IMAGES): ... this. Update all users.
44601 (pkgdata_MODULES): Rename to ...
44602 (pkglib_MODULES): ... this. Update all users.
44603 (pkgdata_PROGRAMS): Rename to ...
44604 (pkglib_PROGRAMS): ... this. Update all users.
44605 (pkgdata_DATA): Rename to ...
44606 (pkglib_DATA): ... this. Update all users.
44607 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44608 (unicode.pff, ascii.pff): New rules.
44609 (all-local): Add `$(PKGDATA)' dependency.
44610 (install-local): Process `$(PKGDATA)'.
44611
44612 * util/update-grub_lib.in (font_path): Search for *.pff files in
44613 a few more locations, including `${pkgdata}'.
44614
57e57e31 446152007-12-23 Robert Millan <rmh@aybabtu.com>
44616
44617 Patch from Bean <bean123ch@gmail.com>:
44618 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44619 `size'.
44620
4bc72aa9 446212007-12-21 Bean <bean123ch@gmail.com>
44622
44623 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44624 (ntfscomp_mod_SOURCES): New variable.
44625 (ntfscomp_mod_CFLAGS): Likewise.
44626 (ntfscomp_mod_LDFLAGS): Likewise.
44627
44628 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44629 (grub_probe_SOURCES): Likewise.
44630 (grub_emu_SOURCES): Likewise.
44631
44632 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44633 (grub_emu_SOURCES): Likewise.
44634
44635 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44636 (grub_emu_SOURCES): Likewise.
44637
44638 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44639 (grub_emu_SOURCES): Likewise.
44640
44641 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44642 (read_run_list): Renamed to grub_ntfs_read_run_list.
44643 (decomp_nextvcn): Moved to ntfscomp.c.
44644 (decomp_getch): Likewise.
44645 (decomp_get16): Likewise.
44646 (decomp_block): Likewise.
44647 (read_block): Likewise.
44648 (read_data): Partially moved to ntfscomp.c.
44649 (fixup): Change unsigned to grub_uint16_t.
44650 (read_mft): Change unsigned long to grub_uint32_t.
44651 (read_attr): Likewise.
44652 (read_data): Likewise.
44653 (read_run_data): Likewise.
44654 (read_run_list): Likewise.
44655 (read_mft): Likewise.
44656
44657 * fs/ntfscomp.c: New file.
44658
44659 * include/grub/ntfs.h: New file.
44660
af680a87 446612007-12-16 Robert Millan <rmh@aybabtu.com>
44662
44663 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44664 IDE disk check, since Linux is known to support 20 IDE disks.
44665 Reported by Colin Watson.
44666
84be7599 446672007-12-15 Bean <bean123ch@gmail.com>
44668
44669 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44670 (lnxboot_img_SOURCES): New variable.
44671 (lnxboot_img_ASFLAGS): Likewise.
44672 (lnxboot_img_LDFLAGS): Likewise.
44673
44674 * boot/i386/pc/lnxboot.S: New file.
44675
6af9db01 446762007-11-24 Pavel Roskin <proski@gnu.org>
44677
44678 * configure.ac: Test if '--build-id=none' is supported by the
44679 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
44680 objcopy to generate incorrect binary files (binutils
44681 2.17.50.0.18-1 as shipped by Fedora 8).
44682 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
44683 linking, so that build ID doesn't break the test.
44684
7361cfe6 446852007-11-24 Pavel Roskin <proski@gnu.org>
44686
44687 * include/grub/i386/time.h: use "void" in the argument list
44688 of grub_cpu_idle().
44689 * include/grub/powerpc/time.h: Likewise.
44690 * include/grub/sparc64/time.h: Likewise.
44691
1593e10c 446922007-11-18 Christian Franke <franke@computer.org>
44693
44694 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
44695 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
44696 This fixes the problem that function keys did not work in grub-emu.
44697
3b8db1a8 446982007-11-18 Christian Franke <franke@computer.org>
44699
44700 * disk/host.c (grub_host_open): Remove attribute unused from
44701 name parameter. Add check for "host". This fixes the problem
44702 that grub-emu does not find partitions.
44703
2e29408d 447042007-11-18 Christian Franke <franke@computer.org>
44705
44706 * util/hostfs.c (is_dir): New function.
44707 (grub_hostfs_dir): Handle missing dirent.d_type case.
44708 (grub_hostfs_read): Add missing fseek().
44709 (grub_hostfs_label): Clear label pointer. This fixes a crash
44710 of grub-emu on "ls (host)".
44711
398cd047 447122007-11-18 Christian Franke <franke@computer.org>
44713
44714 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
44715 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
44716 to 64 bit boundary by default.
44717
c405c391 447182007-11-18 Bean <bean123ch@gmail.com>
44719
44720 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
44721 (hexdump_mod_SOURCES): New variable.
44722 (hexdump_mod_CFLAGS): Likewise.
44723 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 44724
c405c391 44725 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44726
44727 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44728
44729 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44730
44731 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44732
44733 * include/grub/hexdump.h: New file.
44734
44735 * commands/hexdump.c: New file.
44736
5cced7fd 447372007-11-10 Robert Millan <rmh@aybabtu.com>
44738
44739 * commands/i386/pc/play.c (beep_off): Switch order of arguments
44740 in grub_outb() calls.
44741 (beep_on): Likewise.
44742
8b714eb0 447432007-11-10 Christian Franke <franke@computer.org>
44744
44745 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
44746 (grub_menu_run): Likewise.
44747
ce0f1839 447482007-11-10 Robert Millan <rmh@aybabtu.com>
44749
44750 * include/grub/i386/efi/machine.h: New file.
44751 * include/grub/i386/linuxbios/machine.h: Likewise.
44752 * include/grub/i386/pc/machine.h: Likewise.
44753 * include/grub/powerpc/ieee1275/machine.h: Likewise.
44754 * include/grub/sparc64/ieee1275/machine.h: Likewise.
44755
44756 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
44757 (serial_hw_io_addr): New variable.
44758 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
44759 instead of `(unsigned short *) 0x400'.
44760
270c237d 447612007-11-10 Bean <bean123ch@gmail.com>
44762
44763 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
44764
a87783bf 447652007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44766
44767 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
44768 (vga_mod_SOURCES): Added.
44769 (vga_mod_CFLAGS): Likewise.
44770 (vga_mod_LDFLAGS): Likewise.
44771
44772 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
44773 grub_outb() calls.
44774 (set_map_mask): Likewise.
44775 (set_read_map): Likewise.
44776 (set_read_address): Likewise.
44777 (vga_font): Removed variable.
44778 (get_vga_glyph): Removed function.
44779 (invalidate_char): Likewise.
44780 (write_char): Changed to use grub_font_get_glyph() for font
44781 information.
44782 (grub_vga_putchar): Likewise.
44783 (grub_vga_getcharwidth): Likewise.
44784
6433b448 447852007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44786
44787 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
44788 flags.
44789 (pxeboot_img_LDFLAGS): Likewise.
44790 (diskboot_img_LDFLAGS): Likewise.
44791 (kernel_img_LDFLAGS): Likewise.
44792
49178511 447932007-11-06 Robert Millan <rmh@aybabtu.com>
44794
44795 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
44796 in grub_outb() calls.
44797 (serial_hw_init): Likewise.
44798
53b052de 447992007-11-05 Robert Millan <rmh@aybabtu.com>
44800
44801 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
44802 spaces. Skip non-regular files.
44803
5ab33bba 448042007-11-05 Robert Millan <rmh@aybabtu.com>
44805
44806 * kern/disk.c (grub_disk_firmware_fini)
44807 (grub_disk_firmware_is_tainted): New variables.
44808
44809 * include/grub/disk.h (grub_disk_firmware_fini)
44810 (grub_disk_firmware_is_tainted): Likewise.
44811
44812 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
44813 (grub_disk_biosdisk_fini): ... to here.
44814 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
44815 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
44816 is set. Register grub_disk_biosdisk_fini() in
44817 `grub_disk_firmware_fini'.
44818
44819 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
44820 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
44821 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
44822 to finish existing firmware disk interface.
44823
44824 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
44825 (ata_mod_SOURCES): New variable.
44826 (ata_mod_CFLAGS): Likewise.
44827 (ata_mod_LDFLAGS): Likewise.
44828
0149ab7c 448292007-11-05 Robert Millan <rmh@aybabtu.com>
44830
44831 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
44832 (grub_ata_wait): Reimplement using grub_millisleep().
44833
44834 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
44835 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
44836
be7ac41e 448372007-11-03 Marco Gerards <marco@gnu.org>
44838
44839 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
44840 (CRTC_ADDR_PORT): New macro.
44841 (CRTC_DATA_PORT): Likewise.
44842 (CRTC_CURSOR): Likewise.
44843 (CRTC_CURSOR_ADDR_HIGH): Likewise.
44844 (CRTC_CURSOR_ADDR_LOW): Likewise.
44845 (update_cursor): New function.
44846 (grub_console_real_putchar): Call `update_cursor'.
44847 (grub_console_gotoxy): Likewise.
44848 (grub_console_cls): Set the default color when clearing the
44849 screen.
44850 (grub_console_setcursor): Implemented.
44851
bb06ab2e 448522007-11-03 Marco Gerards <marco@gnu.org>
44853
44854 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
44855 become activate.
44856 (grub_ata_pio_write): Likewise.
44857
44858 (grub_atapi_identify): Wait after issuing an ATA command.
44859 (grub_atapi_packet): Likewise.
44860 (grub_ata_identify): Likewise.
44861 (grub_ata_readwrite): Likewise.
44862
cf8f780b 448632007-11-03 Marco Gerards <marco@gnu.org>
44864
44865 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
44866 (grub_ata_pio_write): Likewise.
44867 (grub_ata_readwrite): Use `grub_error', instead of
44868 returning `grub_errno'.
44869
ed649e54 448702007-11-03 Marco Gerards <marco@gnu.org>
44871
44872 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
44873 grub_ata_pio_write once for every single sector, instead of for
44874 multiple sectors.
44875
ca25d8f0 448762007-10-31 Robert Millan <rmh@aybabtu.com>
44877
44878 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
44879
44880 * conf/i386-linuxbios.rmk: New file.
44881
44882 * kern/i386/pc/hardware.c: Likewise.
44883 * term/i386/pc/at_keyboard.c: Likewise.
44884 * term/i386/pc/vga_text.c: Likewise.
44885
44886 * include/grub/i386/linuxbios/boot.h: Likewise.
44887 * include/grub/i386/linuxbios/console.h: Likewise.
44888 * include/grub/i386/linuxbios/init.h: Likewise.
44889 * include/grub/i386/linuxbios/kernel.h: Likewise.
44890 * include/grub/i386/linuxbios/loader.h: Likewise.
44891 * include/grub/i386/linuxbios/memory.h: Likewise.
44892 * include/grub/i386/linuxbios/serial.h: Likewise.
44893 * include/grub/i386/linuxbios/time.h: Likewise.
44894
44895 * kern/i386/linuxbios/init.c: Likewise.
44896 * kern/i386/linuxbios/startup.S: Likewise.
44897 * kern/i386/linuxbios/table.c: Likewise.
44898
e911ecc1 448992007-10-31 Marco Gerards <marco@gnu.org>
44900
44901 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
44902 (ata_mod_SOURCES): New variable.
44903 (ata_mod_CFLAGS): Likewise.
44904 (ata_mod_LDFLAGS): Likewise.
44905
44906 * disk/ata.c: New file.
44907
44908 * include/grub/disk.h (grub_disk_dev_id): Add
44909 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 44910
7f66d0e0 449112007-10-31 Robert Millan <rmh@aybabtu.com>
44912
44913 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
44914 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
44915
44916 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
44917 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
44918
44919 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
44920 `<grub/types.h>'.
44921
44922 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
44923
5cd7dd46 449242007-10-27 Robert Millan <rmh@aybabtu.com>
44925
3236ca65 44926 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 44927
2ebfc90f 449282007-10-22 Robert Millan <rmh@aybabtu.com>
44929
44930 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
44931 `"../realmode.S"'.
44932 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
44933
73fcb0f3 449342007-10-22 Robert Millan <rmh@aybabtu.com>
44935
44936 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
44937 (pkgdata_MODULES): Add `biosdisk.mod'.
44938 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
44939 variables.
44940
44941 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
44942 (grub_biosdisk_init): Replace with ...
44943 (GRUB_MOD_INIT(biosdisk)): ... this.
44944 (grub_biosdisk_fini): Replace with ...
44945 (GRUB_MOD_FINI(biosdisk)): ... this.
44946
44947 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
44948 (grub_machine_init): Remove call to grub_biosdisk_init().
44949 (grub_machine_fini): Remove call to grub_machine_fini().
44950
44951 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
44952
3381d274 449532007-10-22 Robert Millan <rmh@aybabtu.com>
44954
44955 * include/grub/time.h: New file.
44956 * include/grub/i386/time.h: Likewise.
44957 * include/grub/powerpc/time.h: Likewise.
44958 * include/grub/sparc64/time.h: Likewise.
44959
44960 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
44961 instances to ...
44962 (KERNEL_MACHINE_TIME_HEADER): ... this.
44963 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44964 instances to ...
44965 (KERNEL_MACHINE_TIME_HEADER): ... this.
44966 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44967 instances to ...
44968 (KERNEL_MACHINE_TIME_HEADER): ... this.
44969
44970 * kern/i386/efi/init.c: Include `<grub/time.h>'.
44971 (grub_millisleep): New function.
44972 * kern/i386/pc/init.c: Include `<grub/time.h>'.
44973 (grub_millisleep): New function.
44974 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
44975 Remove `grub/machine/time.h' include.
44976 (grub_millisleep): New function.
44977 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
44978 Remove `grub/machine/time.h' include.
44979 (grub_millisleep): New function.
44980
44981 * include/grub/misc.h (grub_div_roundup): New function.
44982
44983 * kern/misc.c: Include `<grub/time.h>'.
44984 (grub_millisleep_generic): New function.
44985
44986 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
44987 Add `time.h'.
44988 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
44989 Add `time.h'.
44990 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
44991 `machine/time.h'. Add `time.h'.
44992 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44993
a39a0312 449942007-10-21 Robert Millan <rmh@aybabtu.com>
44995
44996 * include/grub/misc.h (grub_max): New function.
44997
2aad70e2 449982007-10-21 Robert Millan <rmh@aybabtu.com>
44999
45000 * util/misc.c (grub_util_info): Call fflush() before returning.
45001
54b71c4b 450022007-10-20 Robert Millan <rmh@aybabtu.com>
45003
45004 * genmk.rb (Image): Copy `extra_flags' from here ...
45005 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45006
45007 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45008 to `argc' and `args' arguments.
45009
a979f513 450102007-10-17 Robert Millan <rmh@aybabtu.com>
45011
45012 * kern/i386/loader.S: New file.
45013
45014 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45015 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45016 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45017 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45018 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45019 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45020 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45021 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45022 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45023 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45024 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45025 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45026 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45027 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45028
45029 * kern/i386/realmode.S: New file.
45030
45031 * kern/i386/pc/startup.S (protstack): Moved from here ...
45032 * kern/i386/realmode.S (protstack)... to here.
45033 * kern/i386/pc/startup.S (gdt): Moved from here ...
45034 * kern/i386/realmode.S (gdt)... to here.
45035 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45036 * kern/i386/realmode.S (prot_to_real)... to here.
45037
45038 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45039 `kern/i386/realmode.S'.
45040
825fc8fd 450412007-10-17 Robert Millan <rmh@aybabtu.com>
45042
45043 * include/grub/i386/loader.h: New file.
45044
45045 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45046 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45047 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45048 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45049 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45050 * include/grub/i386/loader.h (grub_linux_prot_size)
45051 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45052 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45053 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45054 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45055
45056 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45057
e179b2f4 450582007-10-15 Robert Millan <rmh@aybabtu.com>
45059
45060 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45061 filesystem when dev->disk is unset.
45062 Do probe for filesystem even when dev->disk->has_partitions is set.
45063 In case a filesystem is found, always report it.
45064 In case it isn't, if dev->disk->has_partitions is set, report that
45065 a partition table was found instead of reporting that no filesystem
45066 could be identified.
45067
5db82af6 450682007-10-12 Robert Millan <rmh@aybabtu.com>
45069
45070 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45071 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45072
68f6ac74 45073 * include/grub/types.h (grub_host_to_target16): New macro.
45074 (grub_host_to_target32): Likewise.
45075 (grub_host_to_target64): Likewise.
45076 (grub_target_to_host16): Likewise.
45077 (grub_target_to_host32): Likewise.
45078 (grub_target_to_host64): Likewise.
5db82af6 45079
45080 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45081 Renamed from to ...
45082 (GRUB_MOD_ALIGN): ...this. Update all users.
45083
68f6ac74 45084 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45085 grub_host_to_target32.
45086 Replace grub_be_to_cpu32 with grub_target_to_host32.
45087 (load_modules): Likewise.
45088 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45089 Replace grub_be_to_cpu32 with grub_target_to_host32.
45090 Replace grub_cpu_to_be16 with grub_host_to_target16.
45091 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45092
3cf497cc 450932007-10-12 Robert Millan <rmh@aybabtu.com>
45094
45095 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45096 * util/elf/grub-mkimage.c: ... here.
45097
45098 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45099 `util/powerpc/ieee1275/grub-mkimage.c'.
45100
c8cc3692 451012007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45102
c8cc3692 45103 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45104 and make it easier to figure out.
45105 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45106 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45107 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45108 leave us with less than HEAP_MIN_SIZE total heap.
45109 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45110
5c58b791 451112007-10-03 Robert Millan <rmh@aybabtu.com>
45112
45113 * include/grub/i386/io.h: New file.
45114 * commands/i386/pc/play.c (inb): Removed.
45115 (outb): Removed.
45116 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45117 with grub_outb().
afcd2ef8 45118 * term/i386/pc/serial.c (inb): Removed.
45119 (outb): Removed.
45120 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45121 with grub_outb().
45122 * term/i386/pc/vga.c (inb): Removed.
45123 (outb): Removed.
45124 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45125 with grub_outb().
5c58b791 45126
1a477ed6 451272007-10-02 Robert Millan <rmh@aybabtu.com>
45128
45129 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45131 Reported by Marcin Kurek.
45132
6b5d80fa 451332007-09-07 Robert Millan <rmh@aybabtu.com>
45134
45135 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45136 SmartFirmware version updates (as released by Sven Luther), and avoid
45137 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45138 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45139 known broken.
45140
5618afbf 451412007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45142
45143 From Hitoshi Ozeki:
45144 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45145 when merging two regions.
45146
6139dcd9 451472007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45148
508e39ee 45149 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45150 * normal/completion.c (grub_normal_do_completion): Likewise.
45151 Reported by Hitoshi Ozeki.
45152
451532007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45154
6139dcd9 45155 Do not use devices at boot in chainloading.
f19dbdb7 45156
6139dcd9 45157 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45158 (boot_part_addr): Likewise.
45159 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45160 with BOOT_DRIVE and BOOT_PART_ADDR.
45161 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45162 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45163
38da6516 451642007-08-29 Robert Millan <rmh@aybabtu.com>
45165
45166 Patch from Simon Peter <dn.tlp@gmx.net>:
45167 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45168 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45169 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45170 util/i386/pc/grub-setup.c_DEPENDENCIES.
45171 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45172 util/grub-probe.c_DEPENDENCIES.
45173 * conf/powerpc-ieee1275.rmk: Likewise.
45174
29d0928c 451752007-08-28 Robert Millan <rmh@aybabtu.com>
45176
45177 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45178 to tell grub-mkdevicemap how to name devices.
45179 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45180 feature).
45181
45182 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45183 util/i386/get_disk_name.c.
45184 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45185 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45186 util/ieee1275/get_disk_name.c.
45187
45188 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45189
45190 * DISTLIST: Add util/i386/get_disk_name.c and
45191 util/ieee1275/get_disk_name.c.
45192
45193 * util/grub-mkdevicemap.c: Replace device naming logic with
45194 grub_util_get_disk_name() calls.
45195
5a0d3cca 451962007-08-20 Robert Millan <rmh@aybabtu.com>
45197
45198 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45199 (so that it works for both plural and singular quantities).
45200
8b72db2f 452012007-08-05 Robert Millan <rmh@aybabtu.com>
45202
45203 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45204 so that [xz] isn't taken into account when determining order.
45205
352466bf 452062007-08-02 Marco Gerards <marco@gnu.org>
45207
45208 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45209 `include/multiboot2.h', `include/grub/elfload.h',
45210 `include/multiboot.h', `include/grub/multiboot.h',
45211 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45212 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45213 `kern/elf.c', `loader/multiboot_loader.c',
45214 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45215 `loader/i386/pc/multiboot2.c',
45216 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45217 `util/i386/pc/grub-mkrescue.in'. Remove
45218 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45219 `include/grub/i386/pc/util/biosdisk.h' and
45220 `include/grub/powerpc/ieee1275/multiboot.h'.
45221
8f096014 452222007-08-02 Bean <bean123ch@gmail.com>
45223
45224 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45225 (ntfs_mod_SOURCES): New variable.
45226 (ntfs_mod_CFLAGS): Likewise.
45227 (ntfs_mod_LDFLAGS): Likewise.
45228
45229 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45230 (grub_probe_SOURCES): Likewise.
45231 (grub_emu_SOURCES): Likewise.
45232
45233 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45234 (grub_emu_SOURCES): Likewise.
45235
45236 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45237 (grub_emu_SOURCES): Likewise.
f19dbdb7 45238
8f096014 45239 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45240
45241 * fs/ntfs.c: New file.
45242
9959f7db 452432007-08-02 Bean <bean123ch@gmail.com>
45244
45245 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45246
45247 * file.h (grub_file): Likewise.
45248
45249 * fshelp.h (grub_fshelp_read_file): Likewise.
45250
45251 * util/i386/pc/grub-setup.c (setup): Likewise.
45252 (save_first_sector): Likewise.
45253 (save_blocklists): Likewise.
f19dbdb7 45254
9959f7db 45255 * fs/affs.c (grub_affs_read_file): Likewise.
45256
45257 * fs/ext2.c (grub_ext2_read_file): Likewise.
45258
45259 * fs/fat.c (grub_fat_read_data): Likewise.
45260
45261 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45262
45263 * fs/hfs.c (grub_hfs_read_file): Likewise.
45264
45265 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45266
45267 * fs/jfs.c (grub_jfs_read_file): Likewise.
45268
45269 * fs/minix.c (grub_minix_read_file): Likewise.
45270
45271 * fs/sfs.c (grub_sfs_read_file): Likewise.
45272
45273 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45274
9959f7db 45275 * fs/xfs.c (grub_xfs_read_file): Likewise.
45276
45277 * command/blocklist.c (read_blocklist): Likewise.
45278 (print_blocklist): Likewise.
45279
0a203f83 452802007-08-02 Marco Gerards <marco@gnu.org>
45281
45282 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45283 `util/hostfs.c'.
45284
45285 * disk/host.c: New file.
45286
45287 * util/hostfs.c: Likewise.
45288
45289 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45290 return `GRUB_ERR_BAD_FS'.
45291 * fs/sfs.c (grub_sfs_mount): Likewise.
45292 * fs/xfs.c (grub_xfs_mount): Likewise.
45293
45294 * include/grub/disk.h (enum grub_disk_dev_id): Add
45295 `GRUB_DISK_DEVICE_HOST_ID'.
45296
45297 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45298
e5dfe777 452992007-07-24 Jerone Young <jerone@gmail.com>
45300
f19dbdb7 45301 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45302 modules for compilation.
45303 * conf/powerpc-ieee1275.rmk: Likewise.
45304
45305 * include/multiboot.h: Move multiboot definitions to one file. Rename
45306 many definitions to not get grub specific.
45307 * include/multiboot2.h: Create header with multiboot 2 definitions.
45308 * include/grub/multiboot.h: Header for grub specific function
45309 prototypes and definitions.
45310 * include/grub/multiboot2.h: Likewise.
45311 * include/grub/multiboot_loader.h: Likewise.
45312 * include/grub/i386/pc/multiboot.h: Removed.
45313 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45314
45315 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45316 and 2 to allow for one multiboot and module commands.
45317 * loader/multiboot2.c: Add multiboot2 functionality.
45318 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45319 and definition names.
45320 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45321 2 functions.
45322 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45323 ieee1275 specific multiboot2 code.
45324
45325 * kern/i386/pc/startup.S: Change headers and definition names for
45326 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45327
daf0f0ba 453282007-07-22 Robert Millan <rmh@aybabtu.com>
45329
45330 * geninitheader.sh: Process file specified in first parameter rather
45331 than hardcoding grub_modules_init.lst.
fe6b695a 45332 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45333 than hardcoding grub_modules_init.h.
45334
45335 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45336 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45337 grub_probe_init.[ch] and grub_setup_init.[ch].
45338
45339 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45340 grub_modules_init.h with grub_emu_init.h.
45341 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45342 grub_probe_init.[ch] files.
45343 * conf/i386-efi.rmk: Likewise.
45344 * conf/i386-pc.rmk: Likewise.
45345 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45346 grub_setup_init.[ch] files.
45347
45348 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45349 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45350 to initialize modules rather than a list of hardcoded functions.
45351 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45352 grub_init_all() to initialize modules rather than a list of hardcoded
45353 functions.
45354
54cdc1cc 453552007-07-22 Robert Millan <rmh@aybabtu.com>
45356
45357 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45358 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45359
ad0686cc 453602007-07-22 Robert Millan <rmh@aybabtu.com>
45361
45362 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45363 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45364 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45365 flag when running on SmartFirmware.
45366 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45367 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45368 was set.
45369
45370 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45371 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45372 rather than decreasing it.
45373
45374 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45375 there's not enough space to do it, fail in the same way as when it
45376 can't be done because there are no partitions.
45377
45378 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45379 when nvsetenv failed.
45380
969c02ec 453812007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45382
45383 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45384 because this rule is automatically generated.
45385 (grub-mkrescue): Removed for the same reason as above.
45386
5a79f472 453872007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45388
45389 Migrate to GNU General Public License Version 3.
f19dbdb7 45390
5a79f472 45391 * COPYING: Replaced with the plain text version of GPLv3.
45392
45393 * config.guess: Updated from gnulib.
45394 * config.sub: Likewise.
45395
45396 * geninit.sh: Output a GPLv3 copyright notice.
45397 * geninitheader.sh: Likewise.
45398 * genmodsrc.sh: Likewise.
45399 * gensymlist.sh.in: Likewise.
45400
45401 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45402 * boot/i386/pc/diskboot.S: Likewise.
45403 * boot/i386/pc/pxeboot.S: Likewise.
45404 * commands/blocklist.c: Likewise.
45405 * commands/boot.c: Likewise.
45406 * commands/cat.c: Likewise.
45407 * commands/cmp.c: Likewise.
45408 * commands/configfile.c: Likewise.
45409 * commands/echo.c: Likewise.
45410 * commands/help.c: Likewise.
45411 * commands/ls.c: Likewise.
45412 * commands/search.c: Likewise.
45413 * commands/terminal.c: Likewise.
45414 * commands/test.c: Likewise.
45415 * commands/videotest.c: Likewise.
45416 * commands/i386/cpuid.c: Likewise.
45417 * commands/i386/pc/halt.c: Likewise.
45418 * commands/i386/pc/play.c: Likewise.
45419 * commands/i386/pc/reboot.c: Likewise.
45420 * commands/i386/pc/vbeinfo.c: Likewise.
45421 * commands/i386/pc/vbetest.c: Likewise.
45422 * commands/ieee1275/halt.c: Likewise.
45423 * commands/ieee1275/reboot.c: Likewise.
45424 * commands/ieee1275/suspend.c: Likewise.
45425 * disk/loopback.c: Likewise.
45426 * disk/lvm.c: Likewise.
45427 * disk/raid.c: Likewise.
45428 * disk/efi/efidisk.c: Likewise.
45429 * disk/i386/pc/biosdisk.c: Likewise.
45430 * disk/ieee1275/ofdisk.c: Likewise.
45431 * font/manager.c: Likewise.
45432 * fs/affs.c: Likewise.
45433 * fs/ext2.c: Likewise.
45434 * fs/fat.c: Likewise.
45435 * fs/fshelp.c: Likewise.
45436 * fs/hfs.c: Likewise.
45437 * fs/hfsplus.c: Likewise.
45438 * fs/iso9660.c: Likewise.
45439 * fs/jfs.c: Likewise.
45440 * fs/minix.c: Likewise.
45441 * fs/sfs.c: Likewise.
45442 * fs/ufs.c: Likewise.
45443 * fs/xfs.c: Likewise.
45444 * hello/hello.c: Likewise.
45445 * include/grub/acorn_filecore.h: Likewise.
45446 * include/grub/arg.h: Likewise.
45447 * include/grub/bitmap.h: Likewise.
45448 * include/grub/boot.h: Likewise.
45449 * include/grub/cache.h: Likewise.
45450 * include/grub/device.h: Likewise.
45451 * include/grub/disk.h: Likewise.
45452 * include/grub/dl.h: Likewise.
45453 * include/grub/elfload.h: Likewise.
45454 * include/grub/env.h: Likewise.
45455 * include/grub/err.h: Likewise.
45456 * include/grub/file.h: Likewise.
45457 * include/grub/font.h: Likewise.
45458 * include/grub/fs.h: Likewise.
45459 * include/grub/fshelp.h: Likewise.
45460 * include/grub/gzio.h: Likewise.
45461 * include/grub/hfs.h: Likewise.
45462 * include/grub/kernel.h: Likewise.
45463 * include/grub/loader.h: Likewise.
45464 * include/grub/lvm.h: Likewise.
45465 * include/grub/misc.h: Likewise.
45466 * include/grub/mm.h: Likewise.
45467 * include/grub/net.h: Likewise.
45468 * include/grub/normal.h: Likewise.
45469 * include/grub/parser.h: Likewise.
45470 * include/grub/partition.h: Likewise.
45471 * include/grub/pc_partition.h: Likewise.
45472 * include/grub/raid.h: Likewise.
45473 * include/grub/rescue.h: Likewise.
45474 * include/grub/script.h: Likewise.
45475 * include/grub/setjmp.h: Likewise.
45476 * include/grub/symbol.h: Likewise.
45477 * include/grub/term.h: Likewise.
45478 * include/grub/terminfo.h: Likewise.
45479 * include/grub/tparm.h: Likewise.
45480 * include/grub/types.h: Likewise.
45481 * include/grub/video.h: Likewise.
45482 * include/grub/efi/api.h: Likewise.
45483 * include/grub/efi/chainloader.h: Likewise.
45484 * include/grub/efi/console.h: Likewise.
45485 * include/grub/efi/console_control.h: Likewise.
45486 * include/grub/efi/disk.h: Likewise.
45487 * include/grub/efi/efi.h: Likewise.
45488 * include/grub/efi/pe32.h: Likewise.
45489 * include/grub/efi/time.h: Likewise.
45490 * include/grub/i386/linux.h: Likewise.
45491 * include/grub/i386/setjmp.h: Likewise.
45492 * include/grub/i386/types.h: Likewise.
45493 * include/grub/i386/efi/kernel.h: Likewise.
45494 * include/grub/i386/efi/loader.h: Likewise.
45495 * include/grub/i386/efi/time.h: Likewise.
45496 * include/grub/i386/pc/biosdisk.h: Likewise.
45497 * include/grub/i386/pc/boot.h: Likewise.
45498 * include/grub/i386/pc/chainloader.h: Likewise.
45499 * include/grub/i386/pc/console.h: Likewise.
45500 * include/grub/i386/pc/init.h: Likewise.
45501 * include/grub/i386/pc/kernel.h: Likewise.
45502 * include/grub/i386/pc/loader.h: Likewise.
45503 * include/grub/i386/pc/memory.h: Likewise.
45504 * include/grub/i386/pc/multiboot.h: Likewise.
45505 * include/grub/i386/pc/serial.h: Likewise.
45506 * include/grub/i386/pc/time.h: Likewise.
45507 * include/grub/i386/pc/vbe.h: Likewise.
45508 * include/grub/i386/pc/vbeblit.h: Likewise.
45509 * include/grub/i386/pc/vbefill.h: Likewise.
45510 * include/grub/i386/pc/vbeutil.h: Likewise.
45511 * include/grub/i386/pc/vga.h: Likewise.
45512 * include/grub/ieee1275/ieee1275.h: Likewise.
45513 * include/grub/ieee1275/ofdisk.h: Likewise.
45514 * include/grub/powerpc/libgcc.h: Likewise.
45515 * include/grub/powerpc/setjmp.h: Likewise.
45516 * include/grub/powerpc/types.h: Likewise.
45517 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45518 * include/grub/powerpc/ieee1275/console.h: Likewise.
45519 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45520 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45521 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45522 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45523 * include/grub/powerpc/ieee1275/time.h: Likewise.
45524 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45525 * include/grub/sparc64/libgcc.h: Likewise.
45526 * include/grub/sparc64/setjmp.h: Likewise.
45527 * include/grub/sparc64/types.h: Likewise.
45528 * include/grub/sparc64/ieee1275/console.h: Likewise.
45529 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45530 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45531 * include/grub/sparc64/ieee1275/time.h: Likewise.
45532 * include/grub/util/biosdisk.h: Likewise.
45533 * include/grub/util/getroot.h: Likewise.
45534 * include/grub/util/lvm.h: Likewise.
45535 * include/grub/util/misc.h: Likewise.
45536 * include/grub/util/raid.h: Likewise.
45537 * include/grub/util/resolve.h: Likewise.
45538 * io/gzio.c: Likewise.
45539 * kern/device.c: Likewise.
45540 * kern/disk.c: Likewise.
45541 * kern/dl.c: Likewise.
45542 * kern/elf.c: Likewise.
45543 * kern/env.c: Likewise.
45544 * kern/err.c: Likewise.
45545 * kern/file.c: Likewise.
45546 * kern/fs.c: Likewise.
45547 * kern/loader.c: Likewise.
45548 * kern/main.c: Likewise.
45549 * kern/misc.c: Likewise.
45550 * kern/mm.c: Likewise.
45551 * kern/parser.c: Likewise.
45552 * kern/partition.c: Likewise.
45553 * kern/rescue.c: Likewise.
45554 * kern/term.c: Likewise.
45555 * kern/efi/efi.c: Likewise.
45556 * kern/efi/init.c: Likewise.
45557 * kern/efi/mm.c: Likewise.
45558 * kern/i386/dl.c: Likewise.
45559 * kern/i386/efi/init.c: Likewise.
45560 * kern/i386/efi/startup.S: Likewise.
45561 * kern/i386/pc/init.c: Likewise.
45562 * kern/i386/pc/lzo1x.S: Likewise.
45563 * kern/i386/pc/startup.S: Likewise.
45564 * kern/ieee1275/ieee1275.c: Likewise.
45565 * kern/powerpc/cache.S: Likewise.
45566 * kern/powerpc/dl.c: Likewise.
45567 * kern/powerpc/ieee1275/cmain.c: Likewise.
45568 * kern/powerpc/ieee1275/crt0.S: Likewise.
45569 * kern/powerpc/ieee1275/init.c: Likewise.
45570 * kern/powerpc/ieee1275/openfw.c: Likewise.
45571 * kern/sparc64/cache.S: Likewise.
45572 * kern/sparc64/dl.c: Likewise.
45573 * kern/sparc64/ieee1275/init.c: Likewise.
45574 * kern/sparc64/ieee1275/openfw.c: Likewise.
45575 * loader/efi/chainloader.c: Likewise.
45576 * loader/efi/chainloader_normal.c: Likewise.
45577 * loader/i386/efi/linux.c: Likewise.
45578 * loader/i386/efi/linux_normal.c: Likewise.
45579 * loader/i386/pc/chainloader.c: Likewise.
45580 * loader/i386/pc/chainloader_normal.c: Likewise.
45581 * loader/i386/pc/linux.c: Likewise.
45582 * loader/i386/pc/linux_normal.c: Likewise.
45583 * loader/i386/pc/multiboot.c: Likewise.
45584 * loader/i386/pc/multiboot_normal.c: Likewise.
45585 * loader/powerpc/ieee1275/linux.c: Likewise.
45586 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45587 * normal/arg.c: Likewise.
45588 * normal/cmdline.c: Likewise.
45589 * normal/command.c: Likewise.
45590 * normal/completion.c: Likewise.
45591 * normal/execute.c: Likewise.
45592 * normal/function.c: Likewise.
45593 * normal/lexer.c: Likewise.
45594 * normal/main.c: Likewise.
45595 * normal/menu.c: Likewise.
45596 * normal/menu_entry.c: Likewise.
45597 * normal/misc.c: Likewise.
45598 * normal/parser.y: Likewise.
45599 * normal/script.c: Likewise.
45600 * normal/i386/setjmp.S: Likewise.
45601 * normal/powerpc/setjmp.S: Likewise.
45602 * normal/sparc64/setjmp.S: Likewise.
45603 * partmap/acorn.c: Likewise.
45604 * partmap/amiga.c: Likewise.
45605 * partmap/apple.c: Likewise.
45606 * partmap/gpt.c: Likewise.
45607 * partmap/pc.c: Likewise.
45608 * partmap/sun.c: Likewise.
45609 * term/gfxterm.c: Likewise.
45610 * term/terminfo.c: Likewise.
45611 * term/efi/console.c: Likewise.
45612 * term/i386/pc/console.c: Likewise.
45613 * term/i386/pc/serial.c: Likewise.
45614 * term/i386/pc/vesafb.c: Likewise.
45615 * term/i386/pc/vga.c: Likewise.
45616 * term/ieee1275/ofconsole.c: Likewise.
45617 * util/biosdisk.c: Likewise.
45618 * util/console.c: Likewise.
45619 * util/genmoddep.c: Likewise.
45620 * util/getroot.c: Likewise.
45621 * util/grub-emu.c: Likewise.
45622 * util/grub-mkdevicemap.c: Likewise.
45623 * util/grub-probe.c: Likewise.
45624 * util/lvm.c: Likewise.
45625 * util/misc.c: Likewise.
45626 * util/raid.c: Likewise.
45627 * util/resolve.c: Likewise.
45628 * util/update-grub.in: Likewise.
45629 * util/update-grub_lib.in: Likewise.
45630 * util/grub.d/00_header.in: Likewise.
45631 * util/grub.d/10_hurd.in: Likewise.
45632 * util/grub.d/10_linux.in: Likewise.
45633 * util/i386/efi/grub-install.in: Likewise.
45634 * util/i386/efi/grub-mkimage.c: Likewise.
45635 * util/i386/pc/grub-install.in: Likewise.
45636 * util/i386/pc/grub-mkimage.c: Likewise.
45637 * util/i386/pc/grub-mkrescue.in: Likewise.
45638 * util/i386/pc/grub-setup.c: Likewise.
45639 * util/i386/pc/misc.c: Likewise.
45640 * util/powerpc/ieee1275/grub-install.in: Likewise.
45641 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45642 * util/powerpc/ieee1275/misc.c: Likewise.
45643 * video/bitmap.c: Likewise.
45644 * video/video.c: Likewise.
45645 * video/i386/pc/vbe.c: Likewise.
45646 * video/i386/pc/vbeblit.c: Likewise.
45647 * video/i386/pc/vbefill.c: Likewise.
45648 * video/i386/pc/vbeutil.c: Likewise.
45649 * video/readers/tga.c: Likewise.
45650
3572d015 456512007-07-02 Robert Millan <rmh@aybabtu.com>
45652
45653 * conf/i386-efi.rmk: Replace obsolete reference to
45654 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45655 with util/getroot.c.
45656 * conf/powerpc-ieee1275.rmk: Likewise.
45657 * conf/sparc64-ieee1275.rmk: Likewise.
45658
45659 * util/grub-emu.c (main): Fix unchecked pointer handling.
45660
2c2a681b 456612007-07-02 Robert Millan <rmh@aybabtu.com>
45662
45663 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45664 invocation to fail, in order to support partition-less media.
45665
45666 * util/i386/pc/grub-install.in: Likewise.
45667
45668 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45669 which fs or partmap modules are needed (akin to its sister scripts).
45670
45671 Also use grub-probe to get rid of unportable /proc/mounts check.
45672
45673 Print the same informational message that the other scripts do, before
fe6b695a 45674 exiting.
2c2a681b 45675
6193defe 456762007-06-23 Robert Millan <rmh@aybabtu.com>
45677
fe6b695a 45678 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 45679 a font file can be found and, if so, echo the GRUB path to it.
45680
45681 * util/update-grub.in: Handle multiple terminals depending on user
45682 input, platform availability and font file presence. Propagate
45683 variables of our findings to /etc/grub.d/ children.
45684
45685 * util/grub.d/00_header.in: Handle multiple terminals, based on
45686 environment setup by update-grub.
45687
eface1dc 456882007-06-23 Robert Millan <rmh@aybabtu.com>
45689
ba50d28f 45690 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 45691
bf697e28 456922007-06-21 Robert Millan <rmh@aybabtu.com>
45693
45694 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
45695 indicate end of data section in kernel image.
45696 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
45697 GRUB_KERNEL_MACHINE_DATA_END.
45698
45699 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
45700 space for it.
45701 * kern/i386/efi/startup.S: Likewise.
45702
45703 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
45704 during image generation. Implement --prefix option to override this
45705 patch.
45706 * util/i386/efi/grub-mkimage.c: Likewise.
45707
45708 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
45709 code to make path relative to its root into a separate function.
45710
45711 * util/i386/pc/grub-install.in: Use newly provided
45712 make_system_path_relative_to_its_root() to convert ${grubdir}, then
45713 pass the result to grub-install --prefix.
45714
baa574b4 457152007-06-13 Robert Millan <rmh@aybabtu.com>
45716
45717 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
45718 DEFAULT_DEVICE_MAP.
45719 * util/grub-emu.c: Use above definitions from misc.h instead of
45720 defining them.
45721 * util/grub-mkdevicemap.c: Likewise.
45722 * util/i386/pc/grub-setup.c: Likewise.
45723 * util/grub-probe.c: Likewise.
45724 (probe): Abort with grub_util_error() when either
45725 grub_guess_root_device or grub_util_get_grub_dev fails.
45726
0215dcbf 457272007-06-12 Robert Millan <rmh@aybabtu.com>
45728
45729 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
45730 "pager" assignment.
45731 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
45732 "pcdata".
45733 * util/grub-probe.c (probe): Likewise for "drive_name".
45734
8af2ab7b 457352007-06-11 Robert Millan <rmh@aybabtu.com>
45736
45737 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
45738 not just the cdrom one.
45739
59d31694 457402007-06-11 Robert Millan <rmh@aybabtu.com>
45741
45742 * util/i386/pc/grub-mkrescue.in: Add "set -e".
45743 Add --pkglibdir=DIR option to override pkglibdir.
45744 Mention --image-type=TYPE in help output.
45745 Fix --grub-mkimage (it was a no-op).
fe6b695a 45746 Abort gracefully when no parameter is given.
59d31694 45747
7ee367e4 457482007-06-11 Robert Millan <rmh@aybabtu.com>
45749
45750 * util/i386/pc/grub-mkrescue.in: New file.
45751 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
45752 * Makefile.in: Handle bin_SCRIPTS.
45753
29b0ed46 457542007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
45755
45756 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
45757 list of video modes.
45758
c0f90770 457592007-06-06 Robert Millan <rmh@aybabtu.com>
45760
45761 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
45762 file doesn't exist, or if it is in a filesystem grub can't read.
45763
45764 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
45765 not abort if GRUB_DRIVE could not be defined. Rearrange generated
45766 header comment to fit in 80 columns when the variables are resolved.
45767
45768 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
45769 could be identified by update-grub. Remove redundant check for
fe6b695a 45770 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 45771 handles that).
45772
fb36dc26 457732007-06-04 Robert Millan <rmh@aybabtu.com>
45774
45775 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
45776
45777 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
45778
45779 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
45780
0c68c93e 457812007-06-04 Robert Millan <rmh@aybabtu.com>
45782
45783 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
45784
45785 * include/grub/partition.h: Declare grub_apple_partition_map_init and
45786 grub_apple_partition_map_fini.
45787
45788 * util/biosdisk.c
45789 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
45790 to access >2 TiB disks).
45791
45792 Print disk->total_sectors with %llu instead of %lu, since this
45793 variable is always 64-bit (prevents wrong disk size from being displayed
45794 on either >2 TiB disk or big-endian CPU).
45795
45796 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
45797 into a generic case that supports all (sane) partition maps.
45798
45799 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
45800 breaks big-endian.
45801
45802 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
45803 and grub_apple_partition_map_fini() after that.
45804
0f23eb74 458052007-06-01 Robert Millan <rmh@aybabtu.com>
45806
45807 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
45808
45809 * util/grub.d/00_header.in: Only enable gfxterm when
45810 convert_system_path_to_grub_path() succeeds.
45811
42c71976 458122007-05-20 Robert Millan <rmh@aybabtu.com>
45813
45814 * util/update-grub_lib.in: New file.
45815 * DISTLIST: Add update-grub_lib.in.
45816 * conf/common.rmk: Generate update-grub_lib and install it in
45817 $(lib_DATA).
45818 * Makefile.in: Add install routine for $(lib_DATA).
45819
45820 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
45821 function provided by update-grub_lib to support arbitrary paths of
45822 unifont.pff.
45823 * util/update-grub.in: Use convert_system_path_to_grub_path() to
45824 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
45825
5beb2291 458262007-05-19 Robert Millan <rmh@aybabtu.com>
45827
45828 * commands/i386/cpuid.c: New module.
45829 * DISTLIST: Add it.
45830 * conf/i386-efi.rmk: Enable cpuid.mod.
45831 * conf/i386-pc.rmk: Likewise.
45832
7262eca1 458332007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45834
45835 * kern/disk.c (grub_disk_read): Check return value of
45836 grub_realloc().
45837
260ba823 458382007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45839
45840 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
45841 arrays.
45842 * disk/raid.c (grub_raid_open): Likewise.
45843
1ecb6cf2 458442007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
45845
45846 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
45847 stack instead of on the heap.
45848
45849 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
45850 before doing a read on it.
45851
45852 * configure.ac: Only use -fno-stack-protector for the target
45853 environment.
f19dbdb7 45854
21c8cbb1 458552007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
45856
45857 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
45858 __attribute_ ((unused)) to mode_type argument.
45859
45860 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 45861
21c8cbb1 45862 * kern/misc.c (memcmp): Fix prototype.
45863
45864 * include/grub/partition.h [GRUB_UTIL]
45865 (grub_gpt_partition_map_init): Add prototype.
45866 (grub_gpt_partition_map_fini): Likewise.
45867
45868 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
45869 at the right place.
45870
45871 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
45872 (grub_fat_read_data): Likewise.
45873 (grub_fat_find_dir): Likewise.
45874
45875 * font/manager.c (find_glyph): Make table a const.
45876 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 45877
849d55d3 458782007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
45879
45880 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
45881 code, first search for device in /dev/mapper, then in /dev.
45882 (grub_util_get_grub_dev): New function.
45883 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
45884 prototype.
45885 * util/grub-probe.c (probe): Remove check for RAID, call
45886 grub_util_get_grub_dev() instead of
45887 grub_util_biosdisk_get_grub_dev().
45888 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
45889 grub_util_biosdisk_get_grub_dev().
45890 * util/i386/pc/grub-setup.c (main): Likewise.
45891
8fff7c2f 458922007-05-16 Robert Millan <rmh@aybabtu.com>
45893
45894 * DISTLIST: Update for the latest changes.
45895 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
45896 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
45897 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
45898 grub/util/biosdisk.h.
45899 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
45900 grub/util/biosdisk.h.
45901
48e12b52 459022007-05-16 Robert Millan <rmh@aybabtu.com>
45903
45904 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
45905
46b9d128 459062007-05-16 Robert Millan <rmh@aybabtu.com>
45907
45908 * util/i386/efi/grub-install.in: New.
45909 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
45910 newly added grub-install.
45911 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
45912 include.
45913 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
45914 grub/util/biosdisk.h.
45915 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
45916 grub/util/biosdisk.h.
45917
2d1a40a9 459182007-05-16 Robert Millan <rmh@aybabtu.com>
45919
45920 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
45921 * include/grub/util/biosdisk.h: ... here.
45922 * util/i386/pc/biosdisk.c: Moved to ...
45923 * util/biosdisk.c: ... here.
45924 * util/i386/pc/getroot.c: Moved to ...
45925 * util/getroot.c: ... here.
45926 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
45927 * util/grub-mkdevicemap.c: ... here.
45928 * util/i386/pc/grub-probe.c: Moved to ...
45929 * util/grub-probe.c: ... here.
45930
9e26e3bc 459312007-05-15 Robert Millan <rmh@aybabtu.com>
45932
45933 * util/update-grub.in: Remove duplicated line in grub.cfg header
45934 message.
45935
57f96397 459362007-05-13 Robert Millan <rmh@aybabtu.com>
45937
45938 * util/update-grub.in: Fix a few assumptions about the devices holding
45939 /, /boot and /boot/grub being the same.
45940 * util/grub.d/00_header.in: Likewise.
45941 * util/grub.d/10_hurd.in: Likewise.
45942 * util/grub.d/10_linux.in: Likewise.
45943
45944 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
45945 patterns. Use that to define the `.old' suffix as older than `'.
45946
45947 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
45948
45949 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
45950 the grub.cfg header message.
45951
2e610d62 459522007-05-11 Robert Millan <rmh@aybabtu.com>
45953
45954 * util/update-grub.in: Create device.map if it doesn't already exist,
45955 before attempting to run grub-probe.
45956 Check for grub-probe and grub-mkdevicemap with the same code
45957 grub-install is using.
45958 Remove test mode.
45959
3f6a10ef 459602007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
45961
45962 * Makefile.in: Add the datarootdir autoconf variable.
45963
02e7b75e 459642007-05-09 Robert Millan <rmh@aybabtu.com>
45965
45966 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 45967 fail gracefully if dev->disk->partition == NULL.
02e7b75e 45968
75f396cc 459692007-05-07 Robert Millan <rmh@aybabtu.com>
45970
45971 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
45972 determine partition map module.
45973 * util/i386/pc/grub-install.in: Use this feature to decide which
45974 partition module to load, instead of hardcoding pc and gpt.
45975
da65cb36 459762007-05-07 Robert Millan <rmh@aybabtu.com>
45977
45978 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
45979 source directory differs from build directory.
45980
b57d6a91 459812007-05-05 Robert Millan <rmh@aybabtu.com>
45982
45983 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
45984 initialisation.
45985
509d00f1 459862007-05-05 Robert Millan <rmh@aybabtu.com>
45987
45988 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
45989
c48f23ef 459902007-05-05 Robert Millan <rmh@aybabtu.com>
45991
45992 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
45993 command-line arguments via ${GRUB_CMDLINE_LINUX}.
45994
20b97658 459952007-05-05 Robert Millan <rmh@aybabtu.com>
45996
45997 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
45998 (grub_probe_SOURCES): Likewise.
45999 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46000 GPT and initialize dos_part and bsd_part accordingly.
46001 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46002 install_bsd_part.
46003 (main): Activate gpt module for use during partition identification,
46004 and deactivate it afterwards.
46005 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46006 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46007 partition identification, and deactivate it afterwards.
46008
99123174 460092007-05-05 Robert Millan <rmh@aybabtu.com>
46010
46011 * term/i386/pc/console.c (grub_console_fini): Call
46012 grub_term_set_current() before grub_term_unregister().
46013
ebd97f6e 460142007-05-04 Robert Millan <rmh@aybabtu.com>
46015
46016 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46017 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46018 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46019 and update-grub_DATA.
46020 * conf/common.rmk: Build and install update-grub components.
46021 * conf/common.mk: Regenerate.
46022 * util/update-grub.in: New. Core of update-grub.
46023 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46024 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46025 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46026 * util/grub.d/README: New. Document grub.d directory layout.
46027
b06a264d 460282007-05-01 Robert Millan <rmh@aybabtu.com>
46029
46030 * util/grub-emu.c: Move initialization functions
46031 grub_util_biosdisk_init() and grub_init_all() before
46032 grub_util_biosdisk_get_grub_dev(), which relies on them.
46033
41f0050e 460342007-04-19 Robert Millan <rmh@aybabtu.com>
46035
46036 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46037 it is used later.
46038
04582bb3 460392007-04-18 Jerone Young <jerone@gmail.com>
46040
f19dbdb7 46041 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46042 stanza.
46043
08db4632 460442007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46045
08db4632 46046 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46047 continue on and look for device node with real device name.
46048
801b76be 460492007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46050
fe6b695a 46051 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46052 ability.
46053 * Makefile.in: Add autoconf package transformation code.
46054 * util/i386/pc/grub-install.in: Likewise.
46055 * util/powerpc/ieee1275/grub-install.in: Likewise.
46056
6795c4e1 460572007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46058
46059 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46060 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46061 (EXT2_REVISION): Likewise.
46062 (EXT2_INODE_SIZE): Likewise.
46063 (struct grub_ext2_block_group): Added a missing member
46064 "used_dirs".
46065 (grub_ext2_read_inode): Divide by the inode size in a superblock
46066 instead of 128 to obtain INODES_PER_BLOCK.
46067 Use the macro EXT2_INODE_SIZE instead of directly using
46068 SBLOCK->INODE_SIZE.
46069
d70af616 460702007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46071
46072 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46073 superblock instead of the structure size to compute an
46074 offset. This fixes the problem that GRUB could not read a
46075 filesystem when inode size is different from 128-byte.
46076
3b801603 460772007-03-05 Marco Gerards <marco@gnu.org>
46078
46079 * normal/main.c (read_config_file): When "menu" is not set, create
46080 an initial context.
46081
4785bfe4 460822007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46083
46084 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46085 (HEAP_LIMIT): New macro.
46086 (grub_claim_heap): Claim memory up to `heaplimit'.
46087
a0cbb023 460882007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46089
46090 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46091 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46092 (_start): Likewise.
46093 (grub_arch_modules_addr): Return address after `_end'.
46094 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46095 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46096 (add_segments): Calculate `_end' from phdr size and location.
46097 (ALIGN_UP): Moved to ...
46098 * include/grub/misc.h: here.
46099 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46100 New macro.
46101 (GRUB_IEEE1275_MODULE_BASE): Removed.
46102
fd7d8eba 461032007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46104
46105 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46106 loop boundary.
46107
9b09e6fc 461082007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46109
46110 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46111 All users updated.
46112 (grub_elf64_load_hook_t): Likewise.
46113 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46114 debug output.
46115
3ce27299 461162007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46117
46118 * kern/mm.c: Update copyright.
46119 (grub_mm_debug): Correct syntax error.
46120 (grub_mm_dump_free): New function.
46121 (grub_debug_free): Call `grub_free'.
46122 * include/grub/mm.h: Update copyright.
46123 (grub_mm_dump_free): Add declaration.
46124
077d5fee 461252007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46126
46127 * include/grub/ieee1275/ieee1275.h: Update copyright.
46128 * kern/powerpc/ieee1275/init.c: Likewise.
46129 * kern/powerpc/ieee1275/openfw.c: Likewise.
46130
46131 * loader/powerpc/ieee1275/linux.c: Likewise.
46132 * include/grub/elfload.h: Likewise.
46133 * kern/elf.c: Likewise.
46134 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46135 callers.
46136 (grub_elf64_load): Likewise.
46137 (grub_elf32_load_segment): Move to a nested function.
46138 (grub_elf64_load_segment): Likewise.
46139
dc946850 461402007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46141
46142 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46143 prototype.
46144 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46145 (grub_heap_len): Likewise.
46146 (HEAP_SIZE): New macro.
46147 (grub_claim_heap): New function.
46148 (grub_machine_init): Don't claim heap directly. Call
46149 `grub_claim_heap'.
46150 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46151 (grub_available_iterate): New function.
46152
baa2a121 461532007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46154
46155 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46156 * configure.ac: Use it for testing the HOST and TARGET compilers.
46157
4fe9862e 461582006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46159
46160 * Makefile.in (enable_grub_emu): New variable.
46161 * configure.ac (--enable-grub-emu): New option.
46162 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46163 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46164 * conf/i386-pc.rmk: Likewise.
46165 * conf/powerpc-ieee1275.rmk: Likewise.
46166 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46167
a8aa5762 461682006-12-12 Marco Gerards <marco@gnu.org>
46169
46170 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46171
46172 * kern/env.c (grub_env_unset): Don't free the member `value' when
46173 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46174 pointer.
46175
46176 * normal/main.c (current_menu): Removed.
46177 (free_menu): Unset the `menu' environment variable.
46178 (grub_normal_menu_addentry): Make use of the environment variable
46179 `menu', instead of using the global `current_menu'. Allocate
46180 memory for the sourcecode of this entry.
46181 (read_config_file): New argument `nested', changed all callers.
46182 Only in the case of a new context, initialize a new menu. Set the
46183 `menu' environment variable.
46184 (grub_normal_execute): Don't set and unset the environment
46185 variable `menu' here anymore. Only free the menu when leaving the
46186 context.
46187
46188 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46189 leak.
46190
957b3a3e 461912006-12-11 Marco Gerards <marco@gnu.org>
46192
46193 * normal/menu_entry.c (run): Fix off by one bug so the last line
46194 is executed. Move the loader check to outside the loop.
46195
ef875714 461962006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46197
46198 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46199
4e739985 462002006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46201
46202 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46203 the number of sectors. Reported by Andrey Shuvikov
46204 <mr_hyro@yahoo.com>.
f19dbdb7 46205
790707f2 462062006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46207
46208 * kern/disk.c (grub_disk_read): When there is a read error, always
46209 try to read only the necessary data.
f19dbdb7 46210
790707f2 46211 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46212 disk/raid.c.
46213 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46214 prototype.
46215 [GRUB_UTIL] (grub_raid_fini): Likewise.
46216 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46217 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46218 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46219 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46220 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46221 and grub_raid_fini().
f19dbdb7 46222
03e58196 462232006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46224
46225 * include/grub/types.h (__unused): Rename to UNUSED.
46226 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46227 (grub_elf64_size): Likewise.
f19dbdb7 46228
ae4f23bf 462292006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46230
46231 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46232 grub_error_push and grub_error_pop in the error-handling path.
46233 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46234 length.
46235
2166cc83 462362006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46237
46238 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46239 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46241 (kernel_elf_SOURCES): Likewise.
46242 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46243 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46244 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46245 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46246 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46247 (elf_mod_SOURCES): New variable.
46248 (elf_mod_CFLAGS): Likewise.
46249 (elf_mod_LDFLAGS): Likewise.
46250 * include/grub/types.h (__unused): New macro.
46251 * include/grub/elfload.h: New file.
46252 * kern/elf.c: Likewise.
46253 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46254 (ELF32_LOADMASK): New macro.
46255 (ELF64_LOADMASK): Likewise.
46256 (vmlinux): Removed.
46257 (grub_linux_load32): New function.
46258 (grub_linux_load64): Likewise.
46259 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46260 Use grub_elf_t instead of grub_file_t.
46261
a09d5aa5 462622006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46263
46264 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46265 `catch_result' to struct set_color_args.
46266
d976fc51 462672006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46268
46269 * normal/menu.c: Include grub/script.h.
46270 * normal/menu_entry.c: Likewise.
46271 * include/grub/normal.h: Do not include grub/script.h.
46272
67507549 462732006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46274
46275 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46276
69203a99 462772006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46278
46279 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46280 disk.
46281 (grub_disk_close): Print debug messages when closing a disk.
46282 (grub_disk_read): Print debug messages when disk read fails.
46283 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46284 filesystem type.
46285 * kern/partition.c: Include misc.h.
46286 (grub_partition_iterate): Print debug messages when detecting
46287 partition type.
46288
e2b8278c 462892006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46290
46291 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46292 is negative.
46293 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46294
97b2f2ff 462952006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46296
46297 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46298 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46299
6555d655 463002006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46301
46302 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46303 instead of sizeof(lv). Patch by Michael Guntsche.
46304
4d42b77f 463052006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46306
46307 * disk/lvm.c: Rename VGS to VG_LIST.
46308 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46309 (grub_lvm_open): Likewise.
46310 Thanks to Michael Guntsche for finding this bug.
46311
5d74d927 463122006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46313
46314 * configure.ac (AC_INIT): Bumped to 1.95.
46315
a1bb27e4 463162006-10-14 Robert Millan <rmh@aybabtu.com>
46317
46318 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46319 with "/dev/.static/dev/md".
46320
e0994b8b 463212006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46322
46323 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46324 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46325 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46326 DRIVE_NAME are always freed.
46327
46328 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46329 DOS_PART, as a DOS partition is counted from one instead of zero
46330 now. Reported by Robert Millan.
46331
ddd5cee9 463322006-10-14 Robert Millan <rmh@aybabtu.com>
46333
46334 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46335 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46336 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46337 string returned by grub_guess_root_device.
46338 * util/i386/pc/grub-setup.c: Likewise.
46339 * util/i386/pc/grub-probefs.c: Likewise.
46340
46341 * util/i386/pc/grub-probefs.c: Rename to ...
46342 * util/i386/pc/grub-probe.c: ... this.
46343 * DISTLIST: Remove grub-probefs, add grub-probe.
46344 * conf/i386-efi.rmk: Likewise.
46345 * conf/i386-pc.rmk: Likewise.
46346 * util/i386/pc/grub-install.in: Likewise.
46347
46348 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46349 choose which information we want to print.
46350
2b002173 463512006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46352
46353 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46354 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46355 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46356 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46357 video/readers/tga.c and video/i386/pc/vbeutil.c.
46358
463592006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46360
46361 Added support for RAID and LVM.
f19dbdb7 46362
2b002173 46363 * disk/lvm.c: New file.
46364 * disk/raid.c: Likewise.
46365 * include/grub/lvm.h: Likewise.
f19dbdb7 46366 * include/grub/raid.h: Likewise.
2b002173 46367 * include/grub/util/lvm.h: Likewise.
46368 * include/grub/util/raid.h: Likewise.
46369 * util/lvm.c: Likewise.
46370 * util/raid.c: Likewise.
46371
46372 * include/grub/disk.h (grub_disk_dev_id): Add
46373 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46374 (grub_disk_get_size): New prototype.
46375 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46376 returns a partition.
46377 (grub_disk_get_size): New function.
f19dbdb7 46378
2b002173 46379 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46380 verbatim if grub_install_dos_part is -2.
46381
46382 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46383 and LVM devices.
46384
46385 * util/i386/pc/grub-setup.c (setup): New argument
46386 MUST_EMBED. Force embedding of GRUB when the argument is
46387 true. Close FILE before returning.
46388 (main): Add support for RAID and LVM.
f19dbdb7 46389
2b002173 46390 * conf/common.rmk: Add RAID and LVM modules.
46391 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46392 util/lvm.c.
46393 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46394
46395 * kern/misc.c (grub_strstr): New function.
46396 * include/grub/misc.h (grub_strstr): New prototype.
46397
050548d0 463982006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46399
46400 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46401
da849d2d 464022006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46403
46404 * kern/misc.c (grub_strtoull): Guess the base only if not
46405 specified.
46406
97b2f2ff 464072006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46408
46409 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46410 PowerMac support.
46411
97b2f2ff 464122006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46413
46414 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46415
46416 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46417 Remove `flags' argument. All callers changed.
46418 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46419 (IEEE1275_IHANDLE_INVALID): New variable.
46420 (IEEE1275_CELL_INVALID): New variable.
46421 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46422 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46423 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46424 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46425 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46426 codes from Open Firmware. All callers updated.
46427 (grub_ieee1275_next_property): Directly return Open Firmware return
46428 code.
46429 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46430 Standardize error checking from `grub_ieee1275_get_property'.
46431 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46432 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46433
97b2f2ff 464342006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46435
46436 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46437 `instance_to_package_args' to `instance_to_path_args'.
46438
46439 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46440 `grub_ieee1275_chosen'.
46441
46442 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46443 `grub_ieee1275_interpret'.
46444
97b2f2ff 464452006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46446
46447 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46448
97b2f2ff 464492006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46450
46451 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46452 (__cmpdi): Likewise.
46453
46454 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46455 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46456 `grub_ssize_t'.
46457
02bb8acc 46458 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46459
46460 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46461 to type `grub_ssize_t'.
46462 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46463
7f9a8531 464642006-09-22 Marco Gerards <marco@gnu.org>
46465
46466 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46467 newlines.
46468
b5ef1102 464692006-09-22 Marco Gerards <marco@gnu.org>
46470
46471 * commands/echo.c: New file.
46472
46473 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46474
46475 * conf/common.rmk (echo_mod_SOURCES): New variable.
46476 (echo_mod_CFLAGS): Likewise.
46477 (echo_mod_LDFLAGS): Likewise.
46478
2cff3677 464792006-09-22 Marco Gerards <marco@gnu.org>
46480
46481 * normal/main.c (get_line): Malloc memory instead of using
46482 preallocated memory. Removed the arguments `cmdline' and
46483 `max_len'. Updated all callers.
46484
6ba4688b 464852006-09-22 Marco Gerards <marco@gnu.org>
46486
46487 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46488 (normal_mod_DEPENDENCIES): Likewise.
46489
46490 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46491 (normal_mod_DEPENDENCIES): Likewise.
46492
46493 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46494
e02ac02c 464952006-09-22 Johan Rydberg <jrydberg@gnu.org>
46496
46497 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46498 programs.
46499 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46500 (normal_mod_DEPENDENCIES): Likewise.
46501 * conf/i386-pc.mk: Regenerate.
46502 * conf/i386-efi.mk: Likewise
46503 * conf/common.mk: Likewise.
46504 * conf/powerpc-ieee1275.mk: Likewise.
46505 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46506
8d252e44 465072006-09-22 Robert Millan <rmh@aybabtu.com>
46508
46509 Sync with i386 version.
46510 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46511 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46512
209bf7ac 465132006-09-21 Robert Millan <rmh@aybabtu.com>
46514
46515 Import from GRUB Legacy (lib/device.c):
46516 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46517 (init_device_map) [__linux__]: Add support for I2O devices.
46518
6b146090 465192006-09-14 Marco Gerards <marco@gnu.org>
46520
46521 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46522 `-melf_i386'.
46523
e38600a8 465242006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46525
46526 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46527 /boot/grub/*.lst.
78fa1790 46528
2952da5d 46529 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 46530
2952da5d 46531 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46532 before adding it to device.map.
46533
01b82a64 465342006-08-15 Johan Rydberg <jrydberg@gnu.org>
46535
fe6b695a 46536 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 46537 compiles a file; using the -MD option.
46538 * conf/common.mk: Regenerate.
46539 * conf/i386-pc.mk: Likewise.
46540 * conf/i386-efi.mk: Likewise.
46541 * conf/powerpc-ieee1275.mk: Likewise.
46542 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46543
1064790d 465442006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46545
46546 Move the prototypes of grub_setjmp and grub_longjmp to
46547 cpu/setjmp.h, so that each architecture may specify different
46548 attributes.
f19dbdb7 46549
1064790d 46550 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46551 (grub_longjmp): Likewise.
46552 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46553 (grub_longjmp): Likewise.
46554 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46555 (grub_longjmp): Likewise.
46556
46557 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46558 [!GRUB_UTIL] (grub_longjmp): Removed.
46559
29dda3ed 465602006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46561
46562 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46563 "color!" method does not return any value.
46564
ad2a06ed 465652006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46566
46567 * include/grub/bitmap.h: New file.
46568
46569 * include/grub/i386/pc/vbeutil.h: Likewise.
46570
46571 * video/bitmap.c: Likewise.
46572
46573 * video/readers/tga.c: Likewise.
46574
46575 * video/i386/pc/vbeutil.c: Likewise.
46576
46577 * commands/videotest.c: Code cleanup and updated to reflect to new
46578 video API.
46579
46580 * term/gfxterm.c: Likewise.
46581
46582 * video/video.c: Likewise.
46583
46584 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46585 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46586 (bitmap_mod_SOURCES): New entry.
46587 (bitmap_mod_CFLAGS): Likewise.
46588 (bitmap_mod_LDFLAGS): Likewise.
46589 (tga_mod_SOURCES): Likewise.
46590 (tga_mod_CFLAGS): Likewise.
46591 (tga_mod_LDFLAGS): Likewise.
46592
46593 * include/grub/video.h (grub_video_blit_operators): New enum type.
46594 (grub_video_render_target): Changed as forward declaration and moved
46595 actual definition to be video driver specific.
46596 (grub_video_adapter.blit_bitmap): Added blitting operator.
46597 (grub_video_adapter.blit_render_target): Likewise.
46598 (grub_video_blit_bitmap): Likewise.
46599 (grub_video_blit_render_target): Likewise.
46600
46601 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46602 driver specific render target definition.
46603 (grub_video_vbe_map_rgba): Added driver internal helper.
46604 (grub_video_vbe_unmap_color): Updated to use
46605 grub_video_i386_vbeblit_info.
46606 (grub_video_vbe_get_video_ptr): Likewise.
46607
46608 * include/grub/i386/pc/vbeblit.h
46609 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46610 grub_video_i386_vbeblit_info.
46611 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46612 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46613 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46614 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46615 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46616 (grub_video_i386_vbeblit_index_index): Likewise.
46617 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46618 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46619 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46620 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46621 operator.
46622 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46623 operator.
46624
46625 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46626 include/grub/i386/pc/vbeblit.h.
46627
46628 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46629 Updated to use grub_video_i386_vbeblit_info.
46630 (grub_video_i386_vbefill_R8G8B8): Likewise.
46631 (grub_video_i386_vbefill_index): Likewise.
46632 (grub_video_i386_vbefill): Added generic filler.
46633
46634 * video/i386/pc/vbefill.c: Updated to reflect changes on
46635 include/grub/i386/pc/vbefill.h.
46636
46637 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46638 grub_video_i386_vbeblit_info.
46639 (grub_video_vbe_unmap_color): Likewise.
46640 (grub_video_vbe_blit_glyph): Likewise.
46641 (grub_video_vbe_scroll): Likewise.
46642 (grub_video_vbe_draw_pixel): Removed function.
46643 (grub_video_vbe_get_pixel): Likewise.
46644 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46645 updated code to use it.
46646 (common_blitter): Added common blitter for render target and bitmap.
46647 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46648 (grub_video_vbe_blit_render_target): Likewise.
46649
bc8c036d 466502006-07-30 Johan Rydberg <jrydberg@gnu.org>
46651
46652 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46653 is in text mode if there is no console control protocol instance
46654 available.
46655
684a8eff 466562006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46657
46658 * include/grub/video.h: Code cleanup.
46659
46660 * include/grub/i386/pc/vbe.h: Likewise.
46661
46662 * video/i386/pc/vbe.c: Likewise.
46663
46664 * video/i386/pc/vbeblit.c: Likewise.
46665
46666 * video/i386/pc/vbefill.c: Likewise.
46667
46668 * video/video.c: Likewise. Also added more comments.
46669
5915059b 466702006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46671
46672 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46673 (struct grub_biosdisk_dap): Likewise.
46674
46675 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
46676 linkage settings for all functions.
46677
90ce5d56 466782006-07-12 Marco Gerards <marco@gnu.org>
46679
46680 * configure.ac (--enable-mm-debug): Fix typo.
46681
46682 * genkernsyms.sh.in: Use proper quoting for `CC'.
46683
43e7f879 466842006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
46685
46686 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
46687 (normal_mod_ASFLAGS): Remove "-m32".
46688
4889bdec 466892006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
46690
46691 * util/misc.c: Include config.h.
46692 [!HAVE_MEMALIGN]: Do not include malloc.h.
46693 (grub_memalign): Use posix_memalign, if present. Then, use
46694 memalign, if present. Otherwise, emit an error.
46695
46696 * util/grub-emu.c: Do not include malloc.h.
46697
46698 * include/grub/util/misc.h: Include unistd.h. This is required for
46699 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
46700 D. Eades III <hde@foobar-qux.org>.
46701
46702 * configure.ac (AC_GNU_SOURCE): Added.
46703 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
46704 type.
46705
fd39d4da 467062006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
46707
46708 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
46709 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
46710
b786f3b5 467112006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
46712
46713 * include/grub/types.h (grub_host_addr_t): Rename to
46714 grub_target_addr_t.
46715 (grub_host_off_t): Rename to grub_target_off_t.
46716 (grub_host_size_t): Rename to grub_target_size_t.
46717 (grub_host_ssize_t): Rename to grub_target_ssize_t.
46718 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
46719
46720 * include/grub/kernel.h (struct grub_module_header): Change type
46721 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
46722 (grub_module_info): Likewise.
f19dbdb7 46723
051988bb 467242006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46725
46726 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
46727 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
46728 Velazquez <jesus.velazquez@gmail.com>.
46729
deae281b 467302006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46731
46732 Count partitions from 1 instead of 0 in the string representation
46733 of partitions. Still use 0-based internally.
f19dbdb7 46734
deae281b 46735 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
46736 (sun_partition_map_iterate): Use grub_partition_t instead of
46737 struct grub_partition *. Cast DESC->START_CYLINDER to
46738 grub_uint64_t after converting the endian.
46739 (sun_partition_map_probe): Subtract 1 for PARTNUM.
46740 (sun_partition_map_get_name): Add 1 to P->INDEX.
46741
46742 * partmap/pc.c (grub_partition_parse): Subtract 1 for
46743 PCDATA->DOS_PART.
46744 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
46745
46746 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
46747 zero instead of one.
46748 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
46749 (gpt_partition_map_get_name): Add 1 into P->INDEX.
46750
46751 * partmap/apple.c (apple_partition_map_iterate): Change the type
46752 of POS to unsigned.
46753 (apple_partition_map_probe): Subtract 1 for PARTNUM.
46754 (apple_partition_map_get_name): Add 1 into P->INDEX.
46755
46756 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
46757 of POS to unsigned.
46758 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
46759 calculate the offset of a partition.
46760 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
46761 (amiga_partition_map_get_name): Add 1 into P->INDEX.
46762
46763 * partmap/acorn.c (acorn_partition_map_find): Change the type of
46764 SECTOR to grub_disk_addr_t.
46765 (acorn_partition_map_iterate): Likewise.
46766 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
46767 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
46768 top.
46769 (acorn_partition_map_get_name): Add 1 into P->INDEX.
46770
46771 * kern/i386/pc/init.c (make_install_device): Add 1 into
46772 GRUB_INSTALL_DOS_PART.
46773
46774 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
46775 conditional.
46776
524a1e6a 467772006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46778
46779 Clean up the code to support 64-bit addressing in disks and
46780 files. This change is not enough for filesystems yet.
f19dbdb7 46781
524a1e6a 46782 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
46783 type of "start" to grub_uint64_t.
46784 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
46785 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
46786 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
46787 convert addresses.
46788
46789 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
46790 to grub_disk_addr_t.
46791
46792 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
46793 string.
46794
46795 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46796
46797 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
46798 to char *.
46799
46800 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
46801
46802 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
46803
46804 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
46805
46806 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
46807 to grub_off_t, to detect an error from grub_file_seek.
46808 (grub_multiboot_load_elf32): Likewise.
46809
46810 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
46811 maximum unsigned long value when an overflow is detected.
46812 (grub_strtoull): New function.
46813 (grub_divmod64): Likewise.
46814 (grub_lltoa): use grub_divmod64.
46815
46816 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
46817 grub_disk_addr_t.
46818 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
46819 the pointer to next character. Use grub_strtoull instead of
46820 grub_strtoul.
46821 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
46822 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
46823 respectively.
46824
fe6b695a 46825 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 46826 return value is signed.
46827 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
46828 test if OFFSET is less than zero, as OFFSET is unsigned now.
46829
46830 * kern/disk.c (struct grub_disk_cache): Change the type of
46831 "sector" to grub_disk_addr_t.
46832 (grub_disk_cache_get_index): Change the type of SECTOR to
46833 grub_disk_addr_t. Calculate the hash with SECTOR casted to
46834 unsigned after shifting.
46835 (grub_disk_cache_invalidate): Change the type of SECTOR to
46836 grub_disk_addr_t.
46837 (grub_disk_cache_unlock): Likewise.
46838 (grub_disk_cache_store): Likewise.
46839 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
46840 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
46841 grub_disk_addr_t and grub_uint64_t, respectively.
46842 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
46843 body, as the value of OFFSET is tweaked by
46844 grub_disk_check_range. Change the types of START_SECTOR, LEN and
46845 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
46846 respectively.
46847 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
46848 body, as the value of OFFSET is tweaked by
46849 grub_disk_check_range. Change the types of LEN and N to
46850 grub_size_t.
46851
46852 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
46853 and "saved_offset" to grub_off_t.
46854 (test_header): Cast BUF to char *.
46855 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
46856 to char *.
46857 (grub_gzio_read): Change the types of OFFSET and SIZE to
46858 grub_off_t and grub_size_t, respectively.
46859
46860 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
46861 Removed.
46862 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
46863 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
46864 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
46865 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
46866 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
46867
46868 * include/grub/types.h (grub_off_t): Unconditionally set to
46869 grub_uint64_t.
46870 (grub_disk_addr_t): Changed to grub_uint64_t.
46871
46872 * include/grub/partition.h (struct grub_partition): Change the
46873 types of "start", "len" and "offset" to grub_disk_addr_t,
46874 grub_uint64_t and grub_disk_addr_t, respectively.
46875 (grub_partition_get_start): Return grub_disk_addr_t.
46876 (grub_partition_get_len): Return grub_uint64_t.
46877
46878 * include/grub/misc.h (grub_strtoull): New prototype.
46879 (grub_divmod64): Likewise.
46880
46881 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
46882 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
46883 grub_off_t, respectively.
46884 All callers and references changed.
46885
46886 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
46887 grub_size_t in "read".
46888 All callers and references changed.
46889
46890 * include/grub/file.h (struct grub_file): Change the types of
46891 "offset" and "size" to grub_off_t and grub_off_t,
46892 respectively. Change the type of SECTOR to grub_disk_addr_t in
46893 "read_hook".
46894 (grub_file_read): Change the type of LEN to grub_size_t.
46895 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
46896 grub_off_t.
46897 (grub_file_size): Return grub_off_t.
46898 (grub_file_tell): Likewise.
46899 All callers and references changed.
46900
46901 * include/grub/disk.h (struct grub_disk_dev): Change the types of
46902 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
46903 "write".
46904 (struct grub_disk): Change the type of "total_sectors" to
46905 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 46906 "read_hook".
524a1e6a 46907 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
46908 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
46909 (grub_disk_write): Likewise.
46910 All callers and references changed.
46911
46912 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
46913 char * for grub_strncmp to silence gcc.
46914 (grub_iso9660_mount): Likewise.
46915 (grub_iso9660_mount): Likewise.
46916 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
46917 return statement.
46918 (grub_iso9660_iterate_dir): Likewise.
46919 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
46920
46921 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
46922 LEN to grub_disk_addr_t and grub_size_t, respectively.
46923
46924 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46925
46926 * fs/jfs.c (grub_jfs_read_file): Likewise.
46927
46928 * fs/minix.c (grub_jfs_read_file): Likewise.
46929
46930 * fs/sfs.c (grub_jfs_read_file): Likewise.
46931
46932 * fs/ufs.c (grub_jfs_read_file): Likewise.
46933
46934 * fs/xfs.c (grub_jfs_read_file): Likewise.
46935
46936 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
46937 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
46938 respectively.
46939
46940 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
46941 BLKNR to -1 instead of returning GRUB_ERRNO.
46942 (grub_ext2_read_file): Change the types of SECTOR and
46943 LEN to grub_disk_addr_t and grub_size_t, respectively.
46944
46945 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
46946 LEN to grub_disk_addr_t and grub_size_t, respectively.
46947
46948 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
46949 grub_file_read.
46950
46951 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
46952 string. Do not cast SECTOR explicitly.
46953
46954 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
46955 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
46956 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
46957 grub_disk_addr_t and grub_size_t, respectively. If the sector is
46958 over 2TB and LBA mode is not supported, raise an error.
46959 (get_safe_sectors): New function.
46960 (grub_biosdisk_read): Use get_safe_sectors.
46961 (grub_biosdisk_write): Likewise.
46962
46963 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
46964 (grub_efidisk_write): Likewise.
46965
46966 * disk/loopback.c (delete_loopback): Cosmetic changes.
46967 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
46968 correctly.
46969 (grub_loopback_open): Likewise.
46970 (grub_loopback_read): Likewise. Also, change the type of POS to
46971 grub_off_t, and fix the usage of grub_memset.
46972
46973 * commands/i386/pc/play.c: Include grub/machine/time.h.
46974
46975 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
46976 print FILE->SIZE.
46977
46978 * commands/configfile.c: Include grub/env.h.
46979
46980 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
46981 GRUB_ERRNO directly instead. Change the type of POS to
46982 grub_off_t. Follow the coding standard.
46983
46984 * commands/blocklist.c: Include grub/partition.h.
46985 (grub_cmd_blocklist): Return an error if the underlying device is
46986 not a disk. Take the starting sector of a partition into account,
46987 if a partition is used.
46988
46989 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
46990 a length field.
46991 (lba_mode): Support 64-bit addresses.
46992 (chs_mode): Likewise.
46993 (copy_buffer): Adapted to the new offsets of a length field and a
46994 segment field.
46995 (blocklist_default_start): Allocate 64-bit space.
46996
46997 * boot/i386/pc/boot.S (force_lba): Removed.
46998 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 46999 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47000 space.
47001 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47002 is useless.
47003 (lba_mode): Refactored to support a 64-bit address. More size
47004 optimization.
47005 (setup_sectors): Likewise.
47006
53af98ad 470072006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47008
47009 * DISTLIST: Added include/grub/i386/linux.h. Removed
47010 include/grub/i386/pc/linux.h
47011
47012 * configure.ac (AC_INIT): Bumped to 1.94.
47013
47014 * config.guess: Updated from gnulib.
47015 * config.sub: Likewise.
47016 * install-sh: Likewise.
47017 * mkinstalldirs: Likewise.
47018
b4c1940a 470192006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47020
47021 * conf/common.rmk (grub_modules_init.lst): Depended on
47022 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47023 MODSRCFILES.
47024
47025 * genmk.rb (PModule::rule): Reverted the previous change.
47026
cfca1cfd 470272006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47028
47029 * conf/common.rmk (grub_modules_init.lst): Depends on
47030 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47031 that the target does not exist before producing.
47032 (grub_modules_init.h): Remove the target before generating.
47033 (grub_emu_init.c): Likewise.
47034
47035 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47036
aa6d7826 470372006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47038
47039 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47040 for the target-specific tests. Make sure that we also have the
47041 up-to-date target variables for those tests.
47042
26c607b9 470432006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47044
47045 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47046 (PModule::rule): Likewise.
47047
0162321a 470482006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47049
47050 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47051 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47052 target-specific flags should be prefixed.
47053 (PModule::rule): Likewise.
47054
6c826348 470552006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47056
47057 * configure.ac (CMP): Check if cmp is available explicitly.
47058
b977bf01 470592006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47060
47061 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47062 (target_cpu): New variable.
47063 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47064
b977bf01 47065 * util/i386/pc/grub-install.in (host_cpu): Removed.
47066 (target_cpu): New variable.
47067 (pkglibdir): Use target_cpu instead of host_cpu.
47068
47069 * util/genmoddep.c: Removed.
f19dbdb7 47070
b977bf01 47071 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47072 instead of GRUB_HOST_SIZEOF_VOID_P.
47073 * kern/dl.c: Likewise.
47074
47075 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47076 ...
47077 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47078 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47079 (GRUB_TARGET_SIZEOF_LONG): ... this.
47080 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47081 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47082 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47083 to ...
47084 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47085 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47086 (GRUB_TARGET_SIZEOF_LONG): ... this.
47087 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47088 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47089 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47090 to ...
47091 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47092 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47093 (GRUB_TARGET_SIZEOF_LONG): ... this.
47094 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47095 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47096
47097 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47098 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47099 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47100 instead of GRUB_HOST_SIZEOF_LONG.
47101 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47102 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47103 GRUB_CPU_WORDS_BIGENDIAN.
47104 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47105 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47106 grub_host_ssize_t.
47107
47108 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47109 (genmoddep_SOURCES): Likewise.
47110 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47111 (genmoddep_SOURCES): Likewise.
47112 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47113 (genmoddep_SOURCES): Likewise.
47114 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47115 Likewise.
47116 (genmoddep_SOURCES): Likewise.
47117
47118 * genmoddep.awk: New file.
47119
47120 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47121 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47122 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47123 (PModule::rule): Likewise.
47124 (Program::rule): Likewise.
47125 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47126 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47127 respectively.
47128
47129 * configure.ac: Rewritten intensively to use host and target
47130 instead of build and host, respectively.
47131
47132 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47133 (host_cpu): Removed.
47134 (target_cpu): New variable.
47135 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47136 (BUILD_CC): Removed.
47137 (BUILD_CFLAGS): Likewise.
47138 (BUILD_CPPFLAGS): Likewise.
47139 (TARGET_CC): New variable.
47140 (TARGET_CFLAGS): Likewise.
47141 (TARGET_CPPFLAGS): Likewise.
47142 (TARGET_LDFLAGS): Likewise.
47143 (AWK): Likewise.
47144 (include): Use target_cpu instead of host_cpu.
47145 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47146
b977bf01 47147 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47148
f09771a1 471492006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47150
47151 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47152 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47153 field 'false' to 'exec_on_false'.
47154 (grub_script_create_cmdif): Renamed argument names to reflect above
47155 changes.
47156
47157 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47158
47159 * normal/script.c (grub_script_create_cmdif): Likewise.
47160
118f4fb3 471612006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47162
47163 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47164 top.
47165 (grub_hfsplus_btree_recptr): Likewise.
47166 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47167 FILEBLOCK both to pass a block number and store next block
47168 number.
47169 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47170 overflow file correctly. Specify errors appropriately, because
47171 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47172 grub_hfsplus_btree_recptr to get the pointer to a found key.
47173 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47174 is found.
47175
47176 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47177 linux.mod.
47178 (_linux_mod_SOURCES): New variable.
47179 (_linux_mod_CFLAGS): Likewise.
47180 (_linux_mod_LDFLAGS): Likewise.
47181 (linux_mod_SOURCES): Likewise.
47182 (linux_mod_CFLAGS): Likewise.
47183 (linux_mod_LDFLAGS): Likewise.
47184
47185 * DISTLIST: Added loader/i386/efi/linux.c,
47186 loader/i386/efi/linux_normal.c and
47187 include/grub/i386/efi/loader.h.
47188
47189 * loader/i386/efi/linux.c: New file.
47190 * loader/i386/efi/linux_normal.c: Likewise.
47191 * include/grub/i386/efi/loader.h: Likewise.
47192
89a7d726 471932006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47194
47195 * commands/blocklist.c: New file.
47196
47197 * DISTLIST: Added commands/blocklist.c.
47198
47199 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47200 color for the background, and a darker color for the foreground.
89a7d726 47201 (grub_console_checkkey): Return READ_KEY.
47202 (grub_console_cls): Set the background to
47203 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47204
47205 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47206
47207 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47208 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47209
47210 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47211 prototype.
47212
47213 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47214 BG. The spec is wrong again.
47215
47216 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47217 prototype.
47218 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47219
47220 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47221 commands/blocklist.c.
47222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47223
89a7d726 47224 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47225 (blocklist_mod_SOURCES): New variable.
47226 (blocklist_mod_CFLAGS): Likewise.
47227 (blocklist_mod_LDFLAGS): Likewise.
47228
75c8f258 472292006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47230
47231 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47232 duplication.
47233 (lba_mode): Use %eax more intensively to reduce the code size.
47234
da2eb181 472352006-05-20 Marco Gerards <marco@gnu.org>
47236
47237 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47238
47239 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47240 for `menuentry'.
47241 (script): Accept leading newlines.
47242 (newlines): New rule to describe 0 or more newlines.
47243 (commands): Accept `command' with trailing newline. Fixed the
47244 order in which arguments were passed to `grub_script_add_cmd'.
47245 Accept commands separated by newlines.
47246 (function): Changed to accept newlines.
47247 (menuentry) Rewritten.
47248
47249 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47250 front of the list, instead of to the end.
47251
577b4050 472522006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47253
47254 * util/i386/pc/grub-install.in (bindir): New variable.
47255 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47256 Shaver <lbgwjl@gmail.com>.
47257
0d6e1189 472582006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47259
47260 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47261 grub/machine/linux.h
47262 * loader/i386/pc/linux.c: Likewise.
47263
47264 * include/grub/i386/pc/linux.h: Moved to ...
47265 * include/grub/i386/linux.h: ... here.
47266
47267 * include/grub/i386/linux.h (struct linux_kernel_params): New
47268 struct.
f19dbdb7 47269
31b86e9f 472702006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47271
47272 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47273 checking.
47274 (grub_video_vbe_blit_glyph): Likewise.
47275 (grub_video_vbe_blit_bitmap): Likewise.
47276 (grub_video_vbe_blit_render_target): Likewise.
47277
83b984de 472782006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47279
47280 * configure.ac (--with-platform): Properly quote the square
47281 brackets.
47282
5f0413bd 472832006-05-08 Marco Gerards <marco@gnu.org>
47284
47285 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47286 this...
47287 (kernel_elf_HEADERS): ...to this. Updated all users.
47288 (grubof_symlist.c): Renamed from this...
47289 (kernel_elf_symlist.c): ...to this. Updated all users.
47290 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47291 (grubof_SOURCES): Renamed from this...
47292 (kernel_elf_SOURCES): ...to this.
47293 (grubof_HEADERS): Renamed from this...
47294 (kernel_elf_HEADERS): ...to this.
47295 (grubof_CFLAGS): Renamed from this...
47296 (kernel_elf_CFLAGS): ...to this.
47297 (grubof_ASFLAGS): Renamed from this...
47298 (kernel_elf_ASFLAGS): ...to this.
47299 (grubof_LDFLAGS): Renamed from this...
47300 (kernel_elf_LDFLAGS): ...to this.
47301
47302 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47303 this...
47304 (kernel_elf_HEADERS): ...to this. Updated all users.
47305 (grubof_symlist.c): Renamed from this...
47306 (kernel_elf_symlist.c): ...to this. Updated all users.
47307 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47308 (grubof_SOURCES): Renamed from this...
47309 (kernel_elf_SOURCES): ...to this.
47310 (grubof_HEADERS): Renamed from this...
47311 (kernel_elf_HEADERS): ...to this.
47312 (grubof_CFLAGS): Renamed from this...
47313 (kernel_elf_CFLAGS): ...to this.
47314 (grubof_ASFLAGS): Renamed from this...
47315 (kernel_elf_ASFLAGS): ...to this.
47316 (grubof_LDFLAGS): Renamed from this...
47317 (kernel_elf_LDFLAGS): ...to this.
47318
47319 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47320 `kernel.elf' instead of `grubof'.
47321
05568c2e 473222006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47323
47324 Add --with-platform to configure. Use pkglibdir instead of
47325 pkgdatadir. This is reported by Roger Leigh.
47326
47327 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47328 (host_vendor): Likewise.
47329 (host_os): Likewise.
47330 (pkgdatadir): Likewise.
47331 (platform): New variable.
47332 (pkglibdir): Likewise.
47333 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47334
05568c2e 47335 * util/i386/pc/grub-install.in (datadir): Removed.
47336 (host_vendor): Likewise.
47337 (host_os): Likewise.
47338 (pkgdatadir): Likewise.
47339 (platform): New variable.
47340 (pkglibdir): Likewise.
47341 Use PKGLIBDIR instead of PKGDATADIR.
47342
47343 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47344 instead of GRUB_DATADIR.
47345 (main): Likewise.
47346 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47347 (main): Likewise.
47348 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47349 (main): Likewise.
47350
47351 * configure.ac (--with-platform): New option.
47352 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47353
47354 * Makefile.in: Include a makefile based on PLATFORM instead of
47355 HOST_VENDOR.
47356 (pkgdatadir): Not appended by the machine type.
47357 (pkglibdir): Appended by the machine type.
47358 (host_vendor): Removed.
47359 (platform): New variable.
47360 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47361 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47362 (uninstall): Likewise.
47363
4e93851c 473642006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47365
47366 Use the environment context in the menu. Remove the commands
47367 "default" and "timeout", and use variables instead.
f19dbdb7 47368
4e93851c 47369 * normal/menu.c: Include grub/env.h.
47370 (print_entry): Cast TITLE to silence gcc.
47371 (get_timeout): New function.
47372 (set_timeout): Likewise.
47373 (get_entry_number): Likewise.
47374 (run_menu): Use a default entry, a fallback entry and a timeout
47375 in the environment variables "default", "fallback" and
47376 "timeout". Also, tweak the default entry if it is not within the
47377 current menu entries.
47378 (grub_menu_run): Use a fallback entry in the environment variable
47379 "fallback".
47380
47381 * normal/main.c (read_config_file): Do not initialize
47382 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47383 NEWMENU->TIMEOUT.
47384 (grub_normal_execute): Use a data slot to store the menu.
47385
47386 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47387 fallback_entry and timeout.
47388 (struct grub_menu_list): Removed.
47389 (grub_menu_list_t): Likewise.
47390 (struct grub_context): Likewise.
47391 (grub_context_t): Likewise.
47392 (grub_context_get): Likewise.
47393 (grub_context_get_current_menu): Likewise.
47394 (grub_context_push_menu): Likewise.
47395 (grub_context_pop_menu): Likewise.
47396 (grub_default_init): Likewise.
47397 (grub_default_fini): Likewise.
47398 (grub_timeout_init): Likewise.
47399 (grub_timeout_fini): Likewise.
47400
47401 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47402 and timeout.mod.
47403 (normal_mod_SOURCES): Removed normal/context.c.
47404
47405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47406 commands/default.c, commands/timeout.c and normal/context.c.
47407 (normal_mod_SOURCES): Removed normal/context.c.
47408
47409 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47410 commands/timeout.c and normal/context.c.
47411 (normal_mod_SOURCES): Removed normal/context.c.
47412
47413 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47414 commands/default.c, commands/timeout.c and normal/context.c.
47415 (normal_mod_SOURCES): Removed normal/context.c.
47416
47417 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47418 timeout.mod.
47419 (default_mod_SOURCES): Removed.
47420 (default_mod_CFLAGS): Likewise.
47421 (default_mod_LDFLAGS): Likewise.
47422 (timeout_mod_SOURCES): Removed.
47423 (timeout_mod_CFLAGS): Likewise.
47424 (timeout_mod_LDFLAGS): Likewise.
47425
47426 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47427 normal/context.c.
47428
47429 * commands/default.c: Removed.
47430 * commands/timeout.c: Likewise.
47431 * normal/context.c: Likewise.
47432
1eb9cc1d 474332006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47434
47435 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47436
385bd9c1 474372006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47438
47439 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47440 "next" to "prev" for readability.
47441 (struct grub_env_sorted_var): New struct.
47442 (grub_env_context): Renamed to ...
47443 (initial_context): ... this.
47444 (grub_env_var_context): Renamed to ...
47445 (current_context): ... this.
47446 (grub_env_find): Look only at CURRENT_CONTEXT.
47447 (grub_env_context_open): Rewritten to copy exported variables from
47448 previous context.
47449 (grub_env_context_close): Rewritten according to the new
47450 scheme. Also, add an assertion to prevent the initial context from
47451 removed.
47452 (grub_env_insert): Removed the code for the sorted list.
47453 (grub_env_remove): Likewise.
47454 (grub_env_export): Simply mark the variable with
47455 GRUB_ENV_VAR_GLOBAL.
47456 (grub_env_set): A cosmetic change for naming consistency.
47457 (grub_env_get): Likewise.
47458 (grub_env_unset): Likewise.
47459 (grub_env_iterate): Rewritten to sort variables within this
47460 function.
47461 (grub_register_variable_hook): Fixed for naming consistency. Call
47462 grub_env_find again, only if NAME is not found at the first time.
47463 (mangle_data_slot_name): New function.
47464 (grub_env_set_data_slot): Likewise.
47465 (grub_env_get_data_slot): Likewise.
47466 (grub_env_unset_data_slot): Likewise.
47467
47468 * include/grub/env.h (grub_env_var_type): New enum.
47469 (GRUB_ENV_VAR_LOCAL): New constant.
47470 (GRUB_ENV_VAR_GLOBAL): Likewise.
47471 (GRUB_ENV_VAR_DATA): Likewise.
47472 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47473 "type".
47474 (grub_env_set): Replace VAR with NAME for consistency.
47475 (grub_register_variable_hook): Likewise.
47476 (grub_env_export): Specify the name of the argument.
47477 (grub_env_set_data_slot): New prototype.
47478 (grub_env_get_data_slot): Likewise.
47479 (grub_env_unset_data_slot): Likewise.
47480
7f362539 474812006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47482
47483 Extend the loader so that GRUB can accept a loader which comes
47484 back to GRUB when a loaded image exits. Also, this change adds
47485 support for a chainloader on EFI.
f19dbdb7 47486
7f362539 47487 * term/efi/console.c: Include grub/misc.h.
47488 (grub_console_checkkey): Display a scan code on the top for
47489 debugging. This will be removed once the EFI port gets stable.
47490 Correct the scan code mapping.
47491
47492 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47493 allocate memory from larger regions, in order to reduce the number
47494 of allocated regions. Otherwise, the MacOSX loader panics.
47495 (filter_memory_map): Avoid less than 1MB for compatibility with
47496 other loaders.
47497 (add_memory_regions): Allocate from the tail of a region, if
47498 possible, to avoid allocating a region near to 1MB, for the MacOSX
47499 loader.
47500
47501 * kern/efi/init.c (grub_efi_set_prefix): Specify
47502 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47503
47504 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47505 argument IMAGE_HANDLE and specify it to get a loaded image.
47506 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47507 grub_efi_get_loaded_image.
fe6b695a 47508 (grub_efi_get_filename): Divide the length by the size of
7f362539 47509 grub_efi_char16_t.
47510 (grub_efi_get_device_path): New function.
47511 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47512 the length by the size of grub_efi_char16_t for a file path device
47513 path node.
47514
47515 * kern/loader.c (grub_loader_noreturn): New variable.
47516 (grub_loader_set): Accept a new argument NORETURN. Set
47517 GRUB_LOADER_NORETURN to NORETURN.
47518 All callers changed.
47519 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47520 grub_machine_fini.
47521
47522 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47523 prototype.
47524 (grub_efi_get_loaded_image): Take an argument to specify an image
47525 handle.
47526
47527 * include/grub/loader.h (grub_loader_set): Added one more argument
47528 NORETURN.
47529
47530 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47531 instead of grub_efi_open_protocol.
47532 (grub_efidisk_get_device_name): Likewise.
47533 (grub_efidisk_close): Print a newline.
47534 (grub_efidisk_get_device_handle): Fixed to use
47535 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47536 GRUB_EFI_DEVICE_PATH_TYPE.
47537
47538 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47539 * kern/efi/efi.c (device_path_guid): ... here.
47540
47541 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47542 chain.mod.
47543 (kernel_mod_HEADERS): Added efi/disk.h.
47544 (_chain_mod_SOURCES): New variable.
47545 (_chain_mod_CFLAGS): Likewise.
47546 (_chain_mod_LDFLAGS): Likewise.
47547 (chain_mod_SOURCES): Likewise.
47548 (chain_mod_CFLAGS): Likewise.
47549 (chain_mod_LDFLAGS): Likewise.
47550
47551 * DISTLIST: Added include/grub/efi/chainloader.h,
47552 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47553
47554 * include/grub/efi/chainloader.h: New file.
47555 * loader/efi/chainloader.c: Likewise.
47556 * loader/efi/chainloader_normal.c: Likewise.
47557
c0111d6e 475582006-04-30 Marco Gerards <marco@gnu.org>
47559
47560 * commands/configfile.c (grub_cmd_source): New function.
47561 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47562 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47563
df5341da 475642006-04-30 Marco Gerards <marco@gnu.org>
47565
47566 * normal/execute.c (grub_script_execute_cmd): Change the return
47567 type to `grub_err_t'. Correctly return the error.
47568 (grub_script_execute_cmdline): In case a command line is not a
47569 command or a function, try to interpret it as an assignment.
47570
f85934bd 475712006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47572
47573 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47574 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47575 skip a node whose name is obviously invalid as UTF-16,
47576 i.e. contains a NUL character. Stop the iteration when the last
47577 directory entry is found. Instead of using the return value of
47578 grub_hfsplus_btree_iterate_node, store the value in RET and use
47579 it, because the iterator can be stopped by the last directory
47580 entry.
47581
8f8a2cf8 475822006-04-30 Marco Gerards <marco@gnu.org>
47583
47584 * include/grub/env.h (grub_env_export): New prototype. Reported
47585 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47586
a27e84ce 475872006-04-30 Marco Gerards <marco@gnu.org>
47588
47589 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47590 size of the extents in a catalog file record.
47591
eaef0553 475922006-04-29 Marco Gerards <marco@gnu.org>
47593
47594 * commands/configfile.c (grub_cmd_configfile): Execute the
47595 configfile within its own context.
47596
47597 * include/grub/env.h (grub_env_context_open): New prototype.
47598 (grub_env_context_close): Likewise.
47599
47600 * kern/env.c (grub_env): Removed.
47601 (grub_env_sorted): Likewise.
47602 (grub_env_context): New variable.
47603 (grub_env_var_context): Likewise.
47604 (grub_env_find): Search both the active context and the global
47605 context.
47606 (grub_env_context_open): New function.
47607 (grub_env_context_close): Likewise.
47608 (grub_env_insert): Likewise.
47609 (grub_env_remove): Likewise.
47610 (grub_env_export): Likewise.
47611 (grub_env_set): Changed to use helper functions to avoid code
47612 duplication.
47613 (grub_env_iterate): Rewritten so both the current context and the
47614 global context are being used.
47615
47616 * normal/command.c (export_command): New function.
47617 (grub_command_init): Register the `export' function.
47618
7b455f4d 476192006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47620
47621 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47622 explicitly to suppress gcc's warnings.
47623 * fs/fat.c (grub_fat_find_dir): Likewise.
47624 (grub_fat_label): Likewise.
47625 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47626 (grub_xfs_mount): Likewise.
47627 (grub_xfs_label): Likewise.
47628 * fs/affs.c (grub_affs_mount): Likewise.
47629 (grub_affs_label): Likewise.
47630 (grub_affs_iterate_dir): Likewise.
47631 * fs/sfs.c (grub_sfs_mount): Likewise.
47632 (grub_sfs_iterate_dir): Likewise.
47633 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47634 * fs/hfs.c (grub_hfs_mount): Likewise.
47635 (grub_hfs_cmp_catkeys): Likewise.
47636 (grub_hfs_find_dir): Likewise.
47637 (grub_hfs_dir): Likewise.
47638 (grub_hfs_label): Likewise.
47639 * fs/jfs.c (grub_jfs_mount): Likewise.
47640 (grub_jfs_opendir): Likewise.
47641 (grub_jfs_getent): Likewise.
47642 (grub_jfs_lookup_symlink): Likewise.
47643 (grub_jfs_label): Likewise.
47644 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47645 (grub_hfsplus_iterate_dir): Likewise.
47646 (grub_hfsplus_btree_iterate_node): Made static.
47647
47648 * util/grub-emu.c (prefix): New variable.
47649 (grub_machine_set_prefix): New function.
47650 (main): Do not set the environment variable "prefix" here. Only
47651 set PREFIX, which is used later by grub_machine_set_prefix.
47652
47653 * include/grub/video.h: Do not include grub/symbol.h.
47654 (grub_video_register): Not exported. This symbol is not defined in
47655 the kernel.
47656 (grub_video_unregister): Likewise.
47657 (grub_video_iterate): Likewise.
47658 (grub_video_setup): Likewise.
47659 (grub_video_restore): Likewise.
47660 (grub_video_get_info): Likewise.
47661 (grub_video_get_blit_format): Likewise.
47662 (grub_video_set_palette): Likewise.
47663 (grub_video_get_palette): Likewise.
47664 (grub_video_set_viewport): Likewise.
47665 (grub_video_get_viewport): Likewise.
47666 (grub_video_map_color): Likewise.
47667 (grub_video_map_rgb): Likewise.
47668 (grub_video_map_rgba): Likewise.
47669 (grub_video_fill_rect): Likewise.
47670 (grub_video_blit_glyph): Likewise.
47671 (grub_video_blit_bitmap): Likewise.
47672 (grub_video_blit_render_target): Likewise.
47673 (grub_video_scroll): Likewise.
47674 (grub_video_swap_buffers): Likewise.
47675 (grub_video_create_render_target): Likewise.
47676 (grub_video_delete_render_target): Likewise.
47677 (grub_video_set_active_render_target): Likewise.
47678
47679 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
47680 Undefined.
47681 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
47682
47683 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
47684 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47685 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47686 instead of $(srcdir)/genkernsyms.sh.
47687
47688 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
47689 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47690 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47691 instead of $(srcdir)/genkernsyms.sh.
47692
47693 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
47694 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47695 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47696 instead of $(srcdir)/genkernsyms.sh.
47697
47698 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
47699 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47700 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47701 instead of $(srcdir)/genkernsyms.sh.
47702
47703 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
47704 genkernsyms.sh.
47705
47706 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
47707 genkernsyms.sh.
47708 (gensymlist.sh): New target.
47709 (genkernsyms.sh): Likewise.
47710
47711 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
47712 genkernsyms.sh.in and gensymlist.sh.in.
47713
47714 * genkernsyms.sh: Removed.
47715 * gensymlist.sh: Likewise.
f19dbdb7 47716
7b455f4d 47717 * genkernsyms.sh.in: New file.
47718 * gensymlist.sh.in: Likewise.
47719
1885bb27 477202006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47721
47722 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
47723 clobber "prefix", since we may have already set it manually.
47724
71538dff 477252006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47726
47727 * kern/misc.c (abort): New alias for grub_abort.
47728
2965c7cc 477292006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
47730
47731 A new machine-specific function "grub_machine_set_prefix" is
47732 defined. This is called after loading modules, so that a prefix
47733 initialization can use modules. Also, this change adds an
47734 intensive debugging feature for the memory manager via the
47735 configure option "--enable-mm-debug".
f19dbdb7 47736
2965c7cc 47737 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
47738 PART.LEN.
47739
47740 * kern/sparc64/ieee1275/init.c (abort): Removed.
47741 (grub_stop): Likewise.
47742 (grub_exit): New function.
47743 (grub_set_prefix): Renamed to ...
47744 (grub_machine_set_prefix): ... this.
47745 (grub_machine_init): Do not call grub_set_prefix.
47746
47747 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
47748 (grub_machine_set_prefix): ... this.
47749 (grub_machine_init): Do not call grub_set_prefix.
47750
47751 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
47752 (grub_machine_init): Do not set the prefix here.
47753
47754 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
47755
47756 * kern/efi/init.c: Include grub/mm.h.
47757 (grub_efi_set_prefix): New function.
47758
47759 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
47760 (grub_efi_get_filename): New function.
47761 (grub_print_device_path): Renamed to ...
47762 (grub_efi_print_device_path): ... this.
47763
47764 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
47765 [MM_DEBUG] (grub_realloc): Likewise.
47766 [MM_DEBUG] (grub_free): Likewise.
47767 [MM_DEBUG] (grub_memalign): Likewise.
47768 [MM_DEBUG] (grub_mm_debug): New variable.
47769 [MM_DEBUG] (grub_debug_malloc): New function.
47770 [MM_DEBUG] (grub_debug_free): New function.
47771 [MM_DEBUG] (grub_debug_realloc): New function.
47772 [MM_DEBUG] (grub_debug_memalign): New function.
47773
47774 * kern/misc.c (grub_abort): Print a newline to distinguish
47775 the message.
47776
47777 * kern/main.c (grub_main): Call grub_machine_set_prefix and
47778 grub_set_root_dev after loading modules. This is necessary when
47779 setting a prefix depends on modules.
47780
47781 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
47782 (grub_efi_print_device_path): ... this.
47783 (grub_efi_get_filename): New prototype.
47784 (grub_efi_set_prefix): Likewise.
47785
47786 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
47787 and grub/disk.h.
47788 (grub_efidisk_get_device_handle): New prototype.
47789 (grub_efidisk_get_device_name): Likewise.
47790
47791 * include/grub/mm.h: Include config.h.
47792 (MM_DEBUG): Removed.
47793 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
47794 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
47795 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
47796 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
47797 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
47798 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
47799 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
47800 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
47801 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
47802
47803 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
47804
47805 * disk/efi/efidisk.c: Include grub/partition.h.
47806 (iterate_child_devices): New function.
47807 (add_device): First, compare only last device path nodes, so that
47808 devices are sorted by the types.
47809 (grub_efidisk_get_device_handle): New function.
47810 (grub_efidisk_get_device_name): Likewise.
47811
47812 * configure.ac (--enable-mm-debug): New option to enable the
47813 memory manager debugging feature. This makes the binary much
47814 bigger, so is disabled by default.
47815
9cacaa17 478162006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
47817
47818 Use grub_abort instead of grub_stop, and grub_exit must be
47819 define in each architecture now. Also, this change adds support
47820 for EFI disks.
f19dbdb7 47821
9cacaa17 47822 * util/i386/pc/grub-probefs.c: Include grub/term.h.
47823 (grub_getkey): New function.
47824 (grub_term_get_current): Likewise.
47825
47826 * util/i386/pc/grub-setup.c: Include grub/term.h.
47827 (grub_getkey): New function.
47828 (grub_term_get_current): Likewise.
47829
47830 * util/misc.c (grub_stop): Renamed to ...
47831 (grub_exit): ... this.
47832
47833 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
47834 (grub_exit): ... this.
47835 (grub_machine_init): Use grub_abort instead of abort.
47836 (grub_stop): Removed.
47837
47838 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
47839 abort.
47840
47841 * kern/i386/pc/startup.S (grub_exit): New function.
47842 (cold_reboot): New label.
47843
47844 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
47845 (grub_efi_init): Call grub_efidisk_init.
47846 (grub_efi_fini): Call grub_efidisk_fini.
47847
47848 * kern/efi/efi.c: Include grub/mm.h.
47849 (grub_efi_console_control_guid): Renamed to ...
47850 (console_control_guid): ... this.
47851 (grub_efi_loaded_image_guid): Renamed to ...
47852 (loaded_image_guid): ... this.
47853 (grub_efi_locate_handle): New function.
47854 (grub_efi_open_protocol): Likewise.
47855 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
47856 GRUB_EFI_CONSOLE_CONTROL_GUID.
47857 (grub_efi_exit): Removed.
47858 (grub_stop): Likewise.
47859 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
47860 (grub_exit): New function.
47861 (grub_print_device_path): Likewise.
47862
47863 * kern/rescue.c (grub_rescue_cmd_exit): New function.
47864 (grub_enter_rescue_mode): Register "exit".
47865
47866 * kern/misc.c (grub_real_dprintf): A cosmetic change.
47867 (grub_abort): New function.
47868
47869 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
47870
47871 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
47872
47873 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
47874
47875 * include/grub/efi/efi.h (grub_efi_exit): Removed.
47876 (grub_print_device_path): New prototype.
47877 (grub_efi_locate_handle): Likewise.
47878 (grub_efi_open_protocol): Likewise.
47879
47880 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
47881 * disk/efi/efidisk.c: Likewise.
47882
47883 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
47884
47885 * include/grub/efi/console_control.h
47886 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
47887
47888 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
47889 last 8 bytes as an array.
47890 (GRUB_EFI_DISK_IO_GUID): New macro.
47891 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
47892 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
47893 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
47894 grub_uint8_t.
47895 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
47896 (struct grub_efi_device_path): Rename the member "sub_type" to
47897 "subtype".
47898 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
47899 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
47900 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
47901 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
47902 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
47903 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
47904 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
47905 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
47906 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
47907 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
47908 (struct grub_efi_pci_device_path): New structure.
47909 (grub_efi_pci_device_path_t): New type.
47910 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
47911 (struct grub_efi_pccard_device_path): New structure.
47912 (grub_efi_pccard_device_path_t): New type.
47913 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
47914 (struct grub_efi_memory_mapped_device_path): New structure.
47915 (grub_efi_memory_mapped_device_path_t): New type.
47916 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
47917 (struct grub_efi_vendor_device_path): New structure.
47918 (grub_efi_vendor_device_path_t): New type.
47919 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
47920 (struct grub_efi_controller_device_path): New structure.
47921 (grub_efi_controller_device_path_t): New type.
47922 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
47923 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
47924 (struct grub_efi_acpi_device_path): New structure.
47925 (grub_efi_acpi_device_path_t): New type.
47926 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
47927 (struct grub_efi_expanded_acpi_device_path): New structure.
47928 (grub_efi_expanded_acpi_device_path_t): New type.
47929 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
47930 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
47931 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
47932 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
47933 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
47934 (struct grub_efi_atapi_device_path): New structure.
47935 (grub_efi_atapi_device_path_t): New type.
47936 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
47937 (struct grub_efi_fibre_channel_device_path): New structure.
47938 (grub_efi_fibre_channel_device_path_t): New type.
47939 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
47940 (struct grub_efi_1394_device_path): New structure.
47941 (grub_efi_1394_device_path_t): New type.
47942 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
47943 (struct grub_efi_usb_device_path): New structure.
47944 (grub_efi_usb_device_path_t): New type.
47945 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
47946 (struct grub_efi_usb_class_device_path): New structure.
47947 (grub_efi_usb_class_device_path_t): New type.
47948 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
47949 (struct grub_efi_i2o_device_path): New structure.
47950 (grub_efi_i2o_device_path_t): New type.
47951 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
47952 (struct grub_efi_mac_address_device_path): New structure.
47953 (grub_efi_mac_address_device_path_t): New type.
47954 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
47955 (struct grub_efi_ipv4_device_path): New structure.
47956 (grub_efi_ipv4_device_path_t): New type.
47957 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
47958 (struct grub_efi_ipv6_device_path): New structure.
47959 (grub_efi_ipv6_device_path_t): New type.
47960 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
47961 (struct grub_efi_infiniband_device_path): New structure.
47962 (grub_efi_infiniband_device_path_t): New type.
47963 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
47964 (struct grub_efi_uart_device_path): New structure.
47965 (grub_efi_uart_device_path_t): New type.
47966 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
47967 (struct grub_efi_vendor_messaging_device_path): New structure.
47968 (grub_efi_vendor_messaging_device_path_t): New type.
47969 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
47970 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
47971 (struct grub_efi_hard_drive_device_path): New structure.
47972 (grub_efi_hard_drive_device_path_t): New type.
47973 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
47974 (struct grub_efi_cdrom_device_path): New structure.
47975 (grub_efi_cdrom_device_path_t): New type.
47976 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
47977 (struct grub_efi_vendor_media_device_path): New structure.
47978 (grub_efi_vendor_media_device_path_t): New type.
47979 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
47980 (struct grub_efi_file_path_device_path): New structure.
47981 (grub_efi_file_path_device_path_t): New type.
47982 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
47983 (struct grub_efi_protocol_device_path): New structure.
47984 (grub_efi_protocol_device_path_t): New type.
47985 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
47986 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
47987 (struct grub_efi_bios_device_path): New structure.
47988 (grub_efi_bios_device_path_t): New type.
47989 (struct grub_efi_disk_io): New structure.
47990 (grub_efi_disk_io_t): New type.
47991 (struct grub_efi_block_io_media): New structure.
47992 (grub_efi_block_io_media_t): New type.
47993 (struct grub_efi_block_io): New structure.
47994 (grub_efi_block_io_t): New type.
47995
47996 * include/grub/misc.h (grub_stop): Removed.
47997 (grub_exit): New prototype.
47998 (grub_abort): Likewise.
47999
48000 * include/grub/disk.h (enum grub_disk_dev_id): Added
48001 GRUB_DISK_DEVICE_EFIDISK_ID.
48002
48003 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48004 disk/efi/efidisk.c.
48005 (kernel_syms.lst): Remove the target if an error occurs.
48006
49986a9f 480072006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48008
48009 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48010 as it was simply too buggy.
48011
970d3b8a 480122006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48013
48014 * kern/misc.c (grub_lltoa): New function.
48015 (grub_vsprintf): Added support for the long long suffix,
48016 i.e. "ll".
48017
ff04ec24 480182006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48019
48020 * Makefile.in (LDFLAGS): Add variable.
48021 (LD): Remove variable.
48022 * configure.ac: Add -m32 to LDFLAGS.
48023 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48024 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48025 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48026 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48027 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48028 variables.
48029 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48030 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48031 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48032
37e5e1a4 480332006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48034
48035 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48036 length for unknown glyph.
48037
c352d8dd 480382006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48039
2eab1c0d 48040 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48041
2eab1c0d 48042 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48043 completely. Accept one more argument DIR. The caller has changed.
48044
48045 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48046
48047 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48048 (grub_efi_loaded_image_guid): New variable.
48049 (grub_efi_get_loaded_image): New function.
48050 (grub_arch_modules_addr): Likewise.
48051
48052 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48053 prototype.
48054
48055 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48056 (struct grub_efi_loaded_image): New structure.
48057 (grub_efi_loaded_image_t): New type.
48058
480592006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48060
c352d8dd 48061 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48062 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48063 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48064
6d01d6b4 480652006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48066
48067 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48068
976a4ea0 480692006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48070
48071 * DISTLIST: Added include/grub/efi/console.h,
48072 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48073 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48074
48075 * include/grub/efi/console.h: New file.
48076 * include/grub/efi/time.h: Likewise.
48077 * include/grub/i386/efi/kernel.h: Likewise.
48078 * kern/efi/init.c: Likewise.
48079 * kern/efi/mm.c: Likewise.
48080 * term/efi/console.c: Likewise.
f19dbdb7 48081
976a4ea0 48082 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48083 (grub_stop): Removed.
48084 (grub_get_rtc): Likewise.
48085 (grub_machine_init): Simply call grub_efi_init.
48086 (grub_machine_fini): Call grub_efi_fini.
48087
48088 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48089 (grub_efi_output_string): Removed.
48090 (grub_efi_stall): New function.
48091 (grub_stop): Likewise.
48092 (grub_get_rtc): Likewise.
48093
48094 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48095 (grub_efi_stall): New prototype.
48096 (grub_efi_allocate_pages): Likewise.
48097 (grub_efi_free_pages): Likewise.
48098 (grub_efi_get_memory_map): Likewise.
48099 (grub_efi_mm_init): Likewise.
48100 (grub_efi_mm_fini): Likewise.
48101 (grub_efi_init): Likewise.
48102 (grub_efi_fini): Likewise.
48103
48104 * include/grub/i386/efi/time.h: Do not include
48105 grub/symbol.h. Include grub/efi/time.h.
48106 (GRUB_TICKS_PER_SECOND): Removed.
48107 (grub_get_rtc): Likewise.
48108
48109 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48110 Added padding. The EFI spec is buggy.
48111 (GRUB_EFI_BLACK): New macro.
48112 (GRUB_EFI_BLUE): Likewise.
48113 (GRUB_EFI_GREEN): Likewise.
48114 (GRUB_EFI_CYAN): Likewise.
48115 (GRUB_EFI_RED): Likewise.
48116 (GRUB_EFI_MAGENTA): Likewise.
48117 (GRUB_EFI_BROWN): Likewise.
48118 (GRUB_EFI_LIGHTGRAY): Likewise.
48119 (GRUB_EFI_BRIGHT): Likewise.
48120 (GRUB_EFI_DARKGRAY): Likewise.
48121 (GRUB_EFI_LIGHTBLUE): Likewise.
48122 (GRUB_EFI_LIGHTGREEN): Likewise.
48123 (GRUB_EFI_LIGHTCYAN): Likewise.
48124 (GRUB_EFI_LIGHTRED): Likewise.
48125 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48126 (GRUB_EFI_YELLOW): Likewise.
48127 (GRUB_EFI_WHITE): Likewise.
48128 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48129 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48130 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48131 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48132 (GRUB_EFI_BACKGROUND_RED): Likewise.
48133 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48134 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48135 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48136 (GRUB_EFI_TEXT_ATTR): Likewise.
48137
48138 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48139 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48140 (kernel_mod_HEADERS): Added efi/time.h.
48141
83709125 481422006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48143
48144 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48145 include/grub/efi/api.h, include/grub/efi/console_control.h,
48146 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48147 include/grub/i386/efi/time.h, kern/efi/efi.c,
48148 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48149 and util/i386/efi/grub-mkimage.c.
48150
48151 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48152
48153 * genmk.rb (PModule#rule): Do not export symbols if
48154 #{prefix}_EXPORTS is set to "no".
48155
48156 * conf/i386-efi.mk: New file.
48157 * conf/i386-efi.rmk: Likewise.
48158 * include/grub/efi/api.h: Likewise.
48159 * include/grub/efi/console_control.h: Likewise.
48160 * include/grub/efi/efi.h: Likewise.
48161 * include/grub/efi/pe32.h: Likewise.
48162 * include/grub/i386/efi/time.h: Likewise.
48163 * kern/efi/efi.c: Likewise.
48164 * kern/i386/efi/init.c: Likewise.
48165 * kern/i386/efi/startup.S: Likewise.
48166 * util/i386/efi/grub-mkimage.c: Likewise.
48167
481682006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48169
48170 * include/grub/script.h: Include <grub/parser.h> and
48171 "grub_script.tab.h".
48172 (struct grub_lexer_param): New struct.
48173 (struct grub_parser_param): Likewise.
48174 (grub_script_create_arglist): Pass the state in an argument.
48175 (grub_script_add_arglist): Likewise.
48176 (grub_script_create_cmdline): Likewise.
48177 (grub_script_create_cmdblock): Likewise.
48178 (grub_script_create_cmdif): Likewise.
48179 (grub_script_create_cmdmenu): Likewise.
48180 (grub_script_add_cmd): Likewise.
48181 (grub_script_arg_add): Likewise.
48182 (grub_script_lexer_ref): Likewise.
48183 (grub_script_lexer_deref): Likewise.
48184 (grub_script_lexer_record_start): Likewise.
48185 (grub_script_lexer_record_stop): Likewise.
48186 (grub_script_mem_record): Likewise.
48187 (grub_script_mem_record_stop): Likewise.
48188 (grub_script_malloc): Likewise.
48189 (grub_script_yylex): Likewise.
48190 (grub_script_yyparse): Likewise.
48191 (grub_script_yyerror): Likewise.
48192 (grub_script_yylex): Likewise.
48193 (grub_script_lexer_init): Return the state.
48194
48195 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48196 (grub_script_lexer_done): Likewise.
48197 (grub_script_lexer_getline): Likewise.
48198 (grub_script_lexer_refs): Likewise.
48199 (script): Likewise.
48200 (newscript): Likewise.
48201 (record): Likewise.
48202 (recording): Likewise.
48203 (recordpos): Likewise.
48204 (recordlen): Likewise.
48205 (grub_script_lexer_init): Return the state instead of setting
48206 global variables.
48207 (grub_script_lexer_ref): Use the newly added argument for state
48208 instead of globals.
48209 (grub_script_lexer_deref): Likewise.
48210 (grub_script_lexer_record_start): Likewise.
48211 (grub_script_lexer_record_stop): Likewise.
48212 (recordchar): Likewise.
48213 (nextchar): Likewise.
48214 (grub_script_yylex2): Likewise.
48215 (grub_script_yylex): Likewise.
48216 (grub_script_yyerror): Likewise.
48217
48218 * normal/parser.y (func_mem): Removed variable.
48219 (menu_entry): Likewise.
48220 (err): Likewise.
48221 (%lex-param): New parser option.
48222 (%parse-param): Likewise.
48223 (script): Always return the AST.
48224 (argument): Pass the state around.
48225 (arguments): Likewise.
48226 (grubcmd): Likewise.
48227 (commands): Likewise.
48228 (function): Likewise.
48229 (menuentry): Likewise.
48230 (if_statement): Likewise.
48231 (if): Likewise.
48232
48233 * normal/script.c (grub_script_memused): Removed variable.
48234 (grub_script_parsed): Likewise.
48235 (grub_script_malloc): Added a state argument. Use that instead of
48236 global variables.
48237 (grub_script_mem_record): Likewise.
48238 (grub_script_mem_record_stop): Likewise.
48239 (grub_script_arg_add): Likewise.
48240 (grub_script_add_arglist): Likewise.
48241 (grub_script_create_cmdline): Likewise.
48242 (grub_script_create_cmdif): Likewise.
48243 (grub_script_create_cmdmenu): Likewise.
48244 (grub_script_add_cmd): Likewise.
48245 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48246
e2a8c904 482472006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48248
48249 * normal/command.c (grub_command_init): Remove the title command.
48250
48251 * normal/lexer.c (grub_script_yylex): Renamed from this...
48252 (grub_script_yylex2): ... to this.
48253 (grub_script_yylex): New function. Temporary
48254 introduced to filter some tokens.
48255 (grub_script_yyerror): Print a newline.
48256
48257 * normal/main.c (read_config_file): Output information about the
48258 lines that contain errors. Wait for a key after all lines have
48259 been processed. Don't return an empty menu.
48260
48261 * normal/parser.y (func_mem): Don't initialize.
48262 (menu_entry): Likewise.
48263 (err): New variable.
48264 (script): Don't return anything when an error was encountered.
48265 (ws, returns): Removed rules.
48266 (argument): Disabled concatenated variable support.
48267 (arguments): Remove explicit separators.
48268 (grubcmd): Likewise.
48269 (function): Likewise.
48270 (menuentry): Likewise.
48271 (if): Likewise.
48272 (commands): Likewise. Add error handling.
48273
48274 * normal/script.c (grub_script_create_cmdline): If
48275 `grub_script_parsed' is 0, assume the parser encountered an error.
48276
c9a86192 482772006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48278
48279 * configure.ac: Add support for EFI. Fix the typo
48280 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48281
70f3b243 482822006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48283
48284 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48285 foreign multibyte characters should be shown correctly.
48286
65f201ad 482872006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48288
48289 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48290 calculation.
48291 (read_config_file): Made it to close file before returning.
48292
b4b93674 482932006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48294
48295 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48296 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48297 video/i386/pc/vbefill.c.
48298
48299 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48300 video/i386/pc/vbefill.c.
48301
48302 * include/grub/video.h (grub_video_blit_format): New enum.
48303 (grub_video_mode_info): Added new member blit_format.
48304 (grub_video_get_blit_format): New function prototype.
48305
48306 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48307 function prototype.
48308 (grub_video_vbe_map_rgb): Likewise.
48309 (grub_video_vbe_unmap_color): Likewise.
48310
48311 * include/grub/i386/pc/vbeblit.h: New file.
48312
48313 * include/grub/i386/pc/vbefill.h: New file.
48314
48315 * video/video.c (grub_video_get_blit_format): New function.
48316 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48317 (grub_video_vbe_map_rgb): Likewise.
48318 (grub_video_vbe_unmap_color): Likewise.
48319
48320 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48321 optimized fills.
48322 (grub_video_vbe_blit_render_target): Changed to use more optimized
48323 blits.
48324 (grub_video_vbe_setup): Added detection for optimized settings.
48325 (grub_video_vbe_create_render_target): Likewise.
48326
48327 * video/i386/pc/vbeblit.c: New file.
48328
48329 * video/i386/pc/vbefill.c: New file.
48330
c2379b9c 483312006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48332
48333 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48334 here...
48335
48336 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48337 parsing to support both hex and dec ranges. If filename was missing
48338 show usage information.
48339
bd0d7896 483402006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48341
48342 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48343 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48344
48345 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48346 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48347 (video_mod_SOURCES): Added.
48348 (video_mod_CFLAGS): Likewise.
48349 (video_mod_LDFLAGS): Likewise.
48350 (gfxterm_mod_SOURCES): Likewise.
48351 (gfxterm_mod_CFLAGS): Likewise.
48352 (gfxterm_mod_LDFLAGS): Likewise.
48353 (videotest_mod_SOURCES): Likewise.
48354 (videotest_mod_CFLAGS): Likewise.
48355 (videotest_mod_LDFLAGS): Likewise.
48356 (vesafb_mod_SOURCES): Removed.
48357 (vesafb_mod_CFLAGS): Likewise.
48358 (vesafb_mod_LDFLAGS): Likewise.
48359 (vga_mod_SOURCES): Likewise.
48360 (vga_mod_CFLAGS): Likewise.
48361 (vga_mod_LDFLAGS): Likewise.
48362
48363 * commands/videotest.c: New file.
48364
48365 * font/manager.c (fill_with_default_glyph): Modified to use
48366 grub_font_glyph.
48367 (grub_font_get_glyph): Likewise.
48368 (fontmanager): Renamed from this...
48369 (font_manager): ... to this.
48370
48371 * include/grub/font.h (grub_font_glyph): Added new structure.
48372 (grub_font_get_glyph): Modified to use grub_font_glyph.
48373
48374 * include/grub/misc.h (grub_abs): Added as inline function.
48375
48376 * include/grub/video.h: New file.
48377
48378 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48379 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48380 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48381 (grub_vbe_get_controller_info): Renamed from this...
48382 (grub_vbe_bios_get_controller_info): ... to this.
48383 (grub_vbe_get_mode_info): Renamed from this...
48384 (grub_vbe_bios_get_mode_info): ... to this.
48385 (grub_vbe_set_mode): Renamed from this...
48386 (grub_vbe_bios_set_mode): ... to this.
48387 (grub_vbe_get_mode): Renamed from this...
48388 (grub_vbe_bios_get_mode): ... to this.
48389 (grub_vbe_set_memory_window): Renamed from this...
48390 (grub_vbe_bios_set_memory_window): ... to this.
48391 (grub_vbe_get_memory_window): Renamed from this...
48392 (grub_vbe_bios_get_memory_window): ... to this.
48393 (grub_vbe_set_scanline_length): Renamed from this...
48394 (grub_vbe_set_scanline_length): ... to this.
48395 (grub_vbe_get_scanline_length): Renamed from this...
48396 (grub_vbe_bios_get_scanline_length): ... to this.
48397 (grub_vbe_set_display_start): Renamed from this...
48398 (grub_vbe_bios_set_display_start): ... to this.
48399 (grub_vbe_get_display_start): Renamed from this...
48400 (grub_vbe_bios_get_display_start): ... to this.
48401 (grub_vbe_set_palette_data): Renamed from this...
48402 (grub_vbe_bios_set_palette_data): ... to this.
48403 (grub_vbe_set_pixel_rgb): Removed.
48404 (grub_vbe_set_pixel_index): Likewise.
48405
48406 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48407 from this...
48408 (grub_vbe_bios_get_controller_info): ... to this.
48409 (grub_vbe_get_mode_info): Renamed from this...
48410 (grub_vbe_bios_get_mode_info): ... to this.
48411 (grub_vbe_set_mode): Renamed from this...
48412 (grub_vbe_bios_set_mode): ... to this.
48413 (grub_vbe_get_mode): Renamed from this...
48414 (grub_vbe_bios_get_mode): ... to this.
48415 (grub_vbe_set_memory_window): Renamed from this...
48416 (grub_vbe_bios_set_memory_window): ... to this.
48417 (grub_vbe_get_memory_window): Renamed from this...
48418 (grub_vbe_bios_get_memory_window): ... to this.
48419 (grub_vbe_set_scanline_length): Renamed from this...
48420 (grub_vbe_set_scanline_length): ... to this.
48421 (grub_vbe_get_scanline_length): Renamed from this...
48422 (grub_vbe_bios_get_scanline_length): ... to this.
48423 (grub_vbe_set_display_start): Renamed from this...
48424 (grub_vbe_bios_set_display_start): ... to this.
48425 (grub_vbe_get_display_start): Renamed from this...
48426 (grub_vbe_bios_get_display_start): ... to this.
48427 (grub_vbe_set_palette_data): Renamed from this...
48428 (grub_vbe_bios_set_palette_data): ... to this.
48429 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48430 getting corrupted after calling it. Added more pushes and pops.
48431 (grub_vbe_bios_set_mode): Likewise.
48432 (grub_vbe_bios_get_mode): Likewise.
48433 (grub_vbe_bios_get_memory_window): Likewise.
48434 (grub_vbe_bios_set_scanline_length): Likewise.
48435 (grub_vbe_bios_get_scanline_length): Likewise.
48436 (grub_vbe_bios_get_display_start): Likewise.
48437 (grub_vbe_bios_set_palette_data): Likewise.
48438
48439 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48440 (cl_insert): Likewise.
48441 (cl_delete): Likewise.
48442
48443 * term/gfxterm.c: New file.
48444
48445 * term/i386/pc/vesafb.c: Removed file.
48446
48447 * video/video.c: New file.
48448
48449 * video/i386/pc/vbe.c (real2pm): Added new function.
48450 (grub_video_vbe_draw_pixel): Likewise.
48451 (grub_video_vbe_get_video_ptr): Likewise.
48452 (grub_video_vbe_get_pixel): Likewise
48453 (grub_video_vbe_init): Likewise.
48454 (grub_video_vbe_fini): Likewise.
48455 (grub_video_vbe_setup): Likewise.
48456 (grub_video_vbe_get_info): Likewise.
48457 (grub_video_vbe_set_palette): Likewise.
48458 (grub_video_vbe_get_palette): Likewise.
48459 (grub_video_vbe_set_viewport): Likewise.
48460 (grub_video_vbe_get_viewport): Likewise.
48461 (grub_video_vbe_map_color): Likewise.
48462 (grub_video_vbe_map_rgb): Likewise.
48463 (grub_video_vbe_map_rgba): Likewise.
48464 (grub_video_vbe_unmap_color): Likewise.
48465 (grub_video_vbe_fill_rect): Likewise.
48466 (grub_video_vbe_blit_glyph): Likewise.
48467 (grub_video_vbe_blit_bitmap): Likewise.
48468 (grub_video_vbe_blit_render_target): Likewise.
48469 (grub_video_vbe_scroll): Likewise.
48470 (grub_video_vbe_swap_buffers): Likewise.
48471 (grub_video_vbe_create_render_target): Likewise.
48472 (grub_video_vbe_delete_render_target): Likewise.
48473 (grub_video_vbe_set_active_render_target): Likewise.
48474 (grub_vbe_set_pixel_rgb): Remove function.
48475 (grub_vbe_set_pixel_index): Likewise.
48476 (index_color_mode): Remove static variable.
48477 (active_mode): Likewise.
48478 (framebuffer): Likewise.
48479 (bytes_per_scan_line): Likewise.
48480 (grub_video_vbe_adapter): Added new static variable.
48481 (framebuffer): Likewise.
48482 (render_target): Likewise.
48483 (initial_mode): Likewise.
48484 (mode_in_use): Likewise.
48485 (mode_list): Likewise.
48486
5f97350b 484872006-03-10 Marco Gerards <marco@gnu.org>
48488
48489 * configure.ac (AC_INIT): Bumped to 1.93.
48490
48491 * DISTLIST: Added `include/grub/hfs.h'.
48492
a3c5c6f8 484932006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48494
48495 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48496 18H, which might help the BIOS falling back to next boot media.
48497
6de53d26 484982006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48499
48500 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48501 Poe Chen <poe.poechen@gmail.com>.
48502
77c4a393 485032006-01-17 Marco Gerards <marco@gnu.org>
48504
48505 * include/grub/normal.h: Include <grub/script.h>.
48506 (grub_command_list): Removed struct.
48507 (grub_command_list_t): Removed type.
48508 (grub_menu_entry): Remove members `num' and `command_list'. Add
48509 members `commands' and `sourcecode'.
48510 * include/grub/script.h: Add inclusion guards.
48511 (grub_script_cmd_menuentry): New struct.
48512 (grub_script_execute_menuentry): New prototype.
48513 (grub_script_lexer_record_start): Likewise.
48514 (grub_script_lexer_record_stop): Likewise.
48515 * normal/execute.c (grub_script_execute_menuentry): New function.
48516 * normal/lexer.c (record, recording, recordpos, recordlen): New
48517 variables.
48518 (grub_script_lexer_record_start): New function.
48519 (grub_script_lexer_record_stop): Likewise.
48520 (recordchar): Likewise.
48521 (nextchar): Likewise.
48522 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48523 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48524 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48525 (current_menu): New variable.
48526 (free_menu): Mainly rewritten.
48527 (grub_normal_menu_addentry): New function.
48528 (read_config_file): Rewritten.
48529 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 48530 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 48531 the menu entry.
48532 (run): Mainly rewritten.
48533 * normal/parser.y (menu_entry): New variable.
48534 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48535 (menuentry): New rule.
48536 (command): Add `menuentry'.
48537 (if_statement): Allow additional returns before `fi'.
48538 * normal/script.c (grub_script_create_cmdmenu): New function.
48539
144f1f98 485402006-01-03 Marco Gerards <marco@gnu.org>
48541
48542 * INSTALL: GNU Bison is required.
48543 * configure.ac: Rewritten the test to detect Bison.
48544 * Makefile.in (YACC): New variable. Reported by Xun Sun
48545 <xun.sun.cn@gmail.com>.
48546
af4b2d89 485472006-01-03 Marco Gerards <marco@gnu.org>
48548
48549 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48550 the HFS+ filesystem to filesystem blocks.
48551 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48552 GCC warning is silenced.
48553
15643b71 485542006-01-03 Marco Gerards <marco@gnu.org>
48555
48556 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48557 read from disk from big endian to host byte order.
48558
00905879 485592006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48560
48561 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48562 documentation.
48563 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48564 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48565 embedded HFS+ filesystem.
48566 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48567 (grub_hfs_sblock): Move from here...
48568 * include/grub/hfs.h: To here... New file.
48569 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48570 documentation.
48571 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48572 New macros.
48573 (grub_hfsplus_volheader): Change type of member `magic' to
48574 `grub_uint16_t'.
48575 (grub_hfsplus_data): Add new member `embedded_offset'.
48576 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48577 returned block.
48578 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48579 Calculate the offset.
48580
8899bc3e 485812005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48582
48583 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48584 Removed.
48585 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48586
ae8c0277 485872005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48588
48589 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48590 ENV->NAME is NULL after allocating ENV->VALUE.
48591
07084456 485922005-12-25 Marco Gerards <marco@gnu.org>
48593
48594 * kern/env.c (grub_env_set): Rewritten the error handling code.
48595
4750f5f1 485962005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48597
48598 * geninit.sh: Made more robust, and more portable.
48599
50214199 486002005-12-25 Marco Gerards <marco@gnu.org>
48601
48602 Add support for Apple HFS+ filesystems.
f19dbdb7 48603
50214199 48604 * fs/hfsplus.c: New file.
48605
48606 * DISTLIST: Added `fs/hfsplus.c'.
48607
48608 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48609 (hfsplus_mod_SOURCES): New variable.
48610 (hfsplus_mod_CFLAGS): Likewise.
48611 (hfsplus_mod_LDFLAGS): Likewise.
48612 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48613 (grub_setup_SOURCES): Likewise.
48614 (grub_mkdevicemap_SOURCES): Likewise.
48615 (grub_emu_SOURCES): Likewise.
48616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48617
48618 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48619
48620 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48621
befaed6c 486222005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48623
48624 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48625 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48626 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48627 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48628 normal/lexer.c, normal/parser.y, normal/script.c, and
48629 partmap/gpt.c.
48630 Removed kern/sparc64/cache.c.
48631
48632 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48633 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48634 grub_emu_init.c.
48635
48636 * configure.ac (AC_INIT): Bumped to 1.92.
48637
6a124103 486382005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48639
48640 * kern/err.c (grub_error_push): Added new function to support error
48641 stacks.
48642 (grub_error_pop): Likewise.
48643 (grub_error_stack_items): New local variable to support error stacks.
48644 (grub_error_stack_pos): Likewise.
48645 (grub_error_stack_assert): Likewise.
48646 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48647 stack depth.
48648 (grub_print_error): Added support to print errors from error stack.
48649
48650 * include/grub/err.h (grub_error_push): Added function prototype.
48651 (grub_error_pop): Likewise.
48652
be973c1b 486532005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48654
48655 * configure.ac: Accept `powerpc64' as host_cpu.
48656 (amd64): Rename to `biarch32'.
48657
48658 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48659 non-cacheline-aligned addresses.
48660
48661 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48662 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48663 if `size' is non-zero.
48664
b04216ab 486652005-12-03 Marco Gerards <mgerards@xs4all.nl>
48666
48667 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48668 and `cd' to make sure the filename is not prefixed with a
48669 directory name.
48670 (pkgdata_MODULES): Add `gpt.mod'.
48671 (gpt_mod_SOURCES): New variable.
48672 (gpt_mod_CFLAGS): Likewise.
48673 (gpt_mod_LDFLAGS): Likewise.
48674
48675 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
48676
48677 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
48678 New macro.
48679
48680 * partmap/gpt.c: New file.
48681
48682 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
48683 GPT partition map is detected.
48684
41730ed9 486852005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
48686
48687 * commands/i386/pc/play.c: New file.
48688 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
48689 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
48690 macros.
f19dbdb7 48691
95dc3643 486922005-11-27 Marco Gerards <mgerards@xs4all.nl>
48693
48694 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
48695 ((unused))' to silence gcc warning.
48696
1569ec51 486972005-11-26 Hollis Blanchard <hollis@penguinppc.org>
48698
48699 * configure.ac: Correct `AC_PROG_YACC' test.
48700
9abde152 487012005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48702
48703 * util/powerpc/ieee1275/grub-install.in: Run the mount point
48704 check before installing files.
48705
44b83271 487062005-11-22 Mike Small <smallm@panix.com>
48707
48708 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
48709 number regex so multidigit numbers are recognized correctly.
48710
487112005-11-22 Mike Small <smallm@panix.com>
48712
48713 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
48714 debugging message before attempting to claim memory.
48715 (grub_rescue_cmd_initrd): Add a claim debugging message and try
48716 multiple addresses in case of failure.
48717
9c12956b 487182005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48719
48720 * term/tparm.c (get_space): Remove empty `if' statement.
48721
48722 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
48723
48724 * kern/parser.c (check_varstate): Rename `state' to 's'.
48725
aeaf81d9 487262005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48727
48728 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
48729 variable definitions to the beginning of each function. Sort stack
48730 variables by size.
48731 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
48732 `buf' argument to `char *'.
48733
79bbb63f 487342005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48735
48736 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
48737 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48738 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 48739 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48740 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48741 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48742 configfile.mod, search.mod, gzio.mod and test.mod.
48743 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48744 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48745 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48746 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48747 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48748 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48749 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48750 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48751 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48752 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48753 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48754 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48755 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48756 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48757 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48758 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48759 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48760 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48761 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48762 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48763 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48764 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48765 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
48766
48767 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
48768 `grep --include'.
48769 (pkgdata_MODULES): Add test.mod.
48770
233b1628 487712005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48772
48773 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
48774 appending to variables with "+=".
48775 (PModule): Use full pathname to generate *.lst filenames.
48776
48777 * Makefile.in: Fixed list rules moved from genmk.rb.
48778 (.DELETE_ON_ERROR): New special target.
48779 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
48780
48781 * conf/i386-pc.rmk: Include conf/common.mk.
48782 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48783 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 48784 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48785 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48786 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48787 configfile.mod, search.mod, gzio.mod and test.mod.
48788 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48789 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48790 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48791 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48792 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48793 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48794 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48795 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48796 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48797 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48798 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48799 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48800 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48801 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48802 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48803 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48804 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48805 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48806 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48807 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48808 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48809 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48810 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
48811 here...
48812 * conf/common.rmk: ... to here. New file.
48813
48814 * conf/common.mk: New file.
48815
16f820c8 488162005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
48817
48818 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
48819 (grub_script.tab.c): ... here.
48820
48821 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
48822 (grub_script.tab.c): ... here.
48823
48824 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
48825 (grub_script.tab.c): ... here.
48826
48827 * normal/command.c (grub_command_find): Fixed a memory leak of
48828 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
48829
63ba1554 488302005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48831
48832 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
48833 "@" which marks the start of a comment on ARM.
48834 (VARIABLE): Likewise.
48835
7f67dc13 488362005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48837
79bbb63f 48838 Add support for Linux/ADFS partition tables.
7f67dc13 48839
48840 * partmap/acorn.c: New file.
48841
48842 * include/grub/acorn_filecore.h: Likewise.
48843
48844 * DISTLIST: Added `partmap/acorn.c' and
48845 `include/grub/acorn_filecore.h'.
f19dbdb7 48846
7f67dc13 48847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48848 `partmap/acorn.c'.
48849 (pkgdata_MODULES): Add `acorn.mod'.
48850 (acorn_mod_SOURCES): New variable.
48851 (acorn_mod_CFLAGS): Likewise.
48852
48853 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
48854 `partmap/acorn.c'.
48855 (pkgdata_MODULES): Add `acorn.mod'.
48856 (acorn_mod_SOURCES): New variable.
48857 (acorn_mod_CFLAGS): Likewise.
48858
48859 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
48860 (pkgdata_MODULES): Add `acorn.mod'.
48861 (acorn_mod_SOURCES): New variable.
48862 (acorn_mod_CFLAGS): Likewise.
48863 (acorn_mod_LDFLAGS): Likewise.
48864
48865 * include/types.h (grub_disk_addr_t): New typedef.
48866
6d099807 488672005-11-13 Marco Gerards <mgerards@xs4all.nl>
48868
48869 * geninit.sh: New file.
48870
48871 * geninitheader.sh: Likewise.
48872
48873 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
48874 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
48875 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
48876 * commands/configfile.c (grub_configfile_init)
48877 (grub_configfile_fini): Likewise.
48878 * commands/default.c (grub_default_init, grub_default_fini):
48879 Likewise.
48880 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
48881 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
48882 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
48883 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
48884 Likewise.
48885 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
48886 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
48887 Likewise.
48888 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 48889 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 48890 Likewise.
48891 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
48892 Likewise.
fe6b695a 48893 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 48894 Likewise.
48895 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
48896 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
48897 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
48898 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
48899 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
48900 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
48901 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
48902 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
48903 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
48904 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
48905 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
48906 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
48907 * partmap/amiga.c (grub_amiga_partition_map_init)
48908 (grub_amiga_partition_map_fini): Likewise.
48909 * partmap/apple.c (grub_apple_partition_map_init)
48910 (grub_apple_partition_map_fini): Likewise.
48911 * partmap/pc.c (grub_pc_partition_map_init)
48912 (grub_pc_partition_map_fini): Likewise.
48913 * partmap/sun.c (grub_sun_partition_map_init,
48914 grub_sun_partition_map_fini): Likewise.
48915 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
48916 Likewise.
48917
48918 * util/grub-emu.c: Include <grub_modules_init.h>.
48919 (main): Don't initialize and de-initialize any modules directly,
48920 use `grub_init_all' and `grub_fini_all' instead.
48921
48922 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
48923 `grub_vesafb_mod_init'.
48924 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
48925 all users.
48926 * term/i386/pc/vga.c (grub_vga_init): Renamed to
48927 `grub_vga_mod_init'. Updated all users.
48928 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 48929
6d099807 48930 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
48931 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
48932 rules.
48933
48934 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
48935 Generate a function to initialize the module in utilities.
48936 Updated all callers.
48937 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
48938 initialize the module in utilities. Updated all callers.
48939
9046bcf0 489402005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48941
48942 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
48943 escape sequence and a literal ^L to clear the screen.
48944
48945 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
48946 when returning from Open Firmware.
48947
d13ea639 489482005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48949
48950 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
48951 (grub_ofconsole_height): Likewise.
48952 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
48953 manually insert a '\n'.
48954 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
48955 `grub_ofconsole_height'. Return early if these are already set.
48956
a8fcf206 489572005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
48958
48959 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
48960 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
48961 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
48962 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
48963 and `normal/script.c'.
48964 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48965 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48966 (test_mod_SOURCES): New variable.
48967 (test_mod_CFLAGS): Likewise.
48968 (test_mod_LDFLAGS): Likewise.
48969 (pkgdata_MODULES): Add `test.mod'.
48970 (grub_script.tab.c): New rule.
48971 (grub_script.tab.h): Likewise.
48972
b6b32745 489732005-11-07 Marco Gerards <mgerards@xs4all.nl>
48974
48975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48976 `commands/test.c', `normal/execute.c', `normal/lexer.c',
48977 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48978 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48979 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48980 (test_mod_SOURCES): New variable.
48981 (test_mod_CFLAGS): Likewise.
48982 (pkgdata_MODULES): Add `test.mod'.
48983 (grub_script.tab.c): New rule.
48984 (grub_script.tab.h): Likewise.
48985
daac212a 489862005-11-06 Marco Gerards <mgerards@xs4all.nl>
48987
48988 Add initial scripting support.
48989
48990 * commands/test.c: New file.
48991 * include/grub/script.h: Likewise.
48992 * normal/execute.c: Likewise.
48993 * normal/function.c: Likewise.
48994 * normal/lexer.c: Likewise.
48995 * normal/parser.y: Likewise.
48996 * normal/script.c: Likewise.
48997
48998 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 48999
daac212a 49000 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49001 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49002 `normal/function.c' and `normal/script.c'.
49003 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49004 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49005 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49006 variables.
daac212a 49007 (pkgdata_MODULES): Add `test.mod'.
49008 (grub_script.tab.c): New rule.
49009 (grub_script.tab.h): Likewise.
49010
49011 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49012
49013 * include/grub/normal.h (grub_test_init): New prototype.
49014 (grub_test_fini): Likewise.
f19dbdb7 49015
daac212a 49016 * normal/command.c: Include <grub/script.h>.
49017 (grub_command_execute): Rewritten.
f19dbdb7 49018
daac212a 49019 * util/grub-emu.c (main): Call `grub_test_init' and
49020 `grub_test_fini'.
49021
77500b2b 490222005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49023
49024 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49025 to 0.
49026 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49027 there are no pending characters.
49028
e45deb9e 490292005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49030
49031 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49032 `grub_strndup' to drop device arguments. Replace unnecessary
49033 `grub_strndup' with `grub_strdup'.
49034
4ce32619 490352005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49036
49037 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49038 `debug' environment variable has been set.
49039
490402005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49041
4ce32619 49042 * Makefile.in (install-local): Use $(DATA).
49043 (uninstall): Likewise.
49044 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49045 (sbin_UTILITIES): ... to here.
49046 (sbin_SCRIPTS): New variable.
49047 (grub_install_SOURCES): New variable.
49048 * util/powerpc/ieee1275/grub-install.in: New file.
49049 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49050 variable.
49051 (add_segments): Call `grub_util_get_path'.
49052
25fe6f03 490532005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49054
49055 From Timothy Baldwin:
49056 * commands/ls.c (grub_ls_list_files): Close FILE with
49057 grub_file_close.
49058 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49059
04ccf3ec 490602005-10-24 Marco Gerards <mgerards@xs4all.nl>
49061
49062 * include/grub/parser.h: New file.
49063
49064 * kern/parser.c: Likewise.
49065
49066 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49067 (grub_setup_SOURCES): Likewise.
49068 (grub_probefs_SOURCES): Likewise.
49069 (grub_emu_SOURCES): Likewise.
49070 (kernel_img_HEADERS): Add `parser.h'.
49071
49072 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49073 (grub_emu_SOURCES): Add `kern/parser.c'.
49074 (grubof_SOURCES): Likewise.
49075
49076 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49077 (grubof_SOURCES): Add `kern/parser.c'.
49078
49079 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49080
49081 * kern/misc.c (grub_split_cmdline): Removed function.
49082
49083 * kern/rescue.c: Include <grub/parser.h>.
49084 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49085 of `grub_split_cmdline'.
49086
49087 * normal/command.c: Include <grub/parser.h>.
49088 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49089 of `grub_split_cmdline'.
49090
49091 * normal/completion.c: Include <grub/parser.h>.
49092 (cmdline_state): New variable.
49093 (iterate_dir): End the filename with a quote depending on the
49094 command line state.
49095 (get_state): new function.
49096 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49097 split the arguments and determine the current argument. When the
49098 argument string is not quoted, escape all spaces.
49099
6d8f4b0e 491002005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49101
49102 * normal/sparc64/setjmp.S: New file.
49103
15cf03ed 491042005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49105
49106 * include/grub/sparc64/libgcc.h: New file.
49107 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49108 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49109 normal/sparc64/setjmp.c.
49110
03e8661a 491112005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49112
49113 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49114 * kern/sparc64/cache.S: New file.
49115 * kern/sparc64/cache.c: Removed.
49116 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49117 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49118 -mtune=ultrasparc.
49119 (COMMON_LDFLAGS): Add -melf64_sparc.
49120 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49121 (grubof_SOURCES): Use cache.S instead of cache.c.
49122 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49123 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49124 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49125 commented though.
49126 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49127 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49128 (linux_mod_CFLAGS): Commented out.
49129 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49130 out because module isn't built.
49131 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49132 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49133 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49134 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49135 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49136 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49137 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49138 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49139 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49140 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49141 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49142 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49143 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49144 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49145
34eeec8a 491462005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49147
49148 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49149 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49150 longer, because HFS should not be used on PC.
49151
708367a3 491522005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49153
49154 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49155 consistently within the loop.
49156
6fa1251a 491572005-10-15 Marco Gerards <mgerards@xs4all.nl>
49158
49159 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49160 directory can not be read.
49161
4801580b 491622005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49163
49164 * configure.ac (AC_INIT): Increase the version number to 1.91.
49165
49166 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49167 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49168 term/i386/pc/serial.c.
49169
219ad426 491702005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49171
49172 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49173 file size must be permitted.
49174
49175 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49176 between %ah and %al.
49177
688e5699 491782005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49179
49180 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49181 grub_uint64_t.
49182 Call the hook with a NUL-terminated filename.
49183 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49184 grub_cpu_to_be32.
49185
49186 * kern/term.c (cursor_state): New variable.
49187 (grub_term_set_current): Reset the cursor state on a new
49188 terminal.
49189 (grub_setcursor): Rewritten to use CURSOR_STATE.
49190 (grub_getcursor): New function.
49191
49192 * include/grub/term.h (grub_getcursor): New prototype.
49193
49194 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49195 integers on ARM. Reported by Timothy Baldwin
49196 <T.E.Baldwin99@members.leeds.ac.uk>.
49197
bb34586c 491982005-10-11 Marco Gerards <mgerards@xs4all.nl>
49199
49200 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49201 allocated.
49202 (grub_sfs_dir): Likewise.
49203
9a909877 492042005-10-09 Marco Gerards <mgerards@xs4all.nl>
49205
49206 Add support for the SFS filesystem.
49207
49208 * fs/sfs.c: New file.
49209
49210 * DISTLIST: Added `fs/sfs.c'.
49211
49212 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49213 (grub_probefs_SOURCES): Likewise.
49214 (grub_emu_SOURCES): Likewise.
49215 (pkgdata_MODULES): Add `sfs.mod'.
49216 (sfs_mod_SOURCES): New variable.
49217 (sfs_mod_CFLAGS): Likewise.
49218 (sfs_mod_LDFLAGS): Likewise.
49219
49220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49221 (pkgdata_MODULES): Add `sfs.mod'.
49222 (sfs_mod_SOURCES): New variable.
49223 (sfs_mod_CFLAGS): Likewise.
49224
49225 * util/grub-emu.c (main): Call `grub_sfs_init' and
49226 `grub_sfs_fini'.
49227
49228 * include/grub/fs.h (grub_sfs_init): New prototype.
49229 (grub_sfs_fini): Likewise.
49230
57bdbde3 492312005-10-07 Marco Gerards <mgerards@xs4all.nl>
49232
49233 Add support for the AFFS filesystem.
49234
49235 * fs/affs.c: New file.
49236
49237 * DISTLIST: Added `fs/affs.c'.
49238
49239 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49240 (grub_probefs_SOURCES): Likewise.
49241 (grub_emu_SOURCES): Likewise.
49242 (pkgdata_MODULES): Add `affs.mod'.
49243 (affs_mod_SOURCES): New variable.
49244 (affs_mod_CFLAGS): Likewise.
49245 (affs_mod_LDFLAGS): Likewise.
49246
49247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49248 (pkgdata_MODULES): Add `affs.mod'.
49249 (affs_mod_SOURCES): New variable.
49250 (affs_mod_CFLAGS): Likewise.
49251
49252 * util/grub-emu.c (main): Call `grub_affs_init' and
49253 `grub_affs_fini'.
49254
49255 * include/grub/fs.h (grub_affs_init): New prototype.
49256 (grub_affs_fini): Likewise.
49257
047b67e0 492582005-10-01 Marco Gerards <mgerards@xs4all.nl>
49259
49260 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49261
59b8208a 492622005-10-01 Marco Gerards <mgerards@xs4all.nl>
49263
49264 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49265 `-m32' to CFLAGS.
49266
49267 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49268 linking.
f19dbdb7 49269
59b8208a 49270 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49271 (COMMON_LDFLAGS): New variable.
49272 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49273 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49274 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49275 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49276 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49277 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49278 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49279 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49280 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49281 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49282 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49283 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49284 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49285 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49286 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49287 variables.
49288 (normal_mod_ASFLAGS): Add `-m32'.
49289
49290 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49291 (grub_host_size_t, grub_host_ssize_t): New types.
49292 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49293 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49294 `GRUB_HOST_SIZEOF_VOID_P'.
49295
49296 * include/grub/kernel.h (struct grub_module_header): Type of
49297 member offset changed to `grub_host_off_t'. Type of member size
49298 changed to `grub_host_size_t'.
49299 (struct grub_module_info): Type of member offset changed to
49300 `grub_host_off_t'. Type of member size changed to
49301 `grub_host_size_t'.
49302
b4093103 493032005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49304
49305 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49306
b4093103 49307 * kern/i386/pc/startup.S (multiboot_header): New label.
49308 (multiboot_entry): Likewise.
49309 (multiboot_trampoline): Likewise.
49310
49311 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49312 Increased to 0x4A0.
49313
49314 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49315 put parentheses after a question mark.
49316 [!GRUB_UTIL] (my_mod): New variable.
49317
49318 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49319
b2499b29 493202005-09-28 Marco Gerards <mgerards@xs4all.nl>
49321
49322 Adds support for the XFS filesystem. Btrees are not supported
49323 yet.
49324
49325 * fs/xfs.c: New file.
49326
49327 * DISTLIST: Added `fs/xfs.c'.
49328
49329 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49330 (grub_probefs_SOURCES): Likewise.
49331 (grub_emu_SOURCES): Likewise.
49332 (pkgdata_MODULES): Add `xfs.mod'.
49333 (xfs_mod_SOURCES): New variable.
49334 (xfs_mod_CFLAGS): Likewise.
49335
49336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49337 (pkgdata_MODULES): Add `xfs.mod'.
49338 (xfs_mod_SOURCES): New variable.
49339 (xfs_mod_CFLAGS): Likewise.
49340
49341 * util/grub-emu.c (main): Call `grub_xfs_init' and
49342 `grub_xfs_fini'.
49343
49344 * include/grub/fs.h (grub_xfs_init): New prototype.
49345 (grub_xfs_fini): Likewise.
49346
f19dbdb7 49347
83d37a62 493482005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49349
49350 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49351 color modes, allow greater than 16 colors to be configured as
49352 a default palette.
49353
47d2d65e 493542005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49355
49356 * normal/completion.c (complete_arguments): Add the qualifier
49357 const into OPTIONS.
49358
49359 From Omniflux <omniflux+lists@omniflux.com>:
49360 * include/grub/terminfo.h: New file.
49361 * include/grub/tparm.h: Likewise.
49362 * include/grub/i386/pc/serial.h: Likewise.
49363 * term/terminfo.c: Likewise.
49364 * term/tparm.c: Likewise.
49365 * term/i386/pc/serial.c: Likewise.
49366 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49367 serial.mod.
49368 (terminfo_mod_SOURCES): New variable.
49369 (terminfo_mod_CFLAGS): Likewise.
49370 (serial_mod_SOURCES): Likewise.
49371 (serial_mod_CFLAGS): Likewise.
49372
48b671ff 493732005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49374
49375 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49376 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49377 and kern/powerpc/ieee1275/cmain.c, respectively.
49378
49379 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49380 * kern/powerpc/ieee1275/crt0.S: ... here.
49381
49382 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49383 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49384
48b671ff 49385 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49386 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49387 instead of boot/powerpc/ieee1275/crt0.S and
49388 boot/powerpc/ieee1275/cmain.c, respectively.
49389
49390 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49391 sectors. It was not used anyway.
49392
09fc77a7 493932005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49394
49395 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49396 `unused parameter' warning.
49397
003789c7 493982005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49399
49400 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49401 function.
49402 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49403 getcharwidth.
49404
67f44c86 494052005-08-28 Marco Gerards <metgerards@student.han.nl>
49406
49407 * include/grub/normal.h (enum grub_completion_type): Added
49408 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49409
49410 * normal/cmdline.c (print_completion): Handle
49411 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49412 * normal/menu_entry.c (store_completion): Likewise.
49413
49414 * normal/completion.c (complete_arguments): New function.
49415 (grub_normal_do_completion): Call `complete_arguments' when the
49416 current words start with a dash.
49417
0b5abe02 494182005-08-27 Marco Gerards <metgerards@student.han.nl>
49419
49420 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49421 `gzio.mod' instead of `io.mod').
49422
d9864ee1 494232005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49424
49425 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49426 (DISTDIRS): Added io and video.
49427 Rewrite the search routine to make an output consistently.
49428
49429 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49430 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49431 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49432 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49433 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49434 util/powerpc/ieee1275/misc.c.
f19dbdb7 49435
d9864ee1 49436 * include/grub/gzio.h: New file.
49437 * io/gzio.c: Likewise.
f19dbdb7 49438
d9864ee1 49439 * kern/file.c (grub_file_close): Call grub_device_close only if
49440 FILE->DEVICE is not NULL.
49441
49442 * include/grub/mm.h [!NULL] (NULL): New macro.
49443
49444 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49445
49446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49447 (pkgdata_MODULES): Added gzio.mod.
49448 (gzio_mod_SOURCES): New variable.
49449 (gzio_mod_CFLAGS): Likewise.
49450
49451 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49452 (pkgdata_MODULES): Added gzio.mod.
49453 (gzio_mod_SOURCES): New variable.
49454 (gzio_mod_CFLAGS): Likewise.
49455
49456 * commands/cat.c: Include grub/gzio.h.
49457 (grub_cmd_cat): Use grub_gzfile_open instead of
49458 grub_file_open.
f19dbdb7 49459
d9864ee1 49460 * commands/cmp.c: Include grub/gzio.h.
49461 (grub_cmd_cmp): Use grub_gzfile_open instead of
49462 grub_file_open.
49463
49464 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49465 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49466 grub_file_open.
49467 (grub_rescue_cmd_module): Likewise.
49468
fa46f4b5 494692005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49470
49471 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49472 kern/sparc64/ieee1275/init.c because it contains _start.
49473 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49474
e9211b5d 494752005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49476
49477 * configure.ac: Add support for sparc64 host with ieee1275
49478 firmware.
49479 * configure: Generated from configure.ac.
49480 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49481 instead of int.
49482 (grub_ofdisk_read): Likewise.
49483 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49484 pointers as (void *) to remove a warning.
49485 (grub_ofdisk_close): Likewise.
49486 (grub_ofdisk_read): Likewise.
49487 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49488 returns, so make it return void to remove a warning.
49489 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49490 Corresponding prototype change.
49491 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49492 values, and cast the pointers as (void *) to remove a warning.
49493 (grub_mm_dump): Likewise.
49494 * conf/sparc64-ieee1275.mk: New file.
49495 * conf/sparc64-ieee1275.rmk: Likewise.
49496 * include/grub/sparc64/setjmp.h: Likewise.
49497 * include/grub/sparc64/types.h: Likewise.
49498 * include/grub/sparc64/ieee1275/console.h: Likewise.
49499 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49500 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49501 * include/grub/sparc64/ieee1275/time.h: Likewise.
49502 * kern/sparc64/cache.c: Likewise.
49503 * kern/sparc64/dl.c: Likewise.
49504 * kern/sparc64/ieee1275/init.c: Likewise.
49505 * kern/sparc64/ieee1275/openfw.c: Likewise.
49506
385c6a92 495072005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49508
49509 * util/console.c (grub_ncurses_putchar): If C is greater than
49510 0x7f, set C to a question mark.
49511 (grub_ncurses_getcharwidth): New function.
49512 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49513 getcharwidth.
49514
49515 * normal/menu.c (print_entry): Made aware of Unicode. First,
49516 convert TITLE to UCS-4, and predict the cursor position by
49517 grub_getcharwidth.
49518
49519 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49520 const to SRC.
49521 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49522
16ccb8b1 495232005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49524
49525 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49526 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49527 grub_strcat.
49528
49529 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49530 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49531 grub_strcpy and grub_strlen. Take it into account that a space
49532 character is inserted as a delimiter.
49533
6a85ce79 495342005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49535
49536 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 49537 invalid magic in the error.
6a85ce79 49538
49539 * commands/search.c: New file.
f19dbdb7 49540
6a85ce79 49541 * util/grub-emu.c (main): Call grub_search_init and
49542 grub_search_fini.
49543
49544 * kern/rescue.c (grub_rescue_print_disks): Removed.
49545 (grub_rescue_print_devices): New function.
49546 (grub_rescue_cmd_ls): Use grub_device_iterate with
49547 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49548 grub_rescue_print_disks.
49549
49550 * kern/partition.c (grub_partition_iterate): Return the result of
49551 PARTMAP->ITERATE instead of GRUB_ERRNO.
49552
49553 * kern/device.c: Include grub/partition.h.
49554 (grub_device_iterate): New function.
49555
49556 * include/grub/partition.h (grub_partition_iterate): Return int
49557 instead of grub_err_t.
49558
49559 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49560 prototype.
49561 [GRUB_UTIL] (grub_search_fini): Likewise.
49562
49563 * include/grub/device.h (grub_device_iterate): New prototype.
49564
49565 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49566 commands/search.c.
49567 (pkgdata_MODULES): Added search.mod.
49568 (search_mod_SOURCES): New variable.
49569 (search_mod_CFLAGS): Likewise.
49570
49571 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49572 (pkgdata_MODULES): Added search.mod.
49573 (search_mod_SOURCES): New variable.
49574 (search_mod_CFLAGS): Likewise.
49575
49576 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49577 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49578 All callers changed.
49579
49580 * DISTLIST: Added commands/search.c.
49581
ef095434 495822005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49583
49584 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49585 conversion.
49586 (grub_getcharwidth): New function.
49587
49588 * kern/misc.c (grub_utf8_to_ucs4): New function.
49589
49590 * include/grub/term.h (struct grub_term): Added a new member
49591 "getcharwidth".
49592 (grub_getcharwidth): New prototype.
49593
49594 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49595
49596 * term/i386/pc/console.c (map_char): New function. Segregated from
49597 grub_console_putchar.
49598 (grub_console_putchar): Use map_char.
49599 (grub_console_getcharwidth): New function.
49600 (grub_console_term): Specified grub_console_getcharwidth as
49601 getcharwidth.
49602
49603 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49604 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49605
49606 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49607 GRUB_ERRNO.
49608 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49609 on grub_strtoul completely.
49610 (write_char): Declare local variables in the beginning of the
49611 function.
49612 (grub_vesafb_getcharwidth): New function.
49613 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49614 getcharwidth.
49615
1f0a95e4 496162005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49617
49618 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49619 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49620 commands/i386/pc/vbetest.c.
49621
49622 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49623 call grub_vbe_get_controller_info again, because the returned
49624 information is volatile.
49625 (grub_vbe_set_video_mode): Mostly rewritten.
49626 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49627 grub_vbe_status_t correctly.
49628 (grub_vbe_get_video_mode_info): Likewise.
49629 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49630 several if statements.
49631
49632 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49633 * commands/i386/pc/vbeinfo.c: ... this.
49634
49635 * commands/i386/pc/vbe_test.c: Renamed to ...
49636 * commands/i386/pc/vbetest.c: ... this.
49637
49638 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49639 ...
49640 (grub_cmd_vbeinfo): ... this. Save video modes before
49641 iterating. Skip a video mode, if it is not available, not enough
49642 information is given or it is monochrome. Show the memory
49643 model. Leave the interpretation of MODEVAR to grub_strtoul
49644 completely.
49645 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49646 (GRUB_MOD_FINI): Likewise.
49647
49648 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49649 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49650 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49651 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49652 grub_strtoul completely.
49653 (real2pm): Removed.
49654 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49655 (GRUB_MOD_FINI): Likewise.
49656
49657 * normal/misc.c: Include grub/mm.h.
49658
49659 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49660 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49661 (vbe_list_modes_mod_SOURCES): Removed.
49662 (vbe_list_modes_mod_CFLAGS): Likewise.
49663 (vbe_test_mod_SOURCES): Likewise.
49664 (vbe_test_mod_CFLAGS): Likewise.
49665 (vbeinfo_mod_SOURCES): New variable.
49666 (vbeinfo_mod_CFLAGS): Likewise.
49667 (vbetest_mod_SOURCES): Likewise.
49668 (vbetest_mod_CFLAGS): Likewise.
49669
992ffbbe 496702005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49671
49672 * normal/misc.c: New file.
49673
49674 * DISTLIST: Added normal/misc.c.
f19dbdb7 49675
992ffbbe 49676 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
49677 DISK to HOOK. Call HOOK with DISK.
49678 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49679 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49680 * partmap/sun.c (sun_partition_map_iterate): Likewise.
49681
49682 * normal/menu_entry.c (struct screen): Added a new member
49683 "completion_shown".
49684 (completion_buffer): New global variable.
49685 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
49686 (store_completion): New function.
49687 (complete): Likewise.
49688 (clear_completions): Likewise.
49689 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
49690 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
49691 a tab, call complete.
49692
49693 * normal/completion.c (disk_dev): Removed.
49694 (print_simple_completion): Likewise.
49695 (print_partition_completion): Likewise.
49696 (print_func): New global variable.
49697 (add_completion): Do not take the arguments WHAT or PRINT any
49698 longer. Added a new argument TYPE. Instead of printing directly,
49699 call PRINT_FUNC if not NULL.
49700 All callers changed.
49701 (complete_device): Use a local variable DEV instead of
49702 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
49703 (grub_normal_do_completion): Take a new argument HOOK. Do not
49704 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
49705 empty string, return NULL instead.
49706 All callers changed.
49707
49708 * normal/cmdline.c (print_completion): New function.
49709
49710 * kern/partition.c (grub_partition_iterate): Add an argument DISK
49711 to HOOK.
49712 All callers changed.
49713
49714 * kern/disk.c (grub_print_partinfo): Removed.
49715
49716 * include/grub/partition.h (struct grub_partition_map): Add a new
49717 argument DISK into HOOK of ITERATE.
49718 (grub_partition_iterate): Add a new argument DISK to HOOK.
49719
49720 * include/grub/normal.h (enum grub_completion_type): New enum.
49721 (grub_completion_type_t): New type.
49722 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
49723 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
49724 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
49725 (GRUB_COMPLETION_TYPE_FILE): Likewise.
49726 (grub_normal_do_completion): Added a new argument HOOK.
49727 (grub_normal_print_device_info): New prototype.
49728
49729 * include/grub/disk.h (grub_print_partinfo): Removed.
49730
49731 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
49732 (normal_mod_SOURCES): Likewise.
49733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49734 (normal_mod_SOURCES): Likewise.
49735
49736 * commands/ls.c (grub_ls_list_disks): Use
49737 grub_normal_print_device_info instead of grub_print_partinfo. Free
49738 PNAME.
49739 (grub_ls_list_files): Use grub_normal_print_device_info instead of
49740 duplicating the code.
49741
0bd41162 497422005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49743
49744 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 49745 follow GCS more precisely.
49746 * commands/i386/pc/vbe_test.c: Likewise.
49747 * include/grub/i386/pc/vbe.h: Likewise.
49748 * term/i386/pc/vesafb.c: Likewise.
49749 * video/i386/pc/vbe.c: Likewise.
0bd41162 49750
6323696a 497512005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49752
49753 * DISTLIST: Added term/i386/pc/vesafb.c
49754 DISTLIST: Added video/i386/pc/vbe.c
49755 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
49756 DISTLIST: Added commands/i386/pc/vbe_test.c.
49757 * commands/i386/pc/vbe_list_modes.c: New file.
49758 * commands/i386/pc/vbe_test.c: Likewise.
49759 * term/i386/pc/vesafb.c: Likewise.
49760 * video/i386/pc/vbe.c: Likewise.
49761 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
49762 (grub_vbe_probe) Added prototype.
49763 (grub_vbe_set_video_mode) Likewise.
49764 (grub_vbe_get_video_mode) Likewise.
49765 (grub_vbe_get_video_mode_info) Likewise.
49766 (grub_vbe_set_pixel_rgb) Likewise.
49767 (grub_vbe_set_pixel_index) Likewise.
49768 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
49769 (pkgdata_MODULES): Added vesafb.mod.
49770 (pkgdata_MODULES): Added vbe_list_modes.mod.
49771 (pkgdata_MODULES): Added vbe_test.mod.
49772 (vbe_mod_SOURCES): Added.
49773 (vbe_mod_CFLAGS): Likewise.
49774 (vesafb_mod_SOURCES): Likewise.
49775 (vesafb_mod_CFLAGS): Likewise.
49776 (vbe_list_modes_mod_SOURCES): Likewise.
49777 (vbe_list_modes_mod_CFLAGS): Likewise.
49778 (vbe_test_mod_SOURCES): Likewise.
49779 (vbe_test_mod_CFLAGS): Likewise.
49780
0a74e62f 497812005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
49782
0a74e62f 49783 * normal/command.c (grub_command_execute): If INTERACTIVE is
49784 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
49785 CMDLINE. Disable the pager if INTERACTIVE is true.
49786 All callers are changed.
49787
49788 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
49789 before reading a config file.
49790 * normal/main.c (read_config_file): Even if a command is not
49791 found, register it if it is within an entry.
49792
49793 * util/grub-emu.c: Include sys/types.h and unistd.h.
49794 (options): Added --hold.
49795 (struct arguments): Added a new member "hold".
49796 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
49797 missing.
49798 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
49799 cleared by a debugger, if it is not zero.
49800
49801 * include/grub/normal.h (grub_command_execute): Add an argument
49802 INTERACTIVE.
49803
e51f85ae 498042005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
49805
49806 * DISTLIST: Added include/grub/i386/pc/vbe.h.
49807
e9c6f39b 498082005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
49809
49810 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
49811 program with another one, because the old one didn't detect a bug
49812 in gcc-3.4. Always use regparm 2, because the new test is still
49813 not enough for gcc-4.0. Someone must investigate a simple test
49814 case which detects a bug in gcc-4.0.
49815
8de3495c 498162005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
49817
49818 * DISTLIST: Added normal/completion.c.
49819
49820 * normal/completion.c: New file.
f19dbdb7 49821
8de3495c 49822 * term/i386/pc/console.c (grub_console_getwh): New function.
49823 (grub_console_term): Assign grub_console_getwh to getwh.
49824
49825 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
49826 function is defined in normal/completion.c as
49827 grub_normal_do_completion.
49828 (grub_cmdline_get): Use grub_normal_do_completion instead of
49829 grub_tab_complete.
49830
49831 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
49832 returns non-zero, otherwise return 0.
49833 (grub_partition_iterate): First, probe the partition map. Then,
49834 call ITERATE only for this partition map.
49835
49836 * kern/misc.c (grub_strncmp): Rewritten.
49837
49838 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
49839 returns non-zero. Otherwise return 0.
49840
49841 * include/grub/partition.h (grub_partition_map_iterate): Return
49842 int instead of void.
49843
49844 * include/grub/normal.h (grub_normal_do_completion): New prototype.
49845
49846 * include/grub/misc.h (grub_strncmp): Change the type of N to
49847 grub_size_t.
49848
49849 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
49850 of void.
49851
49852 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 49853 unsigned explicitly before comparing it with I.
8de3495c 49854
49855 * kern/main.c (grub_env_write_root): Add the attribute unused into
49856 VAR.
49857
49858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49859 normal/completion.c.
49860 (normal_mod_SOURCES): Likewise.
49861 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
49862 (normal_mod_SOURCES): Likewise.
49863
49864 * normal/command.c (grub_iterate_commands): If ITERATE returns
49865 non-zero, return one immediately.
49866
e85e144b 498672005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
49868
49869 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
49870 * kern/i386/pc/startup.S: Updated Global Descriptor table's
49871 descriptions.
49872 (grub_vbe_get_controller_info): New function.
49873 (grub_vbe_get_mode_info): Likewise.
49874 (grub_vbe_set_mode): Likewise.
49875 (grub_vbe_get_mode): Likewise.
49876 (grub_vbe_set_memory_window): Likewise.
49877 (grub_vbe_get_memory_window): Likewise.
49878 (grub_vbe_set_scanline_length): Likewise.
49879 (grub_vbe_get_scanline_length): Likewise.
49880 (grub_vbe_set_display_start): Likewise.
49881 (grub_vbe_get_display_start): Likewise.
49882 (grub_vbe_set_palette_data): Likewise.
49883 * include/grub/i386/pc/vbe.h: New file.
49884
c46153d2 498852005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49886
49887 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
49888 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
49889 * DISTLIST: Likewise.
49890 * kern/ieee1275/of.c: Moved to ...
49891 * kern/ieee1275/ieee1275.c: ... here.
49892
0cb90c45 498932005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49894
49895 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
49896 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
49897 Pass 0 as `end' parameter to grub_strtoul().
49898
a19fb360 498992005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49900
49901 * include/grub/powerpc/ieee1275/console.h: Do not include
49902 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
49903 ifdef.
49904 (grub_console_cur_color): Remove i386-specific prototype.
49905 (grub_console_real_putchar): Likewise.
49906 (grub_console_checkkey): Likewise.
49907 (grub_console_getkey): Likewise.
49908 (grub_console_getxy): Likewise.
49909 (grub_console_gotoxy): Likewise.
49910 (grub_console_cls): Likewise.
49911 (grub_console_setcursor): Likewise.
49912 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
49913 Include <grub/machine/console.h>.
49914 * term/ieee1275/ofconsole.c: Likewise.
49915
4ac9bd04 499162005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
49917
49918 * Makefile.in (LIBLZO): New variable.
49919
49920 * configure.ac: Check for LZO version 2.
49921
49922 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
49923 lzo/lzo1x.h instead of lzo1x.h.
49924
49925 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
49926 of -llzo.
49927
49928 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
49929 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
49930
49931 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
49932 copying the data from PARTITION to P.
49933
f4917dfd 499342005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49935
49936 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
49937 negative, unload the module.
49938
49939 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
49940 map is "pc_partition_map" but not "pc".
49941 (usage): Fix the description. The options are --boot-image and
49942 --core-image but not --boot-file or --core-file.
49943 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
49944 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
49945 DEFAULT_DIRECTORY.
49946
49947 * util/i386/pc/grub-install.in: Do not specify --boot-file or
49948 --core-file. Specify INSTALL_DEVICE as an argument.
49949
49950 * util/console.c: Include config.h.
49951 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
49952 [HAVE_NCURSES_H]: Include ncurses.h.
49953 [HAVE_CURSES_H]: Include curses.h.
49954 [!A_NORMAL] (A_NORMAL): Defined as zero.
49955 [!A_STANDOUT] (A_STANDOUT): Likewise.
49956
49957 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
49958 -lncurses.
49959 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
49960
49961 * configure.ac: Check for curses libraries and headers.
49962
49963 * Makefile.in (LIBCURSES): New variable.
49964
49965 * genmk.rb (Script::rule): Set the executable bits.
49966
49967 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
49968 name of the PC partition map is "pc_partition_map" but not "pc".
49969
0e143073 499702005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49971
49972 * util/i386/pc/grub-install.in (grub_probefs): New variable.
49973 (modules): Likewise.
49974 (usage): Added descriptions for --modules and --grub-probefs.
49975 Handle --modules and --grub-probefs. Save the arguments in MODULES
49976 and GRUB_PROBEFS, respectively.
49977 Auto-detect a filesystem module against GRUBDIR. If the result is
49978 empty and modules are not specified explicitly, abort the
49979 installation. Add the result to MODULES.
49980
49981 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
49982 disk/powerpc/ieee1275/ofdisk.c,
49983 include/grub/powerpc/ieee1275/init.h and
49984 term/powerpc/ieee1275/ofconsole.c.
49985 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
49986 term/ieee1275/ofconsole.c.
49987
49988 * include/grub/powerpc/ieee1275/console.h: Resurrected.
49989
49990 * COPYING: Upgraded to the latest version. Only the address of the
49991 FSF office has changed.
f19dbdb7 49992
efd6e6d5 499932005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49994
49995 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
49996 kern/ieee1275.c with kern/ieee1275/of.c.
49997
49998 * kern/ieee1275.c: Moved to ...
49999 * kern/ieee1275/of.c: ... here.
50000
8ceafda2 500012005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50002
50003 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50004 readability.
8ceafda2 50005
50006 * config.guess: Updated to the latest version from gnulib.
50007 * config.sub: Likewise.
50008 * install.sh: Likewise.
50009 * mkinstalldirs: Likewise.
50010
50011 * include/grub/console.h: Removed. This file is arch-specific. Do
50012 not put this in include/grub.
50013
50014 * include/grub/i386/pc/console.h: Resurrected.
50015
50016 * util/console.c: Include grub/machine/console.h instead of
50017 grub/console.h.
50018 * util/grub-emu.c: Likewise.
50019
267f6cd9 500202005-08-04 Marco Gerards <metgerards@student.han.nl>
50021
50022 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50023 hardcoded value.
f19dbdb7 50024
267f6cd9 50025 From Vincent Pelletier <subdino2004@yahoo.fr>
50026 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50027 Redefined to use grub_getwh.
50028 (grub_term): New member named getwh.
50029 (grub_getwh): New prototype.
50030 * kern/term.c (grub_getwh): New function.
50031 * term/i386/pc/console.c (grub_console_getwh): New function.
50032 (grub_console_term): New member `getwh'.
50033 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50034 (grub_vga_term): New member `getwh'.
0b5abe02 50035 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50036 grub_ssize_t.
50037 (grub_ofconsole_getw): New function.
50038 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50039 (grub_ofconsole_term): New field named getwh and new initial
50040 value.
50041
3be7266d 500422005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50043
50044 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50045 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50046 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50047 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50048 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50049 of <grub/machine/ieee1275.h>.
50050 * commands/ieee1275/reboot.c: Likewise.
50051 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50052 * kern/ieee1275.c: ... to here. All users updated. Change all
50053 parameter structs to use new type `grub_ieee1275_cell_t'.
50054 * term/powerpc/ieee1275/ofconsole.c: Move ...
50055 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50056 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50057 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50058 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50059 to return int.
50060 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50061 Remove unused prototypes. All users updated.
50062 * include/grub/powerpc/ieee1275/console.h: Removed.
50063 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50064 `grub_ieee1275_cell_t'.
50065 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50066 Cast comparisons with -1 to the correct type.
50067 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50068 type to match `grub_ieee1275_entry_fn'.
50069
8b5f3938 500702005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50071
50072 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50073
50074 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50075 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50076 partmap/sun.c.
50077 (grub_probefs_SOURCES): New variable.
50078
50079 * util/i386/pc/grub-probefs.c: New file.
50080
50081 * util/i386/pc/grub-setup.c (main): Call
50082 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50083 grub_hfs_init and grub_jfs_init to initialize the system. Call
50084 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50085 grub_pc_partition_map_fini to finish the system.
50086
ea409713 500872005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50088
50089 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50090 function.
50091 (grub_multiboot_load_elf32): Likewise.
50092 (grub_multiboot_is_elf64): Likewise.
50093 (grub_multiboot_load_elf64): Likewise.
50094 (grub_multiboot_load_elf): Likewise.
50095 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50096 an ELF32 or ELF64 file.
50097 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50098
50099 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50100 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50101 NULL before calling FS->LABEL.
50102 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50103 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50104 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50105 before calling FS->LABEL.
50106
141a288b 501072005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50108
50109 * util/i386/pc/grub-install.in (datadir): New variable.
50110 (libdir): Removed.
50111 (pkgdatadir): New variable.
50112 (pkglibdir): Removed.
50113
0d5f8a54 501142005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50115
50116 * DISTLIST: Added util/i386/pc/grub-install.in.
50117
50118 * util/i386/pc/grub-install.in: New file.
50119
50120 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50121 (grub_install_SOURCES): Likewise.
50122
50123 * genmk.rb: Added support for scripts.
50124 (Script): New class.
50125 (scripts): New variable.
50126
50127 * Makefile.in (install-local): Install sbin_SCRIPTS by
50128 INSTALL_SCRIPT.
50129 (uninstall): Remove sbin_SCRIPTS.
50130
50131 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50132 device, try to get a GRUB device by
50133 grub_util_biosdisk_get_grub_dev.
50134 Free DEST_DEV.
50135
50136 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50137 description for --device-map.
50138
5f968e1e 501392005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50140
50141 Change the semantics of variable hooks. They now return strings
50142 instead of error values.
f19dbdb7 50143
5f968e1e 50144 * util/i386/pc/grub-setup.c: Include grub/env.h.
50145 (setup): Use grub_device_set_root instead of grub_env_set.
50146
50147 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50148 grub_env_get instead of grub_device_set_root and
50149 grub_device_get_root, respectively.
50150
50151 * kern/main.c (grub_env_write_root): New function.
50152 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50153 grub_env_set instead of grub_device_set_root.
50154
50155 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50156 many variables.
50157 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50158 rather than calling ENV->WRITE_HOOK afterwards.
50159 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50160 passing a pointer of a pointer.
50161 (grub_register_variable_hook): Change the types of "read_hook" and
50162 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50163 respectively.
50164 Allocate the default empty string on the heap, because this string
50165 may be freed later.
50166
50167 * kern/device.c: Include grub/env.h.
50168 (grub_device_set_root): Removed.
50169 (grub_device_get_root): Likewise.
50170 (grub_device_open): Use grub_env_get instead of
50171 grub_device_get_root.
50172
50173 * include/grub/env.h (grub_env_read_hook_t): New type.
50174 (grub_env_write_hook_t): Likewise.
50175 (grub_env_var): Change the types of "read_hook" and "write_hook"
50176 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50177 (grub_register_variable_hook): Likewise.
50178
50179 * include/grub/device.h (grub_device_set_root): Removed.
50180 (grub_device_set_root): Likewise.
50181
50182 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50183 make sure that DIRNAME terminates with '/', so that
50184 grub_fat_find_dir will fail if PATH is not a directory.
50185
50186 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50187 from DIRNAME.
50188 Use the qualifier auto for print_files and print_files_long.
50189 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50190 as a regular file.
50191 Put a newline only if there is no error.
50192 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50193 used.
50194
896f0afd 501952005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50196
50197 * kern/partition.c (grub_partition_probe): Initialize PART to
50198 NULL. Otherwise, when no partition map is registered, this returns
50199 a garbage.
50200
b28b81b2 502012005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50202
50203 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50204 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50205 valid.
50206
5f3607e0 502072005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50208
50209 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50210 information on each device, if it does not have partitions. Print
50211 "Device" instead of "Disk", because this function is not specific
50212 to disk devices.
50213
50214 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50215 static to ensure that it is put on the memory rather than a
50216 register.
50217
502c87e8 502182005-07-17 Yoshinori Okuji <okuji@enbug.org>
50219
50220 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50221 (grub_cat_init): Likewise.
50222 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50223 (options): Likewise.
50224 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50225 (grub_configfile_init): Likewise.
50226 * font/manager.c (GRUB_MOD_INIT): Likewise.
50227 * commands/help.c (GRUB_MOD_INIT): Likewise.
50228 (grub_help_init): Likewise.
50229 * normal/command.c (grub_command_init): Likewise.
50230 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50231 * disk/loopback.c (grub_loop_init): Likewise.
50232 (GRUB_MOD_INIT): Likewise.
50233 * commands/ls.c (grub_ls_init): Likewise.
50234 (GRUB_MOD_INIT): Likewise.
50235 (options): Likewise.
50236 * commands/boot.c (grub_boot_init): Likewise.
50237 (GRUB_MOD_INIT): Likewise.
50238 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50239 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50240 (GRUB_MOD_INIT): Likewise.
50241 * commands/cmp.c (grub_cmp_init): Likewise.
50242 (GRUB_MOD_INIT): Likewise.
50243
50244 * normal/arg.c: Use <> instead of "" to include header files.
50245 (SHORT_ARG_HELP): New macro.
50246 (SHORT_ARG_USAGE): Likewise.
50247 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50248 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50249 descriptions.
50250 (find_short): Check if C is 'h' or 'u' explicitly.
50251 (grub_arg_show_help): Use space characters instead of tabs. Treat
50252 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50253 are shown with --help and --usage only if they are not used for
50254 the command itself.
50255 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50256 'h' and 'u'.
50257
50258 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50259 const into "longarg". Change the type of "shortarg" to int.
50260
f806d18e 502612005-07-17 Yoshinori Okuji <okuji@enbug.org>
50262
50263 * boot/i386/pc/boot.S (boot_drive_check): New label.
50264
50265 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50266 macro.
50267
50268 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50269 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50270
e293232b 502712005-07-17 Yoshinori Okuji <okuji@enbug.org>
50272
50273 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50274 When turning off Gate A20, skip the check and return immediately,
50275 because this is not fatal usually.
50276
ebedfd00 502772005-07-17 Yoshinori Okuji <okuji@enbug.org>
50278
50279 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50280 be 0x7C00 instead of 0x8000.
50281
50282 * boot/i386/pc/pxeboot.S: Rewritten.
50283
50284 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50285 EXT_C.
50286 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50287 result.
50288
654fc59f 502892005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50290
50291 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50292 robustness. This routine now supports a BIOS call and System
50293 Control Port A to modify the gate A20.
50294
50295 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50296 Increased to 0x440.
50297
09f9923f 502982005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50299
50300 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50301 device path and resulting ihandle.
50302 (grub_ofdisk_close): dprintf the ihandle being closed.
50303 (grub_ofdisk_read): dprintf function parameters.
50304 * kern/mm.c (grub_mm_init_region): Likewise.
50305 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50306 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50307 size, and boot arguments.
50308 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50309 before loading into memory.
50310 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50311 before loading into memory.
50312
7ef504d8 503132005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50314
50315 * kern/mm.c: Added much documentation.
50316 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50317 8, set to 5 instead of 8.
50318
e0f050c2 503192005-07-10 Yoshinori Okuji <okuji@enbug.org>
50320
50321 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50322
50323 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50324 (grub_mkdevicemap_SOURCES): New variable.
50325
50326 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50327 lib/device.c of GRUB Legacy.
50328
7224189a 503292005-07-10 Yoshinori Okuji <okuji@enbug.org>
50330
50331 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50332 instead of PATH is NULL.
50333
68c864eb 503342005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50335
50336 * commands/cmp.c (BUFFER_SIZE): New macro.
50337 (grub_cmd_cmp): Close the right file at the right time. Compare
50338 only data just read. Don't report files of different size as
50339 identical. Dynamically allocate buffers. Move variable
50340 declarations at the beginning of function.
50341
e6f3e614 503422005-07-09 Yoshinori Okuji <okuji@enbug.org>
50343
50344 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50345 reverse.
50346
f8f1559a 503472004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50348
50349 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50350 when backspace is pressed at beginning of line.
50351
39c9d41d 503522005-07-03 Yoshinori Okuji <okuji@enbug.org>
50353
50354 * DISTLIST: Added genfslist.sh.
50355
50356 * normal/main.c (fs_module_list): New variable.
50357 (autoload_fs_module): New function.
50358 (read_fs_list): Likewise.
50359 (grub_normal_execute): Call read_fs_list.
50360
50361 * kern/fs.c (grub_fs_autoload_hook): New variable.
50362 (grub_fs_probe): Added support for auto-loading.
50363
50364 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50365 (grub_fs_module_list_t): New type.
50366
50367 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50368 (grub_fs_autoload_hook): New prototype.
50369
50370 * genfslist.sh: New file.
f19dbdb7 50371
39c9d41d 50372 * genmk.rb: Added a rule to generate a filesystem list.
50373
121c1d83 503742005-06-30 Marco Gerards <metgerards@student.han.nl>
50375
50376 * configure.ac: Fix the test for cross-compiling.
50377
50378 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50379 define GRUB_UTIL anymore.
50380
50381 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50382 so this function works on other systems than just big endian.
50383 (load_modules): Likewise.
50384 (add_segments): Likewise.
50385
e75d76e1 503862005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50387
50388 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50389 contains `l' modifier, get a long from va_arg().
50390
50b5a0a7 503912005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50392
50393 * kern/mm.c (grub_free): If the next free block which is being
50394 merged is the first free block, set the first block to the block
50395 being freed.
50396 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50397
89371b20 503982005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50399
50400 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50401 `grub_ieee1275_chosen'.
50402
168d6e58 504032005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50404
50405 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50406 (grub_ieee1275_chosen): New variable.
50407 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50408 `chosen'.
50409 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50410 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50411 Rename first argument to `phandle' for consistency.
50412 (grub_ieee1275_get_property_length): Likewise.
50413 (grub_ieee1275_next_property): Likewise. Change type of first argument
50414 to grub_ieee1275_phandle_t.
50415 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50416 Move export next to declaration.
50417 (grub_ieee1275_chosen): New variable.
50418 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50419 Correct cosmetic typo.
50420 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50421 `grub_ieee1275_chosen'.
50422 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50423 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50424 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50425 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50426 `grub_ieee1275_chosen'.
50427
ca5baa3f 504282005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50429
50430 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50431 /chosen/bootargs.
50432 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50433 /chosen/bootargs as "variable=value" pairs.
50434
708b345f 504352005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50436
50437 * include/grub/misc.h (grub_dprintf): New macro.
50438 (grub_real_dprintf): New prototype.
50439 (grub_strword): Likewise.
50440 (grub_iswordseparator): Likewise.
50441 * kern/misc.c (grub_real_dprintf): New function.
50442 (grub_strword): Likewise.
50443 (grub_iswordseparator): Likewise.
50444
f4c5e67c 504452005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50446
50447 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50448 (roundup): Remove macro.
50449 (grub_ieee1275_flags): Make static.
50450 (grub_ieee1275_realmode): Remove.
50451 (grub_ieee1275_test_flag): New function.
50452 (grub_ieee1275_set_flag): Likewise.
50453 (find_options): Rename to `grub_ieee1275_find_options'; update
50454 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50455 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50456 (cmain): New prototype.
50457 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50458 `grub_ieee1275_flags' directly.
50459 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50460 machine/biosdisk.h.
50461 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50462 Don't include grub/machine/init.h.
50463 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50464 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50465 Remove prototype.
50466 (grub_ieee1275_realmode): Likewise.
50467 (grub_ieee1275_flag): New enum.
50468 (grub_ieee1275_test_flag): New prototype.
50469 (grub_ieee1275_set_flag): New prototype.
50470 * include/grub/powerpc/ieee1275/init.h: Remove file.
50471 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50472 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50473 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50474 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50475 comment.
50476 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50477 `grub_ieee1275_test_flag'.
50478 (grub_ieee1275_encode_devname): Likewise.
50479
ed16607e 504802005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50481
50482 * include/grub/powerpc/ieee1275/ieee1275.h
50483 (grub_ieee1275_encode_devname): New prototype.
50484 (grub_ieee1275_get_filename): Likewise.
50485 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50486 function.
50487 (grub_set_prefix): Likewise.
50488 (grub_machine_init): Call grub_set_prefix.
50489 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50490 (grub_parse_type): New enum.
50491 (grub_ieee1275_get_devargs): New function.
50492 (grub_ieee1275_get_devname): Likewise.
50493 (grub_ieee1275_parse_args): Likewise.
50494 (grub_ieee1275_get_filename): Likewise.
50495 (grub_ieee1275_encode_devname): Likewise.
50496
be369920 504972005-03-30 Marco Gerards <metgerards@student.han.nl>
50498
50499 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50500 `grub_loader_unset'.
50501
a5ce3a4a 505022005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50503
50504 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50505 instead of grub_ieee1275_interpret.
50506 (grub_halt_init): New function.
50507 (grub_halt_fini): Likewise.
50508 (GRUB_MOD_INIT): Correct message grammar.
50509 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50510 instead of grub_ieee1275_interpret.
50511 (grub_reboot_init): New function.
50512 (grub_reboot_fini): Likewise.
50513 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50514 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50515 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50516 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50517 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50518 function.
50519 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50520 Add prototype.
50521 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50522 prototype.
50523 (grub_halt): Likewise.
50524 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50525 (cmain): Remove __attribute__((unused)).
50526 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50527 (grub_heap_len): Likewise.
50528 (grub_machine_fini): New function.
50529 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50530 (grub_halt): Likewise.
50531 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50532 function.
50533 * util/powerpc/ieee1275/misc.c: New file.
50534
0058f771 505352005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50536
50537 * DISTLIST: New file.
50538 * gendistlist.sh: Likewise.
f19dbdb7 50539
0058f771 50540 * Makefile.in (COMMON_DISTFILES): Removed.
50541 (BOOT_DISTFILES): Likewise.
50542 (CONF_DISTFILES): Likewise.
50543 (DISK_DISTFILES): Likewise.
50544 (FS_DISTFILES): Likewise.
50545 (INCLUDE_DISTFILES): Likewise.
50546 (KERN_DISTFILES): Likewise.
50547 (LOADER_DISTFILES): Likewise.
50548 (TERM_DISTFILES): Likewise.
50549 (UTIL_DISTFILES): Likewise.
50550 (DISTFILES): Likewise.
50551 (uninstall): Uninstall files in $(pkgdata_DATA).
50552 (DISTLIST): New target.
50553 (distdir): Use the contents of the file DISTLIST to get a list of
50554 distributed files.
50555
46b3b8a5 505562005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50557
50558 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50559 descriptor. This is ported from GRUB Legacy.
50560
50561 * gencmdlist.sh: Added an extra semicolon to make it work with
50562 old sed versions. Reported by Robert Bihlmeyer
50563 <robbe@orcus.priv.at>.
50564
5822ff87 505652005-03-08 Yoshinori Okuji <okuji@enbug.org>
50566
50567 Automatic loading of commands is supported.
f19dbdb7 50568
5822ff87 50569 * normal/main.c (read_command_list): New function.
50570 (grub_normal_execute): Call read_command_list.
50571
50572 * normal/command.c (grub_register_command): Return zero or CMD.
50573 Allocate CMD->NAME from the heap.
50574 Initialize CMD->MODULE_NAME to zero.
50575 Find the same name as well. If the same command is found and it is
50576 a dummy command, overwrite members. If it is not a dummy command,
50577 return zero.
50578 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50579 (grub_command_find): If a dummy command is found, load a module
50580 and retry to find a command only once.
50581
50582 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50583 make sure that each command is loaded.
50584
50585 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50586 macro.
50587 (struct grub_command): Remove const from the member `name'.
50588 Add a new member `module_name'.
50589 (grub_register_command): Return grub_command_t.
50590
50591 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50592 sure that each command is loaded.
50593
50594 * genmk.rb (PModule::rule): Specify a module name without the
50595 suffix ".mod" to gencmdlist.sh.
50596
7b1f4b57 505972005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50598
50599 * gencmdlist.sh: New file.
f19dbdb7 50600
7b1f4b57 50601 * genmk.rb (PModule::rule): Generate a rule for a command list.
50602 Clean command.lst.
50603 Generate command.lst from $(COMMANDFILES).
50604
50605 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50606 (DATA): Added $(pkgdata_DATA).
50607 (install-local): Install files in $(pkgdata_DATA).
50608
062aaf39 506092005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50610
50611 * term/i386/pc/vga.c (debug_command): Removed.
50612 (GRUB_MOD_INIT): Do not register the command "debug".
50613
50614 From Hollis Blanchard:
50615 * commands/configfile.c: New file.
50616 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50617 commands/configfile.c.
50618 (pkgdata_MODULES): Added configfile.mod.
50619 (configfile_mod_SOURCES): New variable.
50620 (configfile_mod_CFLAGS): Likewise.
50621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50622 commands/configfile.c.
50623 (pkgdata_MODULES): Added configfile.mod.
50624 (configfile_mod_SOURCES): New variable.
50625 (configfile_mod_CFLAGS): Likewise.
50626 * util/grub-emu.c (main): Call grub_configfile_init and
50627 grub_configfile_fini.
50628 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50629 prototype.
50630 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 50631
cee01aa6 506322005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50633
50634 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50635 address.
50636
50637 * commands/help.c (grub_cmd_help): Do not print newlines after
50638 the last command in print_command_help.
50639
93f3a1d8 506402005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50641
50642 * commands/default.h: New file.
50643 * commands/timeout.h: Likewise.
50644 * normal/context.c: Likewise.
f19dbdb7 50645
93f3a1d8 50646 * util/misc.c: Do not include sys/times.h.
50647 Include sys/time.h and grub/machine/time.h.
50648 (grub_get_rtc): Rewritten with gettimeofday.
50649
50650 * util/grub-emu.c (main): Call grub_default_init and
50651 grub_timeout_init before grub_normal_init, and call
50652 grub_timeout_fini and grub_default_fini after grub_main.
50653
50654 * util/console.c (grub_ncurses_checkkey): Return the read
50655 character or -1.
50656
50657 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50658 timeouts.
50659
50660 * normal/main.c (read_config_file): Push MENU. If this fails,
50661 print an error and wait for a user input.
50662 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50663 If a menu is empty or an error occurs, pop MENU.
50664 (grub_normal_execute): Pop and free MENU after grub_menu_run
50665 returns.
50666
50667 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50668
50669 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50670 include time.h.
50671 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50672 without GRUB_UTIL.
50673 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
50674 time.h.
50675 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50676 without GRUB_UTIL.
50677
50678 * include/grub/normal.h (struct grub_menu_list): New struct.
50679 (grub_menu_list_t): New type.
50680 (struct grub_context): New struct.
50681 (grub_context_t): New type.
50682 (grub_register_command): Got rid of EXPORT_FUNC.
50683 (grub_unregister_command): Likewise.
50684 (grub_context_get): New prototype.
50685 (grub_context_get_current_menu): Likewise.
50686 (grub_context_push_menu): Likewise.
50687 (grub_context_pop_menu): Likewise.
50688 [GRUB_UTIL] (grub_default_init): Likewise.
50689 [GRUB_UTIL] (grub_default_fini): Likewise.
50690 [GRUB_UTIL] (grub_timeout_init): Likewise.
50691 [GRUB_UTIL] (grub_timeout_fini): Likewise.
50692
50693 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
50694 commands/timeout.c and normal/context.c.
50695 (pkgdata_MODULES): Added default.mod and timeout.mod.
50696 (normal_mod_SOURCES): Added normal/context.c.
50697 (default_mod_SOURCES): New variable.
50698 (default_mod_CFLAGS): Likewise.
50699 (timeout_mod_SOURCES): Likewise.
50700 (timeout_mod_CFLAGS): Likewise.
50701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
50702 conf/i386-pc.rmk.
50703 (pkgdata_MODULES): Added default.mod and timeout.mod.
50704 (normal_mod_SOURCES): Added normal/context.c.
50705 (default_mod_SOURCES): New variable.
50706 (default_mod_CFLAGS): Likewise.
50707 (timeout_mod_SOURCES): Likewise.
50708 (timeout_mod_CFLAGS): Likewise.
50709
50710 * Makefile.in (all-local): Added $(MKFILES).
50711
4ed2e1dd 507122005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
50713
50714 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
50715 (grub_emu_SOURCES): Likewise.
50716 (pkgdata_MODULES): Add `sun.mod'.
50717 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50719 `partmap/sun.c'.
50720 (pkgdata_MODULES): Add `sun.mod'.
50721 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50722 * include/grub/partition.h (grub_sun_partition_map_init): New
50723 prototype.
50724 (grub_sun_partition_map_fini): Likewise.
50725 * partmap/sun.c: New file.
50726 * util/grub-emu.c (main): Initialize and de-initialize the sun
50727 partitionmap support.
50728
4d4e372e 507292005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
50730
50731 This implements an Emacs-like menu entry editor.
f19dbdb7 50732
4d4e372e 50733 * normal/menu_entry.c: New file.
f19dbdb7 50734
4d4e372e 50735 * util/console.c (grub_ncurses_putchar): Translate some Unicode
50736 characters to ASCII.
50737 (saved_char): New variable.
50738 (grub_ncurses_checkkey): Rewritten completely.
50739 (grub_ncurses_getkey): Likewise.
50740 (grub_ncurses_init): Call raw instead of cbreak.
50741
50742 * normal/menu.c (print_entry): Do not put a space.
50743 (init_page): Renamed to ...
50744 (grub_menu_init_page): ... this. All callers changed.
50745 (edit_menu_entry): Removed.
50746 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
50747
50748 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
50749
50750 * kern/misc.c (grub_vprintf): Call grub_refresh.
50751
50752 * normal/menu.c (DISP_LEFT): Renamed to ...
50753 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
50754 * normal/menu.c (DISP_UP): Renamed to ...
50755 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
50756 * normal/menu.c (DISP_RIGHT): Renamed to ...
50757 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
50758 * normal/menu.c (DISP_DOWN): Renamed to ...
50759 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
50760 * normal/menu.c (DISP_HLINE): Renamed to ...
50761 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
50762 * normal/menu.c (DISP_VLINE): Renamed to ...
50763 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
50764 * normal/menu.c (DISP_UL): Renamed to ...
50765 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
50766 * normal/menu.c (DISP_UR): Renamed to ...
50767 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
50768 * normal/menu.c (DISP_LL): Renamed to ...
50769 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
50770 * normal/menu.c (DISP_LR): Renamed to ...
50771 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
50772 * normal/menu.c (TERM_WIDTH): Renamed to ...
50773 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
50774 * normal/menu.c (TERM_HEIGHT): Renamed to ...
50775 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
50776 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
50777 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
50778 * normal/menu.c (TERM_MARGIN): Renamed to ...
50779 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
50780 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
50781 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
50782 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
50783 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
50784 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
50785 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
50786 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
50787 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
50788 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
50789 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
50790 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
50791 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
50792 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
50793 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
50794 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
50795 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
50796 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
50797 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
50798 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
50799 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
50800 All callers changed.
50801
50802 * include/grub/normal.h: New prototype.
50803
50804 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50805 normal/menu_entry.c.
50806 (normal_mod_SOURCES): Likewise.
50807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50808 (normal_mod_SOURCES): Likewise.
50809
e6b92c8a 508102005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
50811
50812 * include/grub/normal.h (grub_halt_init): New prototype.
50813 (grub_halt_fini): Likewise.
50814 (grub_reboot_init): Likewise.
50815 (grub_reboot_fini): Likewise.
50816
50817 * util/grub-emu.c: Include signal.h.
50818 (main_env): New global variable.
50819 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
50820 catch C-c.
50821 (grub_machine_fini): New function.
50822 (main): Call grub_halt_init and grub_reboot_init before
50823 grub_main, and grub_reboot_fini and grub_halt_fini after it.
50824 Call setjmp with MAIN_ENV to go back afterwards.
50825 Call grub_machine_fini right before return.
50826
50827 * include/grub/util/misc.h: Include setjmp.h.
50828 (main_env): New prototype.
50829
50830 * include/grub/kernel.h (grub_machine_fini): New prototype.
50831 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
50832 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
50833
50834 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
50835 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
50836 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 50837
e6b92c8a 50838 * util/i386/pc/misc.c: New file.
f19dbdb7 50839
e6b92c8a 50840 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50841 util/i386/pc/misc.c, commands/i386/pc/halt.c and
50842 commands/i386/pc/reboot.c.
50843
c642636f 508442005-02-14 Guillem Jover <guillem@hadrons.org>
50845
50846 * include/grub/dl.h (grub_dl_check_header): New prototype.
50847 (grub_arch_dl_check_header): Change return type to grub_err_t,
50848 remove size parameter and export function. Update all callers.
50849 * kern/dl.c (grub_dl_check_header): New function.
50850 (grub_dl_load_core): Use `grub_dl_check_header' instead of
50851 `grub_arch_dl_check_header'. Check ELF type. Check if sections
50852 are inside the core.
50853 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
50854 independent ELF header checks.
50855 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
50856 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
50857 `grub_dl_check_header' instead of explicit checks. Check for the
50858 ELF type.
50859 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
50860 `grub_dl_check_header' instead of explicit checks. Remove arch
50861 specific ELF header checks.
50862
e6b92c8a 50863 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
50864 argument SIZE.
50865
5eabe94b 508662005-02-13 Hollis Blanchard <hollis@penguinppc.org>
50867
50868 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
50869 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
50870
1b14a681 508712005-02-12 Hollis Blanchard <hollis@penguinppc.org>
50872
50873 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 50874 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 50875 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 50876 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 50877 * partmap/amiga.c (amiga_partition_map_iterate): Return
50878 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
50879 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50880
aca108aa 508812005-02-01 Guillem Jover <guillem@hadrons.org>
50882
50883 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
50884 help info.
50885
c9f9c556 508862005-01-31 Marco Gerards <metgerards@student.han.nl>
50887
50888 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
50889 Removed prototype.
50890 (grub_rescue_cmd_linux): New prototype.
50891 (grub_rescue_cmd_initrd): Likewise.
50892 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
50893 `bi_rec'.
50894 (grub_linux_release_mem): Release the memory for the initrd.
50895 (grub_load_linux): Renamed from this...
50896 (grub_rescue_cmd_linux): ...To this. Changed all callers.
50897 Changed `entry' not to be static. Loop over memory regions to
50898 find another one when the default fails.
50899 (grub_rescue_cmd_initrd): New function.
50900 (grub_linux_init): Remove function.
50901 (grub_linux_fini): Likewise.
50902 (GRUB_MOD_INIT): Register `initrd'.
50903 (GRUB_MOD_FINI): Unregister `initrd'.
50904 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
50905 Function removed.
50906 (grub_linux_normal_fini): Likewise.
50907 (GRUB_MOD_INIT): Register `initrd'.
50908 (GRUB_MOD_FINI): Unregister `initrd'.
50909
990cf3aa 509102005-01-31 Marco Gerards <metgerards@student.han.nl>
50911
50912 * commands/help.c: New file.
50913 * normal/arg.c (show_help): Renamed to...
50914 (grub_arg_show_help): ... this.
50915 * commands/i386/pc/halt.c: New file.
50916 * commands/i386/pc/reboot.c: Likewise.
50917 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
50918 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
50919 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
50920 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
50921 variables.
50922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50923 `commands/help.c'.
50924 (pkgdata_MODULES): Add `help.mod'.
50925 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
50926 * grub/i386/pc/init.h (grub_reboot): New prototype.
50927 (grub_halt): Likewise.
50928 * include/grub/normal.h (grub_arg_show_help): New prototype.
50929 (grub_help_init): Likewise.
50930 (grub_help_fini): Likewise.
50931 * util/grub-emu.c (main): Initialize and deinitialize the help
50932 command.
50933
50934 * normal/cmdline.c (grub_cmdline_get): Doc fix.
50935
50936 * normal/command.c (grub_command_init): Fixed the description of
50937 the `set' and `unset' commands.
50938
509392005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 50940
50941 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
50942 function.
50943 * commands/ieee1275/halt.c: New file.
50944 * commands/ieee1275/reboot.c: Likewise.
50945 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
50946 `__attribute__ ((unused))'. Some GCS related fixed.
50947 (grub_suspend_init) [GRUB_UTIL]: Function removed.
50948 (grub_suspend_fini): Likewise.
50949 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
50950 and `halt.mod'.
50951 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
50952 (halt_mod_CFLAGS): New variables.
50953 * include/grub/powerpc/ieee1275/ieee1275.h
50954 (grub_ieee1275_interpret): New prototype.
50955
1ab09cc7 509562005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
50957
50958 * include/grub/misc.h (memmove): New prototype.
50959 (memcpy): Likewise.
50960
8b8cbdb2 509612005-01-22 Hollis Blanchard <hollis@penguinppc.org>
50962
50963 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
50964 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
50965
e3741a27 509662005-01-22 Marco Gerards <metgerards@student.han.nl>
50967
50968 * kern/misc.c (grub_strndup): Function rewritten.
50969
776bd780 509702005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
50971
50972 * normal/menu.c (TERM_WIDTH): Macro redefined.
50973 (TERM_TOP_BORDER_Y): Likewise.
50974 (draw_border): Replaced while-loop by a for-loop. Make the number
50975 of lines consistent with the number of lines displayed in
50976 print_entries. Added a margin below the rectangle.
50977 (print_entry): Make the entry fit in the rectangle.
50978 (print_entries): Display the scroll arrows next to the right
50979 border.
50980
78026bce 509812005-01-21 Marco Gerards <metgerards@student.han.nl>
50982
50983 * fs/minix.c (grub_minix_find_file): Reserve more space for
50984 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
50985 `grub_strncpy' to copy `path' into it.
50986
67bbaf0f 509872005-01-21 Marco Gerards <metgerards@student.han.nl>
50988
50989 Add the loopback device, a device via which files can be accessed
50990 as devices.
f19dbdb7 50991
67bbaf0f 50992 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
50993 (pkgdata_MODULES): Add loopback.mod.
50994 (loopback_mod_SOURCES): New variable.
50995 (loopback_mod_CFLAGS): Likewise.
50996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50997 `disk/loopback.c'.
50998 (pkgdata_MODULES): Add loopback.mod.
50999 (loopback_mod_SOURCES): New variable.
51000 (loopback_mod_CFLAGS): Likewise.
51001 * disk/loopback.c: new file.
51002 * include/grub/normal.h (grub_loop_init): New prototype.
51003 (grub_loop_fini): New prototype.
51004 * util/grub-emu.c (main): Initialize and de-initialize loopback
51005 support.
51006 * include/grub/disk.h (grub_disk_dev_id): Add
51007 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51008
6f1c18bd 510092005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51010
51011 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51012 function.
51013 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51014 (suspend_mod_SOURCES): New variable.
51015 (suspend_mod_CFLAGS): Likewise.
51016 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51017 New prototype.
51018 * commands/ieee1275/suspend.c: New file.
51019
b38551da 510202005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51021
51022 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51023 ((unused))' to `__attribute__ ((used))'.
b38551da 51024 (GRUB_MOD_FINI): Likewise.
51025 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51026 * genmk.rb (PModule): Assign space to common symbols when linking
51027 modules.
51028
777aff39 510292005-01-20 Marco Gerards <metgerards@student.han.nl>
51030
51031 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51032 `unsigned' arguments to `grub_size_t'.
51033 (grub_malloc): Likewise.
51034 (grub_realloc): Likewise.
51035 (grub_memalign): Likewise.
51036 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51037 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51038 * util/misc.c (grub_malloc): Likewise.
51039 (grub_realloc): Likewise.
51040 * kern/mm.c (get_header_from_pointer): Change the casts to
51041 `unsigned' into a cast to `grub_size_t'.
51042
51043 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51044 point to `currnode' when `currnode' is changed.
51045
51046 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51047 Schottelius <nico-linux@schottelius.org>.
51048
d0ff18e1 510492005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51050
51051 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51052 (note_path): Remove variable.
51053 (GRUB_IEEE1275_NOTE_NAME): New macro.
51054 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51055 (grub_ieee1275_note_hdr): New structure.
51056 (grub_ieee1275_note_desc): Likewise.
51057 (grub_ieee1275_note): Likewise.
51058 (load_note): Remove `dir' argument. All callers updated. Remove
51059 `note_img' and `path'. Do not load a file from `note_path'.
51060 Initialize a struct grub_ieee1275_note and write that to `out'.
51061 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51062
4ca7004c 510632005-01-05 Marco Gerards <metgerards@student.han.nl>
51064
51065 * util/misc.c (grub_util_read_image): Revert last change. It
51066 called `grub_util_read_at', which seeks from the beginning of the
51067 file.
51068
0b412211 510692005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51070
51071 * TODO: Add note about endianness in grub-mkimage.
51072 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51073 section.
51074 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51075 (grub_mkimage_SOURCES): New target.
51076 * include/grub/kernel.h (grub_start_addr): Remove variable.
51077 (grub_end_addr): Likewise.
51078 (grub_total_module_size): Likewise.
51079 (grub_kernel_image_size): Likewise.
51080 (GRUB_MODULE_MAGIC): New constant.
51081 (grub_module_info): New structure.
51082 (grub_arch_modules_addr): New prototype.
51083 (grub_get_end_addr): Remove prototype.
51084 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51085 * include/grub/powerpc/ieee1275/kernel.h: New file.
51086 * include/grub/util/misc.h (grub_util_get_fp_size): New
51087 prototype.
51088 (grub_util_read_at): Likewise.
51089 (grub_util_write_image_at): Likewise.
51090 * kern/main.c (grub_get_end_addr): Remove function.
51091 (grub_load_modules): Call grub_arch_modules_addr instead of using
51092 grub_end_addr. Look for a grub_module_info struct in memory. Use
51093 the grub_module_info fields instead of calling grub_get_end_addr
51094 as loop conditions. Move grub_add_unused_region code here.
51095 (grub_add_unused_region): Remove function.
51096 * kern/i386/pc/init.c: Include grub/cache.h.
51097 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51098 one call to add_mem_region.
51099 (grub_arch_modules_addr): New function.
51100 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51101 (grub_total_module_size): Likewise.
51102 Include grub/machine/kernel.h.
51103 (grub_arch_modules_addr): New function.
51104 * util/grub-emu.c (grub_end_addr): Remove variable.
51105 (grub_total_module_size): Likewise.
51106 (grub_arch_modules_addr): New function.
51107 * util/misc.c: Include unistd.h.
51108 (grub_util_get_fp_size): New function.
51109 (grub_util_read_at): Likewise.
51110 (grub_util_write_image_at): Likewise.
51111 (grub_util_read_image): Call grub_util_read_at.
51112 (grub_util_write_image): Call grub_util_write_image_at.
51113 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51114 additional memory in kernel_img for a struct grub_module_info.
51115 Fill in that grub_module_info.
51116 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51117
458786f8 511182005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51119
51120 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51121 New function.
51122 * include/grub/powerpc/ieee1275/ieee1275.h
51123 (grub_ieee1275_milliseconds): New prototype.
51124 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51125 Change to 1000.
51126 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51127 grub_ieee1275_milliseconds.
51128
ac507d1b 511292005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51130
51131 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51132 variable.
51133 (find_options): New function.
51134 (cmain): Call find_options.
51135 * include/grub/powerpc/ieee1275/ieee1275.h
51136 (grub_ieee1275_realmode): New extern variable.
51137 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51138 grub_map if grub_ieee1275_realmode is false.
51139
6b8fd1c4 511402004-12-29 Marco Gerards <metgerards@student.han.nl>
51141
51142 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51143 lines are inserted and make it work like readline. Reported by
51144 Vincent Pelletier <subdino2004@yahoo.fr>.
51145
8514a1e0 511462004-12-28 Marco Gerards <metgerards@student.han.nl>
51147
51148 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51149
51150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51151 `kern/powerpc/cache.S'.
51152
924b6140 511532004-12-27 Marco Gerards <metgerards@student.han.nl>
51154
51155 * genmk.rb: Handle the `Program' class in the main loop. Written
51156 by Johan Rydberg <jrydberg@gnu.org>.
51157 (Program): New class.
51158 (programs): New variable.
51159 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51160 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51161 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51162 (help_arch): Function removed.
51163 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51164 `powerpc/libgcc.h' and `loader.h'.
51165 (pkgdata_PROGRAMS): New variable.
51166 (sbin_UTILITIES): Variable removed.
51167 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51168 (grubof_SOURCES): Variable re-defined so it only includes the
51169 core functionality.
51170 (grubof_CFLAGS): Remove `-DGRUBOF'.
51171 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51172 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51173 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51174 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51175 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51176 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51177 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51178 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51179 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51180 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51181 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51182 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51183 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51184 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51185 (pc_mod_CFLAGS): New variables.
51186 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51187 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51188 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51189 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51190 Moved from here...
51191 * include/grub/i386/pc/init.h (grub_os_area_addr)
51192 (rub_os_area_size): ... to here.
51193 * include/grub/powerpc/ieee1275/ieee1275.h
51194 (grub_ieee1275_entry_fn): Export symbol.
51195 * include/grub/powerpc/ieee1275/init.h: New file.
51196 * include/grub/powerpc/libgcc.h: Likewise.
51197 * include/grub/cache.h: Likewise.
51198 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51199 <hollis@penguinppc.org>.
51200 * kern/dl.c: Include <grub/cache.h>.
51201 (grub_dl_flush_cache): New function.
51202 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51203 for this module.
51204 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51205 (grub_console_init): Removed prototypes.
51206 (grub_machine_init): Don't initialize the modules anymore.
51207 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51208 static.
51209 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51210 Macro undef removed.
51211 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51212 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51213 relocation `R_PPC_REL32'. Return an error when the relocation is
51214 unknown.
51215 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51216 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51217 * util/misc.c (grub_arch_sync_caches): Likewise.
51218
e4b47e0c 512192004-12-19 Marco Gerards <metgerards@student.han.nl>
51220
51221 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51222 `symlist.c', add `grubof_symlist.c'.
51223 (symlist.c): Variable removed.
51224 (grubof_HEADERS): Variable added.
51225 (grubof_symlist.c): New target.
51226 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51227 `kernel_img_HEADERS'.
51228 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51229 * kern/powerpc/dl.c: New file.
51230 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51231 Function removed.
51232 (grub_arch_dl_relocate_symbols): Likewise.
51233 (grub_register_exported_symbols): Likewise.
51234
4ceb3636 512352004-12-13 Marco Gerards <metgerards@student.han.nl>
51236
51237 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51238 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51239 to fail instead. Reported by Vincent Pelletier
51240 <subdino2004@yahoo.fr>.
51241
51242 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51243 it is not allocated. Reported by Vincent Pelletier
51244 <subdino2004@yahoo.fr>.
51245
51246 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51247 output so the output looks better.
f19dbdb7 51248
3f1578fe 512492004-12-04 Marco Gerards <metgerards@student.han.nl>
51250
51251 Modulize the partition map support and add support for the amiga
51252 partition map.
f19dbdb7 51253
3f1578fe 51254 * commands/ls.c: Include <grub/partition.h> instead of
51255 <grub/machine/partition.h>.
51256 * kern/disk.c: Likewise.
51257 * kern/rescue.c: Likewise.
51258 * loader/i386/pc/chainloader.c: Likewise.
51259 * normal/cmdline.c: Likewise.
51260 * kern/powerpc/ieee1275/init.c: Likewise.
51261 (grub_machine_init): Call `grub_pc_partition_map_init',
51262 `grub_amiga_partition_map_init' and
51263 `grub_apple_partition_map_init'.
51264 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51265 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51266 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51267 `partition.h' and `pc_partition.h'.
51268 (grub_setup_SOURCES): Remove
51269 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51270 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51271 (grub_emu_SOURCES): Likewise.
51272 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51273 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51274 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51276 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51277 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51278 (grubof_SOURCES): Likewise.
51279 * disk/i386/pc/partition.c: File removed.
51280 * disk/powerpc/ieee1275/partition.c: Likewise.
51281 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51282 * include/grub/i386/pc/partition.h: Likewise.
51283 * kern/partition.c: New file.
51284 * partmap/amiga.c: Likewise.
51285 * partmap/apple.c: Likewise.
51286 * partmap/pc.c: Likewise.
51287 * include/grub/partition.h: Likewise..
51288 * include/grub/pc_partition.h: Likewise.
51289 * util/grub-emu.c: Include <grub/partition.h> instead of
51290 <grub/machine/partition.h>.
51291 (main): Call `grub_pc_partition_map_init',
51292 `grub_amiga_partition_map_init' and
51293 `grub_apple_partition_map_init' and deinitialize afterwards.
51294 * util/i386/pc/biosdisk.c: Include `#include
51295 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51296 `<grub/machine/partition.h>'.
51297 * util/i386/pc/grub-setup.c: Likewise.
51298 * util/i386/pc/biosdisk.c: Likewise.
51299 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51300 partition information in case of a PC partition.
51301 * util/i386/pc/grub-setup.c: Include `#include
51302 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51303 `<grub/machine/partition.h>'.
51304 (setup): Only access the PC specific partition information in case
51305 of a PC partition.
51306
0ef4ced9 513072004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51308
0ef4ced9 51309 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51310 (grub_longjmp): Likewise.
51311 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51312 20.
51313 * normal/powerpc/setjmp.S: New file.
51314 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51315 `normal/powerpc/setjmp.S'.
51316 (grubof_CFLAGS): Add `-DGRUBOF'.
51317 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51318 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51319
19950e29 513202004-11-16 Marco Gerards <metgerards@student.han.nl>
51321
51322 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51323 property named `name'. Correctly handle the error returned by
51324 `grub_ieee1275_finddevice' if a device can not be opened.
51325
a2fea427 513262004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51327
51328 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51329 `actual' for negativity.
51330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51331 kern/fshelp.c.
51332
41ea0ea3 513332004-11-01 Marco Gerards <metgerards@student.han.nl>
51334
51335 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51336 (PAGE_OFFSET): New macro.
51337 (CRTC_ADDR_PORT): Likewise.
51338 (CRTC_DATA_PORT): Likewise.
51339 (START_ADDR_HIGH_REGISTER): Likewise.
51340 (START_ADDR_LOW_REGISTER): Likewise.
51341 (GRAPHICS_ADDR_PORT): Likewise.
51342 (GRAPHICS_DATA_PORT): Likewise.
51343 (READ_MAP_REGISTER): Likewise.
51344 (INPUT_STATUS1_REGISTER): Likewise.
51345 (INPUT_STATUS1_VERTR_BIT): Likewise.
51346 (page): New variable.
51347 (wait_vretrace): New function.
51348 (set_read_map): Likewise.
51349 (set_start_address): Likewise.
51350 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51351 the right page.
51352 (check_vga_mem): Take the page into account.
51353 (write_char): Likewise.
51354 (write_cursor): Likewise.
51355 (scroll_up): Likewise. Copy the page to the page that is not
51356 shown and switch between both pages.
51357 (grub_vga_putchar): Fix off by one error.
51358 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51359 account.
51360
ad0bd20b 513612004-11-01 Marco Gerards <metgerards@student.han.nl>
51362
51363 Add support for iso9660 (including rockridge).
f19dbdb7 51364
ad0bd20b 51365 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51366 (iso9660_mod_SOURCES): New variable.
51367 (iso9660_mod_CFLAGS): Likewise.
51368 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51369 * include/grub/fs.h (grub_iso9660_init): New prototype.
51370 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51371 * fs/iso9660.c: New file.
51372
51373 * include/grub/misc.h (grub_strncat): New prototype.
51374 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51375
ad0bd20b 51376 * fs/hfs.c (grub_hfs_mount): Translate the error
51377 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51378 * fs/jfs.c (grub_jfs_mount): Likewise.
51379 * fs/ufs.c (grub_ufs_mount): Likewise.
51380
a5477a59 513812004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51382
51383 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51384 which initialized BAT registers.
51385 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51386 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51387 Move from here...
51388 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51389 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51390 ... to here.
51391 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51392 (grub_mapclaim): Likewise.
51393 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51394 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51395 hand.
51396
9304c1f8 513972004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51398
51399 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51400 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51401 -ffreestanding and -msoft-float.
51402
86f4ae25 514032004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51404
51405 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51406 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51407 set in grub_ieee1275_flags.
51408
38912228 514092004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51410
51411 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51412 prototype.
51413 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51414 grub_console_init first.
51415 Change the memory range used for grub_ieee1275_claim and
51416 grub_mm_init_region.
51417 Print an error message if the claim fails.
51418 Include <grub/misc.h>.
51419
d1923dc8 514202004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51421
51422 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51423 Call grub_children_iterate for device nodes of type `scsi',
51424 `ide', or `ata'.
51425 (grub_ofdisk_open): Remove manual device alias resolution.
51426 Fix memory leak when device cannot be opened.
f19dbdb7 51427 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51428 (grub_children_iterate): New prototype.
51429 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51430 New function.
51431 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51432 Return -1 if args.size was -1.
51433
4512e4f3 514342004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51435
51436 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51437 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51438 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51439 Open Firmware's memory for it; claim memory from _start to _end.
51440 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51441 (_end): New extern.
51442 (_start): Zero BSS from __bss_start to _end.
51443 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51444 New extern.
51445 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51446
4d61feb0 514472004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51448
ad0bd20b 51449 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51450 -1 if args.base was -1.
4d61feb0 51451
026fa2f9 514522004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51453
51454 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51455 escape sequence instead of a literal ^L. Also call
51456 grub_ofconsole_gotoxy.
51457
9f2220ef 514582004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51459
51460 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51461 void * arguments to grub_addr_t. All callers updated. Also make
51462 the `result' argument optional.
51463 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51464 All callers updated.
51465
8a572cd7 514662004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51467
51468 * commands/ls.c (grub_ls_list_files): Use the string following the
51469 initial ')', if present, as the filesystem path.
51470 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51471
51472 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51473
18aa81f2 514742004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51475
51476 Make the source code of the menu interface more readable.
f19dbdb7 51477
18aa81f2 51478 * normal/menu.c: Include grub/mm.h.
51479 (TERM_WIDTH): New macro.
51480 (TERM_HEIGHT): Likewise.
51481 (TERM_INFO_HEIGHT): Likewise.
51482 (TERM_MARGIN): Likewise.
51483 (TERM_SCROLL_WIDTH): Likewise.
51484 (TERM_TOP_BORDER_Y): Likewise.
51485 (TERM_LEFT_BORDER_X): Likewise.
51486 (TERM_BORDER_WIDTH): Likewise.
51487 (TERM_MESSAGE_HEIGHT): Likewise.
51488 (TERM_BORDER_HEIGHT): Likewise.
51489 (TERM_NUM_ENTRIES): Likewise.
51490 (TERM_FIRST_ENTRY_Y): Likewise.
51491 (TERM_ENTRY_WIDTH): Likewise.
51492 (TERM_CURSOR_X): Likewise.
51493 (draw_border): Use macros instead of magic numbers.
51494 (print_entry): Likewise.
51495 (print_entries): Likewise.
51496 (run_menu): Likewise. Also, handle the key 'e'.
51497 (run_menu_entry): Ignore empty command lines.
51498 (print_message): Added a new argument EDIT. If EDIT is true,
51499 print a different message.
51500 (init_page): Likewise.
51501 (edit_menu_entry): New function. Not implemented yet.
51502
b47efe30 515032004-09-17 Marco Gerards <metgerards@student.han.nl>
51504
51505 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51506 can be loaded from normal mode.
f19dbdb7 51507
b47efe30 51508 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51509 `multiboot.mod'.
51510 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51511 (multiboot_mod_CFLAGS): New variables.
51512 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51513 * loader/i386/pc/multiboot_normal.c: Likewise.
51514
b47efe30 51515 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51516 attribute `unused'.
f19dbdb7 51517
b47efe30 51518 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51519 `fdiro' to read the mode information from instead of `diro'.
51520
51521 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51522 looking up a symlink.
51523
51524 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51525 macro.
51526 * normal/command.c (grub_command_execute): Don't parse the
51527 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51528 flags of the command.
51529
51530 * normal/menu.c (grub_menu_run): Fix typo.
51531
da75ac71 515322004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51533
51534 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51535
51536 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51537 `y + 1' instead of `y - 1'.
51538
51539 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 51540
062b24c2 515412004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51542
51543 From Hollis Blanchard <hollis@penguinppc.org>:
51544 * kern/misc.c (memmove): New alias for grub_memmove.
51545 (memcmp): New alias for grub_memcmp.
51546 (memset): New alias for grub_memset.
f19dbdb7 51547 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 51548 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 51549 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 51550 (grub_ieee1275_get_property): Likewise.
f19dbdb7 51551
8ddad845 515522004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51553
51554 Added normal mode command `chainloader' as module chain.mod, which
51555 depends on normal.mod and _chain.mod.
f19dbdb7 51556
8ddad845 51557 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51558 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51559 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51560 Deleted prototype.
51561 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51562 but arguments parsing moved to ...
51563 (grub_chainloader_cmd): ... here. New function.
51564 * include/grub/i386/pc/chainloader.h: New file.
51565 * loader/i386/pc/chainloader_normal.c: Likewise.
51566
2c1f4ce3 515672004-09-11 Marco Gerards <metgerards@student.han.nl>
51568
51569 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51570 (grub_mkimage_LDFLAGS): Likewise.
51571 (grub_emu_SOURCES): Likewise.
51572 (kernel_img_HEADERS): Added fshelp.h.
51573 * fs/ext2.c: Include <grub/fshelp.h>.
51574 (FILETYPE_REG): New macro.
51575 (FILETYPE_INO_REG): Likewise.
51576 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51577 Changed all users.
51578 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51579 all users.
51580 (grub_fshelp_node): New struct.
51581 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51582 to a pointer.
51583 (grub_ext2_get_file_block): Removed function.
51584 (grub_ext2_read_block): New function.
51585 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51586 This function was written.
51587 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51588 (grub_ext2_find_file): Removed function.
51589 (grub_ext2_read_symlink): New function.
51590 (grub_ext2_iterate_dir): Likewise.
51591 (grub_ext2_open): Rewritten.
51592 (grub_ext2_dir): Rewritten.
51593 * include/grub/fshelp.h: New file.
51594 * fs/fshelp.c: Likewise.
51595
3c52136a 515962004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51597
51598 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51599 (print_message): Add a missing newline.
51600 (run_menu): Added timeout support.
51601 (run_menu_entry): New local function.
51602 (grub_menu_run): Added support for booting.
51603
51604 * kern/loader.c (grub_loader_is_loaded): New function.
51605
51606 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51607 (grub_get_rtc): Exported.
51608
51609 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51610 (grub_get_rtc): Exported.
51611
51612 * include/grub/normal.h (struct grub_command_list): Remove
51613 constant from the member `command'.
51614
51615 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51616
51617 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51618
51619 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51620
aa033560 516212004-08-28 Marco Gerards <metgerards@student.han.nl>
51622
51623 Add support for the JFS filesystem.
51624
51625 * fs/jfs.c: New file.
51626 * include/grub/fs.h (grub_jfs_init): New prototype.
51627 (grub_jfs_fini): New prototype.
51628 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51629 (grub_emu_SOURCES): Likewise.
51630 (pkgdata_MODULES): Add jfs.mod.
51631 (jfs_mod_SOURCES): New variable.
51632 (jfs_mod_CFLAGS): Likewise.
51633 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51634 (grubof_SOURCES): Likewise.
51635 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51636
51637 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51638 endian to the host endian.
51639 (grub_fat_utf16_to_utf8): Move function from there...
51640 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 51641 the endianness of the source string anymore.
aa033560 51642 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51643
94bc45af 516442004-08-24 Marco Gerards <metgerards@student.han.nl>
51645
51646 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51647 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51648 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51649 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 51650
94bc45af 51651 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51652 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51653 for `node_found' and `it_dir'.
51654 (grub_hfs_dir): Add prototype for `dir_hook'.
51655
51656 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51657 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51658 and `indir32' to silence a gcc warning.
51659
51660 * include/grub/fs.h (grub_hfs_init): New prototype.
51661 (grub_hfs_fini): Likewise.
f19dbdb7 51662
51663
97543f08 516642004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51665
51666 Each disk device has its own id now. This is useful to make use
51667 of multiple disk devices.
f19dbdb7 51668
97543f08 51669 * include/grub/disk.h (grub_disk_dev_id): New enum.
51670 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51671 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51672
51673 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
51674 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51675
51676 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
51677 GRUB_DISK_DEVICE_OFDISK_ID as an id.
51678
51679 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
51680 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51681
51682 * include/grub/disk.h (struct grub_disk_dev): Added a new member
51683 "id" which is used by the cache manager.
51684
51685 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
51686 of just "GRUB".
51687
64372eb4 516882004-08-18 Marco Gerards <metgerards@student.han.nl>
51689
51690 * fs/hfs.c: New file.
51691 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
51692 (grub_emu_SOURCES): Likewise.
51693 (pkgdata_MODULES): Add hfs.mod.
51694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
51695 (grubof_SOURCES): Likewise.
51696 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
51697
51698 * include/grub/misc.h (grub_strncasecmp): Add prototype.
51699 * kern/misc.c (grub_strncasecmp): Add function.
51700
cc61b58f 517012004-08-14 Marco Gerards <metgerards@student.han.nl>
51702
51703 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
51704 with parentheses.
51705
51706 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
51707 (grub_ext2_dir): In case the directory entry type is unknown, read
51708 it from the inode.
51709
0ef123f6 517102004-08-02 Peter Bruin <pjbruin@dds.nl>
51711
51712 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
51713 grub_load_linux instead of grub_rescue_cmd_linux as second
51714 argument of grub_rescue_register_command.
51715
51716 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
51717
a447c5df 517182004-07-27 Marco Gerards <metgerards@student.han.nl>
51719
51720 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
51721 function.
51722 * commands/boot.c: Remove the check for `GRUB_UTIL'.
51723 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51724 `loader/powerpc/ieee1275/linux.c',
51725 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
51726 * include/grub/powerpc/ieee1275/ieee1275.h
51727 (grub_ieee1275_release): New prototype.
51728 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
51729 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
51730 normal, boot, linux and linux_normal.
51731 * loader/powerpc/ieee1275/linux.c: New file.
51732 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
51733
5a9e3546 517342004-07-12 Marco Gerards <metgerards@student.han.nl>
51735
51736 * normal/arg.c (grub_arg_parse): Correct error handling after
51737 reallocating the argumentlist (check if `argl' is not null instead
51738 of checking if `args' is not null).
51739 * kern/mm.c (grub_realloc): Return the same pointer when using the
51740 same region, instead of returning the header address.
51741
e15199cb 517422004-07-11 Marco Gerards <metgerards@student.han.nl>
51743
51744 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
51745 one block instead of two when looking for the initial partition.
51746 (grub_partition_probe): Initialize the local variable `p' with 0.
51747 Use base 10 for the grub_strtoul call.
51748 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
51749 need for one local variable.
51750 (grub_strtoul): Don't add the new value to `num', instead of that
51751 just assign it.
51752
020616c2 517532004-07-11 Marco Gerards <metgerards@student.han.nl>
51754
51755 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
51756 (pxeboot_img_SOURCES): New variable.
51757 (pxeboot_img_ASFLAGS): Likewise.
51758 (pxeboot_img_LDFLAGS): Likewise.
51759 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
51760 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
51761 <lode_leroy@hotmail.com>.
51762
6c51eb64 517632004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51764
51765 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
51766 there was no input.
51767
cfb12aff 517682004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51769
51770 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
51771 the history buffer logic.
51772
6eabba74 517732004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51774
51775 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
51776 (FILETYPE_INO_SYMLINK): New macros.
51777 (grub_ext2_find_file): Check if the node is a directory using the
51778 inode stat information instead of using the filetype in the
51779 dirent. Exclude the first character of an absolute symlink.
51780 (grub_ext2_dir): Mask out the filetype part of the mode member of
51781 the inode.
51782
66e19ef8 517832004-05-24 Marco Gerards <metgerards@student.han.nl>
51784
51785 Add support for UFS version 1 and 2. Add support for the minix
51786 filesystem version 1 and 2, both the variants with 14 and 30 long
51787 filenames.
f19dbdb7 51788
66e19ef8 51789 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
51790 fs/minix.c.
51791 (grub_emu_SOURCES): Likewise.
51792 (pkgdata_MODULES): Add ufs.mod and minix.mod.
51793 (ufs_mod_SOURCES): New variable.
51794 (ufs_mod_CFLAGS): Likewise.
51795 (minix_mod_SOURCES): Likewise.
51796 (minix_mod_CFLAGS): Likewise.
51797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
51798 fs/minix.c.
51799 (grubof_SOURCES): Likewise.
51800 * fs/ufs.c: New file.
51801 * fs/minix.c: New file.
51802 * include/grub/fs.h (grub_ufs_init): New prototype.
51803 (grub_ufs_fini): Likewise.
51804 (grub_minix_init): Likewise.
51805 (grub_minix_fini): Likewise.
51806 * util/grub-emu.c (main): Initialize and deinitialize UFS and
51807 minix fs.
51808
cc2e748a 518092004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
51810
51811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
51812 commands/ls.c, commands/terminal.c, commands/boot.c,
51813 commands/cmp.c and commands/cat.c.
51814 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
51815
51816 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
51817 "env.h"
51818
4b13b216 518192004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51820
51821 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
51822 and grub_, respectively. Because the conversion is trivial and
51823 mechanical, I omit the details here. Please refer to the CVS
51824 if you need more information.
51825
6a142551 518262004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51827
51828 * include/pupa: Renamed to ...
51829 * include/grub: ... this.
51830 * util/i386/pc/pupa-mkimage.c: Renamed to ...
51831 * util/i386/pc/grub-mkimage.c: ... this.
51832 * util/i386/pc/pupa-setup.c: Renamed to ...
51833 * util/i386/pc/grub-setup.c: ... this.
51834 * util/pupa-emu.c: Renamed to ...
51835 * util/grub-emu.c: ... this.
51836
e56cdf21 518372004-03-29 Marco Gerards <metgerards@student.han.nl>
51838
51839 Add support for the newworld apple macintosh (PPC). This has been
51840 tested on the powerbook 2000 only. It only adds support for
51841 generic ieee1275 functions, console and disk support. This should
51842 be easy to port to other architectures with support for Open
51843 Firmware.
f19dbdb7 51844
e56cdf21 51845 * configure.ac: Accept the powerpc as host_cpu. In the case of
51846 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
51847 specific tests are only executed while building for the i386.
51848 Inverse test for crosscompile.
51849 * genmk.rb (Utility): Allow assembler files.
51850 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
51851 * conf/powerpc-ieee1275.rmk: New file.
51852 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
51853 * disk/powerpc/ieee1275/partition.c: Likewise.
51854 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
51855 * include/pupa/powerpc/ieee1275/console.h: Likewise.
51856 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
51857 * include/pupa/powerpc/ieee1275/time.h: Likewise.
51858 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
51859 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
51860 * include/pupa/powerpc/ieee1275/loader.h
51861 * include/pupa/powerpc/setjmp.h: Likewise.
51862 * include/pupa/powerpc/types.h: Likewise.
51863 * kern/powerpc/ieee1275/init.c: Likewise.
51864 * kern/powerpc/ieee1275/openfw.c: Likewise.
51865 * term/powerpc/ieee1275/ofconsole.c: Likewise.
51866
51867 These files were written by Johan Rydberg
51868 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 51869
e56cdf21 51870 * boot/powerpc/ieee1275/cmain.c: New file.
51871 * boot/powerpc/ieee1275/crt0.S: Likewise.
51872 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
51873 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
51874
8c8cc205 518752004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
51876
51877 * Makefile.in: Update copyright.
51878 * genmodsrc.sh: Likewise.
51879 * gensymlist.sh: Likewise.
51880 * term/i386/pc/vga.c: Indent correctly.
51881
51882 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
51883 bugreporting address.
51884 * util/i386/pc/pupa-setup.c (usage): Likewise,
51885 (main): Call pupa_ext2_init and pupa_ext2_fini.
51886
f19dbdb7 51887 * fs/fat.c (log2): Renamed to ...
8c8cc205 51888 (fat_log2): ... this.
51889 All callers changed.
51890 * kern/misc.c (memcpy): Alias to pupa_memmove.
51891 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
51892 lvalue cast.
51893 * util/console.c (pupa_ncurses_fini): Return 0.
51894
51895 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
51896 Move fail label here.
51897 [__GNU__]: Don't warn when using stat.
51898 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
51899 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
51900 long int. Use strtol instead of strtoul.
f19dbdb7 51901
db1771cf 519022004-03-14 Marco Gerards <metgerards@student.han.nl>
51903
51904 * commands/boot.c: New file.
51905 * commands/cat.c: Likewise.
51906 * commands/cmp.c: Likewise.
51907 * commands/ls.c: Likewise.
51908 * commands/terminal.c: Likewise.
51909 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
51910 (pupa_register_command): Changed interface to match the new
51911 argument parser.
51912 (pupa_command_execute): Changed (almost rewritten) so it uses
51913 pupa_split_command. Added support for setting variables using the
51914 syntax `foo=bar'.
51915 (rescue_command): Changed to work with the new argument parser.
51916 (terminal_command): Moved from here to commands/terminal.c.
51917 (set_command): New function.
51918 (unset_command): New function.
51919 (insmod_command): New function.
51920 (rmmod_command): New function.
51921 (lsmod_command): New function.
51922 (pupa_command_init): Don't initialize the command terminal
51923 anymore. Initialize the commands set, unset, insmod, rmmod and
51924 lsmod.
51925 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
51926 (kernel_img_HEADERS): Add arg.h and env.h.
51927 (pupa_mkimage_LDFLAGS): Add kern/env.c.
51928 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
51929 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
51930 normal/arg.c.
51931 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
51932 terminal.mod.
51933 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
51934 (boot_mod_SOURCES): New variable.
51935 (terminal_mod_SOURCES): Likewise.
51936 (ls_mod_SOURCES): Likewise.
51937 (cmp_mod_SOURCES): Likewise.
51938 (cat_mod_SOURCES): Likewise.
51939
51940 * normal/arg.c: New file.
51941 * kern/env.c: Likewise.
51942 * include/pupa/arg.h: Likewise.
51943 * include/pupa/env.h: Likewise.
51944 * font/manager.c (font_command): Changed to match argument parsing
51945 interface changes.
51946 (PUPA_MOD_INIT): Likewise.
51947 * hello/hello.c (pupa_cmd_hello): Likewise.
51948 (PUPA_MOD_INIT): Likewise.
51949 * include/pupa/disk.h: Include <pupa/device.h>.
51950 (pupa_print_partinfo): New prototype.
51951 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
51952 (pupa_dl_get_prefix): Likewise.
51953 * include/pupa/misc.h: Include <pupa/err.h>.
51954 (pupa_isgraph): New prototype.
51955 (pupa_isdigit): Likewise.
51956 (pupa_split_cmdline): Likewise.
51957 * include/pupa/normal.h: Include <pupa/arg.h>.
51958 (pupa_command): Changed the prototype of the member `func' to
51959 match the argument parsing interface. Added member `options'.
51960 (pupa_register_command): Updated to match function.
51961 (pupa_arg_parse): New prototype.
51962 (pupa_hello_init) [PUPA_UTIL]: New prototype.
51963 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
51964 (pupa_ls_init) [PUPA_UTIL]: Likewise.
51965 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
51966 (pupa_cat_init) [PUPA_UTIL]: Likewise.
51967 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
51968 (pupa_boot_init) [PUPA_UTIL]: Likewise.
51969 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
51970 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
51971 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
51972 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
51973 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
51974 * kern/disk.c: Include <pupa/file.h>.
51975 (pupa_print_partinfo): New function.
51976 * kern/dl.c: Include <pupa/env.h>.
51977 (pupa_dl_dir): Variable removed.
51978 (pupa_dl_load): Use the environment variable `prefix' instead of
51979 the variable pupa_dl_dir.
51980 (pupa_dl_set_prefix): Function removed.
51981 (pupa_dl_get_prefix): Likewise.
51982 * kern/i386/pc/init.c: Include <pupa/env.h>.
51983 (pupa_machine_init): Use the environment variable `prefix' instead of
51984 using pupa_dl_set_prefix to set the prefix.
51985 * kern/main.c: Include <pupa/env.h>.
51986 (pupa_set_root_dev): Use the environment variable `prefix' instead of
51987 using pupa_dl_get_prefix to get the prefix.
51988 * kern/misc.c: Include <pupa/env.h>.
51989 (pupa_isdigit): New function.
51990 (pupa_isgraph): Likewise.
51991 (pupa_ftoa): Likewise.
51992 (pupa_vsprintf): Added support for printing values of the type
51993 `double'. Make it possible to format variable output when using
51994 formatting like `%1.2%f'.
51995 (pupa_split_cmdline): New function.
51996 * kern/rescue.c: Include <pupa/env.h>.
51997 (next_word): Removed function.
51998 (pupa_rescue_cmd_prefix): Likewise.
51999 (pupa_rescue_cmd_set): New function.
52000 (pupa_rescue_cmd_unset): New function.
52001 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52002 split the command line instead of splitting it here. Added
52003 support for setting variables using the syntax `foo=bar'. Don't
52004 initialize the prefix command anymore. Initialized the set and
52005 unset commands.
52006 * normal/cmdline.c: Include <pupa/env.h>.
52007 (pupa_tab_complete): Added prototypes for print_simple_completion,
52008 print_partition_completion, add_completion, iterate_commands,
52009 iterate_dev, iterate_part and iterate_dir. Moved code to print
52010 partition information from here to kern/disk.c.
fe6b695a 52011 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52012 * normal/main.c: Include <pupa/env.h>.
52013 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52014 instead of using pupa_dl_get_prefix to get the prefix.
52015 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52016 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52017 warning.
52018 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52019 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52020 ((unused))' to silence a gcc warning.
52021 (pupa_vga_setcolor): Likewise.
52022 (debug_command): Changed to match argument parsing
52023 interface changes.
52024 * util/pupa-emu.c: Include <pupa/env.h>.
52025 (options): Added 0's for unused fields to silence a gcc warning.
52026 (argp): Likewise.
52027 (main): Use the environment variable `prefix' instead of using
52028 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52029 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52030 and terminal.
52031
52032 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52033 * util/misc.c: Include <malloc.h>.
52034 (pupa_malloc): Rewritten so errors are correctly reported.
52035 (pupa_realloc): Likewise.
52036 (pupa_memalign): Likewise.
52037 (pupa_mm_init_region): Declare unused variables with
52038 `__attribute__ ((unused))' to silence a gcc warning.
52039 * normal/i386/setjmp.S: Remove tab at the end of the file to
52040 silence a gcc warning.
52041 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52042 variables with `__attribute__ ((unused))' to silence a gcc
52043 warning.
52044 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52045 local variable i unsigned to silence a gcc warning.
52046
52047 * kern/term.c: Include <pupa/misc.h>.
52048 (pupa_more_lines): New variable.
52049 (pupa_more): Likewise.
52050 (pupa_putcode): When the pager is active pause at the end of every
52051 screen.
52052 (pupa_set_more): New function.
52053 * include/pupa/term.h (pupa_set_more): New prototype.
52054
52055
3b1139cb 520562004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52057
52058 Now this project is GRUB 2 rather than PUPA. The location of
52059 the CVS repository was moved to GRUB's.
f19dbdb7 52060
3b1139cb 52061 * configure.ac: Use bug-grub as the reporting address.
52062 Use GRUB instead of PUPA.
52063 Change the version number to 1.90.
52064
8367695c 520652004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52066
52067 * genkernsyms.sh: Updated copyright information.
52068 * genmk.rb: Likewise.
52069 * genmodsrc.sh: Likewise.
52070 * gensymlist.sh: Likewise.
52071 * boot/i386/pc/boot.S: Likewise.
52072 * boot/i386/pc/diskboot.S: Likewise.
52073 * disk/i386/pc/biosdisk.c: Likewise.
52074 * disk/i386/pc/partition.c: Likewise.
52075 * font/manager.c: Likewise.
52076 * fs/ext2.c: Likewise.
52077 * fs/fat.c: Likewise.
52078 * include/pupa/boot.h: Likewise.
52079 * include/pupa/device.h: Likewise.
52080 * include/pupa/disk.h: Likewise.
52081 * include/pupa/dl.h: Likewise.
52082 * include/pupa/elf.h: Likewise.
52083 * include/pupa/err.h: Likewise.
52084 * include/pupa/file.h: Likewise.
52085 * include/pupa/font.h: Likewise.
52086 * include/pupa/fs.h: Likewise.
52087 * include/pupa/kernel.h: Likewise.
52088 * include/pupa/loader.h: Likewise.
52089 * include/pupa/misc.h: Likewise.
52090 * include/pupa/mm.h: Likewise.
52091 * include/pupa/net.h: Likewise.
52092 * include/pupa/normal.h: Likewise.
52093 * include/pupa/rescue.h: Likewise.
52094 * include/pupa/setjmp.h: Likewise.
52095 * include/pupa/symbol.h: Likewise.
52096 * include/pupa/term.h: Likewise.
52097 * include/pupa/types.h: Likewise.
52098 * include/pupa/i386/setjmp.h: Likewise.
52099 * include/pupa/i386/types.h: Likewise.
52100 * include/pupa/i386/pc/biosdisk.h: Likewise.
52101 * include/pupa/i386/pc/boot.h: Likewise.
52102 * include/pupa/i386/pc/console.h: Likewise.
52103 * include/pupa/i386/pc/init.h: Likewise.
52104 * include/pupa/i386/pc/kernel.h: Likewise.
52105 * include/pupa/i386/pc/linux.h: Likewise.
52106 * include/pupa/i386/pc/loader.h: Likewise.
52107 * include/pupa/i386/pc/memory.h: Likewise.
52108 * include/pupa/i386/pc/multiboot.h: Likewise.
52109 * include/pupa/i386/pc/partition.h: Likewise.
52110 * include/pupa/i386/pc/time.h: Likewise.
52111 * include/pupa/i386/pc/vga.h: Likewise.
52112 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52113 * include/pupa/util/getroot.h: Likewise.
52114 * include/pupa/util/misc.h: Likewise.
52115 * include/pupa/util/resolve.h: Likewise.
52116 * kern/device.c: Likewise.
52117 * kern/disk.c: Likewise.
52118 * kern/dl.c: Likewise.
52119 * kern/err.c: Likewise.
52120 * kern/file.c: Likewise.
52121 * kern/fs.c: Likewise.
52122 * kern/loader.c: Likewise.
52123 * kern/main.c: Likewise.
52124 * kern/misc.c: Likewise.
52125 * kern/mm.c: Likewise.
52126 * kern/rescue.c: Likewise.
52127 * kern/term.c: Likewise.
52128 * kern/i386/dl.c: Likewise.
52129 * kern/i386/pc/init.c: Likewise.
52130 * kern/i386/pc/lzo1x.S: Likewise.
52131 * kern/i386/pc/startup.S: Likewise.
52132 * loader/i386/pc/chainloader.c: Likewise.
52133 * loader/i386/pc/linux.c: Likewise.
52134 * loader/i386/pc/multiboot.c: Likewise.
52135 * normal/cmdline.c: Likewise.
52136 * normal/command.c: Likewise.
52137 * normal/main.c: Likewise.
52138 * normal/menu.c: Likewise.
52139 * normal/i386/setjmp.S: Likewise.
52140 * term/i386/pc/console.c: Likewise.
52141 * term/i386/pc/vga.c: Likewise.
52142 * util/console.c: Likewise.
52143 * util/genmoddep.c: Likewise.
52144 * util/misc.c: Likewise.
52145 * util/pupa-emu.c: Likewise.
52146 * util/resolve.c: Likewise.
52147 * util/unifont2pff.rb: Likewise.
52148 * util/i386/pc/biosdisk.c: Likewise.
52149 * util/i386/pc/getroot.c: Likewise.
52150 * util/i386/pc/pupa-mkimage.c: Likewise.
52151 * util/i386/pc/pupa-setup.c: Likewise.
52152
e6eced71 521532004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52154
52155 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52156 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52157 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52158 reading and reset it after reading.
52159 (pupa_ext2_close): Return PUPA_ERR_NONE.
52160
52161 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52162 Correct value.
52163 (struct linux_kernel_header): Add kernel_version and
52164 initrd_addr_max.
52165 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52166 pupa_file_read succeeds.
52167 (pupa_rescue_cmd_initrd): Implement.
52168
5aded270 521692003-12-03 Marco Gerards <metgerards@student.han.nl>
52170
52171 * fs/ext2.c (pupa_ext2_label): New function.
52172 (pupa_ext2_fs): Added label.
52173 * fs/fat.c (pupa_fat_label): New function.
52174 (pupa_fat_fs): Added label.
52175 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52176
52177 * kern/misc.c (pupa_strndup): New function.
52178 * include/pupa/misc.h (pupa_strndup): New prototype.
52179
52180 * include/pupa/normal.h: Include <pupa/err.h>.
52181 (pupa_set_history): New prototype.
52182 (pupa_iterate_commands): New prototype.
52183 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52184 <pupa/disk.h>, <pupa/file.h>.
52185 (hist_size): New variable.
52186 (hist_lines): Likewise.
52187 (hist_end): Likewise.
52188 (hist_used): Likewise.
52189 (pupa_set_history): New function.
52190 (pupa_history_get): Likewise.
52191 (pupa_history_add): Likewise.
52192 (pupa_history_replace): Likewise.
52193 (pupa_tab_complete): Likewise.
52194 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52195 completion shows partitionnames while completing partitions, this
52196 feature was suggested by Jeff Bailey.
52197 * normal/command.c (pupa_iterate_commands): New function.
52198 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52199 (pupa_normal_init): Initialize history buffer.
52200 (PUPA_MOD_INIT): Likewise.
52201 (pupa_normal_fini): Free the history buffer.
52202 (PUPA_MOD_FINI): Likewise.
52203
52204 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52205 key.
52206
52207 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52208 * configure.ac [i386]: Check for regparam bug.
52209 (NESTED_FUNC_ATTR) [! i386]: Defined.
52210
1f7315a3 522112003-11-17 Marco Gerards <metgerards@student.han.nl>
52212
52213 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52214 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52215 (pupa_emu_SOURCES): New variable.
52216 (pupa_emu_LDFLAGS): Likewise.
52217 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52218 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52219 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52220 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52221 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52222 (pupa_jmp_buf): New typedef.
52223 (pupa_setjmp) [PUPA_UTIL]: New macro.
52224 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52225 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52226 (pupa_refresh): New prototype.
52227 * include/pupa/util/getroot.h: New file.
52228 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52229 it.
52230 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52231 (pupa_rescue_cmd_cat): Likewise.
52232 (pupa_rescue_cmd_ls): Likewise.
52233 (pupa_rescue_cmd_testload): Likewise.
52234 (pupa_rescue_cmd_lsmod): Likewise.
52235 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52236 * normal/menu.c (run_menu): Likewise.
52237 * kern/term.c (pupa_cls): Likewise.
52238 (pupa_refresh): New function.
52239 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52240 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52241 * util/console.c: New file.
f19dbdb7 52242
1f7315a3 52243 * util/i386/pc/getroot.c: New file.
52244 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52245 (pupa_putchar): New function.
52246 (pupa_refresh): Likewise.
52247 (xgetcwd): Function moved to ...
52248 (strip_extra_slashes): Likewise.
52249 (get_prefix): Likewise.
f19dbdb7 52250 * util/i386/pc/getroot.c: ... here.
1f7315a3 52251 (find_root_device): Function moved and renamed to...
52252 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52253 Changed all callers.
52254 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52255 and renamed to...
52256 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52257 Changed all callers.
52258 * util/misc.c (pupa_memalign): New function.
52259 (pupa_mm_init_region): Likewise.
52260 (pupa_register_exported_symbols): Likewise.
52261 (pupa_putchar): Function removed.
52262 * util/pupa-emu.c: New file.
52263
9a5c1ade 522642003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52265
52266 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52267 (_multiboot_mod_SOURCES): New variable.
52268 (_multiboot_mod_CFLAGS): Likewise.
52269 * loader/i386/pc/multiboot.c: New file.
52270 * include/pupa/i386/pc/multiboot.h: Likewise.
52271 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52272 (pupa_multiboot_real_boot): New function.
52273 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52274 (pupa_multiboot_real_boot): New prototype.
52275 (pupa_rescue_cmd_multiboot): Likewise
52276 (pupa_rescue_cmd_module): Likewise.
52277
52278 * kern/loader.c (pupa_loader_set): Continue when
52279 pupa_loader_unload_func() fails.
52280 (pupa_loader_unset): New function.
52281 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52282
52283 * kern/misc.c (pupa_stpcpy): New function.
52284 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52285
8e72a9c0 522862003-11-12 Marco Gerards <metgerards@student.han.nl>
52287
52288 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52289 for available extensions.
52290
52291 * include/pupa/i386/pc/time.h: New file.
52292 * kern/disk.c: Include <pupa/machine/time.h>.
52293 (PUPA_CACHE_TIMEOUT): New macro.
52294 (pupa_last_time): New variable.
52295 (pupa_disk_open): Flush the cache when there was a timeout.
52296 (pupa_disk_close): Reset the timer.
52297 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52298 pupa_currticks.
52299 * util/misc.c: Include <sys/times.h>
52300 (pupa_get_rtc): New function.
52301
c4adbd32 523022003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52303
52304 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52305 as blocks.
52306 (pupa_ext2_get_file_block): Use blocks member.
52307
52308 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52309 first block. Return -1 instead of pupa_errno on error.
52310
bfd30f06 523112003-10-27 Marco Gerards <metgerards@student.han.nl>
52312
52313 * README: In the pupa-mkimage example use _chain instead of chain
52314 and ext2 instead of fat.
52315 * TODO: Replace ext2fs with jfs as an example. Add an item for
52316 adding journal playback for ext2fs.
52317 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52318 (pkgdata_MODULES): Added ext2.mod.
52319 (ext2_mod_SOURCES): New variable.
52320 (ext2_mod_CFLAGS): Likewise.
52321 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52322 * include/pupa/misc.h (pupa_strncpy): New prototype.
52323 (pupa_strcat): Likewise.
52324 (pupa_strncmp): Likewise.
52325 * kern/misc.c (pupa_strcat): Enable function.
52326 (pupa_strncpy): New function.
52327 (pupa_strncmp): Likewise.
52328 * fs/ext2.c: New file.
f19dbdb7 52329
bfd30f06 52330 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52331 when the read failed before retrying.
52332 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52333 (_FILE_OFFSET_BITS): Likewise.
52334 * configure.ac: Added AC_SYS_LARGEFILE.
52335
98d15063 523362003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52337
52338 * genmk.rb (PModule#rule): Make sure to get only symbol names
52339 from the output of nm.
59cad637 52340 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52341
18d9c7cd 523422003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52343
52344 I forgot to check in these changes for a long time. This adds
52345 incomplete support for VGA console, and this is still very
52346 buggy. Also, a lot of consideration is required for I18N,
52347 UNICODE, and VGA font issues. Therefore, assume that this is
52348 such that "better than nothing".
f19dbdb7 52349
18d9c7cd 52350 * font/manager.c: New file.
52351 * include/pupa/font.h: Likewise.
52352 * include/pupa/i386/pc/vga.h: Likewise.
52353 * term/i386/pc/vga.c: Likewise.
52354 * util/unifont2pff.rb: Likewise.
52355
52356 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52357 (pkgdata_MODULES): Added vga.mod and font.mod.
52358 (vga_mod_SOURCES): New variables.
52359 (vga_mod_CFLAGS): Likewise.
52360 (font_mod_SOURCES): Likewise.
52361 (font_mod_CFLAGS): Likewise.
52362
52363 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52364
52365 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52366 (struct pupa_term): Added init and fini.
18d9c7cd 52367 Changed the argument of putchar to pupa_uint32_t.
52368
52369 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52370 (pupa_console_real_putchar): New prototype.
52371 (pupa_console_putchar): Removed.
52372 (pupa_console_checkkey): Exported.
52373 (pupa_console_getkey): Likewise.
52374
52375 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52376 characters.
52377
52378 * kern/term.c (pupa_term_set_current): Rewritten.
52379 (pupa_putchar): Likewise.
52380 (pupa_putcode): New function.
52381
52382 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52383 (pupa_console_real_putchar): ... this.
52384 (pupa_vga_set_mode): New function.
52385 (pupa_vga_get_font): Likewise.
52386
52387 * normal/command.c: Include pupa/term.h.
52388 (terminal_command): New function.
52389 (pupa_command_init): Register the command "terminal".
52390
52391 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52392 (DISP_UP): Likewise.
52393 (DISP_RIGHT): Likewise.
52394 (DISP_DOWN): Likewise.
52395 (DISP_HLINE): Likewise.
52396 (DISP_VLINE): Likewise.
52397 (DISP_UL): Likewise.
52398 (DISP_UR): Likewise.
52399 (DISP_LL): Likewise.
52400 (DISP_LR): Likewise.
52401
52402 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52403
977329f5 524042003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52405
52406 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52407 FIX. Reverse the path_list.
52408
52409 * include/pupa/normal.h: Export pupa_register_command and
52410 pupa_unregister_command.
52411
52412 * hello/hello.c (pupa_cmd_hello): New module.
52413 * conf/i386-pc.rmk: Added hello.mod.
52414
1f5ab428 524152003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52416
52417 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52418
1f5ab428 52419 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52420 (compress_kernel): New variable.
52421 (generate_image): Heavily modified to support compressing a
52422 large part of the core image.
52423
52424 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52425 leak.
52426 (pupa_util_load_image): New function.
52427
52428 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52429 (pupa_compressed_size): New variable.
52430 (codestart): Enable Gate A20 here.
52431 Decompress the compressed part of the core image.
52432 Rearrange the code to put functions and variables which are
52433 required for initialization in the non-compressed part.
52434 Include lzo1x.S.
52435
52436 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52437 here.
52438
52439 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52440
f19dbdb7 52441 * include/pupa/i386/pc/kernel.h
1f5ab428 52442 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52443 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52444 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52445 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52446 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52447
52448 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52449
52450 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52451 (Utility#rule): Likewise.
52452
52453 * configure.ac: Check if LZO is available.
52454
ce5bf700 524552003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52456
52457 * include/pupa/normal.h: New file.
52458 * include/pupa/setjmp.h: Likewise.
52459 * include/pupa/i386/setjmp.h: Likewise.
52460 * normal/cmdline.c: Likewise.
52461 * normal/command.c: Likewise.
52462 * normal/main.c: Likewise.
52463 * normal/menu.c: Likewise.
52464 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52465
ce5bf700 52466 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52467 (pupa_rescue_cmd_initrd): Likewise.
52468
52469 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52470 Likewise.
52471
52472 * kern/i386/pc/startup.S (translation_table): New variable.
52473 (translate_keycode): New function.
52474 (pupa_console_getkey): Call translate_keycode.
52475
52476 * kern/rescue.c (attempt_normal_mode): New function.
52477 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52478 it failed, print a message.
52479
52480 * kern/mm.c (pupa_real_malloc): Print more information when a
52481 free magic is broken.
52482 (pupa_free): If the first free header is not free actually, set
52483 it to P.
52484
52485 * kern/main.c (pupa_load_normal_mode): Just load the module
52486 "normal".
52487 (pupa_main): Don't print the message
52488 "Entering into rescue mode..." here.
52489
52490 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52491 Declared.
52492 (pupa_rescue_cmd_initrd): Likewise.
52493 (pupa_rescue_cmd_initrd): Likewise.
52494
52495 * include/pupa/symbol.h (FUNCTION): Specify the type.
52496 (VARIABLE): Likewise.
52497
52498 * include/pupa/err.h (pupa_err_t): Added
52499 PUPA_ERR_UNKNOWN_COMMAND.
52500
52501 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52502 (pupa_dl_get_prefix): Likewise.
52503
52504 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52505 Added _chain.mod and _linux.mod instead of chain.mod and
52506 linux.mod.
52507 (chain_mod_SOURCES): Renamed to ...
52508 (_chain_mod_SOURCES): ... this.
52509 (chain_mod_CFLAGS): Renamed to ...
52510 (_chain_mod_CFLAGS): ... this.
52511 (linux_mod_SOURCES): Renamed to ...
52512 (_linux_mod_SOURCES): ... this.
52513 (linux_mod_CFLAGS): Renamed to ...
52514 (_linux_mod_CFLAGS): ... this.
52515 (normal_mod_SOURCES): New variable.
52516 (normal_mod_CFLAGS): Likewise.
52517 (normal_mod_ASFLAGS): Likewise.
52518
525192003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52520
52521 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52522 possible.
52523
fe6b695a 52524 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52525 recursively.
52526 (pupa_dl_unref): Unrefer depending modules recursively.
52527 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52528 a module is unloaded before one depending on that module is
52529 unloaded.
52530 (pupa_dl_unload): Unload depending modules explicitly,
52531 if possible.
52532
c04da074 525332003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52534
52535 * include/pupa/i386/pc/linux.h: New file.
52536 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 52537
c04da074 52538 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52539 Removed.
52540 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52541 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52542 of PUPA_CHAINLOADER_BOOT_SECTOR.
52543
52544 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52545 (pupa_linux_prot_size): New variable.
52546 (pupa_linux_tmp_addr): Likewise.
52547 (pupa_linux_real_addr): Likewise.
52548 (pupa_linux_boot_zimage): New function.
52549 (pupa_linux_boot_bzimage): Likewise.
52550
52551 * kern/i386/pc/init.c (struct mem_region): New structure.
52552 (MAX_REGIONS): New macro.
52553 (mem_regions): New variable.
52554 (num_regions): Likewise.
52555 (pupa_os_area_addr): Likewise.
52556 (pupa_os_area_size): Likewise.
52557 (pupa_lower_mem): Likewise.
52558 (pupa_upper_mem): Likewise.
52559 (add_mem_region): New function.
52560 (compact_mem_regions): Likewise.
52561 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52562 the size of the conventional memory and that of so-called upper
52563 memory (before the first memory hole).
52564 Instead of adding each found region to free memory, use
52565 add_mem_region and add them after removing overlaps.
52566 Also, add only 1/4 of the upper memory to free memory. The rest
52567 is used for loading OS images. Maybe this is ad hoc, but this
52568 makes it much easier to relocate OS images when booting.
52569
52570 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52571 (pupa_enter_rescue_mode): Don't register initrd and module.
52572
52573 * kern/mm.c: Include pupa/dl.h.
52574
52575 * kern/main.c: Include pupa/file.h and pupa/device.h.
52576
52577 * kern/loader.c (pupa_loader_load_module_func): Removed.
52578 (pupa_loader_load_module): Likewise.
52579
52580 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52581 ``.o''.
52582
52583 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52584 (pupa_linux_tmp_addr): Likewise.
52585 (pupa_linux_real_addr): Likewise.
52586 (pupa_linux_boot_zimage): Likewise.
52587 (pupa_linux_boot_bzimage): Likewise.
52588
52589 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52590 (pupa_upper_mem): Likewise.
52591 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52592 module is too dangerous.
52593
52594 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52595 (pupa_os_area_size): Likewise.
52596 (pupa_loader_set): Remove the first argument. Loader doesn't
52597 manage modules or initrd any longer.
52598 (pupa_loader_load_module): Removed.
52599
52600 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52601 (linux_mod_SOURCES): New variable.
52602 (linux_mod_CFLAGS): Likewise.
52603
a13f9237 526042003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52605
52606 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52607 the length of a blocklist correctly.
52608
52609 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52610 Use ioctl only if the OS file is a block device.
52611 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52612 not very useful for normal files.
52613
52614 * kern/main.c (pupa_set_root_dev): New function.
52615 (pupa_load_normal_mode): Likewise.
52616 (pupa_main): Call those above.
52617
52618 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52619 pupa_uint16_t.
52620
52621 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52622
a5ffe966 526232003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52624
52625 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52626 (setup): Configure the installed partition information and the
52627 dl prefix.
52628
52629 * loader/i386/pc/chainloader.c (my_mod): New variable.
52630 (pupa_chainloader_unload): New function.
52631 (pupa_rescue_cmd_chainloader): Refer itself.
52632 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52633
52634 * kern/i386/pc/startup.S (install_partition): Removed.
52635 (version_string): Likewise.
52636 (config_file): Likewise.
52637 (pupa_install_dos_part): New variable.
52638 (pupa_install_bsd_part): Likewise.
52639 (pupa_prefix): Likewise.
52640 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52641
52642 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52643 and pupa/misc.h.
52644 (make_install_device): New function.
52645 (pupa_machine_init): Set the dl prefix.
52646
52647 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52648 (buf): Renamed to ...
52649 (linebuf): ... this.
52650 (pupa_rescue_cmd_prefix): New function.
52651 (pupa_rescue_cmd_insmod): Likewise.
52652 (pupa_rescue_cmd_rmmod): Likewise.
52653 (pupa_rescue_cmd_lsmod): Likewise.
52654 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52655 rmmod and lsmod.
52656
52657 * kern/mm.c (pupa_memalign): If failed even after invalidating
52658 disk caches, unload unneeded modules and retry.
52659
52660 * kern/misc.c (pupa_memmove): New function.
52661 (pupa_memcpy): Removed.
52662 (pupa_strcpy): New function.
52663 (pupa_itoa): Made static.
52664
52665 * kern/dl.c (pupa_dl_iterate): New function.
52666 (pupa_dl_ref): Likewise.
52667 (pupa_dl_unref): Likewise.
52668 (pupa_dl_unload): Return if succeeded or not.
52669 (pupa_dl_unload_unneeded): New function.
52670 (pupa_dl_unload_all): Likewise.
52671 (pupa_dl_init): Renamed to ...
52672 (pupa_dl_set_prefix): ... this.
52673 (pupa_dl_get_prefix): New function.
52674
52675 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
52676 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
52677 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52678 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52679 (pupa_install_dos_part): Declared.
52680 (pupa_install_bsd_part): Likewise.
52681 (pupa_prefix): Likewise.
52682 (pupa_boot_drive): Likewise.
52683
52684 * include/pupa/types.h: Fix a typo.
52685
52686 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
52687 pupa_memmove.
52688 (pupa_memmove): Declared.
52689 (pupa_strcpy): Likewise.
52690
52691 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
52692 pupa_mod_init takes one argument, its own module.
52693 (pupa_dl_unload_unneeded): Declared.
52694 (pupa_dl_unload_all): Likewise.
52695 (pupa_dl_ref): Likewise.
52696 (pupa_dl_unref): Likewise.
52697 (pupa_dl_iterate): Likewise.
52698 (pupa_dl_init): Renamed to ...
52699 (pupa_dl_set_prefix): ... this.
52700 (pupa_dl_get_prefix): Declared.
52701
52702 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 52703 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 52704 unloaded.
52705 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
52706 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
52707
52708 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
52709 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
52710
012d7999 527112003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52712
52713 * util/i386/pc/pupa-setup.c (setup): Define the internal
52714 function find_first_partition_start at the top level, because GCC
52715 3.0.x cannot compile internal functions in deeper scopes
52716 correctly.
52717 (find_root_device): Use lstat instead of stat.
52718 Don't follow symbolic links.
52719 Fix the path-constructing code.
52720
52721 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
52722 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
52723 by a BLKGETSIZE ioctl first, because block devices don't fill
52724 the member st_mode of the structure stat on Linux.
52725 [__linux__] (linux_find_partition): Use a temporary buffer
52726 REAL_DEV for the working space. Copy it to DEV before returning.
52727 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
52728 buffer cache consistent.
52729 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
52730 strncmp. The previous value was merely wrong.
52731 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
52732
52733 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
52734 FAT size is 12. The previous value was merely wrong.
52735
52736 * kern/main.c (pupa_main): Don't split the starting message from
52737 newlines.
52738
52739 * kern/term.c (pupa_putchar): Put CR after LF instead of before
52740 LF, because BIOS goes crazy about character attributes in this
52741 case.
52742
1cc73a62 527432003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52744
52745 * include/i386/pc/util/biosdisk.h: New file.
52746 * util/i386/pc/biosdisk.c: Likewise.
52747 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 52748
1cc73a62 52749 * Makefile.in (INCLUDE_DISTFILES): Added
52750 include/pupa/i386/pc/util/biosdisk.h.
52751 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
52752 directory util/i386/pc.
52753 (install-local): Added a rule for sbin_UTILITIES.
52754 (uninstall): Likewise.
52755
52756 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
52757
52758 * util/misc.c (xrealloc): New function.
52759 (pupa_malloc): Likewise.
52760 (pupa_free): Likewise.
52761 (pupa_realloc): Likewise.
52762 (pupa_stop): Likewise.
52763 (pupa_putchar): Likewise.
52764
52765 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
52766
52767 * include/pupa/util/misc.h (xrealloc): Declared.
52768
52769 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
52770 macro.
52771 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
52772 (PUPA_BOOT_MACHINE_BPB_END): ... this.
52773
52774 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
52775 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52776
52777 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
52778 way should be implemented.
52779 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52780
52781 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
52782 the size of NAME for safety.
52783 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
52784 0x88.
52785
52786 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
52787 (pupa_setup_SOURCES): Likewise.
52788
52789 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
52790
08b70fe8 527912002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52792
52793 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
52794 bunch of pushl's from pusha, because this destroys the return
52795 value.
52796
62ddcc8f 527972002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52798
52799 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
52800 This means that any missing prototypes could be fatal. Also, you
52801 must take care when writing assembly code. See the comments at
52802 the beginning of startup.S, for more details.
f19dbdb7 52803
62ddcc8f 52804 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
52805 compilation mechanism.
52806 (pupa_chainloader_real_boot): Likewise.
52807 (pupa_biosdisk_rw_int13_extensions): Likewise.
52808 (pupa_biosdisk_rw_standard): Likewise.
52809 (pupa_biosdisk_check_int13_extensions): Likewise.
52810 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
52811 (pupa_biosdisk_get_diskinfo_standard): Likewise.
52812 (pupa_get_memsize): Likewise.
52813 (pupa_get_mmap_entry): Likewise.
52814 (pupa_console_putchar): Likewise.
52815 (pupa_console_setcursor): Likewise.
52816 (pupa_getrtsecs): Use pushl instead of push.
52817
52818 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
52819 memory instead of the stack for a mmap entry, because some
52820 BIOSes may ignore the maximum size and overflow.
52821
52822 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
52823
52824 * genmk.rb (PModule#rule): Compile automatically generated
52825 sources with module-specific CFLAGS as well as other sources.
52826
9962ed99 528272002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52828
52829 * configure.ac: Check ld.
52830 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
52831 respectively, before checking endianness and sizes.
52832
52833 * Makefile.in (LD): New variable.
f19dbdb7 52834
abdfc3c5 528352002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52836
52837 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
52838
6a161fa9 528392002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52840
52841 * Changelog: New file.
52842