]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
[grub2.git] / ChangeLog
CommitLineData
a1f00cc5
CW
12013-11-18 Colin Watson <cjwatson@ubuntu.com>
2
3 * util/grub-mkrescue.c (main): Fix typo.
4
74e632fe
VS
52013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
8 clock frequency to 200 MHz,
9
efb8de49
VS
102013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * tests/util/grub-shell.in: Increase console size to 1024x1024.
13
b7526e78
VS
142013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * Makefile.am (default_payload.elf): Add pata to loaded modules.
17 Load config file from (cbfsdisk)/etc/grub.cfg.
18
b40ce651
VS
192013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * util/grub-install-common.c (grub_install_copy_files): Fix module
22 destination directory.
23
1e8e2e78
CW
242013-11-18 Colin Watson <cjwatson@ubuntu.com>
25
26 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
27 files have not been built.
28
3bf4088b
CW
292013-11-18 Colin Watson <cjwatson@ubuntu.com>
30
31 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
32 Handle errors from mkstemp.
33 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
34
35c2851c
VS
352013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
38 on primary master on pseries.
39
ea7c1a7d
VS
402013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
43 already loaded. This saves memory needed for tests,
44
96adefdb
VS
452013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
48 work again.
49
5e3cb8a7
VS
502013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
53 work again.
54
256ee7ac
VS
552013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
58 master since with some combinations of qemu and firmware only primary
59 IDE channel is available.
60
f8b4c3b6
VS
612013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
64 low-memory platforms where we don't have enough memory for them.
65 * grub-core/tests/videotest_checksum.c: Likewise.
66
4bf70320
VS
672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
70 already loaded. This saves memory needed for tests,
71
a284320e
VS
722013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
73
74 Fix handling of install lists.
75
2df8f43d
VS
762013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
79
6f1bc8bc
VS
802013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
81
82 On i386-ieee1275 we run in paged mode. So we need to explicitly map
83 the devices before accessing them.
84
04f39f6d
VS
852013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
88 as file argument.
89
35d4761c
VS
902013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
93
33d02a42
VS
942013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
97 (grub_file_close): Free file->name.
98
7bbb60cf
VS
992013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * grub-core/commands/verify.c (free_pk): Plug memory leak.
102 (grub_load_public_key): Likewise.
103 (grub_verify_signature_real): Likewise.
104 (grub_cmd_verify_signature): Likewise.
105
da93d675
VS
1062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
109 memory leak.
110
59c943ec
VS
1112013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
114 (grub_longjmp): Restore r31.
115 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
116
4336b5d8
VS
1172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
120 modules to be in line with make_image_abs.
121
44ce3a93
VS
1222013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
125
126 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
127
7d400406
IC
1282013-11-17 Ian Campbell <ijc@hellion.org.uk>
129
130 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
131
77dae919
VS
1322013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
135 to leave some memory to firmware.
136
0ab8e025
VS
1372013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
140 of loading gfxterm as gfxterm is embed in kernel on some platforms.
141 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
142 Load gfxmenu.
143
b80c2d6d
VS
1442013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
147 now needs full arguments.
148
6aa6077b
VS
1492013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * util/grub-mkrescue.c (main): Add trailing \n in
152 .disk_label.contentDetails to be in line with previous shell script.
153
66c00cb1
VS
1542013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
157
3a129dba
VS
1582013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * util/grub-install-common.c (grub_install_parse): Recognize
161 --compress=none like shell script did.
162
8df6eff6
VS
1632013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * include/grub/misc.h: Replace check for __sparc64__ with one for
166 __sparc__ as __sparc64__ isn't actually defined.
167
889ebe92
VS
1682013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
171 counterpart of fixing the naming of escc ports.
172
d4d55b29
VS
1732013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * util/grub-install-common.c (platforms): Fix the order of entries and
176 remove useless field val.
177
55e2c84f
VS
1782013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * util/grub-install.c: Add new option --no-bootsector to skip
181 installing of bootsector. Accept --grub-setup=/bin/true as
182 backwards-compatible synonym.
183
cd46aa6c
VS
1842013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
185
186 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
187 order of qsort arguments (number of elements vs. element size).
188
1892013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
190
191 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
192 the function of these files exceeds what can be sanely handled in shell
193 in posix-comaptible way. Also writing it in C extends the functionality
194 to non-UNIX-like OS and minimal environments.
195
9ef81064
VS
1962013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
199 compiling to thumb2.
200 * grub-core/kern/arm/cache_armv7.S: Likewise.
201 * grub-core/lib/arm/setjmp.S: Likewise.
202
11a77932
LL
2032013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
204
205 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
206 in grub_uboot_syscall
207
080603f0
VS
2082013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
209
210 Decrease stack usage in lexer.
211
212 We have only 92K of stack and using over 4K per frame is wasteful
213
214 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
215 as macros so that compiler would remove useless structure on stack.
216 Better solution would be to fix flex not to put this structure on
217 the stack but flex is external program.
218
4f84ae0e
VS
2192013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
220
221 Decrease stack usage in signature verification.
222
223 We have only 92K of stack and using over 4K per frame is wasteful
224
225 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
226 rather than stack.
227 (grub_verify_signature_real): Likewise.
228
e6a6182d
VS
2292013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
230
231 Decrease stack usage in mdraid 0.9x.
232
233 We have only 92K of stack and using over 4K per frame is wasteful
234
235 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
236 rather than stack.
237
1a454efe
VS
2382013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
239
240 Decrease stack usage in BtrFS.
241
242 We have only 92K of stack and using over 4K per frame is wasteful
243
244 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
245 rather than stack.
246
7b5d51d8
VS
2472013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
248
249 Decrease stack usage in JFS.
250
251 We have only 92K of stack and using over 4K per frame is wasteful
252
253 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
254 stack. Note: this function is recursive.
255 (grub_jfs_read_inode): Read only part we care about.
256
593865b9
LL
2572013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
258
259 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
260 handling
7b5d51d8 261
31c0cd43
AB
2622013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
263
264 * configure.ac: Restore -nostdlib for libgcc symbols tests.
265
c2fdb331
AB
2662013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
267
268 * docs/grub.texi (Environment): Document cmdpath.
269
9e18dfe2
AB
2702013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
271
272 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
273 Remove "unused" attribute from arguments, they are used.
274
59ba9d14
CW
2752013-11-15 Colin Watson <cjwatson@debian.org>
276
277 * .gitignore: Only ignore grub-mk* at the top level.
278
23012db9
CW
2792013-11-15 Colin Watson <cjwatson@ubuntu.com>
280
281 * util/grub-reboot.in (usage): Fix a typo.
282
6fcec439
VS
2832013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
284
285 Replace libgcc version of ctz with our own.
286
287 On upcoming arm64 port libgcc ctz* are not usable in standalone
288 environment. Since we need ctz* for this case and implementation is
289 in C we may as well use it on all concerned platforms.
290
a9f25a08
VS
2912013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * configure.ac: Probe for linking format rather than guessing it based
294 on target_os.
295
c7995256
VS
2962013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
299 "1" prior to handoff.
300
301 Reported by: M A Young.
302
e1aa5b66
VS
3032013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
306 \0 to all files.
307
308 Reported by: M A Young.
309
da5ed5cf
VS
3102013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
313 compilation on NetBSD.
314
5757a93e
VS
3152013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * acinclude.m4: Don't add -P on initial nm test.
318
319 Note: even though this patch postdates Andrey's it bears 14 Nov as
320 date due to timezone difference.
321
a5986276
AB
3222013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
323
324 * grub-core/Makefile.core.def (signature_test): Add missing
325 tests/signatures.h.
326
0de172a0
CW
3272013-11-14 Colin Watson <cjwatson@ubuntu.com>
328
329 * util/grub-install_header: Set localedir here, since this file is
330 where it's used.
331 * util/grub-install.in: Remove setting of localedir.
332 * util/grub-mkrescue.in: Likewise.
333
da45f43c
VS
3342013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
337
20aea949
VS
3382013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * configure.ac: Move nm checks to the end.
341 Call grub_PROG_NM_WORKS.
342 * acinclude.m4: New check grub_PROG_NM_WORKS.
343 Use $TARGET_CFLAGS -c when compiling test binary.
344
1326b9ae
CW
3452013-11-14 Colin Watson <cjwatson@ubuntu.com>
346
347 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
348 unused variables.
349
1fe26ab4
MG
3502013-11-14 Matthew Garrett <mjg@redhat.com>
351
352 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
353 cmdpath to firmware directory.
354
83e9c273
VS
3552013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
358 at the start of second iteration.
359
ec525c18
VS
3602013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
363
93fcc7ad
VS
3642013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
365
366 * Makefile.am (default_payload.elf): New target for easier coreboot
367 build.
368
57ffe934
VS
3692013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
372 clang (not necessarry with -no-integrated-as).
373 * include/grub/symbol.h [__arm__]: Likewise.
374
2312f06c
VS
3752013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * configure.ac: Use -no-integrated-as on arm with clang.
378 * INSTALL: Mention ARM compilation with clang.
379
2416415c
VS
3802013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
383 -mthumb-interwork.
384
5da55172
CW
3852013-11-14 Colin Watson <cjwatson@ubuntu.com>
386
387 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
388 code for indirect block handling.
389
390 Saves 185 bytes on compressed image.
391
da770328
PFS
3922013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
393
394 Fix make clean.
395
396 * Makefile.am: Remove build-grub-* in make clean.
397
f02e6b56
PFS
3982013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
399
400 New files to gitignore.
401
402 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
403 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
404
035a26c1
LL
4052013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
406
407 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
408
bc8a6137
LL
4092013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
410
411 * .gitignore: fix rules for .dep* and add *.a post git migration
412
6fe506b0
CW
4132013-11-13 Colin Watson <cjwatson@ubuntu.com>
414
415 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
416 to match INSTALL.
417
81a2e438
CW
4182013-11-13 Colin Watson <cjwatson@ubuntu.com>
419
420 * grub-core/kern/misc.c: Don't redirect divisions in the
421 GRUB_UTIL case.
422 * include/grub/misc.h: Likewise.
423
9b45c073
CW
4242013-11-13 Colin Watson <cjwatson@ubuntu.com>
425
426 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
427 systems that require checking the return value of write.
428
11b2a9b7
CW
4292013-11-13 Colin Watson <cjwatson@ubuntu.com>
430
431 * util/grub-install.in (efi_quiet): Fix inverted logic: make
432 efibootmgr quiet when --debug is not used, rather than when it is.
433
d743d22d
CW
4342013-11-13 Colin Watson <cjwatson@ubuntu.com>
435
436 * gentpl.py (define_macro_for_platform_dependencies): Remove
437 first (and thus unused) of two definitions for this function.
438 (platform_dependencies): Likewise.
439
11da14b5
CW
4402013-11-13 Colin Watson <cjwatson@ubuntu.com>
441
442 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
443 functions, we only need to check this for the target, not the host.
444 * configure.ac (grub_apple_cc): Likewise.
445
2bdd0719
VS
4462013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
449 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
450 asm to stay in arm even if surrounding is thumb.
451
5e77d9cf
VS
4522013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
455 helper functions are needed for thumb.
456
7d511625
VS
4572013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
460 level / 3 division explicitly unsigned. Saves few bytes.
461
81023dbd
VS
4622013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
465
b2e9294f
VS
4662013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
469 division.
470
16a22c38
VS
4712013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
474 grub_uboot_boot_data to asm part.
475
c9cd02c9
VS
4762013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
479 literal load.
480 (grub_uboot_syscall): Save/restore r9 and align stack.
481
81498615
VS
4822013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
485
ea57de18
VS
4862013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
489 occurencies with END.
490
d0d1e3da
CW
4912013-11-13 Colin Watson <cjwatson@ubuntu.com>
492
493 * util/grub-editenv.c (help_filter, argp): Document how to delete
494 the whole environment block.
495 Reported by Dan Jacobson. Fixes Debian bug #726265.
496
3809f016
CW
4972013-11-13 Colin Watson <cjwatson@ubuntu.com>
498
499 * docs/grub.texi (Internationalisation, Supported kernels): Fix
500 sectioning.
501
46d8a203
JT
5022013-11-13 Josh Triplett <josh@joshtriplett.org>
503
504 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
505 increment/decrement.
506
513eeb61
VS
5072013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
510 compiling with clang.
511
bc379c1a
VS
5122013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
515 ".".
516
5172013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 518
16057d6b
VS
519 Redirect all divisions to grub_divmod64.
520
f649a6a8
VS
5212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
524
ef28ee8b
VS
5252013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
526
527 Add missing includes of loader.h.
528
300f48c5
VS
5292013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * configure.ac: Allow disabling themes.
532
2d357558
LS
5332013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
534
535 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
536
0c62a5b2
VS
5372013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
540 until it becomes operational.
541
b0720b49
VS
5422013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * grub-core/Makefile.core.def (legacy_password_test): Disable
545 on platforms where no legacycfg is compiled.
546 * grub-core/tests/lib/functional_test.c: Tolerate failure to
547 load legacy_password_test.
548
d5bab2c0
VS
5492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
552
3ea0ccb3
VS
5532013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/efiemu/prepare.c: Remove variable length arrays.
556
08772054
VS
5572013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
560 strict-aliasing warning.
561 (fsync): Silence cast warning.
562
1dcb2715
VS
5632013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/commands/verify.c: Remove variable length arrays.
566 Load gcry_dsa/gcry_rsa automatically.
567
61c22fdf
VS
5682013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/tests/signature_test.c: New test.
571
431e57a7
VS
5722013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
575 API.
576
b521bb81
VS
5772013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * grub-core/tests/legacy_password_test.c (vectors): Make static.
580 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
581
7d06b24e
VS
5822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
585
3bbeade4
VS
5862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * grub-core/fs/proc.c: Allow \0 in proc files.
589
ba82db7a
VS
5902013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
593
801564c8
VS
5942013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
597
ac8cac1d
VS
5982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/fs/ext2.c: Remove variable length arrays.
601
4b85f122
VS
6022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
605 length arrays.
606
c35fcdc0
VS
6072013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
610 * grub-core/disk/cryptodisk.c: Likewise.
611 * grub-core/disk/geli.c: Likewise.
612 * grub-core/disk/luks.c: Likewise.
613
15decd26
VS
6142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * grub-core/tests/legacy_password_test.c: New test.
617 * grub-core/commands/legacycfg.c: Remove variable length arrays.
618
9c6482b8
VS
6192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
622
41f26e0e
VS
6232013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * grub-core/tests/pbkdf2_test.c: New test.
626
2def6616
VS
6272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
630
9e34a34e
VS
6312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * grub-core/io/lzopio.c: Remove variable length arrays.
634
5ccaf904
VS
6352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * include/grub/crypto.h: Add maximums on hash size and cipher block
638 size.
639
44a387e0
VS
6402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
643
a388e255
VS
6442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * grub-core/tests/xnu_uuid_test.c: New test.
647
a1ef7718
VS
6482013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
651 covers it).
652
65ddb300
VS
6532013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/commands/hashsum.c: Remove variable length arrays.
656
31747dd5
VS
6572013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
660 condition.
661 * tests/grub_func_test.in: Increase memory allocation.
662
6a74c4df
VS
6632013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
666 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
667 sys/mount.h.
668
394c3e0a
VS
6692013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
672 (grub_util_get_fd_size_os): ...this.
673 (grub_hostdisk_flush_initial_buffer): New empty function.
674
60d31116
VS
6752013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/gensyminfo.sh.in: Handle the case of portable output
678 without --defined-only.
679
8445b011
VS
6802013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
683 rip-relative addressing in prologue.
684
8506a641
VS
6852013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
688 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
689
66acd9d6
VS
6902013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
693 Add missing semicolon.
694
348d0535
VS
6952013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
698
0d2d30bb
VS
6992013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * configure.ac: Check for lzma.h for enabling liblzma and allow
702 manual disabling.
703
631187be
VS
7042013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
705
706 Add missing includes of loader.h.
707
e756ec82
FZ
7082013-11-11 Fam Zheng <famcool@gmail.com>
709
710 * util/grub.d/30_os-prober.in: Add minix entry.
711
87d62d7d
VS
7122013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
715 right buffer for temporary load.
716
5460cfeb
VS
7172013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
720
89977306
VS
7212013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
724 payload.
725
3617c59b
VS
7262013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
729 not Types.h.
730 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
731 environment.
732 (LzmaDec_InitDicAndState): Make static.
733
881c6a10
VS
7342013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
737
2024ade2
VS
7382013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
741
742 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
743
674ad4f6
VS
7442013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * docs/grub-dev.texi: Replace bzr references with git ones.
747
5b99970e
AB
7482013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
749
750 * docs/grub.texi (Simple configuration): Remove reference to
751 grub-reboot from saved default entry description - grub-default
752 does not use it anymore.
753
3c2304d5
VS
7542013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * configure.ac: Make efiemu test cflags match the cflags efiemu is
757 compiled with.
758
80cfd940
AB
7592013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
760
761 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
762
33690255
VS
7632013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
764
765 Fix grub_machine_fini bitrot.
766
767 Reported by: Glenn Washburn.
768
c61471fc
VS
7692013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
772
54da019f
VS
7732013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
776 -DELF.
777 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
778 instead of ELF*.
779
7802013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
781
782 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
783 Add -march=core2 when testing compile of efiemu64.
784
785 Thanks Andrey Borzenkov for spotting this.
786
9612ebc0
VS
7872013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
788
789 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
790 XEN PV environment and load kernels.
791
1a46a3a4
VS
7922013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
795 * grub-core/loader/multiboot_mbi2.c: Likewise.
796
2df12551
VS
7972013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
800 handling.
801
3c980381
VS
8022013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
805
806 Tested by: Denis 'GNUtoo' Carikli.
807
800f63d3
VS
8082013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
811
9f8acdaa
VS
8122013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
813
5620eb53
VS
814 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
815 Use to get rounded angle rather than truncated.
816
8172013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
820 RTS/CTS flow control.
821
2dc1eb6c
VS
8222013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
825 divisions.
826
b9563c94
VS
8272013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
830 Use grub_fatal rather than divide by zero.
831 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
832
d6d8e9a9
VS
8332013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
836 truncate.
837 (grub_fixed_fsf_divide): Likewise.
838
d06de6c8
VS
8392013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
842 division by-zero and senseless negative divisions.
843
6af7d49b
VS
8442013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
847 division by-zero and senseless negative divisions.
848 (circprog_set_property): Don't accept negative num_ticks.
849
bcfa6d72
VS
8502013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
853 division by-zero and senseless negative divisions.
854
dd7f792c
VS
8552013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
856
857 * configure.ac: Use elf_*_fbsd on kfreebsd.
858
d061fda7
VS
8592013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/tests/div_test.c: New test.
862
4db22500
VT
8632013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
864
865 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
866 * grub-core/gfxmenu/gui_canvas.c: Likewise.
867 * grub-core/gfxmenu/view.c: Likewise.
868 * grub-core/video/fb/video_fb.c: Introduce new functions:
869 grub_video_set_area_status, grub_video_get_area_status,
870 grub_video_set_region, grub_video_get_region.
871 * grub-core/video/bochs.c: Likewise.
872 * grub-core/video/capture.c: Likewise.
873 * grub-core/video/video.c: Likewise.
874 * grub-core/video/cirrus.c: Likewise.
875 * grub-core/video/efi_gop.c: Likewise.
876 * grub-core/video/efi_uga.c: Likewise.
877 * grub-core/video/emu/sdl.c: Likewise.
878 * grub-core/video/radeon_fuloong2e.c: Likewise.
879 * grub-core/video/sis315pro.c: Likewise.
880 * grub-core/video/sm712.c: Likewise.
881 * grub-core/video/i386/pc/vbe.c: Likewise.
882 * grub-core/video/i386/pc/vga.c: Likewise.
883 * grub-core/video/ieee1275.c: Likewise.
884 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
885 * include/grub/video.h: Likewise.
886 * include/grub/video_fb.h: Likewise.
887 * include/grub/fbfill.h: Updated render_target structure.
888 grub_video_rect_t viewport, region, area
889 int area_offset_x, area_offset_y, area_enabled
890 * include/grub/gui.h: New helper function
891 grub_video_bounds_inside_region.
892 * docs/grub-dev.texi: Added information about new functions.
893
c6b755df
VS
8942013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
897 for alignment.
898
e2a68100
VS
8992013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
902 missing attribute.
903 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
904
c4f11a2a
VS
9052013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
908 simple division on arm and ia64.
909
e0a7bffa
VS
9102013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
913 link with libgcc.
914
38b864ea
VS
9152013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
918
12359faf
VS
9192013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
922 prefix symbol, not @.
923
9fdc64a9
VS
9242013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * INSTALL: Add note about older gcc and clang.
927
665c575b
VS
9282013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
931
47dcf7b1
VS
9322013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
935 NULL pointer dereference.
936
d59849b2
VS
9372013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
940 clang.
941
7a3f4a18
VS
9422013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
945 warnings.
946
7f084087
VS
9472013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
948
949 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
950 function.
951 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
952 * grub-core/disk/geli.c (ascii2hex): Likewise.
953
d5524ca8
VS
9542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * configure.ac: Run linker tests without -Werror.
957 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
958 Change all occurences of -static-libgcc resp -lgcc to
959 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
960
390cd7ca
VS
9612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
964
60375a88
VS
9652013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
966
967 Allow compiling with clang (not really supported though).
968
969 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
970 unconditionally.
971 * configure.ac: Add -no-integrated-as when using clangfor asm files.
972 Add -mrtd -mregparm=3 on i386 when not using clang.
973 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
974
dd07e0c4
VS
9752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
978 bindings.
979 * grub-core/lib/reed_solomon.c: Likewise.
980 * include/grub/i386/gdb.h: Likewise.
981 * include/grub/i386/pc/int.h: Likewise.
982 * include/grub/i386/pc/pxe.h: Likewise.
983 * include/grub/ieee1275/ieee1275.h: Likewise.
984
9d3ae8ec
VS
9852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
986
987 Import libgcrypt 1.5.3.
988
c12936c5
VS
9892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * configure.ac: Don't add -Wcast-align on x86.
992
cdc17f60
VS
9932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * configure.ac: Add -freg-struct-return on all platforms that
996 support it.
997
b35ec299
VS
9982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * acinclude.m4: Use -Werror on parameter tests.
1001 * configure.ac: Likewise.
1002
05f3a0d7
VS
10032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1006
c966a489
VS
10072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * configure.ac: Check that -malign-loops works rather than assuming that
1010 either -falign-loops or -malign-loops work.
1011
bb0c57ec
VS
10122013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1015
24f4e57c
VS
10162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * configure.ac: Prevent cflags leaking to subsequent tests by always
1019 resetting cflags to target_cflags in target tests.
1020
ac319fbc
VS
10212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1024 function.
1025
4bfe934c
VS
10262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1029
40a5bfde
VS
10302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1033
a67c755e
VS
10342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/normal/cmdline.c (grub_cmdline_get):
1037 Remove nested functions.
1038
87a04a2d
VS
10392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * tests/test_sha512sum.in: Make it work on emu.
1042
c03995d2
VS
10432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1046 functions.
1047 (grub_bidi_line_logical_to_visual): Likewise.
1048
ec0ebb3f
VS
10492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 Remove vestiges of -Wunsafe-loop-optimisations.
1052
1053 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1054 -Wno-unsafe-loop-optimisations.
1055 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1056 pragma.
1057 * grub-core/io/gzio.c: Likewise.
1058 * grub-core/script/parser.y: Likewise.
1059 * grub-core/script/yylex.l: Likewise.
1060 * util/grub-mkfont.c: Likewise.
1061
6ab537e3
VS
10622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * util/grub-mkfont.c (process_cursive): Remove nested function.
1065
e6c368d4
VS
10662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1069 (grub_boot_time): Likewise.
1070
4f1cfd22
VS
10712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * include/grub/symbol.h (FUNCTION): Use @function rather than
1074 "function".
1075 (VARIABLE): Likewise.
1076
6d5a4cee
VS
10772013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1080
f06c2172
VS
10812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1084 (parse_dhcp_vendor): Likewise.
1085
7cb24eb5
VS
10862013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1089
f30c692c
VS
10902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1093 Define after defining type and not before.
1094
8b66bb5d
VS
10952013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1098 type.
1099 (grub_gcm_decrypt): Likewise.
1100 (algo_decrypt): Likewise.
1101 (grub_zfs_decrypt_real): Transform error type.
1102
5d17fd0f
VS
11032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1106
ac35a0f7
VS
11072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1110 (grub_usbms_cbi_reset): Likewise.
1111 (grub_usbms_bo_reset): Likewise.
1112 (grub_usbms_reset): Likewise.
1113 (grub_usbms_attach): Likewise.
1114 (grub_usbms_transfer_cbi): Likewise.
1115
3ee08697
VS
11162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1119 "checksum = checksum;".
1120
70bb6c85
VS
11212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1124 entry_type.
1125
c7f34744
VS
11262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1129 BIOS disk check.
1130
3f63b4d8
VS
11312013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1134 type.
1135 (grub_ehci_fini_hw): Likewise.
1136 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1137
dac6ce73
VS
11382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1141 return grub_usb_err_t for cosistency. All users updated.
1142
5701750c
VS
11432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1146 assigning to itself.
1147
9e236169
GLD
11482013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
11492013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1150
1151 Issue separate DNS queries for ipv4 and ipv6
1152
1153 Adding multiple questions on a single DNS query is not supportted by
1154 most DNS servers. This patch issues two separate DNS queries
1155 sequentially for ipv4 and then for ipv6.
1156
1157 Fixes: https://savannah.gnu.org/bugs/?39710
1158
1159 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1160 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1161 * (grub_net_dns_lookup): Now using separated dns packages.
1162 * (grub_cmd_nslookup): Add error condition.
1163 * (grub_cmd_list_dns): Print DNS option.
1164 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1165 --prefer-ipv4, and --prefer-ipv6.
1166 * include/grub/net.h (grub_dns_option_t): New enum.
1167 * (grub_net_network_level_address): option added.
1168
339eacce
VT
11692013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1170
1171 * grub-core/video/fb/video_fb.c: Merge two blit functions
1172 into one.
1173
810f991b
VS
11742013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/term/terminfo.c: Add sequences for home and end.
1177
386571a2
VS
11782013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1181 graphics console.
1182
3fe63754
VS
11832013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1186 add mode 0x12.
1187
76681e71
VS
11882013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1191 e-mail by Per Öberg.
1192
46522fb7
VS
11932013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1196 name.
1197
e7d09ac4
AB
11982013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1199
1200 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1201 emu platforms.
1202 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1203
67508925
VS
12042013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * docs/grub.texi: Document usage of menuentry id.
1207
0c62124e
VS
12082013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1211
9b5d4eed
PL
12122013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1213
1214 * grub-core/commands/i386/nthibr.c: New command.
1215
79054c1d
VS
12162013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1219
44d47bbe
VS
12202013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1223 coordinate.
1224
323de05b
VS
12252013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 Support GRUB_DISABLE_SUBMENU config.
1228
1229 Inspired by patch from Prarit Bhargava.
1230
5a01722e
VS
12312013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * docs/grub.texi: Mention RSA support.
1234
1106c3f0
VS
12352013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/commands/verify.c: Add RSA support.
1238
a1dcc2cb
VS
12392013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1242 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1243 device is known to be ATAPI.
1244
ee7fb780
MF
12452013-11-03 Mike Frysinger <vapier>
1246
1247 * configure.ac: Don't add target-prefix.
1248
5ade4a42
VS
12492013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1252 variables.
1253
6cd66043
VS
12542013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1257 if language is English.
1258
090d7c81
VS
12592013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1262
dd614590
VS
12632013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * configure.ac: Don't add -m32/-m64 on emu.
1266
a8686589 12672013-11-02 neil
1268
1269 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1270 broken linux headers.
1271
fb9f12a0
VS
12722013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1275
e25f8e1f
VS
12762013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1279 Reed-Solomon recovery if more than half of redundancy info is 0.
1280
4685200f
VS
12812013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * util/grub-mount.c: Handle symlinks to directories.
1284
1397f0b5
VS
12852013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1288 find_file recursively for symlink.
1289
8b3e6eb6
VS
12902013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * tests/util/grub-shell.in: Copy themes.
1293
a0c9d5c6
VS
12942013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1297
5cf9459c
VS
12982013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * configure.ac: Use 0x8000 for address instead of 8000.
1301
e7b66a28
VS
13022013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1305 signature.
1306
203f53fb
VS
13072013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1310 variable.
1311
02663ee9
VS
13122013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1315
f169f65e
VS
13162013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1319 file_progress_read_hook.
1320 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1321
2855a0fc
VS
13222013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1325 and double.
1326
bf0f3a8c
VS
13272013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1330
cb72aa18
VS
13312013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 Rewrite blocklist functions in order to get progress when
1334 reading large extents and decrease amount of blocklist hook calls.
1335
896f9135
VS
13362013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1339 of SI suffixes.
1340
89295a06
VS
13412013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 Support --base-clock for serial command to handle weird cards with
1344 non-standard base clock.
1345
eb03ede0
VS
13462013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1349 strncpy.
1350 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1351 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1352 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1353 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1354 + strcpy rather than strncpy.
1355
8fbe5c7d
VS
13562013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1359 (check_pool_label): Likewise. Fixes overflow.
1360 (nvlist_find_value): Fix comparison.
1361
e54b8f53
VS
13622013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1365 more appropriate functions.
1366
fa9b3dca
VS
13672013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1370 realloc.
1371
9a021c55
VS
13722013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1375
80e8b13a
VS
13762013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1379 on core size.
1380
b61599ac
VS
13812013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1384
a602dc54
VS
13852013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1388 (initialize_tables): reset tl and td to NULL after freeing.
1389
93c12075
VS
13902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1393
1ca4b75e
VS
13942013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1397 of supported tags.
1398
329550c4
VS
13992013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1402
00bfa988
VS
14032013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1406 quirks.
1407
81afc5cc
VS
14082013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1411 a page in protected space.
1412
cb3c4a47
VS
14132013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1416 allocate space for zero-sized modules.
1417
954f7bf5
VS
14182013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1421
526d3d25
FL
14222013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1423
1424 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1425
74124c34
VS
14262013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1429 safeguards. Fixes a crash with i386/pc/console.c.
1430
5177391e
VS
14312013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1434 and grub_hostfs_init.
1435
64db14b0
VS
14362013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1439 windows method on other platforms without good stat as well.
1440
effe2036
VS
14412013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1444
82591fa6 14452013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1446
82591fa6
VS
1447 Make / in btrfs refer to real root, not the default volume.
1448 Modify mkrelpath to work even if device is mounted with subvolid option.
1449
14502013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1451
1452 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1453 extra_dist.
1454 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1455 extra_dist.
1456
30fd7198
VS
14572013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1460 fails.
1461
8d179dae
BC
14622013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1463
1464 * docs/autoiso.cfg: New file.
1465
3bc9c8cf
VS
14662013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1469 COND_GRUB_PE2ELF conditions.
1470
8b46b0ea
VS
14712013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1474 "vnd", "rd" and "fd" disks.
1475
442b86de
VS
14762013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 Move grub_disk_write out of kernel into disk.mod.
1479
04dea7e6
VS
14802013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1483 handling.
1484
14852013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1486
1487 * grub-core/kern/misc.c (grub_abort): Make static
1488
04dea7e6 14892013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1490
1491 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1492 transform invalid unicode codepoints.
1493
04dea7e6 14942013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1495
1496 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1497 \0 checking.
1498
03dcac7f
VS
14992013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1502
c81acb7f
VS
15032013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 Consolidate cpuid code.
1506
c1bee646
VS
15072013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 Move cpuid code to cpuid.h and TSC code to tsc.c.
1510
f37bf9c7
GS
15112013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1512
1513 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1514
4021132b
GS
15152013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1516
1517 * util/grub-mkconfig.in: Replace $0 with $self.
1518 * util/grub-reboot.in: Likewise.
1519 * util/grub-set-default.in: Likewise.
1520
3ace8d75
BC
15212013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1522
1523 * docs/osdetect.cfg: New file.
1524
1e6ad6a6
BC
15252013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1526
1527 * tests/util/grub-shell.in: Add new --debug option.
1528
188929eb
BC
15292013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1530
1531 * tests/test_unset.in: New test.
1532
7994a09a
BC
15332013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1534
1535 * tests/test_sha512sum.in: New test.
1536
2a8a7585
VS
15372013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1540 * include/grub/misc.h: Remove strncat.
1541 * grub-core/lib/posix_wrap/string.h: Likewise.
1542
cf8d6bbd
VS
15432013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1546 Try to handle more than 0xFFFF packets.
1547 Reported by: Bernhard Übelacker <bernhardu>.
1548 He also spotted few overflows in first version of this patch.
1549
6d1fc99a
VS
15502013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * tests/date_unit_test.c: New test.
1553
10bafa1c
VS
15542013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1557 of first three years after start of validity of unixtime.
1558
b1c6d037
VS
15592013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1562 division as the one making more sense.
1563 (update_screen): Likewise.
1564 (complete): Likewise.
1565
5f4028d4
VS
15662013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1569
a2856736
VS
15702013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 Make char and string width grub_size_t rather than grub_ssize_t.
1573
0a7e52b2
VS
15742013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1577 unsigned.
1578 (grub_history_replace): Likewise.
1579
42829573
VS
15802013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1583 appropriate.
1584
3523b8d8
VS
15852013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1588 appropriate.
1589
d43c6489
VS
15902013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1593 Use unsigned divisions rather than signed variants.
1594
f690f8b0
VS
15952013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1598 unsigned arithmetics.
1599 Add missing break.
1600
74ff2c05
VS
16012013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1604
fb56391e
VS
16052013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1608 rather than signed one.
1609 (recovery): Likewise.
1610
40f29060
VS
16112013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1614
c64577a5
VS
16152013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1618 than signed.
1619
c16535a8
JM
16202013-10-25 Jon McCune <jonmccune@google.com>
1621
1622 * docs/grub.texi: Cleanup security documentation around signatures.
1623
6673d8e7
VS
16242013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1627
a105d375
VS
16282013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1631 than int.
1632
af81ed88
VS
16332013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1636 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1637 functions when compiling for kernel.
1638
ea899a57
VS
16392013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1642 unsigned long long when using %llu.
1643
c6dc6fa1
VS
16442013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1647 terminal after updating progress.
1648
ad2dc003
VS
16492013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1652 argument. We don't disable Gate A20 in this code.
1653
b46684ae
VS
16542013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1657 Conceptually based on change in branch "vbe-on-coreboot".
1658
f70d5c07
RM
16592013-10-24 Robert Millan <rmh@gnu.org>
1660
1661 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1662 numeric constants with their symbolic equivalent.
1663 Taken from branch "vbe-on-coreboot".
1664
bca274b4
VS
16652013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1668
238f0489
VS
16692013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1672 divmod64 for offset division.
1673
863c590b
PFS
16742013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1675
1676 Rename .bzrignore to .gitignore. Add "*.o" rule.
1677
1678 * .bzrignore: Renamed to...
1679 * .gitignore: ...this.
1680
84a0e969
PFS
16812013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1682
1683 Add new progress module that displays the load progress of files.
1684
1685 * grub-core/lib/progress.c: New file.
1686 * grub-core/Makefile.core.def (progress): New module.
1687 * grub-core/kern/file.c (grub_file_open): File name added.
1688 * (grub_file_read): Progress hook added.
1689 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1690 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1691 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
1692 * include/grub/file.h (struct grub_file): Add progress module members.
1693 * include/grub/term.h (struct grub_term_output): Likewise.
1694 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
1695 Terminal velocity added.
1696 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
1697 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
1698 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
1699 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
1700 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
1701 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
1702 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
1703 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
1704 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
1705 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
1706 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
1707 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
1708
0d711431
VS
17092013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 Verify signatures of signatures unless --skip-sig is specified.
1712
f8401f76
VS
17132013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1716 \0 checking.
1717
1718 Saves 70 bytes on compressed image.
1719
ac1feb61
VS
17202013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
1723 check.
1724
1725 Saves 10 bytes on compressed image.
1726
00f72e89
VS
17272013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * grub-core/kern/misc.c (grub_isprint): Move to ...
1730 * include/grub/misc.h (grub_isprint): ... here. Make inline.
1731
1732 Saves 20 bytes on compressed image due to remving exporting.
1733
067e6ae7
VS
17342013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
1737
1738 Saves 5 bytes on compressed image.
1739
64a6c791
VS
17402013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
1743 function get_utf8.
1744
1745 Saves 379 bytes on compressed image.
1746
979d9f52
VS
17472013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
1750
1437da54
VS
17512013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
1754
1755 Saves 40 bytes on compressed image.
1756
d9ee2269
VS
17572013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
1760 mask rather than 64-bit type.
1761
1762 Saves 20 bytes on compressed image.
1763
63efa602
VS
17642013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
1767 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
1768
47601ffe
VS
1769 Saves 273 bytes on compressed image.
1770
2cc679ad
VS
17712013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
1774 variable length arrays.
1775
1776 Saves 50 bytes on compressed image.
1777
2e4659b8
VS
17782013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1781
2a40badf
VS
17822013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * grub-core/fs/ufs.c: Remove variable length arrays.
1785
1ba6b9b9
VS
17862013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
1789
f3e39341
VS
17902013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/fs/zfs.c: Remove variable length arrays.
1793 Reduces zfs.mod by 160 bytes (208 compressed).
1794
71523935
VS
17952013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
1798
28153eb8
VS
17992013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * grub-core/net/arp.c: Remove variable length arrays.
1802 * grub-core/net/bootp.c: Likewise.
1803 * grub-core/net/dns.c: Likewise.
1804 * grub-core/net/icmp6.c: Likewise.
1805 * grub-core/net/net.c: Likewise.
1806
88ce4cd7
VS
18072013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/fs/ntfs.c: Remove variable length arrays.
1810 Increases ntfs.mod by 64 bytes (but decreases by 3 when
1811 compressed).
1812
66123940
VS
18132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/fs/hfs.c: Remove variable length arrays.
1816 Reduces hfs.mod by 8 bytes (52 compressed).
1817
0927e5bd
VS
18182013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 1821 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
1822 compressed).
1823
9c12ac97
VS
18242013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 1827 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
1828 compressed).
1829
97ec2d71
VS
18302013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 1833 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
1834 compressed).
1835
156e4ea0
VS
18362013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/fs/xfs.c: Remove variable length arrays.
1839 Reduces xfs.mod by 40 bytes (43 compressed).
1840
3b502c29
VS
18412013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/fs/fshelp.c: Remove variable length arrays.
1844 Reduces fshelp.mod by 116 bytes (23 compressed).
1845
c7037f1d
VS
18462013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * grub-core/normal/completion.c: Remove variable length arrays.
1849 * grub-core/normal/menu_entry.c: Likewise.
1850
1851 Reduces normal.mod by 496 bytes.
1852
a07e6ad0
VS
18532013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
1856 by 356 bytes (158 compressed).
1857
2359bf88
VS
18582013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
1861 by 364 bytes (169 compressed).
1862
d28e1163
VS
18632013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
1866 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
1867 * include/grub/types.h (grub_unaligned_uint64_t): New type.
1868
e89c2d48
VS
18692013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
1872 bitmasks to small structures of size chosen to fit in registers.
1873
7abdac8e
VS
18742013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * conf/Makefile.common: Use -freg-struct-return on i386. This
1877 decreases code size and improves performance.
1878
518864c0
VS
18792013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
1882
bbd2b539
VS
18832013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
1886 "(null)" string.
1887 Simplify expressions to save around 256 bytes in kernel.img.
1888 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
1889
99519c15
VS
18902013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
1893 Use GRUB_UTIL_FD_O_* rather than O_*.
1894
20285765
VS
18952013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 Add haiku-specific functions.
1898
887c0bb6
VS
18992013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
1902
cd78a56f
VS
19032013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 Move stat () and device mode checking into OS-dependent files as
1906 long as performance doesn't suffer.
1907
a4012f07
VS
19082013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 Split make_system_path_relative_to_its_root into separate file
1911 relpath.c from getroot.c as it's common between unix and haiku
1912 but otherwise haiku doesn't use any functions from unix getroot.c.
1913
31de274d
VS
19142013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
1917 New function.
1918 (grub_util_is_special_file): Likewise.
1919
40346de6
VS
19202013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
1923 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
1924
d3923ab9
VS
19252013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
1928 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
1929
663f6eb1
VS
19302013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
1933 (load_image): Likewise.
1934
44d1c20a
VS
19352013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * util/grub-render-label.c: Move backend part to ...
1938 * util/render-label.c: ... here.
1939
d0a116ee
VS
19402013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
1943 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
1944
b47fcae6
VS
19452013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
1948
0f7c00c1
VS
19492013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
1952 CD-ROM in case when it's declared as having subpartitions.
1953
29013cba
VS
19542013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 Don't add -lm on haiku.
1957
1958 * configure.ac: Define BUILD_LIBM to -lm on most platforms
1959 and empty on haiku.
1960 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
1961 -lm.
1962
e8559d24
VS
19632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * configure.ac: Use -melf_*_haiku as target on haiku.
1966
8104063c
VS
19672013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * Makefile.util.def: Add util/setup.c to extra_dist.
1970
fc3182c7
VS
19712013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
1974 unknown types through.
1975
f90a3cc0
VS
19762013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
1979 (grub_util_check_char_device): Likewise.
1980 * include/grub/emu/getroot.h: Likewise.
1981
1e3e7419
VS
19822013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
1985 memset rather than inline static function.
1986
92c88fc8
VS
19872013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
1990 not doing embedded decompressor.
1991
3cd910a2
VS
19922013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
1995 shadowing.
1996 * grub-core/kern/disk.c: Likewise.
1997 * grub-core/kern/misc.c: Likewise.
1998 * include/grub/parser.h: Likewise.
1999 * include/grub/script_sh.h: Likewise.
2000 * include/grub/zfs/zfs.h: Likewise.
2001
7b3aca00
VS
20022013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2005
97dfe7e4
VS
20062013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2009 defined before trying to use it.
2010
bf919aa9
VS
20112013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2014 warning.
2015
f4ccf29d
VS
20162013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2019 Use __unused__ rather than __used__ on gcc < 3.2.
2020
0d3a6f85
VS
20212013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2024 gcc < 4.0.
2025 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2026
757e3eb7
VS
20272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2030
fb320faf
VS
20312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2034 * include/grub/emu/misc.h: Likewise.
2035
ea73acd2
VS
20362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2039 cur_color.
2040
71237a6f
VT
20412013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2042
2043 * grub-core/tests/checksums.h: Regenerated due to progress bar
2044 get_minimal_size changes.
2045
3d46c22f
BC
20462013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2047
2048 Added `tr' command support.
2049
2050 * grub-core/commands/tr.c: New file.
2051 * grub-core/Makefile.core.def: Build rules for new module.
2052
2053 * tests/grub_cmd_tr.in: New test.
2054 * Makefile.util.def: Build rules for new test.
2055
47e0a61f
VT
20562013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2057
2058 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2059
946fd073
VT
20602013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2061
2062 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2063 * docs/gurb.texi: Likewise.
2064
9c13c576
VT
20652013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2066
2067 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2068 Pixmap highlighted section with east and west slices was displayed
2069 incorrectly due to negative width of the central slice.
2070
ad543f12
VT
20712013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2072
2073 * docs/grub.texi: Graphical options information update.
2074 Removed outdated. Updated current. Inserted missed.
2075
6176a0cd
VS
20762013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * docs/grub.texi: Mention few new platform-specific commands.
2079
9688cae2
VS
20802013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2083 currently used so this doesn't really have any effect.
2084 Reported by: Douglas Ray <dougray>
2085
f7b69a3f
VS
20862013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2089 compilation but prevents gcc from displaying messages in non-Latin
2090 alphabets.
2091 * conf/Makefile.common: Likewise.
2092
ceca6ddf
HY
20932013-10-16 Hiroyuki YAMAMORI
2094
2095 Handle Japanese special keys.
2096 Reported by: Hiroyuki YAMAMORI.
2097 Codes supplied by: Hiroyuki YAMAMORI.
2098
ac48d334
VT
20992013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2100
2101 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2102
b2b71bff
VT
21032013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2104
2105 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2106 * docs/grub.texi: Likewise.
2107
669fc449
VS
21082013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2111 value in case of incomplete read.
2112 (grub_util_fd_write): Likewise.
2113
59381678
VS
21142013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2117
bacfefbb
VS
21182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * util/grub-editenv.c (create_envblk_file): More from here ...
2121 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2122
f7c49570
VS
21232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2126 canonicalize file name before doing the rest.
2127
7b83ca44
VS
21282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2131 mingw32.
2132
df1e64c9
VS
21332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 Define grub_util_is_directory/regular/special_file and
2136 use OS-dependent versions rather than to rely on stat().
2137
ec16e026
VS
21382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * util/grub-mkimage.c: Move backend part to ...
2141 * util/mkimage.c: ... here.
2142
4b4eeb3c
VS
21432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 Allow compilation with mingw64 albeit with warnings due to lack of
2146 %llx/%llu.
2147
2148 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2149 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2150 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2151 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2152 on mingw64.
2153 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2154
f4e0adc0
VS
21552013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 Remove leftover references to some of the system headers.
2158
e0127364
VS
21592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2162 read.
2163
20d53541
VS
21642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2167 of strerror.
2168
5a869940
VS
21692013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 Split out blocklist retrieving from setup.c to
2172 grub-core/osdep/blocklist.c and add windows implementation since
2173 generic version doesn't work on NTFS on Windows due to aggressive
2174 unflushable cache.
2175
c06c7520
VS
21762013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2179 files.
2180
8f53bb3f
VS
21812013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2184 Cut tailing newline. Remove arbitrary limitation. Always use
2185 grub_util_tchar_to_utf8.
2186
148f1007
VS
21872013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2190 * tests/printf_unit_test.c (printf_test): Add %% tests.
2191 Reported by: Paulo Flabiano Smorigo.
2192
af3b06be
VS
21932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2196 implement fsync.
2197
27f9d02e
VS
21982013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2201 use nvlist_lookup_string and don't use nvlist_print.
2202
f6a81f0a
VS
22032013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2206 closedir to handle filename charset translation.
2207
d7750b32
VS
22082013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * include/grub/emu/hostdisk.h: Move file operations to
2211 * include/grub/emu/hostfile.h: ... here.
2212
2859196e
VS
22132013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2216 unicode path.
2217
c018c968
VS
22182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2221
7e45abce
VS
22222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2225 and remove export.h.
2226
23934da2
VS
22272013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/kern/emu/error.c: Removed.
2230 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2231 explicitly as it's already in libgnu.a.
2232
c11ebcc8
VS
22332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2236 config-util.h include.
2237
70671037
VS
22382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 Split emunet into platform-dependent and GRUB-binding parts. Keep
2241 platform-dependent part in kernel for easy access to OS functions.
2242
25ac643a
VS
22432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2246 open/read/write.
2247
69ca5876
VS
22482013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/osdep/windows/emuconsole.c: New file.
2251
d9d68ef0
AB
22522013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2253
2254 * conf/Makefile.extra-dist: Add osdep/*/init.c
2255
58e211cc
VS
22562013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2259
588744d0
VS
22602013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * util/grub-probe.c (probe): Separate different drives in hint-str
2263 by spaces and not newlines.
2264 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2265
44016e52
AB
22662013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2267
2268 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2269 Handle CD-ROMs.
2270
6de9ee86
VS
22712013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 Pass-through unknown E820 types. It required reorganisation of mmap
2274 module.
2275
f8f3f155
AB
22762013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2277
2278 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2279
b73249d2
VS
22802013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2283 fseeko.
2284
dac86b18 22852013-10-14 qwertial <qwertial>
2286
2287 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2288
17614b84
JM
22892013-10-14 Jon McCune <jonmccune@google.com>
2290
2291 * docs/grub.texi: Document new signatures possibility.
2292
6de292cb
VS
22932013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2296
84379b61
VS
22972013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2300 missing prototype.
2301 (grub_util_tchar_to_utf8): Likewise.
2302
21d85db1
VS
23032013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2306 * grub-core/kern/emu/main.c: Add missing include.
2307 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2308 Don't call grub_util_init_nls.
2309 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2310 Likewise.
2311
66a1b3ee
VS
23122013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2315 stat.
2316
e19bec17
VS
23172013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2320
ee8c1b29
VS
23212013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2324
bb338aaf
VS
23252013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 Add a wrapper for fopen. On unix-like systems just pass-through. On
2328 windows use unicode version.
2329
ae5540d3
VS
23302013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 Move set_program_name and init_nls to host_init. On windows
2333 fix in this fuction console and argument charset as well.
2334
4cd3c4fe
AB
23352013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2336
2337 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2338 GRUB_ENABLE_CRYPTODISK.
2339
2340 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2341 GRUB_ENABLE_CRYPTODISK.
2342 * util/grub-mkconfig_lib.in: Likewise.
2343
78170f3e
CCZ
23442013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2345
2346 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2347
3414b6c0
MC
23482013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2349
2350 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2351 error when enabling debug.
2352
6d0740e8
IB
23532013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2354
2355 * configure.ac: Use -melf_*_obsd on openbsd.
2356
ff2d4dc4
VS
23572013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2360
eac6ae82
VS
23612013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * include/grub/misc.h: Use gnu_printf rather than printf as format
2364 template since our functions are independent of libc.
2365
ba9baabe
VS
23662013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * util/grub-setup.c (setup): Move copying of partition table as
2369 futher up as possible to avoid possible overwrite by floppy routines.
2370
23712013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2372
2373 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2374
145e2369
VT
23752013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2376
2377 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2378 * docs/grub.texi: Likewise.
2379
3530bc9d
VS
23802013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2383 it's mostly unused. Move vestiges to the callers.
2384
fb9f59c3
VS
23852013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2388 version of salt and hash. Use grub_snprintf rather than snprintf.
2389
9be1c255
VS
23902013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * docs/grub.texi: Fix problem with braces.
2393
ed8c0887
VS
23942013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * conf/Makefile.extra-dist: Fix extra-dist list.
2397 * grub-core/Makefile.core.def: Likewise.
2398
f72ab14e
VS
23992013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * docs/grub.texi: Document disk names used on Windows and AROS.
2402
2fe53a22
VS
24032013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2406 with AROS devs.
2407 * grub-core/osdep/aros/hostdisk.c: Likewise.
2408
71c1d67a
VS
24092013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 Avoid including hostfile.h when not necessarry as it pulls
2412 in OS-specific headers which may redefine generic names
2413 like "far".
2414
ad297ec7
VT
24152013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2416
2417 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2418 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2419 scrollbar_bottom_pad
2420 * docs/grub.texi: Likewise.
2421
6e9e5dc9
VT
24222013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2423
2424 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2425
761c718b
VS
24262013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2429
37149a2f
VS
24302013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2433 Removed.
2434 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2435 Made static.
2436
3837a151
VS
24372013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2440 leftover.
2441
caca1c70
VS
24422013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 Move OS-specific driver configuration to grub_util_fd_open. This
2445 moves OS-dependent parts from kern/emu/hostdisk.c to
2446 grub-core/osdep/*/hostdisk.c.
2447
f7676b70
VS
24482013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * util/grub-mkimage.c (generate_image): Use size_t instead of
2451 grub_size_t.
2452 * util/grub-mkimagexx.c (locate_sections): Likewise.
2453 (load_image): Likewise.
2454
22f98db2
VS
24552013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2458 size_t.
2459 (grub_util_write_image): Likewise.
2460
b102ce69
VS
24612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2464 get random when no RNG is available.
2465 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2466
acbbe5cb
VS
24672013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * include/grub/util/lvm.h: Removed.
2470
2112fb3f
VS
24712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2474 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2475
79f78fbf
VS
24762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2479
c2e6f705
VS
24802013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2483
aabe433a
VS
24842013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/net/drivers/emu/emunet.c: Move to ..
2487 * grub-core/osdep/linux/emunet.c: ..here.
2488
9a2c903f
VS
24892013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * util/ieee1275/ofpath.c: Move to ...
2492 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2493 * grub-core/osdep/basic/ofpath.c: ..here.
2494
4a445f58
VS
24952013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 Move password-querying (util-version) routines to grub-core/osdep.
2498
c1ca4244
VS
24992013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 Move sleep routines to grub-core/osdep.
2502
672fa55e
VS
25032013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 Move OS-dependent files to grub-core/osdep and document it.
2506
a5b0365a
VS
25072013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2510 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2511
29072e99
VS
25122013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2515
f8772ea7
VS
25162013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * util/misc.c: Remove leftover inclusion of malloc.h.
2519
a1a315e7
VS
25202013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * include/grub/setjmp.h: Remove leftover GRUBOF.
2523
cef86fef
VS
25242013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * util/raid.c: Fold into ...
2527 * util/getroot_linux.c: ... here. Make all functions static.
2528
c4cf25ee
VS
25292013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2532 macros to GRUB ones.
2533
53a5f5c2
VT
25342013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2535
2536 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2537 occasional bug. If there are too many boot entries or too low
2538 scrollbar height then we need to use another formula to calculate
2539 the position and size of the scrollbar thumb.
2540
de300af2
VS
25412013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2542
c4cf25ee 2543 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2544
c5827364
VT
25452013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2546
2547 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2548 * docs/grub.texi: Likewise.
2549
dd2ed8b0
VT
25502013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2551
2552 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2553 viewport.
2554
7286c384
VT
25552013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2556
ffdfc1f3
VT
2557 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2558 minimal width calculations.
7286c384 2559
ea547e14
VS
25602013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * docs/grub.texi: Update note on colors on emu console.
2563
b726be76
VS
25642013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2567 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2568 it's FS and not GRUB limitation.
2569
a5f6ade6
VS
25702013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2573
3b0f3aa2
VS
25742013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2577
1db38304
ST
25782013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2579
2580 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2581 kernels by version order.
2582
fb295fc0
VS
25832013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2586
47345010
VS
25872013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 Add AROS hostdisk and getroot routines.
2590
bf25f879
VS
25912013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 Make cryptodisk and diskfilter probe data retrievable programmatically
2594 and not just printable.
2595
24ca4512
VS
25962013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 Split random retrieving code into separate files.
2599
c7c177f0
VS
26002013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2603 R_ARM_V4BX.
2604
d71b45ae
VS
26052013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2608 condition.
2609 * grub-core/tests/fake_input.c: Likewise.
2610 * grub-core/tests/cmdline_cat_test.c: Likewise.
2611
e44b9a83
VS
26122013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/video/capture.c: Do not do finalization when .fini
2615 is called as there is explicit capture_end.
2616
4fa60739
VS
26172013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2620 changing windows to avoid crash.
2621
17c8bc37
VS
26222013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2625
9d4d7977
VS
26262013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * po/exclude.pot: Add several strings to exclude.
2629
0caa407c
VS
26302013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2633
9ae393da
VS
26342013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2637 ./util/grub-gen-asciih.c to exclude list.
2638
498d5033
VS
26392013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2642 and don't mark error strings for translation.
2643
7d93298f
VS
26442013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2647 properly in case of missing block size.
2648
b2cae20c
VS
26492013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 * grub-core/lib/arm/setjmp.S: Add missing license section.
2652
3896d6b4
VS
26532013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * po/swiss.sed: Add replacement for key names and for term computer.
2656
ebc1da55
VT
26572013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2658
2659 * grub-core/gfxmenu/theme_loader.c: New global options for the
2660 theme background image handling. desktop-image-scale-method,
2661 desktop-image-h-align, desktop-image-v-align.
2662 * grub-core/gfxmenu/view.c: Likewise.
2663 * include/gfxmenu_view.h: Likewise.
2664 * include/bitmap_scale.h: Proportional scale functions introduced.
2665 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2666 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2667 cases of unexpected input variables for scale functions.
2668 * docs/grub.texi: Updated documentation for new options.
2669
c5739143
VS
26702013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2673
be74aeb3
VT
26742013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2675
2676 * grub-core/tests/checksums.h: Corrected due to changes in
2677 bilinear interpolation function.
2678
d999ac72
VT
26792013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2680
2681 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2682 to eliminate artefacts in bilinear interpolation.
2683
2b131610
VS
26842013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/video/readers/tga.c: Support paletted tga.
2687
de6e5ff8
VS
26882013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2691 incorrect cbcr setting when in color mode.
2692
fa31ee9c
VS
26932013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/video/readers/png.c: Support paletted images and clean up
2696 greyscale support.
2697
e84f8188
VS
26982013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
2701 usage of wrong table which resulted in mishandling of 4-byte
2702 sequences.
2703
27042013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
2705
2706 * grub-core/term/terminfo.c: Add Home and End key sequences.
2707
d72bff09
VS
27082013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * grub-core/video/readers/png.c (grub_png_decode_image_header):
2711 Fix formula for computing total number of bytes.
2712
29648c5d
VS
27132013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
2716 image processing, fix big-endian and support grayscale.
2717
4a876492
VS
27182013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
2721 Correctly will with maximum transparency when using index color.
2722
3ccf16df
VS
27232013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * grub-core/video/readers/png.c: Support grayscale
2726
27272013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
2728
2729 * grub-core/video/readers/jpeg.c: Support grayscale.
2730
3ccf16df 27312013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
2732
2733 * grub-core/commands/loadenv.c: Support skipping signature check
2734 and variable names filtering.
2735
30b7f58f
VS
27362013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
2739 * grub-core/kern/emu/hostfs.c: Likewise.
2740 * util/getroot_unix.c: Likewise.
2741
bab7b1eb
VS
27422013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
2745 Migrate all explicit defines to this new one.
2746
43b1c99d
VS
27472013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
2750 grub_util_fd_strerror when using grub_util_fd_*.
2751 (grub_util_fd_open_device): Likewise.
2752 (grub_util_biosdisk_read): Likewise.
2753 (grub_util_biosdisk_write): Likewise.
2754 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
2755 (grub_util_fd_strerror): Likewise.
2756 (grub_util_fd_sync): Likewise.
2757 (grub_util_fd_close): Likewise.
2758 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
2759 (grub_util_fd_close): Likewise.
2760 (grub_util_fd_strerror): Likewise.
2761 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
2762 function proto rather than macro.
2763 (grub_util_fd_sync): Likewise.
2764 (grub_util_fd_open): Likewise.
2765 (grub_util_fd_strerror): New proto.
2766
e8fd80bc
VS
27672013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
2770 platforms on which it doesn't work.
2771
bf645fda
VS
27722013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
2775 stat immediately to where it's used.
2776
5177ba14
VS
27772013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * util/getroot.c (grub_util_check_block_device): Move to ...
2780 * util/getroot_unix.c (grub_util_check_block_device): ... here.
2781 * util/getroot.c (grub_util_check_char_device): Move to ...
2782 * util/getroot_unix.c (grub_util_check_char_device): ... here.
2783
9db826e1
VS
27842013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
2787 disk closing logic.
2788
49120085
AB
27892013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2790
2791 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
2792
b3328b68
AB
27932013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2794
2795 * docs/grub.texi (File name syntax): Document ZFS filenames
2796 (/volume@snapshot/...).
2797
3fff48ab
VS
27982013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
2801 Always return full path. Fixes a problem with mkrelpath.
2802
39cfdaa9
PFS
28032013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2804
2805 * util/grub-install.in: Add GPT PReP support.
2806 * util/grub-probe.c (probe): Support GPT partition type.
2807 (main): Support -t gpt_parttype.
2808
7c680e1f 28092013-09-23 Aleš Nesrsta <starous@volny.cz>
2810
2811 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
2812
890bdabe
MM
28132013-09-23 Massimo Maggi <me@massimo-maggi.eu>
2814
2815 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
2816
9c262ff9
TH
28172013-09-23 Tim Hardeck <thardeck>
2818
2819 * util/grub.d/10_hurd.in: Filter out character for the class.
2820 * util/grub.d/10_kfreebsd.in: Likewise.
2821 * util/grub.d/10_linux.in: Likewise.
2822 * util/grub.d/20_linux_xen.in: Likewise.
2823
d755342a
MC
28242013-09-23 Melki Christian <Christian.melki@saabgroup.com>
2825
2826 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
2827 "changed".
2828
68b77707
JT
28292013-09-23 Josh Triplett <josh@joshtriplett.org>
2830
2831 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
2832 boot partition.
2833
efa68bfa
VS
28342013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
2837 doesn't use posix_wrap. Keep literal -fno-builtin however.
2838
d9104204
VS
28392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
2842
c248781a 28432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
28442013-09-23 neil
2845
5830df88 2846 * configure.ac: Do not enable -Wmissing-noreturn as its
2847 usefulness is limited and creates problems on some OS notably with
2848 code generated by bison.
2849
28502013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
28512013-09-23 neil
2852
2853 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 2854 supported by all gcc and when it is, it's already enabled by -Wall.
2855
621bed69
VS
28562013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
2859 desactivated use of EDID at all.
2860
71764dc8 28612013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
28622013-09-23 neil
2863
2864 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
2865 video if no text is available.
2866
affce7d4 28672013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
28682013-09-23 neil
2869
2870 * configure.ac: Substitute TARGET_RANLIB.
2871
28722013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
28732013-09-23 neil
affce7d4
VS
2874
2875 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
2876
2877 Based on patches from AROS.
2878
0e8daad0 28792013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 28802013-09-23 neil
0e8daad0
VS
2881
2882 * grub-core/Makefile.am: Override STRIP and RANLIB.
2883 * configure.ac: compute TARGET_RANLIB.
2884 * INSTALL: Document TARGET_RANLIB
2885
2886 Based on patches from AROS.
2887
3f7d9c82
VS
28882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
2891 that floppies are unpartitioned.
2892
bca8873a
VS
28932013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
2896 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
2897
28982013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
2901 less nice but more portable.
2902 * grub-core/lib/posix_wrap/wchar.h: Likewise.
2903
a47a78be
VS
29042013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
2907 for cheat_fd.
2908 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
2909 functions.
2910 (grub_cryptodisk_cheat_insert): Likewise.
2911 (grub_cryptodisk_close): Likewise.
2912
e85a5d5c
VS
29132013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
2916 Use windows path for DEFAULT_DIRECTORY.
2917
dad9fa6b
VS
29182013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
2921 difference was likely just gcc version, not anything mingw-related.
2922
7e518ca8
VS
29232013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 Use Winapi on both cygwin and mingw32 to share more code between both.
2926
d68d0157
AB
29272013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
2928
2929 * util/grub-install.in: Add --grub-editenv option.
2930 * util/grub-install_header (grub_compress_file): Explicitly check for
2931 plain file to avoid cp error.
2932
775b284d
AB
29332013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
2934
2935 * docs/grub.texi (Device syntax): Document new LVM UUID based device
2936 names; fix LVM driver name (lvm, not lv).
2937 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
2938 names.
2939
3ff4063d
VS
29402013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
2943 files rather than one file with loads of #if's.
2944 * util/getroot.c: Likewise.
2945
287faafe
VS
29462013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
2949
d1983764
VS
29502013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
2953 GNU/Hurd to the list of checked PRNG.
2954
15ce95c4
VS
29552013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * configure.ac: On FreeBSD use -melf_*_fbsd format.
2958
207862dd 29592013-09-21 Ales Nesrsta <starous@volny.cz>
2960
7c680e1f 2961 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 2962
63653cfd
VS
29632013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
2966 * grub-core/disk/lvm.c: Add LVM UUIDs.
2967 * util/getroot.c: Use LVM UUIDs whenever possible.
2968
f5d3e7ef
AB
29692013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
2970
2971 * docs/grub.texi (Networking commands): Add documentation for
2972 network related commands.
2973
53c6b7d6
VS
29742013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * util/getroot.c (grub_util_open_dm): Check major rather than the name
2977 to determine if device is handled by devmapper.
2978 (convert_system_partition_to_system_disk): Likewise.
2979 (get_dm_uuid): Don't check explicitly if device is mapped, it's
2980 already done in grub_util_open_dm.
2981
e70d6736
LL
29822013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
2983
2984 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
2985 Clean up stack manipulation (sync_caches_armv*)
2986
90379808
VS
29872013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * util/lvm.c: Remove since unused. Remove remaining references.
2990
386701a8
VS
29912013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 Handle the case of partitioned LVM properly.
2994
2995 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2996 Stop on meeting LVM, mpath or DMRAID.
2997 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
2998 (read_device_map): Likewise.
2999 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3000 device is full disk rather than erroring out on LVM and similar cases.
3001
53070787
VS
30022013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3005
1bc783bd
VS
30062013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3009 4K before the end.
3010 Reported by: Leif Lindholm
3011
436ad5c3
PW
30122013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
30132013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3016 codes.
3017
607319c9
CW
30182013-09-18 Colin Watson <cjwatson@ubuntu.com>
3019
3020 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3021 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3022
d404d154
DR
30232013-09-18 Douglas Ray <dougray@cpan.org>
3024
3025 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3026 as secure.
3027
28851ef6
AN
30282013-09-18 Aleš Nesrsta <starous@volny.cz>
3029
3030 * docs/grub.texi: Fix broken link.
3031
897c3bc6
MC
30322013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3033
3034 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3035 to break endless loop.
3036
f1630459
VS
30372013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * util/grub-fstest.c: Fix several printf formats.
3040 * util/grub-mkimage.c: Likewise.
3041 * util/grub-mkimagexx.c: Likewise.
3042 * util/grub-script-check.c: Likewise.
3043
64463dfd
VS
30442013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3047 error.
3048
48972495
VS
30492013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3052
5dd5e64b
VS
30532013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3056 removed in current versions cygwin_conv_*.
3057
1c1f31e5
VS
30582013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * configure.ac: Disable efiemu runtime on cygwin.
3061
c546a259
VS
30622013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3065 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3066
81690478
VS
30672013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3070 error message.
3071
6b87c10a
VS
30722013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3075 windows variant.
3076 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3077 data.
3078
8f0baaac
VS
30792013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3082 when on x86 and not cygwin.
3083 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3084 -Wl,-melf_x86_64.
3085
b224c266
VS
30862013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * configure.ac: Set CPP to build one when checkoing for freetype for
3089 build.
3090
506b336b
VS
30912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3094 [!GRUB_BUILD]: Remove has_argument.
3095
8c8c87b7
VS
30962013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3099 Replace with a dummy.
3100
7dc5ca13
VS
31012013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * configure.ac: Don't change host_os from mingw to cygwin.
3104
c3302aa5
VS
31052013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * configure.ac: Change target_os from windows to cygwin.
3108
7b780018
VS
31092013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3112
3113 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3114 (build-grub-gen-asciih): Likewise.
3115 (build-grub-gen-widthspec): Likewise.
3116 * Makefile.util.def (grub-pe2elf): Remove.
3117 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3118 * configure.ac: Separate tests for build.
3119 Move ./build-grub-pe2elf to grub-core.
3120 Fix typo.
3121 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3122 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3123 defined.
3124 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3125 constants.
3126 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3127 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3128 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3129
984cfd8a
VS
31302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3133 mingw32 as well based on grub_util_get_disk_size.
3134 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3135 grub_util_get_fd_size.
3136 (sync): Removed.
3137 (fsync): Moved to ...
3138 * grub-core/kern/emu/misc.c (fsync): ... here.
3139
f82d79c9
VS
31402013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * include/grub/mm.h (grub_extend_alloc): Remove.
3143 * grub-core/loader/i386/pc/plan9.c: Use own version of
3144 grub_extend_alloc with appropriate types.
3145
fd7dd66d
VS
31462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3149
43ffba7c
VS
31502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3153
3c7eac44
VS
31542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 Fix dependencies on cygwin.
3157
3158 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3159 dependencies when used and defined.
3160 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3161
bdb5ba47
VS
31622013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3165 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3166
ed7fbf43
VS
31672013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3170 implementation available to cause compile-time rather than runtime
3171 error.
3172
fc46e9fc
VS
31732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * util/grub-fstest.c: Don't check for symlinks on windows.
3176
7f68269a
VS
31772013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * INSTALL: Mention unavailability of man pages when cross-compiling.
3180
8ed358e0
VS
31812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3184 and gcry_log_bug.
3185 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3186
fc97214f
VS
31872013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * INSTALL: Document cross-compilation.
3190 * acinclude.m4: Determine whether nm support -P and --defined-only.
3191 * configure.ac: Add TARGET_ to all variables pertaining to target
3192 that don't have it yet.
3193 * gentpl.py: Likewise.
3194 * grub-core/Makefile.am: Likewise.
3195 * grub-core/genmod.sh.in: Likewise.
3196 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3197 as well.
3198
ca1fb563
IB
31992013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3200
3201 * configure.ac: Remove -Wempty-body. It's not essential and needs
3202 recent gcc.
3203
0031b229
IB
32042013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3205
3206 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3207 * util/getroot.c: Likewise.
3208
54ea2f44
VS
32092013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * grub-core/disk/ahci.c: Add needed explicit cast.
3212 * grub-core/lib/backtrace.c: Likewise.
3213 * grub-core/net/ip.c: Likewise.
3214 * grub-core/net/tcp.c: Likewise.
3215 * grub-core/net/udp.c: Likewise.
3216
3c601f8c
VS
32172013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3220
1d679dda
VS
32212013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * util/import_gcry.py: Add final newline in visibility.h.
3224
00c28dd9
VS
32252013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * conf/Makefile.common: Fix typo.
3228
32af299a
VS
32292013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3232
e733cf52
VS
32332013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * Makefile.am (widthspec.h): Fix typo.
3236 * util/grub-gen-widthspec.c: Likewise.
3237
c6b066f2
VS
32382013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 Move ascii.h and widthspec.h generation to a separate build-time-only
3241 tool.
3242
ad1fe3f9 32432013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3244
3245 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3246 Always fill bootdisk info and improve check for NetBSD disklabel.
3247
92a52dd4
VS
32482013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * conf/Makefile.extra-dist: Add util/bin2h.c.
3251 Reported by: floppym.
3252
b2e9d276
VS
32532013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3256
7b966834
VS
32572013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 * configure.ac: Disable unifont and starfield if no freetype was found.
3260
d5c1eef1
VS
32612013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3264 on NetBSD and OpenBSD.
3265
66345b50 32662013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3267
3268 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3269
66345b50 32702013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3271
3272 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3273 reduced. Inheritant options are processed during the theme loading.
3274
66345b50 32752013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3276
3277 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3278
369508b3
AS
32792013-08-14 Avik Sil <aviksil@in.ibm.com>
3280
3281 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3282
32832013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3284
3285 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3286 using qemu.
3287
6f27a3f6
PFS
32882013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3289
3290 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3291 remove-potcdate.sed.
3292
c6ed362a
AB
32932013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3294
3295 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3296 unused attribute from pull argument.
3297
5e7d9464
AB
32982013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3299
3300 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3301 memory leak.
3302
dea55e2a
AB
33032013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3304
3305 * util/getroot.c (pull_lvm_by_command): add --separator option
3306 to vgs call to disable padding of output to 10 characters.
3307
f0b94ded
VS
33082013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3311 here ...
3312 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3313 here.
3314
b828fb5d
VS
33152013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3318 length.
3319
7c9d0c39
VS
33202013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3323 full Canadian cross. Tested with build=x86_64, host=arm,
3324 target=ppc-ieee1275.
3325
816719c8
VS
33262013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * configure.ac: Error if no $BUILD_CC could be found.
3329 Reported by: DevHC.
3330
2af2353b
VS
33312013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3334 i386-multiboot.
3335
797abd0a
VS
33362013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3339 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3340
36e87d25
CW
33412013-08-13 Colin Watson <cjwatson@ubuntu.com>
3342
3343 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3344 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3345 falling back to the partition device, otherwise a later call to this
3346 function may fail spuriously.
3347 Reported by Axel Beckert. Fixes Debian bug #708614.
3348
273349fe
GS
33492013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3350
3351 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3352
418f86c6
GS
33532013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3354
3355 Prevent shadowing of stdlib's devname(3) on BSD.
3356
3357 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3358 and devlast to diskname and disklast, respectively.
3359
c137aea0
CW
33602013-08-11 Colin Watson <cjwatson@ubuntu.com>
3361
3362 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3363
272dc8df 33642013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3365
3366 * docs/grub.texi: Introduce terminal window position options:
3367 terminal-left: terminal window's left position
3368 terminal-top: terminal window's top position
3369 terminal-width: terminal window's width
3370 terminal-height: terminal window's height
3371 terminal-border: terminal window's border width
3372 * grub-core/gfxmenu/theme-loader.c: Likewise.
3373 * include/grub/gfxmenu_view.h: Likewise.
3374 * po/exlude.pot: Likewise.
3375 * grub-core/gfxmenu/view.c: Likewise.
3376 Also updated minimal window size.
3377 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3378 * grub-core/tests/checksums.h: Update (terminal window height
3379 is adjusted now for low resolution screen)
b4743461 3380
748a4533
VS
33812013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3384 position).
3385
fca5f944
VS
33862013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * po/exclude.pot: Add few recent exceptions.
3389
4f47d809
VS
33902013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * tests/grub_func_test.in: Add unicode.pf2.
3393
a62ae90c
VS
33942013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3397 standard rather than noral color, in line with other terminals.
3398
4ed41392
VS
33992013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3402 analysis.
3403
3719fbc5
VS
34042013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3407
459b1d91
VS
34082013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3411 inappropriate printf.
3412
f4e1ab9d
AB
34132013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3414
3415 * .bzrignore: Remove grub-core/lib/dtc-grub,
3416 grub-core/Makefile.libfdt.def
3417 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3418
fa471bfa
VS
34192013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * include/grub/video.h (grub_video_register): Keep double-linked as
3422 well as single-linked invariants.
3423 Reported by: qwertial.
3424
d65be02b
VS
34252013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * grub-core/commands/nativedisk.c (get_uuid): Handle
3428 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3429
ba8bc620
VT
34302013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3431
3432 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3433 maximum of NW, N, NE heights instead of N's height and maximum of
3434 NW, W, SW widths instead of W's width. (So the box will be always
3435 correctly drawn)
3436
4f0ad029
GS
34372013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3438
3439 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3440 Fix misuse of variable count.
3441
43d53b72
LL
34422013-07-18 Leif Lindholm <leif.lindholm@arm.com>
34432013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
34442013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3445
43d53b72
LL
3446 New ports to arm-uboot and arm-efi.
3447 Mostly by Leif Lindholm with some additions from
3448 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3449
88f8d146
VS
34502013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3453 and not before.
3454 Reported by: Leon Drugi.
3455
3f42504c
VS
34562013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3459 Reported by: Paulo Flabiano Smorigo.
3460
d110499b
VT
34612013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3462
3463 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3464
a8674ad3
VT
34652013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3466
3467 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3468
286fe4b3
VS
34692013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3472
1bd57aa3
VS
34732013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3476
7a87d69f
AB
34772013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3478
3479 * grub-core/net/bootp.c: Export net_* variables.
3480 * grub-core/net/net.c: Likewise.
3481
b2182299
VS
34822013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3485
795b3dc0
VS
34862013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3489
68714c43
VS
34902013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3493
af211bab
VS
34942013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3497
0036f02d
MM
34982013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3499
3500 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3501 <= 0.
3502
6d0ddff3
MM
35032013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3504
3505 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3506 functions.
3507
038016f4
MM
35082013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3509
3510 * grub-core/fs/zfs/zfs_lz4.c: New file.
3511 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3512
776bdce2
MM
35132013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3514
3515 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3516
c71dbd40
MM
35172013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3518
3519 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3520 (check_pool_label): Likewise.
3521 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3522
35232013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3524
3525 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3526
8e67b50f
AB
35272013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3528
3529 * docs/grub.texi (Commands): Document postition parameters
3530 for menuentry command.
3531
f5ae3717
AB
35322013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3533
3534 * util/grub-mknetdir.in: Remove stray line from help output.
3535
9c28da2a
VS
35362013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 Remove early sm712 init as there is no reason for it (the "watchdog"
3539 effect was due to wrong GPIO map).
3540
139072b8
VS
35412013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/commands/pcidump.c: Remove static variables.
3544
c6a61bda
VS
35452013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3548
51369614
VS
35492013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * configure.ac: Move delimiter after the infos.
3552
efa8640a
VS
35532013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3556
6f80a7b2
VS
35572013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3560 not filling whole 8x16 space.
3561
a2371e19
VS
35622013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3565
64fce2d8
VS
35662013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 * configure.ac: Indicate which liblzma is used if any.
3569
eb272d84
PW
35702013-06-21 Paul Wise <pabs3@bonedaddy.net>
35712013-06-21 Craig Sanders <savannah@taz.net.au>
3572
3573 * util/grub-reboot.in: Document submenu usage.
3574
a9e5abee
CW
35752013-06-25 Colin Watson <cjwatson@ubuntu.com>
3576
3577 * .bzrignore: Update with a number of new test-related files.
3578
e639c204
CW
35792013-06-25 Colin Watson <cjwatson@ubuntu.com>
3580
3581 * util/grub-script-check.c: Fail on scripts containing no
3582 commands, to guard against corrupted grub-mkconfig setups that
3583 produce no useful output.
3584 * tests/grub_script_no_commands.in: New test.
3585 * Makefile.util.def (grub_script_no_commands): Add.
3586 Reported by Hans Putter. Fixes Debian bug #713886.
3587
a4c89b17
AB
35882013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3589
3590 * grub-core/disk/diskfilter.c: Forgot to remove comment
3591 from previous commit.
3592
5b06b53c
AB
35932013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3594
3595 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3596 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3597
702da5c9
AB
35982013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3599
3600 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3601
aa62a5b7
AB
36022013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3603
3604 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3605 rescan diskfilter devices until nothing new is found.
3606
4aa237c8
VS
36072013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3610
93d8479b
VS
36112013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 Don't try to detect cbfs on *-emu.
3614
837222cc
VS
36152013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3618
99c971af
VS
36192013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 Add support for processed coreboot payload chainloading.
3622
e6930a45
VS
36232013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 Enable coreboot information commands even when not loaded as
3626 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3627
5027af38
VS
36282013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 Support for cbfs. Also factor out the part which is common
3631 for all archives to a separate module. This splits tar from cpio
3632 as they are very different but keeps cpio, cpio_be, odc and newc
3633 together since they're very similar.
3634
a5b55c4b
DM
36352013-06-15 David Michael <fedora.dm0@gmail.com>
3636
3637 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3638 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3639
0301a8b3
VS
36402013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * tests/grub_script_eval.in: Really add the eval test.
3643
3d84cb17
VS
36442013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 Move flavour-specific parts out of common cpio.c file and
3647 rename remaining to cpio_common.c
3648
593e430c
AB
36492013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3650
3651 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3652 off new function grub_script_execute_new_scope. Change callers to use
3653 either of them as appropriate.
3654 * grub-core/commands/eval.c: New command eval.
3655 * docs/grub.texi (Commands): Document it.
3656
63c29849
AB
36572013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3658
3659 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3660 to fetch values when listing.
3661
cc284112
AB
36622013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3663
3664 Fix make dist on non-pc.
3665
36662013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
3667
3668 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3669 without a device name.
3670
69544d1e
VS
36712013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 Remove enable_executable_check as it's not needed anymore.
3674 Reported by: dougray.
3675
96dbe648
VS
36762013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3679 ambigouos RAID before discovering RAIDs on top of it.
3680 Reported by: bodom.
3681
ccfc0bdb
VS
36822013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 Fix typo (failback vs fallback).
3685
f2587088
AB
36862013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3687
3688 * util/grub.d/30_os-prober.in: Add support for probing EFI
3689 System Partition (as of os-prober 1.58).
3690
cec5cf0c
VS
36912013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * configure.ac: Add yet another path to unifont. For parabola.
3694
e40b4596
JT
36952013-05-30 Josh Triplett <josh@joshtriplett.org>
3696
3697 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
3698 handling to copy the killed characters to the kill buffer as
3699 UCS4 stored as grub_uint32_t rather than as 8-bit characters
3700 stored as char. Eliminates UCS4 truncation and corruption
3701 observed when killing characters with Ctrl-u and yanking them
3702 back with Ctrl-y.
3703
fc4c4fdd
VS
37042013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 Detach optional parts of gfxterm and integrate in with coreboot init.
3707
6570b205
VS
37082013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 Move blit and fill dispatcher to appropriate files to decrease export
3711 and relocation overhead.
3712
b8323067
VS
37132013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * grub-core/font/font.c, include/grub/font.h: Inline simple font
3716 functions.
3717
3cc1878f
VS
37182013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * grub-core/Makefile.am: Fix compilation problem with some
3721 automake versions.
3722
4b80e43c
VS
37232013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
3726
57e0c20c
VS
37272013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
3730 automake versions.
3731
4fd42c53
VS
37322013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
3735 SSDT.
3736
1e908b34
RS
37372013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
3738
3739 * grub-core/partmap/dfly.c: New partition map.
3740
1359e474
VS
37412013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
3744 checking.
3745 Reported by: Francesco Lavra.
3746
17806392
AB
37472013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
3748
3749 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
3750 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
3751 false conditions.
3752 * conf/Makefile.common: define dist_grubconf_DATA
3753
cdce14fa
VS
37542013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 Progressively skip menu elements on small terminals rather
3757 than crashing.
3758
c8d6cc3c
VS
37592013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3762 to avoid losing last column.
3763
a73b31ce
VS
37642013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * po/exclude.pot: Add missing string "%C".
3767
1202c764
VS
37682013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
3771 after the test.
3772
50268344
VS
37732013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 * util/grub-install.in: Gettextize "Not found" message.
3776
62b15edf
VS
37772013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 Fix distfiles list.
3780 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3781
37822013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
3783
3784 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
3785 present.
3786 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
3787
709ad61b
VS
37882013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
3791
d128901a
VS
37922013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
3795 attribute since structure is not necessarily aligned.
3796
34b22f5c
AB
37972013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
3798
3799 * docs/grub.texi (Device syntax): Clarify description of network
3800 drives.
3801
0f7e980b
VS
38022013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
3805 for vasprintf presence.
3806
30b03dc2
VS
38072013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * util/grub-install.in: Handle efibootmgr presence check.
3810 Reported by: Leif Lindholm.
3811
0dc11c08
VS
38122013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
3815 new strings to translate.
3816
f8024c3f
VS
38172013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
3820 yet another string (pun intended) to translate.
3821
b4c1da62
VS
38222013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * po/POTFILES-shell.in: Autogenerate it.
3825
0ef7478b
VS
38262013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
3829
8200fa15
VS
38302013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
3833 misnomer.
3834
091945b2
AB
38352013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
3836
3837 * docs/grub.texi (Network): Add description of net_default_interface,
3838 net_default_ip and net_default_mac. Rewrite variables description
3839 to emphasize that they are per-interface.
3840
0e7b2e32
VS
38412013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 New test: cmdline and cat.
3844
16f7c8f6
VS
38452013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 * grub-core/commands/cat.c: Show UTF-8 characters.
3848
3e912fda
VS
38492013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * conf/Makefile.common: Poison float and double on non-emu.
3852
ee0220bc
VS
38532013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * configure.ac: Don't disable extended registers on emu.
3856
89e0240c
VS
38572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * configure.ac: Don't use extended registers on x86_64.
3860 Reported by: Peter Jones.
3861
e56d9637
VS
38622013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * grub-core/term/efi/console.c: Fix compile error.
3865
8098f655
VS
38662013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 Compressed HFS+ support.
3869
16940e07
VS
38702013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
3873 pixel".
3874
c5dbc13d
VS
38752013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 Menu color test.
3878
011f8ae8
VS
38792013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * grub-core/tests/setjmp_test.c: New test.
3882
2aa072d7
VS
38832013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 New variables 'net_default_*' to determine MAC/IP of default interface.
3886
43fe02cb
VS
38872013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * tests/gettext_strings_test.in: A test to check for strings not
3890 marked for translation.
3891
bed06142
VS
38922013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * autogen.sh: Exclude unused libgcrypt files from translation.
3895
fb2666b5
VS
38962013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 Simplify few strings.
3899
d22840ec
VS
39002013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 Mark few forgotten strings for translation.
3903
e34092fd
VS
39042013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
3907 rather than printf.
3908
47cf82b4
VS
39092013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
3912 rather than printf.
3913 * grub-core/video/readers/tga.c: Likewise.
3914
1eed0e6e
VS
39152013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * tests/priority_queue_unit_test.cc: New test.
3918
c5b7697b
VS
39192013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
3922 than printf.
3923
5945c2f8
AB
39242013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
3925
3926 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
3927 variable for one time boot menu entry.
3928
fa292343
B
39292013-05-05 Bean <bean123ch@gmail.com>
3930
3931 * grub-core/commands/testspeed.c: New command testspeed.
3932
310d4214
VS
39332013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 Factor-out human-size printing.
3936
85002bf3
VS
39372013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 Agglomerate more mallocs to speed-up gfxterm.
3940
22b06e96
VS
39412013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 Speed-up gfxterm by slightly agglomerating mallocs.
3944
b7c036bc
VS
39452013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 More video checks.
3948
92323d1f
VS
39492013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 Speed-up gfxterm by saving intermediate results in index+alpha
3952 format.
3953
0fb356a3
VS
39542013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
3957 test.
3958
44dea3f9
VS
39592013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
3962 line of timeout as it may contain the rest of long line.
3963
14af86e4
VS
39642013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/normal/main.c: Fix freed memory dereference.
3967
03f7c8c3
VS
39682013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 Fix several memory leaks.
3971
c686014c
VS
39722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
3975
0788a695
VS
39762013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
3979
daf01d61
VS
39802013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 Fix test -a and -o precedence.
3983 Reported by: adrian15.
3984
82ae74d7
VS
39852013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
3988
8cec7bd4
AB
39892013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
3990
3991 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
3992 and add it as source to functional_test module.
3993
aa73d688
VS
39942013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
3997
c104b6f9
VS
39982013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 New series of tests for gfxterm and gfxmenu.
4001
7391c4d5
VS
40022013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4005 the theme path relative to $prefix/themes.
4006
cff50118
VS
40072013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4010 Fix order bug.
4011 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4012
7c332bdc
VS
40132013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4016 descriptor.
4017
a4f9a5ff
VS
40182013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4021 grub_gfxmenu_timeout_notifications.
4022 (grub_gfxmenu_view_destroy): Likewise.
4023
b5a2114d
VS
40242013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4027
a8905e8a
VS
40282013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 Several fixes to ieee1275 and big-endian video.
4031
813c1622
VS
40322013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 Add missing exports on mips.
4035
3f3e7326
VS
40362013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4039 if no unifont is found.
4040 Restore original keyboard.
4041
095accd1
VS
40422013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4045 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4046
50361660
VS
40472013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 First automated video test (running videotest and comparing results)
4050
cd0f6eec
VS
40512013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4054 instead of 2 to have full RGB/CMY test pattern.
4055
3f9634e5
VS
40562013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 Add few more tests.
4059
583e5b64
VS
40602013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4063 ARCS. All users updated.
4064
aa7bcb99
VS
40652013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4068
95ef1a54
VS
40692013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4072
46546fc5
VS
40732013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4076 Reported by: qwertial.
4077
3476e0ef
VT
40782013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4079
4080 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4081 with syntax "XXX deg"/"XXX °".
4082
96f33fed
VS
40832013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 Make PCI init in i386-qemu port more robust.
4086
40872013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4088
4089 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4090 cached view is reused.
4091 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4092 open boot menus.
4093
c53b4e67
VS
40942013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 Unify more code in grub-install_header.
4097
f7457fb2
VS
40982013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 Add few new tests.
4101
e2f27a8c
VS
41022013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 Enforce disabling of firmware disk drivers when native drivers kick in.
4105
ef9d8cd5
VS
41062013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 * grub-core/commands/nativedisk.c: Customize the list of modules on
4109 platform. Don't try to search for disks already using native drivers.
4110
f7bf6c31
VS
41112013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4114 platforms.
4115
bdc4add8
VS
41162013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4119 handling of variables containing backslash.
4120
e9e46c9a
VS
41212013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4124 dereference.
4125 Reported by: qwertial.
4126
0e90dee8
VS
41272013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4130
e0aacf24
VS
41312013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4134 dereference.
4135 Reported by: qwertial.
4136
3c0003c3
VS
41372013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4140
adb7d667
VS
41412013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4144
7cd0df84
VS
41452013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 New command `nativedisk'.
4148
02adbb93
VS
41492013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4152 * grub-core/loader/i386/bsd.c: Likewise.
4153
9fb0fd4f
VS
41542013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4157
bd69257a
VS
41582013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4161 grub_get_unaligned16 rather than shifts.
4162
178c2764
VS
41632013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * grub-core/kern/file.c: Use const char * rather than casting to
4166 non-const.
4167
eadfad24
VS
41682013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * grub-core/commands/probe.c: Add missing grub_device_close.
4171
9f73ebd4
VS
41722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * INSTALL: Document linguas.sh.
4175
965fa829
VS
41762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 Remove POTFILES.in and regenerate it in autogen.sh.
4179
d417ddc4
VS
41802013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 Move --directory/--override-directorry to grub-install_header and unify.
4183
f97ec546
VS
41842013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * grub-core/term/morse.c: Macroify dih and dah.
4187
b2d7470c
PFS
41882013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4189
4190 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4191
141e2a78
VS
41922013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * grub-core/term/ns8250.c: Systematically probe ports by writing
4195 to SR before using them.
4196
1dd70ebd
PFS
41972013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4198
4199 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4200 disks.
4201 (check_sas): Get sas_adress info.
4202
c796a107
VS
42032013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4206 ports.
4207
43168646
LD
42082013-04-27 Leon Drugi <eyak>
4209
4210 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4211 BSS clearing.
4212
e7b8fd08
VS
42132013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 Core compression test.
4216
17f9fd29
VS
42172013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 Implement grub_machine_get_bootlocation for ARC.
4220
dc2a6c8b
VS
42212013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 Improve AHCI detection and command issuing.
4224
f25a2ba6
VS
42252013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 Fix pseries test.
4228
a6393224
VS
42292013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 Make 'make check' work on emu.
4232
db99fbe8
VS
42332013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 Replace libcurses with our own vt100 handling for the ease of testing
4236 and decreasing prerequisites.
4237
b24ca7cd
VS
42382013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4241
63314aa4
VS
42422013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4245 compile when not needed.
4246
c1b00fff
VS
42472013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * tests/pseries_test.in: New test.
4250
f93e89ef
VS
42512013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 Add test to check that different boot mediums work.
4254
c4b456d3
VS
42552013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4258 ofw limited ISO support.
4259
5fe67f39
VS
42602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * configure.ac: Fix loongson conditional.
4263
7f63a64f
VS
42642013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 Enable mipsel-arc.
4267
b04b5990
VS
42682013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 Add serial on ARC platform.
4271
88d2f302
VS
42722013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4275 commit.
4276
86eb23bc
VS
42772013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 * tests/partmap_test.in: Add missing double semicolon.
4280
eec3bb75
VS
42812013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * util/grub-mkrescue.in: Fix loongson filename.
4284
e0810df3
VS
42852013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * util/grub-mkrescue.in: Move all files that don't have a location
4288 set in stone under /boot/grub. Use ISO hard links rather than copies
4289 to save some space.
4290
65a6b30b
VS
42912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4294 bogus SLOF values.
4295
6aff0107
VS
42962013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 Make check work on mips-arc.
4299
5e013e56
VS
43002013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * util/grub-mkrescue.in: Alias sashARCS as sash.
4303
d1989e2e
VS
43042013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4307 it's serial.
4308
1a25e72c
VS
43092013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * util/grub-install.in: Fix target fo qemu_mips.
4312 Fix extension on EFI.
4313
a59a9826
VS
43142013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4317 in front of chosen entry to mark it even if highlighting is lost.
4318
1a40f80c
VS
43192013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4322 gfxpayload=keep if cbfb is active.
4323
e343549c
VS
43242013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4327
45fbd9a2
VS
43282013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 Add missing video ids to coreboot and ieee1275 video.
4331
ab1440bd
VS
43322013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * util/grub-mkrescue.in: Add mips-arc support.
4335
cdeb8324
VS
43362013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4339
8528c879
VS
43402013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 Move mips-arc link address. Previous link address was chosen
4343 in belief that RAM on SGI platforms grows down while in fact it
4344 grows up from an unusual base.
4345
17fca573
VS
43462013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4349 Fix a type which prevented CD-ROM and floppy boot.
4350
d178788e
VS
43512013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 Support coreboot framebuffer.
4354
4355 * grub-core/video/i386/coreboot/cbfb.c: New file.
4356
fe4c3e7e
VS
43572013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4360 detecting too small regions.
4361
ec2dd179
VS
43622013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4365
872dac83
VS
43662013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4369 Remove dprintf.
4370 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4371
90ec4b7f
VS
43722013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4375 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4376 * grub-core/loader/powerpc/ieee1275/linux.c
4377 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4378
f32555dd
VS
43792013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4382 Look for /boot-rom as well as /rom/boot-rom.
4383
38649799
VS
43842013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4387 handling when creating text_layer failed.
4388 * grub-core/video/video.c (grub_video_create_render_target):
4389 Set result to 0 on error.
4390 (grub_video_delete_render_target): Do not dereference NULL.
4391
aeace7f7
VS
43922013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4395 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4396 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4397 (grub_linux_load64): Mask out 2 high bits.
4398
4eafa175
AB
43992013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4400
4401 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4402 more place.
4403
daaa64bd
VS
44042013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 Add support for pseries and other bootinfo machines to grub-mkrescue.
4407
4408 Tested by: Paulo Flabiano Smorigo.
4409
d0d2daa6
VS
44102013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * util/grub-mkrescue.in: Add GPT for EFI boot.
4413
b193e100
VS
44142013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4417 It improves performance in qemu.
4418
a0f8f3ac
VS
44192013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * build-aux/snippet: Add missing gnulib files.
4422
284df0e2
AB
44232013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4424
4425 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4426
740201f3
AB
44272013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4428
4429 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4430
a7e03923
PJ
44312013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
44322013-04-15 Peter Jones <pjones@redhat.com>
4433
4434 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4435 sectors.
4436 Based on patch by Peter Jones.
4437
25fc51a8
VS
44382013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 Fix DMRAID partition handling.
4441
88017d47
VS
44422013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * tests/grub_cmd_date.in: Skip on sparc64.
4445
fa7d914e
VS
44462013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4449 firmware error messages.
4450
cbe57a48
VS
44512013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4454 source and destination differ.
4455
21aecce0
VS
44562013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4459 detection.
4460
25092d29
VS
44612013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4464 match config-util.h to avoid warnings and increase compatibility.
4465
79451522 44662013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 44672013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4468
4469 Add option to compress files on install/image creation.
4470
78b7d77b
VS
44712013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * docs/grub-dev.texi: Rearrange menu to match the section order.
4474 Reported by: Bryan Hundven.
4475
cc2fa5ec
VS
44762013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4479
b49fe879
VS
44802013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 Move GRUB out of system area when using xorriso 1.2.9 or later.
4483
5351da81
VS
44842013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * tests/grub_cmd_date.in: Add missing exit 1.
4487
c9d586ea
VS
44882013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * tests/partmap_test.in: Skip on sparc64.
4491
3f729741
VS
44922013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 Support grub-shell on sparc64.
4495
8ca86b3a
VS
44962013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 Support mkrescue on sparc64.
4499
aa1af9bb
VS
45002013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4503 Needed on OpenBIOS due to incomplete device tree.
4504
ac4fea79
VS
45052013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4508 would be otherwise excluded.
4509
45102013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4511
4512 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4513 Inline name defines used only once.
4514
fe22b071
VS
45152013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 Fix memory leaks in ofnet.
4518 Reported by: Francesco Lavra.
4519
9d21381b
VS
45202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * docs/man/grub-glue-efi.h2m: Add missing file.
4523
07aec23c
VS
45242013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4527
67ab8353
VS
45282013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 Better support Apple Intel Macs on CD.
4531
ba44ca6d
VS
45322013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 Replace stpcpy with grub_stpcpy in tools.
4535
bbdd6305
VS
45362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 Handle Japanese special keys.
4539 Reported by: Hiroyuki YAMAMORI.
4540 Codes supplied by: Hiroyuki YAMAMORI.
4541
8573d302
VS
45422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 * util/grub-mkimage.c: Document memdisk implying --prefix.
4545
d70dbab7
VS
45462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4549 much we can do about it anyway.
4550
51a4c3e3
AN
45512013-04-12 Aleš Nesrsta <starous@volny.cz>
4552
4553 Fix handling of split transfers.
4554
92c8f58d
VS
45552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * grub-core/net/http.c: Fix bad free.
4558
b7d17a49
VS
45592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4562 than buffer size.
4563
a3d566d4
VS
45642013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4567
a936af56
VS
45682013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * tests/util/grub-shell.in: Fix it on powerpc.
4571
51212234
VS
45722013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 Turn off QEMU ACPI-way since new releases don't have shutdown port
4575 anymore.
4576
a21eec9e
VS
45772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * docs/grub.texi: Update coreboot status info.
4580
e3734b84
VS
45812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * tests/grub_cmd_date.in: New test for datetime.
4584
f9d40055
VS
45852013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * tests/partmap_test.in: Fix missing qemudisk setting.
4588
dbc56d8f
VS
45892013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 Support i386-ieee1275 grub-mkrescue and make check on it.
4592
a79b8a15
VS
45932013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4596 feature for it.
4597
48f39bb4
VS
45982013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4601 GRUB_CMDLINE_XEN_DEFAULT.
4602 Reported by: Marc Warne (GigaTux) <gigatux>
4603
053cfcdd
VS
46042013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 Import new gnulib.
4607
93cd84df
VS
46082013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 Use ACPI shutdown intests as traditional port was removed.
4611
f4b1fa4f
AB
46122013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4613
4614 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4615 distinction.
4616
49818a59
VS
46172013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4620 Fix few warining messages and leaks while on it.
4621
9277a306
AB
46222013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4623
4624 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4625 links under grub-core/lib/libgcrypt-grub/mpi.
4626
d5e2a158
VS
46272013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 Fix ia64-efi image generation on big-endian machines. Deduplicate
4630 some code while on it.
4631 Reported by: Leif Lindholm.
4632
18866643
AB
46332013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4634
4635 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4636 as extra_dist.
4637
ca53deb8
AB
46382013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4639
4640 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4641
d4c4b8e1
BH
46422013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4643
4644 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4645 texinfo-5.1.
4646
47043f95
VS
46472013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * grub-core/normal/term.c: Few more fixes for menu entry editor
4650 rendering.
4651 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4652
a3216068
VS
46532013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * grub-core/normal/term.c: Few more fixes for menu entry editor
4656 rendering.
4657 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4658
21026747
AB
46592013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4660
4661 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4662 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4663
59624ca8
AB
46642013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4665
4666 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4667 instead of hardcoding grub.mo.
4668
1f44478c
FN
46692013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4670
4671 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4672
eeada7b1
VS
46732013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4676 grub-core/disk/geli.c.
4677
132867de
VS
46782013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * util/grub-mkfont.c: Prefer enum to #define.
4681
de73de17
VS
46822013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4685
1865baa7
VS
46862013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4689
ce7d92a9
VS
46902013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
4693
52eab656
VS
46942013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
4697
98b23b95
VS
46982013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * include/grub/bsdlabel.h: Use enums.
4701
0467a5dd
VS
47022013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 Move GRUB_CHAR_BIT to types.h.
4705
16cc9f03
AB
47062013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4707
4708 * docs/grub.texi: Document more user commands.
4709
3152aecb
AB
47102013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4711
4712 * docs/grub.texi: Document menuentry --id option.
4713
c506fc30
FL
47142013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
4715
4716 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
4717
aa428238
VS
47182013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 Unify file copying setup across different install scripts. Add
4721 options for performing partial install.
4722
efe0cdda
PJ
47232013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
47242013-04-04 Peter Jones <pjones@redhat.com>
4725
4726 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
4727
f75835bd
VS
47282013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 Use TSC as a possible time source on i386-ieee1275.
4731
2cd5ce6c
VS
47322013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
4735 Init err.
4736
c9625630
VS
47372013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * util/grub-setup.c (setup): Handle some corner cases.
4740
be008941
VS
47412013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
4744
1a78d573
VS
47452013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * grub-core/commands/verify.c: Save verified file to avoid it being
4748 tampered with after verification was done.
4749
db8ff59f
VS
47502013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
4753 reported width by one to compensate for curesor algorithm problem.
4754
91bf46b1
VS
47552013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 Fix screen corruption in menu entry editor and simplify the code
4758 flow while on it.
4759
a7b1d693
AB
47602013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
4761
4762 * util/grub-mount.c (fuse_init): Return error if fuse_main
4763 failed.
4764
31df9ad8
FL
47652013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
4766
4767 * include/grub/elf.h: Add missing ARM relocation codes and fix
4768 existing ones.
4769
07f392eb
VT
47702013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4771
4772 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
4773
9efd73ec 47742013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
47752013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
4778 into account when calculating radius.
4779
47802013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
4781
4782 * grub-core/gfxmenu/view.c: Fix off-by-one error.
4783
4985ddaa
VT
47842013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4785
4786 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
4787
8c3635ff
RS
47882013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4789
4790 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
4791 missing closing bracket.
4792
74a35e69
RS
47932013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4794
4795 * INSTALL: Mention xorriso requirement.
4796
40f1c000
AB
47972013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
4798
4799 * grub-core/commands/verify.c: Fix hash algorithms values for
4800 the first three hashes - they start with 1, not with 0.
4801
e75fdee4
VS
48022013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
4805 Try terminating EFI services several times due to quirks in some
4806 implementations.
4807
33028f4c
CW
48082013-03-26 Colin Watson <cjwatson@ubuntu.com>
4809
4810 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
4811 skipping Event, Device, Processor, PowerRes, ThermalZone, and
4812 BankField extended opcodes.
4813 (get_sleep_type): Add minimal scope handling (just enough to
4814 handle setting the scope to the root path).
4815 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
4816 * include/grub/acpi.h: Add enumeration values for Event, Device,
4817 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
4818
33871a10
VT
48192013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
4820
4821 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
4822 memory leak.
4823
8990963a
VS
48242013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/disk/ahci.c: Give more time for AHCI request.
4827
daae8f9e
VS
48282013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
4831 command.
4832
6a7fb94b
VS
48332013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 Replace the region at 0 from coreboot tables to available in BSD
4836 memory map.
4837
ff99babd
VS
48382013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
4841 non-BIOS platforms.
4842
30d6b1b2
VS
48432013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
4846 platforms.
4847
6ccd0b31
VS
48482013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
4851 handling of multi-device filesystems.
4852
23c9cc04
VS
48532013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
4856 platforms.
4857
ce50dbd7
VS
48582013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 Add new 'proc' filesystem framework and put luks_script into it.
4861
d975e8d5
VS
48622013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
4865 and qemu.
4866
e73ba5e8
VS
48672013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
4870
92750e4c
VS
48712013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 Add ability to generate newc additions on runtime.
4874
0ec45a68
VS
48752013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
4878 description.
4879
320abd43
VS
48802013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * po/POTFILES.in: Regenerate.
4883
d7a6506e
VS
48842013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * grub-core/commands/verify.c (hashes): Add several hashes
4887 from the spec.
4888
8fe05def
VS
48892013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 Slight improve in USB-related boot-time checkpoints.
4892
524e2766
VS
48932013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 * grub-core/commands/boottime.c: Fix copyright header.
4896
cc19857a
VS
48972013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
4900 coreboot tables content. Support for cbmemc.
4901
ef8810e9
VS
49022013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 Fix a conflict between ports structures with 2 controllers of
4905 same kind.
4906
e9dabdfa
VS
49072013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * include/grub/boottime.h: Add missing file.
4910
f6df57d2
VS
49112013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 Initialize USB ports in parallel to speed-up boot.
4914
d745dda7
VS
49152013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 Fix USB devices not being detected when requested
4918 due to delayed attach.
4919
e5a2dd7b
VS
49202013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4921
e744219b
VS
4922 Implement boot time analysis framework.
4923
49242013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
4927 descriptor to just receive it as argument rather than endpoint
4928 address.
4929
5dd6f587
VS
49302013-03-19 Aleš Nesrsta <starous@volny.cz>
4931
4932 Better estimate the maximum USB transfer size.
4933
2f1071d5
VS
49342013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 Resend a packet if we got the wrong buffer in status.
4937
46ecfc49
VS
49382013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
4941 multiplication rather than division.
4942
ea811130
VS
49432013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
4946 than divisions.
4947
d2789cf0
VS
49482013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
4951 operations to have intended shifts and not divisions.
4952
a9c94590
VS
49532013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
4956 intended shifts rather than division.
4957
84cfe81b
VS
49582013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
4961 computation for some years before epoch. Avode confusing division
4962 while on it.
4963
21344ef6
VS
49642013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 * grub-core/video/i386/pc/vbe.c
4967 (grub_video_vbe_print_adapter_specific_info): Replace division by
4968 shifts.
4969
3f2b4d1a
VS
49702013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 Adjust types in gdb module to have intended unsigned shifts rather than
4973 signed divisions.
4974
3dac5878
VS
49752013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
4978 maximum size is 4G - 1 on hfs
4979
5341c0fb
VS
49802013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
4983
fc3ff2a2
VS
49842013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
4987 function.
4988
81455e8e
AB
49892013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
4990
4991 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
4992 causing gcc error with gcc 4.7.1.
4993
efd4f117
NZ
49942013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
4995
4996 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
4997 dereference null pointer. While the code is technically correct, gcc
4998 may eliminate a null check if pointer is already dereferenced.
4999
e11645f4
NZ
50002013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5001
5002 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5003 OOM check.
5004 * grub-core/normal/term.c (read_terminal_list): Likewise.
5005
77468368
VS
50062013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 Lift up core size limits on some platforms. Fix potential memory
5009 corruption with big core on small memory systems. Document remaining
5010 limits.
5011
f6b58fe5
VS
50122013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5015 gotoxy to 0,0.
5016
19ce697d
VS
50172013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Remove all trampoline support. Add -Wtrampolines when
5020 present. Remove symbols used for trampolines to make
5021 link fail if trampolines are present.
5022
73b5d90f
VS
50232013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5026 append out of its parent.
5027
cb758e96
VS
50282013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5031 parent.
5032
3188131f
VS
50332013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5036 all vars to a macro. All users updated.
5037
e42b2514
VS
50382013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5041 i386-ieee1275.
5042
83e1a1a1
VS
50432013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5046
1d5a880f
VS
50472013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5050
6e4146c4
VS
50512013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 Move to more hookless approach in IEEE1275 devices handling.
5054
99fcda8a
VS
50552013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 * grub-core/kern/term.c (grub_term_normal_color),
5058 (grub_term_highlight_color): Add back lost defaults.
5059
73bf57e2
VS
50602013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 Make elfload not use hooks. Opt for flags and iterators instead.
5063
7f8c105f
VS
50642013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5067 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5068
396d4091
VS
50692013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5072
50732013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5076 hook pass-through parameter. All users updated and unnested.
5077
74a27421
VS
50782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5081 out of its parent.
5082
b46d4213
VS
50832013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/fs/hfs.c: Remove nested functions.
5086
e114c3cc
VS
50872013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5090 the context through.
5091 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5092
f9b7d780
VS
50932013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * util/grub-editenv.c (list_variables): Move print_var out of its
5096 parent.
5097
ca9c2608
VS
50982013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5101 function.
5102
5d983f5f
VS
51032013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * grub-core/gentrigtables.c: Make tables const.
5106
3056d3e7
VS
51072013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 Remove nested functions from videoinfo iterators.
5110
e2303774
VS
51112013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5114 for 64-bit platforms.
5115
f42e3a2f
VS
51162013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5119 a FOR_CHILDREN macro.
5120
be174e5e
VS
51212013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5124 platform from firmware path.
5125
0789b672
VS
51262013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 Enable linux16 on non-BIOS systems for i.a. memtest.
5129
5130 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5131 correctly.
5132 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5133
005a9c32
VS
51342013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5137 Fix end of table condition.
5138
ff2b3cd9
VS
51392013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5142 out of its parent.
5143
4fc40ff8
VS
51442013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/fs/jfs.c: Remove nested functions.
5147
be42d97a
VS
51482013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/fs/minix.c: Remove nested functions.
5151
99373ce4
VS
51522013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * grub-core/fs/iso9660.c: Remove nested functions.
5155
5aec2afe
VS
51562013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5159 of parent function.
5160
6c69e691
VS
51612013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * util/grub-fstest.c: Remove nested functions.
5164
43c91882
VS
51652013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * grub-core/loader/machoXX.c: Remove nested functions.
5168
4eb8b756
CW
51692013-02-27 Colin Watson <cjwatson@ubuntu.com>
5170
5171 Remove nested functions from disk and file read hooks.
5172
5173 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5174 (struct grub_disk): Add read_hook_data member.
5175 * include/grub/file.h (struct grub_file): Likewise.
5176 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5177 argument.
5178
5179 Update all callers.
5180
df6da5a5
AB
51812012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5182
5183 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5184 Fix off by one error in enumerating extended partitions.
5185
21aecde5
AB
51862013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5187
5188 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5189 memory leak if device name is not found.
5190
f1a19118
AB
51912013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5192
5193 * grub-core/normal/menu_entry.c (update_screen): remove
5194 unused variable `off' which caused scroll down arrow to be always shown.
5195
958bfd20
AB
51962013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5197
5198 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5199 access to unallocated memory.
5200
b7b78edb
AB
52012013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5202
5203 * Makefile.util.def: Add partmap/msdos.c to common library.
5204 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5205 * grub-core/disk/ldm.c: Check for existence of
5206 GRUB_PC_PARTITION_TYPE_LDM.
5207
28d468d6
VS
52082013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5211 sizes and display sector size.
5212
d55ffb02
VS
52132013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 Implement new command cmosdump.
5216
b5ea6ce0
VS
52172013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5218
5219 Support Openfirmware disks with non-512B sectors.
5220
5221 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5222 size of the disk.
5223 * (grub_ofdisk_get_block_size): New function.
5224 * (grub_ofdisk_prepare): Use the correct block size.
5225 * (grub_ofdisk_read): Likewise.
5226 * (grub_ofdisk_write): Likewise.
5227 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5228 New proto.
5229
cc0e476f
VS
52302013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5233
c5dbdc33
VS
52342013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5237 on first error.
5238
3f078c0f
VS
52392013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5242 freeing it.
5243
66a93674
VS
52442013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 Implement USBDebug (full USB stack variant).
5247
c9f0c134
VS
52482013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5251 unless they have unexpected values.
5252
cfe1288b
VS
52532013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5256 grub_print_error.
5257
e42b9969
VS
52582013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5261 zero-out of port structure.
5262
cf94fd62
VS
52632013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5266 of extended attributes.
5267
f81ef4b5
AB
52682013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5269
5270 * util/grub-install.in: change misleading comment about
5271 device.map creation
5272
af18fdb4
VS
52732013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5276 when menu highlight color isn't set.
5277
08bcec50
M
52782013-01-27 C. Masloch <pushbx@38.de>
5279
5280 Improve FreeDOS direct loading support compatibility.
5281
5282 * include/grub/i386/relocator.h (grub_relocator16_state):
5283 New member ebp.
5284 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5285 variable.
5286 (grub_relocator16_boot): Handle %ebp.
5287 * grub-core/lib/i386/relocator16.S: Likewise.
5288 * grub-core/loader/i386/pc/freedos.c:
5289 Load BPB to pass kernel which partition to load from.
5290 Check that kernel file is not too large.
5291 Set register dl to BIOS unit number as well.
5292
7782b8a6
CW
52932013-01-22 Colin Watson <cjwatson@ubuntu.com>
5294
5295 * util/grub-reboot.in (usage): Document the need for
5296 GRUB_DEFAULT=saved.
5297 * util/grub-set-default.in (usage): Likewise.
5298 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5299
e661c180
VS
53002013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5303 than defining WORDS_BIGENDIAN manually.
5304
1c22ca9a
VS
53052013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5308 invariants.
5309
d44892fe
CW
53102013-01-21 Colin Watson <cjwatson@ubuntu.com>
5311
5312 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5313 nested.
5314 (blit_comb: add_device_width): Likewise.
5315
5fdbaed1
CW
53162013-01-21 Colin Watson <cjwatson@ubuntu.com>
5317
5318 Remove nested functions from USB iterators.
5319
5320 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5321 (grub_usb_controller_iterate_hook_t): Likewise.
5322 (grub_usb_iterate): Add hook_data argument.
5323 (grub_usb_controller_iterate): Likewise.
5324 (struct grub_usb_controller_dev.iterate): Likewise.
5325
5326 Update all implementations and callers.
5327
4250985a
VS
53282013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5331 margin when not needed.
5332
7d8848f3
VS
53332013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5334
bc136973 5335 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5336
53372013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5338
bc136973
VS
5339 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5340 asterisk.
7d8848f3 5341
ed12a003
CW
53422013-01-21 Colin Watson <cjwatson@ubuntu.com>
5343
5344 Fix powerpc and sparc64 build failures caused by un-nesting memory
5345 map iterators.
5346
6a0db449
CW
53472013-01-21 Colin Watson <cjwatson@ubuntu.com>
5348
5349 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5350 parameter declarations.
5351
ccd86b21
VS
53522013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5355
822b726b
VS
53562013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 Improve spkmomdem reliability by adding a separator between bytes.
5359
115c2cc1
CW
53602013-01-21 Colin Watson <cjwatson@ubuntu.com>
5361
5362 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5363 an Acer registration utility with several sightings in the wild.
5364 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5365
fc524edf
CW
53662013-01-21 Colin Watson <cjwatson@ubuntu.com>
5367
5368 Remove nested functions from filesystem directory iterators.
5369
5370 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5371 (struct grub_fs.dir): Add hook_data argument.
5372
5373 Update all implementations and callers.
5374
53d3e4e3
CW
53752013-01-21 Colin Watson <cjwatson@ubuntu.com>
5376
5377 * docs/grub.texi (Multi-boot manual config): Fix typo for
5378 "recommended".
5379
c821711f
LL
53802013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5381
5382 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5383 until after its use in generate_image.
5384
6a0debbd
CW
53852013-01-20 Colin Watson <cjwatson@ubuntu.com>
5386
5387 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5388 initrd size to addr_min, since the initrd will be allocated after
5389 this address.
5390
f41e08db
AB
53912013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5392
5393 * conf/Makefile.common: Fix autogen rules to pass definition
5394 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5395
77529e0f
LL
53962013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5397
5398 * include/grub/elf.h: Update ARM definitions based on binutils.
5399
b879aa7b
VS
54002013-01-20 Aleš Nesrsta <starous@volny.cz>
5401
5402 Split long USB transfers into short ones.
5403
8eb8284d
AB
54042013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5405
5406 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5407 is interrupted by ESC.
5408
08dad2dc
VS
54092013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * util/grub-script-check.c (main): Uniform the error message.
5412
6c724b85
CW
54132013-01-20 Colin Watson <cjwatson@ubuntu.com>
5414
5415 Remove nested functions from ELF iterators.
5416
25239370
CW
54172013-01-20 Colin Watson <cjwatson@ubuntu.com>
5418
5419 Remove nested functions from device iterators.
5420
5421 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5422 (grub_arc_iterate_devs): Add hook_data argument.
5423 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5424 (struct grub_ata_dev.iterate): Add hook_data argument.
5425 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5426 (grub_device_iterate): Add hook_data argument.
5427 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5428 (struct grub_disk_dev.iterate): Add hook_data argument.
5429 (grub_disk_dev_iterate): Likewise.
5430 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5431 Likewise.
5432 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5433 Likewise.
5434 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5435 type.
5436 (struct grub_partition_map.iterate): Add hook_data argument.
5437 (grub_partition_iterate): Likewise.
5438 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5439 (struct grub_scsi_dev.iterate): Add hook_data argument.
5440
5441 Update all callers.
5442
6c0314d6
CW
54432013-01-20 Colin Watson <cjwatson@ubuntu.com>
5444
5445 Fix typos for "developer" and "development".
5446
600dc5f1
VS
54472013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 Add license header to spkmodem-recv.c.
5450
17334a6b
VS
54512013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 Rewrite spkmodem to use PIT for timing. Double the speed.
5454
7d462559
VS
54552013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 Add new command pcidump.
5458
b78d6c32
VS
54592013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 New terminal outputs using serial: morse and spkmodem.
5462
34f71cb8
VS
54632013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 Improve bidi handling in entry editor.
5466
4542e71b
VS
54672013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5470 argument to prevent name collision.
5471
09fd6d82
CW
54722013-01-15 Colin Watson <cjwatson@ubuntu.com>
5473
5474 Remove nested functions from script reading and parsing.
5475
5476 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5477 getline_data argument, passed to getline.
5478 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5479 getline_data argument, passed to grub_parser_split_cmdline.
5480 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5481 lexerstate->getline_data to lexerstate->getline.
5482 (grub_script_lexer_init): Add getline_data argument, saved in
5483 lexerstate->getline_data.
5484 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5485 argument, passed to grub_script_parse.
5486 * grub-core/script/script.c (grub_script_parse): Add getline_data
5487 argument, passed to grub_script_lexer_init.
5488 * include/grub/parser.h (grub_parser_split_cmdline): Update
5489 prototype. Update all callers to pass appropriate getline data.
5490 (struct grub_parser.parse_line): Likewise.
5491 (grub_rescue_parse_line): Likewise.
5492 * include/grub/reader.h (grub_reader_getline_t): Add void *
5493 argument.
5494 * include/grub/script_sh.h (struct grub_lexer_param): Add
5495 getline_data member.
5496 (grub_script_parse): Update prototype. Update all callers to pass
5497 appropriate getline data.
5498 (grub_script_lexer_init): Likewise.
5499 (grub_normal_parse_line): Likewise.
5500
5501 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5502 data argument.
5503 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5504 static instead of nested. Rename to ...
5505 (grub_parser_execute_getline): ... this.
5506 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5507 data argument.
5508 * grub-core/normal/main.c (read_config_file: getline): Make static
5509 instead of nested. Rename to ...
5510 (read_config_file_getline): ... this.
5511 (grub_normal_read_line): Add unused data argument.
5512 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5513 getline): Make static instead of nested. Rename to ...
5514 (grub_script_execute_sourcecode_getline): ... this.
5515 * util/grub-script-check.c (main: get_config_line): Make static
5516 instead of nested.
5517
d0d4b8a0
CW
55182013-01-15 Colin Watson <cjwatson@ubuntu.com>
5519
5520 Remove nested functions from memory map iterators.
5521
5522 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5523 argument, passed to hook.
5524 * grub-core/kern/i386/coreboot/mmap.c
5525 (grub_linuxbios_table_iterate): Likewise.
5526 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5527 instead of nested.
5528 (grub_machine_mmap_iterate): Add hook_data argument.
5529 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5530 Add hook_data argument, passed to hook.
5531 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5532 Likewise.
5533 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5534 Likewise.
5535 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5536 Likewise.
5537 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5538 Likewise.
5539 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5540 Likewise.
5541 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5542 Likewise.
5543 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5544 (grub_machine_mmap_iterate): Likewise.
5545 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5546 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5547 prototype.
5548 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5549 Remove NESTED_FUNC_ATTR from here and from all users.
5550 (grub_mmap_iterate): Update prototype.
5551 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5552 pass appropriate hook data.
5553 (grub_machine_mmap_iterate): Likewise.
5554
5555 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5556 static instead of nested.
5557 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5558 Rename to ...
5559 (lsmmap_hook): ... this.
5560 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5561 Likewise.
5562 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5563 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5564 heap_init): Likewise.
5565 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5566 Rename to ...
5567 (mmap_iterate_hook): ... this.
5568 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5569 Likewise.
5570 * grub-core/lib/ieee1275/relocator.c
5571 (grub_relocator_firmware_get_max_events: count): Likewise.
5572 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5573 to ...
5574 (grub_relocator_firmware_fill_events_iter): ... this.
5575 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5576 hook): Likewise. Rename to ...
5577 (grub_relocator_alloc_chunk_align_iter): ... this.
5578 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5579 Rename to ...
5580 (generate_e820_mmap_iter): ... this.
5581 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5582 Rename to ...
5583 (count_hook): ... this.
5584 (grub_linux_boot: hook): Likewise. Rename to ...
5585 (grub_linux_boot_mmap_find): ... this.
5586 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5587 (grub_linux_boot_mmap_fill): ... this.
5588 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5589 hook): Likewise. Rename to ...
5590 (grub_fill_multiboot_mmap_iter): ... this.
5591 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5592 hook): Likewise. Rename to ...
5593 (count_hook): ... this.
5594 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5595 hook): Likewise. Rename to ...
5596 (grub_fill_multiboot_mmap_iter): ... this.
5597 * grub-core/loader/powerpc/ieee1275/linux.c
5598 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5599 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5600 Likewise. Rename to ...
5601 (alloc_phys_choose): ... this.
5602 (determine_phys_base: get_physbase): Likewise.
5603 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5604 find_hook): Likewise.
5605 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5606 (malloc_hook: count_hook): Likewise.
5607 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5608 Likewise. Rename to ...
5609 (lower_hook): ... this.
5610 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5611 (upper_hook): ... this.
5612 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5613 (post64_hook): ... this.
5614 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5615 Likewise. Rename to ...
5616 (lower_hook): ... this.
5617 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5618 (upper_hook): ... this.
5619 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5620 (grub_mmap_iterate: fill_hook): Likewise.
5621 (fill_mask): Pass addr and mask within a single struct.
5622 (grub_cmd_badram: hook): Make static instead of nested. Rename
5623 to ...
5624 (badram_iter): ... this.
5625 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5626 (cutmem_iter): ... this.
5627
22099030
VS
56282013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5631 delimit path in strings using quotes.
5632 * util/getroot.c (grub_guess_root_devices): Likewise.
5633 (grub_make_system_path_relative_to_its_root): Likewise.
5634 * util/grub-probe.c (probe): Likewise.
5635 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5636 (xrealpath): Likewise.
5637
4a9950ec
VS
56382013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 Fix compilation with older compilers.
5641
5642 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5643 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5644 declarations.
5645 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5646 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5647 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5648 identifier with b.
5649 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5650 * include/grub/crypto.h: Add type defines.
5651 * util/import_gcrypth.sed: Remove duplicate type defines.
5652
adcc6020
VS
56532013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 New command list_trusted.
5656
5657 * grub-core/commands/verify.c (grub_cmd_list): New function.
5658
a4528937
CW
56592013-01-13 Colin Watson <cjwatson@ubuntu.com>
5660
5661 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5662 info message.
5663
ca3a7446
CW
56642013-01-13 Colin Watson <cjwatson@ubuntu.com>
5665
5666 Remove nested functions from PCI iterators.
5667
5668 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5669 passed to hook. Update all callers to pass appropriate hook data.
5670 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5671 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5672 Remove NESTED_FUNC_ATTR from here and from all users.
5673 (grub_pci_iterate): Update prototype.
5674 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5675 instead of nested. Rename to ...
5676 (grub_cs5536_find_iter): ... this.
5677 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5678 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5679 Likewise.
5680 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5681 Likewise.
5682 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5683 Likewise.
5684 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5685 Likewise.
5686 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5687 * grub-core/video/radeon_fuloong2e.c
5688 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5689 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5690 find_card): Likewise.
5691 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
5692 Likewise.
5693
f8e98fee
VS
56942013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * grub-core/commands/verify.c: Mark messages for translating.
5697
055b36b6
VS
56982013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
5701 fatal.
5702
f7ff879b
VS
57032013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
5706 fatal.
5707
57082013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
5709
5710 * autogen.sh: Do not try to delete nonexistant files.
5711 * util/import_gcrypth.sed: Add some missing header removals.
5712
01323d49
CW
57132013-01-12 Colin Watson <cjwatson@ubuntu.com>
5714
5715 Clean up dangling references to grub-setup.
5716 Fixes Ubuntu bug #1082045.
5717
5718 * docs/grub.texi (Images): Refer generally to grub-install rather
5719 than directly to grub-setup.
5720 (Installing GRUB using grub-install): Remove direct reference to
5721 grub-setup.
5722 (Device map) Likewise.
5723 (Invoking grub-install): Likewise.
5724 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5725 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5726 * util/grub-install.in (usage): Likewise.
5727
5728 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
5729 Apply to grub-bios-setup and grub-sparc64-setup rather than to
5730 grub-setup.
5731 * configure.ac: Remove grub_setup output variable.
5732
5733 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
5734 to grub-bios-setup.
5735 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
5736 grub-setup to grub-sparc64-setup.
5737
5e3b8dcb
VS
57382013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 Import gcrypt public-key cryptography and implement signature checking.
5741
535714bd
VS
57422013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * grub-core/fs/ntfs.c: Ue more appropriate types.
5745 * grub-core/fs/ntfscomp.c: Likewise.
5746 * include/grub/ntfs.h: Likewise.
5747
3e4f3566
VS
57482013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 Support Apple FAT binaries on non-Apple platforms.
5751
5752 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
5753 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
5754 Likewise.
5755 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
5756 Apple FAT binaries.
5757
4dedb13f
VS
57582013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
5761 sector devices.
5762
f8861eaf
CW
57632013-01-07 Colin Watson <cjwatson@ubuntu.com>
5764
5765 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
5766 explicitly zeroing elements.
5767 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
5768 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
5769 of elements in a structure already allocated using grub_zalloc.
5770 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5771
86065b0a
CW
57722013-01-07 Colin Watson <cjwatson@ubuntu.com>
5773
5774 * docs/grub.texi (grub_cpu): New subsection.
5775 (grub_platform): Likewise.
5776
c6f1e92f
VS
57772013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
5780
f797ec85
VS
57812013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
5784 divisions.
5785
033d0b4b
VS
57862013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
5789 * grub-core/fs/ntfscomp.c: Likewise.
5790 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
5791 (grub_ntfs_comp): Likewise.
5792
21d1b9a0
VS
57932013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
5796 Rename to ...
5797 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
5798 of groups_per_block. All users updated.
5799
10ca8645
VS
58002013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
5803 grub_error properly.
5804 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
5805 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
5806
a4c3ed4c
VS
58072013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
5810 always in /boot/zfs.
5811 Reported by: Yuta Satoh.
5812
0b716507
YS
58132013-01-03 Yuta Satoh <nigoro>
5814
5815 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
5816 ${grub_probe}
5817
00c05e22
VS
58182013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * configure.ac: Extend -Wno-trampolines to host.
5821
dadddb76
VS
58222013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
5825 entry->len = 0.
5826
54ce53ca
CW
58272013-01-03 Colin Watson <cjwatson@ubuntu.com>
5828
5829 * docs/grub.texi (Invoking grub-mkrelpath): New section.
5830 (Invoking grub-script-check): Likewise.
5831
8912efca
CW
58322013-01-03 Colin Watson <cjwatson@ubuntu.com>
5833
5834 * docs/grub.texi (Invoking grub-mount): New section.
5835 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
5836
c3fc8394
CW
58372013-01-02 Colin Watson <cjwatson@ubuntu.com>
5838
5839 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
5840 test failures, so that a failing unit test correctly causes 'make
5841 check' to fail.
5842
45d26abb
CW
58432013-01-02 Colin Watson <cjwatson@ubuntu.com>
5844
5845 Fix failing printf test.
5846
5847 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
5848 '$' in the correct order when collecting type information.
5849
971dd2c6
CW
58502013-01-02 Colin Watson <cjwatson@ubuntu.com>
5851
5852 * docs/grub.texi (configfile): Explain environment variable
5853 handling.
5854 (source): New section.
5855 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
5856
5c67ea6c
CW
58572012-12-31 Colin Watson <cjwatson@ubuntu.com>
5858
5859 Remove several trivially-unnecessary uses of nested functions.
5860
5861 * grub-core/commands/i386/pc/sendkey.c
5862 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
5863 instead of nested.
5864 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
5865 Rename to ...
5866 (legacy_file_getline): ... this.
5867 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
5868 Likewise.
5869 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
5870 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
5871 to ...
5872 (probe_dummy_iter): ... this.
5873 * grub-core/kern/i386/coreboot/mmap.c
5874 (grub_linuxbios_table_iterate: check_signature): Likewise.
5875 * grub-core/kern/parser.c (grub_parser_split_cmdline:
5876 check_varstate): Likewise. Mark inline.
5877 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
5878 an additional parameter.
5879 (find_long: fnd_long): Likewise. Pass two additional parameters.
5880 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
5881 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
5882 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
5883 Likewise. Rename to ...
5884 (grub_cmos_find_port_iter): ... this.
5885 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
5886 Rename to ...
5887 (find_rtc_iter): ... this.
5888
5889 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
5890 function directly into the function body, since it is only called
5891 once.
5892
33a68ac6
CW
58932012-12-30 Colin Watson <cjwatson@ubuntu.com>
5894
5895 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
5896 __attribute__ ((unused)).
5897 * grub-core/video/bochs.c (find_card): Likewise.
5898 * grub-core/video/cirrus.c (find_card): Likewise.
5899 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
5900 * grub-core/video/sis315pro.c (find_card): Likewise.
5901 * grub-core/video/sm712.c (find_card): Likewise.
5902
608b647a
CW
59032012-12-28 Colin Watson <cjwatson@ubuntu.com>
5904
5905 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
5906 Fixes Savannah bug #37821.
5907
fd49ceb3
CW
59082012-12-28 Colin Watson <cjwatson@ubuntu.com>
5909
5910 Apply program name transformations at build-time rather than at
5911 run-time. Fixes Debian bug #696465.
5912
5913 * acinclude.m4 (grub_TRANSFORM): New macro.
5914 * configure.ac: Create output variables with transformed names for
5915 most programs.
5916 * util/bash-completion.d/grub-completion.bash.in: Use
5917 pre-transformed variables for program names.
5918 * util/grub-install.in: Likewise.
5919 * util/grub-kbdcomp.in: Likewise.
5920 * util/grub-mkconfig.in: Likewise.
5921 * util/grub-mkconfig_lib.in: Likewise.
5922 * util/grub-mknetdir.in: Likewise.
5923 * util/grub-mkrescue.in: Likewise.
5924 * util/grub-mkstandalone.in: Likewise.
5925 * util/grub-reboot.in: Likewise.
5926 * util/grub-set-default.in: Likewise.
5927 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5928 * tests/util/grub-shell-tester.in: Remove unused assignment.
5929 * tests/util/grub-shell.in: Likewise.
5930 * util/grub.d/00_header.in: Likewise.
5931
7024b3c0
CW
59322012-12-28 Colin Watson <cjwatson@ubuntu.com>
5933
5934 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
5935
5936 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
5937 HAVE_RAW_DECL_GETS.
5938 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
5939
e3501b13
VS
59402012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
5943 Reported by: Eriks Latosheks <foresterlv>.
5944
b40c88a9
VS
59452012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * docs/grub.texi (Network): Update instructions on generating netboot
5948 image.
5949
ce96d01c
VS
59502012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
5953 around device name if necessarry.
5954
0f596201
PFS
59552012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5956
5957 * util/grub-install.in: Follow the symbolic link parameter added
5958 to the file command.
5959
600d5bdb
AB
59602012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
5961
5962 * util/grub-install.in: Remove stale TODO.
5963
64ebd2f4
PFS
59642012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5965
5966 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
5967 dynamic allocation for the bootpath buffer.
5968
74b2fe3e
DTB
59692012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
5970
5971 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
5972 window too small.
5973
969b804f
VS
59742012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
5977 argument rather than font name. All users updated.
5978 (grub_gfxterm_set_window): Likewise.
5979
b9f5ebd6
VT
59802012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
5981
5982 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
5983 from working.
5984
258f43b7
VS
59852012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * util/getroot.c (convert_system_partition_to_system_disk): Support
5988 nbd disks.
5989
cc1ce5f9
VS
59902012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
5993 infinite loop on corrupted FS.
5994
e77a16ca
VS
59952012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 Fix big-endian mtime.
5998
5999 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6000 together sec and usec.
6001 (grub_ufs_dir): Use correct byteswapping for UFS time.
6002
d9c48c7b
VS
60032012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6004
6005 Support big-endian UFS1.
6006
6007 * Makefile.util.def (libgrubmods): Add ufs_be.c
6008 * grub-core/Makefile.core.def (ufs1_be): New module.
6009 * grub-core/fs/ufs_be.c: New file.
6010 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6011 the file.
6012
2f9f40ba
LL
60132012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6014
6015 * include/grub/types.h: Fix functionality unaffecting typo in
6016 GRUB_TARGET_WORDSIZE conditional macro.
6017
48ff0889
PFS
60182012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6019
6020 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6021
03711240
GS
60222012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6023
6024 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6025 that /netbsd appears first (when it exists).
6026
a31b11bd
CJ
60272012-10-12 Christoph Junghans <ottxor@gentoo.org>
6028
6029 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6030 Fixes Savannah bug #37558.
6031
e8a5d5d4
CW
60322012-10-12 Colin Watson <cjwatson@ubuntu.com>
6033
6034 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6035 description of extract_entries_configfile.
6036
60372012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6038
6039 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6040 preferred_address.
6041 (grub_cmd_linux): Likewise.
6042 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6043 preferred_lifetime. Update all users.
6044
288c757d
CW
60452012-09-26 Colin Watson <cjwatson@ubuntu.com>
6046
6047 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6048 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6049
0d35da3f
CW
60502012-09-26 Colin Watson <cjwatson@ubuntu.com>
6051
6052 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6053 errors from grub-probe to /dev/null, not stdout.
6054
b78c3127
VS
60552012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6058 sector 1.
6059
473959f0
CW
60602012-09-24 Colin Watson <cjwatson@ubuntu.com>
6061
6062 * util/grub-install.in: Make the error message if $source_dir
6063 doesn't exist more useful.
6064
794c8c33
CW
60652012-09-22 Colin Watson <cjwatson@ubuntu.com>
6066
6067 Fix grub-emu build on FreeBSD.
6068
6069 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6070 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6071 headers on Linux.
6072 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6073 implementation is currently Linux-specific.
6074 * util/getroot.c (exec_pipe): Define only on Linux or when either
6075 libzfs or libnvpair is unavailable.
6076 (find_root_devices_from_poolname): Remove unused path variable.
6077
86d08fdb
CW
60782012-09-19 Colin Watson <cjwatson@ubuntu.com>
6079
6080 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6081 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6082 should fit before end == 63.
6083
735abf54
CW
60842012-09-19 Colin Watson <cjwatson@ubuntu.com>
6085
6086 * util/grub-setup.c (write_rootdev): Remove unused core_img
6087 parameter. Update all callers.
6088 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6089 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6090 GRUB_SETUP_BIOS.
6091
140acd3c
VS
60922012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6095 (grub_add_tab): New function.
6096 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6097 * util/grub.d/10_illumos.in: Likewise.
6098 * util/grub.d/10_kfreebsd.in: Likewise.
6099 * util/grub.d/10_linux.in: Likewise.
6100 * util/grub.d/10_netbsd.in: Likewise.
6101 * util/grub.d/10_windows.in: Likewise.
6102 * util/grub.d/10_xnu.in: Likewise.
6103 * util/grub.d/20_linux_xen.in: Likewise.
6104 * util/grub.d/30_os-prober.in: Likewise.
6105
7ddffdad
VS
61062012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6109 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6110 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6111 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6112 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6113 ieee1275-nocursor.
6114 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6115 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6116
4e092454
VS
61172012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6120 le-conversion.
6121 Reported by: BURETTE, Bernard.
6122
735abf54 61232012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6124
6125 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6126 from comment.
6127
dfd39dbd
CW
61282012-09-14 Colin Watson <cjwatson@ubuntu.com>
6129
6130 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6131 IEEE1275 machines. Fixes powerpc-emu compilation.
6132 * include/grub/terminfo.h: Likewise.
6133
3bfa763c
VS
61342012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6137 a const pointer.
6138 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6139 const pointer.
6140 (efiemu_set_variable): Make vendor_guid a const pointer.
6141
250e475b
VS
61422012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 Don't require grub-mkconfig_lib to generate manpages for programs.
6145
6146 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6147 dependencies, don't add grub-mkconfig_lib.
6148 (program): Pass empty adddeps.
6149 (script): Pass grub-mkconfig_lib as adddeps.
6150
592fd0e4
VS
61512012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6154 * util/getroot.c (grub_find_device): Likewise.
6155 (get_mdadm_uuid): Likewise.
6156 (grub_util_is_imsm): Likewise.
6157 (grub_util_pull_device): Likewise.
6158 * util/grub-probe.c (probe): Likewise.
6159
801a3027
BG
61602012-09-10 Benoit Gschwind <gschwind>
6161
6162 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6163 (devs): Add devpath_8.
6164
c5052c81
PJ
61652012-09-08 Peter Jones <pjones@redhat.com>
6166
6167 * grub-core/Makefile.core.def (efifwsetup): New module.
6168 * grub-core/commands/efi/efifwsetup.c: New file.
6169 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6170 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6171 New define.
6172 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6173
8e832f71
JS
61742012-09-05 Jiri Slaby <jslaby@suse.cz>
6175
6176 * configure.ac: Add SuSe path.
6177
f0f55752
CW
61782012-09-05 Colin Watson <cjwatson@ubuntu.com>
6179
6180 * NEWS: Fix typo.
6181
ecadc4c2
CW
61822012-09-05 Colin Watson <cjwatson@ubuntu.com>
6183
6184 * util/import_gcry.py: Sort cipher_files, to make build system
6185 generation more deterministic.
6186
64498f25
VS
61872012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6190 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6191 (grub_set_datetime): Likewise.
6192
9cc836a2
VS
61932012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6196 warnings.
6197
bcfcea01
VS
61982012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6201
a4099485
VS
62022012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6205
265c162a
CW
62062012-09-04 Colin Watson <cjwatson@ubuntu.com>
6207
6208 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6209 required for checkouts from bzr, but it may be useful for users or
6210 distributors wishing to update translations against a tarball
6211 distribution, and it can be helpful for the tarball to be a superset
6212 of what's in bzr.
6213
3d171e95
CW
62142012-09-04 Colin Watson <cjwatson@ubuntu.com>
6215
6216 * Makefile.am (EXTRA_DIST): Add
6217 grub-core/tests/boot/linux.init-mips.S,
6218 grub-core/tests/boot/linux.init-ppc.S, and
6219 grub-core/tests/boot/linux-ppc.cfg.
6220
f2c2503e
CW
62212012-09-04 Colin Watson <cjwatson@ubuntu.com>
6222
6223 * grub-core/mmap/mips/loongson: Remove empty directory.
6224
62252012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6226
6227 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6228 gone.
6229
ab2163d5
CW
62302012-09-04 Colin Watson <cjwatson@ubuntu.com>
6231
6232 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6233 grub-sparc64-setup.
6234
ce938140
GS
62352012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6236
6237 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6238
529f58a5
GS
62392012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6240
6241 * po/POTFILES.in: Regenerated.
6242
16cf79e9
GS
62432012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6244
6245 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6246 (NetBSD): New subsection.
6247
39b27f1e 62482012-07-22 Ales Nesrsta <starous@volny.cz>
6249
6250 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6251 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6252
a885261b
VS
62532012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6256 * util/grub.d/10_hurd.in: Add missing quoting.
6257 * util/grub.d/10_illumos.in: Likewise.
6258 * util/grub.d/10_kfreebsd.in: Likewise.
6259 * util/grub.d/10_linux.in: Likewise.
6260 * util/grub.d/20_linux_xen.in: Likewise.
6261
7bd29c01
VS
62622012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 New command `lsefi'.
6265
6266 * grub-core/Makefile.core.def (lsefi): New module.
6267 * grub-core/commands/efi/lsefi.c: New file.
6268 * include/grub/efi/api.h: Add more GUIDs.
6269
ac625d8f
VS
62702012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6273 (grub_bsd_elf32_hook): Likewise.
6274 (grub_bsd_elf64_size_hook): Likewise.
6275 (grub_bsd_elf64_hook): Likewise.
6276 (grub_bsd_load_elf): Likewise.
6277
e73bb801
VS
62782012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6281 if hash function is unavailable.
6282 (dec_stream_header): Likewise.
6283
e81db8b5
VS
62842012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6287 filter state.
6288
d187a1c3
VS
62892012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 Fix coreboot compilation.
6292
6293 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6294 (grub_vga_text_init_real): ... this.
6295 (grub_vga_text_fini): Rename to ...
6296 (grub_vga_text_fini_real): ... this.
6297
91a05f64
VS
62982012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6301
6af96df7
VS
63022012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * grub-core/lib/legacy_parse.c: Support clear and testload.
6305
4d569e12
VS
63062012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6309
073b57bb
VS
63102012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6313
a706f4cc
VS
63142012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 * grub-core/net/tftp.c (ack): Fix endianness problem.
6317 (tftp_receive): Likewise.
6318 Reported by: Michael Davidsaver.
6319
e7850aa9
VS
63202012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6323
63242012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6327 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6328 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6329
35692881
VS
63302012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6333 efi_mmap_size.
6334 Reported by: Stuart Hayes.
6335
c35fc5bd
VS
63362012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6339
6340 * grub-core/Makefile.core.def (mda_text): New module.
6341 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6342 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6343 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6344 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6345 here.
6346 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6347 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6348 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6349 here.
6350 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6351 to ..
6352 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6353 ... here
6354 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6355 here.
6356 * grub-core/term/i386/vga_common.c: Removed.
6357 * include/grub/i386/vga_common.h: Likewise.
6358 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6359 (grub_vga_cr_bw_read): Likewise.
6360 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6361 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6362 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6363 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6364 grub_vga_cr_read/grub_vga_cr_write.
6365 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6366
5f91f701
VS
63672012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * configure.ac: Bump version to 2.00.
6370 * grub-core/normal/main.c (features): Add feature_200_final.
6371
0c4f85f6
VS
63722012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
63732012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6374
6375 * NEWS: Fix unclarity and language mistakes.
6376
f923ad22
VS
63772012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6380 additional size to 3 pages.
6381 Reported by: Stuart Hayes.
6382
d22029ba
VS
63832012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * NEWS: Add 2.00 entry.
6386
58eee08f
VS
63872012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6390 put explicit "/" for empty path.
6391 (wildcard_expand): Improve dprintf.
6392
c59bdff7
VS
63932012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6396 it's equal to currnode. This can happen with "" symlink.
6397
5e6a440a
YB
63982012-06-27 Yves Blusseau <blusseau@zetam.org>
6399
6400 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6401 echo shell command by printf command.
6402
73a68bcb
VS
64032012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6406 the value returned by firmware is the maximal position, not diumension.
6407 (grub_terminfo_output_state): Use a more sane fallback.
6408
392a603b
VS
64092012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6412
42d0867f
VS
64132012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6416 frequency to 150 MHz.
6417
489509f4
VS
64182012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 Apple fixes.
6421
6422 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6423 __APPLE_
6424 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6425 definition.
6426 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6427
9f3fc883
VS
64282012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 Handle slash in HFS label.
6431
6432 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6433 (grub_hfs_dir): Tanslate slash.
6434 (grub_hfs_label): Don't translate slash.
6435
54853fd7
VS
64362012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6439 network protocol listing since it introduces problematic dependency on
6440 net module.
6441
4dc02ddf
VS
64422012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6445
c50c867d
VS
64462012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 Init video early on yeeloong to avoid being rebooted by watchdog.
6449
6450 * grub-core/Makefile.am (gensm712): New target.
6451 (sm712_start.S): Likewise.
6452 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6453 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6454 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6455 description.
6456 * include/grub/vga.h: Move registry definitions to...
6457 * include/grub/vgaregs.h: ... here.
6458
5f92c8a1
VS
64592012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6462 signedness.
6463
e9e6f111
VS
64642012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6467 platforms with firmware disk drivers in the core.
6468
754ad9eb
VS
64692012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6472 informative verbose message.
6473 (read_lv): Handle 64-bit segment size.
6474
315654c2
VS
64752012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6478
fb022c79
VS
64792012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6482 character but still remove trainling spaces.
6483 (grub_fat_label): Ignore archive flag.
6484
8645f72c
VS
64852012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6488 cast between linux_kernel_header and linux_kernel_params.
6489
36498496
VS
64902012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6493 type for size.
6494 (grub_raid6_recover_func_t): Likewise.
6495 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6496 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6497
0b5ea6b8
VS
64982012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6501
650cfcfe
GS
65022012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6503
6504 Fix overflow.
6505
6506 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6507 [__NetBSD__]: Add explicit cast before bitshift.
6508
8a4d6a44
VS
65092012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * configure.ac: Bump to 2.00~rc1.
6512
2fb97ed3
VS
65132012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6516 half of $a0.
6517
1fa097dc
VS
65182012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
65192012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6520
6521 * docs/grub.texi: Fix search syntax.
6522 (Multi-boot manual config): Put msdos rather than GPT example.
6523 Grammar corrections.
6524
c890ba78
VS
65252012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6528
0f92dca7
VS
65292012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6530
6531 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6532
3988c4a0
VS
65332012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6536 message on double free. Put the value of magic in case of mismatch.
6537
9e86d4c5
VS
65382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 Speed-up video on yeeloong.
6541
6542 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6543 add cached_ptr.
6544 (grub_video_sm712_video_fini): Unmap cached_ptr.
6545 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6546 (grub_video_sm712_set_active_render_target): Removed.
6547 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6548 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6549 sync caches.
6550
ed24c312
VS
65512012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 Avoid flushing the same line multiple times on loongson.
6554
6555 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6556 Step in 32 bytes and not 1 byte.
6557 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6558 Likewise.
6559
d1718e7d
VS
65602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6563 subvolumes.
6564
982f1909
VS
65652012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 Implement flow control for http.
6568
6569 * grub-core/net/http.c (parse_line): Handle response 206.
6570 (http_receive): Stall if too many packets are in the queue.
6571 (http_establish): Fix range header.
6572 (http_seek): Fix double free.
6573 (http_close): Likewise.
6574 (http_packets_pulled): New function.
6575 (grub_http_protocol): Set http_seek
6576 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6577 (ack_real): Set window depending on i_stall.
6578 (grub_net_send_tcp_packet): Likewise.
6579 (grub_net_tcp_stall): New function.
6580 (grub_net_tcp_unstall): Likewise.
6581 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6582 (grub_net_tcp_unstall): Likewise.
6583
bd407d6e
VS
65842012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6587
c7564b8e
VS
65882012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6591
a3706162
VS
65922012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * tests/util/grub-shell.in: Fix a typo.
6595
b27069e0
VS
65962012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 Implement flow control for tftp.
6599
6600 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6601 packets but stop only if stop condition is satisfied.
6602 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6603 `stall' instead of `eof' as stop condition.
6604 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6605 (http_err): Likewise.
6606 * grub-core/net/tftp.c (ack): Replace the first argument with data
6607 instead of socket.
6608 (tftp_receive): Stall if too many packets are in wait queue.
6609 (tftp_packets_pulled): New function.
6610 (grub_tftp_protocol): Set packets_pulled.
6611 * include/grub/net.h (grub_net_packets): New field count.
6612 (grub_net_put_packet): Increment count.
6613 (grub_net_remove_packet): Likewise.
6614 (grub_net_app_protocol): New field `packets_pulled'.
6615 (grub_net): New field `stall'.
6616
6b9cfac6
VS
66172012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6620 sync part to handle them.
6621
f35abd81
VS
66222012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6625 * grub-core/net/drivers/ieee1275/ofnet.c
6626 (grub_ieee1275_net_config_real): Likewise.
6627
0e7ec820
VS
66282012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6631 the direct route for server/gateway.
6632
9d611a31
VS
66332012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6636 IP address to server name since we may not hame the DNS.
6637
418f45ab
VS
66382012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6641 freeing random buffer on failure.
6642 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6643
44a0efc1
VS
66442012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6647
531e2241
VS
66482012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6651 reserved bytes.
6652 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6653 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6654 Handle malloc error correctly.
6655
cde393c9
VS
66562012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6659 blocks.
6660
538478d0
VS
66612012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6664 increment.
6665
9b55efe0
VS
66662012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6667
6668 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6669 none is explicitly specified.
6670
9eb832c3
VS
66712012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6674 while reallocating.
6675
d6b7c7c9
VS
66762012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 Respect netmask from bootp/dhcp.
6679
6680 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6681 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6682 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6683 into ...
6684 (grub_net_add_ipv4_local): ... this.
6685 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6686 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6687 (grub_net_add_ipv4_local): New proto.
6688
67caf9eb
VS
66892012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6690
6691 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
6692 determining EFI memory map size.
6693
43657558
VS
66942012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
6697
eb6d0dd3
VS
66982012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
6701 when looking for partition separator.
6702
31230544
VS
67032012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6706 Escape commas.
6707
918a2517
VS
67082012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 Restructure FAT driver to avoid hook in label reading as it hits a
6711 GCC bug.
6712
6713 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
6714 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
6715 (grub_fat_iterate_dir): Split into ...
6716 (grub_fat_iterate_init): ... this, ...
6717 (grub_fat_iterate_fini): ... this, ...
6718 (grub_fat_iterate_dir_next): ... and this. All users updated.
6719
9f1d654e
VS
67202012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6723 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
6724 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6725 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
6726 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
6727 New fields last_key and last_key_time.
6728 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
6729 extended key-esc into extended key-extended key.
6730
52f0f643
VS
67312012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 Avoid unnecessary memcpy of whole video buffer.
6734
6735 * grub-core/video/fb/video_fb.c (dirty): New struct.
6736 (framebuffer): Add members current_dirty and previous_dirty.
6737 (dirty): New function.
6738 (grub_video_fb_fill_rect): Update dirty.
6739 (common_blitter): Likewise.
6740 (grub_video_fb_scroll): Likewise.
6741 (doublebuf_blit_update_screen): Copy only dirty part.
6742 (doublebuf_pageflipping_update_screen): Likewise.
6743 (grub_video_fb_doublebuf_blit_init): Init dirty.
6744 (doublebuf_pageflipping_init): Likewise.
6745 (grub_video_fb_setup): Likewise.
6746
e169a180
VS
67472012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
6750 poll rate.
6751
48556879
VS
67522012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 Fix wildcard regexp dot and other special characters handling.
6755 Reported by: Robert Mabee.
6756
6757 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
6758 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
6759 (split_path): Trigger expansion on '?'.
6760 (unescape): New function.
6761 (wildcard_expand): Unescape parts copied without globbing.
6762 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
6763 (grub_script_arglist_to_argv): Don't unescape expansions.
6764
0494408e
VS
67652012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * include/grub/net.h (grub_net_card): New member txbufsize.
6768 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
6769 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6770 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
6771 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
6772 txbufsize.
6773 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
6774 compatible property to check for macs. Set
6775 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6776 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
6777 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
6778 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
6779 (send_card_buffer): Use txbuf.
6780 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
6781 nested function out of the parent while on it.
6782
cc35fe8f
VS
67832012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
6786 presence check.
6787 (grub_ieee1275_net_config_real): Fix config pointer.
6788
970a0a09
VS
67892012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
6792 filename parsing to non-block devices.
6793
3e19bf87
VS
67942012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * grub-core/kern/device.c (grub_device_open): Remove dead code.
6797
c62d1a0c
VS
67982012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
6801 All users updated.
6802
ef76bec3
VS
68032012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6804
6805 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
6806 UUID search command even if hints probing failed.
6807
68082012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
6809
6810 * po/POTFILES.in: Regenerated.
6811
70aaf305
VS
68122012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 Speed-up video on fuloong.
6815
6816 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
6817 New function.
6818 (grub_pci_device_unmap_range): Handle non-cached address.
6819 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
6820 add direct_ptr.
6821 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
6822 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
6823 (grub_video_sis315pro_set_active_render_target): Removed.
6824 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
6825 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6826 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
6827 sync caches.
6828 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
6829 New proto.
6830
10400f0b
VS
68312012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * docs/grub.texi (Multi-boot manual config): New section.
6834
ba67e2c6
VS
68352012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 Avoid slow read-back from VRAM.
6838
6839 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
6840 Move from here ...
6841 * grub-core/video/fb/video_fb.c
6842 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
6843 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
6844 (front_target): Remove front_target. Add pages.
6845 (grub_video_fb_init): Skip setting front_pages.
6846 (grub_video_fb_fini): Likewise.
6847 (doublebuf_blit_update_screen): Use pages.
6848 (grub_video_fb_doublebuf_blit_init): Likewise.
6849 (doublebuf_pageflipping_init): Allocate offscreen buffer.
6850 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
6851 (grub_video_fb_setup): Prefer doublebuffing.
6852
377c98cb
VS
68532012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
6856 gzio.
6857
eac49cff
VS
68582012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 Add loongson tests.
6861
6862 * tests/util/grub-shell.in: Handle loongson.
6863 * tests/partmap_test.in: Add loongson to the list of platform using ATA
6864 drivers.
6865 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
6866 Reboot instead of shutdown if REBOOT is defined.
6867
0321415e
VS
68682012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
6871 sized ports since unlike on real hardware qemu supports only 32-bit
6872 regs.
6873
3f2bdd8f
VS
68742012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 * Makefile.util.def (grub-mkrescue): Enable on loongson.
6877 * util/grub-mkrescue.in: Handle loongson.
6878
29a049c9
VS
68792012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
6882 Set is_part appropriately.
6883 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
6884 names. Canonicalize partition without full disk.
6885
4abde346
VS
68862012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 Revert usb-quiesce since it's wrong.
6889
6890 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
6891 (grub_ofdisk_init): Don't do quiesce.
6892
61f1d93b
VS
68932012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
6896 PowerMac workaround to Xserves as well.
6897 Information supplied by: Benjamin Herrenschmidt.
6898
a09eb541
VS
68992012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 Don't assume that beginning address is also the entry point on ppc.
6902
6903 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
6904 (grub_linux_boot): Use linux_entry.
6905 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
6906 (grub_linux_load64): Likewise.
6907
505b3c9b
VS
69082012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
6911
cbe0b4ef
VS
69122012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
6915 needlessly lose the console.
6916
3006e981
VS
69172012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
6920 space.
6921
4e5a96b0
VS
69222012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6923
7da036bb
VS
6924 Remove non-functional EFI grub_get_rtc. Put a better fatal message
6925 than current grub_get_rtc() not implemented when booted with
6926 coreboot without TSC.
6927
6928 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
6929 Add machine/time.h to kernel headers on loongson.
6930 * grub-core/Makefile.core.def (kernel): Remove
6931 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
6932 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
6933 (grub_get_rtc): Likewise.
6934 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
6935 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
6936 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
6937 * grub-core/kern/i386/tsc.c (grub_tsc_init)
6938 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
6939 rather than installing known non-working time source.
6940 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
6941 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
6942 * include/grub/time.h: Don't include machine/time.h.
6943 * include/grub/efi/time.h: Removed.
6944 * include/grub/i386/efi/time.h: Likewise.
6945 * include/grub/i386/ieee1275/time.h: Likewise.
6946 * include/grub/powerpc/ieee1275/time.h: Likewise.
6947 * include/grub/sparc64/ieee1275/time.h: Likewise.
6948 * include/grub/x86_64/efi/time.h: Likewise.
6949
69502012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
6953
6954 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
6955 value.
6956 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
6957 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
6958 with dotless variants when any combining above is present.
6959
5561c22d
VS
69602012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
6963 text and not binary.
6964
96f7e60e
VS
69652012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 Stop polling as soon as we have the packet we were waiting for.
6968
6969 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
6970 All users updated.
6971 * grub-core/net/arp.c (have_pending): New var.
6972 (pending_req): Likewise.
6973 (grub_net_arp_send_request): Fill pending_req and use have_pending as
6974 stop indicator.
6975 (grub_net_arp_receive): Set have_pending.
6976 * grub-core/net/dns.c (recv_data): New field stop.
6977 (recv_hook): Set stop.
6978 (grub_net_dns_lookup): Init stop and use as stop condition.
6979 * grub-core/net/http.c (http_establish): Use headers_recv as stop
6980 condition.
6981 * grub-core/net/net.c (grub_net_poll_cards): New argument
6982 stop_condition. Stop when it goes true.
6983 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
6984 indicator.
6985 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
6986
3e747239
VS
69872012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 Keep TX and RX buffers on EFI rather than always allocate new ones.
6990
6991 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
6992 card. All users updated.
6993 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
6994 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
6995 (get_card_packet): Likewise.
6996 (grub_efinet_findcards): Init new fields.
6997
f695e99a
VS
69982012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7001 compilation error on sparc64.
7002
9e5e66d1
VS
70032012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 Use ITC on IA64 rather than broken routine based on daytime.
7006
7007 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7008 ia64.
7009 (grub_get_rtc) [__ia64__]: Likewise.
7010 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7011 (get_itc): New function.
7012 (grub_rtc_get_time_ms): Likewise.
7013 (grub_machine_init): Calibrate ITC.
7014 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7015 Keep only on non-ia64. Don't export since it's broken and used only
7016 if TSC is unavailable.
7017
a1767404
VS
70182012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7021 even if it's used.
7022 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7023 Skip if parent is unused.
7024
34b2bced
VS
70252012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7028
5e619f40
VS
70292012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 Fix wildcard escaping.
7032
7033 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7034 * grub-core/script/execute.c (wildcard_escape): .. to here.
7035 Don't escape dot.
7036 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7037 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7038 Don't escape dot.
7039 * grub-core/script/execute.c (gettext_append): Always escape.
7040 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7041 * grub-core/script/yylex.l: Don't cut away the escaping.
7042 * tests/grub_script_echo1.in: Add tests with wildcard.
7043
c8ca5855
VS
70442012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7047 (ftdi_hw_configure): Likewise.
7048 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7049 define.
7050 (real_config): Handle 1.5 stop bits.
7051 (pl2303_hw_configure): Likewise.
7052
7183452c
VS
70532012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * Makefile.am: Add ppc linux bootcheck.
7056 * grub-core/tests/boot/linux-ppc.cfg: New file.
7057 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7058
f57c84cd
VS
70592012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 * tests/grub_script_expansion.in: Skip network protocols.
7062
ecfc6207
VS
70632012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7066
8d03d284
VS
70672012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7070 --rom-directory.
7071 Add -graft-points.
7072
61c42af0
VS
70732012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 ESCC serial driver for conducting sautomated tests in qemu.
7076 Not tested on real hardware.
7077
7078 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7079 * grub-core/term/ieee1275/escc.c: New file.
7080 * grub-core/Makefile.core.def (escc): New module.
7081
08fd1291
VS
70822012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7085 invalid on error.
7086 (serial_hw_fetch): Don't read invalid handle.
7087 (serial_hw_put): Don't write into invalid handle.
7088
08dafeea
VS
70892012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 Add a 1.5 stop bits value.
7092
7093 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7094 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7095 GRUB_SERIAL_STOP_BITS_1_5.
7096
9068fdcf
VS
70972012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7100 value rather than let it uninited.
7101
f4d5820f
VS
71022012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/commands/wildcard.c (+check_file): New function.
7105 (wildcard_expand): Don't expand to non-existing files, expand with
7106 suffix and not attempt to expand if not needed.
7107
3d2de9a7
VS
71082012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7111 out of partitions containing other partitions.
7112
c5c81ff9
VS
71132012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7116 on some qemu versions with GRUB.
7117
7118 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7119 define.
7120 (grub_openbsd_bootarg_pcibios): New struct.
7121 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7122 Add PCIINFO.
7123
08a14e0b
VS
71242012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 * tests/util/grub-shell.in: Trim firmware output on EFI.
7127
cede3ca3
VS
71282012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7131 and coreboot since it's already in kernel.
7132
558d3a60
VS
71332012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7136 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7137 to here. New return value start. All users updated.
7138 Recursively scan linear mappings.
7139 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7140 proto.
7141 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7142 Use grub_util_get_dm_node_linear_info.
7143 * util/getroot.c (convert_system_partition_to_system_disk): Use
7144 grub_util_info rather than grub_dprintf.
7145 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7146
60fde14d
VS
71472012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7150
7151 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7152 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7153
24bd8838
VS
71542012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * include/grub/types.h (grub_set_unaligned64): New function.
7157 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7158 (setup): Likewise.
7159
7bc06a49
VS
71602012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7163 (grub_ofdisk_fini): Quiesce USB devices.
7164
49cea015
VS
71652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7168 caches.
7169
8dcbe03b
VS
71702012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7173
5b258735
VS
71742012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * grub-core/disk/pata.c (grub_pata_pio_read)
7177 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7178 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7179
37ba07eb
VS
71802012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 Extend automated tests to qemu-mips.
7183
7184 * Makefile.am: reorganise tests and enable qemu-mips.
7185 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7186 * grub-core/tests/boot/linux.init-mips.S: New file.
7187 * tests/partmap_test.in: Handle ata0 disks.
7188 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7189 non-pc i386.
7190
070038f8
VS
71912012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7194 ia64.
7195 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7196 quotes while on it.
7197
004be2cd
VS
71982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7201 (grub_halt): Likewise.
7202 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7203
b1622487
VS
72042012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * grub-core/term/serial.c (grub_serial_register)
7207 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7208 the behaviour in line with x86 platforms.
7209
b7b4ab33
VS
72102012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7213 (grub_ata_strncpy): Likewise.
7214 (grub_ata_identify): Add missing byteswaps.
7215
5e3535ae
VS
72162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7219 byte-swap.
7220 (screen_read_char): Likewise.
7221 (grub_vga_text_cls): Likewise.
7222
c21b17e6
VS
72232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7226 filenames.
7227 (make_file_path): Likewise.
7228
bf293dec
VS
72292012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7232 machines.
7233 Tested by: Paulo Flabiano Smorigo.
7234 Crucial information about API supplied by: Coleen <Last name unknown>.
7235 Reviewed by: Coleen <Last name unknown>.
7236
81f6ef0e
VS
72372012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * util/grub-mkimage.c: Disable -Wcast-align.
7240
7284143a
VS
72412012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7244 as they are fatal.
7245
b99f3e00
VS
72462012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7247
7248 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7249
944f752d
VS
72502012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * util/grub-probe.c (escape_of_path): Fix double free.
7253
6cce6f38
VS
72542012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * grub-core/commands/videoinfo.c (hook): Show pitch.
7257
1e1eb50e
VS
72582012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7261
1c715b5a
VS
72622012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7265 (probe): Add ieee1275 to OFW devices.
7266
007ae52d
VS
72672012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7270
4557a36d
VS
72712012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 Handle IBM OFW path.
7274
7275 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7276 available.
7277 (of_path_of_scsi): Handle vdevice.
7278
efbeefe9
VS
72792012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7282 Allocate in multiples of 16 to avoid adding a few bytes free region the
7283 windows bugs upon.
7284
15a940bb
VS
72852012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7288 Allocate in multiples of 16 to avoid adding a few bytes free region the
7289 windows bugs upon.
7290 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7291
6e5efd60
VS
72922012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7295 resolutions.
7296 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7297 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7298
0d3d137e
IS
72992012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7300
7301 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7302
45dbe300
VS
73032012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7306 resulted in \\ at the end of the line.
7307
6d8db947
VS
73082012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7311 (grub_parser_cmdline_state): Likewise.
7312 (grub_parser_split_cmdline): Likewise.
7313
de89d338
VS
73142012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7317 /dev/root and /dev/dm-*.
7318
00d41dee
VS
73192012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7322 fix partially stale display.
7323
f95d1f11
VS
73242012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7327 substraction.
7328
6297e197
VS
73292012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7332 Fix MBR remapping workaround.
7333 (grub_util_biosdisk_read) [__linux__]: Likewise.
7334
8a7ecad3
VS
73352012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7338
2b34f944
VS
73392012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 * configure.ac: Bump to beta6.
7342
684aef11
CW
73432012-05-31 Christer Weinigel <christer@weinigel.se>
7344
7345 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7346
05b0bb91
VS
73472012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7350 (grub_cmd_linux): Likewise.
7351
bda36bfa
CW
73522012-05-31 Christer Weinigel <christer@weinigel.se>
7353
7354 Fix EHCI low-speed.
7355
7356 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7357 (GRUB_EHCI_MULT_TWO): Likewise.
7358 (GRUB_EHCI_MULT_THREE): Likewise.
7359 (GRUB_EHCI_CMASK_MASK): New enum value.
7360 (GRUB_EHCI_SMASK_MASK): Likewise.
7361 (GRUB_EHCI_CMASK_OFF): Likewise.
7362 (GRUB_EHCI_SMASK_OFF): Likewise.
7363 (grub_ehci_pci_iter): Enable periodic schedule.
7364 (grub_ehci_parse_notrun): Likewise.
7365 (grub_ehci_restore_hw): Likewise.
7366 (grub_ehci_setup_qh): Set flags for low speed transfers.
7367 (grub_ehci_find_qh): Use periodic list for low speed.
7368 (grub_ehci_setup_transfer): Check periodic queue as well.
7369 (grub_ehci_check_transfer): Likewise.
7370 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7371
e12bcb1c
PFS
73722012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7373
7374 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7375 parameter is used.
7376
bcc75fb3
PJ
73772012-05-31 Peter Jones <pjones@redhat.com>
7378
7379 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7380 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7381 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7382
f19cb95e
VS
73832012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7386 uninited variable. Allocate at least setup_sects.
7387
a4e5ca80
VS
73882012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 Fix handling of EFI with big memory maps.
7391
7392 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7393 (real_mode_mem): Likewise.
7394 (real_mode_target): Likewise.
7395 (real_mode_pages): Likewise.
7396 (prot_mode_pages): Likewise.
7397 (linux_params): New var.
7398 (linux_cmdline): Likewise.
7399 (free_pages): Don't set real mode variables.
7400 (allocate_pages): Don't allocate real mode memory.
7401 (grub_e820_add_region): Remove the limit.
7402 (grub_linux_boot): Allocate and copy real mode memory.
7403 (grub_linux_unload): Free linux_cmdline.
7404 (grub_cmd_linux): Use temporary storage for parameters.
7405 (grub_cmd_initrd): Likewise.
7406 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7407 (linux_kernel_params): Make it 1K big.
7408
ddb73558
VS
74092012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * Makefile.util.def: Remove -Wno-format.
7412 * grub-core/Makefile.core.def: Likewise.
7413
1c4afb60
VS
74142012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * tests/cmp_unit_test.c: Add missing failure message.
7417 * tests/example_unit_test.c: Likewise.
7418 * tests/printf_unit_test.c: Likewise.
7419
941e3a6d
VS
74202012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7421
7422 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7423 relaxation of protective MBR requirements.
7424
b105df76
VS
74252012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * configure.ac: Add condition for COND_HOST_XNU.
7428 * Makefile.util.def (10_xnu): New script.
7429 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7430
84e1569e
VS
74312012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7434 objconv bug.
7435
130c0f77
VS
74362012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7439 Binary on other platforms stays identical.
7440
6fd0b143
VS
74412012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7444 Apple.
7445
0af1751d
VS
74462012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7449
176d5f7d
VS
74502012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7453 rather than defining size_t ourselves to avoid conflict.
7454
7de5e20a
VS
74552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7458 initialisation to avoid __bzero reference.
7459
f7143efe
VS
74602012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7463 version.
7464 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7465 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7466 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7467 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7468 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7469
e6ad0555
VS
74702012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7473 * grub-core/kern/misc.c: Likewise.
7474 * grub-core/loader/i386/xnu.c: Likewise.
7475 * include/grub/i386/tsc.h: Likewise.
7476 * include/grub/symbol.h: Likewise.
7477
4a5a3c4a
VS
74782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7481 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7482 on older compiler.
7483
037f6d90
VS
74842012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7487 Implement Apple flavour.
7488 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7489
f7194551
VS
74902012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7493 (memmove) [__APPLE__]: Likewise.
7494 (memcpy) [__APPLE__]: Likewise.
7495 (memset) [__APPLE__]: Likewise.
7496 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7497 (memmove) [__APPLE__]: Likewise.
7498 (memcpy) [__APPLE__]: Likewise.
7499 (memset) [__APPLE__]: Likewise.
7500
85a730ca
VS
75012012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7504 dependency discard.
7505
40e80b94
VS
75062012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * grub-core/normal/main.c (read_config_file): Provide config_file and
7509 config_directory.
7510 * util/grub.d/41_custom.in: Use config_directoy when available.
7511
9da59c32
VS
75122012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7515 (grub_bfs_dir): Likewise.
7516
2787ae53
PJ
75172012-05-27 Peter Jones <pjones@redhat.com>
7518
7519 The old code gives arguments to a printf function which can't work
7520 correctly, and the compiler complains.
7521
7522 * grub-core/tests/example_functional_test.c (example_test): Add
7523 missing text.
7524 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7525 * include/grub/test.h (grub_test_assert_helper): New declaration.
7526 (grub_test_assert): Use grub_test_assert_helper.
7527
526ef13d
VS
75282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7531 (exfctest): ... this to avoid overlong filenames.
7532 All users updated.
7533
20dd511c
VS
75342012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 Handle "." and ".." on squashfs.
7537
7538 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7539 Make inode numbers into stack.
7540 (grub_squash_read_symlink): Use stack.
7541 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7542 (make_root_node): Fill stack.
7543 (grub_squash_open): Use stack.
7544
1d80c62a
VS
75452012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7548 freeing.
7549
d336f652
VS
75502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7553 stderr on test calls.
7554
8b43f587
VS
75552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7558
80a3dc3f
VS
75592012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7562
47e297d4
VS
75632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7566 "..".
7567
df042ccb
VS
75682012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7571 (grub_hfsplus_iterate_dir): Add "." and "..".
7572
fc977f48
VS
75732012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7576 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7577
f3250e5f
VS
75782012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7579
7580 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7581 (find_path): Handle "." and "..".
7582
fd8ed4c5
VS
75832012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7586 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7587 (grub_affs_iterate_dir): Handle hardlinks.
7588
4ce776d2
MG
75892012-05-26 Matthew Garrett <mjg@redhat.com>
7590
7591 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7592 (grub_efi_console_fini): Likewise.
7593 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7594 (grub_video_gop_fill_mode_info): Rename to ...
7595 (grub_video_gop_fill_real_mode_info): ... this.
7596 (grub_video_gop_fill_mode_info): New function.
7597 (grub_video_gop_setup): Setup double framebuffer.
7598 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7599 Free offscreen.
7600 (grub_video_gop_swap_buffers): Copy framebuffer.
7601 (grub_video_gop_fini): Free offscreen buffer.
7602 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7603 New enum.
7604 (grub_efi_gop_blt_pixel): New struct.
7605
683031ba
VS
76062012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 * gentpl.py: Remove error disabling for objconv.
7609
c2deb798
VS
76102012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 * configure.ac: Remove -Wunitialized as it's not available on older
7613 compilers.
7614
76152012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
7616
7617 Fix extent overflow comparator.
7618
7619 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7620 (grub_hfsplus_read_block): Set type.
7621 (grub_hfsplus_cmp_extkey): Compare type.
7622
d6b1fd36
VS
76232012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7626
0a9aa0f6
VS
76272012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7630 than 0.
7631
8360e159
VS
76322012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7635 (dejavu_bold_14.pf2): New target.
7636
501b9e4b
VS
76372012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 * configure.ac: Fix djvu font detection.
7640
7026b0e2
VS
76412012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7644 ext* instead of ext2.
7645
c2a51ade
VS
76462012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7649 name with \0.
7650
8f803a5d
JU
76512012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7652
7653 * docs/grub-dev.texi: Remove dot from .png.
7654
13c6353f
VS
76552012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7658 protective entry in any slot.
7659 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7660 if protective entry is found in any slot.
7661
7662 Protective entry in non-first slot make no sense but is a widespread
7663 brain damage.
7664
4cf6be1b
VS
76652012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7668
937d1c44
VS
76692012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7672 with old reiserfs.
7673 (grub_reiserfs_open): Don't free root.
7674
021d90ec
VS
76752012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7678 after freeing for safety.
7679
967b2b64
VS
76802012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7681
7682 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7683 Reported by: Jordan Uggla.
7684
34274d02
JU
76852012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7686
967b2b64
VS
7687 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7688 actual implementation. Specifically, clarify that the grub menu will
7689 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7690 passed.
34274d02 7691
dcaaae9d
BH
76922012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
7693
7694 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
7695 of r0.
7696
7086ad52
VS
76972012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 Remove unjustified hard dependency of normal.mod on gfxterm.
7700
7701 * include/grub/term.h (grub_term_output): New member fullscreen.
7702 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
7703 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
7704 (grub_gfxterm): Set .fullscreen.
7705 * grub-core/normal/menu.c (menu_init): Use fullscreen.
7706 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
7707
37ed2c9b
VS
77082012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
7711 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 7712 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 7713
a4469c88
VS
77142012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
7717
4e461486
VS
77182012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7721 a bad FS.
7722
aa78f5c4
VS
77232012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
7726 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
7727
197626b5
VS
77282012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
7731 (grub_jfs_mount): Fill caseins.
7732 (grub_jfs_find_file): Respect caseins.
7733
8ad3f28c
VS
77342012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
7737 through UTF-16.
7738
0c6c324e
VS
77392012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
7742 New argument origpath. All users updated.
7743
c6666ba6
VS
77442012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
7747 (read_attr): Ensure that we read start of possibly compressed block.
7748
e28e5fe5
VS
77492012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
7752 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
7753 All users updated.
7754
5fc23ab2
VS
77552012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
7758 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
7759 (dejavu.pf2): Replace with ...
7760 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
7761 this.
7762
79dbc21c
VS
77632012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * util/grub.d/20_linux_xen.in: Add missing line.
7766
d2fcfb0c
VS
77672012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
7770 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
7771 (grub_utf16_to_utf8): Likewise.
7772
5560e9d6
VS
77732012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
7776 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
7777 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7778 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
7779 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7780 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
7781
77822012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
7783
7784 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7785 a bad FS.
7786
5560e9d6 77872012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
7788
7789 * grub-core/fs/udf.c (read_string): Bail out on size=0.
7790 (grub_udf_read_symlink): Handle read_string failure.
7791
5eae3175
VS
77922012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
7795 comment.
7796
c1ad82db
VS
77972012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 Fix handling of UDF symlinks.
7800
7801 * grub-core/fs/udf.c (read_string): New argument outbuf.
7802 All users updated.
7803 (grub_ufs_read_symlink): Rename to ...
7804 (grub_udf_read_symlink): ... this. All users updated.
7805 Handle symlinks with more than one component.
7806
33eca6e0
VS
78072012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
7810 symlinks. Replace leading colon with a slash.
7811
57f4a70b
VS
78122012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
7815 filename.
7816
38c8ee20
VS
78172012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
7820 match in inner node.
7821
2e57f28f
VS
78222012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
7825 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
7826 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
7827 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
7828 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
7829 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
7830 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
7831 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
7832 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
7833
fe8c2f11
VS
78342012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 Use grub-probe and not cmp to check that disk is empty.
7837
7838 * util/grub-install.in: Use grub-probe for zero-check.
7839 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
7840 (probe): Handle PRINT_ZERO_CHECK.
7841 (argp_parser): Handle -t zero_check.
7842
78432012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
7844
7845 Flush block cache on adding disk to device map.
7846
7847 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
7848 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
7849 adding.
7850 (read_device_map): Likewise.
7851 (open_device): Flush on opening.
7852
690434e8
VS
78532012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
7856 (handle_symlink): Fix off-by-one error.
7857 Canonicalize the target.
7858 (grub_cpio_dir): Canonicalize the name.
7859 Fix memory leak.
7860 Set directory.
7861 (grub_cpio_open): Canonicalize the name.
7862
742d2be6
VS
78632012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
7866 handling.
7867
3244fe96
VS
78682012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
7871 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
7872
8aeb1837
VS
78732012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
7876 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 7877 All users updated.
8aeb1837 7878
9133fd05
VS
78792012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
7882 counterpart.
7883
6d521c5b
VS
78842012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 Fix UFS1 big file support.
7887
7888 * grub-core/fs/ufs.c (INODE): Removed.
7889 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
7890 64-bit.
7891 (INODE_MODE): Simplify.
7892 (grub_ufs_inode): Use uint64_t for size and not int64_t.
7893 (grub_ufs_lookup_symlink): Don't use INODE.
7894
21b82e17
VS
78952012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 Fix minixfs with non-power-of-two blocks since it's supported by minix.
7898
7899 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
7900 (grub_minix_data): Replace log_block_size with block_size.
7901 (grub_minix_read_file): Use block_size but avoid 64-bit division.
7902 (grub_minix_mount): Fill block_size.
7903
79042012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
7905
7906 * configure.ac: Bump to beta5.
7907
f417ed04
VS
79082012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 Fix wrapped HFS+ handling.
7911
7912 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
7913 blocks_start. All users updated.
7914 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
7915 wrapping offset.
7916 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
7917
607d282b
VS
79182012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 Fix long symlinks on reiserfs.
7921
7922 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
7923 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
7924 (grub_reiserfs_iterate_dir): Save size for non-directories.
7925 (grub_reiserfs_open): Don't reread stat block as we already know the
7926 size.
7927 (grub_reiserfs_read): Split into...
7928 (grub_reiserfs_read_real): ... and ...
7929 (grub_reiserfs_read): ...this.
7930
ae16024d
VS
79312012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 Fix non-indexed JFS.
7934
7935 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
7936 (grub_jfs_data): New field namecomponentlen.
7937 (grub_jfs_mount): Fill namecomponentlen.
7938 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
7939
eea1e26e
VS
79402012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
7943 * tests/grub_script_echo1.in: Add tests.
7944
df760f77
VS
79452012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 * util/grub-install.in: Ignore empty devicetree directory.
7948
5efb817d
B
79492012-05-08 Bean <bean123ch@gmail.com>
7950
7951 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
7952 All users updated.
7953 (free_rsm): Free header as well.
7954 (free_old_fragments): Fix memory leak.
7955 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
7956 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
7957 (destroy_pq): Likewise.
7958 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
7959
668ea6d2
VS
79602012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
7963 resulting hash as a precaution.
7964
1739b1fe
VS
79652012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
7968 '_' in variable names.
7969 * grub-core/net/net.c (grub_net_network_level_interface_register):
7970 Likewise.
7971
6ae485aa
VS
79722012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 Fix AFFS with non-512B blocks.
7975
7976 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
7977 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
7978 (grub_affs_data): Replace blocksize with log_blocksize.
7979 (grub_affs_read_block): Fix non-512B blocks.
7980 (grub_affs_read_symlink): Likewise.
7981 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
7982 (grub_affs_read): Fix non-512B blocks.
7983 (grub_affs_label): Likewise.
7984 (grub_affs_mtime): Likewise.
7985 (grub_affs_mount): Fix block detection routine.
7986
d20fab84
VS
79872012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 Add filesystem mtime to AFFS.
7990
7991 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
7992 (aftime2ctime): New function.
7993 (grub_affs_dir): Use aftime2ctime.
7994 (grub_affs_label): Fix return value.
7995 (grub_affs_mtime): New function.
7996 (grub_affs_fs): Add mtime.
7997
e87b10f5
VS
79982012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8001 UTF-8.
8002
7dceec9b
VS
80032012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8006 UTF-8.
8007
2f48221f
VS
80082012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8011
dacd85cf
VS
80122012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8015 flags.
8016 (FLAGS_CASE_SENSITIVE): New enum value.
8017 (cache_entry): New struct.
8018 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8019 cache_size and cache.
8020 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8021 Add log_blocksize and fshelp_flags.
8022 (grub_sfs_read_extent): Handle non-512 blocks.
8023 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8024 (grub_sfs_read_file): Handle non-512 blocks.
8025 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8026 fshelp_flags.
8027 (grub_sfs_read_symlink): Handle non-512 blocks.
8028 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8029 (grub_sfs_dir): Free cache.
8030 (grub_sfs_close): Likewise.
8031
24e9a854
VS
80322012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8035 filesystems.
8036
62ace64d
VS
80372012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8040
83b2e89c
VS
80412012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8044
75ccaea3
VS
80452012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8048 (grub_sfs_read_extent): Likewise.
8049 (grub_sfs_read_block): Likewise.
8050 (grub_sfs_mount): Likewise.
8051 (grub_sfs_iterate_dir): Likewise.
8052 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8053 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8054
1b8463f2
VS
80552012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 Fix errors on compressed NTFS with 512B clusters.
8058
8059 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8060 types.
8061 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8062 not 0.
8063 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8064 Relax check for inline extents.
8065 (ntfscomp): Return correct -1 on error and not 0.
8066
4f8e368f
VS
80672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * util/grub-install.in: Fix handling of prefix containing spaces.
8070
6f5d5ee8
VS
80712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8074 (grub_squash_read_data): Fix offset byte-swapping.
8075
ce41ab7a
VS
80762012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8079 per common usage and preffered in several parts of code.
8080 (grub_memcmp): Likewise.
8081 (grub_strncmp): Likewise.
8082 * include/grub/misc.h (grub_strcasecmp): Likewise.
8083 (grub_strncasecmp): Likewise.
8084 * Makefile.util.def (cmp_test): New test.
8085 (grub_script_strcmp): Likewise.
8086 * tests/cmp_unit_test.c: New file.
8087 * tests/grub_script_strcmp.in: Likewise.
8088 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8089
49717bf4
VS
80902012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * include/grub/pci.h: Move enums into no-asm part.
8093
0a308f64
VS
80942012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8097
1796965f
ST
80982012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8099
8100 * util/getroot.c (find_hurd_root_device): Try to make error message
8101 and comments to translators clearer.
8102
4e9b2819
VS
81032012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8106
076aeb50
VS
81072012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8110 btrfs.
8111
19424d94
VS
81122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * docs/grub.cfg: Update.
8115
ebb73076
VS
81162012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 * docs/grub.texi (PXE): Remove not present variables.
8119
9a1b669c
VS
81202012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 * grub-core/net/net.c (defserver_set_env): New function.
8123 (defserver_get_env): Likewise.
8124 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8125
d38bf7d3
VS
81262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8129 entries.
8130
81312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8132
8133 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8134 * grub-core/kern/emu/hostdisk.c: Likewise.
8135
e5e4ca48
ST
81362012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8137
8138 Handle hurd userspace partitions.
8139
8140 * util/getroot.c (find_hurd_root_device): New function.
8141 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8142
56bb5dd5
VS
81432012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8146 names.
8147 Reported by: Bastian Blank.
8148
9e8bc27a
VS
81492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8152 crossing page boundary.
8153
aa01499d
VS
81542012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 Fix B-tree search in BFS, especially in presence of non-ASCII
8157 characters.
8158
8159 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8160 (find_in_b_tree): Use standard bsearch + btree algorithm.
8161
57006035
VS
81622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8165 and so on.
8166
9d34bb85
MG
81672012-05-03 Matthew Garrett <mjg@redhat.com>
81682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 Suspend broadcom cards in order to stop their DMA.
8171
8172 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8173 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8174 (pci): Don't build on x86 EFI.
8175 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8176 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8177 New function.
8178 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8179 stop_broadcom if running on EFI.
8180 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8181 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8182 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8183 (grub_pci_find_capability): New proto.
8184
01aab997
VS
81852012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 * docs/grub.texi: Remove dot from the extension as it apparently
8188 doesn't work with some makeinfo versions.
8189
fbd8dca6
VS
81902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8193 with GRUB expectance.
8194
dab797f4
VS
81952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8198
1516bfb4
VS
81992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8202 zero after directory block since last entry may be not 0-terminated if
8203 it ends on block boundary. Use continue instead of if spanning whole
8204 loop.
8205
a3a0eace
VS
82062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 Support 4K sectors UDF inline files.
8209
8210 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8211 (grub_udf_extended_file_entry): Likewise.
8212 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8213 All users updated.
8214 (get_fshelp_size): New function.
8215 (grub_udf_read_icb): Read whole block.
8216 (grub_udf_iterate_dir): Likewise.
8217 (grub_udf_dir): Likewise.
8218 (grub_udf_open): Likewise.
8219
c82f16c1
VS
82202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8223
59fd2aac
VS
82242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8225
8226 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8227 inline symlinks in addition to workaround.
8228
3b4afb4d
VS
82292012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8230
8231 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8232
f45c794a
VS
82332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8236
f25cecbd
VS
82372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8240
bb9a34e8
VS
82412012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 Fix reiserfs big seek times.
8244
8245 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8246 exact. All users updated.
8247 (grub_reiserfs_read): Use nearest btree search for seeking.
8248 Fix return value on error.
8249
dc478aea
VS
82502012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8253 entries.
8254 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8255 * docs/grub.texi: Update menuentry description.
8256
8db10f47
VS
82572012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8260 crash when embedding onto filesystem.
8261
bcb288ed
VS
82622012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8265 name.
8266
a626fdd7
VS
82672012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8270
b2f68477
VS
82712012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8274 commit.
8275
ba15b2af
B
82762012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
82772012-05-01 Bean <bean123ch@gmail.com>
8278
8279 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8280
a188012e
VS
82812012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8282
8283 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8284 Special behaviour for len = 0 to read whole file isn't used anywhere and
8285 can cause buffer ovewrflows in several places.
8286
f0a53ed2
VS
82872012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8290
5ed554f0
VS
82912012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 Handle RAIDZ on non-512B sectors.
8294
8295 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8296 max_children_ashift.
8297 (fill_vdev_info_real): Fill max_children_ashift.
8298 (read_device): Use max_children_ashift.
8299
ddc58357
VS
83002012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8303
e3282399
VS
83042012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8307 disk names.
8308 * docs/grub.texi: Update device.map parts.
8309
ee618bd4
VS
83102012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 Don't scan into non-diskfilter devices having diskfilter names.
8313
8314 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8315 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8316 handling.
8317 (scan_disk_hook): New function.
8318
bdf88864
B
83192012-04-29 Bean <bean123ch@gmail.com>
8320
8321 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8322 allocation.
8323
32745f51
MK
83242012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8325
8326 * configure.ac: Detect starfield theme font path
8327 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8328
bc95c8c0
VS
83292012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8332 geometry on serial consoles.
8333
147fbcab
VS
83342012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8337 because of network consoles.
8338
0f42c889
VS
83392012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8342 handling.
8343
4a3594c9
VS
83442012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8347 falls on Q syndrom.
8348
5cb53879
VS
83492012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8352 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8353
b282dfe5
VS
83542012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8355
8356 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8357 Allocate at lest 8192 for temporary buffer as required for lzo.
8358
daa59f47
VS
83592012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8362 to cluster_bits, since it's already added in.
8363 (grub_fat_read_data): Likewise.
8364
986748ce
VS
83652012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8368 as long as cluster size is multiple of 512 bytes.
8369
a20f6ad0
VS
83702012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * util/grub-mkrescue.in: Fix locale directory.
8373
385f9abb
VS
83742012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 * grub-core/kern/emu/hostdisk.c (map): Make static.
8377
1c557d30
B
83782012-04-23 Bean <bean123ch@gmail.com>
8379
8380 * util/grub-fstest.c (fstest): Add missing break.
8381
524b5d3a
ST
83822012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8383
8384 Fix hurd build.
8385
8386 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8387 not define nr variable.
fe4824e9 8388 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8389 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8390 grub_find_device): Do not define.
524b5d3a 8391
9a06490c
VS
83922012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 Fix kfreebsd compile and behaviour.
8395
8396 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8397 format-security.
8398 * util/getroot.c: Fix wait.h include.
8399 (grub_guess_root_devices): Error if grub_find_device fails.
8400 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8401 (grub_util_get_dev_abstraction): Likewise.
8402 (grub_util_pull_device): Likewise.
8403 (grub_util_get_grub_dev): Likewise.
8404 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8405
48143d96
VS
84062012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 Fix and unify wholedisk detection.
8409
8410 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8411 is_part. All users updated.
8412 (device_is_wholedisk): Removed.
8413 (grub_util_biosdisk_get_grub_dev): Use is_part.
8414
ebbd24f3
VS
84152012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8418 mode.
8419
56f7aa1e
VS
84202012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * configure.ac: Bump to beta4.
8423
9c815e01
VS
84242012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8427 --fs-uuid --set UUID syntax.
8428
59e2651a
VS
84292012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8432 disunification.
8433
54e03cfc
VS
84342012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8437
81092a75
MK
84382012-04-18 Mads Kiilerich <mads@kiilerich.com>
8439
8440 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8441
f8315e14
MG
84422012-04-18 Mike Gilbert <floppym@gentoo.org>
8443
8444 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8445
1501ac21
B
84462012-04-18 Bean <bean123ch@gmail.com>
8447
8448 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8449 place.
8450
cb7f944e
VS
84512012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8454 users updated.
8455 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8456 corresponding to GRUB partitions.
8457 (grub_util_biosdisk_write): Likewise.
8458
b72d44a1
VS
84592012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 Scan mdraid before LVM.
8462
8463 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8464 (grub_diskfilter_register_front): ... this.
8465 (grub_diskfilter_register_back): New function.
8466 All users of grub_diskfilter_register updated.
8467
33d918b8
VS
84682012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * util/grub-install.in: Fix an automatic target detection bug.
8471
c6ca973d
VS
84722012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * util/grub-install.in: New option --efi-directory.
8475
b41be562
VS
84762012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8479 boot services if we have no other choice.
8480
84812012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8484 document it.
8485 * tests/util/grub-shell.in: Update to --directory.
8486
e0595a73
VS
84872012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8490
4ed80652
VS
84912012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8494 (grub_minix_read_file): Likewise.
8495 (grub_minix_read_inode): Likewise.
8496 (grub_minix_find_file): Likewise.
8497 (grub_minix_dir): Likewise.
8498
56008077
VS
84992012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * util/grub-setup.c (setup): Fix partition handling and blocklist
8502 check.
8503
ee520775
VS
85042012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8507 redundant buggy overlap check.
8508
16fc9293
VS
85092012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8512 and grub-mknetdir.
8513
9bab65c4
VS
85142012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8515
8516 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8517 kh.loadflags on pre-2.00 kernels.
8518
3c491b47
VS
85192012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 Terminate UNDI and PXE before launching the payload to avoid problems
8522 with DMA.
8523
8524 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8525 (grub_loader_flags): ... this. All users updated.
8526 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8527 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8528 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8529 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8530 function.
8531 (grub_pxe_restore): Likewise.
8532 (fini_hnd): New var.
8533 (GRUB_MOD_INIT): Register shutdown hook.
8534 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8535 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8536 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8537 (grub_loader_set): Rename second argument to flags.
8538
851ffada
VS
85392012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8542 written bytes.
8543 (grub_get_num_of_utf8_bytes): New function.
8544 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8545 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8546 executing it.
8547 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8548 (grub_ucs4_to_utf8): Change return type.
8549
491c57a8
VS
85502012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8553 warning.
851ffada
VS
8554 * grub-core/fs/bfs.c (hop_level): Likewise.
8555 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 8556
756773df
VS
85572012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 * grub-core/lib/adler32.c: Recode due to license unclearness.
8560
fd556a96
VS
85612012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8562
8563 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8564 (test_header): Likewise.
8565
9f9d3f69
VS
85662012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 Fix --help formatting.
8569
8570 * util/grub-mkconfig_lib.in (print_option_help): New function.
8571 (grub_fmt): Likewise.
8572 * util/grub-install.in: Use print_option_help and grub_fmt.
8573 * util/grub-kbdcomp.in: Likewise.
8574 * util/grub-mkconfig.in: Likewise.
8575 * util/grub-mknetdir.in: Likewise.
8576 * util/grub-mkrescue.in: Likewise.
8577 * util/grub-mkstandalone.in: Likewise.
8578 * util/grub-reboot.in: Likewise.
8579 * util/grub-set-default.in: Likewise.
8580 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8581
561ec77e
VS
85822012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 * linguas.sh: Remove autogenerated *.po.
8585
7ec2b021
VS
85862012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8587
8588 * po/README: Move language fetcing to ...
8589 * linguas.sh: ... here.
8590 * po/README: Point to linguas.sh.
8591
a88f3270
VS
85922012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * po/README: Exclude ko.po due to disclaimer problems.
8595
d61357ce
VS
85962012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8599 len = 0.
8600 (grub_gettext_translate_real): Handle 0th string.
8601 (grub_gettext_translate): Ensure that "" isn't translated.
8602
505e41dc
VS
86032012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8606 TRANSLATORS comment.
8607 (grub_diskfilter_print_partmap): Propagate changing of error into
8608 warning.
8609
e44092db
VS
86102012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8613 to uint64_t to prevent overflow.
8614 (grub_diskfilter_lv): Increase start_extent and extent_count
8615 to uint64_t to prevent overflow.
8616
9b83956a
VS
86172012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8618
8619 * configure.ac: Increase version.
8620
da0d5b3f
VS
86212012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8624
8625 * po/Rules-translit: New file.
8626 * po/arabic.sed: Likewise.
8627 * po/cyrillic.sed: Likewise.
8628 * po/greek.sed: Likewise.
8629 * po/hebrew.sed: Likewise.
8630 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8631 * po/Makefile.in.in: Add extra_dist4.
8632
ac66b453
VS
86332012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8636
8637 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8638 modify names. Introduce MODE_BIGENDIAN.
8639 * grub-core/fs/minix_be.c: New file.
8640 * grub-core/fs/minix2_be.c: Likewise
8641 * grub-core/fs/minix3_be.c: Likewise.
8642 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8643 minix3_be.
8644 * grub-core/Makefile.core.def (minix_be): New module.
8645 (minix2_be): Likewise.
8646 (minix3_be): Likewise.
8647
86482012-04-01 Felix <email@hamburg.de>
8649
8650 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8651 (devs): Add MBP 2011.
8652
0a2d5a82
VS
86532012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8656
d1625889
VS
86572012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * grub-core/normal/cmdline.c (print_completion): New field
8660 prompt_len.
8661 (grub_cmdline_get): Handle width properly.
8662
6d36a236
VS
86632012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8666
9576977e
VS
86672012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8670 after 29th of February.
9576977e 8671
d73ff15d
VS
86722012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 Fix exfat endianness handling.
8675
8676 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8677 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8678 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8679 Byte-swap utf16 when necessary.
8680 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8681
bbb39a45
AB
86822012-03-31 Anton Blanchard <anton@samba.org>
86832012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 Fix btrfs endianness handling.
8686
8687 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8688 (lower_bound): Make root uint64_t. Use root in le.
8689 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8690 (find_path): Fix template key init.
8691 (grub_btrfs_dir): Fix mtime byteswap.
8692 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
8693
354e0af7
VS
86942012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
8697 recursion_depth. Break infinite resursions. All users updated.
8698
4e75f21c
VS
86992012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
8702 after free.
8703 Reported by: Peter Jones.
8704
25581802
AB
87052012-03-31 Anton Blanchard <anton@samba.org>
8706
8707 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8708 8 bit values.
8709
08fbf92e
VS
87102012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 * util/grub-install.in: Fix nvram call for PreP.
8713
5d1182a6
VS
87142012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
8717 the error when some elements are missing into a warning.
8718
3f8cdd90
VS
87192012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
8722
51006716
CW
87232012-03-28 Colin Watson <cjwatson@ubuntu.com>
8724
8725 * docs/grub.texi (Invoking grub-probe): New section.
8726 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
8727
e1bd676b
VS
87282012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 Fix tab and wide character handling in editor and menu.
8731
8732 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
8733 agglomerate control characters with combining marks.
8734 (bidi_line_wrap): Allow break on tab.
8735 (grub_unicode_get_comb_start): New function.
8736 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
8737 and tab correctly.
8738 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
8739 with a space.
8740 * grub-core/normal/term.c (print_ucs4_terminal): New argument
8741 fixed_tab_size. All users updated.
8742 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
8743 (grub_term_getcharwidth): Handle \t.
8744 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
8745 and copy.
8746
22e6a774
VS
87472012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 Handle big-endian mdraid.
8750
8751 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
8752 * grub-core/Makefile.core.def (mdraid09_be): New module.
8753 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
8754 rather than grub_le_to_cpu* and grub_cpu_to_le*.
8755 * grub-core/disk/mdraid_linux_be.c: New file.
8756
3c0eae66
VS
87572012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
8760
b6cf74c9
VS
87612012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8764 missing quotes which caused confusion among translators.
8765
83c93b9c
VS
87662012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 * util/grub-mkconfig_lib.in: Fix typo.
8769
ac6fd218
VS
87702012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
8773 spaces.
8774 * tests/grub_script_leading_whitespace.in: New file.
8775 * Makefile.util.def (grub_script_leading_whitespace): New test.
8776
ba287dd8
VS
87772012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
8780 to work.
8781
d2d58d0a
VS
87822012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
8785 starts with control character.
8786
0382d9bb
VS
87872012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
8790 overflow.
8791 (grub_gdb_outbuf): Likewise.
8792
d83ff9f9
VS
87932012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
8796 zero terminator. Fixes a crash.
8797
2282da4a
VS
87982012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
8801 beyond 4 GiB.
8802 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
8803 images independently of preffered adderss field.
8804
0ae4f0bd
VS
88052012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
8808 * grub-core/commands/regexp.c: Likewise.
8809 * grub-core/loader/i386/linux.c: Likewise.
8810 * grub-core/partmap/msdos.c: Likewise.
8811 * grub-core/script/execute.c: Likewise.
8812 * grub-core/term/gfxterm.c: Likewise.
8813
546fbe9b
VS
88142012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 Add variable parsing in $"..." and fix several mismatches with bash.
8817
8818 * Makefile.util.def (grub_script_gettext): New test.
8819 * grub-core/script/execute.c (parse_string): New function.
8820 (gettext_append): Likewise.
8821 (grub_script_arglist_to_argv): Use gettext_append.
8822 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
8823 * tests/grub_script_gettext.in: New file.
8824
9fdb2d7b
VS
88252012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 Fix handling of leading spaces in scripts.
8828
8829 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
8830 spaces.
8831 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
8832 other than skipping \r. All users updated.
8833 * tests/grub_script_echo1.in: Add space-related tests.
8834 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
8835
1a1ac4f6
VS
88362012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
8839
b63d89b6
VS
88402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * configure.ac: Bump up the version to beta2.
8843
17f38c0f
VS
88442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 Fix gettext reload bugs (e.g. inability to disable gettext
8847 once enabled).
8848
8849 * grub-core/gettext/gettext.c: Encapsulate all static variables in
8850 main_context and secondary_context. All functions updated.
8851 (grub_gettext_translate): Rename to ...
8852 (grub_gettext_translate_real): ... this. Return NULL on failed
8853 translate.
8854 (grub_gettext_translate): Handle secondary context.
8855 (grub_gettext_delete_list): Close file and zero-out the context.
8856 (grub_mofile_open): Don't call grub_gettext_delete_list.
8857 Don't close file.
8858 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
8859 if locale="" to avoid pointless error message.
8860 (grub_gettext_env_write_lang): Update lang even if load fails.
8861 Handle secondary context.
8862 (grub_gettext_reread_prefix): New function.
8863 (read_main): Likewise.
8864 (read_secondary): Likewise.
8865 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
8866 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
8867 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
8868 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
8869
8e56f870
VS
88702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * configure.ac: Decrease warning level to avoid spurious warnings and
8873 to be able to compile with GCC 4.2.
8874 * Makefile.util.def: Remove -Wno-error=logical-op.
8875
82f6d455
WB
88762012-03-10 William Bittner <william.bittner@gmail.com>
8877
8878 * util/import_unicode.py: Add missing brackets around string for
8879 python 3 support.
8880
1ecd61a4
VS
88812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 Fix efi chainloader on network root.
8884
8885 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
8886 network devices.
8887 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
8888 New function.
8889
14361ee8
VS
88902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8891
8892 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
8893 unused show_text member.
8894 * docs/grub.texi: Document "text" property.
8895
922aabf3
VS
88962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
8899 in dprintf.
8900
ec316771
VS
89012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 Fix IMSM handling on Fedora.
8904
8905 * util/getroot.c (grub_util_is_imsm): New function.
8906 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
8907
0f021838
VS
89082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 * Makefile.am: Strip gold section.
8911 * conf/Makefile.common: Likewise.
8912 * gentpl.py: Likewise.
8913 * grub-core/Makefile.core.def: Likewise.
8914 * grub-core/genmod.sh.in: Likewise.
8915
1039c8eb
VS
89162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
8919 * util/grub.d/20_linux_xen.in: Likewise.
8920 Based on Debian patch.
8921
6dd412cd
VS
89222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * util/grub.d/10_linux.in: Fix syntax error resulting in
8925 Richard Laager's patch.
8926 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
8927
3fd8bae5
VS
89282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
8931 dependencies.
8932
7eea1671
RL
89332012-03-10 Richard Laager <rlaager@wiktel.com>
8934
8935 * util/grub.d/10_linux.in: Fix ZFS root passing.
8936
e8e0566b
VS
89372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
8940 * grub-core/commands/xnu_uuid.c: Likewise.
8941 * grub-core/loader/efi/appleloader.c: Likewise.
8942 * grub-core/script/execute.c: Likewise.
8943 * grub-core/script/main.c: Likewise.
8944 * util/grub-mkfont.c: Likewise.
8945
1acc5b1f
VS
89462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * util/grub-mkfont.c (options): Use more appropriate "select" that
8949 "set" for face index.
8950
35d70620
VS
89512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 * util/grub-editenv.c (options): Gettextize command summaries.
8954
c9eb96b5
VS
89552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
8958 "out of memory" error messagge.
8959
1f493136
VS
89602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
8963 of diskfilter for diskfilter on diskfilter support.
8964
6d790129
VS
89652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
8968
005f46c9
VS
89692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * util/grub-install.in: Check for themes/starfield/theme.txt and not
8972 themes/starfield.
8973
c8f778a0
VS
89742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
8977
de1e64eb
VS
89782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
8981
c6d54211
VS
89822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
8985 of error message.
8986
dd390777
VS
89872012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
8990
5fd1c522
VS
89912012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
8994 message.
c6d54211 8995 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 8996
fae01f6c
VS
89972012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9000 Gettextize.
9001 * util/grub-mount.c (options): Likewise.
9002
292fdaff
VS
90032012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9006 gettextize.
9007 * grub-core/commands/search_wrap.c (options): Likewise.
9008
ecdbae77
VS
90092012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9010
9011 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9012
52bfedfa
VS
90132012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9016 size calculation.
9017 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9018 none is known.
9019
55b20e58
VS
90202012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9023 "temporary" since it's used in identifier and is limited in space.
9024
fda9d101
VS
90252012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * po/POTFILES.in: Regenerate. Include *.h since they contain
9028 translatable strings as well.
9029
6a0295e2
VS
90302012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9033 byte-swap on big-endian.
9034 Reported by: Lennart Sorensen
9035
807fb77c
VS
90362012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9039 (allocate_pages): Improve dprintf.
9040 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9041 code32_start. Fill code32_start and kernel_alignment in params.
9042 (grub_cmd_initrd): Use prot_init_space.
9043
61ac50ba
VS
90442012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9047
abdd26dd
VS
90482012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * util/grub-install.in: Add missing dot at the end of sentence.
9051
6e69da9c
VS
90522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9055 * grub-core/commands/videotest.c: Likewise.
9056 * grub-core/loader/i386/linux.c: Likewise.
9057
4a929343
VS
90582012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9061 sentence.
9062 Reported by: Milo Casagrande.
9063
bb51c6c6
VS
90642012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9067 * grub-core/commands/gptsync.c: Likewise.
9068 * grub-core/commands/hashsum.c: Likewise.
9069 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9070 * grub-core/commands/legacycfg.c: Likewise.
9071 * grub-core/io/gzio.c: Likewise.
9072 * grub-core/net/net.c: Likewise.
9073 * grub-core/term/gfxterm.c: Likewise.
9074 * grub-core/term/terminfo.c: Likewise.
9075 * grub-core/tests/test_blockarg.c: Likewise.
9076 * grub-core/video/video.c: Likewise.
9077 * util/grub-install.in: Likewise.
9078 * util/grub-mkfont.c: Likewise.
9079
b2b149cb
VS
90802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9083
c7c080ad
VS
90842012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9087 Reported by: David Prévot.
c7c080ad 9088
f2e243c0
VS
90892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9092 description.
9093
09963c76
VS
90942012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * util/grub-script-check.c (main): Fix a syntax error message which was
9097 unclear.
9098
a50514a8
VS
90992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9102
4650daec
VS
91032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9106 messages.
9107
91082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9109
9110 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9111 without argument.
9112 * util/grub-mount.c (options): Likewise.
9113
bbc5a342
VS
91142012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9117
ef292a87
VS
91182012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * grub-core/net/http.c: Add TRANSLATORS comments.
9121 * grub-core/normal/cmdline.c: Likewise.
9122 * grub-core/normal/misc.c: Likewise.
9123 * grub-core/partmap/msdos.c: Likewise.
9124 * grub-core/parttool/msdospart.c: Likewise.
9125 * grub-core/script/execute.c: Likewise.
9126 * grub-core/script/main.c: Likewise.
9127 * grub-core/term/terminfo.c: Likewise.
9128 * grub-core/video/bitmap.c: Likewise.
9129 * util/grub-install.in: Likewise.
9130 * util/grub-mkimage.c: Likewise.
9131 * util/grub-mklayout.c: Likewise.
9132 * util/grub-setup.c: Likewise.
9133
0fc19bd0
VS
91342012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9137 with similar messages in grub-fstest.
9138
d95862ef
VS
91392012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9140
9141 * util/grub-install.in: Unify "option requires an argument" message
9142 with similar messages in other files.
9143 * util/grub-mkconfig.in: Likewise.
9144
b7308f90
VS
91452012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * util/grub-set-default.in: Replace printf with gettext_printf (the
9148 string in in question is already translated from grub-reboot)
9149
559dc587
VS
91502012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * configure.ac: Bump up the version to beta1.
9153
1a11761f
VS
91542012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9157 case when min_align = 0.
9158
24539abd
VS
91592012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9162 and fix a case when line_start overflows.
9163
32bd735b
VS
91642012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 * util/grub-reboot.in (usage): Mention id posibility.
9167 * util/grub-set-default.in (usage): Likewise.
9168
1a2fd1e6
VS
91692012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9172 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9173 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9174 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9175 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9176 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9177 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9178
90eeab76
VS
91792012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9180
9181 * grub-core/commands/menuentry.c (options): Remove
9182 GRUB_ARG_OPTION_REPEATABLE.
9183 Reported by: Andreas Vogel
9184
5ad1be82
AV
91852012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9186
9187 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9188
cb055286
HE
91892012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9190
9191 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9192 error.
9193
93b1cd79
VS
91942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 Use sort -V by the idea of Georgi Georgiev.
9197
9198 * util/grub-mkconfig_lib.in (version_sort): New function.
9199 (version_test_numeric): Use version_sort.
9200
0cdc126c
VS
92012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 Use submenus in grub-mkconfig.
9204
9205 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9206 * util/grub-mkconfig_lib.in (grub_quote): New function.
9207 (gettext_printf): Use gettext and not gettext_quoted to fix several
9208 messages.
9209 * util/grub.d/10_hurd.in: Use submenus.
9210 * util/grub.d/10_kfreebsd.in: Likewise.
9211 * util/grub.d/10_linux.in: Likewise.
9212 * util/grub.d/10_netbsd.in: Likewise.
9213 * util/grub.d/20_linux_xen.in: Likewise.
9214 * util/grub.d/30_os-prober.in: Likewise.
9215 * util/grub.d/10_illumos.in: Add missing quoting.
9216 * util/grub.d/10_windows.in: Likewise.
9217
d9bef9bc
VS
92182012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 Fix menu title instability bug.
9221
9222 * grub-core/commands/menuentry.c (options): New option --id.
9223 (grub_normal_add_menu_entry): New argument id. All users updated.
9224 (grub_cmd_menuentry): Handle --id.
9225 (grub_menu_init): Accept unknown arguments.
9226 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9227 feature_menuentry_options.
9228 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9229 saved_entry.
9230 (get_entry_number): Match with id as well.
9231 * include/grub/menu.h (grub_menu_entry): New member id.
9232 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9233 * util/grub.d/00_header.in: Define menuentry_id_option.
9234 * util/grub.d/10_hurd.in: Define id.
9235 * util/grub.d/10_illumos.in: Likewise.
9236 * util/grub.d/10_kfreebsd.in: Likewise.
9237 * util/grub.d/10_linux.in: Likewise.
9238 * util/grub.d/10_netbsd.in: Likewise.
9239 * util/grub.d/10_windows.in: Likewise.
9240 * util/grub.d/20_linux_xen.in: Likewise.
9241 * util/grub.d/30_os-prober.in: Likewise.
9242
92432012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9244
9245 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9246 "scope" with "body".
9247
7c8d0ce7
VS
92482012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9251 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9252 prot_size and prot_file_size.
9253
49de079b
VS
92542012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9257 All users updated. If easily=1 require raid-5/-6 to be full.
9258 (is_node_readable): Likewise.
9259 (scan_devices): Scan incomplete but readable LVs at the end.
9260 (grub_diskfilter_memberlist): Pull missing devices.
9261 (insert_array): Skip scanning until device is complete or scan is
9262 done otherwise.
9263 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9264 check.
9265 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9266 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9267
aff05d45
MG
92682012-03-03 Matthew Garrett <mjg@redhat.com>
92692012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 Avoid EFI boot services when loading Linux.
9272
9273 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9274 avoid_efi_bootservices. All users updated.
9275 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9276 argument avoid_efi_bootservices. All users updated.
9277 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9278 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9279 align, min_align, relocatable, prefered_address. All users updated.
9280 Allocate avoiding boot services if kernel is relocatable.
9281 (grub_cmd_linux): Check if kernel is relocatable.
9282 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9283 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9284 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9285 avoid_efi_boot_services.
9286 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9287 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9288 (linux_kernel_params): Likewise.
9289
3935dde2
MG
92902012-03-03 Matthew Garrett <mjg@redhat.com>
92912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 Use EDID on EFI.
9294
9295 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9296 datasize_out.
9297 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9298 modes. Set gop_handle.
9299 (grub_video_gop_get_edid): New function.
9300 (grub_gop_get_preferred_mode): Likewise.
9301 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9302 (grub_video_efi_gop_adapter): Set .get_edid.
9303 * include/grub/efi/edid.h: New file.
9304 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9305
32107ec0
VS
93062012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * util/grub-install.in: Load efivars unconditionally.
9309
e70a2c50
VS
93102012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 * po/Rules-piglatin: Change suffix from .po-update-en to
9313 .po-update-en-piglatin.
9314
8f9cace1
VS
93152012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 Add a pig farm.
9318
9319 * po/piglatin.sed: New file.
9320 * po/en@piglatin.header: Likewise.
9321 * po/Rules-piglatin: Likewise.
9322 * po/README: Add en@piglatin to autogenerated languages.
9323
8f95d002
VS
93242012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9327 "Command for ...".
9328 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9329 "Check" since we don't check anything.
9330 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9331 is 64-bit one.
9332 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9333 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9334 (grub_md_sha512_real): Likewise.
9335
805a8dcc
VS
93362012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 * grub-core/commands/gptsync.c: Fix typographic quoting.
9339 * grub-core/commands/ieee1275/suspend.c: Likewise.
9340 * grub-core/commands/parttool.c: Likewise.
9341 * grub-core/commands/search_wrap.c: Likewise.
9342 * grub-core/commands/videoinfo.c: Likewise.
9343 * grub-core/gfxmenu/gui_label.c: Likewise.
9344 * grub-core/hello/hello.c: Likewise.
9345 * grub-core/kern/emu/main.c: Likewise.
9346 * grub-core/net/net.c: Likewise.
9347 * grub-core/normal/menu.c: Likewise.
9348 * grub-core/normal/menu_text.c: Likewise.
9349 * grub-core/normal/misc.c: Likewise.
9350 * util/grub-editenv.c: Likewise.
9351 * util/grub-install.in: Likewise.
9352 * util/grub-kbdcomp.in: Likewise.
9353 * util/grub-mkconfig.in: Likewise.
9354 * util/grub-mknetdir.in: Likewise.
9355 * util/grub-mkrescue.in: Likewise.
9356 * util/grub-mkstandalone.in: Likewise.
9357 * util/grub-reboot.in: Likewise.
9358 * util/grub-set-default.in: Likewise.
9359 * util/grub-setup.c: Likewise.
9360 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9361
40211ab8
VS
93622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9365 * grub-core/commands/keystatus.c: Likewise.
9366 * grub-core/commands/loadenv.c: Likewise.
9367 * grub-core/commands/probe.c: Likewise.
9368 * grub-core/commands/regexp.c: Likewise.
9369 * grub-core/commands/true.c: Likewise.
9370 * grub-core/commands/videoinfo.c: Likewise.
9371 * grub-core/disk/cryptodisk.c: Likewise.
9372 * grub-core/disk/ldm.c: Likewise.
9373 * grub-core/disk/loopback.c: Likewise.
9374 * grub-core/disk/luks.c: Likewise.
9375 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9376 * grub-core/kern/disk.c: Likewise.
9377 * grub-core/kern/emu/hostdisk.c: Likewise.
9378
0c7d99c7
VS
93792012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9382 * util/grub-install.in: Add missing quote in the comment.
9383
e7d2559b
VS
93842012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9387 * grub-core/commands/lsmmap.c: Likewise.
9388 * grub-core/commands/minicmd.c: Likewise.
9389 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9390 * grub-core/commands/regexp.c: Likewise.
9391 * grub-core/gdb/gdb.c: Likewise.
9392 * grub-core/term/gfxterm.c: Likewise.
9393 * util/grub-mkconfig.in: Likewise.
9394 * util/grub-mkfont.c: Likewise.
9395 * util/grub-mklayout.c: Likewise.
9396 * util/grub-mknetdir.in: Likewise.
9397 * util/grub-mkrescue.in: Likewise.
9398 * util/grub.d/30_os-prober.in: Likewise.
9399
49ce9e50
VS
94002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9403 with "Direct color" and "Packed" with "Packed pixel".
9404 (grub_cmd_videoinfo): Simplify legend.
9405
e4b791fa
VS
94062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9409 absolutely unclear error message.
9410
fd1265cb
VS
94112012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * util/grub-mkstandalone.in: Remove confusing leftover print.
9414
8822a8a0
VS
94152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9418 comments.
9419 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9420 (GRUB_MOD_INIT): Likewise.
9421 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9422 VGA mode.
9423 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9424 comments.
9425 * util/grub-install.in (usage): Likewise.
9426 Spell ID in whole letters.
9427 Add missing ending dot.
9428 Quote variables.
9429 * util/grub-reboot.in: Fix capitalisation.
9430 * util/grub-set-default.in: Likewise.
9431
937fd0cc
VS
94322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9435 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9436 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9437 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9438 Disable -Werror for -Wdeprecated-declarations.
9439 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9440 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9441 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9442 (grub_util_get_grub_dev): Make luks handling dependent on
9443 HAVE_DEVICE_MAPPER and not __linux__.
9444 (get_win32_path): Fix format security.
9445 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9446 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9447 Don't try grub_find_zpool_from_dir.
9448 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9449 #ifdef-out paresdir.
9450
1bab1ae3
VS
94512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * util/grub-pe2elf.c (usage): Add missing noreturn.
9454 (write_section_data): Rename name to shname to avoid shadowing.
9455 (write_symbol_table): Rename name to symname to avoid shadowing.
9456 Fix write_reloc_section call.
9457
ef023e42
VS
94582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9461 to ensure that it's after the last byte of .text.
9462
48afcb75
VS
94632012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * util/ieee1275/ofpath.c (my_isdigit): New function.
9466 (trailing_digits): Use my_isdigit.
9467 (strip_trailing_digits): Likewise.
9468
88d51eff
VS
94692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9472 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9473
17edc2ba
VS
94742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * grub-core/kern/i386/pc/startup.S: Define __start.
9477
ad5518d7
VS
94782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9481 strip already transforms he format.
9482
9e95e1bf
VS
94832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9486
9cc3ee5c
VS
94872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * util/grub-install.in: Add missing gettext init.
9490 * util/grub-kbdcomp.in: Likewise.
9491 * util/grub-mkconfig.in: Likewise.
9492 * util/grub-mknetdir.in: Likewise.
9493 * util/grub-mkrescue.in: Likewise.
9494 * util/grub-mkstandalone.in: Likewise.
9495 * util/grub-reboot.in: Likewise.
9496 * util/grub-set-default.in: Likewise.
9497 * util/grub.d/00_header.in: Likewise.
9498 * util/grub.d/10_hurd.in: Likewise.
9499 * util/grub.d/10_windows.in: Likewise.
9500 * util/grub.d/30_os-prober.in: Likewise.
9501 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9502
49e08a06
VS
95032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 * po/Rules-swiss: Fix header comment.
9506
3809cb41
AV
95072012-02-29 Andreas Vogel <anvoit>
9508
9509 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9510 resulted in leak of arguments.
9511
fa6ec573
VS
95122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9515 reed_solomon_size const definition instead of computing it since
9516 Apple assembler doesn't support the later.
9517
22899b9c
VS
95182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * gentpl.py (kernel): Rewrite Apple part.
9521
a132afc3
VS
95222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9525
9d742bd4
VS
95262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9529 ELF section gap.
9530 (load_image): Likewise.
9531
f04a9a21
VS
95322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * configure.ac: Fix a typo in previous commit.
9535
46cf439c
VS
95362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 Don't add -Wl,-N on Apple platform.
9539
9540 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9541 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9542
c4c48c54
VS
95432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * grub-core/Makefile.core.def (lzma_decompress): Use
9546 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9547
31a12124
VS
95482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * grub-core/genmod.sh.in: Rewrite the Apple part.
9551
4f3aa1af
VS
95522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9555 comparison.
9556
7bd8b0c7
VS
95572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * acinclude.m4 (grub_CHECK_PIC): New test.
9560 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9561
97304d7c
VS
95622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9565 to avoid the warning.
9566
fb883812
VS
95672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9570 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9571 after. All users updated.
9572
a121c964
VS
95732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 Use the common size routine in hostfs so we can read disks as well.
9576
9577 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9578 (grub_util_get_fd_size): ... this. Return size in bytes.
9579 All users updated.
9580 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9581 grub_util_get_fd_size.
9582
c66d6410
VS
95832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9586 Add blocksize retrieval.
9587
dfc8aeb0
VS
95882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 * configure.ac: Restore CFLAGS after efiemu check.
9591
403e25a5
VS
95922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9595 Apple bug.
9596
382775d1
VS
95972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9598
9599 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9600
6fd4e6e4
VS
96012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9604 (grub_cmd_halt): Likewise.
9605
bea359d6
VS
96062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9609 for local arithmetics.
9610 Break %sp init into 2 instructions.
9611 Add 0 byte at the end.
9612
32eb6ee1
VS
96132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9616 before loops.
9617
e8377389
VS
96182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9621 for context.
9622
8cb17de7
VS
96232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * grub-core/disk/ldm.c (make_vg): Init part.name.
9626 (grub_ldm_detect): Silence spurious warning.
9627 (grub_util_is_ldm): Likewise.
9628
595717e6
VS
96292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9632 sane value to avoid a spurious warning.
9633
c4b7e588
VS
96342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9637 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9638
59824957
VS
96392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9642 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9643
70115b99
VS
96442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9647 hardcoding the relevant info.
9648
56733740
VS
96492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9652 missing const qualifiers.
9653 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9654
43481481
VS
96552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 * util/getroot.c [__APPLE__]: Add missing includes.
9658 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9659
3cb38f01
VS
96602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9661
9662 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9663
d9dbf11e
VS
96642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9667 avoid conflicts.
9668
0c42a45d
VS
96692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9672
46c34eb0
VS
96732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9674
9675 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9676 and grub_file_close call.
9677
99ce1597
VS
96782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9679
9680 Add LZSS Mach-O support (needed for new xnu kernelcache).
9681
9682 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9683 * grub-core/loader/lzss.c: New file.
9684 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9685 on Mach-O open failure.
9686 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9687 Don't free cmdsXX in uncompressedXX is set.
9688 (grub_macho_file): Init new fields.
9689 New argument is_64bit. All users updated.
9690 Handle compressed. Error out if no suitable architecture is found.
9691 Don't close file.
9692 (grub_macho_open): New argument is_64bit. All users updated.
9693 * grub-core/loader/macho32.c: Add defines for new fields.
9694 * grub-core/loader/macho64.c: Likewise.
9695 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
9696 (grub_macho_parse): Handle compressed.
9697 Defer actual processing if compressed.
9698 (grub_macho_cmds_iterate): Decompress if compressed. New argument
9699 "filename". All users updated.
9700 (grub_macho_size): New argument "filename". All users updated.
9701 (grub_macho_get_entry_point): Likewise.
9702 (grub_macho_load): Handle compressed.
9703 * include/grub/macho.h (grub_macho_lzss_header): New struct.
9704 (GRUB_MACHO_LZSS_OFFSET): New define.
9705 (grub_decompress_lzss): New proto.
9706 * include/grub/machoload.h (grub_macho_file): New fields to handle
9707 compressed.
9708 (grub_macho_contains_macho64): Remove proto.
9709 (grub_macho_contains_macho32): Likewise.
9710 * util/grub.d/30_os-prober.in: Use kernel cache if available.
9711
ebd17d6f
VS
97122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
9715
2702b4e4
VS
97162012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 Fix make dist.
9719
9720 * Makefile.am (starfield_theme_files): New var.
9721 (starfield_DATA): Use starfield_theme_files.
9722 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
9723 Add bootcheck-related files.
9724 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
9725 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
9726 and font_char_metrics.txt.
9727 * grub-core/Makefile.core.def (kernel): Update extra_dist.
9728 (setjmp): Add lib/ia64/longjmp.S.
9729 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
9730 * po/POTFILES.in: Regenerate.
9731 * po/Rules-swiss: use DISTFILES.common.extra2 and not
9732 DISTFILES.common.extra1.
9733 * util/devicemap.c: Removed.
9734 * grub-core/lib/i386/relocator_backward.S: Likewise.
9735 * util/import_gcry.py: Remove unused files. Add extra_dist for
9736 ChangeLog.
9737
cf1adfdf
VS
97382012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * grub-core/gettext/gettext.c (grub_mofile_open): Call
9741 grub_gettext_delete_list before changing grub_gettext_max to avoid
9742 running out of array bounds.
9743
97442012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
9745
9746 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
9747 grub_vga_text_init/grub_vga_text_fini.
9748
cf1adfdf 97492012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
9750
9751 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
9752
541d92e9
VS
97532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9754
9755 * configure.ac: Bump to 2.00~beta0.
9756
7931dddf
VS
97572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
9760 missing initialisation.
9761
f1b16fa3
VS
97622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
9765
83ddae23
VS
97662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 Support v2 xnu boot arguments.
9769
9770 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
9771 New argument fsbfreq_out.
9772 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
9773 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
9774 be used.
9775 * grub-core/loader/machoXX.c (grub_macho_load): New argument
9776 darwin_version.
9777 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
9778 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
9779 (grub_xnu_boot_params): Rename to ...
9780 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
9781 (grub_xnu_boot_params_v2): New struct.
9782
dc693fe6
VS
97832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
9786 zeroing of CRC field before computing CRC.
9787
5a6e39c2
VS
97882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
9791 Change order of allocations to decrease fragmentation.
9792
6c21f5d7
VS
97932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
9796
cfe456dc
CW
97972012-02-27 Colin Watson <cjwatson@ubuntu.com>
9798
9799 Use write-combining MTRR to speed up video with buggy BIOSes.
9800
9801 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
9802 (cpuid): New define.
9803 (rdmsr): Likewise.
9804 (wrmsr): Likewise.
9805 (mtrr_base): Likewise.
9806 (mtrr_mask): Likewise.
9807 (grub_vbe_enable_mtrr_entry): New function.
9808 (grub_vbe_enable_mtrr): Likewise.
9809 (grub_vbe_disable_mtrr): Likewise.
9810 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
9811 control off to BIOS.
9812 (grub_video_vbe_init): Fill mtrr.
9813 (grub_video_vbe_fini): Disable mtrr.
9814 (grub_video_vbe_get_info_and_fini): Likewise.
9815 (grub_video_vbe_setup): Enable mtrr.
9816
e3c78337
CW
98172012-02-27 Colin Watson <cjwatson@ubuntu.com>
9818
9819 * include/grub/partition.h (grub_partition_map): Change prototype of
9820 embed to take a maximum value for nsectors.
9821 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
9822 * include/grub/fs.h (grub_fs): Likewise.
9823 * grub-core/partmap/msdos.c (embed_signatures): New array.
9824 (pc_partition_map_embed): Check for and avoid sectors matching any
9825 of the signatures in embed_signatures, up to max_nsectors.
9826 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
9827 returned sector map to max_nsectors.
9828 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
9829 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
9830 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
9831 * util/grub-setup.c (setup): Allow for the embedding area being
9832 split into multiple blocklists. Tell dest_partmap->embed the
9833 maximum number of sectors we care about.
9834
98352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
9838 Specify blocklist_install and reserver_first_sector for all fs.
9839 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
9840 blocklists.
9841
984b973f
VS
98422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 * util/grub-install.in: Clarify strings.
9845 Fix source dir check.
9846
f122e0d6
RL
98472012-02-27 Richard Laager <rlaager@wiktel.com>
9848
9849 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
9850 "zfs" and "fuse.zfs" as synonyms.
9851
071114bb
VS
98522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * configure.ac: Put platform and target_cpu substitutions back since
9855 they are used for directories.
9856
817e6abc
RL
98572012-02-27 Richard Laager <rlaager@wiktel.com>
98582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * util/grub.d/10_linux.in: Add ZFS-related arguments.
9861 * util/grub.d/20_linux_xen.in: Likewise.
9862
897b7419
RL
98632012-02-27 Richard Laager <rlaager@wiktel.com>
9864
9865 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
9866 with full paths.
9867
a414bd15
RL
98682012-02-27 Richard Laager <rlaager@wiktel.com>
9869
9870 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
9871 unescape.
9872
30ac48c4
VS
98732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 Don't use insecure popen in getroot.
9876
9877 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
9878 (exec_pipe): ... here.
9879 (find_root_devices_from_poolname): Use exec_pipe.
9880
53f13848
VS
98812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 Remove platform and target_cpu replacement.
9884
9885 * configure.ac: Remove platform and target_cpu substitutions.
9886 * tests/util/grub-shell.in: Use modinfo.
9887 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
9888 explicitly.
9889
90cb2803
VS
98902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 Autodetect platform in grub-install but allow override.
9893
9894 * util/grub-install.in: Autodetect platform. Support --target and
9895 --directory. Read platform from modinfo.sh.
9896
b9136427
VS
98972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 Support btrfs multi-volume probe.
9900
9901 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
9902 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
9903 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
9904 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
9905 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
9906 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
9907 grub_find_root_devices_from_btrfs if on btrfs.
9908
c36e5cd1
VS
99092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 Remove any awareness of *.c util files about target.
9912
9913 * Makefile.util.def (grub-setup): Split to ...
9914 (grub-bios-setup): ... and this.
9915 (grub-sparc64-setup): ... and this.
9916 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
9917 * docs/man/grub-setup.h2m: Split into ...
9918 * docs/man/grub-sparc64-setup.h2m: ... this.
9919 * docs/man/grub-bios-setup.h2m: ... and this.
9920 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
9921 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
9922 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
9923 (grub_target_addr_t): Remove.
9924 (grub_target_size_t): Remove.
9925 (grub_target_ssize_t): Remove.
9926 * util/grub-install.in: Use new grub-*-setup.
9927 * util/grub-mkimagexx.c (Elf_Word): New define.
9928 (Elf_Half): Likewise.
9929 (Elf_Section): Likewise.
9930 (ELF_ST_TYPE): Likewise.
9931 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
9932 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
9933
584b2f8a
VS
99342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 Replace grub_target_addr with more appropriate types.
9937
9938 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
9939 grub_target_addr with grub_addr.
9940 * grub-core/commands/iorw.c (grub_cmd_read): Replace
9941 grub_target_addr with grub_port.
9942 (grub_cmd_write): Likewise.
9943 * grub-core/commands/memrw.c (grub_cmd_read): Replace
9944 grub_target_addr with grub_addr.
9945 (grub_cmd_write): Likewise.
9946 * grub-core/video/efi_uga.c (find_line_len): Likewise.
9947
5a0dc6fb
VS
99482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9949
9950 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
9951 const qualifier for vendor_guid.
9952
786aff6e
VS
99532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
9956 const qualifier.
9957 (efiemu_memequal): Likewise.
9958 (find_variable): Likewise.
9959
49017b17
VS
99602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 Fix missing console prototype on qemu-mips.
9963
9964 * include/grub/mips/qemu_mips/console.h: New file.
9965
c5988629
MG
99662012-02-27 Matthew Garrett <mjg@redhat.com>
99672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
9970 * include/grub/efi/efi.h: Likewise.
9971 * include/grub/efi/api.h: Add guid for EFI-specified variables.
9972 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
9973 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
9974 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
9975 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
9976 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
9977
e33f8d69
MG
99782012-02-27 Matthew Garrett <mjg@redhat.com>
9979
9980 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
9981
fb312cd9
VS
99822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
9985 error.
9986
7134247c
VS
99872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * configure.ac: Remove inappropriate use of program_transform_name
9990 on grubdir and bootdir but allow explicit specification of those
9991 variables.
9992
6a313124
VS
99932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * util/grub-mknetdir.in (grub_prefix): Removed.
9996 (subdir): Use @bootdirname@ and @grubdirname@.
9997
2311c5ca
VS
99982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10001
7d5d60f7
VS
100022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * po/POTFILES.in: Regenerated.
10005
8151bc82
VS
100062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 Remove improper use of program_transform_name on pkglibrootdir.
10009
10010 * configure.ac (pkglibrootdir): Removed.
10011 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10012 * util/grub-mkimage.c: Likewise.
10013
b4a6a533
VS
100142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10017 warning.
10018
668f304f
VS
100192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * util/grub-install.in: Use file identifier if no UUID is available
10022 or user explicitly prompted for it.
10023
665f2341
NP
100242012-02-27 Navdeep Parhar <nparhar@gmail.com>
10025
10026 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10027 (freebsd_get_zfs): New function.
10028 (grub_freebsd_boot): Pass zfs UUID.
10029 (grub_cmd_freebsd): Set zfs UUID.
10030
8151bc82 100312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10032
10033 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10034 pkglibrootdir.
10035
e4c498a1
MG
100362012-02-27 Mike Gilbert <floppym@gentoo.org>
10037
10038 Add configure flag to control libzfs integration.
10039
10040 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10041
1e9a9a3f
VS
100422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10045 device.
10046 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10047 small devices.
10048
036985b8
VS
100492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10052 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10053 be used on non-modules.
10054
10055 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10056 Rename to grub_boot_init.
10057 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10058 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10059 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10060 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10061 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10062 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10063 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10064 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10065 includes.
10066 (grub_machine_init): Remove empty inits.
10067 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10068 includes.
10069 (grub_machine_init): Remove empty inits.
10070 * grub-core/term/arc/console.c: Remove explicit proto.
10071 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10072 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10073 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10074 grub_at_keyboard_fini.
10075 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10076 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10077 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10078 grub_gfxterm_fini.
10079 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10080 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10081 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10082 grub_vgatext_fini.
10083 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10084 * grub-core/term/serial.c (GRUB_MOD_INIT)
10085 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10086 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10087 grub_serial_fini.
10088 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10089 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10090 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10091 grub_terminfo_fini.
10092 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10093 (GRUB_MOD_FINI): Likewise.
10094 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10095 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10096 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10097 grub_video_radeon_fuloong2e_fini.
10098 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10099 [LOONGSON]: Rename to grub_video_sis315pro_init.
10100 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10101 grub_video_sis315pro_fini.
10102 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10103 [LOONGSON]: Rename to grub_video_sm712_init.
10104 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10105 grub_video_sm712_fini.
10106 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10107 (grub_at_keyboard_fini): Likewise.
10108 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10109 Don't declare grub_{modname}_init.
10110 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10111 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10112 New proto.
10113 (grub_keylayouts_fini) [!EMU]: Likewise.
10114 * include/grub/serial.h (grub_serial_init) [!EMU]:
10115 New proto.
10116 (grub_serial_fini) [!EMU]: Likewise.
10117 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10118 New proto.
10119 (grub_terminfo_fini) [!EMU]: Likewise.
10120 * include/grub/video.h (grub_font_init) [!EMU]:
10121 New proto.
10122 (grub_font_fini) [!EMU]: Likewise.
10123 (grub_gfxterm_init) [!EMU]: Likewise.
10124 (grub_gfxterm_fini) [!EMU]: Likewise.
10125 (grub_video_sm712_init) [!EMU]: Likewise.
10126 (grub_video_sm712_fini) [!EMU]: Likewise.
10127 (grub_video_sis315pro_init) [!EMU]: Likewise.
10128 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10129 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10130 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10131
d5534665
VS
101322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 Make nand a prefix for nand devices.
10135
10136 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10137
10133b5f
VS
101382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10141 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10142
8e307a62
VS
101432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * include/grub/env.h (grub_env_find): Remove prototype.
10146 * grub-core/kern/env.c (grub_env_find): Make static.
10147 (grub_env_set): Remove useless set.
10148
a4c65f34
VS
101492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10150
10151 * grub-core/kern/i386/realmode.S: Remove useless align.
10152
d87893d5
VS
101532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * include/grub/dl.h (grub_dl_load_file): Don't export.
10156
50159add
VS
101572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10158
10159 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10160 grub_dprintf.
10161
b2582b84
VS
101622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10165 grub_errors.
10166 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10167 not reloading whole superblock but only the part which is really needed.
10168 Remove useless grub_errors.
10169 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10170 grub_errors.
10171
e2a83395
VS
101722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 Don't export grub_get_rtc.
10175
10176 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10177 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10178
e7d2a906
VS
101792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10182
6cf1363b
VS
101832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10186 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10187
eece3349
VS
101882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 Remove prio_list.
10191
10192 * include/grub/list.h (grub_prio_list): Removed.
10193 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10194 GRUB_COMMAND_PRIO_MASK.
10195 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10196 GRUB_COMMAND_FLAG_ACTIVE.
10197 (grub_prio_list_insert): Removed.
10198 (grub_prio_list_remove): Likewise.
10199 (GRUB_AS_PRIO_LIST): Likewise.
10200 (GRUB_AS_PRIO_LIST_P): Likewise.
10201 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10202 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10203 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10204 * grub-core/kern/command.c (grub_register_command_prio): Inline
10205 the prio_list code.
10206 (grub_unregister_command): Likewise.
10207
94f064b4
VS
102082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 Fix interrupt mixup from previous commit.
10211
10212 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10213 (grub_realidt): New var.
10214 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10215 Load idt.
10216 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10217 New declaration.
10218 (grub_relocator16_boot): Set grub_relocator16_idt.
10219 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10220 (LOCAL(realidt)): ... this.
10221 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10222 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10223 (grub_realidt): New variable.
10224
27317084
VS
102252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10228 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10229 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10230 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10231 Gettextize.
10232 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10233 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10234 * po/POTFILES.in: Regenerate.
10235
47b40053
VS
102362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10239 errors.
10240
2b343101
VS
102412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10244 \0.
10245 (add_length): Likewise.
10246
ff27c3dd
LK
102472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
102482012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10249
10250 GDB serial and backtrace support.
10251
10252 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10253 (prot_to_real): Likewise.
10254 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10255 * grub-core/Makefile.core.def (backtrace): New module.
10256 (gdb): Likewise.
10257 * grub-core/gdb/cstub.c: New file.
10258 * grub-core/gdb/gdb.c: Likewise.
10259 * grub-core/gdb/i386/idt.c: Likewise.
10260 * grub-core/gdb/i386/machdep.S: Likewise.
10261 * grub-core/gdb/i386/signal.c: Likewise.
10262 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10263 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10264 * include/grub/backtrace.h: Likewise.
10265 * include/grub/gdb.h: Likewise.
10266 * include/grub/i386/gdb.h: Likewise.
10267
102682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10269
10270 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10271 New function.
10272 (add_length): Likewise.
10273 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10274 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10275 proto.
10276 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10277 __argp_get_display_len.
10278
ff27c3dd 102792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10280
10281 $"..." support in scripts.
10282
10283 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10284 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10285 * grub-core/script/yylex.l: Likewise.
10286 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10287 value.
10288
ff27c3dd 102892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10290
10291 * gentpl.py: Remove obsolete pkglib_DATA handling.
10292
ff27c3dd 102932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10294
10295 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10296 mailing list.
10297
10298 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10299 * util/grub-kbdcomp.in: Likewise.
10300 * util/grub-mkconfig.in: Likewise.
10301 * util/grub-mkconfig_lib.in: Likewise.
10302 * util/grub-mknetdir.in: Likewise.
10303 * util/grub-mkrescue.in: Likewise.
10304 * util/grub-mkstandalone.in: Likewise.
10305 * util/grub-reboot.in: Likewise.
10306 * util/grub-set-default.in: Likewise.
10307 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10308
ff27c3dd 103092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10310
10311 Remove GRUB_PREFIX.
10312
10313 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10314 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10315 used for backward compatibility.
10316
ff27c3dd 103172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10318
10319 Add new all_video module.
10320
10321 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10322 * grub-core/Makefile.core.def (all_video): New module.
10323 * grub-core/genmoddep.awk: Generate dependency of all_video from
10324 video.lst.
10325 * grub-core/lib/fake_module.c: New file.
10326 * grub-core/normal/main.c (features): Add feature_all_video_module.
10327 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10328 don't do explicit search again.
47454da5 10329 insmod all_video in load_video if available.
22c7ce85 10330
ff27c3dd 103312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10332
10333 Another round of string clarification and adding TRANSLATORS comments.
10334
ff27c3dd 103352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10336
10337 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10338
ff27c3dd 103392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10340
10341 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10342 to grub_ssize_t.
10343 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10344 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10345
ff27c3dd 103462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10347
10348 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10349 trailing newline implicitly. All users updated.
10350
ff27c3dd 103512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10352
10353 Implement serial on IEEE1275 and EFI.
10354
10355 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10356 on emu. Mention arc and emu as the only platforms without serial
10357 support.
10358 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10359 ieee1275 platforms.
10360 * grub-core/term/efi/serial.c: New file.
10361 * grub-core/term/ieee1275/serial.c: Likewise.
10362 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10363 specification if no ns8250 driver is available.
10364 (grub_cmd_serial): Likewise.
10365 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10366 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10367 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10368 (grub_efi_parity_type_t): New type.
10369 (grub_efi_stop_bits_t): Likewise.
10370 (grub_efi_serial_io_interface): New struct.
10371 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10372 available for all interfaces.
10373 Add EFI and IEEE1275 fields.
10374 (grub_ofserial_init): New proto.
10375 (grub_efiserial_init): Likeiwse.
10376 * util/grub.d/00_header.in: Don't check for the presence of serial
10377 module.
10378
ff27c3dd 103792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10380
10381 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10382 name as if it was an alias.
10383
114076ef
VS
103842012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 * grub-core/commands/lsacpi.c (options): Fix typo.
10387
6a656b0e
VS
103882012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 Convert grub-emu to argp.
10391
10392 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10393 emu.
10394 * util/argp_common.c: Rename to ...
10395 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10396 Add missing includes.
10397 * grub-core/kern/emu/main.c: Convert to argp.
10398 * po/POTFILES.in: Regenerate.
10399 * util/grub-install.in (usage): Make first letter lowcase in messages
10400 for uniformity.
10401 * util/grub-setup.c (options): Likewise.
10402
1e3f8ae8
VS
104032012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10404
10405 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10406 Put back accidently commented-out code.
10407
ed167a80
VS
104082012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10411 loop check using Brent algorithm.
10412 (grub_hfsplus_btree_search): Likewise.
10413
6753c0ec
VS
104142012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * util/grub-install.in: Fix usage of wrong device for PreP install.
10417
4e27343f
VS
104182012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * conf/Makefile.common (CFLAGS_GNULIB): Add
10421 -Wno-unsafe-loop-optimizations.
10422 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10423 on tools.
10424 * grub-core/commands/legacycfg.c: Add pragma to skip
10425 -Wunsafe-loop-optimizations.
10426 (check_password_md5_real): Fix loop counter type.
10427 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10428 reading.
10429 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10430 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10431 loop condition.
10432 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10433 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10434 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10435 condition.
10436 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10437 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10438 avoid possible infinite loops.
10439 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10440 and -Wunsafe-loop-optimizations.
10441 * grub-core/script/yylex.l: Likewise.
10442 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10443 (print_glyphs): Avoid infinite loops.
10444 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10445
697f18b0
GS
104462012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10447
10448 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10449 to avoid infinite loop.
10450 (disp_acpi_rsdt_table): Likewise.
10451
274416e8
VS
104522012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 * grub-core/font/font.c (grub_font_load): Add support for default
10455 path for fonts ($prefix/fonts).
10456 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10457 for checking if string is a path.
10458 * grub-core/normal/main.c (features): Add feature_default_font_path.
10459 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10460 * util/grub.d/00_header.in: Use default directory if possible.
10461 * util/grub-install.in: Install unicode.pf2.
10462
b3e08622
VS
104632012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10466 * po/Rules-swiss: New file.
10467 * po/swiss.sed: Likewise.
10468
fe42ce09
VS
104692012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 * grub-core/fs/btrfs.c (find_device): Fix typos.
10472 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10473 * util/grub-mkrelpath.c (argp_parser): Likewise.
10474 Reported by: Yuri Chornoivan.
10475
72f1d065
DO
104762012-02-23 Dalet Omega <daletomega@gmail.com>
10477
10478 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10479 for usual informative messages.
10480
c5884973
DO
104812012-02-23 Dalet Omega <daletomega@gmail.com>
10482
10483 Starfield theme.
10484
10485 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10486 * conf/Makefile.common: Define starfielddir.
10487 * configure.ac: Configure starfield.
10488 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10489 * themes/starfield/README: Likewise.
10490 * themes/starfield/blob_w.png: Likewise.
10491 * themes/starfield/boot_menu_c.png: Likewise.
10492 * themes/starfield/boot_menu_e.png: Likewise.
10493 * themes/starfield/boot_menu_n.png: Likewise.
10494 * themes/starfield/boot_menu_ne.png: Likewise.
10495 * themes/starfield/boot_menu_nw.png: Likewise.
10496 * themes/starfield/boot_menu_s.png: Likewise.
10497 * themes/starfield/boot_menu_se.png: Likewise.
10498 * themes/starfield/boot_menu_sw.png: Likewise.
10499 * themes/starfield/boot_menu_w.png: Likewise.
10500 * themes/starfield/slider_c.png: Likewise.
10501 * themes/starfield/slider_n.png: Likewise.
10502 * themes/starfield/slider_s.png: Likewise.
10503 * themes/starfield/src/blob_nw.xcf: Likewise.
10504 * themes/starfield/src/bootmenu/: Likewise.
10505 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10506 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10507 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10508 * themes/starfield/src/slider_c.xcf: Likewise.
10509 * themes/starfield/src/slider_n.xcf: Likewise.
10510 * themes/starfield/src/slider_s.xcf: Likewise.
10511 * themes/starfield/src/terminalbox/: Likewise.
10512 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10513 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10514 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10515 * themes/starfield/starfield.png: Likewise.
10516 * themes/starfield/terminal_box_c.png: Likewise.
10517 * themes/starfield/terminal_box_e.png: Likewise.
10518 * themes/starfield/terminal_box_n.png: Likewise.
10519 * themes/starfield/terminal_box_ne.png: Likewise.
10520 * themes/starfield/terminal_box_nw.png: Likewise.
10521 * themes/starfield/terminal_box_s.png: Likewise.
10522 * themes/starfield/terminal_box_se.png: Likewise.
10523 * themes/starfield/terminal_box_sw.png: Likewise.
10524 * themes/starfield/terminal_box_w.png: Likewise.
10525 * themes/starfield/theme.txt: Likewise.
10526
17d73325
VS
105272012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * util/grub.d/00_header.in: Add missing export theme.
10530
dbebaf92
VS
105312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10534 already included.
10535 Reported by: Eren D.
10536
3d68bffb
VS
105372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * conf/Makefile.common (grubdatadir): Removed.
10540 (Makefile.am): Move eveything grubdata to pkgdata.
10541
4b59234d
VS
105422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 * grub-core/commands/acpihalt.c (get_sleep_type):
10545 Remove unused variable.
10546
463dcadc
VS
105472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10548
10549 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10550 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10551 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10552 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10553 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10554 i18n with gettext no-op.
10555 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10556 GRUB_ACPI_OPCODE_STRING_CONST.
10557 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10558 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10559
e5b90c82
VS
105602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 * po/POTFILES.in: Regenerate.
10563
2a704ca9
VS
105642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10565
10566 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10567 -Wno-error=missing-noreturn.
10568
84f9d341
VS
105692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10570
10571 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10572 condition to avoid possibly infinite loops.
10573 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10574 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10575
d46683f9
VS
105762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10579 condition to avoid possibly infinite loops.
10580
c44866b2
VS
105812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10584 on show_error.
10585
96790539
VS
105862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10589
1ba7e295
VS
105902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10593
21ffe8f1
VS
105942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * util/bin2h.c (usage): Add missing attribute noreturn.
10597
0ccb6b3c
VS
105982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10601 if the size isn't divisible by 512.
10602
b00d7fb6
VS
106032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 Make list_push and list_remove functions rather than inline functions
10606 to decrease size and avoid aliasing violations.
10607
10608 * include/grub/list.h (grub_list_push): Move to ...
10609 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10610 * include/grub/list.h (grub_list_remove): Move to ...
10611 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10612
9d369087
VS
106132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10616 and -Wunused-result.
10617
af0250d9
VS
106182012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10621 Reported by: Seth Goldberg
10622
aad32b14
VS
106232012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10624
10625 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10626
ac96441c
ST
106272012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10628
10629 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10630 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10631 command line.
10632 * docs/grub.texi (Simple configuration): Document
10633 GRUB_CMDLINE_GNUMACH.
10634
106352012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10636
10637 * conf/Makefile.common (platform_SCRIPTS): New variable.
10638 (platform_PROGRAMS): Likewise.
10639 * gentpl.py: Mark *,module and *.image for install.
10640 * grub-core/gdb_grub.in: Add a notice of expected environment.
10641 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10642 (gmodule.pl): Likewise.
10643
ac96441c 106442012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
10645
10646 Replace grub_checkkey with grub_getkey_noblock.
10647
10648 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10649 (grub_getkey_noblock): ... this. All users updated.
10650
ac96441c 106512012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
10652
10653 * grub-core/kern/emu/console.c: Move to ...
10654 * grub-core/term/emu/console.c: ...here.
10655 (grub_ncurses_getkey): Fix return value if no key is detected.
10656
e51b5666
VS
106572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10660 (grub_unit_test_fini): Likewise.
10661 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10662
106632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10664
10665 * include/grub/test.h (GRUB_UNIT_TEST)
10666
d9a62292
VS
106672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10670 Better error handling.
10671 (grub_script_return): Likewise.
10672 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10673
77c9182f
VS
106742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10677 rimplicit redifinition.
10678
edb13cf9
VS
106792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10682 GRUB.
10683
a9e9dc7c
VS
106842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10687 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10688 prompt here.
10689
b4ba8e02
VS
106902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
10693 as GRUB_ERR_BUG. Don't malloc if no device is available.
10694
dded5540
VS
106952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
10698 Mark calling with invalid term as GRUB_ERR_BUG.
10699
0cf69874
VS
107002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
10703 packets rather than raising an error.
10704
59bfe502
VS
107052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
10708 in if.
10709
db5fc596
VS
107102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
10713 diagnostic to dprintf.
10714 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10715
e4b7f404
VS
107162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
10719 device name.
10720
e7b02f9e
VS
107212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
10724 (grub_ntfs_iterate_dir): Likewise.
10725
0331e102
VS
107262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 Efiemu stylistic fixes and gettext.
10729
10730 * grub-core/efiemu/i386/loadcore32.c
10731 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
10732 * grub-core/efiemu/i386/loadcore64.c
10733 (grub_arch_efiemu_relocate_symbols64): Likewise.
10734 * grub-core/efiemu/i386/pc/cfgtables.c
10735 (grub_machine_efiemu_init_tables): Likewise.
10736 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
10737 (grub_efiemu_loadcore_initXX): Add a filename argument.
10738 All users updated.
10739 Improved error message.
10740 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
10741 Add a filename argument.
10742 All users updated.
10743 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
10744 Reclassify double relocation as GRUB_ERR_BUG.
10745
306fc074
VS
107462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
10749 handling.
10750
794d8ef2
VS
107512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
10754 on partition.
10755
107562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
10757
10758 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
10759
794d8ef2 107602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
10761
10762 Improve string. Gettextize.
10763
78dde88e
VS
107642012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
10767 utils.
10768 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
10769
4786a90f
VS
107702012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
10773 [GRUB_UTIL]: New function.
10774 (insert_array) [GRUB_UTIL]: Store partmaps.
10775 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
10776 partmaps.
10777 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
10778 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
10779 (probe_abstraction): Print diskfilter and not raid.
10780 Reported by: Lennart Sorensen
10781
0b6225bd
VS
107822012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10783
10784 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
10785 * util/grub-mkimagexx.c (MASK3): New define.
10786 (add_value_to_slot_20b): Use MASK3.
10787 (add_value_to_slot_21): Likewise.
10788 (relocate_addresses): Fix format specification.
10789 (load_image): Explicitly init symtab_section.
10790
b055f8f6
VS
107912012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
10794 (grub_util_biosdisk_get_grub_dev): Fix format specification.
10795
b77c2fb7
VS
107962012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
10799 on powerpc.
10800 Reported by: Lennart Sorensen
10801
e3ec28ab
VS
108022012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 * gentpl.py: Add missing license header.
10805 * docs/grub.texi: Update copyright year.
10806
c8d9ead6
GS
108072012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
10808
10809 Source grub-mkconfig_lib from the build directory at build time.
10810 Suggested by: Vladimir Serbinenko.
10811
10812 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
10813 * util/grub-install.in: Define pkgdatadir if not already set, and source
10814 grub-mkconfig_lib from there.
10815 * util/grub-kbdcomp.in: Likewise.
10816 * util/grub-mkconfig.in: Likewise.
10817 * util/grub-mknetdir.in: Likewise.
10818 * util/grub-mkrescue.in: Likewise.
10819 * util/grub-mkstandalone.in: Likewise.
10820 * util/grub-reboot.in: Likewise.
10821 * util/grub-set-default.in: Likewise.
10822 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10823
ebcecdf1
VS
108242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 Increase warning level.
10827
10828 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
10829 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
10830 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
10831 (TARGET_CFLAGS): Likewise.
10832 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
10833 * grub-core/Makefile.core.def (decompressor_xz): Add
10834 -Wno-unreachable-code.
10835 (normal): Add -Wno-redundant-decls.
10836 (xzio): Add -Wno-unreachable-code.
10837 (lzopio): Add -Wno-redundant-decls -Wno-error.
10838 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
10839 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
10840 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
10841 * grub-core/kern/dl.c: Add exception to -Wcast-align.
10842 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
10843 * grub-core/kern/i386/coreboot/init.c: Add exception to
10844 -Wsuggest-attribute=noreturn.
10845 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
10846 * grub-core/kern/ia64/dl_helper.c: Likewise.
10847 * grub-core/kern/mips/dl.c: Likewise.
10848 * grub-core/kern/sparc64/dl.c: Likewise.
10849 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
10850 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
10851 (memcmp): Likewise.
10852 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
10853 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
10854 * grub-core/loader/mips/linux.c: Likewise.
10855 * grub-core/loader/multiboot_elfxx.c: Likewise.
10856 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
10857 * grub-core/video/sm712.c: Add exception to -Wcast-align.
10858 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
10859 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
10860 fixme.
10861 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
10862 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
10863 Fix prototype.
10864
37bb97fe
VS
108652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
10868 address.
10869
29a3550b
VS
108702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
10873 Avoid improper use of strings.
10874 (grub_cmd_legacy_initrdnounzip): Likewise.
10875
dfdffd0d
VS
108762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 * include/grub/emu/misc.h (grub_util_warn): Add missing format
10879 attribute.
10880 (grub_util_info): Likewise.
10881 (grub_util_error): Likewise.
10882
102fae4a
VS
108832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
10886 * util/grub-fstest.c (fstest): Likewise.
10887
7e94d044
VS
108882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
10891 (grub_md_sha512_real): Likewise.
10892 (grub_util_get_geli_uuid): Likewise.
10893 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
10894 (grub_util_biosdisk_open): Fix format specification.
10895 Respect format security.
10896 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
10897 (xrealloc): Likewise.
10898 (xasprintf): Likewise.
10899
5ebd9769
VS
109002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * util/import_gcry.py: Include grub/crypto.h in init.c.
10903
495fc8c1
VS
109042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
10907 (generate_image): Make prefix a const char *.
10908 Fix format specifications. Respect format security.
10909 Avoid void * arithmetics.
10910 Avoid shadowing.
10911 (argp_parser): Remove unused variable. Respect format security.
10912 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
10913 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
10914 (count_funcs): Remove unused variable.
10915 (relocate_addresses): Fix format specification.
10916 Disable x86-64 with elf32. Remove unused variables.
10917 (add_fixup_entry): Avoid shadowing.
10918 (make_reloc_section): Fix format specification.
10919 Use assert.
10920 (locate_sections): Fix format specifications.
10921 (load_image): Avoid shadowing.
10922
043c2ea3
VS
109232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
10926 Fix format specifications. Respect format security.
10927 Don't translate already translated grub_errmsg.
10928 (argp_parser): Remove unused variable
10929
3ec65a81
VS
109302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
10933
a4d9fe4a
VS
109342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
10937 (main): Likewise. Use xmalloc. Respect format security.
10938
15b81d49
VS
109392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
10942 a const char *.
10943 (argp_parser): Remove unused variable.
10944
31731fc0
VS
109452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
10948 (add_pixel): Make static.
10949 (add_font): Likewise.
10950 (write_string_section): Make name and str a const char *.
10951 (write_be16_section): Make name a const char *.
10952 (print_glyphs): Make static.
10953 (write_font_ascii_bitmap): Likewise.
10954 (write_font_width_spec): Likewise.
10955 (write_font_pf2): Likewise.
10956 (argp_parser): Remove unused variable.
10957 Respect format security.
10958 (main): Avoid shadowing. Respect format security.
10959
0809527b
VS
109602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10961
10962 * util/grub-editenv.c (argp_parser): Make static.
10963 (create_envblk_file): Use xmalloc.
10964 (open_envblk_file): Likewise.
10965 Resepect format security.
10966 (set_variables): Respect format security.
10967
45b0c8b7
VS
109682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * util/getroot.c (grub_find_device): Respect format security.
10971 (get_mdadm_uuid): Remove unused variable.
10972 (grub_util_pull_device): Dont call gettext on already translated
10973 grub_errmsg.
10974 (find_system_device): Remove unused variable.
10975 (grub_util_get_grub_dev): Likewise.
10976 (grub_make_system_path_relative_to_its_root): Respect format security.
10977
1b024b4e
VS
109782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * util/grub-fstest.c (execute_command): Make first argument
10981 a const char *.
10982 (read_file): Avoid shadowing.
10983 Reuse underlying error message if device open fails.
10984 (cmd_cmp): Respect format security.
10985 (root): Make const char *.
10986 (fstest): Remove args argument and use global copy.
10987 Respect format security.
10988 (argp_parser): Make static.
10989 (main): Make default_root const char *.
10990
5d1d4e28
VS
109912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 * util/grub-mount.c (root): Make const char *.
10994 (execute_command): Make first argument a const char *.
10995 (fuse_init): Respect format security.
10996 (argp_parser): Make static. Remove unused variable.
10997 (main): Make default_root a const char *.
10998 Respect format security.
10999
36eb7379
VS
110002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * util/grub-probe.c (probe): Don't call gettext on already translated
11003 grub_errmsg.
11004 Remove unused variables.
11005 (argp_parser): Remove unused variable.
11006
76fb2ea9
VS
110072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * util/grub-script-check.c (argp_parser): Remove unused variable.
11010 (main): Rename read to curread to avoid shadowing.
11011
56c98584
VS
110122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 * util/misc.c (grub_util_write_image_at): Fix format specification.
11015 (grub_util_write_image): Likewise.
11016 (grub_script_execute_argument_to_string): Removed (unused).
11017 (grub_script_execute_menuentry): Likewise.
11018 (grub_putchar): Likewise.
11019
164ebb48
VS
110202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11023 (FUNCTION) [GRUB_UTIL]: Likewise.
11024 (VARIABLE) [GRUB_UTIL]: Likewise.
11025
44318d61
VS
110262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11027
11028 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11029 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11030
31a26002
VS
110312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11034 buffer.
11035
110362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11039 (LzmaEnc_SaveState): Removed (unused).
11040 (LzmaEnc_RestoreState): Likewise.
11041 (LzmaEnc_InitPriceTables): Made static.
11042 (LzmaEnc_Construct): Likewise.
11043 (LzmaEnc_FreeLits): Likewise.
11044 (LzmaEnc_Destruct): Likewise.
11045 (LzmaEnc_Init): Likewise.
11046 (LzmaEnc_InitPrices): Likewise.
11047 (LzmaEnc_Finish): Likewise.
11048 (LzmaEnc_PrepareForLzma2): Removed (unused).
11049 (LzmaEnc_MemPrepare): Likewise.
11050 (LzmaEnc_GetNumAvailableBytes): Likewise.
11051 (LzmaEnc_GetCurBuf): Likewise.
11052 (LzmaEnc_CodeOneMemBlock): Likewise.
11053
6fa67967
VS
110542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11057 (grub_util_ldm_embed): Likewise.
11058
9a7428e6
VS
110592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 * util/grub-editenv.c (print_var): Rename name to varname to
11062 avoid shadowing.
11063 (main): Rename index to curindex to avoid shadowing.
31a26002 11064 Make filename a const char *.
9a7428e6 11065
4f96abd1
VS
110662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11069 to arg_getline to avoid shadowing.
11070
44d10dad
VS
110712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11074 disk_ to avoid shadowing.
11075
340ba63e
VS
110762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11079 curindex to avoid shadowing.
11080 Make static.
11081 (MatchFinder_GetNumAvailableBytes): Make static.
11082
22965bce
VS
110832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11084
11085 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11086 avoid shadowing.
11087
7b5784d4
VS
110882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11091 argument from encrypt to do_encrypt to avoid shadowing.
11092
6f48ca01
VS
110932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11096 incorrect nesting of #if's.
11097
a4ea2dff
VS
110982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11099
11100 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11101 checks which are always false on some platforms.
11102 (grub_cmd_lsacpi): Likewise.
11103 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11104 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11105 Likewise.
11106
def9fc1b
VS
111072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11110 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11111
a67b2a04
VS
111122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11115 re_dfa_t to avoid breaking alignment invariants.
11116 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11117 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11118
44c6828d
VS
111192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11122 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11123
bebe0dd0
VS
111242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11127 Fix declaration.
11128
a9cdb3cf
VS
111292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11132 conserve alignment invariants.
11133 (grub_ehci_ehcc_read16): Likewise.
11134 (grub_ehci_oper_read32): Likewise.
11135 (grub_ehci_oper_write32): Likewise.
11136 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11137 Conserve alignment invariants.
11138
ccc3b1b8
VS
111392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11140
11141 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11142 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11143 declarations.
11144
987fbd95
VS
111452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11148 Remove unused variable.
11149
0df363f3
VS
111502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11153 Remove set in if.
11154
b2c0c4a6
VS
111552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * include/grub/net.h: Remove double declarations.
11158
690c531f
VS
111592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 Remove "payload" command in ia64 Linux loader since I couldn't
11162 find any evidence of it being used for anything.
11163 Replace "relocate" command with an environment variable
11164
11165 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11166 fields.
11167 (ia64_boot_payload): Removed.
11168 (last_payload): Likewise.
11169 (RELOCATE_OFF): Likewise.
11170 (RELOCATE_ON): Likewise.
11171 (RELOCATE_FORCE): Likewise.
11172 (relocate): Likewise.
11173 (free_pages): Don't free payloads.
11174 (grub_load_elf64): Use common error messages.
11175 Use "linux_relocate" variable.
11176 Increase the space after boot_params.
11177 (grub_cmd_payload): Removed.
11178 (grub_cmd_relocate): Likewise.
11179 (grub_cmd_fpswa): Improve messages.
11180 (cmd_payload): Removed.
11181 (cmd_relocate): Likewise.
11182 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11183 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11184
01783768
VS
111852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 Convert UHCI to DMA framework.
11188
11189 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11190 (grub_uhci_pci_iter): Fill new members
11191 (grub_alloc_td): Use P2V and V2P functions.
11192 (grub_free_queue): Likewise.
11193 (grub_alloc_qh): Likewise.
11194 (grub_uhci_setup_transfer): Likewise.
11195 (grub_uhci_check_transfer): Likewise.
11196
43206939
VS
111972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11200 Remove assignment in if while on it.
11201
571e140e
VS
112022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * util/grub-mkstandalone.in: Fix modules directory.
11205
a9d96eeb
VS
112062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11209 on i386-pc target.
11210 (argp_parser): Accept "auto" as compression specification.
11211
e4e37e8d
VS
112122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 Fix `help' with unloaded modules.
11215
11216 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11217 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11218 (grub_dyncmd_dispatcher): Small stylistic fix.
11219 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11220 explicit help is requested.
11221
e1ea3ade
VS
112222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11225 Explicitly init restart while on it.
11226
27556881
VS
112272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11230 uninited variable.
11231
d65f6b36
VS
112322012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * util/grub-mknetdir.in: Use . rather than source for POSIX
11235 compatibility.
11236
0a1e473c
VS
112372012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11240
ce6647c8
VS
112412012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11242
11243 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11244 variable.
11245
66747894
VS
112462012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11249 without quotes.
11250
71645f6e
VS
112512012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11254
0e1c1f61
VS
112552012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11258 iteration of partitions.
11259
9c4b5c13
VS
112602012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 Improve gettext support. Stylistic fixes and error handling fixes while
11263 on it.
11264
215c90cb
VS
112652012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11268 part. Instead setup the correct stack in RM.
11269 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11270 for stack.
11271 * include/grub/i386/relocator_private.h: New file.
11272
b5c1f9bf
VS
112732012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11276 argument.
11277 * util/grub-fstest.c (options): Add missing DEVICE part.
11278
b525fd83
VS
112792012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 Clarify and unify messages.
11282
11283 * grub-core/commands/hashsum.c (options): Unify messages.
11284 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11285 literal-only message as translatable.
11286 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11287 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11288 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11289 commands.
11290 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11291 key, not the key used to unlock. Clarify what it's used for.
11292 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11293 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11294 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11295 * util/grub-editenv.c (options): Unify "verbose" message.
11296 * util/grub-fstest.c (read_file): Unify error message.
11297 (fstest): Add quotes around commands.
11298 (options): Unify "verbose" message.
11299 * util/grub-install.in: Add quotes around variable name.
11300 * util/grub-kbdcomp.in: Unify error message.
11301 * util/grub-mkfont.c (main): Likewise.
11302 * util/grub-mkrescue.in: Likewise.
11303 * util/grub-mklayout.c (options): Unify "verbose" message.
11304 * util/grub-mkstandalone.in: Unify help and verbose messages.
11305 * util/grub-mount.c (options): Unify "verbose" message.
11306 * util/grub-probe.c (options): Likewise.
11307 * util/grub-script-check.c (options): Likewise.
11308 * util/grub-setup.c (setup): Unify no-terminator message.
11309 (options): Use DEVICE and not DEV.
11310 Unify "verbose" message.
11311 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11312
0ae70393
VS
113132012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 Improve and unify messages.
11316
11317 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11318 name. All users updated.
11319 Print filename in error.
11320 (read_device_map): Print filename in error.
11321 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11322 (grub_util_get_os_disk): Likewise.
11323 (grub_util_biosdisk_get_grub_dev): Likewise.
11324 (grub_util_check_block_device): Likewise.
11325 (grub_util_check_char_device): Likewise.
11326 (grub_make_system_path_relative_to_its_root): Likewise.
11327 * util/grub-editenv.c (create_envblk_file): Likewise.
11328 (open_envblk_file): Likewise.
11329 (write_envblk): Likewise.
11330 * util/grub-fstest.c (cmd_cp): Likewise.
11331 (cmd_cat): Likewise.
11332 (cmd_cmp): Likewise.
11333 * util/grub-menulst2cfg.c (main): Likewise.
11334 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11335 (write_font_width_spec): Likewise.
11336 (write_font_pf2): Likewise.
11337 * util/grub-mkimage.c (generate_image): New argument outname.
11338 All users updated.
11339 Remove unreacheable message.
11340 (options): Unify messages.
11341 (help_filter): Likewise.
11342 * util/grub-mklayout.c (usage): Removed (unused).
11343 (main): Print filename in error.
11344 * util/grub-mkrescue.in: Fix wrong quoting.
11345 * util/grub-setup.c (setup): Print filename in error.
11346 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11347 (check_sas): Likewise.
11348 * util/misc.c (grub_util_get_fp_size): Removed.
11349 (grub_util_get_image_size): Print filename in error.
11350 (grub_util_read_at): Removed.
11351 (grub_util_read_image): Print filename in error.
11352 (grub_util_load_image): Likewise.
11353 (grub_util_write_image_at): New argument filename. All users updated.
11354 Print filename in error.
11355 (grub_util_write_image): New argument filename. All users updated.
11356 Print filename in error.
11357 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11358 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11359
0a96117d
VS
113602012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11361
11362 * grub-core/Makefile.core.def (pxechain): New module.
11363 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11364 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11365 function.
11366 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11367 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11368
aca002f7
VS
113692012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11372 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11373 * include/grub/err.h (grub_error_saved): New struct.
11374 (grub_errmsg): Make array size explicit.
11375 * include/grub/misc.h (grub_error_save): New function.
11376 (grub_error_load): Likewise.
11377 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11378 (grub_error_push): Update `errno' member name.
11379 (grub_error_pop): Likewise
11380 * grub-core/net/tftp.c (tftp_data): New member save_err.
11381 (tftp_receive): Save error.
11382 (tftp_open): Restore error.
11383
a51dab13
VS
113842012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11387 to real mode down to execute A20-related code in protected mode as
11388 intended.
11389
eb6e6649
GS
113902012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11391
11392 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11393 NULL when the argument `level' has an unexpected value.
11394
92cd0f6e
VS
113952012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 Move platform-dependent files from $prefix to $prefix/$platform.
11398
11399 * config.h.in (GRUB_TARGET_CPU): New definition.
11400 (GRUB_PLATFORM): Likewise.
11401 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11402 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11403 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11404 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11405 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11406 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11407 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11408 * grub-core/normal/term.c (read_terminal_list): Likewise.
11409 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11410 $prefix/locale.
11411 (grub_gettext_init_ext): Likewise.
11412 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11413 grub_platform.
11414 * util/grub-install.in: Update directories.
11415 * util/grub-mknetdir.in: Likewise.
11416 * util/grub-mkrescue.in: Likewise.
11417
db606889
VS
114182012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11421 grub_error framework. All users updated.
11422
c39992a4
VS
114232012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11426 lists (by always binsearching), improve caching (cache strings
11427 used for binsearch, not only results), improve
11428 maintainability (by using more structured binary search) and correct
11429 error handling.
11430
1e5ec32f
VS
114312012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 * grub-core/script/execute.c (grub_script_return): Fix warning.
11434
ac576cde
VS
114352012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * grub-core/script/execute.c (grub_script_return): Fix potential
11438 NULL-dereference.
11439 Reported by: Jim Meyering.
11440
498453f6
VS
114412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * po/POTFILES.in: Regenerate.
11444 * util/grub-install.in: Gettextize the strings missed in first pass.
11445
8be63f2e
VS
114462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 * Makefile.util.def (grub-mkdevicemap): Removed.
11449 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11450 * include/grub/util/deviceiter.h: Removed.
11451 * util/deviceiter.c: Likewise.
11452 * util/getroot.c (grub_util_get_os_disk): New function.
11453 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11454 replacement for EFI.
11455 * util/grub-mkdevicemap.c: Removed.
11456 * util/grub-probe.c (probe): Handle PRINT_DISK.
11457 (argp_parser): Handle -t disk.
11458
8e1e4e39
VS
114592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11460
11461 * util/grub-mkfont.c: Migrate to argp.
11462 * util/grub-mklayout.c: Likewise.
11463 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11464 * util/grub-mkrelpath.c: Likewise.
11465 * util/grub-probe.c: Likewise.
11466 * util/grub-script-check.c: Likewise.
11467
4459819a
VS
114682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11469
11470 * util/grub-reboot.in: Add missing datarootdir.
11471 Add missing newline.
11472 * util/grub-set-default.in: Add missing datarootdir.
11473 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11474 * util/grub-mkrescue.in: Likewise.
11475
f65741c7
VS
114762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11479
c1a33466
VS
114802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * util/grub-kbdcomp.in: Add decent help and gettextize.
11483 * docs/man/grub-kbdcomp.h2m: New file.
11484
c76899a0
VS
114852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 Migrate grub-mkimage.c to argp.
11488
11489 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11490 (grub-setup): Likewise.
11491 * util/grub-setup.c (print_version): Move to ...
11492 * util/argp_common.c (print_version): ... here.
11493 * util/grub-setup.c (argp_program_version_hook): Move to ...
11494 * util/argp_common.c (argp_program_version_hook): ... here.
11495 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11496 safety.
11497 * util/grub-mkimage.c (main): Migrate to argp.
11498
57db0757
VS
114992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * util/grub-mkrescue.in: Use same message as
11502 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11503 for better translations.
11504
18534ad9
VS
115052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11508 options with generic grub-mkrescue.in with the goal of future
11509 merge.
11510
c84ba308
VS
115112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 * grub-core/kern/mm.c: Add missing include of i18n.h
11514 * grub-core/lib/relocator.c: Likewise.
11515
347998c2
VS
115162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11517
11518 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11519 error.
11520 (allocate_pages): Check return value.
11521 Replace fatal with error.
11522 (grub_linux_boot): Replace printf with dprintf.
11523 Check find_mmap_size return value.
11524 Replace fatal with error.
11525 Don't call grub_machine_fini.
11526 (grub_load_elf64): Replace printf with dprintf.
11527 (grub_cmd_linux): Likewise.
11528 (grub_cmd_initrd): Likewise.
11529 (grub_cmd_payload): Likewise.
11530
c779226e
VS
115312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11534 message.
11535 * grub-core/video/radeon_fuloong2e.c
11536 (grub_video_radeon_fuloong2e_setup): Likewise.
11537 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11538 * grub-core/video/video.c (grub_video_set_mode): Don't override
11539 standard out of memory message.
11540
dc87d45a
GS
115412012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11542
11543 NetBSD disk wedge support.
11544
11545 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11546 [__NetBSD__]: Handle NetBSD disk wedges.
11547 * util/getroot.c (convert_system_partition_to_system_disk)
11548 [__NetBSD__]: Likewise.
11549
055f856f
MW
115502012-02-03 Mark Wooding <mdw@distorted.org.uk>
11551
11552 * util/grub-mkconfig.in: Use umask rather than chmod to create
11553 grub.cfg.new to avoid insecure grub.cfg.
11554
4a9f8346
VS
115552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * grub-core/commands/ls.c: Gettextize.
11558 * grub-core/commands/setpci.c: Likewise.
11559 * grub-core/commands/videotest.c: Likewise.
11560 * grub-core/disk/geli.c: Likewise.
11561 * grub-core/kern/mm.c: Likewise.
11562 * grub-core/lib/relocator.c: Likewise.
11563 * grub-core/loader/efi/appleloader.c: Likewise.
11564 * grub-core/loader/i386/xnu.c: Likewise.
11565 * grub-core/loader/ia64/efi/linux.c: Likewise.
11566 * grub-core/loader/xnu.c: Likewise.
11567 * grub-core/net/dns.c: Likewise.
11568 * grub-core/net/net.c: Likewise.
11569 * grub-core/script/lexer.c: Likewise.
11570 * grub-core/script/parser.y: Likewise.
11571 * grub-core/script/yylex.l: Likewise.
11572 * util/getroot.c: Likewise.
11573 * util/grub-setup.c: Likewise.
11574
a646a366
VS
115752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11578 number.
11579
54e2be26
VS
115802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11583
f7c71e68
VS
115842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11587 macro.
11588 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11589 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11590
a32d5c71
VS
115912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11594 * util/grub-install.in: Gettextize.
11595 * util/grub-mkconfig.in: Likewise.
11596 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11597 if not available.
11598 (grub_warn): Gettextize.
11599 * util/grub-mknetdir.in: Gettextize.
11600 * util/grub-mkrescue.in: Likewise.
11601 * util/grub-mkstandalone.in: Likewise.
11602 * util/grub-reboot.in: Likewise.
11603 * util/grub-set-default.in: Likewise.
11604 * util/grub.d/00_header.in: Likewise.
11605 * util/grub.d/10_hurd.in: Likewise.
11606 * util/grub.d/10_kfreebsd.in: Likewise.
11607 * util/grub.d/10_linux.in: Likewise.
11608 * util/grub.d/10_netbsd.in: Likewise.
11609 * util/grub.d/10_windows.in: Likewise.
11610 * util/grub.d/20_linux_xen.in: Likewise.
11611 * util/grub.d/30_os-prober.in: Likewise.
11612 * po/POTFILES-shell.in: Regenerate.
11613
69edd81a
RL
116142012-02-03 Richard Laager <rlaager@wiktel.com>
11615
11616 * util/grub-mkimage.c (main): Fix format-security warning.
11617 * util/grub-mkrelpath.c (main): Likewise.
11618 * util/grub-probe.c (main): Likewise.
11619
65f08dbf
RL
116202012-02-03 Richard Laager <rlaager@wiktel.com>
11621
11622 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11623 failure.
11624 Put back lost PRINT_DRIVE.
11625
e9084abe
RL
116262012-02-03 Richard Laager <rlaager@wiktel.com>
11627
11628 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11629 (grub_guess_root_devices): Replace strlen with sizeof.
11630 Avoid crash.
11631 (find_root_devices_from_poolname): Remove unused variable.
11632 Handle raidzN.
11633
cf5f7ee7
VS
116342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 Support install on multi-device filesystems.
11637
11638 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11639 (grub_guess_root_devices): ...this. Return char **. All users updated.
11640 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11641 Removed.
11642 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11643 (find_root_devices_from_poolname): ... here.
11644 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11645 Support zfs-fuse.
11646 (grub_guess_root_device): Rename to ...
11647 (grub_guess_root_devices): ... this. Return char **. All users updated.
11648 * util/grub-install.in: Handle multi-device filesystems.
11649 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11650 argument. All users updated.
11651 Handle multi-device filesystems.
11652 Use 'delim' as separator.
11653 Remove device check to allow filesystems on file.
11654 (main): Support -0 argument. Handle multi-device.
11655 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11656 Fix a cross-device check while on it.
11657 (arguments): Remove root_dev.
11658 (argp_parser): Remove -r.
11659 (main): Remove root_dev.
11660
2f53a9ed
VS
116612012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11664
17e1d934
VS
116652012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11668 symbol.
11669 Reported by: NODA, Kai <nodakai>.
11670
d3e3fab5
VS
116712012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 Fix ehci on amd64.
11674
11675 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11676 pointers.
11677 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11678 (grub_ehci_setup_qh): Likewise.
11679 (grub_ehci_find_qh): Likewise.
11680 (grub_ehci_transaction): Likewise.
11681 (grub_ehci_setup_transfer): Likewise.
11682 (grub_ehci_check_transfer): Likewise.
11683 (grub_ehci_portstatus): Likewise.
11684 (grub_ehci_detect_dev): Likewise.
11685 (grub_ehci_transfer_controller_data): New field td_last_phys.
11686 (grub_ehci_setup_transfer): Fill td_last_phys.
11687 (grub_ehci_check_transfer): Use td_last_phys.
11688
3008675b
SG
116892012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11690
11691 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
11692 if no submenu is present.
11693
fc9b5652
AN
116942012-02-01 Aleš Nesrsta <starous@volny.cz>
11695
11696 CBI support.
11697
11698 * include/grub/usb.h (grub_usbms_protocol_t): New values
11699 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
11700 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
11701 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
11702 (grub_usbms_dev): Add subclass, protocol and intrpt.
11703 Remove in_maxsz and out_maxsz.
11704 (grub_usbms_reset): Rename to ...
11705 (grub_usbms_bo_reset): .. this.
11706 (grub_usbms_cbi_cmd): New function.
11707 (grub_usbms_cbi_reset): Likewise.
11708 (grub_usbms_reset): Likewise.
11709 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
11710 (grub_usbms_transfer): Rename to ...
11711 (grub_usbms_transfer_bo): ... this.
11712 (grub_usbms_transfer_cbi): Likewise.
11713 (grub_usbms_transfer): Likewise.
11714
a2b81d53
AN
117152012-02-01 Aleš Nesrsta <starous@volny.cz>
117162012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
11719 the support for the CS5536 modification thereos and few bugfixes.
11720
11721 * grub-core/Makefile.core.def (ehci): New module.
11722 * grub-core/bus/usb/ehci.c: New file.
11723 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
11724 port and hubaddr. All users updated.
11725 Save port and hubaddr into dev structure.
11726 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
11727 define.
11728 * include/grub/pci.h (grub_dma_phys2virt): New function.
11729 (grub_dma_virt2phys): Likewise.
11730 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
11731
b1d51f02
VS
117322012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
11735 check as some mkfs implementations omit it.
11736
fc694106
VS
117372012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 * docs/grub.texi (Unicode): Mention identifier and space limitations.
11740
6c0920e3
VS
117412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
11744 Add new member volname2.
11745 (grub_jfs_label): Use volname2 if available.
11746
d1a46f9a
VS
117472012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
11750 over last_mounted as seen in image generated by mkfs.nilfs2.
11751 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
11752
dec8ed14
VS
117532012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11754
11755 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
11756 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
11757 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
11758
7397c69b
VS
117592012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
11762 over the sector.
11763
b3fe42ad
VS
117642012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
11767 subvolume name (by removing a bogus and useless check).
11768
10476bb0
VS
117692012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11770
11771 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
11772 sizeof while on it.
11773
9c08ad87
VS
117742012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
11777 (grub_scsi_read_capacity10): ... this.
11778 (grub_scsi_read_capacity16): New function.
11779 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
11780 0xffffffff.
11781 Fix off-by-one error.
11782 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
11783 64-bit unsigned.
11784 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
11785 (grub_scsi_read_capacity10): ... this.
11786 (grub_scsi_read_capacity_data): Rename to ...
11787 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
11788 (grub_scsi_read_capacity16): New struct.
11789 (grub_scsi_read_capacity16_data): Likewise.
11790 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
11791 grub_scsi_cmd_read_capacity10.
11792 New command grub_scsi_cmd_read_capacity16.
11793
bc8d0f45
VS
117942012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 SCSI >2TiB support.
11797
11798 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
11799 (grub_scsi_write16): Likewise.
11800 (grub_scsi_read): Use read16 when necessary.
11801 (grub_scsi_write): Likewise.
11802 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
11803 (grub_scsi_write16): Likewise.
11804 (grub_scsi_cmd_t): Add READ16 and WRITE16.
11805
cc774926
VS
118062012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 SCSI write support (for usbms mainly).
11809
11810 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
11811 a const pointer.
11812 (grub_scsi_write): Implement.
11813 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
11814
67639fd7
VS
118152012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
11818 variable.
11819
9079d3ed
VS
118202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * grub-core/lib/posix_wrap/string.h (memchr): New function.
11823
c6a6f204
VS
118242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11825
11826 * po/POTFILES.in: Regenerate.
11827
ecbf8cd1
VS
118282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
11831 with grub_printf to avoid unnecessary fatal failure.
11832
0b3b3b38
VS
118332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
11836 (INT_MAX): Likewise.
11837 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
11838 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
11839 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
11840 (strcpy): Likewise.
11841 (strstr): Likewise.
11842 (strchr): Likewise.
11843 (strncpy): Likewise.
11844 (strcat): Likewise.
11845 (strncat): Likewise.
11846 (strcoll): Likewise.
11847 * include/grub/types.h (GRUB_SHRT_MAX): New define.
11848 (GRUB_INT_MAX): Likewise.
11849
db7337a3
VS
118502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11851
11852 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
11853 unexpected error.
11854 (optimize_utf8): Likewise.
11855 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
11856
f37c87e1
VS
118572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 * grub-core/boot/i386/pc/lnxboot.S: Use
11860 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
11861 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
11862 location.
11863 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
11864 definition.
11865 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
11866
63fe43f3
VS
118672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
11870 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
11871 now to avoid double free.
11872 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
11873 hostdisk.
11874 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
11875 * util/grub-probe.c (escape_of_path): Always return a new copy.
11876 (print_full_name): Escape path.
11877 (probe): Don't call grub_util_devname_to_ofpath on NULL.
11878 Fix hints on abstractions.
11879
ebe2c961
VS
118802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
11883 Don't add "root" line if no compatibility hont is available.
11884 Suggested by: Seth Goldberg.
11885
2b5336a2
VS
118862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
11889 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
11890 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
11891 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
11892
74310bd8
VS
118932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11894
11895 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
11896
c30582ba
VS
118972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 * util/grub-pe2elf.c (ehdr): Make static.
11900 (shdr): Likewise.
11901 (num_sections): Likewise.
11902 (offset): Likewise.
11903
5f47782c
VS
119042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 Eliminate ofpath limits and possible overflows.
11907
11908 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
11909 (OF_PATH_MAX): Removed.
11910 (MAX_DISK_CAT): New const.
11911 (find_obppath): Use allocated rather than preallocated buffer.
11912 Return result. Argument of_path removed. All users updated.
11913 Add missing fdstat.
11914 (xrealpath): New function.
11915 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
11916 Allocate rather than use preallocated buffer. All users updated.
11917 (__of_path_common): Use allocated rather than preallocatecd buffer.
11918 Return result. Argument of_path removed. All users updated.
11919 (vendor_is_ATA): Read only needed part form the file.
11920 (check_sas): Allocate depending on contents rather than fixed.
11921 (main) [STANDALONE]: Handle NULL result.
11922
f990cbf9
VS
119232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 * grub-core/normal/completion.c (iterate_dev): Close the disk.
11926
9c6e84b8
VS
119272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11928
11929 Cryptodisk write support.
11930
11931 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
11932 (grub_cryptodisk_decrypt): Moved logic to ...
11933 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
11934 (grub_cryptodisk_write): Implement.
11935 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
11936 (grub_util_fd_write): ... this. Make global.
11937 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
11938
87cf9744
VS
119392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11940
11941 * include/grub/list.h (grub_list_remove): Don't crash if element is
11942 removed twice.
11943
ca8c0baf
VS
119442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 Rename ofconsole to console.
11947
11948 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
11949 as sysnonym to console.
11950 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
11951 * grub-core/term/ieee1275/console.c: ... this. All users updated.
11952 Rename grub_ofconsole_ to grub_console_. All users updated
11953 (grub_console_term_output): Rename "ofconsole" to "console".
11954 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
11955 as "console".
11956
64c8b8f6
VS
119572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
11960 handling.
11961 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
11962 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
11963 GRUB_DISK_DEVICE_FILE_ID.
11964
f6c434d5
VS
119652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
11968 and improve performance.
11969
5858b42d
VS
119702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
11973 missing ieee1275/ prefix on whole disk.
11974
4ed3c26b
VS
119752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
11978 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
11979
df71143e
VS
119802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
11983
076e7c0f
VS
119842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 Merge common RAID and LVM logic to an abstract diskfilter.
11987 Add LDM support using the same framework.
11988
11989 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
11990 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
11991 (libgrubmods): Remove grub-core/disk/raid.c and
11992 grub-core/partmap/gpt.c.
11993 * grub-core/Makefile.core.def (ldm): New module.
11994 (raid): Renamed to diskfilter. All users updated.
11995 * grub-core/disk/raid.c: Moved to ...
11996 * grub-core/disk/diskfilter.c: ... here.
11997 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
11998 (lv_num): New var.
11999 (find_array): Renamed to ...
12000 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12001 (grub_is_array_readable): Renamed to ...
12002 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12003 (insert_array): New argument id.
12004 (is_node_readable): New function.
12005 (scan_device): Rename to ...
12006 (scan_disk): .. this. Restrict to one disk.
12007 (scan_devices): New function.
12008 (grub_diskfilter_iterate): Support multi-LV.
12009 Skip invisible and nameless LVs.
12010 (grub_diskfilter_memberlist): Support multi-LV.
12011 (grub_diskfilter_read_node): New function.
12012 (grub_raid_read): Most of logic moved to ...
12013 (read_segment): ... here
12014 (read_lv): New function.
12015 (grub_diskfilter_get_vg_by_uuid): New function.
12016 (grub_diskfilter_make_raid): Likewise.
12017 * grub-core/disk/ldm.c: New file.
12018 * grub-core/disk/lvm.c (vg_list): Removed.
12019 (lv_count): Likewise.
12020 (scan_depth): Likewise.
12021 (is_lv_readable): Likewise.
12022 (grub_lvm_getvalue): Advance pointer past the number.
12023 (find_lv): Removed.
12024 (do_lvm_scan): Refactored into ...
12025 (grub_lvm_detect): ... this. Support raid.
12026 (grub_lvm_iterate): Removed.
12027 (grub_lvm_memberlist): Likewise.
12028 (grub_lvm_open): Likewise.
12029 (grub_lvm_close): Likewise.
12030 (read_lv): Likewise.
12031 (read_node): Likewise.
12032 (is_node_readable): Likewise.
12033 (is_lv_readable): Likewise.
12034 (grub_lvm_read): Likewise.
12035 (grub_lvm_write): Likewise.
12036 (grub_lvm_dev): Use diskfilter
12037 (GRUB_MOD_INIT): Likewise.
12038 (GRUB_MOD_FINI): Likewise.
12039 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12040 new interface.
12041 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12042 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12043 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12044 grub_diskfilter_read_node.
12045 Fix a bug with xor.
12046 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12047 grub_diskfilter_read_node.
12048 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12049 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12050 (grub_disk_dev_iterate): Move from here...
12051 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12052 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12053 Make global.
12054 (grub_hostdisk_find_partition_start): Likewise.
12055 (grub_hostdisk_os_dev_to_grub_drive): New function.
12056 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12057 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12058 * util/getroot.c (make_device_name): ... here.
12059 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12060 Move to ...
12061 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12062 * grub-core/kern/emu/hostdisk.c
12063 (convert_system_partition_to_system_disk): Move to ...
12064 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12065 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12066 * util/getroot.c (device_is_wholedisk): ... here.
12067 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12068 * util/getroot.c (find_system_device): ... here.
12069 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12070 Move to ...
12071 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12072 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12073 Move to ...
12074 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12075 Handle LDM.
12076 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12077 Move to ...
12078 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12079 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12080 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12081 DISKFILTER.
12082 * include/grub/raid.h: Renamed to ...
12083 * include/grub/diskfilter.h: ... this.
12084 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12085 (GRUB_RAID_LAYOUT_*): Make into array.
12086 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12087 (grub_diskfilter_vg): New struct.
12088 (grub_diskfilter_pv_id): Likewise.
12089 (grub_raid_member): Removed.
12090 (grub_raid_array): Likewise.
12091 (grub_diskfilter_pv): New struct.
12092 (grub_diskfilter_lv): Likewise.
12093 (grub_diskfilter_segment): Likewise.
12094 (grub_diskfilter_node): Likewise.
12095 (grub_diskfilter_get_vg_by_uuid): New proto.
12096 (grub_raid_register): Inline.
12097 (grub_diskfilter_unregister): Likewise.
12098 (grub_diskfilter_make_raid): New proto.
12099 (grub_diskfilter_vg_register): Likewise.
12100 (grub_diskfilter_read_node): Likewise.
12101 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12102 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12103 (grub_util_is_ldm): Likewise.
12104 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12105 (grub_hostdisk_find_partition_start): Likewise.
12106 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12107 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12108 New definition.
12109 (grub_gpt_partition_map_iterate): New proto.
12110 * include/grub/lvm.h (grub_lvm_vg): Removed.
12111 (grub_lvm_pv): Likewise.
12112 (grub_lvm_lv): Likewise.
12113 (grub_lvm_segment): Likewise.
12114 (grub_lvm_node): Likewise.
12115 * util/getroot.c [...]
12116 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12117 (probe_abstraction): Likewise.
12118 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12119 (main): Remove dead logic.
12120
8a7f9b9c
VS
121212012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 Simplify root device discover and don't fail when trying to open
12124 incorrect devices.
12125
12126 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12127 function.
12128 (get_diskname_from_path): Likewise.
12129 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12130 of iterating.
12131
30545b85
VS
121322012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12133
12134 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12135
28ea58cf
VS
121362012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12139 pastthe end.
12140
692dabca
VS
121412012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 * util/grub-install.in: Add missing \.
12144 Reported by: gentoofan
12145
f6e4ea70
VS
121462012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12147
12148 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12149 (direct_read): Use correct compressed size.
12150 (grub_squash_read_data): Likewise.
12151
121522012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12153
12154 * docs/grub.texi (Platform limitations): New section.
12155 (Platform-specific operations): Likewise.
12156 * docs/grub-dev.texi (Porting): Likewise.
12157
76261110
VS
121582012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 IEEE1275 disk write support.
12161
12162 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12163 const void *.
12164 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12165 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12166 and seek loginc to ...
12167 (grub_ofdisk_prepare): ... here.
12168 (grub_ofdisk_write): Implement.
12169
fc36d603
VS
121702012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 ARC disk write support.
12173
12174 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12175 (reopen): New argument writable. All users updated.
12176 Handle required access mode.
12177 (grub_arcdisk_write): Implement.
12178 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12179 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12180
e06c2e7a
VS
121812012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12184 (read_sblock): Don't attempt to read superblocks outside the disk size.
12185
ff447958
VS
121862012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12189 first superblock to find the second one when possible.
12190
9e88df39
VS
121912012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12192
12193 * util/grub-install.in: Fix an ARC bug.
12194 Print a warning if no platform-specific setup is available.
12195
bb26e4ff
VS
121962012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 Use static allocation rather than scratch pointer in reed_solomon.
12199 It decreases its size significantly and avoids a variable in .text.
12200
12201 * grub-core/lib/reed_solomon.c (scratch): Removed.
12202 (chosenstat): New const or static array.
12203 (sigma): Likewise.
12204 (errpot): Likewise.
12205 (errpos): Likewise.
12206 (sy): Likewise.
12207 (mstat): Likewise.
12208 (errvals): Likewise.
12209 (eqstat): Likewise.
12210 (pol_evaluate): Replace x with log_x argument. All users updated.
12211 (syndroms): Removed.
12212 (gauss_solve): Use statically allocated arrays.
12213 (rs_recover): Likewise.
12214 Calculate syndroms directly.
12215 (decode_block): Use statically allocated arrays.
12216 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12217 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12218
2e13ede5
VS
122192012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 Eliminate fixed limit on reed solomon decoder length.
12222
12223 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12224 rather than hardcoding the address.
12225 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12226 no_reed_solomon_length.
12227 Move gate_a20 to no-reed-solomon part.
12228 Don't force a particular size of no reed-solomon part.
12229 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12230 Removed.
12231 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12232 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12233
f8a9ab12
VS
122342012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * grub-core/commands/wildcard.c (match_files): Handle filenames
12237 without explicit device.
12238 (wildcard_expand): Don't add explicit device if not already present.
12239 * tests/grub_script_echo1.in: Add a new expansion test.
12240
87edb894
VS
122412012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 Replace single-linked with double-linked lists. It results in more
12244 compact and more efficient code.
12245
12246 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12247 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12248 (grub_list_remove): Moved from here ...
12249 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12250 (grub_prio_list_insert): Set prev.
12251 * include/grub/list.h (grub_list): Add prev. All users updated.
12252
48b391e9
VS
122532012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 Handle newer autotools. Add some missing quotes while on it.
12256
12257 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12258 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12259 (pkgdata_DATA): ... here.
12260 * Makefile.util.def (update-grub_lib): Removed.
12261 * conf/Makefile.common (pkglib_DATA): Removed.
12262 (pkglib_SCRIPTS): Likewise.
12263 (pkgdata_DATA): New variable.
12264 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12265 needed.
12266 Add missing quotes.
12267 Remove unused variable while on it.
12268 * tests/util/grub-shell.in: Likewise.
12269 * util/grub-install.in: Likewise.
12270 * util/grub-mkconfig.in: Likewise.
12271 * util/grub-mknetdir.in: Likewise.
12272 * util/grub-mkrescue.in: Likewise.
12273 * util/grub-mkstandalone.in: Likewise.
12274 * util/grub.d/00_header.in: Likewise.
12275 * util/grub.d/10_hurd.in: Likewise.
12276 * util/grub.d/10_illumos.in: Likewise.
12277 * util/grub.d/10_kfreebsd.in: Likewise.
12278 * util/grub.d/10_linux.in: Likewise.
12279 * util/grub.d/10_netbsd.in: Likewise.
12280 * util/grub.d/10_windows.in: Likewise.
12281 * util/grub.d/20_linux_xen.in: Likewise.
12282 * util/grub.d/30_os-prober.in: Likewise.
12283 * util/update-grub_lib.in: Removed.
12284
122852012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12286
12287 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12288 a workaround for intel problem.
12289
66832792
PRP
122902012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
122912012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
122922012-01-23 pfsmorigo
12293
12294 * util/grub-install.in: Support dd'in into PreP partition.
12295 * util/grub-probe.c (probe): Support discovering partition type.
12296 (main): Support -t msdos_parttype.
12297
7816a17e
VS
122982012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12301 infinite recursion using counter.
12302 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12303 init to skip it if the magic check fails.
12304 (dec_stream_header): Init s->crc32.
12305
8f9d3a8c
ZB
123062012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
123072012-01-22 Zachary Bedell <pendorbound@gmail.com>
123082012-01-22 Richard Laager <rlaager@wiktel.com>
12309
12310 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12311 All users updated.
12312 (find_bestub): Determine correct size.
12313 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12314 (scan_disk): Align the size down.
12315 Call check pool before find_bestub to have ashift.
12316
b055dd32
VS
123172012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12318
12319 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12320 dprintf in no-malloc zone.
12321
d779e9bd
ML
123222012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12323
12324 * configure.ac: Add back in test for limits.h.
12325
b508af69
VS
123262012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12327
12328 Support 4K-sector NTFS.
12329
12330 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12331 (grub_ntfs_data): Remove blocksize.
12332 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12333 Remove data argument. All users updated.
12334
dad9c8b5
VS
123352012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12338 being in .text to avoid dprel references.
12339 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12340 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12341 (grub_arch_highmemsize): Likewise.
12342 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12343 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12344 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12345
d43a777e
VS
123462012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12349
12350 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12351 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12352
34e4208f
VS
123532012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12354
12355 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12356 GRUB_UTIL.
12357 (grub_set_datetime_cmos): Likewise.
12358
3ec0fc1c
VS
123592012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12360
12361 Make XZ compression parameters dependent on target and not host CPU.
12362
12363 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12364 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12365
22489834
VS
123662012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12367
12368 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12369 set but not used variable.
12370
8502fbca
VS
123712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12372
12373 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12374 created when no uuid support is compiled into mkfs.reiser.
12375
76df2068
VS
123762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12379 (utf8_to_macroman): Do the opposite.
12380 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12381
64e3f8f6
VS
123822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 * configure.ac: Refise build qemu_mips w/o unifont.
12385
9c271078
VS
123862012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 Eliminate grub_min/grub_max prone to overflow usage.
12389
12390 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12391 (poll_nonroot_hub): Likewise.
12392 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12393 (grub_affs_label): Likewise.
12394 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12395 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12396 (grub_hfs_label): Likewise.
12397 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12398 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12399 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12400 (zap_leaf_array_get): Likewise.
12401 (dnode_get_path): Likewise.
12402 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12403 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12404 * grub-core/script/execute.c (grub_script_break): Likewise.
12405 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12406 grub_max.
12407 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12408 * include/grub/misc.h (grub_min): Removed.
12409 (grub_max): Likewise.
12410
80662dbc
VS
124112012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12412
12413 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12414 direct.inode = 0.
12415
e6da1467
VS
124162012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12419
b1ac4cb1
VS
124202012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12423
b4bf7c3b
VS
124242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12427 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12428
8ee1101a
VS
124292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12432 rather than a hack for grub_strncasemap.
12433
124342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 Support multiple initrds
12437 Note: part of this was accidently committed in r3739.
12438
12439 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12440 initrd.
12441 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12442 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12443 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12444 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12445 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12446
4d1e2bc9
VS
124472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12448
12449 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12450 disks with unknown size.
12451 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12452
75b49ebe
VS
124532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 Remove defines pertaining to arbitrary limits not affecting GRUB
12456 anymore.
12457
12458 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12459 (EXT2_MAX_SYMLINKCNT): Likewise.
12460 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12461 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12462 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12463 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12464 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12465 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12466 (DN_MAX_OBJECT_SHIFT): Likewise.
12467 (DN_MAX_OFFSET_SHIFT): Likewise.
12468 (DN_MAX_OBJECT): Likewise.
12469 (DNODES_PER_LEVEL_SHIFT): Likewise.
12470 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12471 (SPA_MAXBLOCKSIZE): Likewise.
12472 (SPA_BLOCKSIZES): Likewise.
12473 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12474 (MZAP_MAX_BLKSZ): Likewise.
12475
74a1dce7
VS
124762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12477
12478 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12479 handle NULL appropriately.
12480 Remove MIN.
12481
30c7d3ce
VS
124822012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 Fix efiemu.
12485
12486 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12487 cpu/types.h.
12488 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12489 * configure.ac: Fix efiemu check.
12490
3c76ea0c
VS
124912012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12494 grub_probe.
12495 Reported by: adamwill
12496
7e532280
SG
124972012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12498
12499 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12500
30492374
VS
125012012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12502
12503 Fix handling of wide characters in gfxterm.
12504
12505 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12506 (clear_char): Likewise.
12507 (paint_char): Skip code == NULL chars.
12508 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12509
e70cb72f
VS
125102012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 * grub-core/normal/charset.c: Move comment to right place.
12513
5c827cf9
VS
125142012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12515
12516 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12517 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12518 (grub_affs_mount): Revert the correct version checking.
12519
53603892
VS
125202012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 * docs/grub.texi (Unicode): Mention several other unsupported features.
12523
ff094b9b
VS
125242011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12525
12526 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12527 case statements as compile-time one.
12528 (direct_read): Prevent spurious warnings.
12529 (grub_squash_read_data): Likewise.
12530
c029da8a
VS
125312011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 Various squash4 fixes and LZO and XZ support.
12534
12535 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12536 Add xzembed source files.
12537 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12538 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12539 (grub_squash_inode): New subtype long_dir.
12540 (SQUASH_TYPE_LONG_DIR): New inode type.
12541 (COMPRESSION): New enum.
12542 (XZBUFSIZ): New const.
12543 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12544 (read_chunk): Use data->decompress.
12545 (zlib_decompress): New function.
12546 (lzo_decompress): Likewise.
12547 (xz_decompress): Likewise.
12548 (squash_mount): Set new data fields.
12549 (grub_squash_iterate_dir): Handle long dir.
12550 (squash_unmount): Free xzdec and xzbuf.
12551 (grub_squash_open): Check ino type.
12552 (direct_read): Stylistic fixes. Use data->decompress.
12553 (grub_squash_read_data): Likewise.
12554 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12555 (get_byte): Likewise.
12556 (grub_zlib_disk_read): Removed.
12557 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12558 (GRUB_POSIX_BOOL_DEFINED): New define.
12559 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12560 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12561 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12562 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12563
7a45a539
VS
125642011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 Don't override more informative errors.
12567
12568 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12569 * grub-core/font/font.c (open_section): Likewise.
12570 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12571 filename. Don't override errors.
12572 (grub_cmd_openbsd_ramdisk): Don't override errors.
12573 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12574 (grub_cmd_initrd): Likewise.
12575 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12576 (grub_cmd_initrd): Likewise.
12577 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12578 (grub_cmd_linux): Likewise.
12579 (grub_cmd_initrd): Likewise.
12580 (grub_cmd_payload): Likewise.
12581 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12582 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12583 (grub_cmd_module): Likewise.
12584 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12585 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12586 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12587 (grub_cmd_xnu_mkext): Likewise.
12588 (grub_cmd_xnu_ramdisk): Likewise.
12589 (grub_xnu_check_os_bundle_required): Likewise.
12590 (grub_xnu_load_kext_from_dir): Likewise.
12591 (grub_cmd_xnu_kextdir): Likewise.
12592 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12593
b2d004db
VS
125942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12597 as 1024 in block size field. Found on one of my test images.
12598 Small optimisation while on it.
12599
ec000eac
VS
126002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12603 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12604 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12605 performance fixes while on it.
12606 (grub_sfs_close): Fix memory leak while on it.
12607 (grub_sfs_label): Convert Latin1 to UTF-8.
12608
f50e1165
VS
126092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12612 space to avoid overflows.
12613 (grub_hfs_label): Convert from macroman to UTF-8.
12614
2ae254de
VS
126152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12618
0108f491
VS
126192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12622
f45f5f89
VS
126232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * unicode: Import Unicode 6.0 data.
12626
4d8c4765
VS
126272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12628
63fa8ef9
VS
12629 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12630 outside of range.
12631
126322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
12635
12636 * include/grub/charset.h (grub_getend): New function.
12637 * grub-core/script/function.c (grub_script_function_find): Use
12638 grub_getend.
12639 * grub-core/normal/completion.c (add_completion): Likewise.
12640
f3cb4a4e
VS
126412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12642
12643 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12644 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12645 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12646 (GRUB_UNICODE_TAG_END): Likewise.
12647 (GRUB_UNICODE_LAST_VALID): Likewise.
12648
5da8dbc5
VS
126492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12652 len and make it smaller. All users updated.
12653 * util/import_unicode.py: Put length and not end character.
12654 Check length.
12655
8569f13d
VS
126562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 Make better Unicode-compliant and unify some UTF-8 code pathes.
12659
12660 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12661 valid character.
12662 (grub_is_valid_utf8): Use grub_utf8_process.
12663 Check resulting code range.
12664 (grub_utf8_to_ucs4): Use grub_utf8_process.
12665 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12666 valid character.
12667
cc4fddf5
VS
126682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12671
bbc47747
VS
126722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 * docs/grub.texi (Filesystems): Mention AFS.
12675
f63d6bf4
VS
126762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * docs/grub.texi (Filesystems): Clarify restrictions.
12679 (Regexp): Mention non-Unicode regexp behaviour.
12680 (Other): Mention non-Unicode matching behaviour.
12681
74bbf0db
VS
126822011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12683
f63d6bf4 12684 Make HFS implementation use MacRoman.
74bbf0db
VS
12685
12686 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12687 (macroman): New const array.
12688 (macroman_to_utf8): New function.
12689 (utf8_to_macroman): Likewise.
12690 (grub_hfs_find_dir): Use utf8_to_macroman.
12691 (grub_hfs_dir): Use macroman_to_utf8.
12692 Set case_insensitive.
12693
4ea0316e
VS
126942011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
12697
d3c13cbd
VS
126982011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 Integrate hints into autogeneration scripts.
12701
12702 * docs/grub.texi (Filesystems): Add a hostdisk example.
12703 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
12704 (grub-probe): Add ofpath.
12705 * gentpl.py: Remove group nosparc64.
12706 * grub-core/commands/search.c (cache_entry): New struct.
12707 (cache): New var.
12708 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
12709 * grub-core/commands/search_wrap.c (options): Add platform-specific
12710 hint options.
12711 (grub_cmd_search): Handle platform-specific hints.
12712 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
12713 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
12714 (grub_util_biosdisk_data): Likewise.
12715 (grub_util_biosdisk_open): Set device_map.
12716 (read_device_map): Handle "" as indication of no map.
12717 Set device_map.
12718 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
12719 (grub_util_biosdisk_get_compatibility_hint): New function.
12720 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
12721 * include/grub/emu/hostdisk.h
12722 (grub_util_biosdisk_get_compatibility_hint): New proto.
12723 * util/grub-install.in: Don't call grub-mkdevicemap.
12724 Add platform-specific hint to load.cfg.
12725 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
12726 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12727 hints. Set root preliminary to compatibility hint, not to OS name.
12728 * util/grub-probe.c (PRINT_*): Add hints.
12729 (print): Make static.
12730 (escape_of_path): New function.
12731 (guess_bios_drive): Likewise.
12732 (guess_efi_drive): Likewise.
12733 (guess_baremetal_drive): Likewise.
12734 (print_full_name): Likewise.
12735 (probe): Handle hints.
12736 (main): Likewise.
12737 * util/ieee1275/devicemap.c: Removed.
12738 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
12739 updated.
12740 (grub_util_devname_to_ofpath): Return NULL on failure.
12741
12742 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
12743 resource leak.
12744 * util/getroot.c (grub_util_pull_device): Fix memory leak.
12745
12746 * po/POTFILES.in: Regenerated.
12747
12748 Allow purely long options
12749
12750 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
12751 (SHORT_ARG_USAGE): Likewise.
12752 (grub_arg_show_help): Compare opt with help_options.
12753 (parse_option): Receive opt as argument. If makes big simplificatons.
12754 All users updated
12755
00ce2df3
VS
127562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12757
12758 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
12759 Restructure to avoid warning.
12760
e77e325f
VS
127612011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 * util/grub-install.in: Account for possible escaped comma in device
12764 name.
12765
165099ea
VS
127662011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
12769 channel.
12770
ce4a999d
VS
127712011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
12774 allocation and zero-setting.
12775 (grub_ieee1275_get_devname): Check that alias is complete.
12776
379586ad
VS
127772011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
12780 unaligned segments.
12781
9197b0ad
VS
127822011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
12785 prefix.
12786 (grub_ofdisk_open): Check and discard ieee1275 prefix.
12787 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12788 Add ieee1275 prefix.
12789
edddb7f9
VS
127902011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12791
12792 * docs/grub.texi (Filesystems): Update.
12793
a1a8b1b9
VS
127942011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 Support odc, newc and bigendian cpio formats.
12797
12798 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
12799 * grub-core/Makefile.core.def (newc): New module.
12800 (odc): Likewise.
12801 (cpio_be): Likewise.
12802 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
12803 (MAGIC): Likewise.
12804 (MAGIC2): Likewise.
12805 (head) [MODE_ODC]: Adapt for the format.
12806 (head) [MODE_NEWC]: Likewise.
12807 (head) [!MODE_*]: Write fields of interest as arrays.
12808 (MAGIC_USTAR): Removed.
12809 (read_number) [MODE_NEWC]: Change to hex.
12810 (read_number) [!MODE_*]: Parse binary arrays.
12811 (grub_cpio_find_file): Factor out the code for better structure and
12812 always use read_number.
12813 (grub_cpio_mount): Use MAGIC and MAGIC2.
12814 (grub_cpio_dir): Exit on first hook non-0 return.
12815 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
12816 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
12817 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
12818 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
12819 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
12820 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
12821 * grub-core/fs/newc.c: New file.
12822 * grub-core/fs/odc.c: Likewise.
12823 * grub-core/fs/cpio_be.c: Likewise.
12824
58eba9ee
VS
128252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 Fix handling of tar numbers occupying the whole field.
12828
12829 * grub-core/fs/cpio.c (read_number): New function.
12830 (grub_cpio_find_file): Use read_number instead of strtoull.
12831
a54a0e12
VS
128322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
12835 occupying the whole field size.
12836
a6120aca
LA
128372011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
12838
12839 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
12840
a93964ce
VS
128412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
12844
3ea1ca46
SG
128452011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
12846
12847 * grub-core/Makefile.core.def (lzma_decompress): Add missing
12848 TARGET_IMG_LDFLAGS.
12849
b87f7ef2
VS
128502011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12851
12852 * util/getroot.c (ESCAPED_PATH_MAX): New define.
12853 (mountinfo_entry): Increase the field size to take escaping into
12854 account.
12855 (find_root_device_from_libzfs): Add one byte to size of strings for
12856 security.
12857
62092395
VS
128582011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12859
12860 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
12861 an assert.
12862 * util/grub-setup.c (setup): Likewise.
12863
1f0b1a77
VS
128642011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
12867 _LzmaDecodeA.
12868
8eba9997
VS
128692011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 * docs/grub.texi (Internationalisation): New section.
12872
dd0c91e9
VS
128732011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * docs/grub.texi (Loopback booting): New section.
12876
128772011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
12878
12879 * util/grub-mkstandalone.in: Fix minor typo errors.
12880
198e150a
VS
128812011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
12884
12885 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
12886 net/icmp.c and net/icmp6.c.
12887 (http): New module.
12888 (priority_queue): Likewise.
12889 * grub-core/io/bufio.c: Rewritten.
12890 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
12891 TYPE_WITH_CONFIGFILE_OPTION.
12892 (legacy_commands): Add bootp and dhcp.
12893 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
12894 (grub_legacy_parse): Likewise.
12895 * grub-core/lib/priority_queue.c: New file.
12896 * grub-core/net/arp.c: Add missing license header.
12897 (arp_find_entry): Removed.
12898 (arp_find_entry): Likewise.
12899 (grub_net_arp_resolve): Rename to ...
12900 (grub_net_arp_send_request): ...this.
12901 (grub_net_arp_receive): New card argument.
12902 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
12903 Set router and DNS server.
12904 (grub_net_configure_by_dhcp_ack): Handle routing information.
12905 (grub_cmd_bootp): Set checksum.
12906 (grub_bootp_init): Remove net_dhcp.
12907 * grub-core/net/dns.c: New file.
12908 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
12909 completion.
12910 (get_card_packet): Handle allocation.
12911 (grub_efinet_findcards): Set mtu.
12912 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
12913 (get_card_packet): Handle allocation.
12914 (emucard): Set mtu.
12915 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
12916 (GRUB_MOD_INIT): Set mtu.
12917 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
12918 mtu.
12919 (get_card_packet): Handle allocation.
12920 (grub_ofnet_findcards): Set mtu.
12921 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
12922 assert.
12923 (grub_net_recv_ethernet_packet): Handle IPv6.
12924 * grub-core/net/http.c: New file.
12925 * grub-core/net/icmp.c: Likewise.
12926 * grub-core/net/icmp6.c: Likewise.
12927 * grub-core/net/ip.c (ip6addr): New type.
12928 (ip6hdr): Likewise.
12929 (reassemble): Likewise.
12930 (cmp): New function.
12931 (reassembles): New variable.
12932 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
12933 (id): New variable.
12934 (send_fragmented): New function.
12935 (grub_net_send_ip_packet): Rename to ...
12936 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
12937 Handle non-UDP.
12938 (grub_net_recv_ip_packets): Rename to ...
12939 (handle_dgram): ... this. Check checksum. Handle non-UDP.
12940 (free_rsm): New function.
12941 (free_old_fragments): Likewise.
12942 (grub_net_recv_ip4_packets): New function.
12943 (grub_net_send_ip6_packet): Likewise.
12944 (grub_net_send_ip_packet): Likewise.
12945 (grub_net_recv_ip6_packets): Likewise.
12946 (grub_net_recv_ip_packets): Likewise.
12947 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
12948 (LINK_LAYER_CACHE_SIZE): New const.
12949 (link_layer_find_entry): New function.
12950 (grub_net_link_layer_add_address): Likewise.
12951 (grub_net_link_layer_resolve_check): Likewise.
12952 (grub_net_link_layer_resolve): Likewise.
12953 (grub_net_ipv6_get_slaac): Likewise.
12954 (grub_net_ipv6_get_link_local): Likewise.
12955 (grub_cmd_ipv6_autoconf): Likewise.
12956 (parse_ip): Handle one number representation.
12957 (parse_ip6): New functoion.
12958 (match_net): Handle IPv6.
12959 (grub_net_resolve_address): Handle IPv6 and DNS.
12960 (grub_net_resolve_net_address): Handle IPv6.
12961 (route_cmp): New function.
12962 (grub_net_route_address): Find best route.
12963 (grub_net_addr_to_str): Handle IPv6.
12964 (grub_net_addr_cmp): New function.
12965 (grub_net_add_addr): Register local route.
12966 (print_net_address): Handle net address.
12967 (grub_net_poll_cards): Retransmit TCP.
12968 (grub_net_poll_cards_idle_real): Likewise.
12969 (have_ahead): New function.
12970 (grub_net_seek_real): Use underlying seek.
12971 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
12972 * grub-core/net/tcp.c: New file.
12973 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
12974 (cmp): New function.
12975 (ack): Likewise.
12976 (tftp_receive): Handle unordered input.
12977 (destroy_pq): New function.
12978 (tftp_close): Close pq.
12979 * grub-core/net/udp.c: Put missing license header.
12980 (grub_net_udp_socket): New function.
12981 (udp_socket_register): Likewise.
12982 (grub_net_udp_close): Likewise.
12983 (grub_net_recv_udp_packet): Check checksum.
12984 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
12985 * include/grub/misc.h (grub_memchr): New function.
12986 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
12987 (grub_net_card_driver): Return buf in recv.
12988 (grub_net_slaac_mac_list): New struct.
12989 (grub_network_level_protocol_id): Add ipv6.
12990 (grub_net_network_level_addr): Likewise.
12991 (grub_net_network_level_net_addr): Likewise.
12992 (grub_net_app_protocol): Add seek.
12993 (grub_net_socket): Removed.
12994 (grub_net_sockets): Likewise.
12995 (grub_net_socket_register): Likewise.
12996 (grub_net_socket_unregister): Likewise.
12997 (FOR_NET_SOCKETS): Likewise.
12998 (grub_net_add_addr): Add const.
12999 (GRUB_NET_BOOTP_*): New enum.
13000 (grub_net_addr_cmp): New proto.
13001 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13002 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13003 (grub_net_hwaddr_to_str): NEw proto.
13004 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13005 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13006 (grub_dns_init): New proto.
13007 (grub_dns_fini): Likewise.
13008 (grub_net_tcp_retransmit): Likewise.
13009 (grub_net_link_layer_add_address): Likewise.
13010 (grub_net_link_layer_resolve_check): Likewise.
13011 (grub_net_link_layer_resolve): Likewise.
13012 (grub_net_dns_lookup): Likewise.
13013 (grub_net_add_dns_server): Likewise.
13014 (grub_net_remove_dns_server): Likewise.
13015 (GRUB_NET_TRIES): New const.
13016 (GRUB_NET_INTERVAL): Likewise.
13017 * include/grub/net/arp.h: Mostly rewritten.
13018 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13019 * include/grub/net/ip.h: Mostly rewritten.
13020 * include/grub/net/netbuff.h: Indent.
13021 * include/grub/net/tcp.h: New file.
13022 * include/grub/net/udp.h: Mostly rewritten.
13023 * include/grub/priority_queue.h: New file.
13024 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13025 (grub_swap_bytes64_compile_time): Likewise.
13026 (grub_cpu_to_be16_compile_time): Likewise.
13027 (grub_cpu_to_be32_compile_time): Likewise.
13028 (grub_cpu_to_be64_compile_time): Likewise.
13029 (grub_be_to_cpu64_compile_time): Likewise.
13030
215c1800
VS
130312011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13034 UINT_TO_PTR with cast.
13035
c17e546c
VS
130362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13037
13038 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13039 don't use them.
13040
ff6b18b6
VS
130412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13044 already there.
13045
70ffcc93
VS
130462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13049 confusing ipxe.
13050
e5f4d260
VS
130512011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13052
13053 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13054 Add missing const attribute.
13055 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13056 Likewise.
13057 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13058 Likewise.
13059
8e54b4b7
VS
130602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13063 misaligned access.
13064 (serpent_setkey): Likewise.
13065 (serpent_encrypt_internal): Likewise.
13066 (serpent_decrypt_internal): Likewise.
13067 (serpent_encrypt): Don't put an alignment-increasing cast.
13068 (serpent_decrypt): Likewise.
13069 (serpent_test): Likewise.
13070
813c0a2b
VS
130712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13074
f2b60fbd
VS
130752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13076
13077 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13078
13079 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13080 grub_addr_t casts.
13081 (PTR_TO_UINT64): Likewise.
13082 (PTR_TO_UINT32): Likewise.
13083
5ef5c511
VS
130842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13087 because of stack.
13088 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13089 limit.
13090
c476e6df
VS
130912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13094 text_width > available width a bit more gracefully.
13095
384ad7cc
VS
130962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13097
13098 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13099 current address calculation.
13100
96f8caf8
VS
131012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13104 stack.
13105 (encode_block): Likewise.
13106
276b7a8b
VS
131072011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13110 certainety.
13111
e3fd394a
VS
131122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13113
13114 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13115 non-RS part to avoid RS messing with GDT.
13116 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13117 Increase to suit in realmode routines.
13118
131192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * grub-core/kern/i386/realmode.S: Increase alignment.
13122 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13123
ee9c2e7a
VS
131242011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13127 be deterministic.
13128 (syndroms): Compute 0 syndrom.
13129 (rs_recover): Use 0 syndrom.
13130
7a7f7cc9
VS
131312011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13134
a14b16d1
VS
131352011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13138 brackets.
13139
9f59e9fc
VS
131402011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13141
ca1b552c
VS
13142 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13143 account.
13144 (get_top_pad): Likewise.
13145 (get_right_pad): Likewise.
13146 (get_bottom_pad): Likewise.
13147
131482011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13151
e739d698
VS
131522011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13153
13154 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13155 attribute as the structure isn't guaranteed to be properly aligned.
13156 (grub_efi_pci_device_path): Likewise.
13157 (grub_efi_pccard_device_path): Likewise.
13158 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13159 specify the size of `memory_type'.
13160 (grub_efi_vendor_device_path): Likewise.
13161 (grub_efi_controller_device_path): Likewise.
13162 (grub_efi_acpi_device_path): Likewise.
13163 (grub_efi_expanded_acpi_device_path): Likewise.
13164 (grub_efi_atapi_device_path): Likewise.
13165 (grub_efi_scsi_device_path): Likewise.
13166 (grub_efi_fibre_channel_device_path): Likewise.
13167 (grub_efi_1394_device_path): Likewise.
13168 (grub_efi_usb_device_path): Likewise.
13169 (grub_efi_usb_class_device_path): Likewise.
13170 (grub_efi_i2o_device_path): Likewise.
13171 (grub_efi_mac_address_device_path): Likewise.
13172 (grub_efi_ipv4_device_path): Likewise.
13173 (grub_efi_ipv6_device_path): Likewise.
13174 (grub_efi_infiniband_device_path): Likewise.
13175 (grub_efi_uart_device_path): Likewise.
13176 (grub_efi_vendor_messaging_device_path): Likewise.
13177 (grub_efi_hard_drive_device_path): Likewise.
13178 (grub_efi_cdrom_device_path): Likewise.
13179 (grub_efi_vendor_media_device_path): Likewise.
13180 (grub_efi_file_path_device_path): Likewise.
13181 (grub_efi_protocol_device_path): Likewise.
13182 (grub_efi_piwg_device_path): Likewise.
13183 (grub_efi_bios_device_path): Likewise.
13184
cb8f88ea
VS
131852011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13186
13187 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13188 (grub_ucs4_to_utf8_alloc): Likewise.
13189 (grub_ucs4_to_utf8): Likewise.
13190 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13191 (grub_ucs4_to_utf8_alloc): Likewise.
13192
309e5352
VS
131932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13194
13195 AFFS never uses unicode.
13196
13197 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13198 (grub_latin1_to_utf8): New inline function.
13199 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13200
e7987e1b
VS
132012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13202
13203 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13204 overflow.
13205
efc2616e
VS
132062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13209 (grub_squash_dirent_header): Likewise.
13210 (read_chunk): Don't double swap.
13211 (grub_squash_iterate_dir): Fix swap sizes.
13212
3c349f5a
VS
132132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13216
b453412d
VS
132172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13220 (grub_hfs_iterate_dir): Likewise.
13221
12e9d4d1
VS
132222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 Fix video on platforms where unaligned access is forbidden.
13225 Make several optimisations while on it.
13226
13227 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13228 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13229 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13230 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13231 Disable.
13232 (grub_video_fbblit_replace_16bit_1bit):
13233 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13234 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13235 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13236 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13237 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13238 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13239 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13240 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13241 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13242 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13243 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13244 (grub_video_fbblit_replace_index_RGB888): Likewise.
13245 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13246 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13247 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13248 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13249 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13250 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13251 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13252 Disable.
13253 (grub_video_fbblit_blend_XXX565_1bit):
13254 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13255 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13256 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13257 void *.
13258 * grub-core/video/fb/video_fb.c (common_blitter)
13259 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13260 (grub_video_fb_create_render_target_from_pointer)
13261 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13262 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13263 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13264 definition.
13265 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13266
ace96609
VS
132672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13270 HH22 and HM10 relocations.
13271
fd261d73
VS
132722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13275
e59b7857
VS
132762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13279 allocation succeeded.
13280
9b4baaa4
VS
132812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13282
13283 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13284 argument a u8 pointer. All users updated.
13285 Handle unaligned buffers.
13286
dc713193
VS
132872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13290 add_part to workaround compiler bug.
13291
30dd48c2
VS
132922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13295
0c6087a8
VS
132962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13299 Reserve alignment invariants.
13300 (grub_multiboot_load): Likewise.
13301 (retrieve_video_parameters): Likewise.
13302 (grub_multiboot_make_mbi): Likewise.
13303
c2e77777
VS
133042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13307 incorrect pointer.
13308
b70b6d11
VS
133092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13312 (grub_pata_pio_write): Likewise.
13313
02a2bf83
VS
133142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 Add noreturn attributes and remove unreachable code.
13317
13318 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13319 code.
13320 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13321 code. Mark as noreturn.
13322 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13323 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13324 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13325 unreachable code.
13326 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13327 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13328 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13329 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13330 * include/grub/kernel.h (grub_main): Mark as noreturn.
13331 * include/grub/reader.h (grub_rescue_run): Likewise.
13332
2019d09e
VS
133332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13334
13335 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13336 redundant declaration.
13337
d1c501ee
VS
133382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13341 redundant declaration.
13342 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13343
61664420
VS
133442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13347 to ensure alignment.
13348 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13349 alignment. Ensure tmp alignment.
13350 (grub_cmd_hdparm): Ensure buf alignment.
13351 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13352 to ensure alignment.
13353 (grub_ata_dumpinfo): Ensure text alignment.
13354 (grub_atapi_identify): Preserve alignment invariant.
13355 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13356
0d51ee20
VS
133572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13360 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13361 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13362 * include/grub/misc.h (grub_reboot)
13363 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13364 (grub_halt) [__mips__]: Likewise.
13365
753ef8c1
VS
133662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13369 Remove redundant declaration.
13370 (grub_mmap_get_post64): Likewise.
13371 (grub_mmap_get_upper): Likewise.
13372 (grub_mmap_get_lower): Likewise.
13373
85c85365
VS
133742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13377 uint32_t * to ensure alignment.
13378 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13379
a23f2cc4
VS
133802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13381
93018f64
VS
13382 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13383 uint16_t * to ensure alignment.
13384 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13385 alignment.
13386
133872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13390 to ensure alignment.
13391 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13392
58acccd6
VS
133932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13394
13395 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13396 Handle unaligned pointers.
13397 (u32at): Likewise.
13398 (u64at): Likewise.
13399 (fixup): Use byte access instead of v16at.
13400 (find_attr): Fix imporper usage of v32at.
13401 (read_data): Likewise.
13402 (list_file): Handle byte-swapping and unaligned strings.
13403 (grub_ntfs_label): Likewise.
13404
9b05cad7
VS
134052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13408 as it's not necessarily aligned.
13409
b3950b84
VS
134102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13413 redundant declaration.
13414 (grub_serial_init): Likewise.
13415 (grub_terminfo_init): Likewise.
13416
fcd232b7
VS
134172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13420 function.
13421 (ZAP_HASH_IDX): Likewise.
13422 (ZAP_LEAF_HASH_SHIFT): Likewise.
13423 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13424 (LEAF_HASH): Likewise.
13425 (ZAP_LEAF_NUMCHUNKS): Likewise.
13426 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13427 alignment invariants. Return pointer. All users updated.
13428 (ZAP_LEAF_ENTRY): Make into inline function.
13429 (NBBY): Removed.
13430 (xor): LIkewise.
13431 (xor_out): Use grub_crypto_xor.
13432 (dnode_get_path): Use grub_get_unaligned.
13433 (nvlist_find_value): Likewise.
13434 (grub_zfs_nvlist_lookup_uint64): Likewise.
13435 (grub_zfs_nvlist_lookup_string): Likewise.
13436 (get_nvlist_size): Likewise.
13437 (grub_zfs_open): Likewise.
13438 (fill_fs_info): Likewise.
13439 (grub_zfs_dir): Likewise.
13440 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13441 alignment invariants.
13442 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13443 necessarily aligned.
13444
f138623a
VS
134452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13446
13447 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13448
564840dc
VS
134492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13452 arithmetic to conserve alignment invariants.
13453
9b40df20
VS
134542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13455
13456 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13457 redundant declaration.
13458 (grub_efiemu_mm_obtain_request): Likewise.
13459 (grub_efiemu_prepare): Likewise.
13460
d1c930f9
VS
134612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13464 to match types.
13465
4c5f3056
VS
134662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13467
13468 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13469 case of aunaligned recptr.
13470 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13471 alignment.
13472 (grub_hfsplus_btree_search): Handle unaligned index.
13473
728cba91
VS
134742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13477 to get freetag and skip.
13478
eb561f31
VS
134792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13480
13481 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13482 array.
13483 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13484 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13485
20993fbb
VS
134862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13489 name for checksum and fix allocation algorithm.
13490
1f313b94
VS
134912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13492
13493 * include/grub/types.h (grub_properly_aligned_t): New type.
13494 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13495 (grub_get_unaligned16): Add explicit casts.
13496 (grub_get_unaligned32): Likewise.
13497 (grub_get_unaligned64): Likewise.
13498 (grub_set_unaligned16): New function.
13499 (grub_set_unaligned32): Likewise.
13500
47ae27ec
VS
135012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13504
78c2cd1c
VS
135052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13508 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13509 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13510
53072f9b
VS
135112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13512
13513 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13514 conditionals.
13515
055dc239
VS
135162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13519 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13520
496bd074
VS
135212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 Unify and improve RAID and crypto xor.
13524
13525 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13526 changed to grub_crypto_xor
13527 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13528 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13529 Use bigger types when possible.
13530
ef6e4335
VS
135312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13532
13533 * grub-core/disk/raid.c (scan_devices): Fix condition.
13534
5d048bf2
VS
135352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13536
13537 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13538 Make name a const ptr.
13539
ee533335
VS
135402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13541
13542 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13543 first argument a const pointer.
13544 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13545 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13546 proto.
13547 (grub_children_iterate): Likewise.
13548 (grub_machine_mmap_iterate): Remove redundant declaration.
13549
cc8f3668
VS
135502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13553 (grub_cmd_acpi) [!x86]: Disable EBDA.
13554
c5fc563a
VS
135552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 Enable UTF8 in gnulib regexp.
13558
13559 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13560 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13561 (isupper): Use grub_isupper.
13562 (isascii): New inline function.
13563 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13564 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13565 * grub-core/normal/charset.c (grub_utf8_process): New function.
13566 (grub_utf8_to_utf16): Use grub_utf8_process.
13567 (grub_encode_utf8_character): New function.
13568 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13569 * include/grub/charset.h (grub_utf8_process): New declaration.
13570 (grub_encode_utf8_character): Likewise.
13571 * include/grub/misc.h (grub_islower): New inline function.
13572 (grub_isupper): Likewise.
13573 (grub_strchrsub): Moved down to fix the definitions.
13574
0af2346f
VS
135752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13578 specification.
13579
74dbd244
VS
135802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * include/grub/loader.h (grub_loader_register_preboot_hook):
13583 Use struct preboot * and not void * for handle. All users updated.
13584 (grub_loader_unregister_preboot_hook): Likewise.
13585
1bc8f60d
VS
135862011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13589 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13590 UTF-16-BE. All users updated.
13591 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13592 (grub_hfsplus_iterate_dir): Likewise.
13593 (grub_hfsplus_label): Likewise.
13594
48d6e456
VS
135952011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13596
13597 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13598
bf3a3857
VS
135992011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 Add missing const qualifiers.
13602
13603 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13604 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13605 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13606 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13607 (grub_lvm_check_flag): Likewise.
13608 * grub-core/efiemu/i386/coredetect.c
13609 (grub_efiemu_get_default_core_name): Likewise
13610 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13611 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13612 * grub-core/fs/ntfs.c (fixup): Likewise.
13613 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13614 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13615 (fzap_lookup): Likewise.
13616 (zap_lookup): Likewise.
13617 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13618 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13619 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13620 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13621 (grub_freebsd_add_meta_module): Likewise.
13622 (grub_cmd_freebsd_module): Likewise.
13623 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13624 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13625 (grub_xnu_writetree_get_size): Likewise.
13626 (grub_xnu_writetree_toheap_real): Likewise.
13627 (grub_xnu_find_key): Likewise.
13628 (grub_xnu_create_key): Likewise.
13629 (grub_xnu_create_value): Likewise.
13630 (grub_xnu_register_memory): Likewise.
13631 (grub_xnu_check_os_bundle_required): Likewise.
13632 (grub_xnu_scan_dir_for_kexts): Likewise.
13633 (grub_xnu_load_kext_from_dir): Likewise.
13634 * grub-core/normal/color.c (color_list): Likewise.
13635 * grub-core/normal/completion.c (current_word): Likewise.
13636 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13637 * grub-core/term/serial.c (grub_serial_find): Likewise.
13638 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13639 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13640 Likewise.
13641 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13642 (grub_freebsd_add_meta_module): Likewise.
13643 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13644 * include/grub/net.h (grub_net_card_driver): Likewise.
13645 (grub_net_card): Likewise.
13646 (grub_net_app_protocol): Likewise.
13647 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13648 * include/grub/serial.h (grub_serial_find): Likewise.
13649 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13650 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13651 (grub_xnu_create_value): Likewise.
13652 (grub_xnu_find_key): Likewise.
13653 (grub_xnu_scan_dir_for_kexts): Likewise.
13654 (grub_xnu_load_kext_from_dir): Likewise.
13655
13656 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13657 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13658 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13659 Moved from here ...
13660 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13661
112b4837
CW
136622011-11-28 Colin Watson <cjwatson@ubuntu.com>
13663
13664 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13665
49e891ac
VS
136662011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13669 (read_device): Fix size calculation.
13670
fd258e5c
RM
136712011-11-25 Robert Millan <rmh@gnu.org>
13672
13673 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13674 (find_root_device_from_libzfs): Add zpool output parser to be used
13675 as fallback when libzfs isn't available.
13676
78845dc2
SG
136772011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13678
13679 * po/Makefile.in.in: Add missing escape-continuation.
13680
adac5211
VS
136812011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13684
10b64f1c
VS
136852011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13686
13687 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13688
bb416954
VS
136892011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13690
13691 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
13692
bdfe9eeb
VS
136932011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
13696
581ffa8a
VS
136972011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13698
13699 * grub-core/lib/adler32.c: Add missing license specification.
13700 * grub-core/lib/crc64.c: Likewise.
13701 * grub-core/loader/i386/pc/plan9.c: Likewise.
13702 * grub-core/partmap/plan.c: Likewise.
13703
2536cf64
LK
137042011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
13705
13706 Add facility to debug GRUB with gdb under qemu.
13707
13708 * grub-core/gdb_grub.in: New file.
13709 * grub-core/gmodule.pl.in: Likewise.
13710 * grub-core/Makefile.core.def (gmodule.pl): New script.
13711 (gdb_grub): Likewise.
13712
bc108a4a
VS
137132011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 * util/grub-mount.c (argp_parser): Accept relative pathes.
13716 * util/grub-fstest.c (argp_parser): Likewise.
13717
111c1778
VS
137182011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13719
13720 Plan9 support.
13721
13722 * Makefile.util.def (libgrubmods): Add
13723 grub-core/partmap/plan.c.
13724 * docs/grub.texi: Notice Plan9 support.
13725 * grub-core/Makefile.core.def (plan9): New module.
13726 (part_plan): Likewise.
13727 * grub-core/loader/i386/pc/plan9.c: New file.
13728 * grub-core/partmap/plan.c: Likewise.
13729 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
13730 define.
13731 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
13732 * include/grub/mm.h (grub_extend_alloc): New inline function.
13733
c30be3b6
VS
137342011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 Make Reed-Solomon faster by using power of generator representation of
13737 GF(256)*.
13738
13739 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
13740 (gf_double_t): Likewise.
13741 (gf_invert): Removed.
13742 (gf_powx): New array.
13743 (gf_powx_inv): Likewise.
13744 (scratch): Move higher.
13745 (gf_reduce): Removed.
13746 (gf_mul): Use powx.
13747 (gf_invert): Likewise.
13748 (init_inverts): Replaced with ...
13749 (init_powx): ...this. All users updated.
13750 (pol_evaluate): Replace multiplications with additions.
13751 (rs_encode): Likewise.
13752 (gauss_eliminate): Call gf_invert.
13753 (grub_reed_solomon_add_redundancy): Call init_powx.
13754 (grub_reed_solomon_recover): Call init_powx unconditionally.
13755
fa5aeffc
VS
137562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13757
13758 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
13759
a346b81c
VS
137602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13761
13762 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
13763 disk->partiton for safety.
13764
d89ee414
VS
137652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13766
13767 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13768 Fix a memory leak.
13769 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
13770
91ee7b6d
VS
137712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13772
13773 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
13774
91e5a33d
VS
137752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
13778
9edd7be2
VS
137792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13780
13781 Fix spaces handling in proc/self/mountinfo.
13782
13783 * util/getroot.c (unescape): New function.
13784 (grub_find_root_device_from_mountinfo): Use unescape.
13785
ba102053
VS
137862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 Support ZFS embedding.
13789
13790 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
13791 (grub_zfs_fs): Register grub_zfs_embed.
13792
aa94b870
VS
137932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13794
13795 Fix MIPS compilation.
13796
13797 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
13798 * include/grub/offsets.h: Rename decompressor fields from
13799 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
13800 * util/grub-mkimage.c (image_targets): Use new names.
13801
5fbdac14
VS
138022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 Defer multiboot device parsing until we're in compressed part.
13805
13806 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
13807 bsd_part. setdevice has fallen into disuse.
13808 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
13809 (bsd_part): Likewise.
13810 (boot_dev): New variable.
13811 (multiboot_trampoline): Don't parse multiboot device.
13812 Pass multiboot device in %edx.
13813 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
13814 grub_boot_device.
13815 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
13816 Likewise.
13817 * grub-core/kern/i386/pc/startup.S: Save edx.
13818 (grub_boot_drive): Removed.
13819 (grub_install_dos_part): Likewise.
13820 (grub_install_bsd_part): Likewise.
13821 (grub_boot_device): New variable.
13822 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
13823 (grub_install_bsd_part): Likewise.
13824 (grub_boot_drive): Likewise.
13825 (grub_boot_device): New variable.
13826 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
13827 Removed.
13828 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13829 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
13830 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
13831 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
13832 * util/grub-install.in: Remove redundant condition.
13833
691cbb58
VS
138342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 Fix bug introduced by previous commit.
13837
13838 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
13839
60240b8b
VS
138402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13841
13842 Use decompressors framework on i386-pc. It increases core size
13843 by 46 bytes but improves compatibility and maintainability.
13844
13845 * grub-core/Makefile.core.def (lzma_decompress): New image.
13846 (kernel): Add i386_pc_ldflags.
13847 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
13848 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
13849 to real_to_prot, prot_to_real and device info.
13850 * include/grub/offsets.h: Renamed decompressor offsets.
13851 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
13852 (image_target_desc): Remove raw_size and rename decompressor fields.
13853 (compress_kernel): Handle lzma.
13854 (generate_image): Handle decompressors on i386-pc.
13855
e9d3421c
VS
138562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13857
13858 * configure.ac: Add -fno-asynchronous-unwind-tables.
13859
2b23074a
VS
138602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13861
13862 Move assembly code to C by using intwrap. It increases core size
13863 by 88 bytes but improves compatibility and maintainability.
13864
13865 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
13866 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
13867 ... here. Translated to C.
13868 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
13869 * grub-core/term/i386/pc/console.c (grub_console_getkey):
13870 ... here. Translated to C.
13871 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
13872 * grub-core/term/i386/pc/console.c (grub_console_getxy):
13873 ... here. Translated to C.
13874 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
13875 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
13876 ... here. Translated to C.
13877 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
13878 * grub-core/term/i386/pc/console.c (grub_console_cls):
13879 ... here. Translated to C.
13880 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
13881 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
13882 ... here. Translated to C.
13883 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
13884 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
13885 Translated to C.
13886 * grub-core/term/i386/pc/console.c (int10_9): New function.
13887 (grub_console_putchar): Likewise.
13888 * include/grub/i386/pc/console.h: Removed the not anymore shared
13889 functions.
13890
678f4b67
VS
138912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 Move grub_chainloader_real_boot out of the kernel.
13894
13895 * grub-core/Makefile.am: Remove machine/loader.h.
13896 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13897 Removed.
13898 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
13899 variable.
13900 (grub_relocator16_keep_a20_enabled): Likewise.
13901 (grub_relocator16_boot): Fill new variables.
13902 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
13903 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
13904 relocator.
13905 (grub_chainloader_unload): Likewise.
13906 (grub_chainloader_cmd): Likewise.
13907 * include/grub/i386/pc/loader.h: Removed.
13908 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
13909 and esi. All initialisers updated.
13910
4626edf6
VS
139112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
139122011-11-12 Colin Watson <cjwatson@ubuntu.com>
13913
13914 * Makefile.util.def (grub-mount): New util.
13915 * .bzrignore: Add grub-mount.
13916 * configure.ac: Check for fuse and enable grub-mount if available.
13917 * docs/man/grub-mount.h2m: New file.
13918 * util/grub-mount.c: Likewise.
13919
10f0117b
VS
139202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13921
13922 * grub-core/commands/efi/fixvideo.c: Gettextize.
13923 * grub-core/commands/hashsum.c: Likewise.
13924 * grub-core/commands/i386/cmostest.c: Likewise.
13925 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13926 * grub-core/commands/i386/pc/lsapm.c: Likewise.
13927 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13928 * grub-core/commands/lsmmap.c: Likewise.
13929 * grub-core/commands/menuentry.c: Likewise.
13930 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
13931 * grub-core/commands/setpci.c: Likewise.
13932 * grub-core/loader/i386/bsd.c: Likewise.
13933 * grub-core/loader/i386/linux.c: Likewise.
13934 * util/getroot.c: Likewise.
13935 * util/grub-editenv.c: Likewise.
13936 * util/grub-fstest.c: Likewise.
13937 * util/grub-mkfont.c: Likewise.
13938 * util/grub-mkimage.c: Likewise.
13939 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13940 * util/grub-pe2elf.c: Likewise.
13941 * util/grub-probe.c: Likewise.
13942 * util/grub-setup.c: Likewise.
13943 * util/ieee1275/ofpath.c: Likewise.
13944 * util/misc.c: Likewise.
13945 * util/raid.c: Likewise.
13946
566f779b
RM
139472011-11-11 Robert Millan <rmh@gnu.org>
13948
13949 * util/getroot.c (grub_util_get_geom_abstraction): Remove
13950 __attribute__((unused)) from `os_dev', which *is* being used.
13951
b50787de
VS
139522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
13955 forgotten define.
13956 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
13957 GRUB_IA64_DL_GOT_ALIGN.
13958 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
13959 GRUB_IA64_DL_TRAMP_ALIGN.
13960
119d11c8
VS
139612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 Replace grub_fatal with normal errors in i386 linux loader.
13964
13965 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
13966 (allocate_pages): Check find_efi_mmap_size return value.
13967 (grub_e820_add_region): Return error.
13968 (grub_linux_boot): Check mmap return value.
13969
6e0632e2
VS
139702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 * grub-core/commands/acpihalt.c: Gettextized.
13973 * grub-core/commands/cacheinfo.c: Likewise.
13974 * grub-core/commands/cmp.c: Likewise.
13975 * grub-core/commands/efi/loadbios.c: Likewise.
13976 * grub-core/commands/gptsync.c: Likewise.
13977 * grub-core/commands/ieee1275/suspend.c: Likewise.
13978 * grub-core/commands/legacycfg.c: Likewise.
13979 * grub-core/commands/memrw.c: Likewise.
13980 * grub-core/commands/minicmd.c: Likewise.
13981 * grub-core/commands/parttool.c: Likewise.
13982 * grub-core/commands/time.c: Likewise.
13983 * grub-core/commands/videoinfo.c: Likewise.
13984 * grub-core/disk/geli.c: Likewise.
13985 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
13986 * grub-core/disk/luks.c: Likewise.
13987 * grub-core/disk/lvm.c: Likewise.
13988 * grub-core/font/font_cmd.c: Likewise.
13989 * grub-core/fs/zfs/zfscrypt.c: Likewise.
13990 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13991 * grub-core/gfxmenu/view.c: Likewise.
13992 * grub-core/kern/emu/hostdisk.c: Likewise.
13993 * grub-core/kern/emu/main.c: Likewise.
13994 * grub-core/kern/emu/misc.c: Likewise.
13995 * grub-core/kern/emu/mm.c: Likewise.
13996 * grub-core/kern/mips/arc/init.c: Likewise.
13997 * grub-core/kern/mips/loongson/init.c: Likewise.
13998 * grub-core/kern/partition.c: Likewise.
13999 * grub-core/lib/i386/halt.c: Likewise.
14000 * grub-core/lib/mips/arc/reboot.c: Likewise.
14001 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14002 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14003 * grub-core/loader/i386/xnu.c: Likewise.
14004 * grub-core/loader/multiboot.c: Likewise.
14005 * grub-core/net/bootp.c: Likewise.
14006 * grub-core/net/net.c: Likewise.
14007 * grub-core/normal/term.c: Likewise.
14008 * grub-core/partmap/bsdlabel.c: Likewise.
14009 * grub-core/parttool/msdospart.c: Likewise.
14010 * grub-core/term/gfxterm.c: Likewise.
14011 * grub-core/term/terminfo.c: Likewise.
14012 * grub-core/video/i386/pc/vbe.c: Likewise.
14013 * util/grub-menulst2cfg.c: Likewise.
14014 * util/grub-mkdevicemap.c: Likewise.
14015 * util/grub-mklayout.c: Likewise.
14016 * util/grub-mkrelpath.c: Likewise.
14017 * util/grub-script-check.c: Likewise.
14018 * util/ieee1275/grub-ofpathname.c: Likewise.
14019 * util/resolve.c: Likewise.
14020
073aa7a9
VS
140212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 Support %1$d syntax.
14024
14025 * tests/printf_unit_test.c: New file.
14026 * Makefile.util.def (printf_test): New test.
14027 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14028
c76b5417
VS
140292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14030
14031 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14032 fix.
14033
df067ad1
VS
140342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14035
14036 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14037 dprintf.
14038 * grub-core/font/font.c (grub_font_load): Likewise.
14039
5b289bc5
VS
140402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14041
14042 * util/grub-macho2img.c: Add comment concerning gettext.
14043 * grub-core/lib/legacy_parse.c: Likewise.
14044
c1860f87
VS
140452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14046
14047 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14048 (grub_xvasprintf): Likewise.
14049
d35d0d37
VS
140502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14051
14052 Add const keyword to grub_env_get and gettextize week days.
14053
14054 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14055 (grub_read_hook_datetime): Return const char *.
14056 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14057 updated.
14058 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14059 Mark for gettext.
14060 (grub_get_weekday_name): Return const char *. Call gettext.
14061 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14062 char * and len as the argument. All users updated.
14063 (grub_script_argv_split_append): Receive const char *.
14064 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14065 * include/grub/env.h (grub_env_get): Likewise.
14066 (grub_env_read_hook_t): Return const char *.
14067 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14068 (grub_script_argv_split_append): Likewise.
14069
9aed8a71
VS
140702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14071
14072 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14073
067fdf00
VS
140742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14077 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14078
a8bd9d39
VS
140792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14082 Fix prototype.
14083
f7ce5baf
VS
140842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 Fix mips compilation.
14087
14088 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14089 normal decoder.
14090 (hashes): Use in embed decoder as well (for sizes).
14091 (dec_stream_header): Fix embed decompressor logic.
14092 (dec_stream_footer): Likewise.
14093
9bb182f3
VS
140942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14095
14096 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14097 an error and not a fatal on unrecognised relocation types.
14098
63a9e6f6
VS
140992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14100
14101 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14102 Issue error rather than printf on unknown arguments.
14103
4c458569
VS
141042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14105
14106 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14107 Make buf a const.
14108
e2d22baf
VS
141092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14112 Fix module name.
14113
53dc8590
VS
141142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14117 leftover debug printf.
14118
6c189294
VS
141192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14120
14121 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14122
f7688369
VS
141232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14124
14125 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14126 A stylistic fix.
14127
11a775a3
VS
141282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14129
14130 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14131
33f784e8
SL
141322011-11-10 Shea Levy <slevy@tieronedesign.com>
14133
14134 Allow all modules to perform serial IO
14135
14136 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14137 * include/grub/serial.h (grub_serial_port_configure): New inline
14138 function.
14139 (grub_serial_port_fetch): Likewise.
14140 (grub_serial_port_put): Likewise.
14141 (grub_serial_port_fini): Likewise.
14142 (grub_serial_find): New proto.
14143
f6276525
VS
141442011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 Put symlink at the end of the node and fix a potential
14147 memory corruption.
14148
14149 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14150 Make symlink into an array.
14151 (set_rockridge): Set have_symlink and alloc_dirents.
14152 (grub_iso9660_read_symlink): Use new layout.
14153 (grub_iso9660_iterate_dir): Fix memory corruption.
14154 Use new layout.
14155 (grub_iso9660_dir): Set have_symlink.
14156 (grub_iso9660_open): Likewise.
14157
c3591189
VS
141582011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14159
14160 Remove local keyword.
14161
14162 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14163 (version_test_gt): Likewise.
14164 (version_find_latest): Likewise.
14165 (gettext_printf): Likewise.
14166 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14167
cb544caa
VS
141682011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14171
45bd824d
VS
141722011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 Fix ZFS memory and resource leaks.
14175
14176 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14177 All users updated.
14178 Free type on exit.
14179 (fill_vdev_info): New parameter inserted. All users updated.
14180 (check_pool_label): Likewise.
14181 (scan_disk): Likewise.
14182 (scan_devices): Close non-inserted disks.
14183 (fzap_iterate): Free l.
14184 (unmount_device): Free children descripto memory.
14185
ad9a2f44
VS
141862011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14189 argument (access out of bounds).
14190
6b68db81
VS
141912011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14194 >= 6 drives.
14195
28840fda
VS
141962011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14197
14198 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14199 Fix declaration.
14200
8a5a3a5b
VS
142012011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 Fix several memory leaks.
14204
14205 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14206 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14207 (grub_cpio_dir): Likewise.
14208 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14209 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14210 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14211 (grub_romfs_label): Likewise.
14212 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14213 (squash_unmount): New function.
14214 (grub_squash_dir): Fix memory leak.
14215 (grub_squash_open): Likewise.
14216 (grub_squash_read): Likewise.
14217 (grub_squash_mtime): Likewise.
14218 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14219 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14220 * util/grub-fstest.c (fstest): Likewise.
14221
57b01250
VS
142222011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14225 avoid accessing beyond the array.
14226
19e81ba7
VS
142272011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14230
52b656c0
VS
142312011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 Several AFFS fixes.
14234
14235 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14236 (GRUB_AFFS_FLAG_FFS): Removed.
14237 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14238 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14239 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14240 (grub_fshelp_node): Make block 32-bit.
14241 Add block_cache and last_block_cache.
14242 (grub_affs_read_block): Fill and use block cache.
14243 (grub_affs_read_file): Removed.
14244 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14245 boot block.
14246 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14247 safety.
14248 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14249 space.
14250 (grub_affs_close): Free block cache.
14251 (grub_affs_read): Use grub_fshelp_read_file directly.
14252
438a746a
VS
142532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14256 with no error set.
14257
49a45021
VS
142582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14261 used variable.
14262 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14263 Likewise.
14264
3ae17eb8
VS
142652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14268
14269 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14270 byteswap when needed.
14271
27610c38
VS
142722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 Fix FreeBSD compilation.
14275
14276 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14277 to avoid circular dependency.
14278 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14279 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14280 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14281
4a19b601
VS
142822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14283
14284 Fix ZFS crypto error types.
14285
14286 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14287 (grub_gcm_decrypt): Likewise.
14288 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14289 from PBKDF2.
14290
958ee221
VS
142912011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 Illumos support.
14294
14295 * Makefile.util.def (10_illumos): New script.
14296 * configure.ac: Set COND_HOST_ILLUMOS.
14297 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14298 Support Illumos calls.
14299 (find_partition_start) [__sun__]: Likewise.
14300 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14301 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14302 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14303 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14304 device.
14305 * util/grub-probe.c (probe) [__sun__]: Do character check.
14306 * util/grub.d/10_illumos.in: New file.
14307
cac14fb6
VS
143082011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 Support escaped commas in hostdisk.
14311
14312 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14313 (find_grub_drive): Use unescape_cmp.
14314 (make_device_name): Escape commas.
14315
78e08dc3
VS
143162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14317
14318 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14319
9f421dd1
VS
143202011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14321
14322 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14323 variable.
14324
ed64e9e2
VS
143252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14326
14327 Support trampoline jumps on powerpc.
14328
14329 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14330 __ia64__ path.
14331 (grub_dl_load_segments): Set mod->sz.
14332 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14333 segments.
14334 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14335 (jump): Likewise.
14336 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14337 function.
14338 (trampoline): New struct.
14339 (trampoline_template): New const.
14340 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14341 * include/grub/dl.h (grub_dl): Add sz element.
14342 [__powerpc__]: Follow __ia64__.
14343 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14344 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14345 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14346 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14347
3084ede4
VS
143482011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14349
14350 ZFS crypto support.
14351
14352 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14353 * grub-core/Makefile.core.def (zfscrypt): New module.
14354 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14355 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14356 it. All users updated.
14357 (grub_zfs_decrypt): New var.
14358 (grub_zfs_load_key): Likewise.
14359 (zio_checksum_functions): Add SHA256+MAC.
14360 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14361 (zio_read): Handle encrypted blocks.
14362 (zap_verify): Remove incorrect check.
14363 (fzap_iterate): Handle non-standard fzap.
14364 (zap_iterate): Likewise.
14365 (zap_iterate_u64): New function.
14366 (dnode_get_fullpath): Load keys.
14367 * grub-core/fs/zfs/zfscrypt.c: New file.
14368 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14369 (grub_crypto_ecb_encrypt): Make input const.
14370 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14371 (grub_crypto_ecb_encrypt): Make input const.
14372 (GRUB_CIPHER_AES): New macro.
14373 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14374 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14375 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14376 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14377 prefix. All users updated.
14378 (grub_zfs_add_key): New proto.
14379 (grub_zfs_decrypt): Likewise.
14380 (grub_zfs_load_key): Likewise.
14381 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14382 * util/grub-fstest.c (options): Add -K option.
14383 (argp_parser): Likewise.
14384
b632b404
VS
143852011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14386
14387 Support zle compression on ZFS.
14388
14389 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14390 (decomp_table): Add zle.
14391 * include/grub/zfs/zio.h (zio_compress): Add zle.
14392
c7ba4f69
VS
143932011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14394
14395 Support BtrFS embedding.
14396
14397 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14398 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14399 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14400 * util/grub-setup.c (setup): Use fs embedding if available.
14401 Add additional sanity check.
14402
455377d9
VS
144032011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14404
14405 * util/grub-install.in: Fix condition for config_opt.
14406
c2fd16ca
VS
144072011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 Support third redundancy strip on raidz3.
14410
14411 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14412 Return error on singularity. All users updated.
14413 (read_device): Don't stop on 3rd failure on raidz3.
14414
8622923b
VS
144152011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 Support case-insensitive ZFS subvolumes.
14418
14419 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14420 All users updated.
14421 (zap_hash): Likewise.
14422 (name_cmp): New function.
14423 (zap_leaf_array_equal): New parameter case_insensitive.
14424 All users updated.
14425 (zap_leaf_lookup): Likewise.
14426 (fzap_lookup): Likewise.
14427 (zap_lookup): Likewise.
14428 (dnode_get_path): New parameter case_insensitive. Retrieve case
14429 sensitiviness of a volume. All users updated.
14430 (dnode_get_fullpath): New parameter case_insensitive.
14431 All users updated.
14432 (grub_zfs_dir): Set info.case_insensitiveness.
14433
95f2e860
VS
144342011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14435
14436 Support second redundancy strip on raidz(2,3).
14437
14438 * grub-core/fs/zfs/zfs.c (powx): New array.
14439 (powx_inv): Likewise.
14440 (poly): New const.
14441 (xor_out): New function.
14442 (gf_mul): Likewise.
14443 (recovery): Likewise.
14444 (read_device): Use second redundancy strip.
14445
11ee4389
VS
144462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14447
14448 Use a power of generator representation of GF(256) multiplication group
14449 to save space time and complexity.
14450
14451 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14452 (raid6_table2): Likewise.
14453 (powx): New array.
14454 (powx_inv): Likewise.
14455 (poly): New const.
14456 (grub_raid_block_mul): Replace with ...
14457 (grub_raid_block_mulx): ...this.
14458 (grub_raid6_init_table): Rewritten.
14459 (grub_raid6_recover): Use power of generator representation.
14460
09e2763f
VS
144612011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14462
14463 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14464 for the right device.
14465
8bec9a28
VS
144662011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14467
14468 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14469 expected by grub-mkimage and it's more clear since there is no implicit
14470 padding.
14471
dbd3a32e
VS
144722011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14473
14474 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14475 disk.
14476 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14477
182c872a
PMH
144782011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14479
14480 * util/grub-mkrescue.in: Fix handling xorriso option.
14481
1e51cabd
VS
144822011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14483
14484 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14485 NULL.
14486
9cc3581d 144872011-11-03 crocket <crockabiscuit@gmail.com>
14488
14489 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14490
158dc1ea
VS
144912011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14492
14493 XZ CRC64 and SHA256 support.
14494
14495 * Makefile.util.def (libgrubmods): Add crc64.c.
14496 * grub-core/Makefile.core.def (crc64): New module.
14497 * grub-core/lib/crc64.c: New file.
14498 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14499 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14500 Fix the type.
14501 (MAX_HASH_SIZE): New define.
14502 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14503 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14504 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14505 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14506 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14507 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14508 Handle non-crc32 hashes.
14509 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14510 (dec_stream_header): Handle non-crc32 hashes.
14511 (dec_stream_footer): Likewise.
14512 (dec_block_header): Likewise.
14513 (dec_main): Likewise.
14514 (xz_dec_init): Likewise.
14515 (xz_dec_reset): Likewise.
14516 (xz_dec_end): Likewise.
14517 * util/import_gcry.py: Add CRC64 line.
14518
9d9b3d2f
VS
145192011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14520
14521 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14522 as well.
14523
7d0ac931
VS
145242011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14525
14526 Make reiserfs label retrieval similar to other *_label functions.
14527
14528 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14529 (REISERFS_MAX_LABEL_LENGTH): Removed.
14530 (REISERFS_LABEL_OFFSET): Likewise.
14531 (grub_reiserfs_label): Rewritten.
14532
145332011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14536 field.
14537
cf5ba824
VS
145382011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14539
14540 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14541
17744004
VS
145422011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14545 drive failure on both raidz and raidz2.
14546
aca5aefc
VS
145472011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14548
14549 Fix RAIDZ(2) for >= 5 devices.
14550
14551 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14552 asize argument. All users updated.
14553
ce8ca56e
VS
145542011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14555
14556 Fix RAIDZ(2).
14557
14558 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14559 (fill_vdev_info_real): Set ashift.
14560 (read_device): Rewrite RAIDZ part based on reverse engineering.
14561
7c01e783
VS
145622011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14563
14564 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14565 don't report potentially unavialiable fields in debug output.
14566 (find_path): Fix double-free and memory leak.
14567
ce109e84
VS
145682011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14569
14570 Read label on UFS1.
14571
14572 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14573 (grub_ufs_fs): Always set .label.
14574
87661123
VS
145752011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 Use shifts in UFS.
14578
14579 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14580 (grub_ufs_data): New field log2_blksz.
14581 (grub_ufs_read_file): Use shifts.
14582 (grub_ufs_mount): Check block size and logarithm it.
14583
46bc1dc2
VS
145842011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14587 long symlinks.
14588
19ee2987
VS
145892011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14590
14591 Handle symlinks and long names on tar and cpio.
14592
14593 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14594 (ATTR_FILE): Likewise.
14595 (ATTR_DIR): Likewise.
14596 (ATTR_LNK): Likewise.
14597 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14598 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14599 L and K entries.
14600 (grub_cpio_mount): Zero-fill data.
14601 (handle_symlink): New function.
46bc1dc2
VS
14602 (grub_cpio_dir): Handle symlinks.
14603 (grub_cpio_open): Likewise.
14604 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 14605
c83a08d8
VS
146062011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 Fix iso9660 filename limitations and fix memory leaks.
14609
14610 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14611 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14612
45cdd3ea
VS
146132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 Fix JFS file name length limitations.
14616
14617 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14618 (grub_jfs_diropen): Fix maximum filename length.
14619 (grub_jfs_getent): Fix filename length.
14620 (grub_jfs_lookup_symlink): Fix size checks.
14621
94ef05c2
VS
146222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14625 string.
14626
785ab8c7
VS
146272011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14628
eb0b6b45
VS
14629 Leverage BFS implementation to read AFS.
14630
14631 * Makefile.util.def (libgrubmods): Add afs.c.
14632 * grub-core/Makefile.core.def (afs): New module
14633 * grub-core/fs/afs.c: New file.
14634 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14635
146362011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 14639
c4a1628f
VS
146402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14641
14642 * grub-core/fs/bfs.c: Run indent.
14643
5825b379
VS
146442011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 BFS implementation based on the specification.
14647
14648 * grub-core/fs/bfs.c: New file.
14649 * Makefile.util.def (libgrubmods): Add bfs.c.
14650 * grub-core/Makefile.core.def (bfs): New module.
14651
42b2a706
VS
146522011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14653
14654 * util/grub-fstest.c (cmd_cp): Clarify error message.
14655 (cmd_cmp): Likewise.
14656
61b99bfc
YB
146572011-10-30 Yves Blusseau <blusseau@zetam.org>
14658
14659 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14660 and befs_be.
14661
faba3d16
VS
146622011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14663
14664 Remove afs and befs because of copyright problem.
14665
14666 * grub-core/fs/afs.c: Removed.
14667 * grub-core/fs/afs_be.c: Removed.
14668 * grub-core/fs/befs.c: Removed.
14669 * grub-core/fs/befs_be.c: Removed.
14670 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14671 * grub-core/Makefile.core.def (afs): Removed.
14672 (afs_be): Likewise.
14673 (befs): Likewise.
14674 (befs_be): Likewise.
14675
c39224b0
VS
146762011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 Prefer rockridge over Joliet.
14679
14680 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14681 to ...
14682 (set_rockridge): ... here.
14683 (grub_iso9660_mount): Check rockridge on the primary label when
14684 discovering. Ignore Joliet if Rockridge is present.
14685
e551115a
VS
146862011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14687
14688 Use shifts in nilfs2.
14689
14690 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14691 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
14692 (grub_nilfs2_palloc_entries_per_group): Replace with ...
14693 (grub_nilfs2_log_palloc_entries_per_group): ... this.
14694 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
14695 (grub_nilfs2_entries_per_block): Replaced with ...
14696 (grub_nilfs2_log_entries_per_block_log): ... this.
14697 (grub_nilfs2_blocks_per_group): Replaced with ...
14698 (grub_nilfs2_blocks_per_group_log): ... this.
14699 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
14700 (grub_nilfs2_blocks_per_desc_block_log): ... this.
14701 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
14702 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
14703 (grub_nilfs2_palloc_entry_offset): Replaced ...
14704 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
14705 (grub_nilfs2_dat_translate): Use shifts.
14706 (grub_nilfs2_read_inode): Likewise.
14707 (GRUB_MOD_INIT): Ensure that logs are correct.
14708
564dd58c
VS
147092011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 Use shifts in minix filesystem.
14712
14713 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
14714 (GRUB_MINIX_ZONE2SECT): Likewise.
14715 (grub_minix_data): Replace block_size with log_block_size.
14716 (grub_minix_read_file): Use shifts.
14717 (grub_minix_mount): Check block size and take a logarithm.
14718
ed9ba06d
VS
147192011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 Use shifts in squash4.
14722
14723 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
14724 (squash_mount): Check block size and take logarithm.
14725 (direct_read): Use shifts.
14726
ad03fe76
VS
147272011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14728
14729 Correct befs block counting logic.
14730
14731 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
14732 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
14733 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
14734 (grub_afs_read_inode): Use block_shift.
14735 (RANGE_SHIFT): New definition.
14736 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
14737 unexpected conditions, use shifts and appropriate types.
14738 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
14739
6563f63d
VS
147402011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * grub-core/disk/raid.c (scan_devices): Check partition.
14743 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14744
5b1ae25f
VS
147452011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14746
14747 Support BFS (befs) UUID.
14748
14749 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
14750 (grub_afs_small_data_element_header): New struct.
14751 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
14752 (grub_afs_read_attribute) [MODE_BFS]: New function.
14753 (grub_afs_iterate_dir): Allocate for complete inode.
14754 (grub_afs_mount): Likewise.
14755 (grub_afs_uuid) [MODE_BFS]: New function.
14756 (grub_afs_fs) [MODE_BFS]: Add .uuid.
14757
f8d82408
VS
147582011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14759
14760 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
14761 (zfs_unmount): Fix memory leak.
14762
5773fb64
VS
147632011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 Support NTFS reparse points.
14766
14767 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
14768 (symlink_descriptor): New struct.
14769 (grub_ntfs_read_symlink): New function.
14770 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
14771 (grub_ntfs_open): Likewise.
14772
91c3fdde
VS
147732011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
14776
3be82e10
VS
147772011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 fstest xnu_uuid subcommand.
14780
14781 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
14782 grub-core/commands/xnu_uuid.c.
14783 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
14784 (fstest): Handle xnu_uuid.
14785 (options): Document xnu_uuid.
14786 (argp_parser): Parse xnu_uuid.
14787
8e32442e
VS
147882011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14789
14790 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
14791 -l argument. Add newline at the end if printing.
14792 (GRUB_MOD_INIT): Document -l.
14793
52a05075
VS
147942011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
14797
1869edb5
VS
147982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 ZFS multi-device and version 33 support.
14801
14802 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
14803 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
14804 (grub_zfs_data): Add multidev-ice-related fields.
14805 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
14806 (dva_get_offset): Make dva const.
14807 (zfs_fetch_nvlist): New function.
14808 (fill_vdev_info_real): Likewise.
14809 (fill_vdev_info): Likewise.
14810 (check_pool_label): Likewise.
14811 (scan_disk): Likewise.
14812 (scan_devices): Likewise.
14813 (read_device): Likewise.
14814 (read_dva): Likewise.
14815 (zio_read_gang): Use read_dva.
14816 (zio_read_data): Likewise.
14817 (zap_leaf_lookup): Add missing endian conversion.
14818 (zap_verify): Add missing endian conversion. All users updated.
14819 (fzap_lookup): Likewise.
14820 (fzap_iterate): Likewise.
14821 (dnode_get_path): Handle SA bonus.
14822 (nvlist_find_value): Make input const. All users updated.
14823 (unmount_device): New function.
14824 (zfs_unmount): Use unmount_device.
14825 (zfs_mount): Use scan_disk.
14826 (zfs_mtime): New function.
14827 (grub_zfs_open): Handle system attributes.
14828 (fill_fs_info): Likewise.
14829 (grub_zfs_dir): Likewise.
14830 (grub_zfs_fs): Add mtime.
14831 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
14832 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
14833 (SA_MTIME_OFFSET): Likewise.
14834 (SA_SYMLINK_OFFSET): Likewise.
14835 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
14836 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
14837 (fstest): Support zfsinfo.
14838 (argp_parser): Likewise.
14839
186b4028
VS
148402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14841
14842 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
14843 error.
14844
148452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
14846
14847 ZFS fixes.
14848
14849 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
14850 sharing the same block. Iterate over correct number of indices.
14851 (dnode_get_path): Handle symlinks correctly.
14852
c0584900
VS
148532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14854
14855 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
14856
67e2bd71
VS
148572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 Read label on HFS+.
14860
14861 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
14862 (grub_hfsplus_btree_search): Fix types.
14863 (grub_hfsplus_label): Implement.
14864
e9cc6b7b
VS
148652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
14868
19832ddb
VS
148692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14870
14871 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
14872
66b40850
VS
148732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14874
14875 Fix symlink handling on iso9660.
14876
14877 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
14878 All users updated.
14879 (grub_iso9660_susp_iterate): Accept zero-size iterate.
14880 (grub_iso9660_read_symlink): Moved most of code ...
14881 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
14882
db821363
VS
148832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14886 Use union to avoid breaking strict-aliasing rules.
14887
e1211949
VS
148882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14889
14890 Support multi-extent iso files.
14891
14892 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
14893 Add node.
14894 (grub_fshelp_node): Revamp. All users updated.
14895 (FLAG_*): New enum.
14896 (read_node): New function.
14897 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
14898 All users updated.
14899 (grub_iso9660_mount): Don't attempt to read sua when there is none.
14900 (get_node_size): New function.
14901 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
14902 entries.
14903 Fix memory leak on . and ..
14904 (grub_iso9660_read): Use read_node.
14905 (grub_iso9660_close): Free node.
14906
d4888031
VS
149072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 Fix tar 4G limit and handle paths containing dot.
14910
14911 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
14912 (canonicalize): New function.
14913 (grub_cpio_find_file): Use canonicalize. Store offs in
14914 grub_disk_addr_t.
14915 (grub_cpio_dir): Use grub_disk_addr_t.
14916 (grub_cpio_open): Likewise.
14917
9f12e664
VS
149182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14919
14920 Fix handling of uncompressed blocks on squashfs and break 4G limit.
14921
14922 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
14923 unused flags.
14924 (grub_squash_inode): Add long_file and block_size.
14925 (grub_squash_cache_inode): New struct.
14926 (grub_squash_dirent): Make types into enum.
14927 (SQUASH_TYPE_LONG_REGULAR): New type.
14928 (grub_squash_frag_desc): Add field size.
14929 (SQUASH_BLOCK_FLAGS): New enum.
14930 (grub_squash_data): Use grub_squash_cache_inode.
14931 (grub_fshelp_node): Make ino_chunk 64-bit.
14932 (read_chunk): Minor argument change. All users updated.
14933 (squash_mount): Use correct le_to_cpu.
14934 (grub_squash_open): Handle LONG_REGULAR.
14935 (direct_read): New function.
14936 (grub_squash_read_data): Handle blocks correctly.
14937
9f326fba
VS
149382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
14941
f4d9b64b
VS
149422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14943
14944 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
14945
5bbd28b8
VS
149462011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14947
14948 Fix 2G limit on ZFS.
14949
14950 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
14951 types.
14952 (uberblock_verify): Likewise.
14953 (dmu_read): Likewise.
14954 (grub_zfs_read): Likewise. Remove invalid cast.
14955
68c72069
VS
149562011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14957
14958 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
14959 (grub_jfs_blkno): Fix incorrect shift.
14960 (grub_jfs_read_file): Use more appropriate types.
14961
6e536dc8
VS
149622011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14963
14964 Support triple indirect on minix2 and minix3.
14965
14966 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
14967 Declare triple_indir_zone.
14968 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
14969 indirect.
14970
e0864e7a
VS
149712011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
14972
14973 Minix FS fixes.
14974
14975 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
14976 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
14977 Rename ctime to mtime. All users updated.
14978 (grub_minix_get_file_block): Fix types and double indirect computations.
14979
89481cab
VS
149802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14981
14982 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
14983 if no label is found.
14984 (grub_fat_iterate_dir): Fix file size type.
14985 (grub_fat_iterate_dir): Likewise.
14986
f646e143
VS
149872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
14990 save some space.
14991 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14992 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14993
534d769e
VS
149942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14995
14996 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
14997
e084ba18
VS
149982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * util/import_gcry.py: Accept space between # and include.
15001
3471ecdf
VS
150022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15005
124df5f6
VS
150062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15007
15008 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15009
15010 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15011 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15012 yylex_strncpy.
15013 * grub-core/script/yylex.l: Add fine-grained #pragma.
15014
4defb8d5
VS
150152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15016
15017 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15018 New inline function.
15019 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15020 Likewise.
15021 (memset) [GRUB_UTIL]: Likewise.
15022 (memcmp) [GRUB_UTIL]: Likewise.
15023
4e94ae65
VS
150242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15027 inline function rather than a define.
15028
18c575e5
VS
150292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 * util/grub-setup.c: Add missing include.
15032
f8bc22a8
VS
150332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 * util/ieee1275/grub-ofpathname.c: Add missing include.
15036
3ce69fc9
VS
150372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15040 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15041 Likewise.
15042
d1e293bb
VS
150432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15044
15045 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15046 grub_memcmp usage.
15047
7a5c54a4
VS
150482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * util/grub-install.in: Add datarootdir as per automake manual
15051 suggestion.
15052 * util/grub-mknetdir.in: Likewise.
15053
150542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15055
15056 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15057 suggestion.
15058 * util/grub.d/10_kfreebsd.in: Likewise.
15059 * util/grub.d/10_linux.in: Likewise.
15060 * util/grub.d/10_netbsd.in: Likewise.
15061 * util/grub.d/10_windows.in: Likewise.
15062 * util/grub.d/20_linux_xen.in: Likewise.
15063
766f7d08
VS
150642011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15065
15066 Remove redundant grub_kernel_image_size.
15067
15068 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15069 _edata and _start.
15070 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15071 the small code. It moves it only by few bytes but simplifies the code.
15072 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15073 _start.
15074 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15075 (grub_kernel_image_size): Removed.
15076 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15077 (grub_kernel_image_size): Removed.
15078 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15079 compiled with Apple toolchain.
15080 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15081 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15082 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15083 (grub_total_module_size): Likewise.
15084 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15085 Removed.
15086 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15087 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15088 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15089 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15090 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15091 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15092 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15093 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15094 Removed.
15095 (grub_total_module_size): Removed.
15096 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15097 (image_targets): Likewise.
15098 Set .compressed_size to no field on sparc.
15099 (generate_image): Remove kernel_image_size handling.
15100
fcf1d672
SJ
151012011-10-19 Szymon Janc <szymon@janc.net.pl>
15102
15103 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15104 NULL pointer dereference.
15105
de9c615e
VS
151062011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15107
15108 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15109 done with a dedicated section.
15110
15111 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15112 Ensure the correct position of boot_path.
15113 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15114 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15115 other fields.
15116 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15117 * include/grub/boot.h: Removed. All references removed.
15118 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15119 Removed.
15120 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15121
e55599dc
VS
151222011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15125 name.
15126
36dd20ad
VS
151272011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15128
15129 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15130
f8f72eb8
VS
151312011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15132
15133 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15134 Don't add the bogus brackets.
15135
a374751b
VS
151362011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15137
15138 ExFAT support.
15139
15140 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15141 * grub-core/Makefile.core.def (exfat): New module.
15142 * grub-core/fs/exfat.c: New file.
15143 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15144 (GRUB_FAT_ATTR_*): Make into an enum.
15145 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15146 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15147 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15148 (GRUB_FAT_MAXFILE): Removed.
15149 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15150 (grub_current_fat_bpb_t): New type.
15151 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15152 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15153 (grub_fat_dir_node_t): New type.
15154 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15155 (fat_log2) [MODE_EXFAT]: Removed.
15156 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15157 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15158 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15159 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15160 (grub_fat_label) [MODE_EXFAT]: New function.
15161 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15162 reserved_first_sector to 0.
15163
544c2487
VS
151642011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 Move grub_reboot out of the kernel.
15167
15168 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15169 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15170 * grub-core/lib/efi/reboot.c: ... here.
15171 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15172 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15173 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15174 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15175 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15176 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15177 * grub-core/lib/ieee1275/reboot.c: ... here.
15178 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15179 * grub-core/lib/mips/arc/reboot.c: ... here.
15180 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15181 * grub-core/lib/mips/loongson/reboot.c: ...here.
15182 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15183 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15184 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15185 * include/grub/i386/reboot.h: New file.
15186 * include/grub/mips/loongson/ec.h: Fix includes.
15187 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15188 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15189 * grub-core/lib/i386/reboot.c: New file.
15190
a97501d2
VS
151912011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 Make grub_prefix into module to fix the arbitrary limit and save
15194 some space.
15195
15196 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15197 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15198 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15199 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15200 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15201 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15202 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15203 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15204 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15205 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15206 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15207 * include/grub/ia64/efi/kernel.h: Removed.
15208 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15209 (grub_prefix): Removed.
15210 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15211 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15212 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15213 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15214 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15215 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15216 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15217 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15218 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15219 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15220 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15221 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15222 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15223 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15224 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15225 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15226 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15227 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15228 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15229 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15230 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15231 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15232 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15233 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15234 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15235 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15236 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15237 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15238 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15239 from module.
15240 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15241 prefix_end.
15242 (image_targets): Likewise.
15243 (generate_image): Put prefix as a module.
15244
39705fad
VS
152452011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 Replace grub_module_iterate with FOR_MODULES.
15248
15249 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15250 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15251 (grub_efi_modules_addr): ...this.
15252 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15253 (grub_efi_init): Set grub_modbase.
15254 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15255 (grub_modbase): New variable.
15256 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15257 (grub_modbase): New variable.
15258 (grub_machine_init): Set grub_modbase.
15259 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15260 (grub_modbase): New variable.
15261 (grub_machine_init): Set grub_modbase.
15262 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15263 (grub_modbase): New variable.
15264 (grub_machine_init): Set grub_modbase.
15265 * grub-core/kern/main.c (grub_module_iterate): Remove.
15266 (grub_modules_get_end): Use grub_modbase.
15267 (grub_load_modules): Use FOR_MODULES.
15268 (grub_load_config): Likewise.
15269 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15270 (grub_modbase): New variable.
15271 (grub_machine_init): Set grub_modbase.
15272 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15273 (grub_modbase): New variable.
15274 (grub_machine_init): Set grub_modbase.
15275 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15276 Removed.
15277 (grub_modbase): New variable.
15278 (grub_machine_init): Set grub_modbase.
15279 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15280 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15281 (grub_module_iterate): Likewise.
15282 (grub_modbase): New variable declaration.
15283 (FOR_MODULES): New macro.
15284
2afb7f6c
VS
152852011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15286
15287 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15288 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15289
366e34fa
VS
152902011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15291
15292 Fix few obvious type discrepancies.
15293
15294 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15295 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15296 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15297 variable.
15298 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15299 and connected types.
15300 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15301 offset.
15302 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15303 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15304 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15305 and connected types.
15306
177b960e
VS
153072011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15308
15309 Fix python 3.x incompatibilities.
15310
15311 * gentpl.py: Put brackets around print strings.
15312 * util/import_gcry.py: Open explicitly as utf-8.
15313 Use in instead of has_key.
15314
3b619ae1
VS
153152011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15316
15317 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15318 (GRUB_XFS_INO_AGBITS): Make into inline function.
15319 (GRUB_XFS_INO_INOINAG): Likewise.
15320 (GRUB_XFS_INO_AG): Likewise.
15321 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15322 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15323 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15324 (GRUB_XFS_EXTENT_SIZE): Likewise.
15325 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15326 (GRUB_XFS_NEXT_DIRENT): Likewise.
15327 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15328 (grub_xfs_read_file): Fix offset type.
15329
8bcebcb8
RM
153302011-10-15 Robert Millan <rmh@gnu.org>
15331
15332 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15333
0017e5ef
RM
153342011-10-15 Robert Millan <rmh@gnu.org>
15335
15336 Fix build problem on FreeBSD and GNU/kFreeBSD.
15337
15338 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15339
d8919552
VS
153402011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15343
15344 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15345 types.
15346 (grub_hfsplus_btree_recoffset): Likewise.
15347 (grub_hfsplus_btree_recptr): Likewise.
15348 (grub_hfsplus_find_block): Likewise.
15349 (grub_hfsplus_btree_search): Likewise.
15350 (grub_hfsplus_read_block): Likewise.
15351 (grub_hfsplus_read_file): Likewise.
15352 (grub_hfsplus_mount): Likewise.
15353 (grub_hfsplus_btree_iterate_node): Likewise.
15354 (grub_hfsplus_btree_search): Likewise.
15355 (grub_hfsplus_iterate_dir): Likewise.
15356 (grub_hfsplus_read): A small code simplification.
15357
c81296b6
VS
153582011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 * grub-core/kern/emu/hostdisk.c
15361 (convert_system_partition_to_system_disk): Don't assume that children
15362 of mapper nodes are mapper nodes.
15363
0eb8ffb1
VS
153642011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15365
15366 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15367 * include/grub/misc.h (grub_isxdigit): New function.
15368 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15369 switched to grub_isxdigit.
15370 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15371 number starting with a letter.
15372
a98f4a08
RM
153732011-10-09 Robert Millan <rmh@gnu.org>
15374
15375 LVM support for FreeBSD and GNU/kFreeBSD.
15376
15377 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15378 GNU/kFreeBSD.
15379 (LVM_DEV_MAPPER_STRING): Move from here ...
15380 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15381 * util/getroot.c: Include `<grub/util/lvm.h>'.
15382 (grub_util_get_dev_abstraction): Enable
15383 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15384 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15385 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15386 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15387 support it.
15388 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15389 GNU/kFreeBSD.
15390 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15391 when LVM abstraction is required for ${GRUB_DEVICE}.
15392
050e8e90
SJ
153932011-10-06 Szymon Janc <szymon@janc.net.pl>
15394
15395 Add support for LZO compression in GRUB:
15396 - import of minilzo library,
15397 - LZO decompression for btrfs,
15398 - lzop files decompression.
15399
15400 * grub-core/io/lzopio.c: New file.
15401 * grub-core/lib/adler32.c: Likewise.
15402 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15403 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15404 * grub-core/lib/minilzo/minilzo.c: Likewise.
15405 * grub-core/lib/minilzo/minilzo.h: Likewise.
15406 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15407 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15408 grub-core/lib/minilzo/minilzo.c to common.
15409 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15410 cflags in cppflags.
15411 * grub-core/Makefile.core.def (btrfs): Likewise.
15412 * grub-core/Makefile.core.def (lzopio): New module.
15413 (adler32): Likewise.
15414 * grub-core/fs/btrfs.c: Include minilzo.h.
15415 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15416 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15417 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15418 (grub_btrfs_lzo_decompress): New function.
15419 (grub_btrfs_extent_read): Add support for LZO compression type.
15420 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15421 (GRUB_USHRT_MAX): Likewise.
15422 (GRUB_UINT_MAX): Likewise.
15423 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15424 (UINT_MAX): Likewise.
15425 (CHAR_BIT): Likewise.
15426 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15427 grub-core/lib/posix_wrap/limits.h
15428 (UCHAR_MAX): Likewise.
15429 * include/grub/file.h (grub_file_filter_id): New compression filter
15430 GRUB_FILE_FILTER_LZOPIO.
15431 * include/grub/file.h (grub_file_filter_id): Set
15432 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15433 * include/grub/types.h (grub_get_unaligned16): New function.
15434 (grub_get_unaligned32): Likewise.
15435 (grub_get_unaligned64): Likewise.
15436 * util/import_gcry.py (cryptolist): Add adler32.
15437
0eb8ffb1
VS
154382011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15439
15440 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15441 in perspective decreases the complexity of build system and fixes
15442 compilation right now.
15443
ce79cc99 154442011-10-01 Ales Nesrsta <starous@volny.cz>
15445
15446 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15447 (fixed problem related to using UHCI with coreboot).
15448
8667a314
BC
154492011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15450
15451 * gentpl.py: Use Autogen macros so that the output template file
15452 (Makefile.tpl) size is reduced.
15453
fc5efcc0
MK
154542011-09-29 Mads Kiilerich <mads@kiilerich.com>
15455
15456 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15457 extra_dist.
15458
d1ab689d
ML
154592011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15460
15461 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15462 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15463
c05de032
ML
154642011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15465
15466 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15467 _fullpath.
15468
cca7ccd8
ML
154692011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15470
15471 Remove extra declaration of sleep for mingw32.
15472
15473 * util/misc.c (sleep) [__MINGW32__]: Removed.
15474 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15475
e0b0dc83
GS
154762011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15477
15478 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15479 type and packname.
15480 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15481 Resurrected.
15482 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15483 (grub_netbsd_btinfo_bootwedge): New struct.
15484 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15485 New function.
15486 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15487
91a1a164
TH
154882011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15489
15490 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15491 loader.
15492
2ded951e
AB
154932011-09-28 Andreas Born <futur.andy@googlemail.com>
15494
15495 Fix incorrect identifiers in bash-completion.
15496
15497 * util/bash-completion.d/grub-completion.bash.in
15498 (_grub_mkpasswd-pbkdf2): Rename to ...
15499 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15500 (_grub_script-check): Rename to ...
15501 (_grub_script_check): ... this. All users updated.
15502
69915030
VS
155032011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15504
15505 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15506 Return 0 if disk isn't biosdisk.
15507
20fd15f9
GS
155082011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15509
15510 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15511 on NetBSD.
15512 * Makefile.util.def (grub-fstest): Likewise.
15513
1a7d7db9
GS
155142011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15515
15516 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15517 Get sector size from disk label.
15518
2221ab6c
CW
155192011-09-05 Colin Watson <cjwatson@ubuntu.com>
15520
15521 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15522 */README* as well as README*.
15523 Reported by: Axel Beckert.
15524
ca51c4a0
VS
155252011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15526
15527 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15528 case of less than 256 MiB of RAM.
15529
ab80f326
VS
155302011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15531
15532 * grub-core/commands/wildcard.c (make_regex): Handle @.
15533
4155e697
VS
155342011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15535
15536 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15537
ab178c08
SJ
155382011-08-21 Szymon Janc <szymon@janc.net.pl>
15539
15540 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15541 AC_LANG_CONFTEST macros.
15542
7dc3c686
SJ
155432011-08-20 Szymon Janc <szymon@janc.net.pl>
15544
15545 Add grub-fstest option to uncompress data for commands.
15546
15547 * util/grub-fstest.c (uncompress): New var.
15548 (options): New option -u.
15549
fe8d4a7b
SJ
155502011-08-20 Szymon Janc <szymon@janc.net.pl>
15551
15552 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15553 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15554
a5219af1
SJ
155552011-08-20 Szymon Janc <szymon@janc.net.pl>
15556
15557 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15558 file type was not recognized correctly (not gzip or corrupted).
15559
f87abff5
VS
155602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15561
15562 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15563 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15564
d94497ea
VS
155652011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15566
15567 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15568 loongson.
15569 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15570 video_radeon_fuloong2e.
15571 * grub-core/video/radeon_fuloong2e.c: New file.
15572 * include/grub/video.h (grub_video_id_t): Add new ID
15573 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15574
0d1fd011
VS
155752011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15576
15577 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15578 define.
15579 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15580 that PRID matches the detected subplatform and reset the subplatform
15581 if it doesn't.
15582
84beb0ee
VS
155832011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15584
15585 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15586
1227c133
VS
155872011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 Fix PCI iterating on functions >= 4.
15590
15591 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15592 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15593 Removed.
15594 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15595 (grub_pci_read): Fix bitmask.
15596 (grub_pci_read_word): Likewise.
15597 (grub_pci_read_byte): Likewise.
15598 (grub_pci_write): Likewise.
15599 (grub_pci_write_word): Likewise.
15600 (grub_pci_write_byte): Likewise.
15601
9594c689
VS
156022011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15603
15604 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15605 can still be specified in TARGET_CFLAGS)
15606
14a2562c
VS
156072011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15610
15611 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15612 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15613 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15614 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15615 (FULOONG): Rename to ...
15616 (FULOONG2F): ... this. All users updated.
15617 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15618 (machtype_fuloong2f_str): ... this.
15619 (machtype_fuloong2e_str): New string.
15620 Check for machtype_fuloong2e_str.
15621 * grub-core/loader/mips/linux.c (loongson_machtypes)
15622 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15623 * grub-core/term/serial.c (loongson_defserial)
15624 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15625 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15626 loongson_defserial.
15627 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15628 Rename to ...
15629 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15630 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15631 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15632 to IMAGE_FULOONG2F_FLASH. All users updated.
15633 (image_targets): Rename images.
15634 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15635
b526cbb6
SJ
156362011-08-19 Szymon Janc <szymon@janc.net.pl>
15637
15638 Make enable of disk cache statistics code configurable.
15639
15640 * configure.ac: --enable-cache-stats added.
15641 * config.h.in (DISK_CACHE_STATS): New define.
15642 * grub-core/Makefile.core.def (cacheinfo): New command.
15643 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15644 * grub-core/commands/cacheinfo.c: New file.
15645 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15646 moved to cacheinfo.c.
15647 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15648 debug code.
15649 * include/grub/disk.h: Likewise.
15650
fb739ccd
SJ
156512011-08-19 Szymon Janc <szymon@janc.net.pl>
15652
15653 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15654 * grub-core/Makefile.am: Likewise.
15655
2bba8cfd
VS
156562011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15659 non-zero pull.
15660
43526629
VS
156612011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15664 All users updated.
15665 (grub_jfs_lookup_symlink): Use correct starting inode.
15666
5c144cc8
VS
156672011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 * util/grub-setup.c (main): Add missing gcry initialisation.
15670
b1257f65
VS
156712011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15672
15673 Don't accept text modes on EFI when booting Linux.
15674
15675 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15676 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15677
828bc390
ML
156782011-08-15 Mario Limonciello <mario_limonciello@dell.com>
156792011-08-15 Colin Watson <cjwatson@ubuntu.com>
15680
15681 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15682 use of "/path/.." as in grub-install for EFI as well as handling
15683 symlinks correctly.
15684 Fixes Debian bug #637768.
15685
5f60ccac
CW
156862011-08-15 Colin Watson <cjwatson@ubuntu.com>
15687
15688 * util/grub-probe.c: Remove duplicate #include.
15689
6dc212f9
RM
156902011-08-10 Robert Millan <rmh@gnu.org>
15691
15692 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
15693
15694 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
15695 function.
15696 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
15697 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
15698
66816d85
RM
156992011-08-03 Robert Millan <rmh@gnu.org>
15700
15701 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
15702 la_array as packed.
15703 Reported by: Zachary Bedell
15704
20168fca
CW
157052011-07-26 Colin Watson <cjwatson@ubuntu.com>
15706
15707 * configure.ac: The Loongson port requires grub-mkfont due to its
15708 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
15709 be built.
15710
303b6246
CW
157112011-07-26 Colin Watson <cjwatson@ubuntu.com>
15712
15713 * util/grub-install.in: Don't source grub-mkconfig_lib until after
15714 processing arguments (otherwise help2man fails when GRUB has not yet
15715 been installed).
15716
6795300e
VS
157172011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15718
41aa28ea
VS
15719 New script grub-mkstandalone.
15720
15721 * Makefile.util.def (grub-mkstandalone): New script.
15722 * docs/man/grub-mkstandalone.h2m: New file.
15723 * util/grub-mkstandalone.in: Likewise.
15724
157252011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 Support ATA disks with 4K sectors.
6795300e
VS
15728
15729 * include/grub/ata.h (grub_ata): New member log_sector_size.
15730 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
15731 (grub_ata_identify): Read sector size.
15732 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
15733
92227597
VS
157342011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 * util/grub-install.in: Don't use uhci outside of x86.
15737
c77069f5
VS
157382011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15739
15740 * util/grub-mkrescue.in: Add missing quotes.
15741
157422011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
15743
15744 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
15745 dereference.
15746
583168a2
VS
157472011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
15750
6be1c01f
VS
157512011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 * include/grub/video.h: add missing EXPORT_FUND on
15754 grub_video_edid_checksum and grub_video_edid_preferred_mode.
15755
a1167439
VS
157562011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 * include/grub/mips/kernel.h: Fix define conflict.
15759
bf66054f
VS
157602011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15761
15762 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
15763 all four ways.
15764
8fc4fa45
CW
157652011-07-21 Colin Watson <cjwatson@ubuntu.com>
15766
15767 Preferred resolution detection for VBE.
15768
15769 * grub-core/video/video.c (grub_video_edid_checksum): New function.
15770 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
15771 the Flat Panel extension, in line with the X.org VESA driver.
15772 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
15773 New function.
15774 (grub_vbe_bios_get_ddc_capabilities): Likewise.
15775 (grub_vbe_bios_read_edid): Likewise.
15776 (grub_vbe_get_preferred_mode): Likewise.
15777 (grub_video_vbe_setup): When the mode is "auto", try to get the
15778 preferred mode from VBE, and use the largest mode that is no larger
15779 than the preferred mode (some BIOSes expose a preferred mode that is
15780 not in their mode list!). If this fails, fall back to 640x480 as a
15781 safe conservative choice.
15782 (grub_video_vbe_get_edid): New function.
15783 (grub_video_vbe_adapter): Add get_edid.
15784 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
15785 (struct grub_video_adapter): Add get_edid.
15786 (grub_video_edid_checksum): Add prototype.
15787 (grub_video_edid_preferred_mode): Likewise.
15788 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
15789 structure.
15790
15791 * grub-core/commands/videoinfo.c (print_edid): New function.
15792 (grub_cmd_videoinfo): Print EDID if available.
15793
15794 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
15795 is more appropriate on a wider range of platforms than 640x480.
15796 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
15797 documentation.
15798
ca5572a9
VS
157992011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15800
15801 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
15802
e4bcf625
VS
158032011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 * po/POTFILES.in: Regenerate.
15806
c4edd548
VS
158072011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
15810 incorrect memory usage.
15811
16a2bab0
VS
158122011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15813
15814 * util/grub-install.in: Source grub-mkconfig_lib.
15815
2e418de6
VS
158162011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 Remove getroot.c from core on emu platform.
15819
15820 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
15821 kern/emu/raid.c.
15822 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
15823 useless.
15824 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
15825 * util/getroot.c (get_win32_path): ... here.
15826 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
15827 * util/getroot.c (fini_libzfs): ... here.
15828 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
15829 * util/getroot.c (grub_get_libzfs_handle): ... here.
15830 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
15831 Moved from here...
15832 * util/getroot.c (grub_find_zpool_from_dir): ... here.
15833 * grub-core/kern/emu/misc.c
15834 (grub_make_system_path_relative_to_its_root): Moved from here...
15835 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
15836 * grub-core/kern/emu/getroot.c: Moved from here ...
15837 * util/getroot.c: ... here. All users updated.
15838 * grub-core/kern/emu/raid.c: Moved from here ...
15839 * util/raid.c: ... here. All users updated.
15840
def9832a
VS
158412011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 * po/POTFILES.in: Regenerate.
15844
cd8fe79a
VS
158452011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15846
15847 Fix compilation on GNU/Linux.
15848
15849 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
15850 Disable geli.
15851 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
15852 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
15853 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
15854
a251b719
VS
158552011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
158562011-07-07 Michael Gorven <michael@gorven.za.net>
158572011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
15858
15859 LUKS and GELI support.
15860
15861 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
15862 grub-core/disk/luks.c, grub-core/disk/geli.c,
15863 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
15864 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
15865 grub-core/lib/arg.c.
15866 (libgrubmods.a): Remove gcrypts cflags and cppflags.
15867 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
15868 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
15869 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
15870 (grub-bin2h): Add libgcry.a.
15871 (grub-mkimage): Likewise.
15872 (grub-mkrelpath): Likewise.
15873 (grub-script-check): Likewise.
15874 (grub-editenv): Likewise.
15875 (grub-mkpasswd-pbkdf2): Likewise.
15876 (grub-pe2elf): Likewise.
15877 (grub-fstest): Likewise.
15878 (grub-mkfont): Likewise.
15879 (grub-mkdevicemap): Likewise.
15880 (grub-probe): Likewise.
15881 (grub-ofpath): Likewise.
15882 (grub-mklayout): Likewise.
15883 (example_unit_test): Likewise.
15884 (grub-menulst2cfg): Likewise.
15885 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
15886 * grub-core/Makefile.core.def (cryptodisk): New module.
15887 (luks): Likewise.
15888 (geli): Likewise.
15889 * grub-core/disk/AFSplitter.c: New file.
15890 * grub-core/disk/cryptodisk.c: Likewise.
15891 * grub-core/disk/geli.c: Likewise.
15892 * grub-core/disk/luks.c: Likewise.
15893 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
15894 grub_util_is_lvm.
15895 (grub_util_get_dm_abstraction): New function.
15896 (grub_util_follow_gpart_up): Likewise.
15897 (grub_util_get_geom_abstraction): Likewise.
15898 (grub_util_get_dev_abstraction): Use new functions.
15899 (grub_util_pull_device): Pull GELI and LUKS.
15900 (grub_util_get_grub_dev): Handle LUKS and GELI.
15901 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
15902 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
15903 (follow_geom_up): Removed.
15904 (grub_util_fd_seek): New function.
15905 (open_device): Use grub_util_fd_seek.
15906 (nread): Rename to ..
15907 (grub_util_fd_read): ... this. All users updated.
15908 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
15909 (grub_crypto_cbc_decrypt): Likewise.
15910 (grub_crypto_hmac_write): Likewise.
15911 (grub_crypto_hmac_buffer): Likewise.
15912 (grub_password_get): Extend to util.
15913 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
15914 New member modname.
15915 (gcry_md_spec) [GRUB_UTIL]: Likewise.
15916 * include/grub/cryptodisk.h: New file.
15917 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
15918 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
15919 LUKS and GELI.
15920 (grub_util_follow_gpart_up): New proto.
15921 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
15922 (grub_util_fd_read): Likewise.
15923 (grub_cryptodisk_cheat_mount): Likewise.
15924 (grub_util_cryptodisk_print_uuid): Likewise.
15925 (grub_util_get_fd_sectors): Likewise.
15926 * util/grub-fstest.c (mount_crypt): New var.
15927 (fstest): Mount crypto if requested.
15928 (options): New option -C.
15929 (argp_parser): Parse -C.
15930 (main): Init and fini gcry.
15931 * util/grub-install.in: Support cryptodisk install.
15932 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
15933 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
15934 cryptodisk.
15935 (prepare_grub_to_access_device): Likewise.
15936 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
15937 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
15938 (probe_cryptodisk_uuid): New function.
15939 (probe_abstraction): Likewise.
15940 (probe): Use new functions.
15941 * util/import_gcry.py: Create Makefile.utilgcry.def.
15942 Add modname member.
15943
9bfdcbbc
VS
159442011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 Lazy device scanning.
15947
15948 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
15949 (grub-setup): Remove util/raid.c.
15950 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
15951 * grub-core/disk/lvm.c (scan_depth): New variable.
15952 (grub_lvm_iterate): Rescan if necessary.
15953 (find_lv): New function based on grub_lvm_open.
15954 (grub_lvm_open): Use find_lv. Rescan on error.
15955 (is_node_readable): New function.
15956 (is_lv_readable): Likewise.
15957 (grub_lvm_scan_device): Skip already found disks.
15958 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
15959 Stop if searched device is found and readable.
15960 * grub-core/disk/raid.c (inscnt): New variable.
15961 (scan_depth): Likewise.
15962 (scan_devices): New function based on grub_raid_register. Abort if
15963 looked for device is found.
15964 (grub_raid_iterate): Rescan if needed.
15965 (find_array): NEw function based on -grub_raid_open.
15966 (grub_raid_open): Use find_array and rescan.
15967 (insert_array): Set became_readable_at.
15968 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
15969 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
15970 New function.
15971 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
15972 (grub_util_pull_device): New function.
15973 (grub_util_get_grub_dev): Call grub_util_pull_device.
15974 * util/raid.c: Moved to ..
15975 * grub-core/kern/emu/raid.c: ... here.
15976 (grub_util_raid_getmembers): New parameter "bootable".
15977 All users updated. Support 1.x.
15978 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
15979 All users updated.
15980 * include/grub/disk.h (grub_disk_pull_t): New enum.
15981 (grub_disk_dev): Change iterate prototype.
15982 All users updated.
15983 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
15984 New proto.
15985 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
15986 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
15987 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
15988 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
15989 All users updated.
15990 * include/grub/util/raid.h: Removed.
15991
1c358e59
VS
159922011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15993
15994 * po/POTFILES.in: Regenerate.
15995
abee94ed
VS
159962011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
15997
15998 Unify sparc init with other ieee1275.
15999
16000 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16001 instead of kern/sparc64/ieee1275/init.c.
16002 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16003 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16004 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16005 grub/machine/kernel.h.
16006 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16007 (grub_claim_heap) [__sparc__]: Use sparc version.
16008 (grub_machine_init): Moved args parsing to
16009 (grub_parse_cmdline): ...this.
16010 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16011 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16012 New definition.
16013 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16014
16015 Move BOOTP to separate file.
16016
16017 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16018 * grub-core/net/net.c: Move all BOOTP functions to
16019 * grub-core/net/bootp.c: ... here.
16020
16021 Use frame interface on PXE.
16022
16023 * grub-core/Makefile.core.def (pxecmd): Removed.
16024 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16025 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16026 * grub-core/i386/pc/pxe.c: Moved from here ...
16027 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16028 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16029 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16030
16031 EFI network support.
16032
16033 * grub-core/Makefile.core.def (efinet): New module.
16034 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16035 here...
16036 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16037 All users updated.
16038 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16039 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16040 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16041 * grub-core/net/drivers/efi/efinet.c: New file.
16042 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16043 (grub_efi_net_config): New extern var.
16044
16045 Various cleanups and bugfixes.
16046
16047 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16048 error.
16049 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16050 disk declared as partition.
16051 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16052 leak on failure.
16053 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16054 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16055 (grub_debug_zalloc): Likewise.
16056 (grub_debug_realloc): Likewise.
16057 (grub_debug_memalign): Likewise.
16058 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16059 Check that target is IPv4.
16060 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16061 local-mac-address as fallback.
16062 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16063 memory leak.
16064 * grub-core/net/ip.c (ipchksum): Rename to ...
16065 (grub_net_ip_chksum): ... this. All users updated.
16066 (grub_net_recv_ip_packets): Special handling for DHCP.
16067 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16068
16069 Unify prefix handling
16070
16071 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16072 (grub_machine_get_bootlocation): ... this.
16073 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16074 (grub_machine_get_bootlocation): ... this.
16075 (grub_prefix): New variable.
16076 (prefix): Removed.
16077 (root_dev): New variable.
16078 (dir): Likewise.
16079 (main): Use new variables.
16080 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16081 Revamped into ...
16082 (grub_machine_get_bootlocation): ... this.
16083 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16084 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16085 (grub_machine_get_bootlocation): ... this.
16086 (grub_machine_set_prefix): Removed.
16087 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16088 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16089 Revamped into ...
16090 (grub_machine_get_bootlocation): ... this.
16091 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16092 (grub_set_prefix_and_root): ... this. All users updated.
16093 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16094 Revamped into ...
16095 (grub_machine_get_bootlocation): ... this.
16096 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16097 (grub_machine_get_bootlocation): New proto.
16098 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16099
16100 Less intrusive and more reliable seek on network implementation.
16101
16102 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16103 (grub_file_seek): Don't call grub_file_net_seek.
16104 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16105 (grub_net_fs_read_real): .. this.
16106 (grub_net_seek_real): Use net->offset.
16107 (grub_net_fs_read): Seek if necessary.
16108
16109 Unify IEEE1275 netwotk config with the other platforms.
16110
16111 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16112 New variable.
16113 (grub_machine_get_bootlocation): Support network.
16114 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16115 Support type and device parsing.
16116 (grub_ieee1275_get_device_type): New function.
16117 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16118 into ...
16119 (grub_ieee1275_net_config_real): ... this.
16120 (grub_ofnet_probecards): Removed.
16121 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16122 * include/grub/ieee1275/ofnet.h: Removed.
16123 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16124 extern var.
16125 (grub_ieee1275_get_device_type): New function.
16126
16127 Unify network device closing across platforms and make more robust.
16128
16129 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16130 grub_grubnet_fini.
16131 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16132 already.
16133 * grub-core/net/net.c (grub_net_network_level_interface_register):
16134 Update num_ifaces.
16135 (grub_net_card_unregister): Close all interfaces.
16136 (receive_packets): Don't poll if no iterfaces are registered.
16137 Open if necessary.
16138 (grub_net_fini_hw): New function.
16139 (grub_net_restore_hw): Likewise.
16140 (fini_hnd): New variable.
16141 (GRUB_MOD_INIT): Register preboot hook.
16142 (GRUB_MOD_FINI): Run and unregister preboot hook.
16143
16144 Poll network cards when idle.
16145
16146 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16147 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16148 * grub-core/net/net.c (receive_packets): Save last poll time.
16149 (grub_net_poll_cards_idle_real): New function.
16150 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16151 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16152 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16153
16154 Rename ofnet interfaces.
16155
16156 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16157 (grub_ofnet_findcards): Use ofnet_%s names.
16158
16159 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16160
16161 Cleanup socket opening.
16162
16163 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16164 (grub_net_fs_close): Likewise.
16165 (grub_net_fs_read_real): Use eof member.
16166 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16167 (+grub_net_udp_close): New inline function.
16168
16169 * include/grub/net/tftp.h: Moved to the top of ...
16170 * grub-core/net/tftp.c: ... here.
16171 * include/grub/net/ip.h: Moved mostly to the top of ...
16172 * grub-core/net/ip.c: ... here.
16173 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16174 * grub-core/net/ethernet.c: ... here.
16175
16176 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16177
16178 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16179 FS name.
16180
16181 * include/grub/net/ip.h (ipv4_ini): Removed.
16182 (ipv4_fini): Likewise.
16183
16184 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16185 (grub_net_send_ip_packets): Likewise.
16186
cf1337aa
VS
161872011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16190 grub_read_cmos prototype.
16191
93c06ff9
VS
161922011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16193
16194 VGA text support in qemu-mips
16195
16196 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16197 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16198 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16199 text.
16200 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16201 * grub-core/kern/vga_init.c: ... this.
16202 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16203 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16204 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16205 Adjust.
16206 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16207 GRUB_MACHINE_PCI_IO_BASE.
16208
748ccabe
VS
162092011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 MIPS qemu flash support.
16212
16213 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16214 magic.
16215 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16216 (grub_machine_init): Probe memory if its size isn't known.
16217 * util/grub-mkimage.c (image_targets): Add flash targets.
16218 (generate_image): Handle flash targets.
16219
d7345994
VS
162202011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16221
16222 MIPS qemu at_keyboard support.
16223
16224 * gentpl.py (videoinkernel): Add qemu-mips.
16225 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16226 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16227 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16228 modules.
16229 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16230 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16231 * grub-core/term/serial.c (grub_serial_register)
16232 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16233
a07a81b3
VS
162342011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16235
16236 CMOS support on sparc.
16237
16238 * gentpl.py (cmos): Add powerpc and sparc.
16239 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16240 powerpc and sparc.
16241 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16242 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16243 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16244 grub_set_datetime_cmos.
16245 * grub-core/lib/ieee1275/cmos.c: New file.
16246 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16247 (find_rtc): Set no_ieee1275_rtc on error.
16248 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16249 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16250 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16251 fail. Move value to argument. All users updated
16252 (grub_cmos_write): Likewise.
16253 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16254 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16255 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16256 grub_get_datetime_cmos and grub_set_datetime_cmos.
16257
77546584
GS
162582011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16259
16260 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16261 sourcing grub-mkconfig_lib.
16262 * util/update-grub_lib.in: Likewise.
16263 * util/grub.d/00_header.in: Likewise.
16264 * util/grub.d/10_hurd.in: Likewise.
16265 * util/grub.d/10_kfreebsd.in: Likewise.
16266 * util/grub.d/10_linux.in: Likewise.
16267 * util/grub.d/10_netbsd.in: Likewise.
16268 * util/grub.d/10_windows.in: Likewise.
16269 * util/grub.d/20_linux_xen.in: Likewise.
16270 * util/grub.d/30_os-prober.in: Likewise.
16271
54894791
CW
162722011-06-28 Colin Watson <cjwatson@ubuntu.com>
16273
16274 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16275 default_bg_color rather than black.
16276 (grub_gfxterm_fullscreen): Likewise.
16277 (grub_gfxterm_background_color_cmd): Save new background color in
16278 default_bg_color.
16279
8d5d8444
VS
162802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16281
16282 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16283
5afeb5bd
VS
162842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16285
16286 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16287 mismerge.
16288
ba7df45e
VS
162892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 Chainloading on coreboot support.
16292
16293 * grub-core/Makefile.core.def (chain): Add coreboot.
16294 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16295
d0b526b2
VS
162962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16297
16298 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16299 if it happens.
16300
5ff1d945
VS
163012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16302
16303 Implement time command.
16304
16305 * grub-core/Makefile.core.def (time): New module.
16306 * grub-core/commands/time.c: New file.
16307 * grub-core/script/parser.y: Remove "time" keyword.
16308 * grub-core/script/yylex.l: Likewise.
16309
5ebaad7e
VS
163102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16311
16312 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16313
bdea3798
VS
163142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16317 when handling leftovers.
16318
b28c5655
VS
163192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16320
16321 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16322 so that help2man doesn't fail.
16323
b6f945dc
VS
163242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16325
16326 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16327 type in pointers on sparc64.
16328 (get_card_packet): Likewise.
16329
f9b75e8a
CW
163302011-06-27 Colin Watson <cjwatson@ubuntu.com>
16331
16332 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16333 with `*'.
16334 (grub_cmd_videoinfo): Fetch current video mode.
16335
1e3d9b86
VS
163362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16339 because of underlying system restrictions.
16340
efff4b1c
VS
163412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16342
16343 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16344 necessary.
16345
9fc9ce37
VS
163462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16347
16348 Coreboot video support.
16349
16350 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16351 (vbe): Likewise.
16352 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16353 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16354 here ...
16355 * grub-core/kern/i386/int.S: ... here.
16356 * grub-core/video/i386/pc/vbe.c: Updated includes.
16357 * grub-core/video/i386/pc/vga.c: Likewise.
16358 * include/grub/i386/coreboot/memory.h
16359 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16360 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16361 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16362 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16363 Disable interrupts.
16364 * include/grub/i386/pc/vga.h: Removed. All users updated.
16365
41bec7fe
VS
163662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16367
16368 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16369 definitions for dprintf.
16370 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16371
ca80309d
VS
163722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16373
16374 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16375 prototype.
16376 (get_card_packet): Likewise.
16377
9e322ce8
YB
163782011-06-26 Yves Blusseau <blusseau@zetam.org>
16379
16380 Display the path of the file when file is not found
16381
16382 * grub-core/fs/fat.c: Display the filename when file is not found.
16383 * grub-core/fs/fshelp.c: Likewise.
16384 * grub-core/fs/hfs.c: Likewise.
16385 * grub-core/fs/jfs.c: Likewise.
16386 * grub-core/fs/minix.c: Likewise.
16387 * grub-core/fs/ufs.c: Likewise.
16388 * grub-core/fs/btrfs.c: Likewise.
16389 * grub-core/commands/i386/pc/play.c: Likewise.
16390
cbf597af
SJ
163912011-06-26 Szymon Janc <szymon@janc.net.pl>
16392
16393 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16394 pointer checks before calling grub_free().
16395 * grub-core/commands/wildcard.c (match_devices): Likewise.
16396 * grub-core/commands/wildcard.c (match_files): Likewise.
16397 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16398 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16399 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16400 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16401 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16402 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16403 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16404 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16405 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16406
6295b32f
P
164072011-06-25 Patrick <p55@mailinator.com>
16408
16409 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16410
77c0840b
VS
164112011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16414 (grub_pxe_send): Likewise.
16415 (GRUB_MOD_INIT): Fix types.
16416
40ea05de
SJ
164172011-06-24 Szymon Janc <szymon@janc.net.pl>
16418
16419 * grub-core/io/xzio.c: Fix code style issues
16420
90162423
MRA
164212011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
164222011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16423
16424 Network infrastructure.
16425 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16426
16427 * include/grub/net/arp.h: New file.
90162423
MRA
16428 * include/grub/net/device.h: Likewise.
16429 * include/grub/net/ethernet.h: Likewise.
16430 * include/grub/net/ip.h: Likewise.
16431 * include/grub/net/netbuff.h: Likewise.
16432 * include/grub/net/tftp.h: Likewise.
16433 * include/grub/net/udp.h: Likewise.
16434 * include/grub/ieee1275/ofnet.h: Likewise.
16435 * include/grub/emu/export.h: Likewise.
16436 * include/grub/net.h: Likewise.
16437 * grub-core/net/arp.c: Likewise.
16438 * grub-core/net/ethernet.c: Likewise.
16439 * grub-core/net/ip.c: Likewise.
16440 * grub-core/net/udp.c: Likewise.
16441 * grub-core/net/tftp.c: Likewise.
16442 * grub-core/net/netbuff.c: Likewise.
16443 * grub-core/net/net.c: Likewise.
16444 * grub-core/net/drivers/emu/emunet.c: Likewise.
16445 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16446 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16447 export.h.
16448 * grub-core/Makefile.core.def (net): New module.
16449 (tftp): Likewise.
16450 (ofnet): Likewise.
16451 (emunet): Likewise.
16452 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16453 network protocols.
16454 * grub-core/kern/device.c (grub_net_open) : New variable.
16455 (grub_device_open): Handle network device.
16456 (grub_device_close): Likewise.
16457 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16458 (grub_grubnet_fini): Likewise.
16459 (grub_file_seek): Seek in network device.
16460 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16461 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16462 network root.
16463 (grub_machine_fini): Call grub_grubnet_fini.
16464 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16465 network.
16466 (grub_ieee1275_get_aliasdevname): New function.
16467 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16468 Add unofficial Solaris network info.
16469 (grub_multiboot_make_mbi): Likewise.
16470 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16471 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16472 * include/grub/device.h (grub_fs): Removed.
16473 * include/grub/err.h (grub_err_t): Add network-related values.
16474 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16475 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16476 (grub_ieee1275_get_aliasdevname): New proto.
16477 * include/grub/net.h: Rewritten.
423a1849 16478
031f22a0
VS
164792011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16480
16481 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16482 names.
16483
4388ca72
VS
164842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16485
16486 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16487 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16488 it truncates the output.
16489 Reported by: Ximin Luo.
16490
98e2f506
VS
164912011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16492
16493 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16494
2a5e94d8
VS
164952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16498 partmap before abstraction.
16499
535c1910
AK
165002011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16501
16502 * util/grub-mkconfig_lib.in: Add missing quotes.
16503
bc09e1a2
VS
165042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16505
16506 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16507 old method if mountinfo would return /dev/root and /dev/root doesn't
16508 exist.
16509
290766fb
VS
165102011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16511
16512 ZFS zlib support
16513
16514 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16515 (decomp_table): Add zlib entries.
16516 (zio_read): USe 8 bits for compression function rather than 3.
16517 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16518
165192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16520
16521 * grub-core/disk/ahci.c: Add missing license statements.
16522 * grub-core/fs/romfs.c: Likewise.
16523 * grub-core/lib/ia64/setjmp.S: Likewise.
16524 * grub-core/loader/i386/pc/freedos.c: Likewise.
16525 * grub-core/loader/ia64/efi/linux.c: Likewise.
16526 * grub-core/video/colors.c: Likewise.
16527 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16528
5ab3f48a
VS
165292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 AHCI support.
16532
16533 * grub-core/Makefile.core.def (ata_pthru): Removed.
16534 (ahci): New module.
16535 (pata): Likewise.
16536 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16537 on unload.
16538 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16539 readwrite.
16540 (grub_hdparm_do_check_powermode_cmd): Likewise.
16541 (grub_hdparm_do_smart_cmd): Likewise.
16542 (grub_hdparm_set_val_cmd): Likewise.
16543 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16544 * grub-core/disk/ahci.c: New file.
16545 * grub-core/disk/ata.c: Factor out the low-level part into ...
16546 * grub-core/disk/pata.c: ... here.
16547 * grub-core/disk/ata_pthru.c: Contents moved to ...
16548 * grub-core/disk/pata.c: ... here.
16549 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16550 (grub_scsi_iterate): Use grub_scsi_names.
16551 (grub_scsi_open): Likewise.
16552 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16553 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16554 (grub_ata_regs_t): New struct.
16555 (grub_disk_ata_pass_through_parms): Likewise.
16556 (grub_ata_device): Renamed to ...
16557 (grub_ata): ... this.
16558 (grub_ata_dev): New struct.
16559 Removed all low-level inline functions.
16560 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16561 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16562 iterate hooks and open. All users updated.
16563 * util/grub-install.in: Handle AHCI disk module.
16564
c31dc5f5
SJ
165652011-06-23 Szymon Janc <szymon@janc.net.pl>
16566
16567 Add support for DRI and RSTn markers in JPEG files.
16568
16569 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16570 (JPEG_MARKER_RST0): Likewise.
16571 (JPEG_MARKER_RST1): Likewise.
16572 (JPEG_MARKER_RST2): Likewise.
16573 (JPEG_MARKER_RST3): Likewise.
16574 (JPEG_MARKER_RST4): Likewise.
16575 (JPEG_MARKER_RST5): Likewise.
16576 (JPEG_MARKER_RST6): Likewise.
16577 (JPEG_MARKER_RST7): Likewise.
16578 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16579 (grub_jpeg_decode_dri): New function.
16580 (grub_jpeg_decode_sos): Move image data related part into
16581 grub_jpeg_decode_data function.
16582 (grub_jpeg_decode_data): New function.
16583 (grub_jpeg_reset): New function.
16584 (grub_jpeg_decode_jpeg): Handle new markers.
16585
fe12fd5b
VS
165862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16587
16588 * util/ieee1275/ofpath.c (check_sas): Close fd.
16589 (main): Free of_path.
16590 Reported by: David Volgyes <dvolgyes>.
16591
03147f46
VS
165922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16593
16594 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16595 Reported by: David Volgyes <dvolgyes>.
16596
cad3237f
VS
165972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16600 file after stat.
16601 Reported by: David Volgyes <dvolgyes>.
16602
13548d26
VS
166032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16604
16605 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16606
16607 Reported by: David Volgyes <dvolgyes>.
16608
e061a1b5
VS
166092011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16610
16611 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16612 Prevent memory leak.
16613
1abe47dc
VS
166142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16615
16616 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16617 (main): Close file.
e061a1b5 16618 Reported by: David Volgyes <dvolgyes>.
1abe47dc 16619
fbc62666
VS
166202011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16621
16622 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16623 to continue if allocation is failed.
16624
16625 Reported by: David Volgyes <dvolgyes>.
16626
e98c83e9
DV
166272011-06-23 David Volgyes <dvolgyes>
16628
16629 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16630 dereference.
16631
a199a8cd
VS
166322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 Fix spurious warning.
16635
16636 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16637 (acorn_partition_map_find): Use .bin member.
16638
e2d1dba0
VS
166392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16640
16641 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16642 /dev/root as a valid device.
16643
8a5d6919
JM
166442011-06-23 Jim Meyering <meyering@redhat.com>
16645
e2d1dba0
VS
16646 Avoid NULL deref in grub_device_open.
16647
8a5d6919
JM
16648 * grub-core/kern/device.c (grub_device_open): Don't dereference
16649 a NULL pointer upon failed grub_env_get.
16650
f7db6f4a
VS
166512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16652
16653 Support non-512B sectors and agglomerate reads.
16654
16655 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16656 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16657 (disk_io_guid): Removed.
16658 (make_devices): Locate solely by BlockIO.
16659 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16660 (grub_efidisk_read): Use read_blocks.
16661 (grub_efidisk_write): Use write_blocks.
16662 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16663 log_sector_size.
16664 (get_safe_sectors): Handle non-512B sectors.
16665 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16666 sectors.
16667 (grub_biosdisk_write): Handle non-512B sectors.
16668 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16669 (grub_scsi_read): Remove special non-512B block handling (now handled
16670 one level up).
16671 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16672 and do sanity checks.
16673 (grub_disk_adjust_range): Handle non-512B sectors.
16674 (transform_sector): New function.
16675 (grub_disk_read_small): Likewise.
16676 (grub_disk_read): Rewritten.
16677 (grub_disk_write): Handle non-512B sectors.
16678 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16679 log_sector_size.
16680 (open_device): Use log_sector_size.
16681 (grub_util_biosdisk_read): Likewise.
16682 (grub_util_biosdisk_write): Likewise.
16683 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16684 non-512B sectors.
16685 (pc_partition_map_embed): Likewise.
16686 * include/grub/disk.h (grub_disk): New field log_sector_size.
16687 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16688 (GRUB_DISK_CACHE_BITS): Increased to 6.
16689 * util/grub-fstest.c (fstest): New command testload.
16690 (argp_parser): Likewise.
16691
881ac815
RM
166922011-06-16 Robert Millan <rmh@gnu.org>
16693
16694 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
16695 `ata' driver on kernel of FreeBSD 9.
16696
16697 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
16698 (get_ataraid_disk_name): New functions.
16699 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
16700 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
16701 get_ataraid_disk_name() and get_ada_disk_name().
16702
1e9aef7d
CW
167032011-06-13 Colin Watson <cjwatson@ubuntu.com>
16704
16705 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
16706 input format.
16707
351c7c8a
CW
167082011-05-29 Colin Watson <cjwatson@ubuntu.com>
16709
16710 * docs/grub.texi (Obtaining and Building GRUB): Substitute
16711 `ftp.gnu.org' for `alpha.gnu.org'.
16712
6b4e6430
CW
167132011-05-27 Colin Watson <cjwatson@ubuntu.com>
16714
16715 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
16716 partitions under /dev/disk/by-id/.
16717
c64db050
CW
167182011-05-27 Colin Watson <cjwatson@ubuntu.com>
16719
16720 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
16721 after ten consecutive open failures. Scanning all the way up to
16722 10000 is excessive and can cause serious performance problems in
16723 some configurations.
16724 Fixes Ubuntu bug #787461.
16725
245f4aba
VS
167262011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16727
16728 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
16729 opening new one.
16730
f767c929
VS
167312011-05-21 Colin Watson <cjwatson@ubuntu.com>
167322011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16733
16734 Don't stat devices unless we have to.
16735
16736 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
16737 dir == /dev/mapper.
16738 (grub_guess_root_device): Use already known os_dev if possible.
16739 * grub-core/kern/emu/hostdisk.c
16740 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
16741 if device is known to be a dm one.
16742
f35fa3a6
CW
167432011-05-20 Colin Watson <cjwatson@ubuntu.com>
16744
16745 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
16746 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
16747 Reported by: Pawel Tecza.
16748
9a79fcf2
VS
167492011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
16752 (lsefisystab): Likewise.
16753 (lssal): Likewise.
16754 (lsefimmap): Likewise.
16755 (hdparm): Enable on qemu-mips.
16756 (setjmp): Add ia64 nodist.
16757 (serial): Simplify tags.
16758
63e3eea9
CW
167592011-05-18 Colin Watson <cjwatson@ubuntu.com>
16760
16761 * Makefile.util.def (grub-ofpathname): Install manual page.
16762
09728256
CW
167632011-05-18 Colin Watson <cjwatson@ubuntu.com>
16764
16765 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
16766
8b63a142
CW
167672011-05-18 Colin Watson <cjwatson@ubuntu.com>
16768
16769 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
16770
e775d8ed
VS
167712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
16774 into dprintf.
16775
bf947d36
VS
167762011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16777
16778 Use full 64-bit division.
16779
16780 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
16781 (grub_divmod64): ... this.
16782 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
16783 version.
16784
b84f26c5
CW
167852011-05-18 Colin Watson <cjwatson@ubuntu.com>
16786
16787 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
16788 `source'.
16789
5626056f
CW
167902011-05-18 Colin Watson <cjwatson@ubuntu.com>
16791
16792 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
16793 to avoid accidents when debugging with 'sh -x'.
16794 * grub-core/gensyminfo.sh.in: Likewise.
16795 * tests/example_scripted_test.in: Likewise.
16796 * tests/grub_cmd_regexp.in: Likewise.
16797 * tests/grub_script_blanklines.in: Likewise.
16798 * tests/grub_script_dollar.in: Likewise.
16799 * tests/grub_script_expansion.in: Likewise.
16800 * tests/grub_script_final_semicolon.in: Likewise.
16801 * tests/partmap_test.in: Likewise.
16802 * tests/util/grub-shell-tester.in: Likewise.
16803 * tests/util/grub-shell.in: Likewise.
16804
e2965f4a
CW
168052011-05-18 Colin Watson <cjwatson@ubuntu.com>
16806
16807 Move gfxmenu color handling to video, so that gfxterm can use it
16808 too.
16809
16810 * grub-core/gfxmenu/named_colors.c: Move to ...
16811 * grub-core/video/colors.c: ... here. Rename
16812 grub_gui_get_named_color to grub_video_get_named_color.
16813 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
16814 * grub-core/video/colors.c (my_isxdigit): ... here.
16815 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
16816 Move to ...
16817 * grub-core/video/colors.c (parse_hex_color_component): ... here.
16818 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
16819 to ...
16820 * grub-core/video/colors.c (grub_video_parse_color): ... here.
16821
16822 * include/grub/gui.h (grub_gui_color_t): Move to ...
16823 * include/grub/video.h (grub_video_rgba_color_t): ... here.
16824 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
16825 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
16826 * include/grub/gui.h (grub_gui_map_color): Move to ...
16827 * include/grub/video.h (grub_video_map_rgba_color): ... here.
16828 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
16829 to ...
16830 * include/grub/video.h (grub_video_get_named_color): ... here.
16831 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
16832 * include/grub/video.h (grub_video_parse_color): ... here.
16833
16834 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
16835 video/colors.c.
16836 (gfxmenu): Remove gfxmenu/named_colors.c.
16837 (video) [videomodules]: Add video/colors.c.
16838
16839 Add a background_color command.
16840
16841 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
16842 function.
16843 (GRUB_MOD_INIT): Register background_color command.
16844 (GRUB_MOD_FINI): Unregister background_color command.
16845 (redraw_screen_rect): Allow blend/replace of text layer to be
16846 controlled independently from whether there is a background bitmap.
16847 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
16848 changing bitmap.
16849
1e4b4390
VS
168502011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16851
26618ff0
VS
16852 Patch BPB in ntldr and chainloader --bpb.
16853
1e4b4390
VS
16854 * grub-core/fs/fat.c: Include grub/fat.h.
16855 (grub_fat_bpb): Moved to ...
16856 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
16857 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
16858 grub/ntfs.h.
16859 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
16860 Moved from here...
16861 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
16862 here.
16863 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
16864 New function.
16865 (grub_chainloader_cmd): Patch BPB if --bpb is given.
16866 (GRUB_MOD_INIT): Show --bpb.
16867 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
16868 * grub-core/normal/main.c (features): New variable.
16869 (GRUB_MOD_INIT): Set feature_* variables.
16870 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
16871 proto.
16872 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
16873
cf02731e
VS
168742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16875
16876 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
16877 for cleanness.
16878
e3a1073f
VS
168792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16880
16881 FreeDOS direct loading support.
16882
16883 * docs/grub.texi (Supported OS): Add FreeDOS.
16884 * grub-core/Makefile.core.def (freedos): New module.
16885 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
16886 variable.
16887 (grub_relocator16_boot): Handle %ebx.
16888 * grub-core/lib/i386/relocator16.S: Likewise.
16889 * grub-core/loader/i386/pc/freedos.c: New file.
16890
05caa461
VS
168912011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16892
16893 Long Linux command line support.
16894
16895 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
16896 (maximal_cmdline_size): New variable.
16897 (allocate_pages): Use maximal_cmdline_size.
16898 (grub_cmd_linux): Set and use maximal_cmdline_size.
16899 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
16900 (allocate_pages): Use maximal_cmdline_size.
16901 (grub_cmd_linux): Set and use maximal_cmdline_size.
16902 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
16903 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
16904 and cmdline_size.
16905
a2491e23
VS
169062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
169072011-05-18 Colin Watson <cjwatson@ubuntu.com>
16908
16909 Improve devmapper support
16910
16911 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
16912 (grub_util_is_lvm): New function.
16913 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
16914 than lvm if not dmraid.
16915 Handle mapped md nodes.
16916 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
16917 (grub_util_device_is_mapped): ... this. Make always available. All users
16918 updated.
16919 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
16920 (convert_system_partition_to_system_disk): Handle lvm, mpath and
16921 dmraid nodes.
16922 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
16923
6ad6223e
VS
169242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16925
16926 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
16927
16928 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
16929 * grub-core/modinfo.sh.in: New file.
16930 * grub-core/Makefile.core.def (modinfo.sh): New script.
16931 * util/grub-mknetdir.in: Use modinfo.sh.
16932 * util/grub-mkrescue.in: Likewise.
16933
543a8f6e
VS
169342011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16937 Fix potential usage of Elf32 instead of Elf64 when compiling on
16938 32-bit architecture. Add endianness macros while on it.
16939
4959e111
VS
169402011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16941
16942 Use mipsel- rather than mips- in directories involving mipsel ports to
16943 allow both endiannesses coexist.
16944
16945 * configure.ac: proparate target_cpu=mipsel rather than resetting to
16946 mips. All conditions adjusted.
16947 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
16948 variable.
16949 * util/grub-install.in: Adjust conditions to take renaming into account.
16950 * util/grub-mkimage.c (image_targets): Likewise. New target
16951 mips-qemu_mips-elf for bigendian mips.
16952
35341bbc
VS
169532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16954
16955 Avoid unnecessary copying on MIPS.
16956
16957 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
16958 early if src == dest.
16959 * util/grub-mkimage.c (generate_image): Arange for src == dest if
16960 compression is none.
16961
b772baed
VS
169622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 Reduce memory footprint on SGI by putting modules before the kernel
16965 as opposed to after.
16966
16967 * grub-core/Makefile.core.def (kernel): Increase linking address.
16968 (none_decompress): Likewise.
16969 (xz_decompress): Likewise.
16970 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
16971 address.
16972 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
16973 layout change.
16974 (grub_arch_modules_addr): New function.
16975 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
16976 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
16977 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
16978 here.
16979 * grub-core/kern/mips/startup.S (total_size): Rename to ...
16980 (grub_total_modules_size): ... this. Make global.
16981 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
16982 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
16983 New definition.
16984 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
16985 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
16986 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
16987 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
16988 * util/grub-mkimage.c (image_target_desc): New flag
16989 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
16990 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
16991 (generate_image): Handle images with modules before kernel.
16992
566a1917
VS
169932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16994
16995 Prevent potential loss of memory map by overwrite on qemu-mips.
16996
16997 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
16998 Save ram size in $s4.
16999 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17000 All users changed to grub_arch_memsize.
17001 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17002 Loongson.
17003 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17004 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17005 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17006 external variable.
17007
5d420cd9
CW
170082011-05-17 Colin Watson <cjwatson@ubuntu.com>
17009
17010 * .bzrignore: Remove grub-dumpbios.
17011
d064b830
CW
170122011-05-17 Colin Watson <cjwatson@ubuntu.com>
17013
17014 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17015 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17016 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17017 existing options which append).
17018 * docs/grub.texi (Simple configuration): Document new options.
17019 Reported by: Ian Jackson. Fixes Debian bug #617538.
17020
3ca2b466
CW
170212011-05-17 Colin Watson <cjwatson@ubuntu.com>
17022
17023 * util/grub-fstest.c (cmd_cat): New function.
17024 (fstest): Handle CMD_CAT.
17025 (options): Add cat.
17026 (argp_parser): Handle cat.
17027
24c9143a
CW
170282011-05-17 Colin Watson <cjwatson@ubuntu.com>
17029
17030 * Makefile.util.def (grub-bin2h): Don't install.
17031 * docs/man/grub-bin2h.h2m: Remove.
17032
90f7ac19
VS
170332011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17036 place.
17037
8d4a5178
VS
170382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 Reenable qemu-mips port.
17041
17042 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17043 Fix small arc bug while on it.
17044 * gentpl.py: Handle qemu_mips.
17045 * grub-core/Makefile.am: Likewise.
17046 * grub-core/Makefile.core.def: Likewise.
17047 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17048 inappropriate includes.
17049 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17050 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17051 * grub-core/kern/main.c (grub_modules_get_end)
17052 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17053 * grub-core/kern/mips/qemu-mips: Moved to ..
17054 * grub-core/kern/mips/qemu_mips: ... this.
17055 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17056 (grub_machine_init): Call terminfo_init and serial_init.
17057 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17058 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17059 New variable.
17060 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17061 parameter passing.
17062 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17063 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17064 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17065 * include/grub/mips/qemu_mips/cmos.h: New file.
17066 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17067 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17068 Removed.
17069 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17070 Use correct mips-style address.
17071 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17072 (GRUB_TICKS_PER_SECOND): Removed.
17073 (grub_get_rtc): Likewise.
17074 (grub_cpu_idle): Likewise.
17075 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17076 New definition.
17077 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17078 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17079 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17080 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17081 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17082 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17083 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17084 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17085
400b9371
VS
170862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17087
17088 SGI ARCS port.
17089
17090 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17091 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17092 platforms.
17093 * configure.ac: New target mips-arc.
17094 * gentpl.py: Likewise.
17095 * grub-core/Makefile.am: Likewise.
17096 * grub-core/Makefile.core.def: Likewise.
17097 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17098 (none_decompress): Likewise.
17099 (lsdev): New module.
17100 (datetime): Use lib/arc/datetime.c on ARC.
17101 (part_dvh): New module.
17102 * grub-core/commands/arc/lsdev.c: New file.
17103 * grub-core/disk/arc/arcdisk.c: Likewise.
17104 * grub-core/kern/mips/arc/init.c: Likewise.
17105 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17106 aligned addresses.
17107 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17108 support.
17109 (grub_arch_dl_relocate_symbols): Likewise.
17110 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17111 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17112 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17113 platforms.
17114 * grub-core/lib/arc/datetime.c: New file.
17115 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17116 pci.h on non-loongson.
17117 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17118 (grub_linux_boot): Set unused registers to 0.
17119 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17120 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17121 * grub-core/mmap/mips/uppermem.c: ...here.
17122 * grub-core/partmap/dvh.c: New file.
17123 * grub-core/term/arc/console.c: Likewise.
17124 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17125 (grub_terminfo_set_current): Add terminal "arc".
17126 (grub_terminfo_readkey): Support ARC sequences.
17127 * include/grub/arc/arc.h: New file.
17128 * include/grub/arc/console.h: Likewise.
17129 * include/grub/disk.h (grub_disk_dev_id): Add
17130 GRUB_DISK_DEVICE_ARCDISK_ID.
17131 * include/grub/mips/arc/kernel.h: New file.
17132 * include/grub/mips/arc/memory.h: Likewise.
17133 * include/grub/mips/arc/time.h: Likewise.
17134 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17135 * include/grub/mips/kernel.h (grub_halt): ... here.
17136 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17137 here...
17138 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17139 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17140 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17141 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17142 proto.
17143 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17144 from here ...
17145 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17146 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17147 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17148 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17149 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17150 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17151 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17152 (grub_phys_addr_t): Moved from here ...
17153 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17154 (grub_vtop): Moved from here ...
17155 * include/grub/mips/memory.h (grub_vtop): ... here.
17156 (grub_map_memory): Moved from here ...
17157 * include/grub/mips/memory.h (grub_map_memory): ... here.
17158 (grub_unmap_memory): Moved from here ...
17159 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17160 (grub_machine_mmap_iterate): Moved from here ...
17161 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17162 (grub_mmap_get_lower): Moved from here ...
17163 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17164 (grub_mmap_get_upper): Moved from here ...
17165 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17166 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17167 here ...
17168 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17169 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17170 here ...
17171 * include/grub/mips/time.h (grub_get_rtc): ... here.
17172 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17173 here ...
17174 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17175 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17176 here ...
17177 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17178 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17179 definition.
17180 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17181 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17182 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17183 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17184 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17185 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17186 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17187 (GRUB_MACHINE_LINK_ADDR): Likewise.
17188 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17189 to 6.
17190 * util/grub-install.in: Run dvhtool on ARC.
17191 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17192 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17193
c8ecc840
VS
171942011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17195
17196 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17197 blocks.
17198
153a4b55
VS
171992011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17200
17201 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17202 after enabling port.
17203
ff44d107
VS
172042011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17205
17206 Skip incorrect USB devices.
17207
17208 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17209 configcnt == 0.
17210 * include/grub/usb.h (grub_usb_err_t): New enum value
17211 GRUB_USB_ERR_BADDEVICE.
17212
638dbe4f
VS
172132011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17214
17215 Fuloong video init support.
17216
17217 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17218 well.
17219 (grub_vga_read_arx): New function.
17220 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17221 definition.
17222 (framebuffer): New members io, mmioptr and mmiobase.
17223 (read_sis_cmd): New function.
17224 (write_sis_cmd): Likewise.
17225 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17226 rather than 640x400.
17227 * grub-core/video/sis315_init.c: New file.
17228
c3fc520c
VS
172292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17232 non-loongson.
17233 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17234 to grub_dl_register_symbol.
17235
67b1e5c9
VS
172362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17237
17238 Fix compilation errors.
17239
17240 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17241 potentially unused.
17242 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17243 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17244 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17245 to loongson machines.
17246
b756f75f
VS
172472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17248
17249 Several FS mtime support.
17250
17251 * grub-core/fs/affs.c (grub_affs_time): New struct.
17252 (grub_affs_file): New field mtime.
17253 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17254 type. Removed 'size'. New field 'di'. All users updated.
17255 (grub_affs_mount): Simplify checsum checking.
17256 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17257 (grub_affs_dir): Handle mtime.
17258 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17259 (grub_cpio_dir): Likewise.
17260 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17261 (grub_hfs_filerec): New field mtime.
17262 (grub_hfs_dir): Handle mtime.
17263 (grub_hfs_mtime): New function.
17264 (grub_hfs_fs): Register grub_hfs_mtime.
17265 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17266 (grub_iso9660_dir): New field mtime.
17267 (grub_fshelp_node): New field dirent.
17268 (iso9660_to_unixtime): New function.
17269 (iso9660_to_unixtime2): Likewise.
17270 (grub_iso9660_read_symlink): Use node->dirent.
17271 (grub_iso9660_iterate_dir): Likewise.
17272 (grub_iso9660_dir): Set mtime.
17273 (grub_iso9660_mtime): New function.
17274 (grub_iso9660_fs): Register grub_iso9660_mtime.
17275 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17276 (grub_jfs_inode): New fields atime, ctime and mtime.
17277 (grub_jfs_dir): Set mtime.
17278 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17279 * grub-core/fs/ntfs.c (list_file): Set mtime.
17280 (grub_ntfs_dir): Likewise.
17281 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17282 (grub_reiserfs_iterate_dir): Set mtime.
17283 (grub_reiserfs_dir): Likewise.
17284 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17285 (grub_fshelp_node): Likewise.
17286 (grub_sfs_iterate_dir): Set mtime.
17287 (grub_sfs_dir): Likewise.
17288 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17289 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17290 (grub_xfs_inode): New fields atime, mtime, ctime.
17291 (grub_xfs_dir): Set mtime.
17292 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17293 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17294 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17295
17296 Support UDF symlinks.
17297
17298 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17299 (grub_ufs_read_symlink): New function. All users updated.
17300
17301 Check amiga partmap checksum.
17302
17303 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17304 (grub_amiga_partition): Likewise.
17305 (amiga_partition_map_checksum): New function.
17306 (amiga_partition_map_iterate): Check checksum.
17307
5470225d
VS
173082011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17309
17310 ROMFS support.
17311
17312 * Makefile.util.def (libgrubmods.a): Add romfs.
17313 * grub-core/Makefile.core.def (romfs): New module.
17314 * grub-core/fs/romfs.c: New file.
17315
d4680a35
VS
173162011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17317
17318 Squashfs v4 support.
17319
17320 * Makefile.util.def (libgrubmods.a): Add squash4.
17321 * grub-core/Makefile.core.def (squash4): New module.
17322 * grub-core/fs/squash4.c: New file.
17323 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17324 disk_input_start, disk_input.
17325 (get_byte): Handle disk_input.
17326 (grub_zlib_disk_read): New function.
17327 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17328
bcb18e74
FZ
173292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
173302011-05-15 Feiran Zheng <famcool@gmail.com>
17331
17332 * Makefile.util.def (libgrubmods.a): Add minix3.
17333 * grub-core/Makefile.core.def (minix3): New module.
17334 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17335 (GRUB_MINIX_BSIZE): Removed.
17336 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17337 (grub_minix_ino_t): New type.
17338 (grub_minix_le_to_cpu_ino): New macro.
17339 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17340 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17341 (grub_minix_data): New field block_size.
17342 (grub_minix_read_file): Handle 64-bit correctly.
17343 * grub-core/fs/minix3.c: New file.
17344
32297d5f
TG
173452011-05-15 Tristan Gingold <gingold@free.fr>
173462011-05-15 Robert Millan <rmh.grub@aybabtu.com>
173472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 IA64 support.
17350
17351 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17352 * configure.ac: Add ia64-efi target.
17353 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17354 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17355 * gentpl.py: Add ia64_efi platform.
17356 Rename x86_efi to efi and Add ia64-efi. All users updated.
17357 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17358 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17359 Remove kern/generic/rtc_get_time_ms.c on EFI.
17360 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17361 kern/ia64/dl_helper.c on ia64-efi.
17362 Add kern/emu/cache.c on emu.
17363 (linux): Use on loader/ia64/efi/linux.c on ia64.
17364 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17365 whether symbol is a function.
17366 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17367 (grub_symbol): New field 'isfunc'.
17368 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17369 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17370 (grub_dl_load_segments): Place all sections into the same region.
17371 [__ia64__]: Create trampolines and got.
17372 [GRUB_MACHINE_EMU]: Call mprotect.
17373 (grub_dl_resolve_symbols): Resolve symbol type as well.
17374 [__ia64__]: Create function descriptors.
17375 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17376 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17377 (grub_get_rtc): New function.
17378 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17379 * grub-core/kern/emu/cache.S: Renamed to ...
17380 * grub-core/kern/emu/cache_s.S: ... this.
17381 [__ia64__]: Add a nop.
17382 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17383 [__ia64__]: New function.
17384 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17385 * grub-core/kern/ia64/dl.c: New file.
17386 * grub-core/kern/ia64/dl_helper.c: Likewise.
17387 * grub-core/kern/ia64/efi/init.c: New file.
17388 * grub-core/kern/ia64/efi/startup.S: Likewise.
17389 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17390 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17391 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17392 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17393 * grub-core/loader/ia64/efi/linux.c: New file.
17394 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17395 (GRUB_MOD_DEP): Likewise.
17396 (grub_dl) [__ia64__]: New fields got and tramp.
17397 (grub_dl): New field 'base'.
17398 (grub_dl_register_symbol): New argument isfunc. All users updated.
17399 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17400 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17401 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17402 (grub_ia64_dl_get_tramp_got_size): New proto.
17403 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17404 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17405 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17406 * include/grub/efi/api.h: Skip call wrappers on ia64.
17407 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17408 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17409 * include/grub/elf.h (ELF_ST_INFO): New definition.
17410 * include/grub/ia64/efi/kernel.h: New file.
17411 * include/grub/ia64/efi/memory.h: Likewise.
17412 * include/grub/ia64/efi/time.h: Likewise.
17413 * include/grub/ia64/kernel.h: Likewise.
17414 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17415 * include/grub/ia64/time.h: New file.
17416 * include/grub/ia64/types.h: Likewise.
17417 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17418 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17419 New protos.
17420 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17421 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17422 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17423 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17424 All users updated.
17425 (EFI64_HEADER_SIZE): New definition. All users updated.
17426 (image_targets): Add ia64-efi.
17427 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17428 jumpers_addr. All users updated.
17429 Create function descriptors.
17430 (count_funcs): New function.
17431 (unaligned_uint32): New struct.
17432 (MASK20): New definition.
17433 (MASK19): Likewise.
17434 (MASKF21): Likewise.
17435 (add_value_to_slot_20b): New function.
17436 (add_value_to_slot_21_real): Likewise.
17437 (add_value_to_slot_21): Likewise.
17438 (ia64_kernel_trampoline): New struct.
17439 (nopm): New variable.
17440 (jump): Likewise.
17441 (make_trampoline): New function.
17442 (relocate_addresses): Handle ia64.
17443 (make_reloc_section): Likewise.
17444 (load_image): Likewise.
17445
983b414d
VS
174462011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17447
17448 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17449 warning. Move variables before code while on it.
17450
5d063cdc
VS
174512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17452
17453 Fuloong support.
17454
17455 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17456 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17457 * grub-core/boot/mips/loongson/fuloong.S: New file.
17458 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17459 Explicitly init CS5536.
17460 [FULOONG]: Don't use serial until CS5536 is available.
17461 Set GPIO based on dumps.
17462 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17463 [FULOONG]: Handle GPIO and memory controller differences.
17464 Parse machine type in $a2.
17465 * grub-core/boot/mips/startup_raw.S: Determine and save the
17466 architecture.
17467 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17468 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17469 init on architecture type.
17470 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17471 SIS315E. Don't init at_keyboard on fuloong.
17472 (grub_halt): Support Fuloong.
17473 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17474 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17475 (loongson_machtypes): New array.
17476 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17477 type.
17478 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17479 config. All users updated. Handle CS5536 serial.
17480 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17481 default port on machine type. Register serial as inactive.
17482 * grub-core/video/sis315pro.c: New file.
17483 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17484 definition.
17485 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17486 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17487 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17488 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17489 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17490 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17491 to ...
17492 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17493 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17494 definition.
17495 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17496 (grub_arch_machine): New extern var.
17497 * include/grub/mips/loongson/serial.h
17498 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17499 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17500 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17501 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17502 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17503 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17504 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17505 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17506 * include/grub/term.h (grub_term_register_input_inactive): New inline
17507 function.
17508 (grub_term_register_output_inactive): Likewise.
17509 * include/grub/video.h (grub_video_driver_id): New value
17510 GRUB_VIDEO_DRIVER_SIS315PRO.
17511 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17512 New field "names". All users updated.
17513 New field value IMAGE_FULOONG_FLASH.
17514 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17515
6ada82d1
JU
175162011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17517
17518 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17519 and add some clarification.
17520
90c571a4
VS
175212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17522
17523 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17524 platforms if kernel is compressed.
17525
de04eecf
VS
175262011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17527
17528 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17529 unused modules since currently referrence counter isn't reliable and
17530 there isn't much memory to recover there anyway.
17531
57688121
VS
175322011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17535 rather than resetting it to allow modules to reference themselves
17536 in init.
17537
3d2c7e35
VS
175382011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17539
17540 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17541 counter on dependencies since grub_dl_unref already handles this.
17542
b25db218
VS
175432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17544
17545 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17546 on error if not already done.
17547
25a45338
VS
175482011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 Fix few potential memory misusage.
17551
17552 * grub-core/font/font.c (load_font_index): Don't free char_index to
17553 avoid double free.
b25db218
VS
17554 (grub_font_load): Zero-fill font at alloc for safety.
17555 Close file on error.
17556 (free_font): Free bmp_idx.
25a45338 17557
0cac83df
VS
175582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17559
17560 * docs/grub.texi (Installation): Fix several outdated claims.
17561
2217a143
VS
175622011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17563
17564 Handle module_license on windows.
17565
17566 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17567 sections shifted.
17568 (insert_string): Make argument const char * instead of char *.
17569 (write_section_data): Handle long section names.
17570 Handle module_license.
17571
d4de6b01
VS
175722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17575 handle class-free menuentries.
17576 (grub_normal_add_menu_entry): Add a check to be sure.
17577
4c2a3b43
VS
175782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17579
17580 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17581 PgUp and PgDown.
17582
85c6210f
VS
175832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17584
17585 * configure.ac: Bump version to 1.99.
17586
36084912
VS
175872011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17588
17589 Give ATA device a bit more time on first try in order to allow disks
17590 to spin up.
17591
17592 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17593 if dev->present is 1. Reset dev->present on failure.
17594 (grub_ata_device_initialize): Set dev->present to 1.
17595 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17596 (grub_ata_device): New member 'present'.
17597
bda0e219
VS
175982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17599
17600 * util/grub-mkimage.c (generate_image): Update hash.
17601
19e1c41b
VS
176022011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17603
17604 Flush caches on DMA memory.
17605
17606 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17607 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17608 (grub_dma_free): Likewise.
17609 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17610
91bbcc0c
VS
176112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17612
17613 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17614 to avoid asm treating ld and sd as macros.
17615
60ddfad3
VS
176162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17617
17618 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17619 decompressor.
17620
a298aa04
VS
176212011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17622
17623 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17624 grub_decompress_core since later would fail if grub_decompress_core
17625 is too far.
17626
9b44feca
VS
176272011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17628
17629 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17630 R_MIPS_JALR since it's used by newer compiler.
17631
56dbe7b4
VS
176322011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17633
17634 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17635
52856af2
VS
176362011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17637
17638 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17639 file_path to 0 for surety.
17640 (grub_chainloader_boot): Set exit_data to NULL.
17641 Unset the loader once done.
17642 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17643
9c9bfc6d
VS
176442011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17645
17646 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17647 unknown key into a dprintf.
17648
dd94a3df
VS
176492011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17650
17651 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17652 on first non-existant partition.
17653
fa68d99c
VS
176542011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17655
17656 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17657 openning fails.
17658 Reported by: Mark Korenberg.
17659
157effb7
VS
176602011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17661
17662 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17663 overflow.
17664
ea75312f
VS
176652011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17666
17667 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17668 before closing to ensure that it will be readable by grub-setup.
17669
072b5d31
VS
176702011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17671
17672 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17673 (devpath_1): Use MAKE_PIWG_PATH.
17674 (devpath_2): Likewise.
17675 (devpath_3): Likewise.
17676 (devpath_4): Likewise.
17677 (devpath_5): Likewise.
17678 (devpath_6): Likewise.
17679
17680 The appleldr.mod was checked that to be binary identical to previous
17681 version.
17682
7fae0051
Z
176832011-05-05 Zach <mikezackles>
17684
17685 Support 2010 Macbooks.
17686
17687 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17688 (devs): Add devpath_6.
17689
7c515bee
VS
176902011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17691
17692 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
17693 /dev/random. /dev/urandom is good enough for our purposes (salting).
17694
ed660bd8
VS
176952011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17696
17697 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
17698
ee5614b7
VS
176992011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17700
17701 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
17702 hexadecimal.
17703
664889a6
VS
177042011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17705
17706 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
17707 and not 0 on failure.
17708
bd405bbc
CW
177092011-05-03 Colin Watson <cjwatson@ubuntu.com>
17710
17711 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
17712 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
17713 disk; otherwise grub_fs_probe will not fall back to the next
17714 filesystem.
17715 (grub_pxefs_open): Likewise, for consistency.
17716 Reported and tested by: Ezekiel Grave.
17717
4ebff753
CW
177182011-05-03 Colin Watson <cjwatson@ubuntu.com>
17719
17720 * tests/partmap_test.in: Don't hardcode path to parted.
17721 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
17722
8f942553
CW
177232011-05-01 Colin Watson <cjwatson@ubuntu.com>
17724
17725 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
17726 of `ls' to find out which devices are available.
17727
3c62402d
VS
177282011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
17731 than source address for efi mmap buffer.
17732
723f63f2
VS
177332011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17734
17735 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
17736 wrong action on non-detecting the magic.
17737
68797f92
VS
177382011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17739
17740 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
17741 already supplied by another part of the module (fixes compilation on
17742 FreeBSD).
17743
6be8715d
VS
177442011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17745
17746 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
17747 match the one used by mdadm.
17748
e91dba5b
CW
177492011-04-21 Colin Watson <cjwatson@ubuntu.com>
17750
17751 * po/README: Add instructions for creating po/LINGUAS.
17752
c85140b3
CW
177532011-04-21 Colin Watson <cjwatson@ubuntu.com>
17754
17755 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
17756 #551428.
17757
17758 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
17759 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
17760 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
17761 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
17762 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
17763 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
17764 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
17765 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
17766 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
17767 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
17768 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
17769 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
17770 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
17771 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
17772 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
17773 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
17774 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
17775 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
17776 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
17777 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
17778 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
17779 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
17780
92051871
CW
177812011-04-21 Colin Watson <cjwatson@ubuntu.com>
17782
17783 * grub-core/kern/emu/getroot.c
17784 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
17785 test that was incorrectly reintroduced in r3214.
17786 Reported by: Ian Dall. Fixes Savannah bug #33133.
17787
b13f79a4
CW
177882011-04-21 Colin Watson <cjwatson@ubuntu.com>
17789
17790 Fix stack pointer handling in 16-bit relocator.
17791
17792 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
17793 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
17794 Fixes Ubuntu bug #683904.
17795
9b710a88
VS
177962011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17797
17798 * configure.ac: Bump version to 1.99~rc2.
17799
d97e7b59
VS
178002011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17801
17802 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
17803 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
17804 * grub-core/lib/x86_64/setjmp.S: Likewise.
17805 * grub-core/lib/mips/setjmp.S: Likewise.
17806 * grub-core/lib/powerpc/setjmp.S: Likewise.
17807 * grub-core/lib/sparc64/setjmp.S: Likewise.
17808
0624551c
VS
178092011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
17812 * grub-core/lib/efi/datetime.c: Likewise.
17813
e8f28d4c
VS
178142011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17815
17816 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
17817 New function.
17818 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
17819 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
17820 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
17821
bba79a15
VS
178222011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17823
17824 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
17825 bitmap.
17826 (grub_gfxterm_term_init): Likewise.
17827
abc474ef
VS
178282011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17829
17830 Take into account the decorations the computing menu entry width.
17831
17832 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
17833 (grub_gfxmenu_create_box): Register get_border_width.
17834 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
17835 if available.
17836 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
17837 get_border_width.
17838
e74b3947
EP
178392011-04-18 Endres Puschner <code@e7p.de>
17840
17841 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
17842 Don't skip first class.
17843
34faa595
VS
178442011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17845
17846 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
17847 chunks.
17848 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
17849
93a777e3
VS
178502011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17851
17852 Complete 64-bit division support.
17853
17854 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
17855 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
17856 * include/grub/misc.h (grub_divmod64): Rename to ...
17857 (grub_divmod64_full): ... this.
17858 (grub_divmod64): New inline function.
17859
a5102d94
VS
178602011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17861
17862 * util/grub-mkimage.c (generate_image): Add forgotten comma.
17863
f3fb7b36
VS
178642011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17865
17866 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
17867 performing the necessary test.
17868
9ac718b0
VS
178692011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17870
17871 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
17872 (kfreebsd.elf): Likewise.
17873 (pc-chainloader.elf): Likewise.
17874 (ntldr.elf): Likewise.
17875
50d2cc5a
VS
178762011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17877
17878 Identify RAID by its UUID rather than (guessed) name.
17879
17880 * grub-core/disk/raid.c (ascii2hex): New function.
17881 (grub_raid_open): Accept mduuid/%s specification.
17882 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
17883 (get_mdadm_uuid): ... this.
17884 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
17885
e03f7bea
VS
178862011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
17887
17888 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
17889 to negative size.
17890
e74c3112
CW
178912011-04-13 Colin Watson <cjwatson@ubuntu.com>
17892
17893 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
17894 btrfs subvolume.
17895 * util/grub.d/20_linux_xen.in: Likewise.
17896
78fa584f
CW
178972011-04-13 Colin Watson <cjwatson@ubuntu.com>
17898
17899 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
17900 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
17901
17902 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17903 Build a list of relevant visible mounts using the mnt_id and
17904 parent_mnt_id fields, and then scan that list at the end.
17905
9d5f8162
CW
179062011-04-12 Colin Watson <cjwatson@ubuntu.com>
17907
17908 * docs/grub.texi (normal): New section.
17909 (normal_exit): New section.
17910 (Embedded configuration): Add reference to normal.
17911 (GRUB only offers a rescue shell): Likewise.
17912 * docs/grub-dev.texi (Error Handling): Fix typo.
17913
09a9d66f
CW
179142011-04-12 Colin Watson <cjwatson@ubuntu.com>
17915
17916 * NEWS: Drop obsolete entry about probe-only btrfs support.
17917
0c676933
CW
179182011-04-12 Colin Watson <cjwatson@ubuntu.com>
17919
17920 * util/import_gcry.py: Fix typo.
17921
ec9f5e0d
VS
179222011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17923
17924 * NEWS: Add btrfs support.
17925
fe6b2cba
VS
179262011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
179272011-04-11 Colin Watson <cjwatson@ubuntu.com>
17928
17929 BtrFS support. Written by me (Vladimir) with important bugfixes and
17930 even more important testing by Colin.
17931
17932 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
17933 * grub-core/Makefile.core.def (btrfs): Add crc.c.
17934 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
17935 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
17936 mem_input_off and mem_input. All users updated to accept in-RAM input.
17937 (gzio_seek): New function.
17938 (test_zlib_header): Likewise.
17939 (grub_gzio_read): Likewise.
17940 (grub_zlib_decompress): Likewise.
17941 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
17942 Accept partial and non-virtual mounts.
17943 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
17944 avoid receiving /dev/dm-X as device.
17945 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
17946 Handle bind and partial mounts.
17947 * grub-core/lib/crc.c: New file.
17948 * include/grub/deflate.h: Likewise.
17949 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
17950 proto.
17951 * include/grub/lib/crc.h: New file.
17952
e745cf0c
VS
179532011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 Implement automatic module license checking according to new GNU
17956 guidelines.
17957
17958 * grub-core/kern/dl.c (grub_dl_check_license): New function.
17959 (grub_dl_load_core): Use grub_dl_check_license.
17960 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
17961 (GRUB_MOD_LICENSE): Likewise.
17962 (GRUB_MOD_DUAL_LICENSE): Likewise.
17963 All modules updated.
17964
2a9bc016
CW
179652011-04-11 Colin Watson <cjwatson@ubuntu.com>
17966
17967 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
17968 reserved_first_sector to 1. btrfs reserves plenty of space for boot
17969 loaders.
17970 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
17971
8a3bc88e
VS
179722011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17973
17974 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
17975
af869a4a
VS
179762011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17977
17978 * util/grub-fstest.c (read_file): Report GRUB error if file opening
17979 failed.
17980
9ee8d94f
VS
179812011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17982
17983 * grub-core/kern/file.c (grub_file_open): Don't take into account the
17984 parenthesis in the middle of the filename.
17985
b01abe3e
VS
179862011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17987
17988 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
17989 rather than trying to put initrd way too high.
17990 Reported by: Ryan Lortie <desrt@desrt.ca>
17991
335bda1e
VS
179922011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17993
17994 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
17995 improperly removed string.
17996
5ca1a64d
VS
179972011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18000 is_disk.
18001 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18002 (open_device) Likewise.
18003 (grub_util_biosdisk_close): Likewise.
d8ce9995 18004 Reported by: Mark Korenberg.
5ca1a64d 18005
cbac5b1e
AK
180062011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18007
18008 * util/grub-mkconfig_lib.in: Add missing quotes.
18009
088cdb65
CW
180102011-04-10 Colin Watson <cjwatson@ubuntu.com>
18011
18012 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18013 is NULL.
18014
8b8a81fa
VS
180152011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18016
18017 Dynamically count the number of lines for the lower banner.
18018
18019 * grub-core/normal/menu_entry.c (per_term_screen): New member
18020 num_entries.
18021 (print_down): Use num_entries.
18022 (update_screen): Likewise.
18023 (grub_menu_entry_run): Set num_entries.
18024 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18025 num_entries.
18026 (grub_print_message_indented): Move real part to ...
18027 (grub_print_message_indented_real): ... here. Additional argument
18028 dry_run.
18029 (draw_border): Additional argument num_entries.
18030 (print_message): Additional argument dry_run.
18031 (print_entries): Receive menu viewer data.
18032 (grub_menu_init_page): New argment num_entries.
18033 (menu_text_set_chosen_entry): Use num_entries.
18034 (grub_menu_try_text): Likewise.
18035 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18036 All users updated.
18037 (grub_ucs4_count_lines): New function.
18038 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18039 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18040 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18041 (grub_term_border_height): Likewise.
18042 (grub_term_num_entries): Likewise.
18043
277f955b
VS
180442011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18045
18046 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18047 Remove now unused string.
18048
536ce85a
CW
180492011-04-09 Colin Watson <cjwatson@ubuntu.com>
18050
18051 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18052 build system.
18053 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18054
18055 (Comment): Fix typo.
18056 (Getting started): General copy-editing.
18057 (Typical Development Experience): Likewise.
18058 (Error Handling): Likewise.
18059 (Video API): Likewise.
18060
2cf09e32
CW
180612011-04-09 Colin Watson <cjwatson@ubuntu.com>
18062
18063 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18064 throughout.
18065
1ec652f4
VS
180662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18067
18068 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18069 directory.
18070
2c583728
CW
180712011-04-08 Colin Watson <cjwatson@ubuntu.com>
18072
18073 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18074 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18075 "development".
18076
d7a565e9
VS
180772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18078
18079 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18080 grub_strcpy since the lines aren't necessarily 0-terminated.
18081
7c2e4909
VS
180822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18083
18084 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18085 root on legacy.
18086
34c09785
VS
180872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18088
18089 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18090 (GRUB_MOD_INIT): DEVICE isn't optional.
18091
6a6f8058
VS
180922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18093
18094 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18095 word on new line if it's too long anyway. Fixes a hang.
18096
2e335e90
VS
180972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18098
18099 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18100 const.
18101 * util/grub-setup.c (main): Reuse md device name if available.
18102 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18103 not GRUB name as argument.
18104 Based on patch by: Florian Wagner <fwagner>.
18105
10a7a867
VS
181062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18107
18108 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18109 Place mbi on low memory for better compatibility.
18110
7a3d6cd9
VS
181112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18112
18113 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18114
18dd6b47
VS
181152011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
181162011-04-08 Colin Watson <cjwatson@ubuntu.com>
18117
18118 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18119 * conf/Makefile.common: Likewise.
18dd6b47 18120
3c0e3f14
VS
181212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18122
f7148863
VS
18123 * grub-core/normal/menu.c: Add missing include.
18124
181252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18128
6d1fa41f
MZ
181292011-04-08 Martin Zuther <mzuther@mzuther.de>
18130
18131 * util/grub-mkconfig.in: Ignore emacsen backup.
18132
478182a8
VS
181332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18136 on open.
18137 (grub_util_biosdisk_close): Likewise.
18138
72a89a54
VS
181392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18142 const attribute and use grub_isdigit.
18143
b5ebecfa
A
181442011-04-06 Andrey <dev_null@ukr.net>
18145
18146 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18147 gcc warning.
18148
7755f66e
VS
181492011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18150
18151 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18152 useful grub_dprintf's.
18153
461121ff
VS
181542011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18155
18156 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18157
2a961775
VS
181582011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18159
18160 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18161
adf594cc
VS
181622011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18163
18164 Output errors if theme loading failed.
18165
18166 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18167 grub_gfxterm_fullscreen on error paths to ...
18168 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18169 theme loading error.
18170
665900a3
VS
181712011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18172
18173 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18174 space for older compilers.
18175 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18176
a562b479
VS
181772011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18180 and report them as not RAID members since they are useless for GRUB.
18181 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18182
850e9373
VS
181832011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18184
18185 Increase LVM implementation robustness in order not to crash on
18186 configurations like pvmove. Previously code assumed that in some places
18187 only lvs or only pvs are used whereas it seems that they are used
18188 interchangeably.
18189
18190 * grub-core/disk/lvm.c (read_node): New function.
18191 (read_lv): Use read_node.
18192 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18193 Match volumes only at the end when all lvs are found. Take both
18194 pvs (first) and lvs (second) into account.
18195 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18196 mirror_* into node_*. All users updated.
18197 (grub_lvm_stripe): Merge this ...
18198 (grub_lvm_mirror): ... and this ...
18199 (grub_lvm_node): ... into this. All users updated.
18200
6f332153
VS
182012011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18202
18203 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18204 of function to allow further scanning for LVMs.
18205
829ea451
VS
182062011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18209 on failed seek as it breaks open fd reusage.
18210
09ceb9a5
VS
182112011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 * util/grub-install.in: Add a recommendation to use --recheck before
18214 reporting bugs.
18215
67e11623
VS
182162011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18217
18218 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18219 are obtained.
18220
caee5efd
VS
182212011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18222
18223 GRUB developper manual based on existing Internals section and
18224 contributions by the various authors with active copyright assignment.
18225
18226 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18227 * docs/font_char_metrics.png: New file.
18228 * docs/font_char_metrics.txt: Likewise.
18229 * docs/grub-dev.texi: Likewise.
18230 * docs/grub.texi (Internals): Move from here ...
18231 * docs/grub-dev.texi: ... here.
18232
2cccc747
CW
182332011-04-01 Colin Watson <cjwatson@ubuntu.com>
18234
18235 Store the loopback device as data on loopback grub_disk structures,
18236 rather than the file it points to. This fixes use of freed memory
18237 if an existing loopback device is replaced.
18238
18239 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18240 disk->data, not dev->file.
18241 (grub_loopback_read): Adjust file assignment to match.
18242 Fixes Ubuntu bug #742967.
18243
186ae367
CW
182442011-04-01 Colin Watson <cjwatson@ubuntu.com>
18245
18246 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18247 when replacing an existing device.
18248
cfed2ad0
VS
182492011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18252 memory corruptions.
18253
18254 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18255 unsigned.
18256 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18257 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18258 (grub_jfs_read_inode): Likewise.
18259 (grub_jfs_opendir): Likewise. Remove now useless casts.
18260 (grub_jfs_getent): Likewise.
18261 Make ino a grub_uint32_t rather than int.
18262 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18263 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18264 division and module with bit operations.
18265 (grub_jfs_find_file): Make ino a grub_uint32_t.
18266 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18267
05d2ed32
CW
182682011-04-01 Colin Watson <cjwatson@ubuntu.com>
18269
18270 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18271 warning. (This was in fact always initialised before use, but GCC
18272 wasn't smart enough to prove that.)
18273 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18274
91dc6073
VS
182752011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18276
18277 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18278 stack alignment.
18279 (efi_wrap_1): Likewise.
18280 (efi_wrap_2): Likewise.
18281 (efi_wrap_3): Likewise.
18282 (efi_wrap_4): Likewise.
18283 (efi_wrap_5): Likewise.
18284 (efi_wrap_6): Likewise.
18285 (efi_wrap_10): Likewise.
18286 Based on information by: Red Hat/Peter Jones.
18287
a8afc1d1
CW
182882011-03-31 Colin Watson <cjwatson@ubuntu.com>
18289
18290 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18291 set-but-not-used variable.
18292
a826cc7d
CW
182932011-03-31 Colin Watson <cjwatson@ubuntu.com>
18294
18295 * docs/grub.texi (Simple configuration): Be more explicit about
18296 GRUB_DEFAULT, and add an example.
18297 Reported by: Leslie Rhorer.
18298
875b67ba
CW
182992011-03-30 Colin Watson <cjwatson@ubuntu.com>
18300
18301 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18302 shell".
18303
fd7cd914
AS
183042011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18305
18306 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18307 * util/grub.d/20_linux_xen.in: Likewise.
18308
090b1b6a
VS
183092011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18310
18311 * util/grub.d/10_linux.in: Try alternative config filenames where
18312 we parse config file.
18313 * util/grub.d/20_linux_xen.in: Likewise.
18314
baad885c
AS
183152011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18316
18317 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18318 * util/grub.d/20_linux_xen.in: Likewise.
18319
241e41f5
VS
183202011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 * grub-core/disk/raid.c (insert_array): Add few potentially
18323 useful grub_util_info.
18324 (grub_raid_register): Likewise.
18325
56445fb2
VS
183262011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18329 Preserve partition number in mdadm code path.
18330
c871b1c6
VS
183312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18334 few potentially useful grub_util_info.
18335
5e631b4f
CW
183362011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18339
2d5d0333
CW
183402011-03-30 Colin Watson <cjwatson@ubuntu.com>
18341
18342 * docs/grub.texi (default): Use @example rather than nested
18343 itemized lists to avoid breaking gendocs.
18344
3d7ed04e
CW
183452011-03-30 Colin Watson <cjwatson@ubuntu.com>
18346
18347 * docs/grub.texi (Future): Update.
18348
abf04200 183492011-03-30 Colin Watson <cjwatson@ubuntu.com>
18350
18351 * docs/grub.texi (Environment): New chapter.
18352 (Changes from GRUB Legacy): Link to "Environment block" section for
18353 details of limitations.
18354 (Simple configuration): Likewise. Link to documentation of gfxmode
18355 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18356 respectively.
18357 (Shell-like scripting): Note that normal variables are stored in the
18358 environment.
18359 (gettext): Link to documentation of lang and locale_dir.
18360 (list_env): New section.
18361 (load_env): New section.
18362 (save_env): New section.
18363
18364 (Reporting bugs): Fix typo.
18365
e1ad0edd
VS
183662011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18367
18368 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18369 the example.
18370
5d803174
VS
183712011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18372
18373 * grub-core/term/at_keyboard.c (set_scancodes)
18374 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18375
2a2da1d0
CW
183762011-03-30 Colin Watson <cjwatson@ubuntu.com>
18377
18378 * docs/grub.texi (Menu-specific commands): Remove some semantics
18379 that were true in GRUB Legacy but not in GRUB 2.
18380 (submenu): New section.
18381 (false): New section.
18382 (read): New section.
18383 (true): New section.
18384
a7527639
CW
183852011-03-30 Colin Watson <cjwatson@ubuntu.com>
18386
18387 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18388
183892011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18390
18391 * docs/grub.texi (Simple configuration): Explain some of the
18392 current limitations of grub-mkconfig.
8a748df2 18393 Reported by: Leslie Rhorer.
e30af029 18394
fc858482
VS
183952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18396
18397 Old macs search for boot.efi rather than for bootia32.efi.
18398
18399 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18400 * util/grub-mkrescue.in: Likewise.
18401 Suggested by: Peter Jones.
18402
e1eb511d
VS
184032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18404
18405 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18406
70e75364
VS
184072011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18408
18409 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18410 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18411 (grub_lvm_mirror): New struct.
18412 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18413 (grub_lvm_iterate): Iterate only visible volumes.
18414 (grub_lvm_read): Factor out to ..
18415 (read_lv): ... this. Support mirrors.
18416 (grub_lvm_read): New wrapper function.
18417 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18418 stripped or mirrored.
18419
fc18f6a3
VS
184202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18421
18422 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18423
5c650f4c
CW
184242011-03-29 Colin Watson <cjwatson@ubuntu.com>
18425
18426 * docs/grub.texi (loopback): New section.
18427
61d7156b
CW
184282011-03-29 Colin Watson <cjwatson@ubuntu.com>
18429
18430 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18431 removed -p option.
18432
994b8264
CW
184332011-03-29 Colin Watson <cjwatson@ubuntu.com>
18434
18435 * docs/grub.texi (BIOS installation): New section, partly based on
18436 previous text in other sections.
18437 (Installing GRUB using grub-install): Replace BIOS discussion with a
18438 cross-reference.
18439 (Images): Likewise.
18440
9e4d19e0
VS
184412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18444 [HAVE_DIOCGDINFO]: Add safety checks.
18445
a307c0b2
VS
184462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18447
18448 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18449 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18450
b4db4f39
CW
184512011-03-29 Colin Watson <cjwatson@ubuntu.com>
18452
18453 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18454 real_sb->size is zero (e.g. RAID-0), get the disk size from
18455 real_sb->data_size instead.
18456 Fixes Ubuntu bug #743136.
18457
35e5f84c
VS
184582011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18459
18460 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18461 printf clauses for printing size and start.
18462
d2e29d81
VS
184632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18464
18465 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18466 Reported and tested by: Timothy Nikkel.
18467
ed5587af
VS
184682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18469
18470 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18471 (dirty_region_add_real): ... this.
18472 (dirty_region_add): Don't discard margin refresh when performing
18473 scheduled repaint.
18474
a1dc717c
VS
184752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18476
18477 * grub-core/lib/relocator.c (allocate_regstart)
18478 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18479 terminals are capabple of malloc-free operation.
18480 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18481 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18482
9f3677d3
VS
184832011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18484
18485 * util/grub-setup.c: Copy the partition table zone if floppy support
18486 is disabled, even if no partition table is found.
18487
18488 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18489 during POST if an invalid partition table is contained in the PBR
18490 of the active partition when GRUB is installed to a partition.
18491
24148725
CW
184922011-03-28 Colin Watson <cjwatson@debian.org>
18493
18494 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18495 comment.
18496
f329eda7
CW
184972011-03-28 Colin Watson <cjwatson@debian.org>
18498
18499 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18500 to be specific about what kind of RAID device we're scanning for.
18501
c482ad98
SG
185022011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18503
18504 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18505 return freed string.
18506
5ee04984
VS
185072011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18508
18509 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18510
f4727da9
VS
185112011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18512
18513 Use libgeom on FreeBSD to detect partitions.
18514
18515 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18516 (grub-mkrelpath): Likewise.
18517 (grub-script-check): Likewise.
18518 (grub-editenv): Likewise.
18519 (grub-mkpasswd-pbkdf2): Likewise.
18520 (grub-fstest): Likewise.
18521 (grub-mkfont): Likewise.
18522 (grub-mkdevicemap): Likewise.
18523 (grub-probe): Likewise.
18524 (grub-setup): Likewise.
18525 (grub-ofpathname): Likewise.
18526 (grub-mklayout): Likewise.
18527 (example_unit_test): Likewise.
18528 (grub-menulst2cfg): Likewise.
18529 * grub-core/Makefile.core.def (grub-emu): Likewise.
18530 (grub-emu-lite): Likewise.
18531 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18532 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18533 define HAVE_DIOCGDINFO.
18534 (follow_geom_up) [FreeBSD]: New function.
18535 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18536 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18537 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18538 unconditionally of HAVE_DIOCGDINFO.
18539
82fe6c75
VS
185402011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18541
18542 Fix FreeBSD compilation problem.
18543
18544 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18545 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18546
4c6c9431
CW
185472011-03-24 Colin Watson <cjwatson@ubuntu.com>
18548
18549 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18550 Switch back to page zero before loading a kernel, since some kernel
18551 drivers expect that.
18552 Thanks to: Felix Kuehling.
18553
c7064d94
VS
185542011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18555
18556 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18557 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18558 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18559
3f71cded
VS
185602011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18563 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18564
ef6de21a
VS
185652011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18566
18567 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18568 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18569 malloc is disabled.
18570
8bc66a2c
VS
185712011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18574 for modules headers when counting the needed allocation size.
18575
5657722c
VS
185762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18577
18578 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18579 if no ASCII character is found to prevent crash.
18580
41a85f55
AK
185812011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18582
18583 * grub-core/video/bitmap.c (match_extension): Ignore case.
18584
59e1e5f1
VS
185852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18586
18587 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18588
bd4d051a
VS
185892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18590
18591 * grub-core/script/parser.y: Declare "time" as valid argument.
18592
bae7fcc1
PJ
185932011-03-23 Peter Jones <pjones@redhat.com>
18594
18595 Fix incorrect assert failure reporting.
18596
18597 * grub-core/tests/example_functional_test.c (example_test): Add
18598 a failure comment.
18599 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18600 (failure_start): ...this. Check that malloc succeeded.
18601 Don't call xvasprintf. Return failure struct.
18602 (failure_append_vtext): New function.
18603 (failure_append_text): Likewise.
18604 (add_failure): Likewise.
18605 (grub_test_assert_helper): Likewise.
18606 * include/grub/test.h (grub_test_assert_helper): New declaration.
18607 (grub_test_assert): Macro rewritten.
18608
537dc9be
VS
186092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18610
18611 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18612
fa3e01bf
VS
186132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18614
18615 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18616
b1d28404
VS
186172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18618
18619 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18620 into GRUB-style one.
18621
2e3e2e09
VS
186222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18623
18624 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18625 error and not grub_errno.
18626 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18627
ed57e557
VS
186282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18629
18630 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18631 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18632
d1611f01
VS
186332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18634
18635 * grub-core/efiemu/i386/pc/cfgtables.c
18636 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18637 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18638 (grub_xnu_unlock): Likewise.
18639 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18640
7d4e39d6
VS
186412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18642
18643 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18644 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18645 * grub-core/commands/hashsum.c (aliases): Likewise.
18646 * grub-core/commands/setpci.c (pci_registers): Likewise.
18647 * grub-core/disk/usbms.c (attach_hook): Likewise.
18648 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18649 (zio_checksum_table): Likewise.
18650 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18651 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18652 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18653 * grub-core/lib/relocator.c (leftovers): Likewise.
18654 (extra_blocks): Likewise.
18655 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18656 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18657 (modules_last): Likewise.
18658 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18659 (devices): Likewise.
18660 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18661 (modules_last): Likewise.
18662 * grub-core/normal/auth.c (users): Likewise.
18663 * grub-core/normal/context.c (initial_menu): Likewise.
18664 (current_menu): Likewise.
18665 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18666 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18667 (grub_serial_terminfo_input_template): Likewise.
18668 (grub_serial_terminfo_output_template): Likewise.
18669 (grub_serial_terminfo_input): Likewise.
18670 (grub_serial_terminfo_output): Likewise.
18671 (registered): Likewise.
18672 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18673
40fc4659
VS
186742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18675
18676 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18677 grub_video_mode_type_t.
18678 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18679 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18680 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18681
2da48d28
VS
186822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 * util/grub-install.in: Correct the x86-64 name as x86_64.
18685
9b43bf39
CW
186862011-03-11 Colin Watson <cjwatson@ubuntu.com>
18687
18688 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18689 initial chunk read from the kernel always includes GRUB's multiboot
18690 header, which is now outside the first sector.
18691
be1a7ce0
CW
186922011-03-09 Colin Watson <cjwatson@ubuntu.com>
18693
18694 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
18695 cached mmap_size, so that this works correctly when called multiple
18696 times.
18697 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
18698
83a3c48d
CW
186992011-03-09 Colin Watson <cjwatson@ubuntu.com>
18700
18701 * docs/grub.texi (Simple configuration): Tidy up formatting.
18702
57d75699
SJ
187032011-03-07 Szymon Janc <szymon@janc.net.pl>
18704
18705 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
18706 Set-but-not-used variable removed.
18707
028501a0
VS
187082011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18709
18710 Workaround yet another IEEE1275 bug.
18711
18712 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
18713 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
18714 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
18715 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
18716 is set.
18717 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18718 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
18719
d998657d
VS
187202011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18721
18722 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
18723 error.
18724
fee7cdd4
CW
187252011-02-11 Colin Watson <cjwatson@ubuntu.com>
18726
18727 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
18728 empty, since in that case we can only generate either nothing or a
18729 syntactically invalid configuration file.
18730 Reported by: Michal Suchanek. Fixes Debian bug #612898.
18731
97286eb5
CW
187322011-02-09 Colin Watson <cjwatson@ubuntu.com>
18733
18734 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
18735 (Making a GRUB bootable CD-ROM): Likewise.
18736 (Invoking grub-mkrescue): New section.
18737 Reported by: Yann Dirson. Fixes Debian bug #612585.
18738
22b28eb3
CW
187392011-02-09 Colin Watson <cjwatson@ubuntu.com>
18740
18741 * util/grub-install.in: Remove unnecessary brackets from tr
18742 arguments.
18743 * util/grub.d/10_hurd.in: Likewise.
18744 * util/grub.d/10_kfreebsd.in: Likewise.
18745 * util/grub.d/10_linux.in: Likewise.
18746 * util/grub.d/20_linux_xen.in: Likewise.
18747 Reported by: Jamie Heilman. Fixes Debian bug #612564.
18748
7e735e43
CW
187492011-02-08 Colin Watson <cjwatson@ubuntu.com>
18750
18751 * include/grub/file.h (not_easly_seekable): Rename to ...
18752 (not_easily_seekable): ... this. Update all users.
18753
800f1881
CW
187542011-01-28 Colin Watson <cjwatson@ubuntu.com>
18755
18756 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
18757 grub-mkrescue.
18758
3281d3d6
VS
187592011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
18760
18761 * util/grub-mkimage.c (generate_image): Refuse to create the images
18762 bigger than the actual flash (512K) in Loongson machines. 512K is also
18763 the biggest chip supported by them.
18764
3533413c
VS
187652011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18766
18767 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
18768
73ae4f4f
VS
187692011-01-22 Anthony DeRobertis <anthony@derobert.net>
18770
18771 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
18772 super_offset field.
18773
37f4f608
VS
187742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18775
18776 * util/grub-install.in: Ignore install device on platforms
18777 where it doesn't make sense. Always use UUIDs except on pc, efi and
18778 sparc64.
18779 Reported by: Daniel Kahn Gillmor.
18780
03a4ccb5
VS
187812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18782
18783 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
18784
ffc8f4d8
VS
187852011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
18788 (iterate_real): Don't rely on partition being non-NULL.
18789
80f23be7
VS
187902011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18791
18792 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
18793 supported platforms. Put a compile time assert for this rather than
18794 generate a warning with 32-bit shift.
18795
5d4f4dd5
VS
187962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
18799 logical expression more readable.
18800
e489601a
VS
188012011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18802
18803 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
18804 even if some elements have a name.
18805 Reported by: Alexander GQ Gerasiov.
18806
96e0a6ea
CW
188072011-01-22 Colin Watson <cjwatson@ubuntu.com>
18808
18809 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
18810 path unreadable if `grub-probe -t abstraction' fails, for example if
18811 memberlist fails on an LVM volume group.
18812 Reported by: Darius Jahandarie.
18813
81431e2b
CW
188142011-01-22 Colin Watson <cjwatson@ubuntu.com>
18815
18816 * docs/grub.texi (Simple configuration): Document
18817 GRUB_PRELOAD_MODULES.
18818
5e79d66a
CW
188192011-01-17 Colin Watson <cjwatson@ubuntu.com>
18820
18821 * .bzrignore: Remove nonexistent grub-pbkdf2.
18822
646ada34
VS
188232011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
18824
18825 * configure.ac: Bump version to 1.99~rc1.
18826
04360337
VS
188272011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18828
18829 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
18830 for safety.
18831
46c9db88
VS
188322011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
18835 module.
18836
188372011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
18838
18839 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
18840
4fbf1852
VS
188412011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18842
18843 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
18844 diskdevid.
18845
f1632d4d
VS
188462011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18847
18848 Fix compilation on cygwin.
18849
18850 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
18851 -R .drectve on cygwin.
18852 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
18853 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
18854 (COND_CYGWIN): New condition.
18855 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
18856 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
18857 not @TARGET_OBJ2ELF@.
18858 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
18859 type to determine whether aux is to be used.
18860
0b5e127b
VS
188612011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18862
18863 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
18864 realpath'ed device string.
18865 Handle floppy (somewhat).
18866 Issue error in unknown case rather than garbage.
18867 Reported by: Axel Beckert.
18868
173b71e9
VS
188692011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18870
18871 * util/grub.d/00_header.in (load_video): Handle the case when no video
18872 drivers available.
18873 Thanks to: Axel Beckert.
18874
f8f479db
VS
188752011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18876
18877 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
18878 variable. Fixes problem on big endian platforms.
18879
8fc0a245
VS
188802011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18881
18882 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
18883 It doesn't work well there.
18884
b8494fbe
VS
188852011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18886
18887 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
18888 warning.
18889 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
18890 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
18891 counter.
18892
b44a558c
VS
188932011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 Use alias->path rather than buggy "canon".
18896
18897 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
18898 (ofdisk_hash_add): New argument curcan. All users updated.
18899
51fa856c
CW
189002011-01-11 Colin Watson <cjwatson@ubuntu.com>
18901
18902 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
18903
9da068a5
VS
189042011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18905
18906 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
18907 loadmask before doing any calculations. Use correct type for offset.
18908 (grub_linux_load64): Likewise.
18909
86205c94
CW
189102011-01-11 Colin Watson <cjwatson@ubuntu.com>
18911
18912 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
18913 with NULL.
18914 (console_grub_equivalences_unshift): Likewise.
18915 Reported by: Daniel Dehennin.
18916
4531a206
VS
189172011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18918
18919 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
18920 (set_env_limn_ro): Likewise.
18921 (GRUB_MOD_INIT): Likewise.
18922 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
18923 ARRAY_SIZE while on it.
18924 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
18925 * grub-core/normal/context.c (grub_env_export): Move from here ...
18926 * grub-core/kern/env.c (grub_env_export): ... here.
18927 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
18928 prefix.
18929 * grub-core/kern/main.c (grub_main): Export root and prefix.
18930 * include/grub/env.h (grub_env_export): Export.
18931 Reported by: Seth Goldberg.
18932
45146057
VS
189332011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18936 Take into account space used by ELF sections and multiboot palette.
18937 Reported by: Grégoire Sutre.
18938
f093110b
VS
189392011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
18940
18941 * BUGS: New file.
18942
3395fe52
VS
189432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18944
18945 Pass more appropriate video id to Linux.
18946
18947 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
18948 grub_video_get_driver_id and variable gfxpayloadforcelfb to
18949 fill have_vga.
18950 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
18951 shift params->lfb_size.
18952 * include/grub/i386/linux.h: Make an enume out of have_vga values.
18953
c2fa6cbb
VS
189542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18955
18956 * util/grub-menulst2cfg.c: Add missing include of misc.h.
18957
b3ff6ff0
VS
189582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18959
18960 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
18961 separator and pass bootpath/devid even if only one of them is available.
18962 Reported by: Seth Goldberg.
18963
ae67942e
VS
189642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18965
18966 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
18967 implementations bug on them.
18968
18969 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
18970 memory.
18971 (filter_memory_map): Likewise.
18972
d570097a
VS
189732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18974
18975 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
18976 Reported by: nebuchadnezzar.
18977
a508e776
VS
189782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18979
18980 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
18981 Reported by: nebuchadnezzar.
18982
dcb883b1
VS
189832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18984
18985 Submenu default support.
18986
18987 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
18988 auto_boot. All users updated.
18989 Declared static.
18990 Handle chosen and default with submenus.
18991 (grub_menu_execute_with_fallback): Declared static.
18992 Don't notify failure if autobooted. Upper level does it.
18993 (menuentry_eq): New function.
18994 (get_entry_number): Use menuentry_eq.
18995 (show_menu): New parameter "autobooted". All users updated.
18996 (grub_show_menu): Likewise.
18997 * include/grub/normal.h (grub_show_menu): Likewise.
18998 * include/grub/menu.h (grub_menu_execute_entry): Removed.
18999 (grub_menu_execute_with_fallback): Likewise.
19000
6fef99b4
VS
190012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19002
19003 * util/grub-mklayout.c (usage): Update help text.
19004
47a77af5
VS
190052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19006
19007 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19008
ce6bb3ee
VS
190092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 * util/grub-menulst2cfg.c (main): Trim the line.
19012
db87be2a
VS
190132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19014
19015 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19016 (grub_machine_init): Don't check amount of low memory as reportedly
19017 INT 12h can be broken and if low memory is too low we wouldn't have
19018 gotten into grub_machine_init anyway.
19019
c49849cc
VS
190202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19021
19022 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19023 (grub_machine_mmap_iterate): Take low memory into account
19024
b1969b30
VS
190252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19026
19027 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19028 badfs.
19029 Reported by: TiCPU.
19030
cf0eaf13
VS
190312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19032
19033 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19034 members errors.
19035
1f060f39
GS
190362011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19037
19038 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19039 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19040
a21e5672
GS
190412011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19042
19043 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19044 openbsd and netbsd types being in part_bsd module.
19045
c88172fa
VS
190462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19047
19048 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19049 (_FILE_OFFSET_BITS): Likewise.
19050 Reported by: Seth Goldberg.
19051
53798c4b
GS
190522011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19053
19054 * configure.ac: Check for libdevmapper header.
19055
e7121b69
VS
190562011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19057
19058 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19059 avoid aliasing.
19060 (fzap_lookup): Likewise.
19061 (dnode_get): Likewise.
19062 (make_mdn): Likewise.
19063 (zfs_mount): Likewise.
19064 (fzap_iterate): Use temporary pointer to avoid aliasing.
19065 (grub_zfs_read): Likewise.
19066 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19067 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19068 pointers to avoid aliasing.
19069 (grub_cmd_xnu_kernel64): Likewise.
19070 (grub_xnu_load_driver): Likewise.
19071
fc836af9
VS
190722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19073
19074 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19075 aliasing warning.
19076 (grub_cmd_terminal_output): Likewise.
19077 Reported and tested by: Grégoire Sutre.
19078
f9f37648
VS
190792011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19080
19081 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19082 warning.
19083 Reported and tested by: Grégoire Sutre.
19084
ec1dfd63
VS
190852011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19086
19087 * configure.ac: Do CPU substitution even if it's specified explicitly.
19088 Reported and tested by: Alain Greppin.
19089
9462775a
VS
190902011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19091
19092 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19093 Reported and tested by: Alain Greppin.
19094
0fd48e35
VS
190952011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19096
19097 Satisfy some bison versions need for inttypes.h.
19098
19099 * grub-core/lib/posix_wrap/inttypes.h: New file.
19100 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19101 (int16_t): Likewise.
19102 (int32_t): Likewise.
19103 (int64_t): Likewise.
19104 Reported and tested by: Alain Greppin.
19105
43f1bc83
VS
191062011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19107
19108 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19109 Silence spurious warning.
19110 Reported and tested by: Alain Greppin.
19111
64d1f041
SJ
191122011-01-07 Szymon Janc <szymon@janc.net.pl>
19113
19114 * docs/grub.texi (Support automatic decompression): Update with xz
19115 decompression support.
19116
25953e10
SJ
191172011-01-07 Szymon Janc <szymon@janc.net.pl>
19118
19119 Improve loaders' kernel command line handling.
19120
19121 * grub-core/lib/cmdline.c: New file.
19122 * include/grub/lib/cmdline.h: Likewise.
19123 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19124 grub_create_loader_cmdline to create kernel command line.
19125 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19126 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19127 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19128 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19129 (linux): Add lib/cmdline.c on common.
19130
e72d259f
VS
191312011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19132
19133 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19134 inopos might be unaligned.
19135
c0cf26da
VS
191362011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19137
19138 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19139 endian transformations.
19140 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19141 Based on report by: Doug Nazar.
19142
0ca09e6c
DN
191432011-01-07 Doug Nazar <nazard.michi@gmail.com>
19144
19145 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19146 array->members[i].start_sector.
19147 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19148
014b6806
VS
191492011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19152 Reported and tested by: Grégoire Sutre.
19153
415502c2
CW
191542011-01-06 Colin Watson <cjwatson@ubuntu.com>
19155
19156 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19157 avoid causing test failures by clearing the screen.
19158
71b6a2b7
CW
191592011-01-06 Colin Watson <cjwatson@ubuntu.com>
19160
19161 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19162 Fix prefix check to handle the case where dir ends with a slash
19163 (most significantly, "/" itself).
19164 Reported by: Michael Vogt.
19165
b3f8d28a
VS
191662011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19167
19168 Run terminfo_cls on initing terminfo output to clear the screen and
19169 move the cursor to (0,0).
19170
19171 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19172 Call grub_terminfo_output_init.
19173 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19174 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19175 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19176
4c3e4f37
VS
191772011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19178
19179 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19180 only when needed.
19181
488f71f1
VS
191822011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19183
19184 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19185 CTRL.
19186
18a38098
VS
191872011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19188
19189 The E820 type 5 is BADRAM, not EXEC_CODE.
19190
19191 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19192 (GRUB_E820_BADRAM): New define.
19193 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19194 into reserved. Propagate BADRAM.
19195 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19196 (GRUB_E820_BADRAM): New define.
19197
9eae2084
VS
191982011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19201 Ignore the memory post-4G.
19202 (grub_relocator_firmware_alloc_region): Additional debug statement.
19203
ebc71d28
VS
192042011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19205
19206 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19207 names.
19208 Reported by: David Pravec.
19209
446fa400
VS
192102011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19211
19212 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19213 BIOSes.
19214
a0159f37
VS
192152011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19216
19217 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19218 Prevent overflow.
19219 (grub_reed_solomon_recover): Likewise.
19220
e5146ca1
VS
192212011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19222
19223 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19224
192252011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19226
19227 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19228 variable.
19229
5b1bdf12
CW
192302011-01-04 Colin Watson <cjwatson@ubuntu.com>
19231
19232 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19233 descriptions of extract_legacy_entries_source and
19234 extract_legacy_entries_configfile.
19235 Reported by: Seung Soo, Ha.
19236
99d925aa
CW
192372011-01-03 Colin Watson <cjwatson@ubuntu.com>
19238
19239 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19240 on devices that do not implement function 0.
19241
4af0504b
DV
192422011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19243
19244 * grub-core/fs/hfsplus.c: Make parent unsigned.
19245 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19246 overflows.
19247 (grub_hfsplus_cmp_extkey): Likewise
19248
469ee10a
VS
192492011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19250
19251 * util/grub-install.in: Correctly use bootloader_id and not
19252 GRUB_DISTRIBUTOR on efibootmgr line.
19253
323a8e9c
VS
192542011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19255
19256 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19257
1b394975
IC
192582010-12-31 Ian Campbell <ijc@hellion.org.uk>
19259
19260 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19261 Xen and reorder menu item wording to make it clearer that this entry
19262 will launch Xen. Print separate messages when loading Xen and
19263 Linux.
19264
275bff5f
VS
192652010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19266
19267 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19268 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19269 loop in case of incorrect amiga partmap.
19270
307806cb
VS
192712010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19274 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19275 Reported by:EHeM.
19276
b12b923e
VS
192772010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19280 spurious warning.
19281 Reported by: crocket
19282
14b48a19
VS
192832010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19286 Preload EFIemu.
19287 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19288
693db2df
VS
192892010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19290
19291 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19292 is loaded
19293 (grub_cmd_xnu_kextdir): Likewise.
19294 (grub_cmd_xnu_splash): Likewise.
19295
c7638645
VS
192962010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19297
19298 Avoid using Reed-Solomon with 0 redundancy.
19299
19300 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19301 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19302 or 0 redundancy.
19303 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19304 (grub_reed_solomon_recover): Likewise.
19305
25dd4780
VS
193062010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19307
19308 Don't use disk subsystem in freebsd_boot.
19309
19310 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19311 (freebsd_biosdev): Likewise.
19312 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19313 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19314
0b2db943
VS
193152010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19316
19317 Handling of files of unknown size is currently limited. They can't be
19318 used e.g. for initrd or modules. Moreover gzip handling of not
19319 easily seekable files is buggy. Disable unknown file size for now. May
19320 be inefficient but works.
19321
19322 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19323 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19324
5c408d0f
MP
193252010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19326
19327 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19328 floppy probe.
19329
190a011a
JD
193302010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19331
19332 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19333
022d01b8
SL
193342010-12-25 Shea Levy <shlevy>
19335
19336 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19337
c4855fdc
VS
193382010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19341 Windows Server 2008.
19342 Reported by: Devin Giddings.
19343
0354b867
VS
193442010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19345
19346 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19347 writing an error message because of async power management.
19348 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19349 (grub_reboot): Likewise.
19350
ab66c69f
JU
193512010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19352
19353 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19354 keep unit tests from failing when they shouldn't.
19355
1426ef35
CW
193562010-12-21 Colin Watson <cjwatson@ubuntu.com>
19357
19358 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19359 previous patch increased the size of the RS code by 20 bytes (at
19360 least with gcc-4.4), so increase this by 20 bytes to match.
19361 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19362
20641b6b
CW
193632010-12-21 Colin Watson <cjwatson@ubuntu.com>
19364
19365 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19366 scratch area. Make sure to initialise chosen in standalone mode as
19367 well as non-standalone.
19368 Reported by: Robert Hooker and Andy Whitcroft.
19369 Tested by: Andy Whitcroft.
19370
d060ad60
CW
193712010-12-21 Colin Watson <cjwatson@ubuntu.com>
19372
19373 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19374 constructing a new unescaped string and passing it to grub_xputs in
19375 one go, rather than passing characters to grub_printf one at a time.
19376
b889cfad
CW
193772010-12-21 Colin Watson <cjwatson@ubuntu.com>
19378
19379 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19380 initialising utf16.
19381
4e01b6c8
CW
193822010-12-21 Colin Watson <cjwatson@ubuntu.com>
19383
19384 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19385 comment. Add an extra layer of quotation, requiring the output of
19386 this function to be used in a printf format string.
19387 (gettext_printf): New function.
19388 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19389 Extract translatable strings from here-documents and use a temporary
19390 variable instead, so that xgettext can find them.
19391 * util/grub.d/10_kfreebsd.in: Likewise.
19392 * util/grub.d/10_linux.in: Likewise.
19393 * util/grub.d/20_linux_xen.in: Likewise.
19394
19395 * po/grub.d.sed: New file.
19396 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19397 arguments. Set c-format flags on all strings extracted from
19398 util/grub.d/ (xgettext refuses to include these itself for strings
19399 it extracted from a shell file, but these really are c-format).
19400
5318fe98
VS
194012010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19402
19403 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19404 Avoid next pointing to nowhere.
19405
6c85b743
VS
194062010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19407
19408 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19409 rather than assuming than rootblock is exactly in the middle.
19410 (grub_affs_label): Likewise.
19411
a2a08a35
VS
194122010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19413
19414 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19415 reserved_first_sector to 0.
19416 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19417 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19418 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19419
7059d1ec
VS
194202010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19421
19422 Fix handling of UTF-16 UDF labels.
19423
19424 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19425 (read_string): .. here.
19426 (grub_udf_label): Use read_string.
19427
30aff4cb
BC
194282010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19429
19430 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19431 editor under argument scope.
19432 Reported by: Jordan Uggla
19433
5cf86f4b
VS
194342010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19435
19436 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19437
32570200
CW
194382010-12-18 Colin Watson <cjwatson@ubuntu.com>
19439
19440 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19441 line, and other keys scroll an entire page (previous handling was
19442 for \r and \n to scroll a page and other keys to scroll two lines).
19443
e1dffcf2
VS
194442010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19445
19446 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19447 Set ptrdest to correct get_physical_target_address rather than
19448 incorrect get_virtual_current_address.
19449
b04298cf 194502010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19451
19452 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19453 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19454
5367ecd3
CW
194552010-12-10 Colin Watson <cjwatson@ubuntu.com>
19456
19457 * .bzrignore: Ignore grub-core/rs_decoder.S.
19458
1fb430f8
CW
194592010-12-10 Colin Watson <cjwatson@ubuntu.com>
19460
19461 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19462 .mo/.mo.gz opening sequence to ...
19463 (grub_mofile_open_lang): ... here.
19464 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19465 * util/grub.d/00_header.in (grub_lang): Include country part of
19466 locale.
19467 Reported by: Mario Limonciello.
19468
a94a6671
RM
194692010-12-09 Robert Millan <rmh@gnu.org>
19470
19471 * NEWS: Document addition of ZFS support.
19472
24b7938b
CW
194732010-12-04 Colin Watson <cjwatson@ubuntu.com>
19474
19475 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19476 rather than `/ 2', as the latter requires -Wa,--divide which would
19477 require bumping our minimum binutils version.
19478
bddc3ef6
BC
194792010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19480
19481 * util/grub-script-check.c (main): Print script line number on
19482 error.
19483
bf78d5b2
RM
194842010-12-01 Robert Millan <rmh@gnu.org>
19485
19486 * grub-core/fs/zfs/zfs.c: New file.
19487 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19488 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19489 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19490 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19491
19492 * include/grub/zfs/dmu.h: Likewise.
19493 * include/grub/zfs/dmu_objset.h: Likewise.
19494 * include/grub/zfs/dnode.h: Likewise.
19495 * include/grub/zfs/dsl_dataset.h: Likewise.
19496 * include/grub/zfs/dsl_dir.h: Likewise.
19497 * include/grub/zfs/sa_impl.h: Likewise.
19498 * include/grub/zfs/spa.h: Likewise.
19499 * include/grub/zfs/uberblock_impl.h: Likewise.
19500 * include/grub/zfs/vdev_impl.h: Likewise.
19501 * include/grub/zfs/zap_impl.h: Likewise.
19502 * include/grub/zfs/zap_leaf.h: Likewise.
19503 * include/grub/zfs/zfs.h: Likewise.
19504 * include/grub/zfs/zfs_acl.h: Likewise.
19505 * include/grub/zfs/zfs_znode.h: Likewise.
19506 * include/grub/zfs/zil.h: Likewise.
19507 * include/grub/zfs/zio.h: Likewise.
19508 * include/grub/zfs/zio_checksum.h: Likewise.
19509
19510 * Makefile.util.def: Build ZFS into libgrubmods.
19511 * grub-core/Makefile.core.def: Build zfs.mod.
19512
3f0f3831
SJ
195132010-11-30 Szymon Janc <szymon@janc.net.pl>
19514
19515 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19516 variable.
19517 * grub-core/commands/wildcard.c (match_files): Likewise.
19518
3a4253b2
RM
195192010-11-30 Robert Millan <rmh@gnu.org>
19520
19521 * grub-core/loader/i386/bsd.c
19522 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19523 whether kernel is loaded using grub_loader_is_loaded(), rather
19524 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19525 certain error conditions.
19526
8c317b27
RM
195272010-11-30 Robert Millan <rmh@gnu.org>
19528
c5c9cd3e
RM
19529 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19530 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19531
49d3ab46
VS
195322010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19533
19534 Avoid using tricks for initialising endian variables.
19535
19536 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19537 Make const.
19538 (GRUB_MOD_INIT): Don't byte-swap.
19539 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19540 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19541 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19542 (grub_swap_bytes32_compile_time): Likewise.
19543 (grub_cpu_to_le32_compile_time): Likewise.
19544 (grub_cpu_to_le16_compile_time): Likewise.
19545
f420a804
VS
195462010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19547
19548 * util/grub-setup.c (setup): Stop recommending --force. People who
19549 understand the dangers of blocklists are able to find this option
19550 anyway and the ones who don't shouldn't use it anyway.
19551
4e7db17b
RM
195522010-11-26 Robert Millan <rmh@gnu.org>
19553
19554 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19555 Update all users.
19556
9be57a0d
CW
195572010-11-26 Colin Watson <cjwatson@ubuntu.com>
19558
19559 Fix LVM-on-RAID probing.
19560
19561 * util/grub-probe.c (probe): Remember which disk was detected as
19562 RAID (perhaps an LVM physical volume). Use that disk's raidname
19563 rather than that of the top-level disk.
19564
2c7859b3 195652010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 19566
d7647bb6
BC
19567 Fix cmdline argument quotes for setparams command of menuentry
19568 definitions.
7e623b0d
BC
19569
19570 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19571 quotes for arguments.
f866fe80 19572 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 19573 grub_strchrsub function instead.
f866fe80 19574
7955bea0 19575 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 19576
74f72a64
CW
195772010-11-24 Colin Watson <cjwatson@ubuntu.com>
19578
19579 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19580 effort by skipping "." and ".." entries up-front.
19581 Suggested by: Michael Lazarev.
19582
5a407278
CW
195832010-11-24 Colin Watson <cjwatson@ubuntu.com>
19584
19585 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19586 ldflags to ldadd, to fix link line ordering.
19587 (none_decompress): Likewise.
19588
3030d8ec
CW
195892010-11-24 Colin Watson <cjwatson@ubuntu.com>
19590
19591 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19592 platforms.
19593 (grub-emu-lite): Remove kern/emu/cache.S.
19594
b7fbac12
CW
195952010-11-23 Colin Watson <cjwatson@ubuntu.com>
19596
19597 * util/deviceiter.c (compare_devices): If the by-id link for a
19598 device couldn't be resolved, fall back to sorting by the by-id link
19599 rather than segfaulting.
19600 Reported and tested by: Daniel Mierswa.
19601
5225f328
CW
196022010-11-23 Colin Watson <cjwatson@ubuntu.com>
19603
19604 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19605 ldflags, to fix link line ordering.
19606
038b3ce8
CW
196072010-11-23 Colin Watson <cjwatson@ubuntu.com>
19608
19609 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19610 linkers are picky about this.
19611
bf16e98e
CW
196122010-11-23 Colin Watson <cjwatson@ubuntu.com>
19613
19614 * grub-core/Makefile.am (command.lst): Adjust sed expression
19615 ordering so that extended and priority commands aren't treated as
19616 ordinary commands.
19617
7242bab6
CW
196182010-11-23 Colin Watson <cjwatson@ubuntu.com>
19619
19620 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19621 Remove byte-swapping function calls, which are not valid in
19622 structure initialisers.
19623 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19624 non-const.
19625 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19626 grub_gpt_partition_type_bios_boot.
19627
14e8b279
CW
196282010-11-22 Colin Watson <cjwatson@ubuntu.com>
19629
19630 Fix test program build on GNU/kFreeBSD.
19631
19632 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19633 $(LIBNVPAIR)' library dependencies.
19634
e6f63338 196352010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
19636
19637 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19638
cf8ffc38
CW
196392010-11-22 Colin Watson <cjwatson@ubuntu.com>
19640
19641 * util/grub-install.in: Remove excessive quoting that broke
19642 installations to RAID devices.
19643
7f8b0fd7
VS
196442010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19645
19646 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19647 bootloader version instead of 0.
19648
dfd240b1
VS
196492010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19650
19651 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19652 warning.
19653
7b61e609
VS
196542010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19655
19656 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19657 retrieve the metadat sector if size isn't known.
19658 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19659
9dfe92d0
RM
196602010-11-18 Robert Millan <rmh@gnu.org>
19661
19662 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19663 with grub_memcmp().
19664
41cc919e
VS
196652010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19666
19667 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19668 arrow.
19669 Reported by: Jordan Uggla.
19670
1afcc914
VS
196712010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19672
19673 Make better UTF compliant.
19674
19675 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19676 sequences as incorrect.
19677 (grub_is_valid_utf8): Likewise.
19678 (grub_utf8_to_ucs4): Likewise.
19679 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19680 (grub_ucs4_to_utf8_alloc): Likewise.
19681 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19682
f1808884
VS
196832010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19684
19685 Make legacy_source behave like source.
19686
19687 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19688 grub_show_menu.
19689 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19690
24ec575b
CW
196912010-11-16 Colin Watson <cjwatson@debian.org>
19692
19693 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
19694 (-Wunused implies -Wunused-parameter, but not vice versa).
19695
72b7c7aa
CW
196962010-11-16 Colin Watson <cjwatson@ubuntu.com>
19697
19698 * configure.ac: Make error messages less confusing by testing for
19699 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
19700 accepted, but produces a diagnostic if something else is wrong).
19701
e98937aa
VS
197022010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19703
19704 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
19705 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
19706 (now unused).
19707 (grub_keyboard_controller_init)
19708 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
19709 read the initial state since controller isn't inited yet.
19710
f6bbabc3
VS
197112010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19712
19713 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
19714 allocate_regbeg may need to create new chunk header.
19715
22e7dbb2
VS
197162010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19717
19718 Fix quoting in legacy parser.
19719
19720 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
19721 single quotes.
19722 (grub_legacy_parse): Likewise.
19723 Reported by: Jordan Uggla.
19724 Tested by: Jordan Uggla.
19725
03f80960
VS
197262010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19727
19728 Don't add -lgcc on i386 and x86_64.
19729
19730 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
19731 * conf/Makefile.common (LDADD_KERNEL): Likewise.
19732 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
19733
779dc15b
VS
197342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19735
19736 * configure.ac: Add -Wno-trampolines when supported.
19737
d20a3b37
MV
197382010-11-14 Modestas Vainius <modax@debian.org>
19739
19740 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
19741 fakeraid.
19742
e5360933
GC
197432010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19744
19745 Add generic logical block size support for UDF.
19746
19747 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
19748 (GRUB_UDF_BLKSZ): Removed.
19749 (struct grub_udf_data): New field "lbshift" to hold the logical block
19750 size of the file system in log2 format. All users updated.
19751 (sblocklist): Change type to unsigned.
19752 (grub_udf_mount): Change type of "sblklist" to unsigned.
19753 Move AVDP search before VRS recognition, because the latter requires
19754 knowledge of the logical block size, which is detected during the
19755 former.
19756 Detect and validate logical block size during AVDP search, adding
19757 support for block sizes 512, 1024 and 4096.
19758 Make VRS recognition independent of block size.
19759
cb0229c5
GC
197602010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19761
19762 Properly handle deleted files on UDF.
19763
19764 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
19765 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
19766 set.
19767
406858a8
GC
197682010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19769
19770 Support reading files larger than 2 GiB.
19771
19772 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
19773 "offset" to grub_off_t.
19774 (grub_udf_read_file): Likewise for parameter "pos".
19775
130da6a7
VS
197762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19777
19778 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
19779 unavailable.
19780 (Simple configuration): Refer to Changes from GRUB Legacy about
19781 save_env availability.
19782
65e93f6b
VS
197832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19784
19785 * util/grub-install.in: Ignore empty partition table detection
19786 instead of trying to include part_ module.
19787
1fd08bf1
VS
197882010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19789
19790 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
19791 LVM on RAID support.
19792
de1a024f
VS
197932010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19794
19795 Properly define WORDS_BIGENDIAN in wrapped environments.
19796
19797 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
19798 definition.
19799 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
19800
19801 Reported by: Manoel Rebelo Abranches.
19802 Tested by: Manoel Rebelo Abranches.
19803
bc5dd0b9
VS
198042010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19805
19806 * util/grub-mkconfig.in: Fix quoting.
19807
58c184be
VS
198082010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19809
19810 Support big ext2 files.
19811
19812 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
19813 (grub_ext2_read_block): Support triple indirect blocks.
19814 (grub_ext2_read_file): Use 64-bit types and read size_high.
19815 (grub_ext2_open): Read size_high.
19816 Reported by: Ximin Luo.
19817 Tested by: Manoel Rebelo Abranches.
19818
5f0c02b3
VS
198192010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19820
19821 * util/grub-install.in: Handle filenames containing spaces.
19822 Reported by: Jordan Uggla.
19823 Tested by: Jordan Uggla.
19824
4417aae6
VS
198252010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19826
19827 * util/grub-mkconfig.in (grub_script_check): New variable.
19828 Use grub_script_check instead of grub-script-check.
19829 Reported by: Barry Jackson.
19830
7625a68e
VS
198312010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19832
19833 * docs/grub.texi (menu): Correct the order.
19834 Reported by: D. Hugh Redelmeier.
19835
10001ac5
VS
198362010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
19837
19838 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
19839 jump.
19840
9c4cf53b
MRA
198412010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19842
10001ac5
VS
19843 * include/grub/elfload.h (grub_elf32_size): New parameter.
19844 All users updated.
9c4cf53b
MRA
19845 Return maximum segments alignment.
19846 (grub_elf64_size): Likewise.
19847 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
19848 Return maximum segments alignment.
19849 (grub_elf64_size): Likewise.
19850 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
19851 (grub_linux_claimmap_iterate): New function. Uses the
19852 "available" property in the "memory" node for memory allocation
19853 for kernel in the PowerPC loader.
9c4cf53b
MRA
19854 (grub_linux_load32): Correctly find linux entry point offset.
19855 (grub_linux_load64): Likewise.
19856
d2bf06bf
RM
198572010-11-07 Robert Millan <rmh@gnu.org>
19858
19859 On mips-yeeloong, build with -march=loongson2f when this flag is
19860 available (GCC >= 4.4).
19861 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
19862 `-march=mips3'.
19863 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
19864 or otherwise add -march=mips3.
19865
898c99a2
BC
198662010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
19867
87220a68
BC
19868 Suppress shell expansion on echo '*' and echo "*" like cases.
19869 Reported by: Jordan Uggla.
898c99a2
BC
19870
19871 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
19872 string arguments before shell expansion.
19873 * tests/grub_cmd_echo.in: New testcases.
19874
4f9b406a
RM
198752010-11-07 Robert Millan <rmh@gnu.org>
19876
19877 * conf/mips-qemu-mips.rmk: Remove stale file from previous
19878 transition.
19879
80c6d25e
VS
198802010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
19881
19882 * grub-core/kern/emu/hostdisk.c
19883 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
19884
4a1a0153
VS
198852010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19886
19887 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
19888 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
19889 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
19890
34706ddc
VS
198912010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19892
19893 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
19894
6972dea9
VS
198952010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19896
19897 * util/grub-install.in: Replace useless recomendation to pass
19898 --modules with a recomendation to report a bug.
19899
9c693bd6
VS
199002010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 Properly register serial terminfo.
19903 Reported by: Jordan Uggla
19904
19905 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
19906 const.
19907 (grub_serial_terminfo_output_template): Likewise.
19908 (grub_cmd_serial): Register "serial" with terminfo.
19909 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
19910 grub_serial_terminfo_output.
19911
6c9e4c0c
RM
199122010-11-05 Robert Millan <rmh@gnu.org>
19913
19914 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
19915 needed).
19916
b9b3839f
RM
199172010-11-05 Robert Millan <rmh@gnu.org>
19918
19919 On Yeeloong, pass machine type information to Linux.
19920
19921 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
19922 (LOONGSON_MACHTYPE): New macro, set to
19923 "machtype=lemote-yeeloong-2f-8.9inches".
19924 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
19925 additional argument to Linux.
19926
1a3aaff4
RM
199272010-11-04 Robert Millan <rmh@gnu.org>
19928
19929 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
19930 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
19931 (its SATA disks are detected as slaveless IDE master drives on
19932 kFreeBSD).
19933 Reported by Carsten Aulbert.
19934
a75f4f62
CW
199352010-11-02 Colin Watson <cjwatson@ubuntu.com>
19936
19937 * util/bin2h.c (main): Fix spelling error in generated output.
19938
33b4b0c6
GS
199392010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
19940
19941 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
19942
2b36fbf4
VS
199432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19944
19945 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
19946 vga= option is supplied.
19947
74aaf558
VS
199482010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19949
19950 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
19951 * util/grub.d/10_kfreebsd.in: Likewise.
19952 * util/grub.d/10_linux.in: Likewise.
19953 * util/grub.d/20_linux_xen.in: Likewise.
19954
6428dec3
VS
199552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
19958 argument as an argument to no-argument option.
19959
f8729d98
VS
199602010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19961
19962 * util/grub.d/10_linux.in: Add missing load_video with explicit
19963 GRUB_GFXPAYLOAD_LINUX.
19964
89d68fa6
VS
199652010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19966
19967 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
19968
3a1197cd
VS
199692010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
19972 elements with invlid index.
19973 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19974 * grub-core/disk/raid.c (insert_array): Automatically reallocate
19975 members.
19976 * include/grub/raid.h (grub_raid_member): New struct.
19977 (grub_raid_array): Transform devices and start_sector into usage of
19978 grub_raid_member. All users updated
19979 (allocated_devs): New member.
19980
71574288
VS
199812010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
19982
19983 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
19984 is modified
19985
8d40ec65
BC
199862010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
19987
19988 NetBSD build fix for getline function conflict from gnulib.
19989
19990 * Makefile.util.def (libgrubkern.a): New library for grub kernel
19991 components that depend on gnulib headers.
19992 (libgrubmods.a): Renamed from earlier libgrub.a.
19993 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
19994
95b9257e
VS
199952010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
19996
19997 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
19998 install rather than creating a broken install.
19999
26c53dc6
VS
200002010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20001
20002 * util/grub-setup.c (argp): Remove misleading example of installing to
20003 a partition.
20004
4171b3c5
VS
200052010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20006
20007 * util/grub-setup.c (setup): Clarify the error message.
20008
18568d18
VS
200092010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20010
20011 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20012
4f6a2e21
VS
200132010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20014
20015 * grub-core/kern/emu/misc.c
20016 (grub_make_system_path_relative_to_its_root)
20017 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20018
200192010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20020
20021 * grub-core/kern/emu/misc.c
20022 (grub_make_system_path_relative_to_its_root): Revert r2882.
20023
e138c458
VS
200242010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20025
20026 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20027 useless field head. All users updated.
20028 (free_subchunk): Correct handling of IN_REGION subchunk.
20029
0cbcdf0e
CW
200302010-10-22 Colin Watson <cjwatson@ubuntu.com>
20031
20032 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20033 (Supported kernels): Likewise.
20034
b65ea155
GS
200352010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20036
20037 Make mktemp invocations portable.
20038
20039 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20040 exit if mktemp fails.
20041 * tests/grub_script_blockarg.in: Likewise.
20042 * tests/partmap_test.in: Likewise.
20043 * tests/util/grub-shell-tester.in: Likewise.
20044 * tests/util/grub-shell.in: Likewise.
20045 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20046 * Makefile.am: Likewise, and chain shell commands with `&&'
20047 instead of ';'.
20048 * util/grub-mkrescue.in: Use the same explicit template as above, and
20049 exit if mktemp fails.
20050
05f43cdd
BC
200512010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20052
20053 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20054 Linux kernel, reported by Dennis Schridde.
20055
800e6a9b
SJ
200562010-10-17 Szymon Janc <szymon@janc.net.pl>
20057
20058 * grub-core/normal/auth.c (grub_auth_check_authentication):
20059 Set-but-not-used variable removed.
20060
d82df574
VS
200612010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20062
20063 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20064 32-bit linux protocol.
20065
7bced458
VS
200662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20067
20068 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20069 cursor shape for sanity.
20070
5b027690
VS
200712010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20072
20073 * docs/grub.texi (Installation): Document buggy BIOS install.
20074
ba5f65cf
VS
200752010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20076
20077 * docs/grub.texi (Installation): Indent.
20078
fdf2ec9c
VS
200792010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20080
20081 * util/grub-setup.c (setup): New parameter allow_floppy.
20082 (arguments): New member allow_floppy.
20083 (argp_parser): Handle --allow-floppy.
20084 (main): Pass allow_floppy.
20085 * util/grub-install.in: New option --allow-floppy passed though to
20086 grub-setup.
20087
861dfd4c
VS
200882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20089
20090 * util/grub-install.in: Handle partitionless disks.
20091
f77a8c24
VS
200922010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20093
20094 * util/grub-setup.c (setup): Don't clean blocklists before readability
20095 verfification.
20096
27d9ee32
VS
200972010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20098
20099 * docs/grub.texi (Installation): Document embedding zone. Remove
20100 obsolete grub-install example.
20101
6bdda8f8
SJ
201022010-10-16 Szymon Janc <szymon@janc.net.pl>
20103
20104 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20105 Set-but-not-used variable ifdef'ed.
20106 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20107 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20108 variable removed.
20109 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20110 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20111 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20112 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20113 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20114 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20115 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20116 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20117 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20118 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20119 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20120 Likewise.
20121
e19b016b
VS
201222010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20123
20124 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20125 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20126 enum value.
20127
6c8d3002
VS
201282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20131 synonym to _S5_. Needed for some DSDTs.
20132
c32b51c9
VS
201332010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20134
20135 Userspace ACPI parser debugging.
20136
20137 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20138 headers and add relevant defines. Don't include standard headers.
20139 (main) [GRUB_DSDT_TEST]: New function.
20140 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20141 Don't declare functions.
20142
fbfbeb39
VS
201432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20144
20145 Remove dead grub_efi_mm_fini.
20146
20147 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20148 (ALLOCATED_PAGES_SIZE): Likewise.
20149 (MAX_ALLOCATED_PAGES): Likewise.
20150 (allocated_pages): Likewise.
20151 (grub_efi_allocate_pages): Don't record allocated pages.
20152 (grub_efi_free_pages): Likewise.
20153 (grub_efi_mm_init): Likewise.
20154 (grub_efi_mm_fini): Removed.
20155
65f7ed7c
VS
201562010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20157
20158 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20159 (grub_efi_mm_init): Take into account the memory map size increase.
20160
24977b44
VS
201612010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20162
20163 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20164 (serial_hw_put): Wait based on real time rather than port reads. Don't
20165 roken ports.
20166 * include/grub/serial.h (grub_serial_port): New field broken.
20167
1eb01cd2
RM
201682010-10-16 Robert Millan <rmh@gnu.org>
20169
20170 * grub-core/kern/emu/misc.c
20171 (grub_make_system_path_relative_to_its_root): Fix premature return
20172 when processing non-root ZFS filesystems.
5f8b440b 20173 Reported by Sergio Talens-Oliag.
1eb01cd2 20174
2d5fed60
RM
201752010-10-15 Robert Millan <rmh@gnu.org>
20176
20177 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20178 guarantee compressed ones are processed first.
20179
d0f4c1ea
VS
201802010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20181
20182 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20183 grub_efiemu_autocore.
20184
d87c681f
VS
201852010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20186
20187 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20188 rather than 0x1b.
20189 (grub_console_getkey): Use correct jae opcode rather than ja.
20190
219b3564
RM
201912010-10-12 Robert Millan <rmh@gnu.org>
20192
20193 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20194 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20195 variable. All references updated.
20196
20197 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20198
20c6bb7e
VS
201992010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20200
20201 Correctly distinguish mdraid flavours.
20202
20203 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20204 (insert_array): New argument raid.
20205 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20206 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20207 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20208
74baff84
VS
202092010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20210
20211 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20212 handling of special keys.
20213
3ef068df 202142010-10-02 Aleš Nesrsta <starous@volny.cz>
20215
c7980ad9
VS
20216 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20217 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20218
a9455194 202192010-10-02 Aleš Nesrsta <starous@volny.cz>
20220
c7980ad9
VS
20221 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20222 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20223 users updated.
a9455194 20224 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20225 Use right endpoint when querying descriptor.
a9455194 20226
441cfe65
VS
202272010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20228
20229 Clear out 0x80 color bit on EFI.
20230 Tested by: decoder
20231 Reported by: decoder and meta tech.
20232
20233 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20234 (grub_console_setcolorstate): Clear out 0x80 bit.
20235 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20236 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20237 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20238
bf26bcc4
VS
202392010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20242 Set to "auto".
20243
6e3c515d
VS
202442010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20245
20246 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20247 mo_file after freeing.
20248
e6d983ba
VS
202492010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20252
74ccb5b5
VS
202532010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20254
20255 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20256 flags.
20257
17821956
VS
202582010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20259
20260 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20261 usage.
20262
ee74fa48
VS
202632010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20264
20265 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20266
20267 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20268 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20269 and terminfo.h when needed.
20270 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20271 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20272 (terminfo): Enable only on terminfokernel.
20273 (extcmd): Likewise.
20274 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20275 * include/grub/lib/arg.h: Likewise.
20276 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20277 incorrect usage of ->.
20278
aa438e68
VS
202792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20280
20281 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20282 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20283
57994012
VS
202842010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20285
20286 Fix coreboot compilation.
20287
20288 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20289 Take VBE info into account even if only text is supported.
20290 (fill_vbe_info): Take into account the case when only VGA text
20291 is supported.
20292 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20293 on coreboot, multiboot and qemu.
20294
2a406611
VS
202952010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20296
20297 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20298 debug messages.
20299 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20300
d33613fc
VS
203012010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20302
20303 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20304 parameters.
20305
44a1b432
VS
203062010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20307
20308 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20309 if they were BSD-style.
20310
edde54e6
VS
203112010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20312
20313 * grub-core/boot/i386/pc/lnxboot.S: Replace
20314 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20315 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20316
b65830fa
VS
203172010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20318
20319 Write embedding zone using Reed-Solomon.
20320
20321 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20322 * grub-core/Makefile.am (rs_decoder.S): New target.
20323 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20324 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20325 (multiboot): Move to RS part.
20326 (post_reed_solomon): New label.
20327 (grub_boot_drive): Move to non-RS part since it's modified in memory
20328 on boot.
20329 Include rs_decoder.S.
20330 * grub-core/lib/reed_solomon.c: New file.
20331 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20332 New definition.
20333 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20334 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20335 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20336 * include/grub/partition.h (grub_partition_map): Change prototype of
20337 embed to allow returning additional sectors.
20338 * include/grub/reed_solomon.h: New file.
20339 * util/grub-setup.c (setup): Handle Reed-Solomon.
20340
0b4b227f
CW
203412010-09-28 Colin Watson <cjwatson@ubuntu.com>
20342
20343 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20344 i386 and x86-64 definedness tests.
20345
f772623b
YB
203462010-09-27 Yves Blusseau <blusseau@zetam.org>
20347
20348 Fix generation of kernel_syms.lst
20349
20350 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20351 ASM_PREFIX
20352
8e57a6ca
RM
203532010-09-26 Robert Millan <rmh@gnu.org>
20354
20355 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20356
20357 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20358 the pool is an array of devices, iterate through it and return the
20359 first device that passes a stat() test (instead of blindly returning
20360 the first one).
20361
f9130836
RM
203622010-09-26 Robert Millan <rmh@gnu.org>
20363
20364 Build fixes for GNU/kFreeBSD.
20365
20366 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20367 to programs that require ZFS conversion.
20368 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20369 kernels that don't have FLOPPY_MAJOR.
20370
96510faf
BC
203712010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20372
20373 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20374
449333eb
BC
203752010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20376
20377 Fix grub-emu build.
20378
20379 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20380 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20381 mdraid09 and mdraid1x.
20382
e1fd1939
CW
203832010-09-24 Colin Watson <cjwatson@ubuntu.com>
20384
20385 Re-enable grub-extras.
20386
20387 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20388 avoid confusing Automake. Run autogen only twice, once for the top
20389 level and once for grub-core. Add Makefile.util.def and
20390 Makefile.core.def from extra modules to the appropriate autogen
20391 invocations. If Makefile.common exists in an extra module, include
20392 it in both Makefile.util.am and grub-core/Makefile.core.am;
20393 similarly, include any Makefile.util.common file in Makefile.util.am
20394 and any Makefile.core.common file in grub-core/Makefile.core.am.
20395 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20396 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20397 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20398 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20399
20400 * gentpl.py (gvar_add): Turn GVARS into a set.
20401 (global_variable_initializers): Sort global variables on output.
20402 (vars_init): New function.
20403 (first_time): Likewise.
20404 (library): Ensure that non-global variable initialisations are
20405 emitted before the first time we emit code for a library block.
20406 Append to variables rather than setting them. Only emit
20407 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20408 each conditional path.
20409 (program): installdir() emits an Autogen macro, so must be passed to
20410 var_add rather than gvar_add.
20411 (data): Likewise.
20412 (script): Likewise.
20413 (rules): New function, centralising handling for different target
20414 types. Set up Guile association lists for first_time and vars_init,
20415 and send most output to a diversion so that variable initialisations
20416 can be emitted first.
20417 (module_rules): Use new rules function.
20418 (kernel_rules): Likewise.
20419 (image_rules): Likewise.
20420 (library_rules): Likewise.
20421 (program_rules): Likewise.
20422 (script_rules): Likewise.
20423 (data_rules): Likewise.
20424
20425 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20426
20427 * .bzrignore: Add contrib and grub-core/contrib. Remove
20428 grub-core/Makefile.gcry.am.
20429
1d12cf29
YB
204302010-09-24 Yves Blusseau <blusseau@zetam.org>
20431
20432 * grub-core/lib/LzFind.c: Add missing include.
20433 * grub-core/lib/LzmaEnc.c: Likewise.
20434 * grub-core/script/lexer.c: Likewise.
20435 * grub-core/script/yylex.l: Likewise.
20436 * util/grub-macho2img.c: Likewise.
20437 * util/grub-menulst2cfg.c: Likewise.
20438 * util/grub-mklayout.c: Likewise.
20439 * util/grub-mkpasswd-pbkdf2.c
20440 * util/grub-mkrelpath.c: Likewise.
20441 * util/resolve.c: Likewise.
20442
dd363028
BC
204432010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20444
20445 * Makefile.util.def (example_unit_test): Add
20446 grub-core/gnulib/libgnu.a.
20447
f5a109e2
GS
204482010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20449
20450 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20451
6d0fa83c
VS
204522010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20453
20454 Support xz compression on yeeloong.
20455
20456 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20457 * configure.ac: Check for LZMA.
20458 * grub-core/Makefile.core.def (xz_decompress): New target.
20459 (none_decompress): Likewise.
20460 * grub-core/boot/decompressor/minilib.c: New file.
20461 * grub-core/boot/decompressor/none.c: Likewise.
20462 * grub-core/boot/decompressor/xz.c: Likewise.
20463 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20464 * grub-core/kern/mips/cache_flush.S: Likewise.
20465 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20466 * grub-core/kern/mips/startup.S: Move first stage to ...
20467 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20468 nomacro.
20469 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20470 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20471 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20472 Allocate statically.
20473 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20474 Allocate statically or use scratch. Don't check CRC32.
20475 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20476 Allocate statically. Don't check CRC32.
20477 * include/grub/decompressor.h: New file.
20478 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20479 Removed.
20480 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20481 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20482 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20483 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20484 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20485 * util/grub-mkimage.c (grub_compression_t): New type.
20486 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20487 (image_target_desc): New field default_compression.
20488 (image_targets): Adjust yeeloong targets.
20489 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20490 (compress_kernel): New parameter comp.
20491 (generate_image): Likewise. Handle new compression case.
20492 (options): New option --compression
20493 (help): Likewise.
20494 (main): Handle new option.
20495
1b655af6
GS
204962010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20497
20498 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20499
8f03f0b5
CW
205002010-09-22 Colin Watson <cjwatson@ubuntu.com>
20501
20502 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20503 typo in __i386__ conditional.
20504
7835dfd3
VS
205052010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20506
20507 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20508 include.
20509
e255597e
VS
205102010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20511
6d0fa83c 20512 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20513
20514 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20515 new tags as supported.
20516 (acpiv2_size): New function.
20517 (grub_multiboot_get_mbi_size): Take new tags into account.
20518 (grub_multiboot_make_mbi): Add new tags.
20519 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20520
6cc14051 205212010-09-21 Aleš Nesrsta <starous@volny.cz>
20522
20523 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20524 Added missing configuration of USB device.
20525
df7769d8
CW
205262010-09-21 Colin Watson <cjwatson@ubuntu.com>
20527
20528 * grub-core/normal/menu_entry.c (run): Make sure we always return
20529 a value.
20530
b031012d
CW
205312010-09-21 Colin Watson <cjwatson@ubuntu.com>
20532
20533 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20534 NumberOfPages is UINT64 according to the UEFI specification, not
20535 UINTN. Fix printf format.
20536
174de8f3
CW
205372010-09-21 Colin Watson <cjwatson@ubuntu.com>
20538
20539 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20540 `err' to grub_usb_err_t.
20541 Reported and tested by: KESHAV P.R.
20542
d7dbe923
CW
205432010-09-21 Colin Watson <cjwatson@ubuntu.com>
20544
20545 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20546 tpart non-const, so that we can assign to it. (Since this is a
20547 typedef, the constness refers to the pointer rather than what it
20548 points to.)
20549
8d5e2af3
CW
205502010-09-21 Colin Watson <cjwatson@ubuntu.com>
20551
20552 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20553 $(top_srcdir)/grub-core/gnulib as well as
20554 $(top_builddir)/grub-core/gnulib.
20555 Reported by: KESHAV P.R.
20556
5c527783
CW
205572010-09-21 Colin Watson <cjwatson@ubuntu.com>
20558
20559 * util/grub-install.in: Fix the bootloader ID option to be
20560 consistently --bootloader-id, not --bootloader_id.
20561 Reported by: KESHAV P.R.
20562
d309a16e
CW
205632010-09-21 Colin Watson <cjwatson@ubuntu.com>
20564
20565 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20566 check hash checksum." consistently translatable.
20567
b830cd16
YB
205682010-09-21 Yves Blusseau <blusseau@zetam.org>
20569
20570 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20571 $(top_builddir).
20572
c4fe27a8
CW
205732010-09-21 Colin Watson <cjwatson@ubuntu.com>
20574
20575 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20576 (GRUB_MOD_INIT): Register sha1sum command.
20577 (GRUB_MOD_FINI): Unregister sha1sum command.
20578
a4c1d277
YB
205792010-09-21 Yves Blusseau <blusseau@zetam.org>
20580
20581 Keep boot and grub directory names in sync with utils scripts
20582
20583 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20584 * config.h.in: Add previous macros.
20585 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20586 * util/grub-install.in: Use $bootdir and $grubdir variables.
20587
4eff79d2
CW
205882010-09-21 Colin Watson <cjwatson@ubuntu.com>
20589
20590 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20591 convert partition names to disk names if the new `convert' parameter
20592 is set.
20593 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20594 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20595 disk in its own right. This can happen with Xen disk images.
20596
934d7e44
YB
205972010-09-21 Yves Blusseau <blusseau@zetam.org>
20598
20599 * util/grub-editenv.c: Update strings to avoid warnings when generating
20600 grub.pot file.
20601 * util/grub-setup.c: Likewise.
934d7e44 20602
df3367cc
VS
206032010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20604
20605 * configure.ac: Change version to 1.99~beta0.
20606
77a94e98
VS
206072010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20608
20609 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20610 Add BADRAM.
20611 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20612 Likewise.
20613 * include/multiboot.h: Resynced with specification.
20614 * include/multiboot2.h: Likewise.
20615
269004c1
CW
206162010-09-21 Colin Watson <cjwatson@ubuntu.com>
20617
20618 Fix po directory handling.
20619
20620 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20621 * grub-core/gnulib/Makefile.am: Import gettext module.
20622 * m4/gnulib-cache.m4: Likewise.
20623 * m4/gnulib-comp.m4: Likewise.
20624 * m4/gettext.m4: New file, from gnulib.
20625 * m4/glibc2.m4: Likewise.
20626 * m4/iconv.m4: Likewise.
20627 * m4/intdiv0.m4: Likewise.
20628 * m4/intl.m4: Likewise.
20629 * m4/intldir.m4: Likewise.
20630 * m4/intlmacosx.m4: Likewise.
20631 * m4/intmax.m4: Likewise.
20632 * m4/inttypes-pri.m4: Likewise.
20633 * m4/lcmessage.m4: Likewise.
20634 * m4/lib-ld.m4: Likewise.
20635 * m4/lib-link.m4: Likewise.
20636 * m4/lib-prefix.m4: Likewise.
20637 * m4/lock.m4: Likewise.
20638 * m4/nls.m4: Likewise.
20639 * m4/po.m4: Likewise.
20640 * m4/printf-posix.m4: Likewise.
20641 * m4/progtest.m4: Likewise.
20642 * m4/threadlib.m4: Likewise.
20643 * m4/uintmax_t.m4: Likewise.
20644 * m4/visibility.m4: Likewise.
20645 * po/Makefile.am: Remove.
20646 * po/Makefile.in.in: New file, from gettext.
20647 ($(DOMAIN).pot-update): Support POTFILES-shell.
20648 * po/Makevars: New file.
20649 * po/POTFILES-shell: Rename to ...
20650 * po/POTFILES-shell.in: ... this. Update.
20651 * po/POTFILES: Rename to ...
20652 * po/POTFILES.in: ... this. Update.
20653 * po/Rules-quot: New file, from gettext.
20654 * po/boldquot.sed: Likewise.
20655 * po/en@boldquot.header: Likewise.
20656 * po/en@quot.header: Likewise.
20657 * po/insert-header.sin: Likewise.
20658 * po/quot.sed: Likewise.
20659 * po/remove-potcdate.sin: Likewise.
20660
3e0fa5d0
VS
206612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20662
20663 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20664
ade9bd66
VS
206652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20666
20667 * util/grub.d/20_linux_xen.in: Use submenus.
20668
fc55cc4c
VS
206692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20670
20671 Support submenus.
20672
20673 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20674 parameter submenu. All users updated.
20675 * grub-core/normal/main.c (free_menu): Rename to ...
20676 (grub_normal_free_menu): ... this. Made global.
20677 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20678 if requested.
20679 * grub-core/normal/menu_entry.c (screen): New field submenu.
20680 (make_screen): Set submenu.
20681 (run): Open new context if requested.
20682 * include/grub/menu.h (grub_menu_entry): New field submenu.
20683 * include/grub/normal.h (grub_normal_free_menu): New proto.
20684
600cedf7
VS
206852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20686
20687 Menu entries extractor.
20688
20689 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20690 variants.
20691 (GRUB_MOD_INIT): Register new variants.
20692 (GRUB_MOD_FINI): Unregister new variants.
20693 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
20694 into grub_cmd_legacy_source.
20695 (grub_cmd_legacy_source): Implement extractor variants.
20696 (GRUB_MOD_INIT): Register new variants.
20697 (GRUB_MOD_FINI): Unregister new variants.
20698 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
20699 as an extractor.
20700 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
20701 search as an extractor.
20702 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
20703 test as an extractor.
20704 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
20705 as an extractor.
20706 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
20707 (grub_env_new_context): New function.
20708 (grub_env_context_open): Likewise.
20709 (grub_env_extractor_open): Likewise.
20710 (grub_env_extractor_close): Likewise.
20711 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20712 grub_extractor_level.
20713 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
20714 * include/grub/env.h (grub_env_extractor_open): New proto.
20715 (grub_env_extractor_close): Likewise.
20716 * include/grub/normal.h (grub_extractor_level): New external variable.
20717
7bda3a87
VS
207182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20719
20720 Make cutmem accept a region specification.
20721 Suggested by: Samuel Thibault
20722
20723 * grub-core/mmap/mmap.c (parsemem): New function.
20724 (grub_cmd_cutmem): Handle new arguments.
20725
2ea57f88
VS
207262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20727
20728 New command cutmem.
20729
20730 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
20731 (GRUB_MOD_INIT): Register new command.
20732 (GRUB_MOD_FINI): Unregister new command.
20733
74342e31
VS
207342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20735
20736 Support some annoying BSD and Minix subpartitions.
20737
20738 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
20739 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
20740 Properly handle concatenation.
20741 * grub-core/kern/device.c (grub_device_iterate): Likewise.
20742 * grub-core/normal/completion.c (iterate_partition): Likewise.
20743 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
20744 contain partition. All users updated.
20745 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
20746 struct.
20747 (grub_openbsdlabel_partition_map): Likewise.
20748 (bsdlabel_partition_map_iterate): Rename to ..
20749 (iterate_real): ... this. New arguments sector, freebsd and pmap.
20750 (bsdlabel_partition_map_iterate): New function.
20751 (netopenbsdlabel_partition_map_iterate): Likewise.
20752 (netbsdlabel_partition_map_iterate): Likewise.
20753 (openbsdlabel_partition_map_iterate): Likewise.
20754 (GRUB_MOD_INIT): Register new partmaps.
20755 (GRUB_MOD_FINI): Unregister new partmaps.
20756 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
20757 (grub_partition_msdos_iterate): ... this. All users updated.
20758 Don't support embedding other than in a minix partition.
20759 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
20760 proto.
20761 * include/grub/partition.h (grub_partition): New field msdostype.
20762 * util/grub-install.in: Handle openbsd and netbsd types being in
20763 part_bsd module.
20764
1e8d555b
VS
207652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20766
20767 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
20768
20769 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
20770 * grub-core/Makefile.core.def (mdraid): Renamed to ...
20771 (mdraid09): ... this.
20772 (mdraid1x): New module.
20773 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
20774 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
20775
899d8af4
VS
207762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20777
20778 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
20779 vsprintf.
20780
40901acd
CW
207812010-09-20 Colin Watson <cjwatson@ubuntu.com>
20782
20783 * grub-core/commands/efi/lsefimmap.c: Correct header.
20784 * NEWS: Update.
20785
dfe3b247
CW
207862010-09-20 Colin Watson <cjwatson@ubuntu.com>
20787
20788 * util/grub-editenv.c (argp_parser): Don't pass translated strings
20789 as printf format strings; the translations might contain '%' which
20790 could cause a crash.
20791 (main): Likewise.
20792 * util/grub-fstest.c (argp_parser): Likewise.
20793 * util/grub-setup.c (argp_parser): Likewise.
20794 (main): Likewise.
20795
3286a4b4
VS
207962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20797
20798 Use argp in grub-fstest.
20799
20800 * util/grub-fstest.c: Don't include getopt.h.
20801 Include argp.h.
20802 (root): New variable.
20803 (args_count): Likewise.
20804 (nparm): Likewise.
20805 (num_disks): Likewise.
20806 (images): Likewise.
20807 (cmd): Likewise.
20808 (debug_str): Likewise.
20809 (args): Likewise.
20810 (options): Transformed to argp.
20811 (usage): Removed.
20812 (main): Split argument parsing into ...
20813 (argp_parser): ... this. Changed to argp format.
20814 (argp): New variable.
20815 (main): Use argp_parse.
20816
3dccbe4b
TG
208172010-09-20 Tristan Gingold <gingold@free.fr>
208182010-09-20 Robert Millan <rmh.grub@aybabtu.com>
208192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20820
20821 * grub-core/commands/efi/lsefimmap.c: New file.
20822 * grub-core/Makefile.core.def (lsefimmap): New module.
20823 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
20824
38c259a7
VS
208252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20826
20827 Pause the execution (10s max) if any errors are displayed so the user
20828 has a chance to see them.
20829
20830 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
20831 (grub_print_error): Increment grub_err_printed_errors.
20832 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
20833 execution if any errors were displayed.
20834 (show_menu): Remove old code for pause.
20835 * grub-core/normal/menu_entry.c (run): Likewise.
20836 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
20837 users updated.
20838 (grub_normal_get_char_counter): Likewise.
20839 * include/grub/err.h (grub_err_printed_errors): New external variable.
20840 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
20841
f218b09c
VS
208422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20843
20844 Support multiboot VBE info.
20845
20846 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20847 Take VBE info into account.
20848 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
20849 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20850 Call fill_vbe_info when appropriate.
20851 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
20852 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
20853 as supported.
20854 (grub_multiboot_get_mbi_size): Take new tags into account.
20855 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
20856 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
20857 Call fill_vbe_tag when appropriate.
20858 (grub_multiboot_make_mbi): Properly align tags.
20859 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
20860 function.
20861 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
20862 proto.
20863 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
20864
a9cc5438
VS
208652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20866
20867 Suport manual terminal geometry specification.
20868
20869 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
20870 Save state in grub_ofconsole_terminfo_output.
20871 (grub_ofconsole_term): Use grub_terminfo_getwh.
20872 (grub_ofconsole_getwh): Removed.
20873 * grub-core/term/serial.c (grub_serial_getwh): Removed.
20874 (grub_serial_term): Use grub_terminfo_getwh.
20875 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
20876 (options): New struct.
20877 (OPTION_*): New enum.
20878 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
20879 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
20880 width and height.
20881 (grub_terminfo_getwh): New proto.
20882 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
20883
1a8fed20
VS
208842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20885
20886 Handle legacy "terminal" command.
20887
20888 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
20889 and FLAG_TERMINAL.
20890 (legacy_commands): Add terminal and title.
20891 (grub_legacy_parse): Handle terminal. Simplify title handling.
20892
41e9c57d
VS
208932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20894
20895 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
20896 parameters overflow.
20897
61c874c5
CW
208982010-09-20 Colin Watson <cjwatson@ubuntu.com>
20899
20900 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
20901 widthspec.h.
20902
20903 * docs/grub.texi (Shell-like scripting): Document `!'.
20904 (Network): Simplify using new i386-pc-pxe format. Mention
20905 grub-mknetdir.
20906
20907 * NEWS: Update.
20908
943682b4
CW
209092010-09-20 Colin Watson <cjwatson@ubuntu.com>
20910
20911 * Makefile.am (SUBDIRS): Restore "."; it's important to force
20912 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
20913 when needed.
20914
6d3d698d
CW
209152010-09-20 Colin Watson <cjwatson@ubuntu.com>
20916
20917 * grub-core/commands/efi/lsefisystab.c: Correct header.
20918 * grub-core/commands/efi/lssal.c: Likewise.
20919 * grub-core/commands/testload.c: Likewise.
20920
c982589f
CW
209212010-09-20 Colin Watson <cjwatson@ubuntu.com>
20922
20923 * util/grub-mkrescue.in: Add explicit root argument to --set to
20924 prevent the UUID being interpreted as an argument to --set (matches
20925 previous change to prepare_grub_to_access_device).
20926
a63c31b6
CW
209272010-09-20 Colin Watson <cjwatson@ubuntu.com>
20928
20929 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
20930 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
20931 the verbosity of later #ifs.
20932 (find_partition_start): Define this function on FreeBSD too.
20933 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
20934 function.
20935 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
20936 on FreeBSD.
20937
6439b8ee
YB
209382010-09-20 Yves Blusseau <blusseau@zetam.org>
20939
20940 * util/grub-editenv.c: Use argp instead of getopt.
20941
c5930ec8
YB
209422010-09-20 Yves Blusseau <blusseau@zetam.org>
20943
20944 * util/grub-setup.c: Use argp instead of getopt.
20945
15c69261
YB
209462010-09-20 Yves Blusseau <blusseau@zetam.org>
20947
20948 Use gnulib-tool to create gnulib source files.
20949
20950 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
20951 grub-core/gnulib directories
20952 * .bzignore: Add **/.deps and autogenerated gnulib files
20953 * configure.ac: Assign auxiliary directory to build-aux, add invocation
20954 of gnulib macros, add grub-core/gnulib/Makefile
20955 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
20956 include m4 directory to aclocal.
20957 * Makefile.util.def: Remove direct compilation of gnulib source files
20958 and use the new grub-core/gnulib/libgnu.a.
20959 * build-aux/config.rpath: move config.rpath from top directory to
20960 build-aux
20961 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
20962 in gnulib headers
20963 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
20964 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
20965 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
20966 header.
20967 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
20968 string.
20969
e511c9f5
YB
209702010-09-20 Yves Blusseau <blusseau@zetam.org>
20971
20972 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
20973 grub-core/genmod.sh and grub-core/gensyminfo.sh
20974
c2dede05
BC
209752010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
20976
20977 Add a test for echo command options.
20978
20979 * tests/grub_cmd_echo.in: New test.
20980 * Makefile.util.def: Rules for new test.
20981
c55f5018
SJ
209822010-09-20 Szymon Janc <szymon@janc.net.pl>
20983
20984 Remove crc.mod and move crc command to hashsum.mod.
20985 Remove lib/crc.c - users updated to use gcrypt implementation.
20986
20987 * grub-core/commands/crc.c: Removed.
20988 * grub-core/Makefile.core.def (crc): Module removed.
20989 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
20990 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
20991 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
20992 * grub-core/lib/crc.c: Removed.
20993 * include/grub/lib/crc.h: Removed.
20994 * Makefile.util.def (crc): Remove lib/crc.c
20995 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
20996 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
20997 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
20998 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
20999 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21000 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21001
e0337366
VS
210022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21003
21004 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21005
742f9232
VS
210062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21007
21008 Split config.h for util and core.
21009
21010 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21011 (ADDR32): Likewise.
21012 (DATA32): Likewise.
21013 (BSS_START_SYMBOL): Likewise.
21014 (END_SYMBOL): Likewise.
21015 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21016 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21017 * config.h.in: New file.
21018 * configure.ac: Use config-util.h as config define file.
21019 Rename MACHINE into GRUB_MACHINE. All users updated.
21020 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21021 updated.
21022 (NESTED_FUNC_ATTR): Likewise.
21023 Substitue new variables.
21024 (COND_HAVE_ASM_USCORE): New conditional.
21025 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21026 (kernel_syms.lst): Use ASM_PREFIX.
21027 * grub-core/kern/emu/console.c: Include config-util.h.
21028 * grub-core/kern/emu/misc.c: Likewise.
21029 * grub-core/kern/emu/mm.c: Likewise.
21030 * include/grub/emu/misc.h: Likewise.
21031 * include/grub/libgcc.h: Likewise.
21032
39feb0e8
VS
210332010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21034
21035 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21036 constants usage.
21037 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21038 Fix GRUB_TERM_KEY_* constants usage.
21039 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21040
9af6dac3
VS
210412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21042
21043 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21044 print pointer.
21045 * grub-core/bus/usb/uhci.c: Remove empty define.
21046 (grub_uhci_check_transfer): Add missing cast.
21047 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21048 print pointer.
21049 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21050 PRIuGRUB_SIZE.
21051 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21052
d6d94820
VS
210532010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21054
21055 * grub-core/Makefile.core.def (legacycfg): Add
21056 lib/i386/pc/vesa_modes_table.c on emu.
21057
3572f2b6
BC
210582010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21059
21060 Reduce number of temporary files generated by build system.
21061
21062 * grub-core/gencmdlist.sh: Removed.
21063 * grub-core/genfslist.sh: Removed.
21064 * grub-core/genhandlerlist.sh: Removed.
21065 * grub-core/genmodsrc.sh: Removed.
21066 * grub-core/genpartmaplist.sh: Removed.
21067 * grub-core/genparttoollist.sh: Removed.
21068 * grub-core/gentermiinallist.sh: Removed.
21069 * grub-core/genvideolist.sh: Removed.
21070
21071 * grub-core/genmod.sh.in: New file.
21072 * grub-core/gensyminfo.sh.in: New file.
21073
21074 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21075 * conf/Makefile.extra-dist: Update with new files.
21076 * gentpl.py: Remove rules related to unnecessary temporary files.
21077 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21078 and und-* files.
21079 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21080 genmod.sh scripts.
21081 * grub-core/bus/usb/uhci.c: Remove empty #define.
21082 * grub-core/genmoddep.awk: Updated with new syminfo format.
21083 * util/bash-completion.d/Makefile.am: Add config.log to
21084 CLEANFILES.
21085
c836b030
YB
210862010-09-19 Yves Blusseau <blusseau@zetam.org>
21087
21088 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21089
2f4e8053
BC
210902010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21091
21092 * util/grub-mkconfig.in: Check the config script for syntax errors
21093 before saving.
21094
75831c34
CW
210952010-09-19 Colin Watson <cjwatson@ubuntu.com>
210962010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21097
21098 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21099 platforms.
21100 * util/grub-install.in: Add EFI and IEEE1275 support.
21101 * util/i386/efi/grub-install.in: Removed.
21102 * util/ieee1275/grub-install.in: Likewise.
21103
eaf41b25
VS
211042010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21105
21106 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21107 (grub_cmd_cmosclean): Likewise.
21108 (GRUB_MOD_INIT): Register command cmosclean.
21109 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21110 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21111
1a9130dd
CPE
211122010-09-18 Carles Pina i Estany <carles@pina.cat>
211132010-09-18 Aleš Nesrsta <starous@volny.cz>
211142010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21115
21116 Add keyboard layouts support.
21117
21118 * Makefile.util.def (grub-mklayout): New file.
21119 (grub-kbdcomp): New script.
21120 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21121 Add keyboard_layouts.h.
21122 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21123 commands/boot.c on yeeloong.
21124 (keylayouts): New module.
21125 * grub-core/bus/usb/ohci.c
21126 * grub-core/bus/usb/uhci.c
21127 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21128 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21129 (attach_root_port): Likewise.
21130 (poll_nonroot_hub): Likewise.
21131 (grub_usb_poll_devices): Likewise.
21132 (detach_device): Close transfer.
21133 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21134 function.
21135 (grub_usb_bulk_setup_readwrite): Likewise.
21136 (grub_usb_bulk_finish_readwrite): Likewise.
21137 * grub-core/commands/keylayouts.c: New file.
21138 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21139 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21140 aliases.
21141 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21142 support scancode 2.
21143 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21144 * include/grub/keyboard_layouts.h: New file.
21145 * util/grub-mklayout.c: New file.
21146 * util/grub-kbdcomp.in: Likewise.
21147
a1d84a5e
VS
211482010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21149
21150 Unify memory types.
21151
21152 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21153 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21154 types.
21155 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21156 (grub_upper_mem): Likewise.
21157 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21158 * include/grub/memory.h (grub_memory_type_t): New enum.
21159 All users updated.
21160
9696382e
VS
211612010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21162
21163 * grub-core/Makefile.core.def (lsapm): New module.
21164 * grub-core/commands/i386/pc/lsapm.c: New file.
21165 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21166 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21167 Likewise.
21168 * include/grub/i386/pc/apm.h: New file.
21169 * include/multiboot.h (multiboot_apm_info): New struct.
21170
211712010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21172
21173 GRUB-legacy configuration file support.
21174
21175 * Makefile.util.def (grub-menulst2cfg): New util.
21176 * docs/man/grub-menulst2cfg.h2m: New file.
21177 * grub-core/Makefile.core.def (legacycfg): New module.
21178 * grub-core/commands/legacycfg.c: New file.
21179 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21180 (grub_normal_add_menu_entry): ... this.
21181 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21182 (grub_normal_set_password): ...this.
21183 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21184 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21185 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21186 * grub-core/lib/legacy_parse.c: New file.
21187 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21188 * include/grub/i386/pc/vesa_modes_table.h: New file.
21189 * include/grub/legacy_parse.h: Likewise.
21190 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21191 * util/grub-menulst2cfg.c: New file.
21192
bf8d1338
CW
211932010-09-17 Colin Watson <cjwatson@ubuntu.com>
21194
21195 * grub-core/kern/emu/hostdisk.c
21196 (convert_system_partition_to_system_disk): Initialise node.
21197
9c0bad2e
CW
211982010-09-17 Colin Watson <cjwatson@ubuntu.com>
21199
21200 * grub-core/kern/emu/hostdisk.c
21201 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21202 leak.
21203 Reported and based on patch by: Modestas Vainius.
21204
a939d135
CW
212052010-09-17 Colin Watson <cjwatson@ubuntu.com>
21206
21207 Fix DM-RAID probing with recent versions of device-mapper udev
21208 rules.
21209
21210 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21211 canonicalise device paths under /dev/mapper/.
21212 (convert_system_partition_to_system_disk): Compare the
21213 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21214 path, since device nodes under /dev/mapper/ are often symlinks.
21215
0f7ee3c9
YB
212162010-09-17 Yves Blusseau <blusseau@zetam.org>
21217
21218 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21219
10854d0d
YB
212202010-09-16 Yves Blusseau <blusseau@zetam.org>
21221
21222 * configure.ac: Avoid some annoying error messages if freetype-config
21223 program is not found.
21224
108538d8
CW
212252010-09-16 Colin Watson <cjwatson@ubuntu.com>
21226
21227 Support RAID on virtio devices, and others.
21228
21229 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21230 Rename to ...
21231 [__MINGW32__] (grub_find_device): ... this.
21232 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21233 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21234 reasonable default if dir is NULL.
21235 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21236 ...
21237 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21238 (grub_guess_root_device): Update callers.
21239 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21240
21241 * util/raid.c (grub_util_getdiskname): Remove.
21242 (grub_util_raid_getmembers): Use grub_find_device rather than
21243 grub_util_getdiskname.
21244
e5bfc130
CW
212452010-09-16 Colin Watson <cjwatson@ubuntu.com>
21246
21247 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21248 needing to be compiled with serial support.
21249 (ls): Indicate that multiple files are accepted.
21250 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21251 indicate that multiple files are accepted.
21252
be458ae2
CW
212532010-09-16 Colin Watson <cjwatson@ubuntu.com>
21254
21255 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21256 libgrub_a_init.c, and util/bash-completion.d/grub.
21257
cb731b5e
VS
212582010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21259
21260 * util/grub-setup.c (setup): Fix incorrect container semantics.
21261
35139e8a
VS
212622010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21263
21264 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21265 misusage.
21266 Reported by: J. Nick Terry
21267
e50fca4a
VS
212682010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21269
21270 Move embedding routines to partmap sources files.
21271
21272 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21273 [GRUB_UTIL]: New variable.
21274 (gpt_partition_map_iterate): Set part.parent.
21275 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21276 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21277 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21278 New function.
21279 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21280 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21281 (grub_partition_map) [GRUB_UTIL]: New field embed.
21282 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21283 (setup): Use ->embed.
21284
f00478b7
VS
212852010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21286
21287 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21288 function.
21289 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21290 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21291
2b94e3ff
YB
212922010-09-15 Yves Blusseau <blusseau@zetam.org>
21293
21294 Add function to get completions from usage.
21295
21296 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21297 completions from usage. Use LC_ALL=C to get options properly.
21298
2e04a006
VS
212992010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21300
21301 * grub-core/gnulib/basename-lgpl.c: Imported.
21302 * grub-core/gnulib/basename.c: Likewise.
21303 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21304 * grub-core/gnulib/dirname.c: Likewise.
21305 * grub-core/gnulib/dirname.h: Likewise.
21306 * grub-core/gnulib/stripslash.c: Likewise.
21307
5dcdf93a
VS
213082010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21309
21310 * grub-core/gnulib/error.c: Resynced.
21311 * grub-core/gnulib/getopt.c: Likewise.
21312 * grub-core/gnulib/getopt_int.h: Likewise.
21313 * grub-core/gnulib/regex.h: Likewise.
21314 * grub-core/gnulib/regex_internal.c: Likewise.
21315 * grub-core/gnulib/regex_internal.h: Likewise.
21316
014f47b7
SJ
213172010-09-15 Szymon Janc <szymon@janc.net.pl>
21318
21319 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21320 CRC calculations and validity checks.
21321 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21322 calculations.
21323
dd521a4a
SJ
213242010-09-15 Szymon Janc <szymon@janc.net.pl>
21325
21326 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21327
79c4eeb9
VS
213282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21329
21330 Fix incorrect echo options handling.
21331 Reported by: Yves Blusseau.
21332
21333 * include/grub/command.h (grub_command_flags_t): New flags
21334 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21335 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21336 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21337
ed80f7d5
VS
213382010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21339
21340 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21341 users updated.
21342 (GRUB_COMMAND_FLAG_MENU): Likewise.
21343 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21344 (GRUB_COMMAND_FLAG_TITLE): Removed.
21345 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21346 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21347 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21348 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21349 (grub_command_flags_t): New enum. All users updated.
21350
5fe7620a
SG
213512010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21352
21353 Fix solaris compilation.
21354
21355 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21356 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21357 (grub-emu-list): Likewise.
21358
545b752f
VS
213592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 Remove deprecated root command.
21362
21363 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21364 updated.
21365
6c1a338c
VS
213662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21367
21368 * util/i386/pc/grub-setup.c: Merge this ...
21369 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21370 * util/grub-setup.c: ... into this.
21371 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21372 New struct.
21373
213742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21375
21376 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21377 possible.
21378
d2ea4551
VS
213792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21380
21381 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21382 allocate p.
21383
3c3b5040
VS
213842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21385
21386 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21387 explicit root argument to set to prevent UUID to be interpreted as
21388 argument to set.
21389
b71c3fae
VS
213902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21391
21392 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21393
275433e6
VS
213942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21395
21396 Don't export grub_gate_a20.
21397
21398 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21399 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21400 to ...
21401 (grub_gate_a20): ... this. All users updated.
21402 * include/grub/i386/pc/init.h: Removed. All users updated.
21403
a5dbb1f1
VS
214042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21405
21406 Create euro.pf2 which supports most European languages.
21407
21408 * Makefile.am (grubdata_DATA): Add euro.pf2.
21409 (euro.pf2): New target.
21410 (CLEANFILES): Add euro.pf2.
21411
62a747cb
VS
214122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21413
21414 * configure.ac: Disable emu-usb by default to prevent inadvertent
21415 device takeover.
21416
608e43b1
VS
214172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21418
21419 Disable usbserial on grub-emu since our libusb code isn't good enough
21420 yet.
21421
21422 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21423 (usbserial_pl2303): Likewise.
21424 (usbserial_ftdi): Likewise.
21425
94564f81
VS
214262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21427
21428 * include/grub/disk.h (grub_disk): Remove has_partitions.
21429 All users updated.
21430 * disk/loopback.c (grub_loopback): Remove has_partitions.
21431 All users updated.
21432 (options): Remove partitions. All users updated.
21433 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21434 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21435 actual partition table is found.
21436
3352800b
VS
214372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21438
21439 Remove readability checks (too many false negatives).
21440
21441 * util/grub-install.in: Remove readability checks.
21442 * util/grub-mkconfig.in: Likewise.
21443 * util/grub.d/10_hurd.in: Likewise.
21444 * util/grub.d/10_kfreebsd.in: Likewise.
21445 * util/grub.d/10_linux.in: Likewise.
21446 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21447 way.
21448
2419f17a
VS
214492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21450
21451 Enable acpi shutdown on all ACPI platforms.
21452
21453 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21454 on coreboo, multiboot and EFI.
21455 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21456 (grub_acpi_halt): Likewise.
21457 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21458 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21459 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21460 * grub-core/lib/i386/halt.c (grub_halt)
21461 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21462
0575c7c3
VS
214632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21464
21465 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21466 context.
21467
54ac3cd1
VS
214682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21469
21470 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21471 * grub-core/video/efi_uga.c: Likewise.
21472
b2a30ac5
VS
214732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21474
21475 Filter devaliases and never open same device twice.
21476
21477 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21478 (last_ihandle): Likewise.
21479 (ofdisk_hash_ent): New member shortest.
21480 (ofdisk_hash_add): Add canonical path too.
21481 (scan): New function.
21482 (grub_ofdisk_iterate): Iterate over hashed entries.
21483 (compute_dev_path): Don't add :0.
21484 (grub_ofdisk_open): Don't really open the disk.
21485 (grub_ofdisk_close): Avoid closing unrelated disk.
21486 (grub_ofdisk_read): Implement reopen logic.
21487 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21488 New function.
21489 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21490 New proto.
21491
fb53b340
VS
214922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21493
21494 Fix sparc64.
21495
21496 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21497 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21498 right address. Add sparc64_ieee1275_ldflags.
21499 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21500 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21501 to grub_host_to_target_addr
21502 (load_image): Likewise.
21503
f452b040
VS
215042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21505
21506 * grub-core/normal/completion.c (complete_file): Handle device
21507 containing slash.
21508 Fix based on patch by Doug Nazar.
21509
9b5b2541
VS
215102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21511
21512 grub-mknetdir script.
21513
21514 * Makefile.util.def (grub-mknetdir): New module.
21515 * tests/util/grub-shell.in: Support boot=net
21516 * util/grub-mknetdir.in: New file.
21517
9d2be652
VS
215182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21519
21520 videoinfo on non-vbe.
21521
21522 * grub-core/Makefile.core.def (vbeinfo): Removed.
21523 (vbetest): Removed.
21524 (videoinfo): New module.
21525 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21526 * grub-core/commands/i386/pc/vbetest.c: Removed.
21527 * grub-core/commands/videoinfo.c: New file.
21528 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21529 specification.
21530 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21531 as vbetest.
21532 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21533 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21534 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21535 mode_number. New parameter mode. All users updated.
21536 (grub_video_gop_iterate): New function.
21537 (grub_video_efi_gop): New member iterate.
21538 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21539 (grub_vbe_set_video_mode): Remove setting useless fields.
21540 (vbe2videoinfo): New function.
21541 (grub_video_vbe_iterate): Likewise.
21542 (grub_video_vbe_setup): Use vbe2videoinfo.
21543 (grub_video_vbe_print_adapter_specific_info): New function.
21544 (grub_video_vbe_adapter): New fields iterate and
21545 print_adapter_specific_info.
21546 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21547 All users updated.
21548 (grub_video_mode_info): New field mode_number.
21549 (grub_video_adapter): New fields iterate and
21550 print_adapter_specific_info.
21551
179503f5
TG
215522010-09-13 Tristan Gingold <gingold@free.fr>
215532010-09-13 Robert Millan <rmh.grub@aybabtu.com>
215542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21555
21556 * grub-core/commands/efi/lsefisystab.c: New file.
21557 * grub-core/commands/efi/lssal.c: Likewise.
21558 * grub-core/Makefile.core.def (lsacpi): New module.
21559 (lsefisystab): Likewise.
21560 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21561 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21562 (grub_efi_sal_system_table): New struct.
21563 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21564 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21565 (grub_efi_sal_system_table_platform_features): Likewise.
21566 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21567 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21568 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21569 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21570
cf9827de
VS
215712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21572
21573 Support explicit user claim that a device is BIOS-visible.
21574
21575 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21576 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21577 * grub-core/kern/emu/hostdisk.c
21578 (convert_system_partition_to_system_disk): Support mdX.
21579 (find_system_device): New parameter add. All users updated.
21580 (grub_util_biosdisk_is_present): New function.
21581 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21582 proto.
21583
53f0eb1f
VS
215842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21585
21586 Search hints support.
21587
21588 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21589 All users updated.
21590
b23ffd70
YB
215912010-09-13 Yves Blusseau <blusseau@zetam.org>
21592
21593 Bash completion script for util commands
21594
21595 * Makefile.am: Add util/bash-completion.d directory
21596 * configure.ac: Likewise.
21597 * util/bash-completion.d/Makefile.am: New file.
21598 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21599
d547dc28
VS
216002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21601
21602 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21603 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21604 Reported by: Yves Blusseau.
21605
2fc8ccb9
VS
216062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21607
21608 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21609 partition size and offset.
21610
d8a84076
VS
216112010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21612
21613 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21614
84fb3b3d
VS
216152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21616
21617 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21618
768ec2e2
VS
216192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21620
21621 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21622 (grub_xvasprintf): Likewise.
21623
4870900f
VS
216242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21625
21626 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21627
faca6bec
VS
216282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21629
21630 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21631 args ending with NULL.
21632
216332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
21634
21635 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21636 pointer.
21637
3c70f225
SJ
216382010-09-11 Szymon Janc <szymon@janc.net.pl>
21639
21640 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21641
4df7996d
VS
216422010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21643
21644 Shutdown using ACPI.
21645
21646 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21647 * grub-core/commands/acpihalt.c: New file.
21648 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21649 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21650 (grub_acpi_halt): New proto.
21651 (GRUB_ACPI_SLP_EN): New const.
21652 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21653 (GRUB_ACPI_OPCODE_*): New enum.
21654 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21655
126b4c32
TG
216562010-09-11 Tristan Gingold <gingold@free.fr>
216572010-09-11 Robert Millan <rmh.grub@aybabtu.com>
216582010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21659
21660 * commands/lsacpi.c: New file.
21661 * grub-core/Makefile.core.def (lsacpi): New module.
21662 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21663 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21664 (grub_acpi_madt_entry_header): New struct.
21665 (grub_acpi_madt): Likewise.
21666 (grub_acpi_madt_entry_interrupt_override): Likewise.
21667 (grub_acpi_madt_entry_sapic): Likewise.
21668 (grub_acpi_madt_entry_lsapic): Likewise.
21669 (grub_acpi_madt_entry_platform_int_source): Likewise.
21670 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21671 (PRIuGRUB_UINT32_T): Likewise.
21672 (PRIxGRUB_UINT64_T): Likewise.
21673
1aa4fe88
VS
216742010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21675
21676 Implement loading palette on ieee1275_fb.
21677
21678 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21679 (have_setcolors): Likewise.
21680 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21681 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21682 (grub_video_ieee1275_set_palette): Implement.
21683
25761e13
VS
216842010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
216852010-09-11 Colin Watson <cjwatson@ubuntu.com>
21686
21687 * util/grub-install.in (grub_partition): New variable.
21688 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21689 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21690 Fixes a bug reported by Yves Blusseau.
21691
050abaea
VS
216922010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21693
21694 Fix emu on mipsel.
21695
21696 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
21697 =grub_cpu_flush_cache on all mips and not only yeeloong.
21698 * configure.ac (COND_mips): New conditional.
21699 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
21700 platforms.
21701 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
21702 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
21703 [GRUB_LINKER_HAVE_INIT]: New function.
21704 (grub_emu_post_init): Likewise.
21705 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
21706 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
21707 * include/grub/cache.h (_mips): Include mips/cache.h.
21708 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
21709 LVM and RAID prototypes.
21710 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
21711 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
21712 function.
21713
5ed7d816
CW
217142010-09-10 Colin Watson <cjwatson@ubuntu.com>
21715
21716 * util/grub-install.in: Don't try to verify core.img until after
21717 running grub-mkimage to create it.
21718
90367e04
RM
217192010-09-10 Robert Millan <rmh@gnu.org>
21720
21721 * util/grub.d/10_hurd.in: Add misc readability checks.
21722 * util/grub.d/10_kfreebsd.in: Likewise.
21723 * util/grub.d/10_linux.in: Likewise.
21724
c452fa66
CW
217252010-09-10 Colin Watson <cjwatson@ubuntu.com>
21726
21727 * util/grub-install.in: ${imgext} won't be defined here until the
21728 install branch is merged. For the meantime, only verify core.img on
21729 i386-pc and sparc64-ieee1275 platforms.
21730
c38fe9f4
RM
217312010-09-10 Robert Millan <rmh@gnu.org>
21732
21733 Solaris support in grub_find_zpool_from_dir(). Thanks
21734 Seth Goldberg for referring to getextmntent() facility.
21735
21736 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
21737 `sys/mkdev.h'.
21738 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
21739 `<sys/mnttab.h>'.
21740 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
21741 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
21742 method for finding zpool name.
21743
905f7773
CW
217442010-09-10 Colin Watson <cjwatson@ubuntu.com>
21745
21746 grub-fstest needs the host and hostfs modules while other utilities
21747 actively require those modules to be absent, so grub-fstest needs
21748 its own initialisation and finalisation code.
21749
21750 * Makefile.am (grub_fstest.pp): New target.
21751 (grub_fstest_init.lst): Likewise.
21752 (grub_fstest_init.c): Likewise.
21753 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
21754
fb90b546
RM
217552010-09-10 Robert Millan <rmh@gnu.org>
21756
21757 * configure.ac: Check for `struct statfs.f_fstypename' and
21758 `struct statfs.f_mntfromname'.
21759
21760 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
21761 kFreeBSD-specific code.
21762
66d4bea5
RM
217632010-09-10 Robert Millan <rmh@gnu.org>
21764
21765 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
21766 on ZFS. Now non-main filesystems are supported as / too.
21767
b6a690ee
CW
217682010-09-09 Colin Watson <cjwatson@ubuntu.com>
21769
21770 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
21771 and grub-core/disk/host.c to ...
21772 (grub-fstest): ... here. Having the host disk implementation
21773 present confuses grub-probe and other utility programs.
21774
21775 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
21776 when writing to a file, not when writing to stdout.
21777
8901b00c 217782010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
21779
21780 * tests/partmap_test.in: New test for partitions.
21781 * Makefile.util.def: Rules for new test.
21782
7bf45fdd
RM
217832010-09-09 Robert Millan <rmh@gnu.org>
21784
21785 * util/grub-probe.c (probe): Fix a pair of unhandled error
21786 conditions.
21787
4dfbc574
RM
217882010-09-09 Robert Millan <rmh@gnu.org>
21789
21790 Basic Btrfs support (detection and UUID).
21791
21792 * grub-core/fs/btrfs.c: New file.
21793 * Makefile.util.def (library): Register btrfs.c.
21794 * grub-core/Makefile.core.def: Likewise.
21795
6b8e78ae
RM
217962010-09-08 Robert Millan <rmh@gnu.org>
21797
21798 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
21799 with (optional) parameters to specify device and relative path.
21800 * util/grub-install.in: Use is_path_readable_by_grub() to
21801 verify readability of a few critical files.
21802 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
21803 verify readability of grub.cfg.new.
21804
27f21a8b
VS
218052010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21806
21807 Split minix.mod into minix.mod and minix2.mod.
21808
21809 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
21810 * grub-core/Makefile.core.def (minix2): New module.
21811 * grub-core/fs/minix.c: Use definitions instead of runtime version
21812 checking.
21813 * grub-core/fs/minix2.c: New file.
21814
c0e53ea5
YB
218152010-09-08 Yves Blusseau <blusseau@zetam.org>
21816
21817 Add new --boot-directory option to replace --root-directory
21818
21819 * util/grub-install.in: Add new --boot-directory option
21820 * util/grub-reboot.in: Likewise.
21821 * util/grub-set-default.in: Likewise.
21822
b9fe6ea2
YB
218232010-09-08 Yves Blusseau <blusseau@zetam.org>
21824
21825 * util/grub-mkconfig.in: Use new variable.
21826
d87aedff
YB
218272010-09-08 Yves Blusseau <blusseau@zetam.org>
21828
21829 * configure.ac: Define some useful variables.
21830
e55e8495
VS
218312010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21832
21833 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21834 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
21835 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
21836 Use terminfo and don't use cursor-on/cursor-off unless it's known
21837 to work.
21838 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
21839 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
21840
6fa6d675
CW
218412010-09-08 Colin Watson <cjwatson@ubuntu.com>
21842
21843 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
21844 starts with "(,", fill the drive containing the loaded image in
21845 between those two characters, but expect that a full partition
21846 specification including partition map names will follow.
21847
92f2aef0
RM
218482010-09-08 Robert Millan <rmh@gnu.org>
21849
21850 * configure.ac: Remove `--enable-grub-fstest' option.
21851 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
21852
21853 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
21854 `grub-fstest' instead of `grub-probe' for readability verification.
21855 * util/grub-probe.c (probe): Remove readability verification kludge.
21856
99fd620d
RM
218572010-09-08 Robert Millan <rmh@gnu.org>
21858
21859 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
21860 initializing `GRUB_FS'.
21861
058e30ac 218622010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
21863
21864 Not command (!) support to GRUB script.
21865
21866 * tests/grub_script_not.in: New test.
21867 * Makefile.util.def: Rules for new test.
21868
21869 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21870 ! command as a special case.
21871 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
21872
b61d05ed 218732010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21874
058e30ac 21875 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
21876 grub_free.
b61d05ed 21877
4d69c786 218782010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21879
21880 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
21881
aa3119c4 218822010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
21883
21884 * docs/grub.texi (Shell-like scripting): Documentation for break,
21885 continue, shift and return commands.
21886
db0f7e3d
VS
218872010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
21888
21889 Rename CD-ROM to cd on BIOS.
21890
21891 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
21892 "cd".
21893 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
21894
88b87c93
VS
218952010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21896
21897 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
21898 * util/grub-probe.c (main): Likewise.
21899 * util/i386/pc/grub-setup.c (main): Likewise.
21900 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21901 Reported and debugged by: alexxy
21902
294f324d
VS
219032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21904
21905 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
21906 diagnostic info.
21907
d7ee3441
JS
219082010-09-05 Jo Shields <directhex@apebox.org>
21909
21910 * util/grub.d/30_os-prober.in: Add missing classes.
21911
d7e06c1f
VS
219122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21913
21914 * docs/grub.texi (Theme file format): Document new position format.
21915
fc157e53
VS
219162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21917
21918 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
21919 a table. Use @code instead of @verbatim.
21920
506e9a1c
CB
219212010-09-05 Colin D Bennett <colin@gibibit.com>
21922
21923 Gfxmenu documentation.
21924
21925 * docs/grub.texi (Theme file format): New chapter.
21926
f0aff67c
SJ
219272010-09-05 Szymon Janc <szymon@janc.net.pl>
21928
21929 * grub-core/Makefile.core.def (xzio): New module.
21930 * grub-core/io/xzio.c: New file.
21931 * grub-core/lib/xzembed/xz.h: New file (from xembed).
21932 * grub-core/lib/xzembed/xz_config.h: Likewise.
21933 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
21934 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
21935 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
21936 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
21937 * grub-core/lib/xzembed/xz_private.h: Likewise.
21938 * grub-core/lib/xzembed/xz_stream.h: Likewise.
21939 * include/grub/file.h (grub_file_filter_id): New compression filter
21940 GRUB_FILE_FILTER_XZIO.
21941
82a85062
VS
219422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21943
21944 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
21945 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
21946 size.
21947
3579415d
VS
219482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21949
21950 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
21951 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
21952
5124ae6d
VS
219532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21954
21955 Uncompressed checksum support.
21956
21957 * grub-core/commands/hashsum.c (options): Add option --uncompress.
21958 (check_list): New parameter uncompress.
21959 (grub_cmd_hashsum): Handle --uncompress.
21960
9aadb3d1
VS
219612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21962
21963 Reintroduce testload.
21964
21965 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
21966 from here ...
21967 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
21968 (GRUB_MOD_INIT): New function.
21969 (GRUB_MOD_FINI): Likewise.
21970 * grub-core/Makefile.core.def (testload): New module.
21971
a17792c3
SJ
219722010-09-05 Szymon Janc <szymon@janc.net.pl>
21973
21974 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
21975 (uint8_t): New type.
21976 (uint16_t): Likewise.
21977 (uint32_t): Likewise.
21978 (uint64_t): Likewise.
21979
b81e40a3
SJ
219802010-09-05 Szymon Janc <szymon@janc.net.pl>
21981
21982 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
21983
fc2ef117
VS
219842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
21985
21986 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
21987 Made static.
21988 (grub_gzfile_open): Removed. All users updated.
21989 (GRUB_MOD_INIT): New function.
21990 (GRUB_MOD_FINI): Likewise.
21991 * grub-core/kern/file.c (grub_file_filters_all): New variable.
21992 (grub_file_filters_enabled): Likewise.
21993 (grub_file_open): Handle filters.
21994 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
21995 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
21996 * include/grub/file.h (grub_file_filter_id_t): New type.
21997 (grub_file_filter_t): Likewise.
21998 (grub_file_filters_all): New extern variable.
21999 (grub_file_filters_enabled): Likewise.
22000 (grub_file_filter_register): New inline function.
22001 (grub_file_filter_unregister): Likewise.
22002 (grub_file_filter_disable): Likewise.
22003 (grub_file_filter_disable_compression): Likewise.
22004 * include/grub/gzio.h: Removed.
22005
35ee15e0
BC
220062010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22007
22008 Filename expansion support for wildcards in GRUB script.
22009
22010 * tests/grub_script_expansion.in: New test.
22011 * Makefile.util.def: Rule for new test.
22012
22013 * grub-core/commands/wildcard.c: New file, implements filename
22014 expansion support for GRUB script.
22015 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22016 * grub-core/script/argv.c: Cosmetic changes.
22017 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22018 Refactored to perform wildcard expansion on arguments.
22019 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22020 struct.
22021
22022 * tests/util/grub-shell.in: Fix quoting for read input.
22023
5f0c4aca
BC
220242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22025
22026 Support for updating environment variables with matched substrings
22027 of regexp.
22028
22029 * tests/grub_cmd_regexp.in: New test.
22030 * Makefile.util.def: Rule for new test.
22031
22032 * grub-core/commands/regexp.c: New option -s to update environment
22033 variables with regexp matches.
22034
3759a35f
SJ
220352010-09-04 Szymon Janc <szymon@janc.net.pl>
22036
22037 * include/grub/file.h (grub_file): New member not_easly_seekable.
22038 (grub_file_seekable): New inline function.
22039 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22040 easily seekable.
22041 (grub_gzio_open): Set not_easly_seekable.
22042 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22043 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22044
ed8c6dec
BC
220452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22046
22047 Support for options to appear multiple times on cmdline.
22048
22049 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22050 * grub-core/commands/extcmd.c: Support for repeatable option.
22051 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22052 repeatable option support.
22053
22054 Refactor menuentry into a regular command.
22055
22056 * grub-core/commands/menuentry.c: New file, menuentry command
22057 implementation.
22058 * grub-core/Makefile.core.def: Rule update for normal.mod.
22059 * grub-core/normal/main.c: Moved menuentry creation to
22060 grub-core/commands/menuentry.c.
22061 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22062 (grub_menu_execute_entry_real): Removed.
22063 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22064 function.
22065 (grub_script_execute_menuentry): Removed.
22066 * grub-core/script/parser.y (menuentry): Removed.
22067 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22068 * grub-core/script/yylex.l (menuentry): Removed.
22069 * include/grub/menu.h (grub_menu_init): New prototype.
22070 (grub_menu_fini): New prototype.
22071 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22072 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22073 (grub_script_execute_sourcecode): New prototype.
22074
dacd0cf0
BC
220752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22076
22077 "return" command for GRUB script functions.
22078
22079 * tests/grub_script_return.in: New test.
22080 * Makefile.util.def: Rules for new test.
22081
22082 * grub-core/script/execute.c (grub_script_return): New function.
22083 * grub-core/script/main.c: Register/unregister return commaond.
22084 * include/grub/script_sh.h (grub_script_return): New prototype.
22085
52e72f9d
BC
220862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22087
22088 "setparams" command to update positional parameters.
22089
22090 * tests/grub_script_setparams.in: New test.
22091 * Makefile.util.def: Rules for new test.
22092
22093 * grub-core/script/argv.c (grub_script_argv_make): New function.
22094 * grub-core/script/execute.c (replace_scope): New function.
22095 (grub_script_setparams): New function.
22096 * grub-core/script/lexer.c: Remove unused variables.
22097 * grub-core/script/main.c: Register/unregister setparams command.
22098 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22099 (grub_script_setparams): New prototype.
22100
25b60c91
BC
221012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22102
22103 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22104 grub_free order.
22105
37e7bf68
BC
221062010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22107
22108 Support for passing block of commands as an argument to extcmds.
22109
22110 * Makefile.util.def: Rules for new test.
22111 * tests/grub_script_blockarg.in: New test.
22112 * grub-core/tests/test_blockarg.c: New file, block argument
22113 command used in the test.
22114
22115 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22116 (grub_register_extcmd_prio): New function prototype.
22117 (grub_extcmd_dispatcher): New function prototype.
22118 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22119 type.
22120 * include/grub/script_sh.h (struct grub_script): New members
22121 `children', `next_siblings' and `refcnt' for block arguments and
22122 reference counting.
22123 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22124 (grub_script_arg): New member `script' for block argument.
22125 (grub_script_argv): New member `script' for block argument.
22126 (grub_parser_param): New member `scripts' for block argument.
22127 (grub_script_mem_free): New extern function prototype.
22128 (grub_script_ref): New function prototype.
22129 (grub_script_unref): New function prototype.
22130
22131 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22132 extcmd form to support block arguments.
22133 * grub-core/script/argv.c: Block arguments support.
22134 * grub-core/script/execute.c: Likewise.
22135 * grub-core/script/lexer.c: Likewise.
22136 * grub-core/script/main.c: Likewise.
22137 * grub-core/script/script.c: Likewise.
22138 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22139 non-terminals.
22140
22141 * grub-core/commands/acpi.c: Update extcmd implementations with
22142 grub_extcmd_context_t.
22143 * grub-core/commands/cat.c: Likewise.
22144 * grub-core/commands/echo.c: Likewise.
22145 * grub-core/commands/extcmd.c: Likewise.
22146 * grub-core/commands/hashsum.c: Likewise.
22147 * grub-core/commands/hdparm.c: Likewise.
22148 * grub-core/commands/help.c: Likewise.
22149 * grub-core/commands/hexdump.c: Likewise.
22150 * grub-core/commands/i386/cpuid.c: Likewise.
22151 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22152 * grub-core/commands/i386/pc/halt.c: Likewise.
22153 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22154 * grub-core/commands/iorw.c: Likewise.
22155 * grub-core/commands/keystatus.c: Likewise.
22156 * grub-core/commands/loadenv.c: Likewise.
22157 * grub-core/commands/ls.c: Likewise.
22158 * grub-core/commands/lspci.c: Likewise.
22159 * grub-core/commands/memrw.c: Likewise.
22160 * grub-core/commands/probe.c: Likewise.
22161 * grub-core/commands/search_wrap.c: Likewise.
22162 * grub-core/commands/setpci.c: Likewise.
22163 * grub-core/commands/sleep.c: Likewise.
22164 * grub-core/disk/loopback.c: Likewise.
22165 * grub-core/hello/hello.c: Likewise.
22166 * grub-core/loader/i386/bsd.c: Likewise.
22167 * grub-core/loader/xnu.c: Likewise.
22168 * grub-core/term/gfxterm.c: Likewise.
22169 * grub-core/term/serial.c: Likewise.
22170 * grub-core/tests/lib/functional_test.c: Likewise.
22171
888d1500
BC
221722010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22173
22174 Multi-line quoted strings support.
22175
22176 * grub-core/script/lexer.c (append_newline): Removed.
22177 (grub_script_lexer_yywrap): Refactored.
22178 (grub_script_lexer_init): Refactored.
22179 * grub-core/script/yylex.l (yywrap): New function.
22180 (grub_lexer_resplit): New function.
22181 (grub_lexer_unput): New function.
22182 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22183 and resplit.
22184 * tests/grub_script_echo1.in: Added few more testcases.
22185
dda060dd
VS
221862010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22187
22188 * grub-core/kern/misc.c: Don't add abort alias in utils.
22189 Reported by: echoline.
22190
6556eba9
BC
221912010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22192
22193 Add missing files into "make dist" tarball for other platforms.
22194
22195 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22196 * conf/Makefile.common (dist_noinst_DATA): New variable.
22197 * conf/Makefile.extra-dist: Added missing make dist files.
22198 * grub-core/Makefile.core.def: Likewise.
22199
c8e7bf5f
VS
222002010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22201
22202 Compress grub_prefix.
22203
22204 * grub-core/boot/i386/pc/lnxboot.S: Use
22205 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22206 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22207 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22208 GRUB_MACHINE_PREFIX_END. All users updated.
22209 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22210 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22211 + 0x40.
22212 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22213 * util/grub-mkimage.c (image_target_desc): Change data_end to
22214 prefix_end. All users updated.
22215
a7c00cdb
VS
222162010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22217
22218 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22219 value.
22220 (grub_openbsd_boot): Likewise.
22221 (grub_netbsd_boot): Likewise.
22222 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22223 (grub_xnu_boot): Likewise.
22224
9f915872
VS
222252010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22226
22227 * configure.ac: Clean LIBS variable after tests.
22228
efa1bee7
CW
222292010-09-02 Colin Watson <cjwatson@ubuntu.com>
22230
22231 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22232
61d720e5
VS
222332010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22234
22235 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22236 echo if libdevmapper will be used.
22237
ef8e0ec8
IT
222382010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22239
22240 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22241 constant for the same file.
22242
03e261d8
VS
222432010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22244
22245 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22246
c2a4eba6
CW
222472010-09-02 Colin Watson <cjwatson@ubuntu.com>
22248
22249 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22250 grub-core/*.pp.
22251
9056cbf3
CW
222522010-09-02 Colin Watson <cjwatson@ubuntu.com>
22253
22254 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22255 required by the boot protocol.
22256
22257 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22258 ebp and edi members.
22259 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22260 state.ebp and state.edi.
22261 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22262 %ebp and %edi according to grub_relocator32_ebp and
22263 grub_relocator32_edi respectively.
22264 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22265 and state.edi.
22266
529cc99a
VS
222672010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22268
22269 Add i386-pc-pxe image target.
22270
22271 * util/grub-mkimage.c (image_target_desc): New enum value
22272 IMAGE_I386_PC_PXE.
22273 (image_targets): New target i386-pc-pxe.
22274 (generate_image): Handle i386-pc-pxe image.
22275
9a093920
VS
222762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22277
22278 Fix grub_pxe_scan.
22279
22280 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22281 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22282 All users updated.
22283 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22284 (grub_pxe_pxenv): Correct type.
22285
f9cefc4e
CW
222862010-09-01 Colin Watson <cjwatson@ubuntu.com>
22287
22288 * NEWS: Document most of the important changes since 1.98.
22289
4066f57f
CW
222902010-09-01 Colin Watson <cjwatson@ubuntu.com>
22291
22292 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22293 generated manual page) a little.
22294
da2891f9
CW
222952010-09-01 Colin Watson <cjwatson@ubuntu.com>
22296
22297 * docs/grub.texi: Add myself as an author.
22298
ad717fae
VS
222992010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22300
22301 * Makefile.util.def (libgrub.a): Add missing sunpc.
22302 Reported by: Seth Goldberg.
22303
eefe8abd
VS
223042010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22305
22306 Interrupt wrapping and code simplifications.
22307
9494ef9a
VS
22308 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22309 x86_noieee1275 which are functionaly equivalent in this case.
22310 (grub-install): Make source on each platform explicit. Enable on
22311 all noemu.
22312 * gentpl.py (x86_efi_pc): Removed group.
22313 (x86_noefi): Likewise.
22314 (i386_noefi): Likewise.
22315 (x86_noieee1275): Likewise.
22316 (i386_noieee1275): Likewise.
22317 (i386_noefi_noieee1275): Likewise.
22318 (i386_pc_qemu_coreboot): Likewise.
22319 (i386_coreboot_multiboot): Likewise.
22320 (i386_pc_coreboot_multiboot_qemu): Likewise.
22321 (x86_noefi_mips): Likewise.
22322 (noieee1275): Likewise.
22323 (ieee1275_mips): Likewise.
22324 (noemu_noieee1275): Likewise.
22325 (cmos): New group.
22326 (usb): Likewise.
22327 (videoinkernel): Likewise.
22328 (videomodules): Likewise.
eefe8abd 22329 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22330 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22331 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22332 include/grub/loader.h, include/grub/msdos_partition.h,
22333 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22334 include/grub/machine/console.h, include/grub/machine/vga.h,
22335 include/grub/machine/vbe.h, include/grub/machine/init.h,
22336 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22337 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22338 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22339 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22340 * grub-core/Makefile.core.def (kernel): Explicit the source for
22341 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22342 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22343 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22344 Use videoinkernel tag.
22345 (usb): Enable on all usb.
22346 (usbserial_common): Likewise.
22347 (usbserial_pl2303): Likewise.
22348 (usbserial_ftdi): Likewise.
22349 (uhci): Enable on all x86.
22350 (ohci): Enable on all pci.
22351 (cmostest): Enable on all CMOS.
22352 (acpi): Include commands/acpi.c on all platforms.
22353 (halt): Add relevant lib/*/halt.c.
22354 (hdparm): Enable on all pci.
22355 (lspci): Likewise.
22356 (usbtest): Enable on all usb.
22357 (ata): Enable on all pci.
22358 (ata_pthru): Likewise.
22359 (usbms): Enable on all usb.
22360 (usb_keyboard): Likewise.
22361 (font): Use tag videomodules.
22362 (bufio): Likewise.
22363 (datetime): Use tag cmos. Enable on all noemu.
22364 (mmap): Use tags common and x86.
22365 (gfxterm): Use tag videomodules.
22366 (bitmap): Likewise.
22367 (bitmap_scale): Likewise.
22368 (video_fb): Likewise.
22369 (video): Likewise.
22370 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22371 adjust padding accordingly. All users updated.
22372 (grub_ohci_transaction): Fix bad format specification.
22373 (GRUB_MOD_INIT): Add asserts for struct size.
22374 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22375 (grub_alloc_td): Likewise.
22376 (grub_free_queue): Likewise.
22377 (grub_uhci_transfer): Likewise.
22378 (grub_uhci_transaction): Fix bad format specification.
22379 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22380 (grub_usb_bulk_readwrite): Likewise.
22381 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22382 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22383 Made static.
22384 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22385 Made static.
22386 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22387 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22388 Transformed into C.
22389 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22390 Moved from here ...
22391 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22392 ... here. Transformed into C. Made static.
22393 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22394 Moved from here ...
22395 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22396 ... here. Transformed into C. Made static.
22397 * grub-core/kern/i386/pc/startup.S
22398 (grub_biosdisk_check_int13_extensions): Moved from here ...
22399 * grub-core/disk/i386/pc/biosdisk.c
22400 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22401 Made static.
22402 * grub-core/kern/i386/pc/startup.S
22403 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22404 * grub-core/disk/i386/pc/biosdisk.c
22405 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22406 Transformed into C. Made static.
22407 * grub-core/kern/i386/pc/startup.S
22408 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22409 * grub-core/disk/i386/pc/biosdisk.c
22410 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22411 Transformed into C. Made static.
22412 * grub-core/kern/i386/pc/startup.S
22413 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22414 * grub-core/disk/i386/pc/biosdisk.c
22415 (grub_biosdisk_get_diskinfo_standard): ... here.
22416 Transformed into C. Made static.
22417 * grub-core/kern/i386/pc/startup.S
22418 (grub_biosdisk_get_num_floppies): Moved from here ...
22419 * grub-core/disk/i386/pc/biosdisk.c
22420 (grub_biosdisk_get_num_floppies): ... here.
22421 Transformed into C. Made static.
22422 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22423 New function.
22424 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22425 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22426 Transformed into C. Made static.
22427 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22428 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22429 Transformed into C. Made static.
22430 * grub-core/kern/i386/ieee1275/init.c: Removed.
22431 * grub-core/kern/i386/misc.S: Likewise.
22432 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22433 Splitted from here ...
22434 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22435 Transformed into C. Made static. All users updated.
22436 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22437 Transformed into C. Made static. All users updated.
22438 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22439 Moved from here...
22440 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22441 Transformed into C. Made static. All users updated.
22442 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22443 Moved from here...
22444 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22445 Transformed into C. Made static. All users updated.
22446 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22447 Removed (replaced by C version).
22448 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22449 Moved from here...
22450 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22451 Transformed into C. Made static.
22452 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22453 Moved from here...
22454 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22455 ... here. Transformed into C.
22456 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22457 Moved from here...
22458 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22459 ... here. Transformed into C.
22460 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22461 Moved from here...
22462 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22463 ... here. Transformed into C. Made static.
22464 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22465 Moved from here...
22466 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22467 ... here. Transformed into C.
21ed554b
VS
22468 * grub-core/kern/i386/pc/startup.S
22469 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22470 * grub-core/video/i386/pc/vbe.c
22471 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22472 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22473 Moved from here...
22474 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22475 ... here. Transformed into C.
22476 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22477 Moved from here...
22478 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22479 ... here. Transformed into C.
22480 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22481 Moved from here...
22482 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22483 ... here. Transformed into C.
22484 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22485 Moved from here...
22486 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22487 ... here. Transformed into C.
22488 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22489 Moved from here...
22490 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22491 ... here. Transformed into C. Made static.
22492 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22493 Moved from here...
22494 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22495 ... here. Transformed into C. Made static.
22496 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22497 Moved from here...
22498 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22499 ... here. Transformed into C. Made static.
22500 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22501 pxe_rm_entry as third argument.
22502 (grub_bios_interrupt): New function.
22503 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22504 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22505 of calling grub_stop.
22506 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22507 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22508 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22509 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22510 * grub-core/lib/i386/halt.c: Moved from here ...
22511 * grub-core/lib/i386/halt.c: ... here.
22512 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22513 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22514 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22515 grub_stop_floppy.
22516 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22517 * include/grub/i386/coreboot/init.h: Removed.
22518 * include/grub/i386/multiboot/init.h: Likewise.
22519 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22520 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22521 * include/grub/i386/pc/int.h: New file.
22522 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22523 (grub_pxe_scan): Removed.
22524 (grub_pxe_call): Update prototype.
22525 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22526 prototypes.
22527 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22528 * include/grub/i386/qemu/init.h: Removed.
22529 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22530 noreturn.
22531 (grub_halt): Likewise.
22532 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22533 (grub_reboot): Likewise.
22534 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22535 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22536 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22537
215dd471
RM
225382010-08-30 Robert Millan <rmh@gnu.org>
22539
22540 * NEWS: Document addition of ZFS support in `grub-install' and
22541 `grub-mkconfig'.
22542
ebd65b82
BC
225432010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22544
22545 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22546 dprintf output.
22547
11721d19
VS
225482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22549
22550 Remove leftover embedding of font objects.
22551
22552 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22553 * util/grub-install.in (font): Removed.
22554 * util/grub-mkimage.c (generate_image): Remove font support. All users
22555 updated.
22556
37837d4e
VS
225572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22558
22559 Remove leftover embedding of font objects.
22560
22561 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22562 * util/grub-install.in (font): Removed.
22563 * util/grub-mkimage.c (generate_image): Remove font support. All users
22564 updated.
22565
b4c1aae0
VS
225662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22567
22568 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 22569 Reported by: Ian Turner
b4c1aae0 22570
8920a08d
VS
225712010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22572
22573 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22574 timeout to avoid indefinite boot stalling.
22575
f21db033
VS
225762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22579 (grub_env_write_color_highlight): Likewise.
22580
9a9de209
VS
225812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 * grub-core/normal/term.c (print_more): Return to normal and not
22584 to standard state after printing "---MORE---".
22585
3dca01d7
VS
225862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22587
22588 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22589 Mask out the bit 0x80 since it has other meaning that specifiing color.
22590
0b986c40
VS
225912010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22592
22593 New relocator. Allows for more kernel support and more straightforward
22594 loader writing.
22595
22596 * Makefile.am (BOOTTARGET): New variable.
22597 (QEMU32): Likewise.
22598 (linux.init.x86_64): New target.
22599 (linux.init.i386): Likewise.
22600 (multiboot.elf): Likewise.
22601 (kfreebsd.elf): Likewise.
22602 (kfreebsd.aout): Likewise.
22603 (pc-chainloader.elf): Likewise.
22604 (pc-chainloader.bin): Likewise.
22605 (ntldr.elf): Likewise.
22606 (ntldr.bin): Likewise.
22607 (multiboot2.elf): Likewise.
22608 (kfreebsd.init.x86_64): Likewise.
22609 (kfreebsd.init.i386): Likewise.
22610 (knetbsd.init.i386): Likewise.
22611 (kopenbsd.init.i386): Likewise.
22612 (knetbsd.init.x86_64): Likewise.
22613 (kopenbsd.init.x86_64): Likewise.
22614 (linux-initramfs.i386): Likewise.
22615 (linux-initramfs.x86_64): Likewise.
22616 (kfreebsd-mfsroot.i386.img): Likewise.
22617 (knetbsd.image.i386): Likewise.
22618 (kopenbsd.image.i386): Likewise.
22619 (kopenbsd.image.x86_64): Likewise.
22620 (knetbsd.miniroot-image.i386.img): Likewise.
22621 (kfreebsd-mfsroot.x86_64.img): Likewise.
22622 (knetbsd.image.x86_64): Likewise.
22623 (knetbsd.miniroot-image.x86_64.img): Likewise.
22624 (kfreebsd-mfsroot.i386.gz): Likewise.
22625 (bootcheck-kfreebsd-i386): Likewise.
22626 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22627 (bootcheck-kfreebsd-x86_64): Likewise.
22628 (knetbsd.miniroot-image.i386.gz): Likewise.
22629 (bootcheck-knetbsd-i386): Likewise.
22630 (bootcheck-kopenbsd-i386): Likewise.
22631 (bootcheck-kopenbsd-x86_64): Likewise.
22632 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22633 (bootcheck-knetbsd-x86_64): Likewise.
22634 (bootcheck-linux-i386): Likewise.
22635 (bootcheck-linux-x86_64): Likewise.
22636 (bootcheck-linux16-i386): Likewise.
22637 (bootcheck-linux16-x86_64): Likewise.
22638 (bootcheck-multiboot): Likewise.
22639 (bootcheck-multiboot2): Likewise.
22640 (bootcheck-kfreebsd-aout): Likewise.
22641 (bootcheck-pc-chainloader): Likewise.
22642 (bootcheck-ntldr): Likewise.
22643 (CLEANFILES): Add new targets.
22644 (BOOTCHECKS): New variable.
22645 (.PHONY): Add bootchecks.
22646 (SUCCESSFUL_BOOT_STRING): New variable.
22647 (BOOTCHECK_TIMEOUT): Likewise.
22648 (bootcheck): New target
22649 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22650 * configure.ac: Correct efiemu excuse.
22651 * docs/grub.texi (Supported kernels): New chapter.
22652 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22653 include/grub/mm_private.h. Simplify inclusion of
22654 include/grub/boot.h, include/grub/loader.h
22655 and include/grub/msdos_partition.h
22656 (KERNEL_HEADER_FILES) [i386_coreboot]:
22657 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22658 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22659 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22660 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22661 include/grub/machine/loader.h.
22662 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22663 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22664 extra_dist.
22665 (pci.mod): Enable on i386-multiboot.
22666 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22667 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22668 i386-qemu.
22669 (relocator.mod): Rewritten.
22670 (aout.mod): Enable on all x86.
22671 (bsd.mod): Likewise.
22672 (ntldr.mod): New module.
22673 (linux.mod): Use loader/i386/linux.c on all x86.
22674 (xnu.mod): Enable on all x86.
22675 (vga_text.mod): disable on EFI and QEMU.
22676 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22677 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22678 * grub-core/efiemu/loadcore.c: Likewise.
22679 * grub-core/efiemu/main.c: Likewise.
22680 (grub_efiemu_exit_boot_services): Removed.
22681 (grub_efiemu_finish_boot_services): Likewise.
22682 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22683 function.
22684 * grub-core/efiemu/i386/nocfgtables.c: New file.
22685 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22686 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22687 (grub_efi_finish_boot_services): Moved from here ...
22688 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22689 Fille finish memory map and related data.
22690 (finish_mmap_buf): New variable.
22691 (grub_efi_uintn_t finish_mmap_size): Likewise.
22692 (grub_efi_uintn_t finish_key): Likewise.
22693 (grub_efi_uintn_t finish_desc_size): Likewise.
22694 (grub_efi_uint32_t finish_desc_version): Likewise.
22695 (grub_efi_is_finished): Likewise.
22696 (grub_efi_get_memory_map): Use saved memory map if EFI is already
22697 finished.
22698 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
22699 (grub_elf64_phdr_iterate): Likewise.
22700 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
22701 (grub_os_area_size): Likewise.
22702 (grub_machine_init): Don't reserve os area.
22703 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
22704 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
22705 * grub-core/kern/i386/loader.S: Removed.
22706 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
22707 (grub_os_area_size): Likewise.
22708 (grub_machine_init): Don't reserve os area.
22709 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
22710 Don't call grub_dl_unload_all.
22711 Don't include loader.S.
22712 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
22713 Declare the memory after _end as available.
22714 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 22715 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 22716 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
22717 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
22718 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
22719 * include/grub/mm_private.h (grub_mm_header): ... here.
22720 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
22721 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
22722 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
22723 (grub_mm_region): ..here. Removed addr. Added pre_size.
22724 All users updated.
22725 * grub-core/kern/mm.c (base): Renamed to ...
22726 (grub_mm_base): ... this. Made global.
22727 (grub_real_malloc): Alloc from end of region.
22728 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
22729 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
22730 * grub-core/kern/powerpc/cache_flush.S: ... here.
22731 * grub-core/lib/efi/relocator.c: New file.
22732 * grub-core/lib/i386/relocator.c: Rewritten.
22733 * grub-core/lib/i386/relocator16.S: New file.
22734 * grub-core/lib/i386/relocator32.S: Likewise.
22735 * grub-core/lib/i386/relocator64.S: Likewise.
22736 * grub-core/lib/i386/relocator_asm.S: Rewritten.
22737 * grub-core/lib/i386/relocator_common.S: New file.
22738 * grub-core/lib/ieee1275/relocator.c: Likewise.
22739 * grub-core/lib/mips/relocator.c: Rewritten.
22740 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
22741 stylistic adjustments.
22742 * grub-core/lib/powerpc/relocator.c: New file.
22743 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
22744 * grub-core/lib/relocator.c: Rewritten.
22745 * grub-core/lib/x86_64/relocator_asm.S: New file.
22746 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
22747 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
22748 (bsd_tag): New struct.
22749 (tags): New variable.
22750 (tags_last): Likewise.
22751 (netbsd_module): New struct.
22752 (netbsd_mods): New variable.
22753 (netbsd_mods_last): Likewise.
22754 (openbsd_opts): New parameter "serial".
22755 (OPENBSD_SERIAL_ARG): New definition.
22756 (netbsd_opts): New parameter "serial".
22757 (NETBSD_SERIAL_ARG): New definition.
22758 (grub_freebsd_add_meta): Reorganised into ...
22759 (grub_bsd_add_meta): ...this. All users updated.
22760 (grub_freebsd_add_mmap): Reorganised into ...
22761 (generate_e820_mmap): ...this...
22762 (grub_bsd_add_mmap): ...and this. All users updated.
22763 (grub_freebsd_list_modules): Use tags.
22764 (grub_netbsd_add_meta_module): New function.
22765 (grub_netbsd_list_modules): Likewise.
22766 (grub_freebsd_boot): Use relocator and finish EFI.
22767 (grub_openbsd_boot): Likewise.
22768 (grub_netbsd_setup_video): New function.
22769 (grub_netbsd_add_modules): Likewise.
22770 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
22771 and finish EFI.
22772 (grub_bsd_unload): Unload tags.
22773 (grub_bsd_load_aout): Use relocator.
22774 (grub_bsd_elf32_size_hook): New function.
22775 (grub_bsd_elf32_hook): Use relocator.
22776 (grub_bsd_elf64_size_hook): New function.
22777 (grub_bsd_elf64_hook): Use relocator.
22778 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
22779 (grub_bsd_load): Zero-out openbsd_ramdisk.
22780 (grub_bsd_load): Use relocator.
22781 (grub_cmd_openbsd): Support serial.
22782 (grub_cmd_netbsd): Support modules.
22783 (grub_cmd_freebsd_module): Use relocator.
22784 (grub_netbsd_module_load): New function.
22785 (grub_cmd_netbsd_module): Likewise.
22786 (grub_cmd_openbsd_ramdisk): Likewise.
22787 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
22788 kopenbsd_ramdisk.
22789 (GRUB_MOD_FINI): Unregister new commands.
22790 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
22791 (grub_freebsd_load_elfmodule_obj): Use relocator.
22792 (grub_freebsd_load_elfmodule): Likewise.
22793 (grub_freebsd_load_elf_meta): Likewise.
22794 (grub_netbsd_load_elf_meta): New function.
22795 (grub_openbsd_find_ramdisk): Likewise.
22796 * grub-core/loader/i386/bsd_helper.S: Removed.
22797 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
22798 * grub-core/loader/i386/bsd_trampoline.S: Removed.
22799 * grub-core/loader/i386/efi/linux.c: Likewise.
22800 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
22801 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
22802 (DEFAULT_VIDEO_MODE): Likewise.
22803 (real_mode_target): New variable.
22804 (prot_mode_target): Likewise.
22805 (initrd_mem_target): Likewise.
22806 (relocator): Likewise.
22807 (efi_mmap_buf): Likewise.
22808 (efi_mmap_size): Likewise.
22809 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
22810 (free_pages): Use relocator.
22811 (allocate_pages): Account for efi_mmap and use relocator. Return error.
22812 (grub_linux_setup_video): Return error.
22813 (grub_linux_trampoline_start): Removed.
22814 (grub_linux_trampoline_end): Likewise.
22815 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
22816 andd video parameters depending on firmware.
22817 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
22818 [GRUB_MACHINE_EFI]: Pass EFI parameters.
22819 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
22820 (grub_cmd_initrd): Use relocator.
22821 * grub-core/loader/i386/linux_trampoline.S: Removed.
22822 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
22823 (elf_sec_entsize): Likewise.
22824 (elf_sec_shstrndx): Likewise.
22825 (elf_sections): Likewise.
22826 (grub_multiboot_load): Use relocator.
22827 (grub_multiboot_get_mbi_size): Account for sections.
22828 (grub_multiboot_make_mbi): Use relocator and support sections.
22829 (grub_multiboot_add_elfsyms): New function.
22830 (grub_multiboot_free_mbi): Free sections.
22831 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
22832 (grub_linux_real_target): Likewise.
22833 (grub_linux_real_chunk): Likewise.
22834 (grub_linux16_prot_size): Likewise.
22835 (grub_linux16_boot): Use relocator.
22836 (grub_linux_unload): Unload relocator.
22837 (grub_cmd_linux): Use relocator.
22838 (grub_cmd_initrd): Likewise.
22839 * grub-core/loader/i386/pc/ntldr.c: New file.
22840 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
22841 Don't try to guess CPU frequency.
22842 (grub_xnu_set_video): Stretch bitmap.
22843 (grub_xnu_boot): Use relocator.
22844 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
22845 (grub_linux_unload): Free relocator.
22846 (grub_linux_load32): Use relocator.
22847 (grub_linux_load64): Likewise.
22848 (grub_cmd_initrd): Likewise.
22849 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
22850 (grub_multiboot_unload): Unload relocator.
22851 (grub_cmd_multiboot): Use relocator.
22852 (grub_cmd_module): Likewise.
22853 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
22854 Use relocator and support sections.
22855 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
22856 (elf_sec_entsize): Likewise.
22857 (elf_sec_shstrndx): Likewise.
22858 (elf_sections): Likewise.
22859 (grub_multiboot_load): Use relocator.
22860 (grub_multiboot_get_mbi_size): Account for sections.
22861 (grub_multiboot_make_mbi): Use relocator and support sections.
22862 (grub_multiboot_add_elfsyms): New function.
22863 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
22864 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
22865 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
22866 Prototype changed. All users updated.
22867 (grub_xnu_align_heap): Simplified.
22868 (grub_xnu_writetree_toheap): Likewise.
22869 (grub_xnu_unload): Unload relocator.
22870 (grub_cmd_xnu_kernel): Use relocator.
22871 (grub_cmd_xnu_kernel64): Likewise.
22872 (grub_xnu_register_memory): Simplified.
22873 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
22874 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
22875 EFI is finished.
22876 (grub_console_checkkey): Likewise.
22877 (grub_console_getkey): Likewise.
22878 (grub_console_getwh): Likewise.
22879 (grub_console_getxy): Likewise.
22880 (grub_console_gotoxy): Likewise.
22881 (grub_console_cls): Likewise.
22882 (grub_console_setcolorstate): Likewise.
22883 (grub_console_setcursor): Likewise.
22884 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
22885 * grub-core/tests/boot/kbsd.init-i386.S: New file.
22886 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
22887 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
22888 * grub-core/tests/boot/kernel-8086.S: Likewise.
22889 * grub-core/tests/boot/kernel-i386.S: Likewise.
22890 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
22891 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
22892 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
22893 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
22894 * grub-core/tests/boot/knetbsd.cfg: Likewise.
22895 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
22896 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
22897 * grub-core/tests/boot/linux.cfg: Likewise.
22898 * grub-core/tests/boot/linux.init-i386.S: Likewise.
22899 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
22900 * grub-core/tests/boot/linux16.cfg: Likewise.
22901 * grub-core/tests/boot/multiboot.cfg: Likewise.
22902 * grub-core/tests/boot/multiboot2.cfg: Likewise.
22903 * grub-core/tests/boot/ntldr.cfg: Likewise.
22904 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
22905 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
22906 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
22907 New definition.
22908 * include/grub/dl.h (grub_dl_unload_all): Removed.
22909 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
22910 (grub_efi_finish_boot_services): Change prototype.
22911 (grub_efi_is_finished): New variable.
22912 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
22913 Changed prototype.
22914 (grub_efiemu_finish_boot_services): Removed.
22915 (grub_machine_efiemu_init_tables): New prototype.
22916 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
22917 (grub_elf64_phdr_iterate): Likewise.
22918 * include/grub/i386/bsd.h: Include relocator.h.
22919 (freebsd_tag_header): New struct.
22920 (grub_openbsd_bios_mmap): Removed.
22921 (grub_unix_real_boot): Removed.
22922 (grub_freebsd_load_elfmodule32): Changed prototype.
22923 (grub_freebsd_load_elfmodule_obj64): Likewise.
22924 (grub_freebsd_load_elf_meta32): Likewise.
22925 (grub_freebsd_load_elf_meta64): Likewise.
22926 (grub_freebsd_add_meta): Removed.
22927 (grub_netbsd_load_elf_meta32): New prototype.
22928 (grub_netbsd_load_elf_meta64): Likewise.
22929 (grub_bsd_add_meta): Likewise.
22930 (grub_openbsd_ramdisk_descriptor): New struct.
22931 (grub_openbsd_find_ramdisk32): New prototype.
22932 (grub_openbsd_find_ramdisk64): Likewise.
22933 * include/grub/i386/coreboot/loader.h: Removed.
22934 * include/grub/i386/efi/loader.h: Likewise.
22935 * include/grub/i386/ieee1275/loader.h: Likewise.
22936 * include/grub/i386/linux.h (linux_kernel_header): Change void *
22937 to grub_uint32_t.
22938 * include/grub/i386/loader.h: Removed.
22939 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
22940 value.
22941 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
22942 (grub_phys_addr_t): New type.
22943 (grub_vtop): New inline function.
22944 (grub_map_memory): Likewise.
22945 (grub_unmap_memory): Likewise.
22946 * include/grub/i386/multiboot/loader.h: Removed.
22947 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
22948 (NETBSD_BTINFO_CONSOLE): New definition.
22949 (NETBSD_BTINFO_SYMTAB): Likewise.
22950 (NETBSD_BTINFO_MODULES): Likewise.
22951 (NETBSD_BTINFO_FRAMEBUF): Likewise.
22952 (grub_netbsd_bootinfo): New struct.
22953 (grub_netbsd_btinfo_common): Use explicit bitsize.
22954 (grub_netbsd_btinfo_mmap_entry): Removed.
22955 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
22956 (grub_netbsd_btinfo_bootdisk): New struct.
22957 (grub_netbsd_btinfo_symtab): Likewise.
22958 (grub_netbsd_btinfo_serial): Likewise.
22959 (grub_netbsd_btinfo_modules): Likewise.
22960 (grub_netbsd_btinfo_framebuf): Likewise.
22961 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
22962 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
22963 Likewise.
22964 (grub_openbsd_bootargs): Use explicit bitsize.
22965 (grub_openbsd_bootarg_console): New struct.
22966 (GRUB_OPENBSD_COM_MAJOR): New definition.
22967 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
22968 * include/grub/i386/pc/efiemu.h: Removed.
22969 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
22970 * include/grub/i386/qemu/loader.h: Removed.
22971 * include/grub/i386/relocator.h: Rewritten.
22972 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
22973 * include/grub/mips/memory.h: New file.
22974 * include/grub/mips/multiboot.h: Rewritten.
22975 * include/grub/mips/relocator.h: Rewritten.
22976 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
22977 (grub_vtop): New function.
22978 (grub_map_memory): Likewise.
22979 (grub_unmap_memory): Likewise.
22980 * include/grub/misc.h (ALIGN_DOWN): New definition.
22981 * include/grub/mm.h (grub_mm_check_real): New proto.
22982 (GRUB_MM_CHECK): New definition.
22983 * include/grub/mm_private.h: New file.
22984 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
22985 (grub_multiboot_get_mbi_size): Removed.
22986 (grub_multiboot_make_mbi): Change prottype.
22987 (grub_multiboot_set_accepts_video): New proto.
22988 (grub_multiboot_add_elfsyms): Likewise.
22989 (grub_multiboot_payload_eip): New variable.
22990 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
22991 New prototype.
22992 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
22993 New definition.
22994 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
22995 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
22996 * include/grub/powerpc/ieee1275/loader.h: Removed.
22997 * include/grub/powerpc/memory.h: New file.
22998 * include/grub/powerpc/relocator.h: Likewise.
22999 * include/grub/relocator.h: Likewise.
23000 * include/grub/relocator_private.h: Likewise.
23001 * include/grub/sparc64/ieee1275/loader.h: Removed.
23002 * include/grub/x86_64/memory.h: New file.
23003 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23004 (grub_xnu_heap_malloc): Likewise.
23005 (grub_xnu_heap_real_start): Removed.
23006 (grub_xnu_heap_start): Likewise.
23007 (grub_xnu_relocator): New variable.
23008 (grub_xnu_heap_target_start): Likewise.
23009 * tests/util/grub-shell.in: Support non-pc.
23010 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23011
5303b85d
VS
230122010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23013
23014 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23015 on malloc error.
23016 (grub_bidi_logical_to_visual): Check that malloc succeded.
23017 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23018 puts.
23019 (grub_xputs_normal): Likewise.
23020
d768d159
VS
230212010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23022
23023 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23024 extra_dist.
23025
230262010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23027
23028 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23029
5bf84df4
VS
230302010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23031
23032 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23033
3626810e
VS
230342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23035
23036 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23037 dprintf.
23038
a7363f53
BC
230392010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23040
23041 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23042
902f75f6
VS
230432010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23044
23045 * grub-core/normal/term.c (print_more): Fix a memory leak.
23046 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23047 (grub_xputs_normal): Likewise.
23048
3c707967
VS
230492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23050
23051 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23052 the begining of the string
23053
2053cc07
VS
230542010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23055
23056 * grub-core/script/script.c (grub_script_parse): Free parsed on
23057 failure.
23058
46422ebf
VS
230592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23060
23061 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23062 on failure.
23063
9e0fa3f6
VS
230642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23065
23066 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23067 return.
23068
3393cf16
VS
230692010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23070
23071 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23072 (scroll_up): Fix a memory leak.
23073
b17540cb
VS
230742010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23075
23076 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23077 errors.
23078
67140446
VS
230792010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23080
23081 Handle USB pendrives exposed as floppies.
23082
23083 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23084 floppy.
23085 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23086 Check for partitions on all devices.
23087
e35e46fc
VS
230882010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23089
23090 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23091 (readkey): Likewise.
23092
d24c6190
BC
230932010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23094
23095 Multiple variable names support to "export" command.
23096
23097 * normal/context.c (grub_cmd_export): "export" command supports
23098 multiple variable names.
23099
04ddcc6a
ST
231002010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23101
23102 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23103 --target=drive output to Mach device name.
23104
0c8b61d8
BC
231052010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23106
23107 New Automake based build system for GRUB.
23108
23109 * ABOUT-NLS: New file.
23110 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23111 in Makefile.util.def file.
23112 * Makefile.util.def: New file. Autogen build definitions file for
23113 GRUB host utils.
23114 * conf/Makefile.common: New file. Common variables for GRUB host
23115 utils and target modules.
23116 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23117 * docs/Makefile.am: New file. Automake file for docs.
23118 * gentpl.py: New file. Python script to generate Autogen
23119 template.
23120 * grub-core/Makefile.am: New file. GRUB target modules' rules
23121 that doesn't fit in Makefile.core.def file.
23122 * grub-core/Makefile.core.def: New file. Autogen build
23123 definitions file for GRUB target modules.
23124 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23125 specific setjmp.S file.
23126 * po/Makefile.am: New file.
23127
23128 * .bzrignore: New ignores.
23129 * INSTALL: New requirements, without Ruby.
23130 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23131 * autogen.sh: Updated to invoke autogen as necessary.
23132 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23133 and defines for Automake conditionals.
23134 * geninit.sh: Refactoring.
23135
23136 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23137 necessary.
23138 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23139 New prototype.
23140
23141 * include/grub/test.h: Fix functional test modules' naming.
23142 * grub-core/tests/example_functional_test.c: Fix test module name.
23143
23144 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23145 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23146 * util/grub-editenv.c: Likewise.
23147 * util/grub-fstest.c: Likewise.
23148 * util/grub-mkdevicemap.c: Likewise.
23149 * util/grub-mkfont.c: Likewise.
23150 * util/grub-mkimage.c: Likewise.
23151 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23152 * util/grub-probe.c: Likewise.
23153 * util/grub-script-check.c: Likewise.
23154 * util/i386/pc/grub-setup.c: Likewise.
23155 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23156
23157 * tests/util/grub-shell.in: Fix override directory path.
23158 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23159 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23160
23161 * util/lvm.c: Update #includes.
23162 * util/raid.c: Likewise.
23163 * util/resolve.c: Likewise.
23164 * grub-core/bus/emu/pci.c: Likewise.
23165 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23166 * grub-core/lib/posix_wrap/string.h: Likewise.
23167 * grub-core/kern/emu/main.c: Likewise.
23168
23169 * grub-core/gensymlist.sh: New file. Script for generating kernel
23170 symbols file.
23171 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23172
23173 * grub-core/gentrigtables.c: Fix unused variable warnings.
23174
23175 * Makefile.in: Removed.
23176 * conf/any-emu.rmk: Removed.
23177 * conf/common.rmk: Removed.
23178 * conf/i386-coreboot.rmk: Removed.
23179 * conf/i386-efi.rmk: Removed.
23180 * conf/i386-ieee1275.rmk: Removed.
23181 * conf/i386-multiboot.rmk: Removed.
23182 * conf/i386-pc.rmk: Removed.
23183 * conf/i386-qemu.rmk: Removed.
23184 * conf/i386.rmk: Removed.
23185 * conf/mips-yeeloong.rmk: Removed.
23186 * conf/mips.rmk: Removed.
23187 * conf/powerpc-ieee1275.rmk: Removed.
23188 * conf/sparc64-ieee1275.rmk: Removed.
23189 * conf/tests.rmk: Removed.
23190 * conf/x86-efi.rmk: Removed.
23191 * conf/x86_64-efi.rmk: Removed.
23192 * gendistlist.sh: Removed.
23193 * geninitheader.sh: Removed.
23194 * genkernsyms.sh.in: Removed.
23195 * genmk.rb: Removed.
23196 * gensymlist.sh.in: Removed.
23197 * mkinstalldirs: Removed.
23198 * boot: Moved ...
23199 * grub-core/boot: ... to here.
23200 * bus: Moved ...
23201 * grub-core/bus: ... to here.
23202 * commands: Moved ...
23203 * grub-core/commands: ... to here.
23204 * disk: Moved ...
23205 * grub-core/disk: ... to here.
23206 * efiemu: Moved ...
23207 * grub-core/efiemu: ... to here.
23208 * font: Moved ...
23209 * grub-core/font: ... to here.
23210 * fs: Moved ...
23211 * grub-core/fs: ... to here.
23212 * gencmdlist.sh: Moved ...
23213 * grub-core/gencmdlist.sh: ... to here.
23214 * genemuinit.sh: Moved ...
23215 * grub-core/genemuinit.sh: ... to here.
23216 * genemuinitheader.sh: Moved ...
23217 * grub-core/genemuinitheader.sh: ... to here.
23218 * genfslist.sh: Moved ...
23219 * grub-core/genfslist.sh: ... to here.
23220 * genhandlerlist.sh: Moved ...
23221 * grub-core/genhandlerlist.sh: ... to here.
23222 * genmoddep.awk: Moved ...
23223 * grub-core/genmoddep.awk: ... to here.
23224 * genmodsrc.sh: Moved ...
23225 * grub-core/genmodsrc.sh: ... to here.
23226 * genpartmaplist.sh: Moved ...
23227 * grub-core/genpartmaplist.sh: ... to here.
23228 * genparttoollist.sh: Moved ...
23229 * grub-core/genparttoollist.sh: ... to here.
23230 * genterminallist.sh: Moved ...
23231 * grub-core/genterminallist.sh: ... to here.
23232 * gentrigtables.c: Moved ...
23233 * grub-core/gentrigtables.c: ... to here.
23234 * genvideolist.sh: Moved ...
23235 * grub-core/genvideolist.sh: ... to here.
23236 * gettext: Moved ...
23237 * grub-core/gettext: ... to here.
23238 * gfxmenu: Moved ...
23239 * grub-core/gfxmenu: ... to here.
23240 * gnulib: Moved ...
23241 * grub-core/gnulib: ... to here.
23242 * hello: Moved ...
23243 * grub-core/hello: ... to here.
23244 * hook: Moved ...
23245 * grub-core/hook: ... to here.
23246 * io: Moved ...
23247 * grub-core/io: ... to here.
23248 * kern: Moved ...
23249 * grub-core/kern: ... to here.
23250 * lib: Moved ...
23251 * grub-core/lib: ... to here.
23252 * loader: Moved ...
23253 * grub-core/loader: ... to here.
23254 * mmap: Moved ...
23255 * grub-core/mmap: ... to here.
23256 * normal: Moved ...
23257 * grub-core/normal: ... to here.
23258 * partmap: Moved ...
23259 * grub-core/partmap: ... to here.
23260 * parttool: Moved ...
23261 * grub-core/parttool: ... to here.
23262 * script: Moved ...
23263 * grub-core/script: ... to here.
23264 * term: Moved ...
23265 * grub-core/term: ... to here
23266 * tests/example_functional_test.c: Moved ...
23267 * grub-core/tests/example_functional_test.c: ... to here.
23268 * tests/lib/functional_test.c: Moved ...
23269 * grub-core/tests/lib/functional_test.c: ... to here.
23270 * tests/lib/test.c: Moved ...
23271 * grub-core/tests/lib/test.c: ... to here.
23272 * video: Moved ...
23273 * grub-core/video: ... to here.
23274
645586e6
BC
232752010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23276
23277 Replace --enable-grub-emu-modules with grub-emu-lite.
23278
23279 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23280 cache.S.
23281
23282 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23283 * kern/emu/full.c: New file. For grub-emu specific initialization.
23284 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23285 * kern/emu/main.c: Call initialization function grub_emu_init.
23286
23287 * Makefile.in: Include grub-emu-lite in install.
23288 * commands/parttool.c: Use grub_no_autoload to differentiate
23289 between grub-emu and grub-emu-lite.
23290 * include/grub/misc.h: New variable grub_no_autoload.
23291
23292 * conf/any-emu.rmk: New rules for grub-emu-lite.
23293 * configure.ac: Remove --enable-grub-emu-modules.
23294 * genmk.rb: Cleanup unnecessary rules.
23295 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23296
23297 * normal/main.c: Don't load list files on grub-emu-lite.
23298 * util/misc.c (grub_arch_sync_caches): Removed.
23299
f86a4030
CW
233002010-08-23 Colin Watson <cjwatson@ubuntu.com>
23301
23302 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23303 grub-mkimage rather than grub-mkelfimage.
23304 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23305
06776944
VS
233062010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23307
23308 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23309 a key after CapsLock or NumLock. It's just a qemu bug.
23310
df262419
VS
233112010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23312
23313 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23314 needed by libusb wrapper.
23315
b40ea81b
ST
233162010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23317
23318 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23319
dee50575
VS
233202010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23321
23322 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23323 --nounzip is passed.
23324
fb1d7b79
VS
233252010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23326
23327 USB hotunplugging and USB serial support.
23328
23329 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23330 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23331 (grub_uhci_transfer): Respect timeout and set *actual.
23332 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23333 non-standard length.
23334 (grub_usb_device_attach): Autoload modules.
23335 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23336 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23337 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23338 users updated.
23339 (grub_usb_add_hub): Fill nports and children.
23340 (attach_root_port): Receive hub instead of controller.
23341 All users updated. Fill hub->devices.
23342 (grub_usb_root_hub): Allocate hub->devices.
23343 (detach_device): New function.
23344 (poll_nonroot_hub): Fill children and detach devices.
23345 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23346 actual arguments. All users updated.
23347 (grub_usb_bulk_read_extended): New function.
23348 * bus/usb/serial/common.c: New file.
23349 * bus/usb/serial/ftdi.c: Likewise.
23350 * bus/usb/serial/pl2303.c: Likewise.
23351 * commands/terminal.c (handle_command): Support wildcard.
23352 * commands/usbtest.c: Output "Unknown" instead of empty string.
23353 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23354 (usbserial_common_mod_SOURCES): New variable.
23355 (usbserial_common_mod_CFLAGS): Likewise.
23356 (usbserial_common_mod_LDFLAGS): Likewise.
23357 (pkglib_MODULES): Add usbserial_pl2303.mod.
23358 (usbserial_pl2303_mod_SOURCES): New variable.
23359 (usbserial_pl2303_mod_CFLAGS): Likewise.
23360 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23361 (pkglib_MODULES): Add usbserial_ftdi.mod.
23362 (usbserial_ftdi_mod_SOURCES): New variable.
23363 (usbserial_ftdi_mod_CFLAGS): Likewise.
23364 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23365 (pkglib_MODULES): Add serial.mod.
23366 (serial_mod_SOURCES): New variable.
23367 (serial_mod_CFLAGS): Likewise.
23368 (serial_mod_LDFLAGS): Likewise.
23369 * conf/i386-pc.rmk: Likewise.
23370 * conf/mips-yeeloong.rmk: Likewise.
23371 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23372 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23373 * disk/usbms.c (first_available_slot): New variable.
23374 (grub_usbms_attach): Don't reuse free slots due to potential cache
23375 problems.
23376 * include/grub/serial.h: Moved to ..
23377 * include/grub/ns8250.h: ...this.
23378 * include/grub/serial.h: New file.
23379 * include/grub/term.h (grub_term_poll_usb): New variable.
23380 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23381 readkey. All users updated.
23382 (grub_terminfo_output_state): Pass term to put.
23383 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23384 (grub_usb_controller_dev): Add timeout and actual arguments to
23385 transfer. All users updated.
23386 (grub_usb_interface): New field detach_data.
23387 (grub_usb_device): New fields children and nports.
23388 (grub_usb_ep_type_t): New type.
23389 (grub_usb_get_ep_type): New function.
23390 (grub_usb_bulk_read_extended): Likewise.
23391 * include/grub/usbdesc.h (grub_usb_desc): New type.
23392 * include/grub/usbserial.h: New file.
23393 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23394 * kern/term.c (grub_term_poll_usb): New variable.
23395 (grub_getkey): Call grub_term_poll_usb if set.
23396 (grub_checkkey): Likewise.
23397 (grub_getkeystatus): Likewise.
23398 * term/serial.c: Moved controller-specific parts to ...
23399 * term/ns8250.c: ... here.
23400 * term/serial.c: Mostly rewritten.
23401 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23402 according to spec.
23403
21a313de
RM
234042010-08-20 Robert Millan <rmh@gnu.org>
23405
23406 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23407 a separate module and maybe other interesting combinations.
23408
23409 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23410 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23411 (kfreebsd_entry): Add generic filesystem module load routine.
23412 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23413
63c734a6
CW
234142010-08-20 Colin Watson <cjwatson@ubuntu.com>
23415
23416 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23417 "numcenter" (I misunderstood the purpose of this entry).
23418 * docs/grub.texi (sendkey): Likewise.
23419
c4d16542
CW
234202010-08-20 Colin Watson <cjwatson@ubuntu.com>
23421
23422 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23423 status flag options; simply omitting the option is equivalent and
23424 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23425 (keysym_table): Rename "num5numlock" to "numlock".
23426 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23427 can uniformly say that only the last of multiple `sendkey'
23428 invocations has any effect.
23429 * docs/grub.texi (sendkey): New section.
23430
93541d66
CW
234312010-08-19 Colin Watson <cjwatson@ubuntu.com>
23432
23433 * commands/i386/pc/sendkey.c (options): Fix three typos.
23434
b4ece5e1
VS
234352010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23436
23437 Implement sendkey support.
23438
23439 * commands/i386/pc/sendkey.c: New file.
23440 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23441 (sendkey_mod_SOURCES): New variable.
23442 (sendkey_mod_CFLAGS): Likewise.
23443 (sendkey_mod_LDFLAGS): Likewise.
23444
51f1f5af
CW
234452010-08-18 Colin Watson <cjwatson@ubuntu.com>
23446
23447 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23448 fix warnings from Autoconf.
23449
9da94e05
CW
234502010-08-18 Colin Watson <cjwatson@ubuntu.com>
23451
23452 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23453 to avoid false positives with some assemblers that output things
23454 like "someprefix_func" as part of their output.
23455
729a0f2e
RM
234562010-08-15 Robert Millan <rmh@gnu.org>
23457
23458 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23459 errors.
23460 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23461 grub_get_libzfs_handle() errors.
23462
f3710e08
RM
234632010-08-14 Robert Millan <rmh@gnu.org>
23464
23465 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23466 filesystem is not ZFS.
23467
7a3c13de
BC
234682010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23469
23470 Fix for misspelled color names defaulting to black/black (bug
23471 reported by Doug Nazar)
23472
23473 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23474 status to prototype.
23475 * normal/color.c (grub_parse_color_name_pair): Return failure
23476 status.
23477 (grub_env_write_color_normal): Ignore bad color names.
23478 (grub_env_write_color_highlight): Likewise.
23479 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23480
ab8ba50d
BC
234812010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23482
23483 "shift" command support to GRUB script.
23484
23485 * include/grub/script_sh.h (grub_script_shift): New prototype.
23486 * script/execute.c (grub_script_shift): New function.
23487 * script/main.c (grub_script_init): Register shift command.
23488 (grub_script_fini): Unregister shift command.
23489 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23490
23491 * tests/grub_script_shift.in: New testcase.
23492 * conf/tests.rmk: Rules for new testcase.
23493
4d61999e
BC
234942010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23495
23496 "continue" command support to GRUB script.
23497
23498 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23499 (grub_script_break): Continue support.
23500 * script/main.c (grub_script_init): Register continue command.
23501 (grub_script_fini): Unregister continue command.
23502
23503 * tests/grub_script_continue.in: New testcase.
23504 * conf/tests.rmk: Rules for new testcase.
23505
4df51e00
BC
235062010-08-12 BVK Chaitanya <bvk@dbook>
23507
23508 "break" command support to GRUB script.
23509
23510 * conf/common.rmk: Rule updates to grub-script-check.
23511 * include/grub/misc.h (grub_min): New function.
23512 * include/grub/script_sh.h (grub_script_init): New prototype.
23513 (grub_script_fini): New prototype.
23514 (grub_script_break): New prototype.
23515 * script/main.c (grub_script_init): New function.
23516 (grub_script_fini): New function.
23517 * script/execute.c (grub_script_break): New function.
23518 * normal/main.c: Calls to grub_script_{init,fini}.
23519 * util/grub-script-check.c (grub_script_break): New function.
23520
23521 * tests/grub_script_break.in: New testcase.
23522 * conf/tests.rmk: Rules for new test case.
23523
f12c8420
BC
235242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23525
23526 Function parameters support to GRUB script.
23527
23528 * script/yylex.l (VARIABLE): Regular expression update.
23529 * script/function.c (grub_script_function_call): Moved ...
23530 * script/execute.c (grub_script_function_call): ... to here.
23531 (grub_script_execute_arglist_to_argv): Removed.
23532 (grub_script_arglist_to_argv): New function.
23533 * script/argv.c: New file.
23534 (grub_script_argv_free): New function.
23535 (grub_script_argv_next): Likewise.
23536 (grub_script_argv_append): Likewise.
23537 (grub_script_argv_split_append): Likewise.
23538 * include/grub/script_sh.h (grub_script_argv): New struct.
23539 (grub_script_argv_free): New function.
23540 (grub_script_argv_next): Likewise.
23541 (grub_script_argv_append): Likewise.
23542 (grub_script_argv_split_append): Likewise.
23543
23544 * conf/common.rmk (normal.mod): New source script/argv.c.
23545
23546 * tests/grub_script_echo1.in: More tests.
23547 * tests/grub_script_vars1.in: Likewise.
23548 * tests/grub_script_functions.in: New test case.
23549 * conf/tests.rmk: Rules for new testcase.
23550
8022b748
BC
235512010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23552
23553 Remove grub_script_cmdblock struct.
23554
23555 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23556 * script/parser.y: Likewise.
23557 * script/execute.c: Rename cmdblock suffix to cmdlist.
23558 * script/script.c: Likewise.
23559 * util/grub-script-check.c: Likewise.
23560
79a6ba61
YB
235612010-08-11 Yves Blusseau <blusseau@zetam.org>
23562
23563 * .bzrignore: add grub-macho2img
23564
d04b9414
VS
235652010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23566
23567 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23568
f947ab49
VS
235692010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23570
23571 Remove the dump of sm712 initialisation sequence.
23572
23573 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23574 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23575 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23576 (GRUB_VGA_CR_*): Added many registers.
23577 (GRUB_VGA_SR_*): Likewise.
23578 (GRUB_VGA_GR_*): Likewise.
23579 (grub_vga_write_arx): New function.
23580 (grub_video_hw_config): New struct.
23581 (grub_vga_set_geometry): New function.
23582 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23583 GRUB_PCI_CLASS_SUBCLASS_VGA.
23584 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23585 * video/sm712.c (grub_sm712_write_reg): New function
23586 (grub_sm712_read_reg): Likewise.
23587 (grub_sm712_sr_write): Likewise.
23588 (grub_sm712_gr_write): Likewise.
23589 (grub_sm712_cr_write): Likewise.
23590 (grub_sm712_write_arx): Likewise.
23591 (grub_sm712_cr_shadow_write): Likewise.
23592 (grub_sm712_write_dda_lookup): Likewise.
23593 (grub_video_sm712_setup): Initialise the video rather then
23594 blindly replay the dump.
23595 (main) [TEST]: Add a routine to be able to compile as standalone for
23596 tests.
23597 * video/sm712_init.c (sm712_init): Removed.
23598 (sm712_sr_seq1): New array.
23599 (sm712_sr_seq2): Likewise.
23600
f0206638
VS
236012010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23602
23603 * include/grub/vga.h: Add missing grub/pci.h include.
23604
2764da3b
YB
236052010-08-10 Yves Blusseau <blusseau@zetam.org>
23606
23607 * util/grub-macho2img.c (main): fix typo
23608
cf0c775e
VS
236092010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23610
23611 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23612 (grub_vga_gr_read): Likewise.
23613 (grub_vga_cr_write): Likewise.
23614 (grub_vga_cr_read): Likewise.
23615 (grub_vga_sr_write): Likewise.
23616 (grub_vga_sr_read): Likewise.
23617 (grub_vga_palette_read): Likewise.
23618 (grub_vga_palette_write): Likewise.
23619 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23620 (grub_sm712_sr_read): New function.
23621 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23622 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23623
07f360e9
RM
236242010-08-09 Robert Millan <rmh@gnu.org>
23625
23626 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23627 out unused variables on non-ZFS build.
23628
346c2072
RM
236292010-08-08 Robert Millan <rmh@gnu.org>
23630
23631 Fix path generation for sub-filesystems in ZFS.
23632
23633 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23634 missing slash.
23635
71175420
RM
236362010-08-08 Robert Millan <rmh@gnu.org>
23637
23638 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23639
0d8286f3
RM
236402010-08-08 Robert Millan <rmh@gnu.org>
23641
23642 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23643 exist, issue a proper error message (rely on `ls' for translated
23644 strings).
23645
55dd2924
RM
236462010-08-08 Robert Millan <rmh@gnu.org>
23647
23648 Fix grub-probe invocation.
23649
23650 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23651
d3dd9e80
RM
236522010-08-04 Robert Millan <rmh@gnu.org>
23653
23654 * configure.ac: Remove checks for getfsstat() and getmntany().
23655 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23656 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23657 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23658 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23659 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23660 function.
23661 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23662 via find_mount_point_from_dir() and getfsstat() / getmntany().
23663
0de22aa9
RM
236642010-08-04 Robert Millan <rmh@gnu.org>
23665
23666 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23667 (grub_find_zpool_from_mount_point): Merge into ...
23668 (grub_find_zpool_from_dir): ... this.
23669 * kern/emu/misc.c: Likewise.
23670
23671 * kern/emu/misc.c
23672 (grub_make_system_path_relative_to_its_root): Replace
23673 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23674 with grub_find_zpool_from_dir().
23675 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23676
62858144
RM
236772010-08-04 Robert Millan <rmh@gnu.org>
23678
23679 Support OpenSolaris in ZFS device resolution.
23680
23681 * configure.ac: Check for getmntany().
23682 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23683 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23684 support.
23685
9dd6fd50
RM
236862010-08-03 Robert Millan <rmh@gnu.org>
23687
23688 Fix grub-emu build.
23689
23690 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23691 * include/grub/emu/misc.h: ... here.
23692
23693 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
23694 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
23695
23696 * util/misc.c: Remove `<grub/util/libzfs.h>'.
23697 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
23698 (grub_get_libzfs_handle): Move to ...
23699 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
23700 (grub_get_libzfs_handle): ... here.
23701
c9f7ff97
BC
237022010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
23703
23704 * script/execute.c (grub_script_execute_cmdline): Check for NULL
23705 as command name case.
23706
a870a783
CW
237072010-08-02 Colin Watson <cjwatson@ubuntu.com>
23708
23709 * disk/raid.c (insert_array): Select unique numbers for named arrays
23710 as well, for use as keys in the disk cache.
23711
c7db243b
RM
237122010-08-01 Robert Millan <rmh@gnu.org>
23713
23714 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
23715 kFreeBSD device name, except on ZFS where the filesystem label is
23716 used.
23717 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
23718 `/boot/zfs/zpool.cache'.
23719 Set mountfrom kernel variable using ${kfreebsd_device}.
23720
f7abdefb
RM
237212010-08-01 Robert Millan <rmh@gnu.org>
23722
23723 Make it even harder to use uninitialized `libzfs_handle' (and
23724 make the interface a bit simpler).
23725
23726 * include/grub/util/misc.h (grub_util_init_libzfs)
23727 (libzfs_handle): Remove.
23728 (grub_get_libzfs_handle): New prototype.
23729
23730 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
23731 attribute.
23732 (grub_util_init_libzfs): Remove.
23733 (grub_get_libzfs_handle): New function.
23734
23735 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
23736 grub_get_libzfs_handle() to obtain a libzfs handle instead of
23737 accessing `libzfs_handle' directly.
23738
c882acc0
RM
237392010-08-01 Robert Millan <rmh@gnu.org>
23740
23741 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23742 (grub_find_zpool_from_mount_point): New function prototypes.
23743
23744 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23745 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23746
23747 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23748 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23749 `static' attribute.
23750
23751 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23752 finding zpool from mount point into ...
23753 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23754
23755 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23756 requested path is part of a ZFS pool, use
23757 grub_find_zpool_from_mount_point() to detect its filesystem name,
23758 and generate a path with `/fsname@path' syntax.
23759
8bfe31d8
CW
237602010-08-01 Colin Watson <cjwatson@ubuntu.com>
23761
23762 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
23763 (void) rather than () so that this is a proper prototype.
23764
553df63d
VS
237652010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23766
23767 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
23768
8687cf07
VS
237692010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23770
23771 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
23772 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
23773
ea9be8ea
CW
237742010-08-01 Colin Watson <cjwatson@ubuntu.com>
23775
23776 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
23777
6eea041a
CW
237782010-08-01 Colin Watson <cjwatson@ubuntu.com>
23779
23780 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
23781
2cfb45df
CW
237822010-08-01 Colin Watson <cjwatson@ubuntu.com>
23783
23784 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
23785 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
23786 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
23787 disable gfxpayload.
23788 (Shell-like scripting): Add real content.
23789 (Serial terminal): Suggest `terminal_input serial; terminal_output
23790 serial' rather than putting the two commands on separate lines,
23791 since console input will be inoperative after the first command.
23792 (menuentry): Document --class, --users, and --hotkey options.
23793 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
23794 Vladimir Serbinenko).
23795
7decd202
VS
237962010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
237972010-08-01 Colin Watson <cjwatson@ubuntu.com>
23798
23799 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
23800
c882acc0
RM
238012010-08-01 Robert Millan <rmh@gnu.org>
23802
23803 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23804 (grub_find_zpool_from_mount_point): New function prototypes.
23805
23806 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23807 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23808
23809 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23810 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23811 `static' attribute.
23812
23813 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23814 finding zpool from mount point into ...
23815 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23816
23817 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23818 requested path is part of a ZFS pool, use
23819 grub_find_zpool_from_mount_point() to detect its filesystem name,
23820 and generate a path with `/fsname@path' syntax.
23821
deb0caa3
RM
238222010-08-01 Robert Millan <rmh@gnu.org>
23823
23824 Prevent accidental use of uninitialized libzfs_handle.
23825
23826 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
23827 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
23828 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
23829
ce04ef47
CW
238302010-08-01 Colin Watson <cjwatson@ubuntu.com>
23831
23832 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
23833 util/grub.d/10_linux.in). Fixes Debian bug #591093.
23834
ebf53056
RM
238352010-08-01 Robert Millan <rmh@gnu.org>
23836
23837 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 23838
3710bb6b
RM
238392010-07-31 Robert Millan <rmh@gnu.org>
23840
23841 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
23842
8072efeb
RM
238432010-07-31 Robert Millan <rmh@gnu.org>
23844
23845 * kern/emu/misc.c: Add missing license header.
23846
3169f4c7
RM
238472010-07-31 Robert Millan <rmh@gnu.org>
23848
23849 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
23850
23851 * include/grub/util/libnvpair.h: Include `<config.h>'.
23852 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
23853 declaring libnvpair prototypes ourselves.
23854 * include/grub/util/libzfs.h: Include `<config.h>'.
23855 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
23856 declaring libzfs prototypes ourselves.
23857
23858 (libzfs_handle): Moved to ...
23859 * include/grub/util/misc.h (libzfs_handle): ... here.
23860 Include `<grub/util/libzfs.h>'.
23861
c9a00aee
RM
238622010-07-30 Robert Millan <rmh@gnu.org>
23863
23864 * include/grub/emu/misc.h: Add missing license header.
23865
a184f9c8
RM
238662010-07-30 Robert Millan <rmh@gnu.org>
23867
23868 Enable `grub-probe -t device' resolution on ZFS.
23869
23870 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
23871 * include/grub/util/libnvpair.h: New file.
23872 * include/grub/util/libzfs.h: New file.
23873
23874 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
23875 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
23876 `<grub/util/libnvpair.h>'.
23877 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
23878
23879 (find_mount_point_from_dir): New static function.
23880 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
23881 function.
23882 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
23883 find_root_device_from_libzfs() before ressorting to find_root_device().
23884
23885 * include/grub/util/misc.h (grub_util_init_libzfs): New function
23886 prototype.
23887 * util/misc.c: Include `<grub/util/libzfs.h>'.
23888 (grub_util_init_libzfs): New function.
23889 [HAVE_LIBZFS] (libzfs_handle): New global variable.
23890 [HAVE_LIBZFS] (fini_libzfs): New static function.
23891 (grub_util_init_libzfs): New function.
23892 * util/grub-probe.c (main): Call grub_util_init_libzfs().
23893
f7790cdd
RM
238942010-07-30 Robert Millan <rmh@gnu.org>
23895
23896 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
23897 (xmalloc, xrealloc, xstrdup, xasprintf): Add
23898 `warn_unused_result' attribute.
23899 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
23900 (grub_xasprintf, grub_xvasprintf): Likewise.
23901 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
23902
0806b63c
RM
239032010-07-29 Robert Millan <rmh@gnu.org>
23904
23905 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
23906 (probe): Handle `PRINT_FS_LABEL'.
23907 (main): Handle `-t fs_label'.
23908
9f841f5c
RM
239092010-07-29 Robert Millan <rmh@gnu.org>
23910
23911 * configure.ac: Remove grub-mkisofs checks.
23912
46371121
VS
239132010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23914
23915 * util/ieee1275/grub-install.in: Don't use empty grub_device.
23916 Reported by: Lennart Sorensen.
23917
239182010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23919
23920 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
23921 prior to terminal_input/terminal_output separation. It's been over 1.5
23922 years and those versions weren't widely deployed.
23923
a9600892
CW
239242010-07-22 Colin Watson <cjwatson@ubuntu.com>
23925
23926 * disk/raid.c (insert_array): Don't count named arrays when looking
23927 for unused array numbers.
697e053c 23928 Reported and tested by: Michael Guntsche.
a9600892 23929
c03507df
CW
239302010-07-20 Colin Watson <cjwatson@ubuntu.com>
23931
23932 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
23933 implementation of this so that grub-emu links again, with a note
23934 that this should support hotplugging in the future.
23935
b26f1c11
CW
239362010-07-20 Colin Watson <cjwatson@ubuntu.com>
23937
23938 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23939
efc9d7f1
CW
239402010-07-20 Colin Watson <cjwatson@ubuntu.com>
23941
23942 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
23943 handle on failure.
23944 (grub_loopback_close): Remove empty function.
23945 (grub_loopback_dev): Remove close method.
23946
dd8ff5c9
CW
239472010-07-20 Colin Watson <cjwatson@ubuntu.com>
23948
23949 Disable EFI cursor when the EFI console becomes inactive.
23950
23951 * term/efi/console.c (grub_efi_console_init): New function.
23952 (grub_efi_console_fini): New function.
23953 (grub_console_term_output): Register init and fini methods.
23954
5e3bec67
VS
239552010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23956
23957 * tests/util/grub-shell-tester.in: Remove bashism and declare as
23958 sh script.
23959
afaec079
VS
239602010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23961
23962 * disk/loopback.c (grub_loopback): Replace filename with file.
23963 (delete_loopback): Handle new semantics.
23964 (grub_cmd_loopback): Likewise.
23965 (grub_loopback_iterate): Likewise.
23966 (grub_loopback_close): Likewise.
23967
a6a11f3c
VS
239682010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23969
23970 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
23971 with -p "".
23972 Reported by: Tito Keitel.
23973
64a638b0
VS
239742010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23975
23976 * docs/grub.texi (Naming convention): Document new naming convention.
23977
ab8ba957
VS
239782010-07-20 Vadim Solomin <vadic052@gmail.com>
239792010-07-20 Colin Watson <cjwatson@ubuntu.com>
23980
23981 Generate device.map in something closer to the old ordering.
23982
23983 * util/deviceiter.c (struct device): New declaration.
23984 (compare_file_names): Rename to ...
23985 (compare_devices): ... this. Sort by kernel name in preference to
23986 the stable by-id name, but keep the latter as a fallback comparison.
23987 Update header comment.
23988 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
23989 of `struct device' rather than of plain file names.
23990
a29d6a4b
TF
239912010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
23992
23993 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
23994 on i386.
23995
39d824e8
VS
239962010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23997
23998 * commands/acpi.c (setup_common_tables): Use sizeof instead of
23999 hardcoding size.
24000 (setv1table): Likewise.
24001
f058276b
FZ
240022010-07-20 Colin Watson <cjwatson@ubuntu.com>
24003
24004 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24005 removing the homehost if present.
24006 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24007 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24008 removing the homehost if present.
24009 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24010 if possible.
24011 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24012
24013 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24014 parameter. Set its pointer target to 0.
24015 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24016 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24017 `data_offset' value from the superblock for 1.x metadata.
24018 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24019 data on the device.
24020 (insert_array): Record the start sector of data on the device.
24021 (grub_raid_register): Pass start_sector parameters to
24022 grub_raid_list->detect and insert_array.
24023 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24024 member.
24025 (struct grub_raid): Add start_sector parameter to `detect'.
24026
24027 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24028 __attribute__ ((packed)), leaving a comment.
24029 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24030 (grub_mdraid_detect_09): ... here and ...
24031 (grub_mdraid_detect_1x): ... here.
24032
240332010-07-20 Peter Henn <peter.henn@web.de>
24034
24035 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24036 chunk size and disk size, which are already given as sector counts
24037 as distinct from the 0.90 units. Fetch the correct device number
24038 from the role table instead of using the table index.
24039
240402010-07-20 Felix Zielcke <fzielcke@z-51.de>
24041
24042 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24043 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24044 (WriteMostly1): New macro.
24045 Set array->name to NULL for metadata format 0.90. Add support for
24046 metadata 1.x. Fix some comments.
24047 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24048 few comments.
24049 * util/getroot.c (grub_util_get_grub_dev): Add support for
24050 /dev/md/name style devices.
24051
4b761da9
CW
240522010-07-20 Colin Watson <cjwatson@ubuntu.com>
24053
24054 * .bzrignore: Ignore 20_linux_xen.
24055
5771289a
CW
240562010-07-17 Colin Watson <cjwatson@ubuntu.com>
24057
24058 * util/import_unicode.py: Remove unnecessary imports.
24059
5dab68df
AN
240602010-07-17 Aleš Nesrsta <starous@volny.cz>
24061
24062 Hotplugging and USB hub support.
24063
24064 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24065 (grub_ohci): Likewise.
24066 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24067 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24068 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24069 (GRUB_OHCI_CTRL_EDS): Likewise.
24070 (GRUB_OHCI_BULK_EDS): Likewise.
24071 (GRUB_OHCI_TDS): Likewise.
24072 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24073 (grub_ohci_ed_phys2virt): New function.
24074 (grub_ohci_virt_to_phys): Likewise.
24075 (grub_ohci_td_phys2virt): Likewise.
24076 (grub_ohci_td_virt2phys): Likewise.
24077 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24078 attachment.
24079 (grub_ohci_find_ed): New function.
24080 (grub_ohci_alloc_td): Likewise.
24081 (grub_ohci_free_td): Likewise.
24082 (grub_ohci_free_tds): Likewise.
24083 (grub_ohci_transfer): Use previously allocated memory.
24084 (grub_ohci_portstatus): Reset status changed bit.
24085 (grub_ohci_detect_dev): Supply status changed.
24086 (grub_ohci_fini_hw): Free memory.
24087 (grub_ohci_restore_hw): Reallocate memory.
24088 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24089 Reset status change.
24090 (grub_uhci_detect_dev): Supply status_change.
24091 * bus/usb/usb.c (attach_hooks): New var.
24092 (grub_usb_device_attach): New function.
24093 (grub_usb_register_attach_hook_class): Likewise.
24094 (grub_usb_unregister_attach_hook_class): Likewise.
24095 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24096 (grub_usb_add_hub): Reset connection changed bit.
24097 (attach_root_port): New function.
24098 (grub_usb_root_hub): Likewise.
24099 (poll_nonroot_hub): Likewise.
24100 (grub_usb_poll_devices): Likewise.
24101 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24102 * disk/usbms.c (grub_usbms_open): Use device hooks.
24103 (grub_usbms_iterate) :Poll devices.
24104 (grub_usbms_finddevs): Split into ...
24105 (grub_usbms_attach): ... this ...
24106 (grub_usbms_attach): ... and this.
24107 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24108 in detect_dev.
24109 (grub_usb_interface): New fields attached and detach_hook.
24110 (grub_usb_attach_hook_class): New type.
24111 (grub_usb_attach_desc): New struct.
24112 (grub_usb_register_attach_hook_class): New function.
24113 (grub_usb_unregister_attach_hook_class): Likewise.
24114 (grub_usb_poll_devices): Likewise.
24115 (grub_usb_device_attach): Likewise.
24116 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24117 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24118
3222efaf
VS
241192010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24120
24121 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24122 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24123 delta determination style. Works with most NetBSD partitions too.
24124
139b714a
VS
241252010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24126
24127 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24128 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24129
986aad56
VS
241302010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24131
24132 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24133
99be513c
AB
241342010-07-14 Anton Blanchard <anton@samba.org>
24135
24136 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24137 ET_DYN files.
24138
18075f62
GS
241392010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24140
24141 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24142
8d9a5b15
GS
241432010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24144
24145 * kern/partition.c (grub_partition_check_containment): New function to
24146 check that a partition is physically contained in a parent. Since
24147 offsets are relative (and non-negative), this reduces to checking that
24148 the partition ends before its parent.
24149 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24150 (grub_partition_iterate): Likewise.
24151 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24152 comments.
24153 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24154 partitions that start before their parent, and add debug printfs.
24155
19563c25
CW
241562010-07-13 Colin Watson <cjwatson@ubuntu.com>
24157
24158 * Makefile.in (.SUFFIX): Spell correctly, as ...
24159 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24160 bare module name without `.mod', e.g. `test') tried to invoke a
24161 Modula-2 compiler.
24162
1a1f1e67
CW
241632010-07-13 Colin Watson <cjwatson@ubuntu.com>
24164
24165 * README: Point to the Info manual.
24166
811b0dca
JS
241672010-07-13 Jiro SEKIBA <jir@unicus.jp>
24168
24169 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24170 2nd superblock position from partition size.
24171
e4f4eafc
CW
241722010-07-10 Colin Watson <cjwatson@ubuntu.com>
24173
24174 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24175 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24176 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24177 outputs.
24178
4274c30f
VS
241792010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24180
24181 Restructure SCSI .id handling.
24182 Reported and tested by: Aleš Nesrsta.
24183
24184 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24185 (grub_atapi_dev): Changed .name to "ata". New field .id.
24186 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24187 (grub_usbms_dev): New field .id.
24188 * disk/scsi.c (grub_scsi_iterate): Generate name.
24189 (grub_scsi_open): Parse name.
24190 * include/grub/scsi.h (grub_make_scsi_id): New function.
24191 (grub_scsi_dev): Change iterate and open to number instead of naming
24192 busses. All users updated.
24193 (grub_scsi): Remove name. Add .bus.
24194
5bc24388
VS
241952010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24196
24197 * commands/help.c (grub_cmd_help): Fix a typo.
24198
249975ba
VS
241992010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24200
24201 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24202 Reported and tested by: Colin Watson.
24203
3eaac1a1
VS
242042010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24205
24206 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24207 in this context.
24208
becce1b1
VS
242092010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24210
24211 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24212
f7bf0918
CW
242132010-07-07 Colin Watson <cjwatson@ubuntu.com>
24214
24215 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24216 indentation.
24217
0b0f9620
CW
242182010-07-06 Colin Watson <cjwatson@ubuntu.com>
24219
24220 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24221 and disk/raid6_recover.c.
24222 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24223 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24224
1e545469
CW
242252010-07-06 Colin Watson <cjwatson@ubuntu.com>
24226
24227 * term/gfxterm.c (repaint_schedulded): Rename to ...
24228 (repaint_scheduled): ... this. Update all callers.
24229 (repaint_was_schedulded): Rename to ...
24230 (repaint_was_scheduled): ... this. Update all callers.
24231
5357687a
CW
242322010-07-06 Colin Watson <cjwatson@ubuntu.com>
24233
24234 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24235 which we expect to be handled by upper layers.
24236
29d7e783
BC
242372010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24238
24239 * bus/usb/usbhub.c: #include time.h header.
24240
37582066
CW
242412010-07-06 Colin Watson <cjwatson@ubuntu.com>
24242
24243 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24244 entry_name also for entries without stat blocks (e.g. ".."); fixes
24245 corruption of the first entry in a directory.
24246
c8c06953
CW
242472010-07-06 Colin Watson <cjwatson@ubuntu.com>
24248
24249 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24250 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24251 doesn't work otherwise.
24252
e75056f1
CW
242532010-07-05 Colin Watson <cjwatson@ubuntu.com>
24254
24255 * docs/grub.texi (Features): Update list of supported file systems.
24256 (GNU/Linux): Update for GRUB 2.
24257 (Serial terminal): Remove mention of --disable-serial, which was a
24258 GRUB Legacy configure option. Update instructions to use
24259 `terminal_input' and `terminal_output' rather than `terminal'.
24260 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24261 configuration' and `Installing GRUB using grub-install'.
24262 (Menu entry editor): Update for GRUB 2.
24263 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24264 Document new -a, -u, and -v options.
24265 (initrd): New section.
24266 (initrd16): New section.
24267 (linux): New section.
24268 (linux16): New section.
24269 (search): The `var' argument to `--set' is optional.
24270 (GRUB only offers a rescue shell): Go into a little more detail on
24271 drive ordering.
24272
5cf69151
CW
242732010-07-05 Colin Watson <cjwatson@ubuntu.com>
24274
24275 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24276
e3f90044
CW
242772010-07-05 Colin Watson <cjwatson@ubuntu.com>
24278
24279 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24280 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24281
38d8f4f3
CW
242822010-07-05 Colin Watson <cjwatson@ubuntu.com>
24283
24284 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24285 install_prefix, in line with install_dos_part and install_bsd_part.
24286 Add new prefix variable, which is copied to install_prefix after
24287 comparing core.img in memory with the one read from disk in the
24288 no-embedding case, and use that rather than overwriting
24289 install_prefix immediately when installing to a partition.
24290 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24291 Bicakci.
24292
57ebd41e
GS
242932010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24294
24295 * configure.ac: Avoid == in test command, it's not portable.
24296 * util/grub.d/30_os-prober.in: Likewise.
24297
cb7f64b2
CW
242982010-07-04 Colin Watson <cjwatson@ubuntu.com>
24299
24300 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24301
6b654bb0
GS
243022010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24303
24304 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24305 multiple (top-level) partmaps.
24306
72a2026d
VS
243072010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24308
24309 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24310 Reported by: Tino Keitel.
72a2026d 24311
df3eb88f
VS
243122010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24313
24314 Bidi and diacritics support.
24315
24316 * Makefile.in (widthspec.bin): New target.
24317 (widthspec.h): Likewise.
24318 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24319 * autogen.sh: Generate unidata.c.
24320 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24321 * commands/ls.c (grub_ls_list_devices): Likewise.
24322 (grub_ls_list_files): Likewise.
24323 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24324 (grub_mini_cmd_lsmod): Likewise.
24325 * commands/read.c: Likewise.
24326 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24327 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24328 * lib/arg.c (grub_arg_show_help): Likewise.
24329 * lib/crypto.c (grub_password_get): Likewise.
24330 * normal/auth.c (grub_username_get): Likewise.
24331 * normal/misc.c (grub_normal_print_device_info): Likewise.
24332 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24333 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24334 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24335 (normal/charset.c_DEPENDENCIES): New variable.
24336 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24337 (pkglib_MODULES): Remove charset.mod.
24338 (charset_mod_SOURCES): Removed.
24339 (charset_mod_CFLAGS): Likewise.
24340 (charset_mod_LDFLAGS): Likewise.
24341 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24342 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24343 and term/tparm.c.
24344 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24345 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24346 (kernel_img_HEADERS): Add terminfo.h.
24347 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24348 Fill ->font. Reverse ascii bitmaps.
24349 (grub_font_get_xheight): New function.
24350 * font/font.c (grub_font_get_string_width): Moved from here ...
24351 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24352 * font/font.c (grub_font_draw_string): Moved from here ...
24353 * gfxmenu/font.c (grub_font_draw_string): ... here.
24354 * font/font.c (grub_font_dup_glyph): New function.
24355 (grub_font_blit_glyph): Likewise.
24356 (grub_font_blit_glyph_mirror): Likewise.
24357 (blit_comb): Likewise.
24358 (grub_font_construct_dry_run): Likewise.
24359 (grub_font_get_constructed_device_width): Likewise.
24360 (grub_font_construct_glyph): Likewise.
24361 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24362 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24363 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24364 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24365 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24366 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24367 (grub_font_get_xheight): New proto.
24368 (grub_font_get_constructed_device_width): Likewise.
24369 (grub_font_construct_glyph): Likewise.
24370 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24371 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24372 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24373 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24374 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24375 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24376 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24377 (grub_console_getcharwidth): Likewise.
24378 * include/grub/misc.h (grub_xputs): New proto.
24379 (grub_puts): Inlined.
24380 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24381 (grub_normal_get_line_counter): Removed.
24382 (grub_install_newline_hook): Likewise.
24383 (grub_normal_get_char_counter): New proto.
24384 (grub_normal_reset_more): Likewise.
24385 (grub_xputs_normal): Likewise.
24386 * include/grub/powerpc/ieee1275/console.h: Removed.
24387 * include/grub/sparc64/ieee1275/console.h: Likewise.
24388 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24389 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24390 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24391 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24392 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24393 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24394 (grub_term_input): Pass reference to self. All users updated.
24395 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24396 Pass reference to self. New fields normal_color, highlight_color and
24397 data. All users updated.
24398 (grub_putchar): Removed.
24399 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24400 (grub_unicode_estimate_width): New function.
24401 (grub_term_getcharwidth): Add defaults.
24402 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24403 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24404 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24405 (grub_cls): Remove EXPORT_FUNC.
24406 (grub_setcolorstate): Inline.
24407 (grub_newline_hook): Removed.
24408 * include/grub/terminfo.h: Rewritten. All users updated.
24409 * include/grub/unicode.h: New file.
24410 * include/grub/video.h (grub_video_signed_rect): New type.
24411 * kern/emu/console.c (grub_console_highlight_color): Removed.
24412 (grub_console_normal_color): Likewise.
24413 (grub_console_standard_color): Made static.
24414 (grub_ncurses_putchar): Remove mapping.
24415 (grub_ncurses_getcharwidth): Removed.
24416 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24417 (grub_ncurses_setcolor): Removed.
24418 (grub_ncurses_getcolor): Likewise.
24419 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24420 (grub_console_putchar): ... this.
24421 (grub_console_putchar): Handle argument difference.
24422 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24423 console_init_early and console_init_lately.
24424 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24425 * kern/misc.c (grub_puts): Removed.
24426 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24427 (grub_vsnprintf_real): Remove str = NULL support.
24428 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24429 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24430 * kern/term.c (grub_putcode): Renamed to ...
24431 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24432 (grub_putchar): Removed.
24433 (grub_xputs_dumb): New function.
24434 (grub_xputs): New variable.
24435 * lib/charset.c: Move from here ...
24436 * normal/charset.c: ... to here.
24437 (grub_ucs4_to_utf8): New function.
24438 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24439 (join_types): New variable.
24440 (unpack_join): New function.
24441 (bidi_types): New variable.
24442 (unpack_bidi): New function.
24443 (get_bidi_type): Likewise.
24444 (get_join_type): Likewise.
24445 (is_mirrored): Likewise.
24446 (grub_unicode_get_comb_type): Likewise.
24447 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24448 (is_type_after): Likewise.
24449 (grub_unicode_aglomerate_comb): Likewise.
24450 (bidi_line_wrap): Likewise.
24451 (grub_bidi_line_logical_to_visual): Likewise.
24452 (grub_bidi_logical_to_visual): Likewise.
24453 (grub_unicode_mirror_code): Likewise.
24454 (grub_unicode_shape_code): Likewise.
24455 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24456 Don't use grub_putchar.
24457 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24458 (grub_normal_reader_init): Likewise.
24459 (grub_xputs_saved): New variable.
24460 (GRUB_MOD_INIT): Set grub_xputs.
24461 (GRUB_MOD_FINI): Restore grub_xputs.
24462 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24463 (menu_init): Avoid printing gfxmenu error.
24464 (show_menu): Use grub_normal_get_char_counter.
24465 * normal/menu_entry.c (update_screen): Fix out-of-array.
24466 (complete): Avoid NULL dereferencing.
24467 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24468 * normal/menu_text.c (print_spaces): Removed.
24469 (grub_print_ucs4): Likewise.
24470 (grub_print_message_indented): Use grub_print_ucs4.
24471 (print_message): Use grub_putcode.
24472 (print_entry): Hanlde diacritics.
24473 * normal/term.c (term_state): New type.
24474 (grub_more_lines): Removed.
24475 (term_states): New variable.
24476 (grub_normal_line_counter): Renamed to ..
24477 (grub_normal_char_counter): ...this. All users updated.
24478 (grub_normal_get_line_counter): Renamed to ...
24479 (grub_normal_get_char_counter): ... this.
24480 (grub_normal_reset_more): New function.
24481 (process_newline): Removed.
24482 (print_more): New function.
24483 (grub_install_newline_hook): Removed.
24484 (map_code): New function.
24485 (grub_puts_terminal): Use grub_print_ucs4.
24486 (putglyph): New function.
24487 (putcode_real): Likewise.
24488 (grub_putcode): Use putcode_real.
24489 (get_maxwidth): New function.
24490 (get_startwidth): Likewise.
24491 (print_ucs4_terminal): Likewise.
24492 (find_term_state): Likewise.
24493 (put_glyphs_terminal): Likewise.
24494 (print_backlog): Likewise.
24495 (print_ucs4_real): Likewise.
24496 (grub_print_ucs4): Likewise.
24497 (grub_xputs_normal): Likewise.
24498 * term/efi/console.c (grub_console_putchar): Output diacritics.
24499 (grub_console_getcharwidth): Removed.
24500 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24501 * term/gfxterm.c (clear_char): Free chars.
24502 (scroll_up): Avoid leaking memory.
24503 (grub_gfxterm_putchar): Support diacritics.
24504 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24505 * term/i386/pc/console.c (grub_console_term_output): Declare as
24506 GRUB_TERM_CODE_TYPE_VGA.
24507 * term/i386/pc/vga.c (grub_vga_term): Declare as
24508 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24509 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24510 GRUB_TERM_CODE_TYPE_VGA.
24511 * term/i386/vga_common.c (map_char): Removed.
24512 (grub_console_putchar): Likewise.
24513 (grub_console_getcharwidth): Likewise.
24514 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24515 (colors): Reordered to match terminfo.
24516 (grub_ofconsole_normal_color): Removed.
24517 (grub_ofconsole_writeesc): Likewise.
24518 (grub_ofconsole_highlight_color): Likewise.
24519 (grub_ofconsole_getcharwidth): Likewise.
24520 (grub_ofconsole_setcolorstate): Likewise.
24521 (grub_ofconsole_setcolor): Likewise.
24522 (grub_ofconsole_getcolor): Likewise.
24523 (grub_ofconsole_readkey): Renamed to ...
24524 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24525 key.
24526 (grub_ofconsole_checkkey): Removed.
24527 (grub_ofconsole_getkey): Likewise.
24528 (grub_ofconsole_getxy): Likewise.
24529 (grub_ofconsole_gotoxy): Likewise.
24530 (grub_ofconsole_cls): Likewise.
24531 (grub_ofconsole_refresh): Likewise.
24532 (grub_ofconsole_terminfo_input): New struct.
24533 (grub_ofconsole_terminfo_output): Likewise.
24534 (grub_ofconsole_term_input): Use terminfo.
24535 (grub_ofconsole_term_output): Likewise.
24536 (grub_console_init): Split into ...
24537 (grub_console_init_early): ...this and ...
24538 (grub_console_init_lately): ...this. Use terminfo.
24539 (grub_ofconsole_putchar): Renamed to ...
24540 (put): ... this. Remove mapping.
24541 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24542 * term/serial.c: Simplify using terminfo.
24543 (xpos): Removed.
24544 (ypos): Likewise.
24545 (keep_track): Likewise.
24546 (registered): Likewise.
24547 (input_buf): Likewise.
24548 (npending): Likewise.
24549 (serial_translate_key_sequence): Likewise.
24550 (fill_input_buf): Likewise.
24551 (grub_serial_checkkey): Likewise.
24552 (grub_serial_getkey): Likewise.
24553 (grub_serial_getxy): Likewise.
24554 (grub_serial_gotoxy): Likewise.
24555 (grub_serial_putchar): Likewise.
24556 (grub_serial_cls): Likewise.
24557 (grub_serial_setcolorstate): Likewise.
24558 (grub_serial_setcursor): Likewise.
24559 (serial_hw_init): Use serial_hw_fetch.
24560 (grub_serial_terminfo_input): New variable.
24561 (grub_serial_terminfo_output): Likewise.
24562 (grub_serial_term_input): Use terminfo.
24563 (grub_serial_term_output): Likewise.
24564 * term/terminfo.c (putstr): Use put.
24565 (grub_terminfo_all_free): New function
24566 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24567 (grub_terminfo_output_register): New function.
24568 (grub_terminfo_output_unregister): Likewise.
24569 (grub_terminfo_getxy): Likewise.
24570 (grub_terminfo_readkey): Likewise.
24571 (grub_terminfo_checkkey): Likewise.
24572 (grub_terminfo_getkey): Likewise.
24573 (grub_terminfo_input_init): Likewise.
24574 (print_terminfo): Likewise.
24575 (grub_cmd_terminfo): Handle encoding.
24576 (grub_terminfo_gotoxy): Track position.
24577 (grub_terminfo_cls): Likewise.
24578 (grub_terminfo_putchar): Likewise.
24579 (grub_terminfo_setcolorstate): Handle colors
24580 (grub_terminfo_cursor_on): This ...
24581 (grub_terminfo_cursor_off): ... and this merged into ...
24582 (grub_terminfo_setcursor): ... this.
24583 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24584 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24585 * unicode/BidiMirroring.txt: Likewise.
24586 * unicode/UnicodeData.txt: Likewise.
24587 * unicode/COPYING: Likewise.
24588 * util/grub-editenv.c (grub_putchar): Removed.
24589 (grub_xputs_real): New function.
24590 (grub_xputs): New variable.
24591 * util/grub-fstest.c (grub_putchar): Removed.
24592 (grub_xputs_real): New function.
24593 (grub_xputs): New variable.
24594 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24595 (grub_xputs_real): New function.
24596 (grub_xputs): New variable.
24597 * util/grub-probe.c (grub_putchar): Removed.
24598 (grub_xputs_real): New function.
24599 (grub_xputs): New variable.
24600 * util/grub-script-check.c (grub_putchar): Removed.
24601 (grub_xputs_real): New function.
24602 (grub_xputs): New variable.
24603 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24604 (grub_xputs_real): New function.
24605 (grub_xputs): New variable.
24606 * util/import_unicode.py: New file.
24607 * util/grub-mkfont.c (ft_errmsgs): New array.
24608 (grub_glyph_info): Make bitmap a pointer.
24609 (file_formats): New type WIDTH_SPEC.
24610 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24611 (options): Add width-spec.
24612 (help): Likewise.
24613 (add_char): Renamed to ...
24614 (add_glyph): ... this.
24615 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24616 (glyph_replace): New type.
24617 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24618 (add_char): New function.
24619 (add_subst): Likewise.
24620 (process_cursive): Likewise.
24621 (add_font): Handle GSUB.
24622 (write_font_width_spec): New function.
24623 (main): Sort glyphs.
24624 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24625 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24626 * kern/term.c (grub_cls): Moved from here...
24627 * normal/term.c (grub_cls): ... here.
24628
50f0bcda
CW
246292010-07-02 Colin Watson <cjwatson@ubuntu.com>
24630
24631 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24632 suitable for using within the format argument of printf when
24633 converting grub_size_t.
24634 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24635 "x" to convert grub_size_t arguments.
24636
40372103
VS
246372010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24638
24639 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24640 too long captions.
24641 (list_get_minimal_size): Take selection box into account.
24642
942a10c7
VS
246432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24644
24645 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24646 NULL font.
24647
2bdb2892
CW
246482010-07-02 Colin Watson <cjwatson@ubuntu.com>
24649
24650 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24651 devices when iterating over /dev/disk/by-id; they will be handled
24652 later if appropriate, which they aren't always (e.g. LVM).
24653
e03ed6c1
CW
246542010-07-02 Colin Watson <cjwatson@ubuntu.com>
24655
24656 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24657 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24658 fails.
24659 (grub_halt): Likewise.
24660 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24661 reset-all fails.
24662 (grub_halt): Don't return, even if all of shut-down, power-off, and
24663 poweroff fail.
24664
47695765
CW
246652010-07-02 Colin Watson <cjwatson@ubuntu.com>
24666
24667 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24668 arguments, not three.
24669
507736c8
CW
246702010-07-02 Colin Watson <cjwatson@ubuntu.com>
24671
24672 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24673 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24674 LVM-on-RAID is handled correctly.
24675
e3c8cd37
CW
246762010-07-02 Colin Watson <cjwatson@ubuntu.com>
24677
24678 * docs/grub.texi (Changes from GRUB Legacy): New section.
24679 (Future): Fix typo.
24680
8d4a2fec
CW
246812010-07-02 Colin Watson <cjwatson@ubuntu.com>
24682
24683 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24684 grub.d/README accidentally ends up executable for one reason or
24685 another. Ignore it.
24686
1c4827be
VS
246872010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24688
24689 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24690 (gpt_partition_map_iterate): Support non-512B sectors.
24691
d9a0c941
VS
246922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24693
24694 * kern/efi/init.c (grub_efi_init): Disable watchdog.
24695 Tested by: Seth Goldberg.
24696
48f27e87
VS
246972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24698
24699 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
24700 Properly align mbi.
24701 Reported by: Seth Goldberg.
24702
b0c4f956
VS
247032010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24704
24705 * util/grub-mkrescue.in: Avoid module duplication.
24706
105a2e8c
SF
247072010-07-01 Sean Finney <seanius@seanius.net>
24708
24709 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
24710
5944958c
SF
247112010-07-01 Sean Finney <seanius@seanius.net>
24712
24713 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
24714
247152010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24716
24717 * disk/lvm.c (grub_lvm_checkvalue): New function.
24718 (grub_lvm_check_flag): Likewise.
24719
b79889ba
RM
247202010-07-01 Robert Millan <rmh@gnu.org>
24721
24722 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
24723 Support 'p' as partition separator on kernel of FreeBSD (used
24724 with GPT labels).
24725 (grub_util_biosdisk_get_grub_dev): Likewise.
24726
ec1d04f1
VS
247272010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24728
24729 Yeeloong firmware port.
24730
24731 * boot/mips/yeeloong/fwstart.S: New file.
24732 * bus/cs5536.c (gpiodump): New const.
24733 (set_io_space): New function.
24734 (set_iod): Likewise.
24735 (set_p2d): Likewise.
24736 (grub_cs5536_init_geode): Likewise.
24737 * commands/mips/yeeloong/lsspd.c: New file.
24738 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
24739 (serial_mod_SOURCES): New variable.
24740 (serial_mod_CFLAGS): Likewise.
24741 (serial_mod_LDFLAGS): Likewise.
24742 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
24743 term/terminfo.c and term/tparm.c.
24744 (pkglib_IMAGES): Add fwstart.img.
24745 (fwstart_img_SOURCES): New variable.
24746 (fwstart_img_CFLAGS): Likewise.
24747 (fwstart_img_ASFLAGS): Likewise.
24748 (fwstart_img_LDFLAGS): Likewise.
24749 (fwstart_img_FORMAT): Likewise.
24750 (pkglib_MODULES): Add lsspd.mod.
24751 (lsspd_mod_SOURCES): New variable.
24752 (lsspd_mod_CFLAGS): Likewise.
24753 (lsspd_mod_LDFLAGS): Likewise.
24754 (pkglib_MODULES): Add halt.mod.
24755 (halt_mod_SOURCES): New variable.
24756 (halt_mod_CFLAGS): Likewise.
24757 (halt_mod_LDFLAGS): Likewise.
24758 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
24759 (serial_mod_SOURCES): Removed.
24760 (serial_mod_CFLAGS): Likewise.
24761 (serial_mod_LDFLAGS): Likewise.
24762 * disk/ata.c (check_device): New function.
24763 (grub_ata_device_initialize): Use check_device.
24764 (grub_ata_iterate): Recheck devices.
24765 (grub_ata_open): Likewise.
24766 (grub_atapi_iterate): Likewise.
24767 (grub_atapi_open): Likewise.
24768 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
24769 (GRUB_ATA_CH1_PORT1): Likewise.
24770 (GRUB_ATA_CH0_PORT2): Likewise.
24771 (GRUB_ATA_CH1_PORT2): Likewise.
24772 * include/grub/mips/loongson.h: New file.
24773 * include/grub/mips/yeeloong/ec.h: Likewise.
24774 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
24775 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
24776 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
24777 * include/grub/misc.h (grub_halt): Declare as noreturn.
24778 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
24779 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
24780 (UART_ENABLE_FIFO_TRIGGER1): New definition.
24781 (UART_ENABLE_DTRRTS): Likewise.
24782 (UART_ENABLE_MODEM): Removed.
24783 (UART_ENABLE_OUT2): New const.
24784 * include/grub/term.h (grub_term_register_input_active): New function.
24785 (grub_term_register_output_active): Likewise.
24786 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
24787 argument.
24788 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
24789 (init_pci): New function.
24790 (grub_machine_init): Execute platform init when firmware. Init serial.
24791 (grub_halt): Implement.
24792 (grub_exit): Likewise.
24793 (grub_reboot): Likewise.
24794 * term/serial.c (serial_hw_init): Update macros.
24795 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
24796 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
24797 (image_targets): New target mipsel-yeeloong-flash.
24798 (generate_image): Support IMAGE_YEELOONG_FLASH.
24799 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
24800 (grub_video_sm712_setup): Init card.
24801 (grub_video_sm712_set_palette): Removed.
24802 * video/sm712_init.c: New file.
24803
ff4a70d2
CW
248042010-06-30 Colin Watson <cjwatson@ubuntu.com>
24805
24806 * Makefile.in (install-local): Temporarily prepend $(builddir) to
24807 PATH when running help2man and then run it on the unadorned
24808 executable names, rather than passing $(builddir)/* paths to
24809 help2man. This avoids the build directory ending up in generated
24810 manual pages.
24811
1246efeb
CW
248122010-06-29 Colin Watson <cjwatson@ubuntu.com>
24813
24814 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
24815 to avoid accidents when debugging with 'sh -x'.
24816 * util/grub-mkrescue.in: Likewise.
24817 * util/grub.d/00_header.in: Likewise.
24818 * util/grub.d/10_hurd.in: Likewise.
24819 * util/grub.d/10_kfreebsd.in: Likewise.
24820 * util/grub.d/10_linux.in: Likewise.
24821 * util/grub.d/10_netbsd.in: Likewise.
24822 * util/grub.d/10_windows.in: Likewise.
24823 * util/grub.d/20_linux_xen.in: Likewise.
24824 * util/grub.d/30_os-prober.in: Likewise.
24825 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24826
1ba9b889
CW
248272010-06-29 Colin Watson <cjwatson@ubuntu.com>
24828
24829 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
24830 last character in the buffer.
24831 Reported by: Vladimir Serbinenko.
24832
dccaf99d
RM
248332010-06-29 Robert Millan <rmh@gnu.org>
24834
24835 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
24836 (Command-line and menu entry commands): Document `badram' command.
24837
d500ed12
RM
248382010-06-28 Robert Millan <rmh@gnu.org>
24839
24840 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
24841 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
24842 command using ${GRUB_BADRAM} as parameter.
24843
20bc84a6
CW
248442010-06-28 Colin Watson <cjwatson@ubuntu.com>
24845
24846 * docs/grub.texi (Device map): New section.
24847 (Themes): New section (stub).
24848 * Makefile.in (docs/grub.info): The info documentation now builds
24849 without errors. Make sure it stays that way.
24850
4045dee1
VS
248512010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24852
24853 Use normal parser for menu entries.
24854 Reported by: Thomas Frauendorfer
24855
24856 * include/grub/parser.h (grub_parser_execute): Don't export.
24857 * normal/menu.c (grub_menu_execute_entry_real): New function.
24858 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
24859
bca58c7b
CW
248602010-06-28 Colin Watson <cjwatson@ubuntu.com>
24861
24862 * docs/grub.texi (Embedded configuration): New section (replacing
24863 old "Preset Menu" stub).
24864 (Images): New section.
24865 (configfile): Note that any menu entries defined in `file' are shown
24866 immediately.
24867
dec53e63
JT
248682010-06-28 Josh Triplett <josh@joshtriplett.org>
24869
24870 * mmap/i386/pc/mmap_helper.S: Set CF on return.
24871
c06e40f7
CW
248722010-06-28 Colin Watson <cjwatson@ubuntu.com>
24873
24874 * util/grub-install.in: Add --debug-image= option.
24875
cb88052b
CW
248762010-06-28 Colin Watson <cjwatson@ubuntu.com>
24877
24878 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
24879 possible on Linux.
24880
24881 * util/deviceiter.c (check_device): Rename to ...
24882 (check_device_readable_unique): ... this. Update all callers.
24883 Maintain and check a list of which devices (by canonicalized name)
24884 have already been seen.
24885 (clear_seen_devices): New function.
24886 (compare_file_names) [__linux__]: New function.
24887 (grub_util_iterate_devices): Clear the list of seen devices on exit
24888 and (just in case) on entry.
24889 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
24890 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
24891 seen-devices list, superseded by general code in check_device.
24892
bbe34652
CW
248932010-06-28 Colin Watson <cjwatson@ubuntu.com>
24894
24895 * commands/cat.c (options): New variable.
24896 (grub_cmd_cat): Parse options. If the --dos option is given, print
24897 DOS-style "\r\n" line endings as simple newlines (Debian bug
24898 #586358).
24899 (GRUB_MOD_INIT): Use extcmd.
24900 (GRUB_MOD_FINI): Likewise.
24901 * docs/grub.texi (cat): Document --dos.
24902
412e09f3
VS
249032010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
24904
24905 XEN with Linux grub-mkconfig support.
24906
24907 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
24908 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
24909 GRUB_CMDLINE_XEN_DEFAULT.
24910 * util/grub.d/20_linux_xen.in: New file.
24911
53f3ef38 249122010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
24913
24914 Initialise VGA video on qemu ourselves.
24915
24916 * boot/i386/qemu/boot.S: Don't call 0xc000.
24917 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
24918 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
24919 (kernel_img_HEADERS): Add pci.h.
24920 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
24921 * configure.ac: Force unifont on qemu and yeeloong.
24922 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
24923 (grub_vga_palette_write): Use correct register.
24924 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
24925 Call grub_qemu_init_cirrus.
24926 * kern/i386/qemu/init.c: New file.
24927 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
24928
24929 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
24930
c75be4fb
PR
249312010-06-26 Pavel Roskin <proski@gnu.org>
24932
24933 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
24934 13.
24935
d8034603
CW
249362010-06-26 Colin Watson <cjwatson@ubuntu.com>
24937
24938 * docs/grub.texi (Simple configuration): Explain that
24939 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
24940 set to `true' to disable their respective recovery entries, not
24941 merely set.
24942
3fa06487
CW
249432010-06-26 Colin Watson <cjwatson@ubuntu.com>
24944
24945 Make the `source' command slightly faster.
24946
24947 * normal/main.c (grub_normal_execute): Don't re-read list files when
24948 nested.
24949
e9b29642
CW
249502010-06-23 Colin Watson <cjwatson@ubuntu.com>
24951
24952 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
24953 field position and mask size to red fields from mode_info, not
24954 green.
24955 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
24956 Remove redundant tag->common.framebuffer_type assignment.
24957 Reported by: Seth Goldberg.
24958
e726542f
CW
249592010-06-23 Colin Watson <cjwatson@ubuntu.com>
24960
24961 Sync up other versions of the Linux loader with Robert Millan's
24962 change of 2010-01-09, "Make loader output a bit more user-friendly".
24963
24964 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
24965 grub_dprintf().
24966 (grub_cmd_linux): Likewise.
24967 (grub_cmd_initrd): Likewise.
24968 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
24969 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24970
d6e98a17
CW
249712010-06-21 Colin Watson <cjwatson@ubuntu.com>
24972
24973 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
24974 larger than MEMORY_MAP_SIZE.
24975
14d3f08e
BC
249762010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
24977
24978 Fix parallel build.
24979
24980 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
24981 dependency.
24982 * script/parser.y: #include grub_script.tab.h header.
24983
4f9613a3
VS
249842010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24985
24986 Support >3GiB and <16MiB RAM in i386-qemu.
24987
24988 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
24989 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
24990 (grub_lower_mem): Removed.
24991 (grub_upper_mem): Likewise.
24992 (mem_size): Made static.
24993 (above_4g): New variable.
24994 (grub_machine_mmap_init): Detect small mem_size and above_4g.
24995 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
24996 support.
24997
05e51879
VS
249982010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24999
25000 Cirrus 5446 and Bochs video cards support.
25001
25002 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25003 video_bochs.mod
25004 (video_cirrus_mod_SOURCES): New variable.
25005 (video_cirrus_mod_CFLAGS): Likewise.
25006 (video_cirrus_mod_LDFLAGS): Likewise.
25007 (video_bochs_mod_SOURCES): Likewise.
25008 (video_bochs_mod_CFLAGS): Likewise.
25009 (video_bochs_mod_LDFLAGS): Likewise.
25010 * include/grub/vga.h: New file.
25011 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25012 (grub_video_fb_set_page_t): New type.
25013 (grub_video_fb_setup): New prototype.
25014 (grub_video_fb_swap_buffers): Likewise.
25015 (grub_video_fb_get_info_and_fini): Likewise.
25016 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25017 (CRTC_DATA_PORT): Likewise.
25018 (CRTC_CURSOR): Likewise.
25019 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25020 (CRTC_CURSOR_ADDR_LOW): Likewise.
25021 (CRTC_CURSOR_DISABLE): Likewise.
25022 (update_cursor): Use grub_vga_cr_write.
25023 (grub_vga_text_setcursor): Likewise.
25024 * video/bochs.c: New file.
25025 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25026 (palette): Likewise.
25027 (palette_size): Likewise.
25028 (framebuffer): New variable.
25029 (grub_video_fb_init): Use 'framebuffer'.
25030 (grub_video_fb_fini): Likewise.
25031 (grub_video_fb_get_info): Likewise.
25032 (grub_video_fb_get_palette): Likewise.
25033 (grub_video_fb_set_palette): Likewise.
25034 (grub_video_fb_set_viewport): Likewise.
25035 (grub_video_fb_get_viewport): Likewise.
25036 (grub_video_fb_map_color): Likewise.
25037 (grub_video_fb_map_rgb): Likewise.
25038 (grub_video_fb_map_rgba): Likewise.
25039 (grub_video_fb_unmap_color): Likewise.
25040 (grub_video_fb_unmap_color_int): Likewise.
25041 (grub_video_fb_fill_rect): Likewise.
25042 (grub_video_fb_blit_bitmap): Likewise.
25043 (grub_video_fb_blit_render_target): Likewise.
25044 (grub_video_fb_scroll): Likewise.
25045 (grub_video_fb_create_render_target): Likewise.
25046 (grub_video_fb_doublebuf_blit_init): Likewise.
25047 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25048 (doublebuf_pageflipping_update_screen): New function.
25049 (doublebuf_pageflipping_init): Likewise.
25050 (grub_video_fb_setup): Likewise.
25051 (grub_video_fb_swap_buffers): Likewise.
25052 (grub_video_fb_get_info_and_fini): Likewise.
25053 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25054 All users updated.
25055 (doublebuf_pageflipping_commit): Restructured into ...
25056 (doublebuf_pageflipping_set_page): ... this.
25057 (doublebuf_pageflipping_update_screen): Removed.
25058 (doublebuf_pageflipping_init): Likewise.
25059 (double_buffering_init): Likewise.
25060 (grub_video_vbe_setup): Use grub_video_fb_setup.
25061 (grub_video_vbe_swap_buffers): Removed.
25062 (grub_video_vbe_set_active_render_target): Likewise.
25063 (grub_video_vbe_get_active_render_target): Likewise.
25064 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25065 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25066 grub_video_fb_set_active_render_target and
25067 grub_video_fb_get_active_render_target.
25068 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25069 (SEQUENCER_DATA_PORT): Likewise.
25070 (MAP_MASK_REGISTER): Likewise.
25071 (CRTC_ADDR_PORT): Likewise.
25072 (CRTC_DATA_PORT): Likewise.
25073 (START_ADDR_HIGH_REGISTER): Likewise.
25074 (START_ADDR_LOW_REGISTER): Likewise.
25075 (GRAPHICS_ADDR_PORT): Likewise.
25076 (GRAPHICS_DATA_PORT): Likewise.
25077 (READ_MAP_REGISTER): Likewise.
25078 (INPUT_STATUS1_REGISTER): Likewise.
25079 (INPUT_STATUS1_VERTR_BIT): Likewise.
25080 (get_map_mask): Use grub_vga_sr_read.
25081 (set_map_mask): Use grub_vga_sr_write.
25082 (set_read_map): Use grub_vga_gr_write.
25083 (set_start_address): Use grub_vga_cr_write.
25084 * video/sm712.c (framebuffer): Remove leftover fields.
25085
4321c64a
CW
250862010-06-20 Colin Watson <cjwatson@ubuntu.com>
25087
25088 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25089 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25090 instead. Replace the gfxterm backend check with a check that
25091 ${GRUB_PREFIX}/video.lst is non-empty.
25092 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25093 again.
25094 (load_video): New generated function. Call it before loading
25095 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25096 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25097 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25098 * docs/grub.texi (Simple configuration): Document
25099 GRUB_VIDEO_BACKEND.
25100
251012010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25102
25103 Use video functions in linux and xnu loaders.
25104
25105 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25106 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25107 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25108 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25109 loader/i386/pc/linux.c.
25110 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25111 (find_line_len): Removed.
25112 (find_framebuf): Likewise.
25113 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25114 * loader/i386/efi/xnu.c: Removed.
25115 * loader/i386/pc/xnu.c: Moved from here...
25116 * loader/i386/xnu.c: ...here.
25117
25118 Enable priorities in video drivers.
25119
25120 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25121 (grub_video_adapter): New field prio.
25122 (grub_video_register): Respect prio when inserting.
25123 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25124 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25125 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25126 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25127 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25128 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25129 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25130
25131 Fix SDL driver ID.
25132
25133 * include/grub/video.h (grub_video_driver_id_t): New value
25134 GRUB_VIDEO_DRIVER_SDL.
25135 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25136
7d24e434
CW
251372010-06-17 Colin Watson <cjwatson@ubuntu.com>
25138
25139 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25140 argument to printf.
25141 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25142
c88a83f6
CW
251432010-06-17 Colin Watson <cjwatson@ubuntu.com>
25144
25145 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25146 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25147
094dfb69
CW
251482010-06-17 Colin Watson <cjwatson@ubuntu.com>
25149
25150 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25151 directly, and recommend grub-install instead.
25152 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25153
2164da6b
CW
251542010-06-17 Colin Watson <cjwatson@ubuntu.com>
25155
25156 Fix i386-pc prefix handling with nested partitions (Debian bug
25157 #585068). Note that the case where the core image is booted using
25158 multiboot and relocated from its original location still requires
25159 more work.
25160
25161 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25162 with "(,", fill the boot drive in between those two characters, but
25163 expect that a full partition specification including partition map
25164 names will follow.
25165 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25166 specified, write a prefix without the drive name but including a
25167 full partition specification.
25168
044e2e60
CW
251692010-06-16 Colin Watson <cjwatson@ubuntu.com>
25170
25171 * util/grub-mkconfig.in: Ignore non-option arguments, for
25172 compatibility with older versions (before 2010-06-12) which did the
25173 same. In particular, this makes it easier to ship an update-grub
25174 wrapper which is compatible with that used with GRUB Legacy (Debian
25175 bug #586056).
25176
5591324f
GS
251772010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25178
25179 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25180 for manual page generation.
25181
662e24d5
GS
251822010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25183
25184 * po/POTFILES: Remove leftover commands/handler.c.
25185
8d70754e
CW
251862010-06-14 Colin Watson <cjwatson@ubuntu.com>
25187
25188 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25189 left this script non-functional.
25190
41160e2e
CW
251912010-06-14 Colin Watson <cjwatson@ubuntu.com>
25192
25193 * docs/man/grub-emu.h2m: New file.
25194
b5309cc1
CW
251952010-06-13 Colin Watson <cjwatson@ubuntu.com>
25196
25197 * docs/grub.texi (Commands): Document reduced command set in rescue
25198 mode.
25199 (cpuid): New section.
25200
fcb2d090
GS
252012010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25202
25203 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25204 new partition naming style.
25205 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25206
96e5c556
BC
252072010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25208
25209 Add "-o grub.iso" like cmdline options support.
25210
25211 * util/grub-install.in: Improve cmdline option parsing.
25212 * util/grub-mkconfig.in: Likewise.
25213 * util/grub-mkrescue.in: Likewise.
25214 * util/grub-reboot.in: Likewise.
25215 * util/grub-set-default.in: Likewise.
25216 * util/i386/efi/grub-install.in: Likewise.
25217 * util/ieee1275/grub-install.in: Likewise.
25218 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25219
c16be99b
CW
252202010-06-12 Colin Watson <cjwatson@ubuntu.com>
25221
25222 * .bzrignore: Ignore 41_custom.
25223
ce08a9fb
TS
252242010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25225
25226 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25227
7beac90c
CW
252282010-06-12 Colin Watson <cjwatson@ubuntu.com>
25229
25230 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25231 prototype declarations.
25232
25233 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25234 generating fs, partmap, and video lists.
25235 * include/grub/fs.h (grub_fs_register): Omit prototype if
25236 GRUB_LST_GENERATOR is defined.
25237 * include/grub/partition.h (grub_partition_map_register): Likewise.
25238 * include/grub/video.h (grub_video_register): Likewise.
25239
1c8f0f8d
JM
252402010-06-12 Javier Martín <lordhabbit@gmail.com>
25241
25242 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25243
a6085973
TS
252442010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25245
25246 * util/grub-mkrescue.in: Support --xorriso argument.
25247
25c56d29
VS
252482010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25249
25250 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25251 Suggested by: Thomas Schmitt.
25252
e03e4b24
VS
252532010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25254
25255 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25256 Suggested by: Thomas Schmitt.
25257
57711df6
VS
252582010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25259
25260 custom.cfg support.
25261
25262 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25263 * util/grub.d/41_custom.in: New file.
25264
ee62c427
CW
252652010-06-12 Colin Watson <cjwatson@ubuntu.com>
25266
25267 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25268 been merged back into normal.
25269
283af07a
CW
252702010-06-11 Colin Watson <cjwatson@ubuntu.com>
25271
25272 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25273 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25274
56a0d956
CW
252752010-06-11 Colin Watson <cjwatson@ubuntu.com>
25276
25277 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25278 when generating manual pages.
25279 * docs/man/grub-bin2h.h2m: New file.
25280 * docs/man/grub-editenv.h2m: New file.
25281 * docs/man/grub-fstest.h2m: New file.
25282 * docs/man/grub-install.h2m: New file.
25283 * docs/man/grub-macho2img.h2m: New file.
25284 * docs/man/grub-mkconfig.h2m: New file.
25285 * docs/man/grub-mkdevicemap.h2m: New file.
25286 * docs/man/grub-mkfont.h2m: New file.
25287 * docs/man/grub-mkimage.h2m: New file.
25288 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25289 * docs/man/grub-mkrelpath.h2m: New file.
25290 * docs/man/grub-mkrescue.h2m: New file.
25291 * docs/man/grub-ofpathname.h2m: New file.
25292 * docs/man/grub-pe2elf.h2m: New file.
25293 * docs/man/grub-probe.h2m: New file.
25294 * docs/man/grub-reboot.h2m: New file.
25295 * docs/man/grub-script-check.h2m: New file.
25296 * docs/man/grub-set-default.h2m: New file.
25297 * docs/man/grub-setup.h2m: New file.
25298
3a37e322
VS
252992010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25300
25301 Use FOR_* macros instead of *_iterate whenever possible.
25302
25303 * commands/handler.c: Removed.
25304 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25305 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25306 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25307 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25308 (grub_probe_SOURCES): Remove kern/parser.c.
25309 (util/grub-script-check.c_DEPENDENCIES): Removed.
25310 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25311 and grub_script_check_init.c.
25312 (grub_script_check_init.lst): Removed.
25313 (grub_script_check_init.h): Likewise.
25314 (grub_script_check_init.c): Likewise.
25315 (pkglib_MODULES): Remove handler.mod and sh.mod.
25316 (handler_mod_SOURCES): Removed.
25317 (handler_mod_CFLAGS): Likewise.
25318 (handler_mod_LDFLAGS): Likewise.
25319 (normal_mod_SOURCES): Remove normal/handler.c.
25320 Add script/main.c, script/script.c, script/execute.c,
25321 script/function.c, script/lexer.c, grub_script.tab.c
25322 and grub_script.yy.c.
25323 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25324 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25325 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25326 (grub_setup_SOURCES): Remove kern/parser.c.
25327 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25328 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25329 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25330 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25331 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25332 (grub_setup_SOURCES): Remove kern/parser.c.
25333 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25334 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25335 * include/grub/command.h (grub_command_iterate): Removed.
25336 (FOR_COMMANDS): New macro.
25337 * include/grub/dl.h (grub_dl): New member next.
25338 (grub_dl_iterate): Removed.
25339 (grub_dl_head): New variable declaration.
25340 (FOR_DL_MODULES): New macro.
25341 * include/grub/fs.h: Include list.h.
25342 (grub_fs): Make next first element.
25343 (grub_fs_list): New variable declaration.
25344 (grub_fs_register): Make inline.
25345 (grub_fs_unregister): Likewise.
25346 (grub_fs_iterate): Removed.
25347 (FOR_FILESYSTEMS): New macro.
25348 * include/grub/handler.h: Removed.
25349 * include/grub/list.h (grub_list_hook_t): Removed.
25350 (grub_list_test_t): Likewise.
25351 (grub_list_pop): Likewise.
25352 (grub_list_iterate): Likewise.
25353 (grub_list_insert): Likewise.
25354 (FOR_LIST_ELEMENTS): New macro.
25355 * include/grub/parser.h (grub_parser_class): Removed.
25356 (grub_parser_register): Likewise.
25357 (grub_parser_unregister): Likewise.
25358 (grub_parser_get_current): Likewise.
25359 (grub_parser_set_current): Likewise.
25360 (grub_register_rescue_parser): Likewise.
25361 (grub_rescue_parse_line): New function.
25362 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25363 * include/grub/script_sh.h (grub_script_function_list): New variable
25364 declaration.
25365 (FOR_SCRIPT_FUNCTIONS): New macro.
25366 (grub_script_function_iterate): Removed.
25367 (grub_normal_parse_line): New prototype.
25368 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25369 (FOR_DISABLED_TERM_INPUTS): Likewise.
25370 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25371 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25372 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25373 element.
25374 (grub_video_register): Inline.
25375 (grub_video_unregister): Likewise.
25376 (grub_video_adapter_list): New variable declaration.
25377 (grub_video_iterate): Removed.
25378 (FOR_VIDEO_ADAPTERS): New macro.
25379 * kern/dl.c (grub_dl_list): Removed. All users updated.
25380 (grub_dl_iterate): Removed.
25381 * kern/fs.c (grub_fs_list): Make global.
25382 (grub_fs_register): Removed.
25383 (grub_fs_unregister): Likewise.
25384 (grub_fs_iterate): Likewise.
25385 * kern/handler.c: Removed.
25386 * kern/list.c (grub_list_pop): Removed.
25387 (grub_list_iterate): Likewise.
25388 (grub_list_insert): Likewise.
25389 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25390 (grub_prio_list_insert): Don't use grub_list_insert.
25391 * kern/main.c (grub_register_rescue_parser): Don't call
25392 grub_register_rescue_parser.
25393 * kern/parser.c (grub_parser_class): Removed.
25394 (grub_parser_execute): Use grub_rescue_parse_line.
25395 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25396 (grub_rescue_parser): Removed.
25397 (grub_register_rescue_parser): Likewise.
25398 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25399 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25400 (grub_auth_check_authentication): Likewise.
25401 * normal/completion.c (iterate_command): Removed.
25402 (grub_normal_do_completion): Use FOR_COMMANDS.
25403 * normal/handler.c: Removed.
25404 * normal/main.c (read_config_file): Remove parser changing.
25405 (grub_normal_execute): Don't call read_handler_list.
25406 (grub_normal_read_line_real): Statically allocate prompt.
25407 (grub_cmdline_run): Use grub_normal_parse_line.
25408 (GRUB_MOD_FINI): Don't call free_handler_list.
25409 * normal/menu_entry.c (run): Likewise.
25410 * script/function.c (grub_script_function_list): Make global.
25411 (grub_script_function_iterate): Removed.
25412 * script/main.c (grub_normal_parse_line): Make global.
25413 (grub_sh_parser): Removed.
25414 (GRUB_MOD_INIT): Likewise.
25415 (GRUB_MOD_FINI): Likewise.
25416 * tests/lib/functional_test.c (grub_functional_test): Use
25417 FOR_LIST_ELEMENTS.
25418 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25419 (grub_test_run): Use FOR_LIST_ELEMENTS.
25420 * tests/lib/unit_test.c (main): Likewise.
25421 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25422 grub_list_pop.
25423 * util/grub-fstest.c (grub_term_input_class): Removed.
25424 (grub_term_output_class): Likewise.
25425 * util/grub-probe.c: Likewise.
25426 * util/i386/pc/grub-setup.c: Likewise.
25427 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25428 * util/grub-script-check.c (main): Don't call grub_init_all and
25429 grub_fini_all.
25430 * video/video.c (grub_video_adapter_list): Make global.
25431 (grub_video_register): Removed.
25432 (grub_video_unregister): Likewise.
25433 (grub_video_iterate): Likewise.
25434
6289c3a7
VS
254352010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25436
25437 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25438 reported by Henrique Ferreiro.
25439
91460247
RM
254402010-06-09 Robert Millan <rmh@gnu.org>
25441
25442 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25443 ones, when both are available.
25444
0ea7c4f9
GS
254452010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25446
25447 Make --version uniform and avoid hard-coded program name.
25448
25449 * util/grub-mkimage.c (main): Use `program_name' instead of
25450 hard-coded string.
25451 * util/i386/pc/grub-setup.c (main): Likewise.
25452 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25453 * util/grub-install.in: Save the basename of $0 in $self, and use the
25454 latter in informational messages. Use the same format for --version
25455 as the binary programs.
25456 * util/grub-mkconfig.in: Likewise.
25457 * util/grub-mkrescue.in: Likewise.
25458 * util/grub-reboot.in: Likewise.
25459 * util/grub-set-default.in: Likewise.
25460 * util/i386/efi/grub-install.in: Likewise.
25461 * util/ieee1275/grub-install.in: Likewise.
25462 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25463
e8a6f3b6
GS
254642010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25465
25466 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25467 embedding area. Use <= instead of == when checking for non-emptiness.
25468
f4d095d7
GS
254692010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25470
25471 * configure.ac: Add `.' to the directories searched for unifont.
25472
50e532ca
CW
254732010-06-08 Colin Watson <cjwatson@ubuntu.com>
25474
25475 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25476 grub_script.yy.h.
25477
d39f3dec
CW
254782010-06-08 Colin Watson <cjwatson@ubuntu.com>
25479
25480 * docs/grub.texi (History): Expand to cover GRUB 2.
25481 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25482 commands, not `terminal'.
25483 (serial): Likewise.
25484 (terminal_input): New section.
25485 (terminal_output): New section.
25486 (uppermem): New section (stub).
25487 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25488
6ef0ddb4
CW
254892010-06-08 Colin Watson <cjwatson@ubuntu.com>
25490
25491 * docs/grub.texi (Security): Menu entries are unrestricted by
25492 default, not restricted to superusers as I had previously thought.
25493 Reword to account for this.
25494
e0f4c438
CW
254952010-06-07 Colin Watson <cjwatson@ubuntu.com>
25496
25497 * kern/emu/misc.c (device_mapper_null_log): New function.
25498 (grub_device_mapper_supported): New function.
25499 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25500 prototype.
25501 * kern/emu/hostdisk.c (find_partition_start): Check whether
25502 device-mapper is supported before trying to use it.
25503 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25504
da908200
CW
255052010-06-07 Colin Watson <cjwatson@ubuntu.com>
25506
25507 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25508 (File name syntax): Likewise.
25509 (help): --all is no longer supported in GRUB 2. Be more precise
25510 about pattern matching.
25511
fb55c3ac
CW
255122010-06-07 Colin Watson <cjwatson@ubuntu.com>
25513
25514 * normal/completion.c (grub_normal_do_completion): When completing
25515 arguments to "set" and the current word contains an equals sign,
25516 skip to after the equals sign before starting completion.
25517
258c2573
CW
255182010-06-07 Colin Watson <cjwatson@ubuntu.com>
25519
25520 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25521
ee75515e
CW
255222010-06-07 Colin Watson <cjwatson@ubuntu.com>
25523
25524 * docs/grub.texi (Network): New section.
25525 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25526 `(nd)' as in GRUB Legacy.
25527 (pxe_unload): New section.
25528
a6a700aa
CW
255292010-06-07 Colin Watson <cjwatson@ubuntu.com>
25530
25531 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25532 in the rescue shell, so recommend using `set' instead. Thanks,
25533 Jordan Uggla.
25534
4003dd38
CW
255352010-06-07 Colin Watson <cjwatson@ubuntu.com>
25536
25537 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25538 (password): New section.
25539 (password_pbkdf2): New section.
25540 (search): New section.
25541 (Security): New section.
25542 (Troubleshooting): New section, currently very incomplete.
25543 (Invoking grub-mkpasswd-pbkdf2): New section.
25544 (Internals): New section, currently very incomplete.
25545
e1cbcc40
CW
255462010-06-07 Colin Watson <cjwatson@ubuntu.com>
25547
25548 * util/grub.d/00_header.in: Add some more quoting (of
25549 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25550 work again.
25551 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25552
db8fa1ad
CW
255532010-06-07 Colin Watson <cjwatson@ubuntu.com>
25554
25555 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25556 to `count', fixing variable shadowing that broke the -c option.
25557
255582010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
25559
25560 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25561 in case they contain spaces.
25562
f28a9212
CW
255632010-06-04 Colin Watson <cjwatson@ubuntu.com>
25564
25565 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25566 "part_" to partmap module names, in line with grub-install.
25567 Reported by: Jindřich Makovička (Debian bug #584426).
25568
9cdfe32f
CW
255692010-06-04 Colin Watson <cjwatson@ubuntu.com>
25570
25571 * util/grub-mkimage.c: Make target-related error messages slightly
25572 more helpful; -O talks about "format". Explicitly point to the use
25573 of -O if no target is specified.
25574 Reported by: Didier Raboud (Debian bug #584415).
25575
795b593a
CW
255762010-06-03 Colin Watson <cjwatson@ubuntu.com>
25577
25578 * INSTALL: Document several build requirements for optional features
25579 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25580
9d9b5833
GS
255812010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25582
25583 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25584 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25585 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25586
0819fec8
CW
255872010-06-02 Colin Watson <cjwatson@ubuntu.com>
25588
25589 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25590 Thanks to Jordan Uggla for spotting this.
25591
49396b4f
VS
255922010-06-02 Aleš Nesrsta <starous@volny.cz>
25593
25594 Finally make USB usable.
25595
25596 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25597 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25598 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25599 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25600 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25601 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25602 (GRUB_OHCI_FSMPS): Likewise.
25603 (GRUB_OHCI_PERIODIC_START): Likewise.
25604 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25605 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25606 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25607 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25608 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25609 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25610 (grub_ohci_transaction): Likewise.
25611 (grub_ohci_transfer): Improve condition detection algorithms.
25612 Handle toggle property. Program the transactions correctly.
25613 Improve error handling. Various important fixups.
25614 (grub_ohci_portstatus): Put register writes in right order.
25615 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25616 (grub_uhci_transfer): Don't show "failed" message on success.
25617 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25618 array.
25619 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25620 determine its size.
25621 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25622 before initialization is completed. Use IN direction for empty
25623 transfers. Use last_trans and compute toggle.
25624 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25625 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25626 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25627 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25628 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25629 (grub_usb_device): Increase toggle to 256.
25630 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25631 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25632 GRUB_USBMS_SUBCLASS_SFF8070.
25633 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25634 (grub_scsi_inquiry): New member page and alloc_length.
25635 (grub_scsi_request_sense): New structure.
25636 (grub_scsi_request_sense_data): Likewise.
25637 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25638 control.
25639 * disk/scsi.c (grub_scsi_request_sense): New function.
25640 (grub_scsi_test_unit_ready): Likewise.
25641 (grub_scsi_inquiry): Fill new fields.
25642 (grub_scsi_read_capacity): Likewise.
25643 (grub_scsi_read10): Add request sense at the end.
25644 (grub_scsi_read12): Likewise.
25645 (grub_scsi_write10): Likewise.
25646 (grub_scsi_write12): Likewise.
25647 (grub_scsi_open): Add Test Unit Ready.
25648 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25649 Support additional subclasses. Con't clear halt yet. Activate the
25650 proper config. Calculate LUNs correctly.
25651 (grub_usbms_transfer): Various important fixups.
25652
256532010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25654
25655 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25656 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25657 (grub_ohci_fini_hw): New function.
25658 (grub_ohci_restore_hw): Likewise.
25659 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25660 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25661 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25662
256632010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25664
25665 Dedicated DMA allocations.
25666
25667 * bus/pci.c (grub_memalign_dma32): New function
25668 (grub_dma_free): Likewise.
25669 (grub_dma_get_virt): Likewise.
25670 (grub_dma_get_phys): Likewise.
25671 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25672 (grub_ohci_pci_iter): Use dma32_alloc.
25673 (grub_ohci_transfer): Likewise.
25674 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25675 (grub_usb_bulk_readwrite): Likewise.
25676 * include/grub/pci.h: Add declarations.
25677
256782010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25679
25680 CS5536 support.
25681
25682 * bus/cs5536.c: New file.
25683 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25684 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25685 (cs5536_mod_SOURCES): New variable.
25686 (cs5536_mod_CFLAGS): Likewise.
25687 (cs5536_mod_LDFLAGS): Likewise.
25688 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25689 machine/pci.h.
25690 (kernel_img_SOURCES): Add bus/cs5536.c.
25691 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
25692 usb_keyboard.mod.
25693 (usb_mod_SOURCES): New variable.
25694 (usb_mod_CFLAGS): New variable.
25695 (usb_mod_LDFLAGS): New variable.
25696 (usbtest_mod_SOURCES): New variable.
25697 (usbtest_mod_CFLAGS): New variable.
25698 (usbtest_mod_LDFLAGS): New variable.
25699 (ohci_mod_SOURCES): New variable.
25700 (ohci_mod_CFLAGS): New variable.
25701 (ohci_mod_LDFLAGS): New variable.
25702 (usbms_mod_SOURCES): New variable.
25703 (usbms_mod_CFLAGS): New variable.
25704 (usbms_mod_LDFLAGS): New variable.
25705 (usb_keyboard_mod_SOURCES): New variable.
25706 (usb_keyboard_mod_CFLAGS): New variable.
25707 (usb_keyboard_mod_LDFLAGS): New variable.
25708 * include/grub/smbus.h: New file.
25709 * include/grub/cs5536.h: New file.
25710
0b35b2a9
CW
257112010-06-02 Colin Watson <cjwatson@ubuntu.com>
25712
25713 * util/grub.d/00_header.in: Add safety check to make sure that
25714 ${locale_dir} exists before trying to probe it.
25715
ca0afd5b
CW
257162010-06-02 Colin Watson <cjwatson@ubuntu.com>
25717
25718 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
25719 per the GNU Coding Standards; this is now too obscure to be worth
25720 documenting.
25721 (QNX): Likewise.
25722 (chainloader): Remove cross-reference to `SCO UnixWare'.
25723
1c41aa78
CW
257242010-06-02 Colin Watson <cjwatson@ubuntu.com>
25725
25726 * docs/grub.texi (Chain-loading): New section.
25727 (DOS/Windows): New section, borrowed from GRUB Legacy with details
25728 adjusted for GRUB 2.
25729 (SCO UnixWare): Likewise.
25730 (QNX): Likewise.
25731 (chainloader): Add reference to `Block list syntax'.
25732 (drivemap): New section.
25733 (parttool): New section.
25734
bb8ea0f5
CW
257352010-06-02 Colin Watson <cjwatson@ubuntu.com>
25736
25737 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
25738 the grub shell'.
25739 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
25740 (Installing GRUB using grub-install): Remove reference to the grub
25741 shell; mention `grub-mkimage' and `grub-setup' instead.
25742 (Invoking grub-install): Likewise.
25743 (Interface): Add reference to `Menu entry editor'.
25744 (serial): Remove `--device' option.
25745
288dd6ed
CW
257462010-06-02 Colin Watson <cjwatson@ubuntu.com>
25747
25748 * docs/grub.texi (Configuration): New section, documenting
25749 configuration file generation using grub-mkconfig. I've left a slot
25750 for documenting the full shell scripting format but have not yet
25751 started on writing that up.
25752 (Invoking grub-mkconfig): New section.
25753
34c9f0e9
CW
257542010-06-02 Colin Watson <cjwatson@ubuntu.com>
25755
25756 * docs/grub.texi (direntry): Remove grub-terminfo reference.
25757 (GNU GRUB manual): Likewise.
25758 (General commands): Update description of `terminfo' for GRUB 2.
25759
9121567e
CW
257602010-06-02 Colin Watson <cjwatson@ubuntu.com>
25761
25762 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
25763 (GRUB_MOD_INIT): Fix capitalisation.
25764 * docs/grub.texi (Command-line and menu entry commands): Document
25765 gettext and gptsync commands.
25766
ab631611
CW
257672010-06-02 Colin Watson <cjwatson@ubuntu.com>
25768
25769 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
25770 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
25771
bde4a9ac
CW
257722010-06-01 Colin Watson <cjwatson@ubuntu.com>
25773
25774 Add btrfs probing support, currently only in the single-device case.
25775
25776 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
25777 function.
25778 (grub_guess_root_device): Call find_root_device_from_mountinfo
25779 before looking in /dev.
25780
b1d17e10
VS
257812010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25782
25783 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
25784 GRUB_DISK_SIZE_UNKNOWN.
25785 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
25786
dfbfe004
JS
257872010-05-31 Jiro SEKIBA <jir@unicus.jp>
25788
25789 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
25790 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
25791 corrupted or not synced properly.
25792
c2ffc8e9
VS
257932010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25794
25795 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
25796 Reported by: Seth Goldberg.
25797
56293166
VS
257982010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25799
25800 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
25801 addition of dest.
25802 Reported by: Seth Goldberg.
25803
7620e7de
VS
258042010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25805
25806 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
25807 Reported by: Seth Goldberg.
25808
c837af3f
VS
258092010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25810
25811 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
25812 64-bit address as signed on MIPS.
25813
c7c75cf4
CW
258142010-05-28 Colin Watson <cjwatson@ubuntu.com>
25815
25816 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
25817 to the empty string.
25818
fa4b8490
BC
258192010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
25820
25821 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
25822
25823 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
25824 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
25825 * kern/misc.c (__enable_execute_stack): Disable on
25826 GRUB_MACHINE_EMU.
25827
a33075b9
CW
258282010-05-28 Colin Watson <cjwatson@ubuntu.com>
25829
25830 Make grub-probe work with symbolic links under /dev/mapper as well
25831 as with real block devices. The Linux world seems to be (at best)
25832 in transition here, and GRUB shouldn't get caught in the middle.
25833
25834 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
25835 /dev/mapper.
25836
d8708134
CW
258372010-05-27 Colin Watson <cjwatson@ubuntu.com>
25838
25839 * util/grub-script-check.c (main): Ensure defined behaviour on empty
25840 input files (in which case exit zero).
25841
db2102a0
CW
258422010-05-27 Colin Watson <cjwatson@ubuntu.com>
25843
25844 * kern/emu/misc.c (canonicalize_file_name): realpath can still
25845 return NULL for various reasons even if it has a maximum-length
25846 buffer: for example, there might be a symlink loop, or the path
25847 might exceed PATH_MAX. If this happens, return NULL.
25848
5fdba519
RM
258492010-05-27 Robert Millan <rmh@gnu.org>
25850
25851 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
25852 partmap module to handle cross-partmap setups.
25853 Reported by Orestes Mas. Gràcies!
25854
d1d368e4
CW
258552010-05-27 Colin Watson <cjwatson@ubuntu.com>
25856
25857 * util/grub-mkrescue.in: Initialise override_dir rather than
25858 assuming that it's unset or empty in the environment.
25859
95ac3c73
GS
258602010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
25861
25862 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
25863 variable index into p_index to suppress a warning with -Wshadow.
25864
7d8c0213
BC
258652010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
25866
25867 * INSTALL: Added flex >= 2.5.35 requirement.
25868
db4d5813
VS
258692010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25870
25871 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
25872
f24f4300
VS
258732010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25874
25875 cmostest support.
25876
25877 * commands/i386/cmostest.c: New file.
25878 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
25879 (cmostest_mod_SOURCES): New variable.
25880 (cmostest_mod_CFLAGS): Likewise.
25881 (cmostest_mod_LDFLAGS): Likewise.
25882 * conf/i386-pc.rmk: Likewise.
25883 * docs/grub.texi (Vendor power-on keys): New section.
25884 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
25885 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
25886 and GRUB_BUTTON_CMOS_ADDRESS.
25887 * util/grub.d/00_header.in: Handle powering-on by separate button.
25888
ad603f61
VS
258892010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25890
25891 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
25892 Removed drawing_scrollbar argument. All users updated
25893 Fixes #29792.
25894 Reported by Jo Shields
25895
3ecb080a
VS
258962010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25897
25898 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
25899 buffer since gfxterm handles double repaint.
25900
5f2316c1
VS
259012010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
25902
25903 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
25904 * term/gfxterm.c (real_scroll): Likewise.
25905
9a25f885
VS
259062010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25907
25908 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
25909 before calling BIOS.
25910
39fbb79a
VS
259112010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25912
25913 * include/grub/i18n.h: Always enable grub_gettext.
25914
228cfa97
VS
259152010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
25916
25917 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
25918 partition naming style.
25919
21717c8f
CW
259202010-05-21 Colin Watson <cjwatson@ubuntu.com>
25921
25922 * util/grub-mkconfig.in: Fix handling of -o so that it works when
25923 not the first option.
25924
c0f48e65
CW
259252010-05-20 Colin Watson <cjwatson@ubuntu.com>
25926
25927 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
25928
96779aec
CW
259292010-05-20 Colin Watson <cjwatson@ubuntu.com>
25930
25931 * util/misc.c: Move inclusion of <limits.h> to ...
25932 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
25933
fa9d256e
GS
259342010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
25935
25936 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
25937 Fix merge error in NetBSD code.
25938 (find_partition_start) [__NetBSD__]: Likewise.
25939
123b7a85
BC
259402010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
25941
25942 Fix grub-mkrescue usage unit testing.
25943
25944 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
25945
74276c0d
CF
259462010-05-18 Christian Franke <franke@computer.org>
25947
25948 * util/grub.d/10_windows.in: Use path names instead of
25949 drive letters to prevent warning from Cygwin 1.7.
25950 Add drivemap command to menuentry if needed.
25951
c4f7b523
ST
259522010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
25953
25954 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
25955 gnumach and gnumach.gz.
25956
95b97950
VS
259572010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25958
25959 * include/grub/i18n.h (gettext): Inline instead of using #define.
25960 (grub_gettext): Likewise.
25961 (_): Likewise.
25962
01b8d2d7
VS
259632010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25964
25965 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
25966 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
25967 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
25968 (main): Add a slash after pkglibdirroot.
25969
654e1d1e
VS
259702010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25971
25972 * util/grub-install.in: Add missing "in" keyword.
25973
26966aeb
VS
259742010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25975
25976 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
25977 Reported by: Seth Goldberg.
25978
75006747
VS
259792010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25980
25981 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
25982
74cbf5bd
CW
259832010-05-18 Colin Watson <cjwatson@ubuntu.com>
25984
25985 * configure.ac: Check for Linux device-mapper support.
25986
25987 * util/hostdisk.c (device_is_mapped): New function.
25988 (find_partition_start): New function, partly broken out from
25989 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
25990 device-mapper support added.
25991 (linux_find_partition): Use find_partition_start.
25992 (convert_system_partition_to_system_disk): Add `st' argument.
25993 Support Linux /dev/mapper/* devices if device-mapper support is
25994 available; only DM-RAID devices are understood at present.
25995 (find_system_device): Add `st' argument. Pass it to
25996 convert_system_partition_to_system_disk.
25997 (grub_util_biosdisk_get_grub_dev): Pass stat result to
25998 find_system_device and convert_system_partition_to_system_disk. Use
25999 find_partition_start.
26000
26001 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26002 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26003 * util/deviceiter.c [__linux__]: Define MINOR.
26004 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26005 * util/mkdevicemap.c (grub_putchar): New function.
26006 (grub_getkey): New function.
26007 (grub_refresh): New function.
26008 (main): Set debug=all if -v -v is used.
26009
355b51e9
CW
260102010-05-18 Colin Watson <cjwatson@ubuntu.com>
26011
26012 Fix build with non-GNU libcs.
26013
26014 * util/misc.c (canonicalize_file_name): Move to ...
26015 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26016 grub_make_system_path_relative_to_its_root.
26017
7fb5c25f
CW
260182010-05-18 Colin Watson <cjwatson@ubuntu.com>
26019
26020 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26021 we handle finding grub-mkimage. Default to finding grub-mkimage in
26022 ${bindir} with program_transform_name applied, and provide a
26023 --grub-mkimage option to override this.
26024
1d3293d6
VS
260252010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26026
26027 Remove grub-mkisofs.
26028
26029 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26030 (grub_mkisofs_SOURCES): Removed.
26031 (grub_mkisofs_CFLAGS): Removed.
26032 * util/mkisofs/defaults.h: Removed.
26033 * util/mkisofs/eltorito.c: Likewise.
26034 * util/mkisofs/exclude.h: Likewise.
26035 * util/mkisofs/hash.c: Likewise.
26036 * util/mkisofs/include/: Likewise.
26037 * util/mkisofs/include/fctldefs.h: Likewise.
26038 * util/mkisofs/include/mconfig.h: Likewise.
26039 * util/mkisofs/include/prototyp.h: Likewise.
26040 * util/mkisofs/include/statdefs.h: Likewise.
26041 * util/mkisofs/iso9660.h: Likewise.
26042 * util/mkisofs/joliet.c: Likewise.
26043 * util/mkisofs/match.c: Likewise.
26044 * util/mkisofs/match.h: Likewise.
26045 * util/mkisofs/mkisofs.c: Likewise.
26046 * util/mkisofs/mkisofs.h: Likewise.
26047 * util/mkisofs/msdos_partition.h: Likewise.
26048 * util/mkisofs/multi.c: Likewise.
26049 * util/mkisofs/name.c: Likewise.
26050 * util/mkisofs/rock.c: Likewise.
26051 * util/mkisofs/tree.c: Likewise.
26052 * util/mkisofs/write.c: Likewise.
26053
5dde9afe
VS
260542010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26055
26056 Unify grub-mkimage accross platforms.
26057
26058 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26059 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26060 (grub_mkelfimage_SOURCES): Removed.
26061 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26062 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26063 (bin_UTILITIES): Add grub-mkimage.
26064 (grub_mkimage_SOURCES): New variable.
26065 (kernel_img_HEADERS): Remove machine/kernel.h.
26066 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26067 (pkglib_PROGRAMS): Add kernel.img.
26068 (kernel_img_HEADERS): Add machine/kernel.h.
26069 (kernel_img_FORMAT): Removed.
26070 (bin_UTILITIES): Remove grub-mkimage.
26071 (grub_mkimage_SOURCES): Removed.
26072 (grub_mkimage_CFLAGS): Likewise.
26073 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26074 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26075 (pkglib_PROGRAMS): Add kernel.img.
26076 (bin_UTILITIES): Remove grub-mkimage.
26077 (grub_mkimage_SOURCES): Removed.
26078 (grub_mkimage_CFLAGS): Likewise.
26079 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26080 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26081 (pkglib_PROGRAMS): Add kernel.img.
26082 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26083 (pkglib_PROGRAMS): Add kernel.img.
26084 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26085 (grub_mkimage_SOURCES): Removed.
26086 (grub_mkimage_CFLAGS): Likewise.
26087 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26088 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26089 (pkglib_PROGRAMS): Add kernel.img.
26090 (bin_UTILITIES): Remove grub-mkimage.
26091 (grub_mkimage_SOURCES): Removed.
26092 (grub_mkimage_CFLAGS): Likewise.
26093 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26094 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26095 (grub_mkimage_SOURCES): Removed.
26096 (grub_mkimage_CFLAGS): Likewise.
26097 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26098 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26099 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26100 (grub_pe32_optional_header): ... this.
26101 (grub_pe64_optional_header): ... and this. All users updated.
26102 (GRUB_PE32_PE32_MAGIC): Split into ..
26103 (GRUB_PE32_PE32_MAGIC): .. this.
26104 (GRUB_PE32_PE64_MAGIC): .. and this.
26105 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26106 * include/grub/elf.h (PT_GNU_STACK): New definition.
26107 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26108 * include/grub/i386/efi/kernel.h: Likewise.
26109 * include/grub/i386/kernel.h: Likewise.
26110 * include/grub/i386/pc/kernel.h: Likewise.
26111 * include/grub/i386/qemu/boot.h: Likewise.
26112 * include/grub/mips/kernel.h: Likewise.
26113 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26114 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26115 * include/grub/powerpc/kernel.h: Likewise.
26116 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26117 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26118 * include/grub/sparc64/kernel.h: Likewise.
26119 * include/grub/x86_64/efi/kernel.h: Likewise.
26120 * include/grub/x86_64/kernel.h: Likewise.
26121 * include/grub/offsets.h: New file.
26122 * include/grub/kernel.h (grub_module_info): Split into ...
26123 (grub_module_info32): ... this.
26124 (grub_module_info64): ... and this.
26125 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26126 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26127 (grub_boot_blocklist): Moved from here ...
26128 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26129 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26130 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26131 * include/grub/types.h (grub_target_to_host16): Removed.
26132 (grub_target_to_host32): Likewise.
26133 (grub_target_to_host64): Likewise.
26134 (grub_host_to_target16): Likewise.
26135 (grub_host_to_target32): Likewise.
26136 (grub_host_to_target64): Likewise.
26137 (grub_host_to_target_addr): Likewise.
26138
26139 Support grub-mkrescue for efi, coreboot and qemu.
26140
26141 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26142 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26143 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26144 * util/grub-mkrawimage.c: Moved from here ...
26145 * util/grub-mkimage.c: ... here. All users updated.
26146 (ALIGN_ADDR): Use image_target.
26147 (TARGET_NO_FIELD): New const.
26148 (image_target_desc): New type.
26149 (image_targets): New array.
26150 (grub_target_to_host64): Use image_target.
26151 (grub_target_to_host32): Likewise.
26152 (grub_target_to_host16): Likewise.
26153 (grub_host_to_target64): Likewise.
26154 (grub_host_to_target32): Likewise.
26155 (grub_host_to_target16): Likewise.
26156 (grub_host_to_target_addr): Likewise.
26157 (generate_image): Handle multiimage.
26158 (main): Require -O parameter. All users updated.
26159 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26160 util/efi/grub-mkimage.c
26161 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26162 New option --rom-directory.
26163 Use xorriso.
26164 * util/i386/efi/grub-mkimage.c: Removed.
26165 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26166 (grub_target_to_host32): Likewise.
26167 (grub_target_to_host64): Likewise.
26168 (grub_host_to_target16): Likewise.
26169 (grub_host_to_target32): Likewise.
26170 (grub_host_to_target64): Likewise.
26171 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26172 (grub_target_to_host32): Likewise.
26173 (grub_target_to_host64): Likewise.
26174 (grub_host_to_target16): Likewise.
26175 (grub_host_to_target32): Likewise.
26176 (grub_host_to_target64): Likewise.
26177
f4fc97d0
BC
261782010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26179
26180 Source tree is reorganized for emu build.
26181
26182 * include/grub/util/console.h: Move from here...
26183 * include/grub/emu/console.h: ...to here.
26184 * include/grub/util/getroot.h: Move from here...
26185 * include/grub/emu/getroot.h: ...to here.
26186 * include/grub/util/hostdisk.h: Move from here...
26187 * include/grub/emu/hostdisk.h: ...to here.
26188 * util/console.c: Move from here...
26189 * kern/emu/console.c: ...to here.
26190 * util/getroot.c: Move from here...
26191 * kern/emu/getroot.c: ...to here.
26192 * util/grub-emu.c: Move from here...
26193 * kern/emu/main.c: ...to here.
26194 * util/hostdisk.c: Move from here...
26195 * kern/emu/hostdisk.c: ...to here.
26196 * util/hostfs.c: Move from here...
26197 * kern/emu/hostfs.c: ...to here.
26198 * util/mm.c: Move from here...
26199 * kern/emu/mm.c: ...to here.
26200 * util/pci.c: Move from here...
26201 * bus/emu/pci.c: ...to here.
26202 * util/sdl.c: Move from here...
26203 * video/emu/sdl.c: ...to here.
26204 * util/time.c: Move from here...
26205 * kern/emu/time.c: ...to here.
26206 * util/usb.c: Move from here...
26207 * bus/usb/emu/usb.c: ...to here.
26208
26209 * include/grub/emu/misc.h: New header for grub-emu functions.
26210 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26211
26212 * conf/any-emu.rmk: Rule updates for above renames.
26213 * conf/common.rmk: Likewise.
26214 * conf/i386-pc.rmk: Likewise.
26215 * conf/i386-qemu.rmk: Likewise.
26216 * conf/mips.rmk: Likewise.
26217 * conf/sparc64-ieee1275.rmk: Likewise.
26218 * conf/x86-efi.rmk: Likewise.
26219
26220 * disk/lvm.h: #include updates for above renames.
26221 * util/grub-mkrelpath.c: Likewise.
26222 * util/grub-probe.c: Likewise.
26223 * util/i386/pc/grub-setup.c: Likewise.
26224 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26225 * kern/emu/console.c: Likewise.
26226 * kern/emu/getroot.c: Likewise.
26227 * kern/emu/hostdisk.c: Likewise.
26228 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26229
26230 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26231 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26232 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26233 * util/misc.c: Remove grub-emu functions.
26234
cced9145
VS
262352010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26236
26237 Fix gfxmenu crash.
26238 Reported by: Thorsten Grützmacher.
26239
26240 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26241 timeout hook.
26242 (circprog_set_property): Register and unregister timeout hook.
26243 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26244 (label_destroy): Free template. and unregister hook.
26245 (label_set_state): New function.
26246 (label_set_property): Handle templates and hooks.
26247 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26248 timeout hook.
26249 (progress_bar_set_property): Register and unregister timeout hook.
26250 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26251 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26252 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26253 (update_timeout_visit): Removed.
26254 (update_timeouts): New function.
26255 (redraw_timeouts): Likewise.
26256 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26257 (grub_gfxmenu_clear_timeout): Likewise.
26258 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26259 (grub_gfxmenu_timeout_notify): Likewise.
26260 (grub_gfxmenu_timeout_notifications): New external variable.
26261 (grub_gfxmenu_timeout_register): New function.
26262 (grub_gfxmenu_timeout_unregister): Likewise.
26263
c6e5caab
VS
262642010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26265
26266 Transform (broken) vga terminal into (working) vga video driver.
26267
26268 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26269 video/i386/pc/vga.c.
26270 * include/grub/video.h (grub_video_driver_id):
26271 Add GRUB_VIDEO_DRIVER_VGA.
26272 * term/i386/pc/vga.c: Renamed to ...
26273 * video/i386/pc/vga.c: ...this
26274 (DEBUG_VGA): Removed.
26275 (CHAR_WIDTH): Likewise.
26276 (CHAR_HEIGHT): Likewise.
26277 (TEXT_WIDTH): Likewise.
26278 (TEXT_HEIGHT): Likewise.
26279 (DEFAULT_FG_COLOR): Likewise.
26280 (DEFAULT_BG_COLOR): Likewise.
26281 (colored_char): Likewise.
26282 (xpos): Likewise.
26283 (ypos): Likewise.
26284 (cursor_state): Likewise.
26285 (fg_color): Likewise.
26286 (bg_color): Likewise.
26287 (text_buf): Likewise.
26288 (page): Likewise.
26289 (font): Likewise.
26290 (framebuffer): New variable.
26291 (set_read_map): Disabled.
26292 (setup): New variable.
26293 (is_target): Likewise.
26294 (grub_vga_mod_init): Likewise.
26295 (grub_vga_mod_fini): Likewise.
26296 (check_vga_mem): Likewise.
26297 (write_char): Likewise.
26298 (write_cursor): Likewise.
26299 (scroll_up): Likewise.
26300 (grub_vga_putchar): Likewise.
26301 (grub_vga_getcharwidth): Likewise.
26302 (grub_vga_getwh): Likewise.
26303 (grub_vga_getxy): Likewise.
26304 (grub_vga_gotoxy): Likewise.
26305 (grub_vga_cls): Likewise.
26306 (grub_vga_setcolorstate): Likewise.
26307 (grub_vga_setcursor): Likewise.
26308 (grub_video_vga_init): New function.
26309 (grub_video_vga_setup): Likewise.
26310 (grub_video_vga_fini): Likewise.
26311 (update_target): Likewise.
26312 (grub_video_vga_blit_bitmap): Likewise.
26313 (grub_video_vga_blit_render_target): Likewise.
26314 (grub_video_vga_set_active_render_target): Likewise.
26315 (grub_video_vga_get_active_render_target): Likewise.
26316 (grub_video_vga_swap_buffers): Likewise.
26317 (grub_video_vga_set_palette): Likewise.
26318 (grub_video_vga_get_info_and_fini): Likewise.
26319 (grub_vga_term): Removed.
26320 (grub_video_vga_adapter): New variable.
26321 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26322 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26323
2bf61a98
VS
263242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26325
26326 * video/readers/jpeg.c: Indented.
26327
09ddcd11
VS
263282010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26329
26330 Various jpeg cleanups.
26331
26332 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26333 (grub_jpeg_decode_quan_table): Use sizeof.
26334 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26335
e5507505
PH
263362010-05-05 Peter Hurley <No e-mail available> (tiny change)
26337
26338 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26339 tables. Ignore non-last ac bit.
26340 (grub_jpeg_decode_quan_table): Likewise.
26341
7e720a9b
VS
263422010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26343
26344 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26345 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26346 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26347 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26348 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26349 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26350
a7fc080b
VS
263512010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26352
26353 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26354 error.
26355
2bf6012d
VS
263562010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26357
26358 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26359
265d68cd
VS
263602010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26361
26362 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26363 condition.
26364
263652010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26366
26367 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26368 part.
26369
265d68cd 263702010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26371
26372 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26373 pointers.
26374
265d68cd 263752010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26376
26377 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26378
d1b61374
CF
263792010-05-01 Christian Franke <franke@computer.org>
26380
26381 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26382 Remove broken Cygwin path conversion.
26383 * util/misc.c: [__CYGWIN__] Add include and define.
26384 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26385 for Cygwin 1.7.
26386 (make_system_path_relative_to_its_root): Simplify loop, replace early
26387 return by break.
26388 [__CYGWIN__] Add conversion to win32 path.
26389 Include "/" case in trailing slash removal.
26390
3558c6e9
VS
263912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26392
26393 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26394 Reported by: Seth Goldberg
26395
f5f3ff93
VS
263962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26397
26398 * commands/help.c (grub_cmd_help): Fix a typo.
26399 Reported by: Seth Goldberg
26400
d8b5cd40
VS
264012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26402
26403 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26404 name and add N_.
26405 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26406 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26407 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26408 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26409 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26410 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26411 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26412 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26413 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26414 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26415 * normal/context.c (GRUB_MOD_INIT): Likewise.
26416 * normal/main.c (GRUB_MOD_INIT): Likewise.
26417 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26418 * term/serial.c (GRUB_MOD_INIT): Likewise.
26419 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26420
88c14915
VS
264212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26422
26423 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26424 extra == 0.
26425
165134bc
VS
264262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26427
26428 * commands/iorw.c: New file.
26429 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26430 (iorw_mod_SOURCES): New variable.
26431 (iorw_mod_CFLAGS): Likewise.
26432 (iorw_mod_LDFLAGS): Likewise.
26433
c5ac9b32
VS
264342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26435
26436 Hotkey support
26437
26438 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26439 * normal/main.c (hotkey_aliases): New variable.
26440 (grub_normal_add_menu_entry): Parse "--hotkey".
26441 * normal/menu_text.c (run_menu): Handle hotkeys.
26442
ce60689c
VS
264432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26444
26445 * kern/i386/coreboot/init.c (grub_machine_init): Call
26446 grub_machine_mmap_init on qemu.
26447
0359d006
VS
264482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26449
26450 * boot/i386/qemu/boot.S: Add a missing .code16.
26451
7819a456
VS
264522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26453
26454 Use LBIO on coreboot.
26455
26456 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26457 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26458 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26459 New declaration.
26460 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26461 grub_machine_mmap_init on coreboot.
26462 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26463 GRUB_LINUXBIOS_MEMBER_LINK.
26464 (grub_machine_mmap_iterate): Fix declaration.
26465 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26466
7210dca9
VS
264672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26468
26469 Split coreboot and multiboot ports.
26470
26471 * conf/i386-multiboot.rmk: New file.
26472 * configure.ac: Add multiboot port.
26473 * include/grub/i386/multiboot/boot.h: New file.
26474 * include/grub/i386/multiboot/console.h: Likewise.
26475 * include/grub/i386/multiboot/init.h: Likewise.
26476 * include/grub/i386/multiboot/kernel.h: Likewise.
26477 * include/grub/i386/multiboot/loader.h: Likewise.
26478 * include/grub/i386/multiboot/memory.h: Likewise.
26479 * include/grub/i386/multiboot/serial.h: Likewise.
26480 * include/grub/i386/multiboot/time.h: Likewise.
26481 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26482 * loader/multiboot.c: Likewise.
26483 * loader/multiboot_mbi2.c: Likewise.
26484 * util/grub-mkrescue.in: Generate multiboot rescue.
26485
6f8aaf68
VS
264862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26487
3080f7a7
VS
26488 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26489
264902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26491
26492 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26493
26494 * commands/terminal.c (abstract_terminal): New struct.
26495 (handle_command): New function. Based on grub_cmd_terminal_input.
26496 (grub_cmd_terminal_input): Use handle_command.
26497 (grub_cmd_terminal_output): Use handle_command.
26498
a8ebb841
BC
264992010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26500
26501 Fix comment handling.
26502
26503 * tests/grub_script_comments.in: New testcase.
26504 * conf/tests.rmk: Rules for new testcase.
26505 * script/yylex.l: Updated flex rules.
26506
bb06ba08
ST
265072010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26508
26509 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26510 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26511 if argc is 1.
bb06ba08 26512
cc9d2425
VS
265132010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26514
26515 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26516 autogen issues.
26517
460d8402
CF
265182010-04-26 Christian Franke <franke@computer.org>
26519
26520 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26521 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26522 (grub_get_prefix): Remove function.
26523 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26524 make_system_path_relative_to_its_root ().
26525 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26526
553c01f9
CF
265272010-04-24 Christian Franke <franke@computer.org>
26528
26529 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26530 (kernel_img_LDFLAGS): Remove -static-libgcc.
26531
2aec1692
CF
265322010-04-24 Christian Franke <franke@computer.org>
26533
26534 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26535 and CHECK_END_SYMBOL if grub-emu is built.
26536 Unset TARGET_OBJ2ELF if grub-emu is built
26537 without module support.
26538
f67dc308
JS
265392010-04-24 Jiro SEKIBA <jir@unicus.jp>
26540
26541 Nilfs2 support.
26542
26543 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26544 (grub_fstest_SOURCES): Likewise.
26545 (pkglib_MODULES): Add nilfs2.mod.
26546 (nilfs2_mod_SOURCES): New variable.
26547 (nilfs2_mod_CFLAGS): Likewise.
26548 (nilfs2_mod_LDFLAGS): Likewise.
26549 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26550 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26551 * fs/nilfs2.c: New file.
26552
4ba8d354
VS
265532010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26554
26555 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26556 is not supported.
26557
0d2c20c6
GS
265582010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26559
26560 Add grub-mkconfig support for NetBSD.
26561
26562 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26563 * util/grub-mkconfig.in: export new NetBSD specific variables.
26564 * po/POTFILES-shell: added 10_netbsd.in.
26565 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26566
bc4a2d83
BC
265672010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26568
26569 Fix emu build with grub-emu-pci and grub-emu-modules.
26570
26571 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26572 functions.
26573 * include/grub/libpciaccess.h: New file.
26574 * conf/any-emu.rmk: Update kernel headers for emu build.
26575
f48c87aa
VS
265762010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26577
26578 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26579
18959385
VS
265802010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26581
26582 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26583
0037de3f
VS
265842010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26585
26586 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26587 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26588 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26589 util/ieee1275/ofpath.c.
26590 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26591 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26592 * include/grub/sparc64/ieee1275/boot.h
26593 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26594 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26595 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26596 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26597 const char *.
26598 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26599 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26600 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26601 install.
26602
38e55e90
GS
266032010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26604
26605 * util/grub-mkconfig.in: Corrected two == equality tests.
26606 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26607 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26608 expect a number appended to it.
26609 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26610 expects a number appended to it.
26611
a9e6ff28
VS
266122010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26613
26614 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26615
0b830b8f
VS
266162010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26617
26618 * util/hostdisk.c (make_device_name): Change to new partition naming.
26619
0973daeb
VS
266202010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26621
26622 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26623
460d8402 266242010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
26625
26626 * Makefile.in: Add missing localedir setting.
26627
0b456309
CW
266282010-04-14 Colin Watson <cjwatson@ubuntu.com>
26629
26630 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26631 mistake in r2156. Noticed by Anthony Fok.
26632
26633 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26634 @localedir@.
26635 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26636
08f46d62
BC
266372010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26638
26639 Fix a spurious, uninitialized variable warning.
26640
26641 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26642 Initialize variable, shdr.
26643 (grub_freebsd_load_elfmodule): Likewise.
26644 (grub_freebsd_load_elf_meta): Likewise.
26645
8c4a72d4
BC
266462010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26647
26648 Fix for escaped dollar in double quoted strings.
26649
26650 * script/yylex.l: Updated flex rules.
26651 * conf/tests.rmk: Rule for new testcase.
26652 * tests/grub_script_dollar.in: New testcase.
26653
ce44826e
CPE
266542010-04-13 Carles Pina i Estany <carles@pina.cat>
266552010-04-13 Colin Watson <cjwatson@ubuntu.com>
26656
26657 Enclose all translated strings in grub.cfg in single quotes, and
26658 escape them appropriately (Ubuntu bug #552921).
26659
26660 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26661 * util/grub.d/10_hurd.in: Use it.
26662 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26663 * util/grub.d/10_linux.in (linux_entry): Likewise.
26664
4b0cd8f8
VS
266652010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26666
26667 Fix cygwin compilation.
26668
26669 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26670 * include/grub/misc.h (__register_frame_info)
26671 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26672 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26673 * kern/misc.c (__register_frame_info)
26674 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26675 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26676
01fcf061
VS
266772010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26678
26679 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26680
5d04b11e
VS
266812010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26682
26683 Unify libgcc processing.
26684
26685 * Makefile.in (kernel_img_LDFLAGS): New variable.
26686 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26687 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26688 overwriting.
26689 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26690 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26691 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
26692 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
26693 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
26694 overwriting. Remove -lgcc and -static-libgcc
26695 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
26696 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26697 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26698 (kernel_img_LDFLAGS): Append instead of overwriting.
26699 Remove -lgcc and -static-libgcc
26700 * conf/sparc64-ieee1275.rmk: Likewise.
26701 * include/grub/powerpc/libgcc.h: Move to ...
26702 * include/grub/libgcc.h: .. this.
26703 * include/grub/libgcc.h: Don't export most of the function on x86.
26704 (__bswapsi2): New export.
26705 (__bswapdi2): Likewise.
26706 * include/grub/mips/libgcc.h: Removed.
26707 * include/grub/sparc64/libgcc.h: Likewise.
26708
b7f3ac29
VS
267092010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26710
26711 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
26712 disk_info_msg (conflicts with gettexting into languages with cases).
26713
2c7031b1
GS
267142010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
26715
26716 Add grub-probe support for NetBSD.
26717
26718 * util/getroot.c (find_root_device): Convert block device to
26719 character device on NetBSD.
26720 * util/probe.c (probe): Require character device on NetBSD.
26721 * util/hostdisk.c: NetBSD specific headers.
26722 (configure_device_driver): new function to tune device driver
26723 parameters (currently only for NetBSD floppy driver).
26724 (grub_util_biosdisk_open): NetBSD specific code (get disk size
26725 via disklabel ioctl).
26726 (open_device): call configure_device_driver on NetBSD.
26727 (convert_system_partition_to_system_disk): NetBSD specific code.
26728 (device_is_wholedisk): Likewise.
26729 (grub_util_biosdisk_get_grub_dev): Likewise.
26730 (make_device_name): Fixed a typo in bsd_part_str.
26731 * configure.ac: check for opendisk() and getrawpartition() on
26732 NetBSD and set LIBUTIL.
26733 * Makefile.in: add LIBUTIL to LIBS.
26734
f516290c
BC
267352010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26736
26737 Documentation fix.
26738
26739 * util/grub-script-check.c: Better help message.
26740
d8dcc0df
BC
267412010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26742
26743 Fix FreeBSD build.
26744
26745 * configure.ac: Flex version check.
26746 * conf/common.rmk: Add -Wno-error to sh.mod.
26747 * script/yylex.l: Remove all #pragma.
26748
6734334a
VS
267492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26750
26751 * include/grub/util/misc.h (canonicalise_file_name): Add missing
26752 prototype.
26753 Reported by: Seth Goldberg.
26754
daea6abd
VS
267552010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26756
26757 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
26758 Rename "module" to "module2".
26759 Reported by: Seth Goldberg.
26760
f2fd9d2b
VS
267612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26762
26763 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
26764 EXPORT_FUNC.
26765 Reported by: Seth Goldberg.
26766
be124579
VS
267672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26768
26769 * lib/posix_wrap/locale.h: Add missing file.
26770 Reported by: Seth Goldberg.
26771
ef5da797
VS
267722010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26773
26774 grub-emu module load support.
26775
26776 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
26777 NO_DYNAMIC_MODULES switched to this.
26778 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
26779 (CFLAGS): Likewise.
26780 * conf/any-emu.rmk: Generate symlist.
26781 (kernel_img_HEADERS): Add util/datetime.h.
26782 (kernel_img_HEADERS) [sdl]: Add sdl.h.
26783 (kernel_img_HEADERS) [libusb]: Add libusb.h.
26784 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
26785 kern/$(target_cpu)/cache.S.
26786 * configure.ac (grub-emu-modules): New option.
26787 * genmk.rb: Handle multiple source lists.
26788 * include/grub/sdl.h: New file.
26789 * include/grub/libusb.h: Likewise.
26790 * util/grub-emu.c (main): Hanle (host) root.
26791 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
26792 GRUB_ERR_UNKNOWN_DEVICE.
26793 * util/misc.c: Move mm functions to ...
26794 * util/mm.c: ... here. All users updated.
26795
47822096
VS
267962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26797
26798 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
26799 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
26800 missing files.
26801 (maintainer-clean): Remove libgcrypt-grub.
26802
5d7e7445
VS
268032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26804
26805 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
26806
25f4e252
EC
268072010-04-09 EFI Coder <eficoder@hotmail.com>
26808
26809 * normal/menu_text.c (print_message): Clean up the message and show
26810 the Fn information when on EFI
26811 * term/efi/console.c (grub_console_checkkey): Add F4 support.
26812
027de555
VS
268132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26814
26815 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
26816 All users updated.
26817 * normal/crypto.c (read_crypto_list): Likewise.
26818 * normal/dyncmd.c (read_command_list): Likewise.
26819 * normal/term.c (read_terminal_list): Likewise.
26820 * normal/main.c (read_lists): Use explicit prefix.
26821 (read_lists_hook): Use read_lists.
26822 (grub_normal_execute): Likewise.
26823
47779711
VS
268242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26825
26826 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
26827 Reported by: Thomas Schmitt.
26828 Add -no-emul-boot to grub-mkisofs parameters.
26829
1118c32e
VS
268302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26831
26832 * font/font.c: Indented.
26833
7d652447
BC
268342010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26835
26836 Elif support to GRUB script (by Deepak Vankadaru).
26837
26838 * tests/grub_script_if.in: New testcase.
26839 * conf/tests.rmk: Rule for new testcase.
26840 * script/parser.y: Grammar rules for elif.
26841
34bb22df
BC
268422010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
26843
26844 While and until loops support to GRUB script.
26845
26846 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
26847 (grub_script_create_cmdwhile): New function prototype.
26848 (grub_script_execute_cmdwhile): New function prototype.
26849 * script/execute.c (grub_script_execute_cmdwhile): New function.
26850 * script/parser.y (command): New commands.
26851 (whilecmd): New grammar rule.
26852 (untilcmd): New grammar rule.
26853 * script/script.c (grub_script_create_cmdwhile): New function.
26854 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
26855 function.
26856
26857 * tests/grub_script_while1.in: New testcase.
26858 * conf/tests.rmk: Rule for new testcase.
26859
e215d8e0
VS
268602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26861
26862 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
26863 as *.jpg.
26864
d7c43ba1
MV
268652010-04-09 Mario Vazquez <mariovazq@gmail.com>
26866
26867 GRUB_BACKGROUND support.
26868
26869 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
26870 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
26871
d64795c0
VS
268722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26873
26874 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 26875 Idea by: Mario Vazquez
d64795c0
VS
26876
26877 * util/grub.d/00_header.in: Load pf2 and image modules.
26878
f267f83a
VS
268792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26880
26881 grub-mkconfig multiple terminal support.
26882
26883 * util/grub-mkconfig.in: Handle multiple terminals correctly.
26884 * util/grub.d/00_header.in: Likewise.
26885
b7841ceb
VS
268862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26887
26888 * Makefile.in: Specify files explicitly instead of using $< and $@ since
26889 we use cd $(srcdir).
26890
df60998c
CW
268912010-04-08 Colin Watson <cjwatson@ubuntu.com>
26892
26893 * util/grub.d/10_linux.in: Only use the first word of
26894 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
26895 spaces in GRUB_DISTRIBUTOR.
26896 * util/grub.d/10_kfreebsd.in: Likewise.
26897 * util/grub.d/10_hurd.in: Likewise.
26898
fa09c82e
BC
268992010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
26900
14e18ae3 26901 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
26902
26903 * tests/util/grub-shell.in: Remove -serial stdio option.
26904
daf892b3
BC
269052010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
26906
26907 POSIX header file wrappers.
26908
26909 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
26910 equivalents.
26911 * lib/posix_wrap/ctype.h: Likewise.
26912 * lib/posix_wrap/errno.h: Likewise.
26913 * lib/posix_wrap/langinfo.h: Likewise.
26914 * lib/posix_wrap/limits.h: Likewise.
26915 * lib/posix_wrap/localcharset.h: Likewise.
26916 * lib/posix_wrap/stdint.h: Likewise.
26917 * lib/posix_wrap/stdio.h: Likewise.
26918 * lib/posix_wrap/stdlib.h: Likewise.
26919 * lib/posix_wrap/string.h: Likewise.
26920 * lib/posix_wrap/sys/types.h: Likewise.
26921 * lib/posix_wrap/unistd.h: Likewise.
26922 * lib/posix_wrap/wchar.h: Likewise.
26923 * lib/posix_wrap/wctype.h: Likewise.
26924 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
26925 (grub_script.yy.h): Likewise.
26926 * script/yylex.l: Remove POSIX emulation #defines.
26927 * Makefile.in (POSIX_CFLAGS): New variable.
26928 (GNULIB_UTIL_CFLAGS): Likewise.
26929
26930 Regexp support.
26931
26932 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
26933 (regexp_mod_SOURCES): New variable.
26934 (regexp_mod_CFLAGS): Likewise.
26935 (regexp_mod_LDFLAGS): Likewise.
26936 * commands/regexp.c: New file.
26937 * gnulib/regcomp.c: New file. Imported from gnulib.
26938 * gnulib/regex.c: Likewise.
26939 * gnulib/regex_internal.c: Likewise.
26940 * gnulib/regex_internal.h: Likewise.
26941 * gnulib/regexec.c: Likewise.
26942 * gnulib/regex.h: Likewise.
26943
974ac4f7
VS
269442010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26945
26946 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
26947 unsupported video mode types.
26948
2622c3ff
VS
269492010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26950
26951 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
26952
064cb524
VS
269532010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26954
26955 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
26956 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
26957
a8c3b552
VS
269582010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26959
26960 Remove unused grub_vga_get_font.
26961
26962 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
26963 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
26964
187bbe3d
GS
269652010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26966
26967 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
26968 * include/grub/misc.h: Likewise.
26969
b9396631
GS
269702010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26971
26972 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
26973 for which failure is fatal.
26974
50479feb
GS
269752010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26976
26977 * util/grub-install.in: Use mkdir -p to create grub directory.
26978 * util/i386/efi/grub-install.in: Likewise.
26979 * util/ieee1275/grub-install.in: Likewise.
26980
b1654fdf
GS
269812010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26982
26983 * Makefile.in (LEX): new variable.
26984
bd5a6415
GS
269852010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
26986
26987 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
26988 `=' and added double quotes on operands of this equality test.
26989
3db3a82b
VS
269902010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 * Makefile.in (uninstall): Remove a leftover debug echo.
26993 Reported by: Grégoire Sutre
26994
38023412
VS
269952010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
26996
26997 MIPS multiboot2 support.
26998
26999 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27000 (multiboot2_mod_SOURCES): New variable.
27001 (multiboot2_mod_CFLAGS): Likewise.
27002 (multiboot2_mod_LDFLAGS): Likewise.
27003 (multiboot2_mod_ASFLAGS): Likewise.
27004 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27005 definition.
27006 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27007 (MULTIBOOT_MBI_REGISTER): Likewise.
27008 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27009 (MULTIBOOT_ELF32_MACHINE): Likewise.
27010 (MULTIBOOT_ELF64_MACHINE): Likewise.
27011 * include/grub/mips/multiboot.h: New file.
27012 * include/grub/video.h (grub_video_driver_id): New type
27013 GRUB_VIDEO_DRIVER_SM712.
27014 (grub_video_get_info_and_fini): Export.
27015 (grub_video_get_palette): Likewise.
27016 (grub_video_get_driver_id): Likewise.
27017 * include/multiboot2.h: Resynced with spec.
27018 * loader/i386/multiboot.c: Moved from here ...
27019 * loader/multiboot.c: ... here. All users updated.
27020 (grub_multiboot_boot): Use platform-specific macros.
27021 * loader/i386/multiboot_elfxx.c: Moved from here ...
27022 * loader/multiboot_elfxx.c: ... here. All users updated.
27023 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27024 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27025 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27026
47674667
VS
270272010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27028
27029 Import gnulib argp module.
27030
27031 * gnulib/argp-ba.c: New file.
27032 * gnulib/argp-eexst.c: Likewise.
27033 * gnulib/argp-fmtstream.c: Likewise.
27034 * gnulib/argp-fmtstream.h: Likewise.
27035 * gnulib/argp-fs-xinl.c: Likewise.
27036 * gnulib/argp-help.c: Likewise.
27037 * gnulib/argp-namefrob.h: Likewise.
27038 * gnulib/argp-parse.c: Likewise.
27039 * gnulib/argp-pin.c: Likewise.
27040 * gnulib/argp-pv.c: Likewise.
27041 * gnulib/argp-pvh.c: Likewise.
27042 * gnulib/argp-version-etc.c: Likewise.
27043 * gnulib/argp-version-etc.h: Likewise.
27044 * gnulib/argp-xinl.c: Likewise.
27045 * gnulib/argp.h: Likewise.
27046
495442ed
VS
270472010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27048
27049 * kern/device.c (grub_device_iterate): Clear errors after failed
27050 opening device.
27051
f9fd65df
VS
270522010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27053
27054 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27055 returned by firmware.
27056
af09641e
VS
270572010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27058
27059 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27060 compilation on coreboot and qemu
27061
016883a5
VS
270622010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27063
27064 * include/multiboot2.h: Resync with spec.
27065
f97e1f7d
VS
270662010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27067
27068 Multiboot2 tag support
27069
27070 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27071 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27072 Remove loader/multiboot_loader.c.
27073 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27074 (grub_multiboot2_real_boot): Likewise.
27075 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27076 (grub_get_multiboot_mmap_count): New proto.
27077 (grub_fill_multiboot_mmap): Likewise.
27078 (grub_multiboot_set_video_mode): Likewise.
27079 (grub_multiboot_set_console): Likewise.
27080 (grub_multiboot_load): Likewise.
27081 (grub_multiboot_load_elf): Likewise.
27082 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27083 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27084 * include/multiboot.h: Resynced with specification.
27085 * include/multiboot2.h: Resynced with specification.
27086 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27087 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27088 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27089 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27090 users updated.
27091 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27092 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27093 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27094 Removed.
27095 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27096 Moved from here...
27097 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27098 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27099 Moved from here...
27100 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27101 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27102 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27103 All users updated.
27104 * loader/i386/multiboot_mbi2.c: New file.
27105
3506b90b
VS
271062010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27107
27108 Resync with gnulib.
27109
27110 * Makefile.in (GNULIB_CFLAGS): New variable.
27111 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27112 (grub_script_check_CFLAGS): New variable.
27113 * gnulib/alloca.h: Resync with gnulib.
27114 * gnulib/error.c: Likewise.
27115 * gnulib/error.h: Likewise.
27116 * gnulib/fnmatch.c: Likewise.
27117 * gnulib/fnmatch_loop.c: Likewise.
27118 * gnulib/getdelim.c: Likewise.
27119 * gnulib/getline.c: Likewise.
27120 * gnulib/getopt.c: Likewise.
27121 * gnulib/getopt1.c: Likewise.
27122 * gnulib/getopt_int.h: Likewise.
27123 * gnulib/gettext.h: Likewise.
27124 * gnulib/progname.c: Likewise.
27125 * gnulib/progname.h: Likewise.
27126
394a3120
GS
271272010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27128
27129 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27130 which is the case with --disabled-nls.
27131
27132 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27133 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27134 * util/misc.c: Likewise.
27135 * util/mkisofs/mkisofs.c: Likewise.
27136 * util/mkisofs/mkisofs.h: Likewise.
27137
969d1c78
VS
271382010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27139
27140 Simplify Apple CC support.
27141
27142 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27143 Add 0 byte at the end not to have a symbol with empty target.
27144 * mmap/i386/pc/mmap_helper.S: Likewise.
27145 * genmk.rb: Ignore errors 2030 and 2050.
27146 * kern/i386/pc/startup.S: Use LOCAL when possible.
27147
8d2977bb
BC
271482010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27149
27150 Testcase and the fix for final semicolon on cmdline.
27151
27152 * tests/grub_script_final_semicolon.in: New testcase.
27153 * conf/tests.rmk: Rules for the new testcase.
27154 * script/parser.y: Grammar fix.
27155
a7bd6915
BC
271562010-03-26 BVK Chaitanya <bvk@localhost>
27157
27158 Blank lines testcase for GRUB script.
27159
27160 * tests/grub_script_blanklines.in: New testcase.
27161 * conf/tests.rmk: Rules for the new testcase.
27162
e4ff6628
VS
271632010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27164
27165 Don't use __FILE__.
27166
27167 * genmk.rb: Add -DGRUB_FILE to all C targets.
27168 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27169 * include/grub/list.h: Likewise.
27170 * include/grub/misc.h: Likewise.
27171 * include/grub/mm.h: Likewise.
27172 * include/grub/test.h: Likewise.
27173 * kern/mm.c: Likewise.
27174 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27175
6a5cf6b6
VS
271762010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27177
27178 Sunpc partitions support.
27179
27180 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27181 (grub_fstest_SOURCES): Likewise.
27182 (pkglib_MODULES): Add part_sunpc.mod.
27183 (part_sunpc_mod_SOURCES): New variable.
27184 (part_sunpc_mod_CFLAGS): Likewise.
27185 (part_sunpc_mod_LDFLAGS): Likewise.
27186 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27187 * partmap/sunpc.c: New file.
27188
746d9045
BC
271892010-03-26 BVK Chaitanya <bvk@localhost>
27190
27191 For loop support to GRUB script.
27192
27193 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27194 (grub_script_create_cmdfor): New function prototype.
27195 (grub_script_execute_cmdfor): New function prototype.
27196 * script/execute.c (grub_script_execute_cmdfor): New function.
27197 * script/parser.y (command): New for command.
27198 (forcmd): New grammar rule.
27199 * script/script.c (grub_script_create_cmdfor): New function.
27200 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27201 function.
27202 * tests/grub_script_for1.in: New testcase.
27203 * conf/tests.rmk: Rules for new testcase.
27204
18486b18
VS
272052010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27206
27207 Nested partitions
27208
27209 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27210 'partition' is NULL, grub_partition_get_start already does that.
27211 * commands/loadenv.c (check_blocklists): Likewise.
27212 (write_blocklists): Likewise.
27213 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27214 (grub_fstest_SOURCES): Likewise.
27215 (pkglib_MODULES): Add part_bsd.mod.
27216 (part_bsd_mod_SOURCES): New variable.
27217 (part_bsd_mod_CFLAGS): Likewise.
27218 (part_bsd_mod_LDFLAGS): Likewise.
27219 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27220 (grub_emu_SOURCES): Likewise.
27221 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27222 * include/grub/bsdlabel.h: New file.
27223 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27224 'get_name'.
27225 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27226 (grub_partition_map_list): New variable.
27227 (grub_partition_map_register): Inline.
27228 (grub_partition_map_unregister): Likewise.
27229 (FOR_PARTITION_MAPS): New macro.
27230 (grub_partition_map_iterate): Removed.
27231 (grub_partition_get_start): Handle nested partitions.
27232 * include/grub/msdos_partition.h: Remove bsd-related entries.
27233 (grub_pc_partition): Remove.
27234 * kern/disk.c (grub_disk_close): Free partition data.
27235 (grub_disk_adjust_range): Handle nested partitions.
27236 * kern/partition.c (grub_partition_map_probe): New function.
27237 (grub_partition_probe): Parse name to number, handle subpartitions.
27238 (get_partmap): New function.
27239 (grub_partition_iterate): Handle subpartitions.
27240 (grub_partition_get_name): Likewise.
27241 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27242 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27243 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27244 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27245 Set 'number'.
27246 (acorn_partition_map_probe): Remove.
27247 (acorn_partition_map_get_name): Likewise.
27248 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27249 Set 'number'.
27250 Set 'index' to 0 since there can be only one partition entry per sector.
27251 (amiga_partition_map_probe): Remove.
27252 (amiga_partition_map_get_name): Likewise.
27253 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27254 Set 'number'.
27255 Set 'offset' and 'index' to real positions of partitions.
27256 (apple_partition_map_probe): Remove.
27257 (apple_partition_map_get_name): Likewise.
27258 * partmap/bsdlabel.c: New file.
27259 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27260 Set 'number'.
27261 Allocate 'data' so it can be correctly freed.
27262 Set 'index' to offset inside sector.
27263 (gpt_partition_map_probe): Remove.
27264 (gpt_partition_map_get_name): Likewise.
27265 * partmap/msdos.c (grub_partition_parse): Remove.
27266 (pc_partition_map_iterate): Don't force raw access.
27267 Set 'number'.
27268 Make 'ext_offset' a local variable.
27269 (pc_partition_map_probe): Remove.
27270 (pc_partition_map_get_name): Remove.
27271 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27272 Set 'number'.
27273 (sun_partition_map_probe): Remove.
27274 (sun_partition_map_get_name): Likewise.
27275 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27276 (grub_pcpart_type): Likewise.
27277 * util/hostdisk.c (open_device): Handle new numbering scheme.
27278 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27279 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27280 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27281 * util/grub-install.in: Insert all subpartition modules.
27282 * util/ieee1275/grub-install.in: Likewise.
27283
a3940f88
AG
272842010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27285
27286 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27287 grammar.
27288
21b99926 272892010-03-24 Colin Watson <cjwatson@ubuntu.com>
27290
27291 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27292
bed1d352
CW
272932010-03-21 Colin Watson <cjwatson@ubuntu.com>
27294
27295 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27296 match where 'make install' puts them.
27297 * util/i386/efi/grub-install.in: Likewise.
27298
c9f58427
CW
272992010-03-19 Colin Watson <cjwatson@ubuntu.com>
27300
27301 * .bzrignore: Add gentrigtables, grub-script-check,
27302 grub_script_check_init.c, grub_script_check_init.h, and
27303 trigtables.c.
27304
f84afb27
VS
273052010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27306
27307 * kern/parser.c: Indented.
27308
ed0e3d30
VS
273092010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27310
27311 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27312
0ea81d98
VS
273132010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27314
27315 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27316 alpha_mask_size == 0 case.
27317
0cdc2a09
BC
273182010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27319
27320 GRUB shell lexer and parser improvements.
27321
27322 * conf/any-emu.rmk: Build rule updates.
27323 * conf/common.rmk: Likewise.
27324 * conf/i386-coreboot.rmk: Likewise.
27325 * conf/i386-efi.rmk: Likewise.
27326 * conf/i386-ieee1275.rmk: Likewise.
27327 * conf/i386-pc.rmk: Likewise.
27328 * conf/powerpc-ieee1275.rmk: Likewise.
27329 * conf/x86_64-efi.rmk: Likewise.
27330
27331 * configure.ac: Configure check for flex.
27332
27333 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27334 types.
27335 (grub_lexer_param): Struct member updates.
27336 (grub_parser_param): Likewise.
27337 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27338 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27339 (grub_script_lexer_init): Prototype update.
27340 (grub_script_lexer_record_start): Likewise.
27341 (grub_script_lexer_record_stop): Likewise.
27342 (grub_script_lexer_yywrap): New function prototype.
27343 (grub_script_lexer_fini): Likewise.
27344 (grub_script_execute_argument_to_string): Removed by...
27345 (grub_script_execute_argument_to_argv): ...better version.
27346
27347 * script/execute.c (ROUND_UPTO): New macro.
27348 (grub_script_execute_cmdline): Out of memory fixes.
27349 (grub_script_execute_menuentry): Likewise.
27350 (grub_script_execute_argument_to_string): Removed. Update all
27351 users by...
27352 (grub_script_execute_argument_to_argv): ...better version.
27353 * script/function.c (grub_script_function_create): Use
27354 grub_script_execute_argument_to_argv instead of
27355 grub_script_execute_argument_to_string.
27356
27357 * script/lexer.c (check_varstate): Removed.
27358 (check_textstate): Removed.
27359 (grub_script_lexer_record_start): Likewise.
27360 (grub_script_lexer_record_stop): Likewise.
27361 (recordchar): Replaced with...
27362 (grub_script_lexer_record): ...new function.
27363 (nextchar): Removed.
27364 (grub_script_lexer_init): Rewritten.
27365 (grub_script_yylex): Rewritten.
27366 (append_newline): New function.
27367 (grub_script_lexer_yywrap): New function.
27368 (grub_script_lexer_fini): New function.
27369 (grub_script_yyerror): Sets error flag.
27370
27371 * script/yylex.l: New file.
27372 (grub_lexer_yyfree): Wrapper for flex yyffre.
27373 (grub_lexer_yyalloc): Likewise.
27374 (grub_lexer_yyrealloc): Likewise.
27375 * script/parser.y: Refactored.
27376
27377 * script/script.c (grub_script_arg_add): Out of memory fixes.
27378 (grub_script_add_arglist): Likewise.
27379 (grub_script_create_cmdline): Likewise.
27380 (grub_script_create_cmdmenu): Likewise.
27381 (grub_script_add_cmd): Likewise.
27382 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27383 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27384 unnecessary code.
27385
27386 * tests/grub_script_echo1.in: New testcase.
27387 * tests/grub_script_vars1.in: New testcase.
27388 * tests/grub_script_echo_keywords.in: New testcase.
27389
1d63a066
VS
273902010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27391
27392 Remove some redundancy in build system.
27393
27394 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27395 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27396 (TARGET_LDFLAGS): Add -nostdlib.
27397 (TARGET_IMG_LDFLAGS): Likewise.
27398 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27399 anything since mmap isn't available.
27400 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27401 Add util/time.c.
27402 (pkglib_MODULES): Remove reboot.mod.
27403 (reboot_mod_SOURCES): Removed.
27404 (reboot_mod_CFLAGS): Likewise.
27405 (reboot_mod_LDFLAGS): Likewise.
27406 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27407 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27408 (DEFSYMFILES): Add kernel_syms.lst.
27409 (kernel_img_HEADERS): Add common headers.
27410 (symlist.c): New target.
27411 (kernel_syms.lst): Likewise.
27412 (pkglib_MODULES): Add memdisk.mod.
27413 (memdisk_mod_SOURCES): New variable.
27414 (memdisk_mod_CFLAGS): Likewise.
27415 (memdisk_mod_LDFLAGS): Likewise.
27416 (pkglib_MODULES): Add reboot.mod.
27417 (reboot_mod_SOURCES): New variable.
27418 (reboot_mod_CFLAGS): Likewise.
27419 (reboot_mod_LDFLAGS): Likewise.
27420 (pkglib_MODULES): Add date.mod.
27421 (date_mod_SOURCES): New variable.
27422 (date_mod_CFLAGS): Likewise.
27423 (date_mod_LDFLAGS): Likewise.
27424 (pkglib_MODULES): Add datehook.mod.
27425 (datehook_mod_SOURCES): New variable.
27426 (datehook_mod_CFLAGS): Likewise.
27427 (datehook_mod_LDFLAGS): Likewise.
27428 (pkglib_MODULES): Add lsmmap.mod.
27429 (lsmmap_mod_SOURCES): New variable.
27430 (lsmmap_mod_CFLAGS): Likewise.
27431 (lsmmap_mod_LDFLAGS): Likewise.
27432 (pkglib_MODULES): Add boot.mod.
27433 (boot_mod_SOURCES): New variable.
27434 (boot_mod_CFLAGS): Likewise.
27435 (boot_mod_LDFLAGS): Likewise.
27436 * conf/i386-coreboot.rmk: Removed redundant parts.
27437 * conf/i386-ieee1275.rmk: Likewise.
27438 * conf/i386-pc.rmk: Likewise.
27439 * conf/mips-yeeloong.rmk: Likewise.
27440 * conf/mips.rmk: Likewise.
27441 * conf/powerpc-ieee1275.rmk: Likewise.
27442 * conf/sparc64-ieee1275.rmk: Likewise.
27443 * conf/x86_64-efi.rmk: Likewise.
27444 * conf/i386-coreboot.rmk: Moved qemu parts ..
27445 * conf/i386-qemu.rmk: ... here
27446 * conf/i386-efi.rmk: Moved common parts to...
27447 * conf/x86-efi.rmk: ... here.
27448 * conf/i386.rmk: Added modules common to all x86 variants.
27449 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27450 * disk/memdisk.c: Remove grub/machine/kernel.h.
27451 * gensymlist.sh.in: Include symbol.h.
27452 * hook/datehook.c: Correct module name.
27453 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27454 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27455 * include/grub/i386/efi/serial.h: New file.
27456 * include/grub/x86_64/efi/serial.h: Likewise.
27457 * util/time.c: Likewise.
27458 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27459
463ac55f
CK
274602010-03-14 Colin King <colin.king@ubuntu.com>
274612010-03-14 Colin Watson <cjwatson@ubuntu.com>
27462
27463 Shrink the pre-partition-table part of boot.img by eight bytes.
27464
27465 * boot/i386/pc/boot.S (ERR): New macro.
27466 (chs_mode): Use ERR.
27467 (geometry_error): Likewise.
27468 (hd_probe_error): Remove. This is only used once, so we wrwite
27469 it inline instead.
27470 (read_error): Instead of printing read_error_string, just set up
27471 %si and fall through to ...
27472 (error_message): ... this new function, also used by ERR.
27473
08e46ede
CW
274742010-03-14 Colin Watson <cjwatson@ubuntu.com>
27475
27476 Speed up consecutive hostdisk operations on the same device.
27477
27478 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27479 (grub_util_biosdisk_open): Initialise disk->data.
27480 (struct linux_partition_cache): New structure.
27481 (linux_find_partition): Cache partition start positions; these are
27482 expensive to compute on every read and write.
27483 (open_device): Cache open file descriptor in disk->data, so that we
27484 don't have to reopen it and flush the buffer cache for consecutive
27485 operations on the same device.
27486 (grub_util_biosdisk_close): New function.
27487 (grub_util_biosdisk_dev): Set `close' member.
27488
27489 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27490 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27491 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27492 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27493 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27494
4a6d2d06
VS
274952010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27496
27497 Compile parts of grub-emu as modules.
27498
27499 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27500 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27501 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27502 (all-local): Add $(GRUB_EMU).
27503 (install-local): Install $(GRUB_EMU).
27504 (uninstall): Uninstall $(GRUB_EMU).
27505 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27506 * kern/dl.c: Likewise.
27507 * commands/sleep.c: Not include machine/time.h.
27508 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27509 (COMMON_CFLAGS): Likewise.
27510 (sbin_UTILITIES): Remove grub-emu.
27511 (grub_emu_SOURCES): Removed.
27512 (kernel_img_RELOCATABLE): New variable.
27513 (pkglib_PROGRAMS): Add kernel.img.
27514 (kernel_img_SOURCES): New variable
27515 (kernel_img_CFLAGS): Likewise.
27516 (kernel_img_LDFLAGS): Likewise.
27517 (TARGET_NO_STRIP): Likewise.
27518 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27519 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27520 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27521 (grub-emu): New target.
27522 (GRUB_EMU): New variable.
27523 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27524 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27525 * loader/xnu.c: Likewise.
27526 * include/grub/pci.h: Likewise.
27527 * genemuinit.sh: New file.
27528 * genemuinitheader.sh: Likewise.
27529 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27530 Support TARGET_NO_DYNAMIC_MODULES.
27531 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27532 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27533 * disk/loopback.c: Likewise.
27534 * font/font_cmd.c: Likewise.
27535 * partmap/acorn.c: Likewise.
27536 * partmap/amiga.c: Likewise.
27537 * partmap/apple.c: Likewise.
27538 * partmap/gpt.c: Likewise.
27539 * partmap/msdos.c: Likewise.
27540 * partmap/sun.c: Likewise.
27541 * parttool/msdospart.c: Likewise.
27542 * term/gfxterm.c: Likewise.
27543 * video/bitmap.c: Likewise.
27544 * video/readers/jpeg.c: Likewise.
27545 * video/readers/png.c: Likewise.
27546 * video/readers/tga.c: Likewise.
27547 * video/video.c: Likewise.
27548 * util/grub-emu.c (read_command_list): Removed.
27549 (main): Don't call util_init_nls.
27550 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27551 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27552
91fdd2ed
VS
275532010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27554
27555 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27556 date.mod, datehook.mod.
27557 (datetime_mod_SOURCES): New variable.
27558 (datetime_mod_CFLAGS): Likewise.
27559 (datetime_mod_LDFLAGS): Likewise.
27560 (date_mod_SOURCES): Likewise.
27561 (date_mod_CFLAGS): Likewise.
27562 (date_mod_LDFLAGS): Likewise.
27563 (datehook_mod_SOURCES): Likewise.
27564 (datehook_mod_CFLAGS): Likewise.
27565 (datehook_mod_LDFLAGS): Likewise.
27566 * conf/sparc64-ieee1275.rmk: Likewise.
27567 * lib/ieee1275/datetime.c: New file.
27568
873ccae6
VS
275692010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27570
27571 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27572 (ieee1275_fb_mod_SOURCES): New variable.
27573 (ieee1275_fb_mod_CFLAGS): Likewise.
27574 (ieee1275_fb_mod_LDFLAGS): Likewise.
27575 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27576 New proto.
27577 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27578 (HEAP_MAX_ADDR): Likewise.
27579 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27580 type.
27581 Correct stop condition.
27582 (grub_ieee1275_devices_iterate): New function.
27583 * video/ieee1275.c: New file.
27584
601c97c0
VS
275852010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27586
27587 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27588
27589 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27590 as scratch.
27591 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27592 SCRATCH_PAD_DISKBOOT as scratch.
27593 (bootit): Pass Openfirmware pointer in %o4.
27594 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27595 of 0x200000.
27596 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27597 with util/grub-mkrawimage.c.
27598 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27599 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27600 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27601 (grub_aout_load) [GRUB_UTIL]: Likewise.
27602 * include/grub/kernel.h (grub_modules_get_end): New proto.
27603 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27604 (SCRATCH_PAD_BOOT): New definition.
27605 (SCRATCH_PAD_DISKBOOT): Likewise.
27606 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27607 * include/grub/sparc64/ieee1275/ieee1275.h
27608 (grub_ieee1275_original_stack): New variable
27609 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27610 New definition
27611 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27612 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27613 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27614 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27615 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27616 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27617 (grub_platform_image_format_t): New type.
27618 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27619 * kern/main.c (grub_modules_get_end)
27620 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27621 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27622 (codestart): Switch stacks.
27623 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27624 variable.
27625 (grub_heap_init): Use grub_modules_get_end.
27626 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27627 stack.
27628 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27629 (main): Likewise.
27630 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27631
d68b491e
TG
276322010-03-14 Thorsten Glaser <tg@mirbsd.org>
27633
27634 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27635
4e02ed50
MK
276362010-03-08 Matt Kraai <kraai@ftbfs.org>
27637
27638 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27639 bug #559005).
27640
1f15fc1e
VS
276412010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27642
27643 * genmoddep.awk: Output all missing symbols and not only first.
27644
fce5d8ff
VS
276452010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27646
27647 * NEWS: Put the date of 1.98 release.
27648
d1e8a02f
VS
276492010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27650
27651 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27652 ft2build.h.
27653
696fd607
VS
276542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27655
27656 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27657 completition in the middle of string.
27658
33e2e6f3
VS
276592010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27660
27661 * util/grub-mkrescue.in: Use mktemp with explicit template.
27662
b1f6d291
VS
276632010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27664
27665 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27666
2ac227c7
VS
276672010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27668
27669 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27670 right pointer.
27671
8f9a632b
VS
276722010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27673
27674 Fix FreeBSD compilation.
27675
27676 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27677 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27678
60b03859
VS
276792010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27680
27681 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27682
48a5a769
VS
276832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27684
27685 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27686
3ab4bd77
VS
276872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27688
27689 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27690
d116e0d8
RM
276912010-03-04 Robert Millan <rmh.grub@aybabtu.com>
27692
27693 Support relative image path in theme file.
27694
27695 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
27696 (image_set_property): Handle theme_dir and relative path.
27697
c7ef54aa
VS
276982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27699
27700 * configure.ac: Alias amd64 to x86_64.
27701
fcee14ed
VS
277022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27703
27704 * NEWS: mention multiboot on EFI.
27705
d0780363
VS
277062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27707
27708 * kern/main.c (grub_load_modules): Handle errors from init functions of
27709 embeded modules.
27710
41168ea4
VS
277112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27712
27713 * normal/autofs.c (autoload_fs_module): Handle errors.
27714
b54d93ac
VS
277152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27716
27717 Disable linux.mod on qemu-mips since it's not functional and leads
27718 to compilation failure.
27719
27720 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
27721 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
27722 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
27723 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
27724 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
27725 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
27726 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
27727 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
27728 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
27729 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
27730 Reported by: BVK Chaitanya
27731
fc8345da
JU
277322010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
27733
27734 * INSTALL: Add gettext as a dependency and add qemu to a new section
27735 "Prerequisites for make-check".
27736
4760f979
CF
277372010-03-04 Christian Franke <franke@computer.org>
27738
27739 * util/grub-pe2elf.c: Add missing include "progname.h".
27740
f209b5b2
VS
277412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27742
27743 * normal/crypto.c (read_crypto_list): Fix a typo.
27744 Reported by: Seth Goldberg.
27745
b4b7be98
VS
277462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27747
27748 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 27749 Reported by: Seth Goldberg.
b4b7be98 27750
c0ee0385
VS
277512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27752
27753 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
27754 ascii.bitmaps.
27755
a8efbf64
VS
277562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27757
27758 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 27759 Reported by: Seth Goldberg.
a8efbf64 27760
08dcd913
VS
277612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27762
27763 * util/i386/efi/grub-install.in: Copy gettext files.
27764
c4d0b332
VS
277652010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27766
27767 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
27768
c6f2fe52
VS
277692010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27770
27771 Wait for user entry basing on presence of output rather than on errors.
27772
27773 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
27774 (grub_install_newline_hook): Likewise.
27775 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
27776 * normal/menu.c (show_menu): Check line_counter to determine presence
27777 of output.
27778 * normal/term.c (grub_normal_line_counter): New variable.
27779 (grub_normal_get_line_counter): New function.
27780 (grub_install_newline_hook): Likewise.
27781
5382b1e4
VS
277822010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27783
27784 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
27785
5519963b
VS
277862010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27787
27788 * configure.ac: Update version to 1.98.
27789
72b28631
VS
277902010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
27791
27792 * util/grub.d/10_linux.in (linux_entry): Don't default to
27793 gfxpayload=keep if Linux doesn't support video handover.
27794
c140a180
VS
277952010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
27796
27797 Don't compile video modules on yeeloong since video subsystem is part
27798 of kernel.
27799
27800 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
27801 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
27802 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
27803 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
27804 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
27805 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
27806 * include/grub/bitmap_scale.h: Likewise.
27807 * include/grub/bufio.h: Likewise.
27808 * include/grub/font.h: Likewise.
27809 * include/grub/gfxterm.h: Likewise.
27810 * include/grub/video.h: Likewise.
27811 * include/grub/vbe.h: Don't include video_fb.h.
27812 * video/i386/pc/vbe.c: Include video_fb.h.
27813 * commands/i386/pc/vbetest.c: Include video.h.
27814
a0ca21c2
CW
278152010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
27816
27817 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
27818 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
27819 default entry if GRUB_SAVEDEFAULT=true. This allows using
27820 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
27821 saving a new default on every boot.
27822
4a8a763c
VS
278232010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27824
27825 * normal/crypto.c (read_crypto_list): Fix a memory leak.
27826 * normal/term.c (read_terminal_list): Likewise.
27827 * normal/main.c (grub_normal_init_page): Likewise.
27828 (grub_normal_read_line_real): Likewise.
27829
607ffde2
VS
278302010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27831
27832 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
27833 memory leak.
27834 Reported by: Seth Goldberg.
27835
2b8fa975
CW
278362010-02-24 Joey Korkames <joey+lists@kidfixit.com>
27837
27838 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
27839 duplicate declaration of `start'.
27840
618307dd
VS
278412010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27842
27843 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
27844 filename.
27845 Reported by: Georgy Buranov
27846
7dd05b96 278472010-02-20 Carles Pina i Estany <carles@pina.cat>
27848
27849 * util/grub-mkrawimage.c (usage): Change string formatting to
27850 improve gettext.
27851
d1484a42
MRA
278522010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
27853
27854 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
27855 backspace keys.
27856
42b1d186
VS
278572010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
27858
27859 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
27860 Reported by: Michael Suchanek.
27861
278622010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
27863
27864 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
27865 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
27866
d9f31a41
VS
278672010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
27868
27869 Remove any reference to non-free fonts.
27870
27871 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
27872 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
27873 uses non-free components.
27874 * font/font.c (grub_font_get_name): Remove example name.
27875 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
27876 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
27877 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
27878 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
27879
2793c71e
GB
278802010-02-16 Georgy Buranov <gburanov@gmail.com>
27881
27882 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
27883
402e3779
VS
278842010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
27885
27886 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
27887 Double divisor.
27888 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
27889 features.
27890 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
27891
0dd1e0dd
VS
278922010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
27893
27894 * gensymlist.sh.in: Use TARGET_CC instead of CC.
27895
6fa7cfce
ST
278962010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27897
27898 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
27899 * docs/grub.texi (Command-line and menu entry commands): Document play
27900 command.
27901
37c8483b
ST
279022010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27903
27904 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
27905 parse arguments as inline tempo and notes. Move code for playing notes
27906 to...
27907 (play): ... new function.
27908
14da0fb7
ST
279092010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
27910
27911 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
27912 grub_uint16_t instead of short.
27913 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
27914 disk from little endian to cpu endianness.
27915
04459e70
ST
279162010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
27917
27918 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
27919 GRUB_TICKS_PER_SECOND instead of 120.
27920
a0876943
VS
279212010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27922
27923 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
27924 escape sequence after \e.
27925
e29f95dc
VS
279262010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27927
27928 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
27929 non-ASCII characters.
27930
d27859b2
VS
279312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27932
27933 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
27934 set root in single quotes to prevent \, from being unescaped.
27935
bc028f2f
VS
279362010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27937
27938 Prevent unknown commands from stopping menuentry execution.
27939
27940 * script/execute.c (grub_script_execute_cmdline): Print error after
27941 unknown command.
27942
095f5f82
VS
279432010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27944
27945 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
27946 Reported by: Pavel Pisa.
27947
8c717950
VS
279482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27949
27950 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
27951
904935c3
VS
279522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27953
27954 Merge grub_ieee1275_map_physical into grub_map and rename to
27955 grub_ieee1275_map
27956
27957 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
27958 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
27959 Remove.
27960 * kern/ieee1275/openfw.c (grub_map): Rename to ...
27961 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
27962 necessary.
27963 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
27964
5b59a4e3
VS
279652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27966
27967 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
27968 opening and not after.
27969
69e137e8
VS
279702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27971
27972 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
27973 constants.
27974
2c0fcc36
VS
279752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27976
27977 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
27978 (alloc_phys): Use ALIGN_UP instead of align_addr.
27979
8c6052ce
VS
279802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27981
27982 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
27983
17cec782
VS
279842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27985
27986 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
27987
e0128bbd
VS
279882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27989
27990 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
27991 verbose dprintf.
27992
ca62070b
VS
279932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
27994
27995 Fix over-4GiB seek on sparc64.
27996
27997 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
27998 Replace pos_i and pos_lo with pos. All users updated.
27999 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28000 New constant.
28001 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28002 Likewise.
28003 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28004 and pos_lo.
28005
bdca2607
VS
280062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28007
28008 * util/grub-mkrawimage.c (main): Call set_program_name.
28009
da278c4d
VS
280102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28011
28012 Properly align 64-bit targets.
28013
28014 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28015 (generate_image): Use ALIGN_ADDR.
28016
b274d734
VS
280172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28018
28019 Properly create cross-endian images.
28020
28021 * include/grub/types.h (grub_host_to_target_addr): New macro
28022 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28023
82da2062
VS
280242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28025
28026 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28027
7cae4377
VS
280282010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28029
28030 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28031
28032 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28033 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28034 (grub_linux_boot): Divide by 64K when on VESA.
28035
65a533e7
VS
280362010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28037
28038 Support GRUB_GFXPAYLOAD_LINUX.
28039
28040 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28041 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28042
dd01d397
VS
280432010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28044
28045 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28046 to show messages instead of discarding them.
28047 Process errors after executing command and not before. Keep old method
28048 too as precaution.
28049
660960d6
VS
280502010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28051
28052 * configure.ac: Check for ft2build.h.
28053
62509f04
VS
280542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28055
28056 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28057
473df63d
VS
280582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28059
28060 * genkernsyms.sh.in: Use TARGET_CC.
28061
c98d2a13
CW
280622010-02-07 Colin Watson <cjwatson@ubuntu.com>
28063
28064 * NEWS: Update.
28065
6e14234c
VS
280662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28067
28068 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28069 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28070 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28071
b255e9cf
YB
280722010-02-07 Yves Blusseau <blusseau@zetam.org>
28073
6e14234c 28074 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28075
98e6959d
VS
280762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28077
28078 Fix warnings in grub-emu when compiling with maximum warning options.
28079
28080 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28081 (grub_arch_modules_addr): Return 0 and not NULL.
28082 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28083 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28084 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28085 of disk to dsk to avoid shadowing.
74e4934e
VS
28086 (find_free_slot): Fix prototype.
28087 * util/getroot.c (grub_util_is_dmraid): Make static.
28088 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28089 Add missing prototype.
28090 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28091
74e31b5c
VS
280922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28093
28094 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28095 appropriately.
28096
6b2ad14b
VS
280972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28098
28099 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28100 code out.
28101
8f891adc
VS
281022010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28103
28104 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28105 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28106 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28107 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28108 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28109 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28110
74b45184
VS
281112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28112
28113 * include/grub/err.h (grub_err_printf): Don't export.
28114
a4bced77
VS
281152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28116
28117 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28118
007d0695
VS
281192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28120
28121 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28122 * kern/misc.c (grub_gettext_dummy): Make static.
28123
b6c0d9c2
VS
281242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28125
28126 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28127 by non-valid ones.
28128 * kern/term.c (grub_putchar): Likewise.
28129
f51a90d0
VS
281302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28131
28132 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28133 buggy hook call and memory leak.
28134
6846cec5
VS
281352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28136
28137 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28138
468d69fe
VS
281392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28140
28141 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28142
51906b8c
VS
281432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28144
28145 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28146 modevar.
28147 Return grub_errno on allocation error.
28148
09706ce5
VS
281492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28150
28151 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28152
911df80c
YB
281532010-02-06 Yves Blusseau <blusseau@zetam.org>
28154
28155 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28156 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28157
3746a6bc
VS
281582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28159
28160 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28161 non-pxe disk.
28162 (grub_pxefs_open): Likewise.
28163
09706ce5
VS
281642010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28165
28166 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28167 * util/grub.d/10_kfreebsd.in: Likewise.
28168 * util/grub.d/10_linux.in: Likewise.
28169
7cc192d9
VS
281702010-02-06 Colin D Bennett <colin@gibibit.com>
28171
28172 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28173 (gfxmenu_mod_SOURCES): New variable.
28174 (gfxmenu_mod_CFLAGS): Likewise.
28175 (gfxmenu_mod_LDFLAGS): Likewise.
28176 * include/grub/term.h (grub_term_set_current_output): Declare
28177 argument as const.
28178 * docs/gfxmenu-theme-example.txt: New file.
28179 * gfxmenu/gfxmenu.c: Likewise.
28180 * gfxmenu/gui_box.c: Likewise.
28181 * gfxmenu/gui_canvas.c: Likewise.
28182 * gfxmenu/gui_circular_progress.c: Likewise.
28183 * gfxmenu/gui_image.c: Likewise.
28184 * gfxmenu/gui_label.c: Likewise.
28185 * gfxmenu/gui_list.c: Likewise.
28186 * gfxmenu/gui_progress_bar.c: Likewise.
28187 * gfxmenu/gui_string_util.c: Likewise.
28188 * gfxmenu/gui_util.c: Likewise.
28189 * gfxmenu/icon_manager.c: Likewise.
28190 * gfxmenu/model.c: Likewise.
28191 * gfxmenu/named_colors.c: Likewise.
28192 * gfxmenu/theme_loader.c: Likewise.
28193 * gfxmenu/view.c: Likewise.
28194 * gfxmenu/widget-box.c: Likewise.
28195 * include/grub/gfxmenu_model.h: Likewise.
28196 * include/grub/gfxmenu_view.h: Likewise.
28197 * include/grub/gfxwidgets.h: Likewise.
28198 * include/grub/gui.h: Likewise.
28199 * include/grub/gui_string_util.h: Likewise.
28200 * include/grub/icon_manager.h: Likewise.
28201
282022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28203
28204 Agglomerate scrolling in gfxterm.
28205
28206 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28207 (grub_virtual_screen_setup): Initialise 'total_screen'.
28208 (write_char): Split to ...
28209 (paint_char): ... this ...
28210 (write_char): ... and this.
28211 (paint_char): Handle delayed scrolling.
28212 (draw_cursor): Likewise.
28213 (scroll_up): Split to ...
28214 (real_scroll): ... this ...
28215 (scroll_up): ... and this.
28216 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28217 characters.
28218 (grub_gfxterm_refresh): Call real_scroll.
28219
282202010-02-06 Colin D Bennett <colin@gibibit.com>
28221
28222 * include/grub/misc.h (grub_iscntrl): New inline function.
28223 (grub_isalnum): Likewise.
28224 (grub_strtol): Likewise.
28225
282262010-02-06 Colin D Bennett <colin@gibibit.com>
28227
28228 * normal/menu_text.c (get_entry_number): Move from here ...
28229 * normal/menu.c (get_entry_number): ... moved here.
28230 * include/grub/menu.h (grub_menu_get_default_entry_index):
28231 New prototype.
28232 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28233 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28234 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28235 (grub_menu_viewer_should_return): Likewise.
28236 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28237 * normal/menu_text.c (run_menu): Enable menu switching.
28238 * normal/menu_viewer.c (should_return): New variable.
28239 (menu_viewer_changed): Likewise.
28240 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28241 (grub_menu_viewer_should_return): New function.
28242 (menuviewer_write_hook): Likewise.
28243 (grub_menu_viewer_init): Likewise.
28244
282452010-02-06 Colin D Bennet <colin@gibibit.com>
282462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28247
28248 Support for gfxterm in a window.
28249
28250 * include/grub/gfxterm.h: New file.
28251 * include/grub/video.h (struct grub_video_rect): New declaration.
28252 (grub_video_rect_t): Likewise.
28253 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28254 (refcount): New variable.
28255 (render_target): Likewise.
28256 (window): Likewise.
28257 (repaint_callback): Likewise.
28258 (grub_virtual_screen_setup): Use 'render_target'.
28259 (init_window): New function.
28260 (grub_gfxterm_init_window): Likewise.
28261 (grub_gfxterm_init): Check reference counter.
28262 Use init_window.
28263 (destroy_window): New function.
28264 (grub_gfxterm_destroy_window): Likewise.
28265 (grub_gfxterm_fini): Check reference counter.
28266 Use destroy_window.
28267 (redraw_screen_rect): Restore viewport.
28268 Use 'render_target' and 'window'.
28269 Call 'repaint_callback'.
28270 (write_char): Use 'render_target'.
28271 (draw_cursor): Likewise.
28272 (scroll_up): Restore viewport.
28273 Use 'render_target' and 'window'.
28274 Call 'repaint_callback'.
28275 (grub_gfxterm_cls): Likewise.
28276 (grub_gfxterm_refresh): Use 'window'.
28277 (grub_gfxterm_set_repaint_callback): New function.
28278 (grub_gfxterm_background_image_cmd): Use 'window'.
28279 (grub_gfxterm_get_term): New function.
28280 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28281
282822010-02-06 Colin D Bennett <colin@gibibit.com>
28283
28284 Bitmap scaling support.
28285
28286 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28287 (bitmap_scale_mod_SOURCES): New variable.
28288 (bitmap_scale_mod_CFLAGS): Likewise.
28289 (bitmap_scale_mod_LDFLAGS): Likewise.
28290 * include/grub/bitmap_scale.h: New file.
28291 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28292 (background_image_cmd_options): New variable.
28293 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28294 (cmd): Rename and change type to ...
28295 (background_image_cmd_handle): ... this. All users updated.
28296 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28297 * video/bitmap_scale.c: New file.
28298
282992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28300
28301 SDL support.
28302
28303 * Makefile.in (LIBSDL): New variable.
28304 (enable_grub_emu_sdl): Likewise.
28305 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28306 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28307 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28308 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28309 * util/sdl.c: New file.
28310
283112010-02-06 Colin D Bennett <colin@gibibit.com>
283122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28313
28314 Double buffering support.
28315
28316 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28317 * include/grub/video.h: Update comment.
28318 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28319 New type.
28320 (grub_video_fb_doublebuf_blit_init): New prototype.
28321 * term/gfxterm.c (scroll_up): Support double buffering.
28322 (grub_gfxterm_refresh): Likewise.
28323 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28324 (grub_video_fb_doublebuf_blit_init): Likewise.
28325 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28326 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28327 'displayed_page', 'render_page' and 'update_screen'.
28328 (grub_video_vbe_fini): Free offscreen buffer.
28329 (doublebuf_pageflipping_commit): New function.
28330 (doublebuf_pageflipping_update_screen): Likewise.
28331 (doublebuf_pageflipping_init): Likewise.
28332 (double_buffering_init): Likewise.
28333 (grub_video_vbe_setup): Enable doublebuffering.
28334 (grub_video_vbe_swap_buffers): Implement.
28335 (grub_video_vbe_set_active_render_target): Handle double buffering.
28336 (grub_video_vbe_get_active_render_target): Likewise.
28337 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28338 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28339 (grub_video_vbe_enable_double_buffering): Likewise.
28340 (grub_video_vbe_swap_buffers): Use update_screen.
28341 (grub_video_set_mode): Use double buffering.
28342
283432010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28344
28345 * maintainance/gentrigtables.py: Remove.
28346 * lib/trig.c: Likewise.
28347
28348 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28349
28350 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28351 `trigtables.c'.
28352 (trigtables.c): New rule.
28353 (gentrigtables): Likewise.
28354 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28355
283562010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28357
28358 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28359 integer constants.
28360
283612010-02-06 Colin D Bennet <colin@gibibit.com>
28362
28363 Trigonometry support.
28364
28365 * include/grub/trig.h: New file.
28366 * lib/trig.c: Likewise.
28367 * maintainance/gentrigtables.py: Likewise.
28368 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28369 (trig_mod_SOURCES): New variable.
28370 (trig_mod_CFLAGS): Likewise.
28371 (trig_mod_LDFLAGS): Likewise.
28372
5562834e
VS
283732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28374
28375 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28376 disk devices.
28377
4f8528fc
VS
283782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28379
28380 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28381 error.
28382
2b4068e9
VS
283832010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28384
28385 * util/hostdisk.c (open_device): Don't use partition device when reading
28386 before the partition.
28387 (grub_util_biosdisk_read): Don't read from partition and before the
28388 partition in single operation.
28389 (grub_util_biosdisk_write): Don't write to partition and before the
28390 partition in single operation.
28391
399f6e4d
TL
283922010-02-03 Torsten Landschoff <torsten@debian.org>
28393
28394 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28395 last sectors.
28396
996649b0
VS
283972010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28398
28399 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28400 CDROM reads.
28401 (grub_biosdisk_write): Refuse to write to CDROM.
28402
3b205d4d
VS
284032010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28404
28405 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28406
61e89d9d
VS
284072010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28408
28409 * font/font.c (find_glyph): Check that bmp_idx is available before
28410 using it.
28411 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28412 with (font == NULL).
28413
bf7fcba2
CS
284142010-01-28 Christian Schmitt <chris@ilovelinux.de>
28415
28416 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28417
f45d2663
BC
284182010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28419
28420 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28421 * util/grub-script-check.c (getline): Fix empty lines case.
28422
ec1444e6
RM
284232010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28424
28425 * Makefile.in (check): Exit with fail status when one of the tests
28426 fails.
28427 * tests/example_functional_test.c (example_test): Fix reversed assert.
28428 * tests/example_unit_test.c (example_test): Likewise.
28429
2e1cb9bb
CW
284302010-01-28 Colin Watson <cjwatson@ubuntu.com>
28431
28432 * util/grub.d/10_linux.in: This script does not use any of the
28433 contents of gettext.sh, only the external command `gettext', so stop
28434 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28435 the same prefix as GRUB.)
28436 * util/grub.d/10_kfreebsd.in: Likewise.
28437
63533ab0
VS
284382010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28439
28440 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28441 of the line.
28442
989e1f93
VS
284432010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28444
28445 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28446 last sectors.
28447
e709ebe2
VS
284482010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28449
28450 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28451 having a 4KiB and not 32KiB buffer size.
28452
27dea7ed
RM
284532010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28454
28455 * util/hostfs.c: Include `<errno.h>'.
28456 (grub_hostfs_read): Handle errors from fseeko() and fread().
28457
67667b9c
RM
284582010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28459
28460 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28461 loop when using read hooks on files whose size isn't sector-aligned.
28462
c294d9d8
RM
284632010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28464
28465 Remove unused parameter.
28466
28467 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28468 (grub_iso9660_open): Remove initialization of `data->length'.
28469
af75a9f1
RM
284702010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28471
28472 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28473 memleak conditions.
28474
254e2ce5 284752010-01-27 Carles Pina i Estany <carles@pina.cat>
28476
28477 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28478 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28479
b510928c 284802010-01-26 Carles Pina i Estany <carles@pina.cat>
28481
28482 * util/bin2h.c (usage): Fix warning (space after backslash).
28483
aa2f9dd2 284842010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28485
28486 * font/font.c: Include `grub/fontformat.h.
28487 Remove font file format constants.
28488 (grub_font_load): Use the new macros.
28489 * include/grub/fontformat.h: New file.
28490 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28491 (write_font_pf2): Use the new macros.
28492
94e7e712
RM
284932010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28494
28495 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28496 does.
28497
3973a59a
RM
284982010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28499
28500 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28501
28502 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28503 (_start): Macroify `0x7F'.
28504
28505 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28506 (make_install_device): Use "(pxe)" as fallback prefix when booting
28507 via PXE.
28508
42e0cba3
GS
285092010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28510
28511 * configure.ac: Reset LIBS after check for libgcc symbols.
28512
847effd8
CW
285132010-01-25 Colin Watson <cjwatson@ubuntu.com>
28514
28515 * util/hostdisk.c (open_device): Add trailing newline to debug
28516 message.
28517
ea4a7e35
GS
285182010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28519
28520 * configure.ac: Check for `limits.h'.
28521 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28522
67951a53
RM
285232010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28524
28525 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28526 capitalize error strings.
28527
c273d4ce
ST
285282010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28529
28530 * util/grub.d/10_hurd.in: Add a recovery mode.
28531
69be5b74
VS
285322010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28533
28534 * configure.ac: Check for libgcc symbols with -nostdlib.
28535
fc9e5810
BC
285362010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28537
28538 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28539
4b358c0a
VS
285402010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28541
28542 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28543 stack since heap may be unavailable at that point.
28544 (grub_ofconsole_gotoxy): Likewise.
28545
454fcd1c
VS
285462010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28547
28548 * configure.ac: Check for _restgpr_14_x.
28549 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28550 and _savegpr_* prototypes.
28551
566863ca
RM
285522010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28553
28554 Use generic grub_reboot() for i386-efi.
28555
28556 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28557 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28558 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28559
bf86e59a
VS
285602010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28561
28562 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28563 presence of "prefix" variable as it breaks when normal.mod is
28564 embedded.
28565
d645e0f8
VS
285662010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28567
28568 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28569 stack since heap is unavailable at that point.
28570
f9ab2e25
VS
285712010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28572
28573 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28574 (grub_freebsd_bootinfo): Rewritten.
28575 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28576
01fc7054
VS
285772010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28578
28579 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28580
caab4fd6
RM
285812010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28582
28583 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28584 domain now.
28585
67eb1427
FZ
285862010-01-20 Felix Zielcke <fzielcke@z-51.de>
28587
28588 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28589 around for handling "/" to the correct fix. Fix a memory leak. Use
28590 xstrdup instead of strdup.
28591
a9ed4ff3
VS
285922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28593
28594 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28595
285962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
28597
28598 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28599
28600 * font/font.c (struct grub_font): New member 'bmp_idx'.
28601 (font_init): Initialise 'bmp_idx'.
28602 (load_font_index): Fill 'bmp_idx'.
28603 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28604
48209f4f
VS
286052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28606
28607 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28608 unnecessary calls.
28609
9f0a4bb7
VS
286102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28611
28612 Move context handling out of the kernel.
28613
28614 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28615 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28616 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28617 * conf/i386-efi.rmk: Likewise.
28618 * conf/i386-ieee1275.rmk: Likewise.
28619 * conf/i386-pc.rmk: Likewise.
28620 * conf/powerpc-ieee1275.rmk: Likewise.
28621 * conf/sparc64-ieee1275.rmk: Likewise.
28622 * conf/x86_64-efi.rmk: Likewise.
28623 * include/grub/env.h: Include grub/menu.h.
28624 (grub_env_var_type): Removed.
28625 (grub_env_var): Replaced field 'type' with 'global'.
28626 (grub_env_find): New prototype.
28627 (grub_env_context_open): Remove EXPORT_FUNC.
28628 (grub_env_context_close): Likewise.
28629 (grub_env_export): Likewise.
28630 (grub_env_set_data_slot): Removed.
28631 (grub_env_get_data_slot): Likewise.
28632 (grub_env_unset_data_slot): Likewise.
28633 (grub_env_unset_menu): New prototype.
28634 (grub_env_set_menu): Likewise.
28635 (grub_env_get_menu): Likewise.
28636 * include/grub/env_private.h: New file.
28637 * include/grub/normal.h (grub_context_init): New prototype.
28638 (grub_context_fini): Likewise.
28639 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28640 * normal/context.c (grub_cmd_export): ... to here.
28641 * kern/env.c: Include env_private.h.
28642 (HASHSZ): Moved to include/grub/env_private.h.
28643 (grub_env_context): Likewise.
28644 (grub_env_sorted_var): Likewise.
28645 (current_context): Renamed from this ...
28646 (grub_current_context): ...to this. 'static' removed. All users updated.
28647 (grub_env_find): Removed 'static'.
28648 (grub_env_context_open): Moved to normal/context.c.
28649 (grub_env_context_close): Likewise.
28650 (grub_env_export): Likewise.
28651 (mangle_data_slot_name): Removed.
28652 (grub_env_set_data_slot): Likewise.
28653 (grub_env_get_data_slot): Likewise.
28654 (grub_env_unset_data_slot): Likewise.
28655 * kern/main.c (grub_set_root_dev): Don't export root.
28656 It will be done later.
28657 (grub_main): Don't export prefix.
28658 It will be done later.
28659 * normal/context.c: New file.
28660 * normal/main.c (free_menu): Use grub_env_unset_menu.
28661 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28662 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28663 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28664 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28665
8dd35b8c
VS
286662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28667
28668 setpci support.
28669
28670 * commands/setpci.c: New file.
28671 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28672 (setpci_mod_SOURCES): New variable.
28673 (setpci_mod_CFLAGS): Likewise.
28674 (setpci_mod_LDFLAGS): Likewise.
28675
449193d5
VS
286762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28677
28678 Byte-addressable PCI configuration space.
28679
28680 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28681 dword address.
28682 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28683 GRUB_PCI_REG_CACHELINE.
28684 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28685 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28686 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28687 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28688 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28689 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28690 grub_pci_make_address.
28691 (lock_rom_area): Likewise.
28692 * commands/lspci.c (grub_lspci_iter): Use macroses
28693 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
28694 of grub_pci_make_address.
28695 * disk/ata.c (grub_ata_pciinit): Likewise.
28696 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
28697 (GRUB_PCI_REG_VENDOR): Likewise.
28698 (GRUB_PCI_REG_DEVICE): Likewise.
28699 (GRUB_PCI_REG_COMMAND): Likewise.
28700 (GRUB_PCI_REG_STATUS): Likewise.
28701 (GRUB_PCI_REG_REVISION): Likewise.
28702 (GRUB_PCI_REG_CLASS): Likewise.
28703 (GRUB_PCI_REG_CACHELINE): Likewise.
28704 (GRUB_PCI_REG_LAT_TIMER): Likewise.
28705 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
28706 (GRUB_PCI_REG_BIST): Likewise.
28707 (GRUB_PCI_REG_ADDRESSES): Likewise.
28708 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28709 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28710 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28711 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28712 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28713 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28714 (GRUB_PCI_REG_CIS_POINTER): Likewise.
28715 (GRUB_PCI_REG_SUBVENDOR): Likewise.
28716 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
28717 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
28718 (GRUB_PCI_REG_CAP_POINTER): Likewise.
28719 (GRUB_PCI_REG_IRQ_LINE): Likewise.
28720 (GRUB_PCI_REG_IRQ_PIN): Likewise.
28721 (GRUB_PCI_REG_MIN_GNT): Likewise.
28722 (GRUB_PCI_REG_MAX_LAT): Likewise.
28723 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
28724 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
28725 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 28726 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
28727 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
28728 space.
28729
96d73208
RM
287302010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28731
28732 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
28733 can be reliably determined to be supported.
28734
d4484482
RM
287352010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28736
28737 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
28738 that VESA is supported.
28739 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
28740 supported.
28741
00308ecf
VS
287422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28743
28744 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
28745
f66924a4
RM
287462010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28747
28748 * util/misc.c (make_system_path_relative_to_its_root): Work around
28749 special-casing of "/", as previous incarnation of this routine did.
28750
cbca0ada
VS
287512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28752
28753 Fix any-emu compilation.
28754
28755 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
28756 * grub_bin2h_SOURCES: New variable.
28757
34a66d99
RM
287582010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28759
28760 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
28761
94fabf58
RM
287622010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28763
28764 * util/grub.d/00_header.in: Fix handling of locale_dir.
28765
02cf98ca
VS
287662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28767
28768 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
28769 as possible unifont location (Gentoo).
28770 Reported by: Alexander Brüning
28771
327dbcd7
VS
287722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28773
28774 Don't try to generate lists for kernel.img.
28775
28776 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
28777 (pkglib_MODULES): Remove kernel.img.
28778 (kernel_img_EXPORTS): Removed.
28779 (kernel_img_RELOCATABLE): New variable.
28780 * conf/x86_64-efi.rmk: Likewise.
28781 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
28782
ca467290
VS
287832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28784
28785 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
28786 grub_xasprintf or grub_snprintf.
28787 (grub_vsprintf): Likewise.
28788 (grub_snprintf): New proto.
28789 (grub_vsnprintf): Likewise.
28790 (grub_xasprintf): Likewise.
28791 (grub_xvasprintf): Likewise.
28792 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
28793 (grub_sprintf): Removed.
28794 (grub_vsnprintf): New function.
28795 (grub_snprintf): Likewise.
28796 (grub_xvasprintf): Likewise.
28797 (grub_xasprintf): Likewise.
28798 (grub_vsprintf): Renamed to ...
28799 (grub_vsnprintf_real): ...this. New argument max_len.
28800
aca655fd
BC
288012010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
28802
28803 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
28804 fix grub-script-check warning.
28805
7ee92c32
VS
288062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28807
28808 * include/grub/font.h (grub_font_load): Fix prototype.
28809
f80927ca
VS
288102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28811
28812 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
28813
119c50ea
VS
288142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28815
28816 * include/grub/x86_64/at_keyboard.h: New file.
28817
47d5f3c1
VS
288182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28819
28820 * loader/mips/linux.c: Include missing grub/i18n.h.
28821
55ff5266
RM
288222009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28823
28824 * normal/menu.c (notify_execution_failure): Clarify error message.
28825
c893cc87
RM
288262009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28827
28828 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
28829 return value (and revert all return statements). Update users.
28830
917dd370
CW
288312010-01-20 Dan Merillat <debian@dan.merillat.org>
28832
28833 * kern/device.c (grub_device_iterate): Allocate new part_ent
28834 structure based on sizeof (*p) rather than sizeof (p->next), to
28835 account for structure padding.
28836
28837 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
28838 disk is NULL, which might happen for LVM physical volumes with no
28839 LVM signature.
28840
d4a4ee57
RM
288412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28842
28843 * loader/mips/linux.c (grub_cmd_initrd)
28844 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
28845
288462009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28847
28848 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
28849 (grub_video_video_init, grub_video_bitmap_init)
28850 (grub_font_manager_init, grub_term_gfxterm_init)
28851 (grub_at_keyboard_init): New extern declarations.
28852 (grub_machine_init): Initialize gfxterm and at_keyboard.
28853
28854 * kern/main.c (grub_main): Revert grub_printf delay kludge.
28855
28856 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
28857 `gfxterm.mod' into core image.
28858
28859 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28860 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28861 (kernel_img_FORMAT): Copy to ...
28862
28863 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28864 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28865 (kernel_img_FORMAT): ... here, and ...
28866
28867 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
28868 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28869 (kernel_img_FORMAT): ... here.
28870
28871 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
28872 and input (at_keyboard) terminals in kernel.
28873 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
28874
28875 (pkglib_MODULES): Remove `pci.mod'.
28876 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
28877 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
28878 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
28879 (at_keyboard_mod_LDFLAGS): Remove variables.
28880
288812010-01-11 Felix Zielcke <fzielcke@z-51.de>
28882
28883 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
28884
288852009-12-10 Robert Millan <rmh.grub@aybabtu.com>
28886
28887 * include/grub/mips/libgcc.h: Only export symbols for functions
28888 that libgcc provides.
28889
288902009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
28891
28892 MIPS support.
28893
28894 * bus/bonito.c: New file.
28895 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
28896 GRUB_PCI_NUM_DEVICES.
28897 * term/i386/pc/serial.c: Move to ...
28898 * term/serial.c: ... here. All users updated.
28899 * util/i386/pc/grub-mkimage.c: Move to ...
28900 * util/grub-mkrawimage.c: ... here. All users updated.
28901 * term/i386/pc/at_keyboard.c: Move to ...
28902 * term/at_keyboard.c: ... here. All users updated.
28903 * conf/mips-qemu-mips.rmk: New file.
28904 * conf/mips-yeeloong.rmk: Likewise.
28905 * conf/mips.rmk: Likewise.
28906 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
28907 mipsel-qemu-mips.
28908 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
28909 to port addresses.
28910 (grub_ata_pciinit): Support CS5536.
28911 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
28912 * font/font_cmd.c (loadfont_command): Open file before passing it to
28913 grub_font_load.
28914 (pseudo_file_read): New function.
28915 (pseudo_file_close): Likewise.
28916 (pseudo_fs): New structure.
28917 (load_font_module): New function.
28918 (GRUB_MOD_INIT(font_manager)): Load embedded font.
28919 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
28920 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
28921 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
28922 * include/grub/i386/at_keyboard.h: Split into ...
28923 * include/grub/at_keyboard.h: ... this ...
28924 * include/grub/i386/at_keyboard.h: ... and this.
28925 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
28926 New prototype.
28927 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
28928 updated.
28929 (grub_elf64_size): Likewise.
28930 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
28931 filename.
28932 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
28933 * include/grub/i386/coreboot/serial.h: Rewritten.
28934 * include/grub/i386/ieee1275/serial.h: Include
28935 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
28936 * include/grub/i386/pc/serial.h: Moved from here ...
28937 * include/grub/serial.h: ... to here. All users updated.
28938 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
28939 (GRUB_PCI_NUM_BUS): Likewise.
28940 (GRUB_PCI_NUM_DEVICES): Likewise.
28941 (grub_pci_device_map_range): Add missing volatile keyword.
28942 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
28943 * include/grub/mips/at_keyboard.h: New file.
28944 * include/grub/mips/cache.h: Likewise.
28945 * include/grub/mips/io.h: Likewise.
28946 * include/grub/mips/kernel.h: Likewise.
28947 * include/grub/mips/libgcc.h: Likewise.
28948 * include/grub/mips/pci.h: Likewise.
28949 * include/grub/mips/qemu-mips/boot.h: Likewise.
28950 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28951 * include/grub/mips/qemu-mips/loader.h: Likewise.
28952 * include/grub/mips/qemu-mips/memory.h: Likewise.
28953 * include/grub/mips/qemu-mips/serial.h: Likewise.
28954 * include/grub/mips/qemu-mips/time.h: Likewise.
28955 * include/grub/mips/relocator.h: Likewise.
28956 * include/grub/mips/time.h: Likewise.
28957 * include/grub/mips/types.h: Likewise.
28958 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
28959 * include/grub/mips/yeeloong/boot.h: Likewise.
28960 * include/grub/mips/yeeloong/kernel.h: Likewise.
28961 * include/grub/mips/yeeloong/loader.h: Likewise.
28962 * include/grub/mips/yeeloong/memory.h: Likewise.
28963 * include/grub/mips/yeeloong/pci.h: Likewise.
28964 * include/grub/mips/yeeloong/serial.h: Likewise.
28965 * include/grub/mips/yeeloong/time.h: Likewise.
28966 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
28967 * kern/elf.c (grub_elf32_size): New parameter. All users
28968 updated.
28969 (grub_elf64_size): Likewise.
28970 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
28971 Load modules before saying "Welcome to GRUB!".
28972 Call grub_refresh after saying "Welcome to GRUB!".
28973 * kern/mips/cache.S: New file.
28974 * kern/mips/cache_flush.S: Likewise.
28975 * kern/mips/dl.c: Likewise.
28976 * kern/mips/init.c: Likewise.
28977 * kern/mips/qemu-mips/init.c: Likewise.
28978 * kern/mips/startup.S: Likewise.
28979 * kern/mips/yeeloong/init.c: Likewise.
28980 * kern/term.c (grub_putcode): Handle NULL terminal.
28981 (grub_getcharwidth): Likewise.
28982 (grub_getkey): Likewise.
28983 (grub_checkkey): Likewise.
28984 (grub_getkeystatus): Likewise.
28985 (grub_getxy): Likewise.
28986 (grub_getwh): Likewise.
28987 (grub_gotoxy): Likewise.
28988 (grub_cls): Likewise.
28989 (grub_setcolorstate): Likewise.
28990 (grub_setcolor): Likewise.
28991 (grub_getcolor): Likewise.
28992 (grub_refresh): Likewise.
28993 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
28994 (write_jump): Add hatch nop.
28995 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
28996 * lib/mips/setjmp.S: New file.
28997 * loader/mips/linux.c: Likewise.
28998 * term/i386/pc/at_keyboard.c: Move from here ...
28999 * term/at_keyboard.c: ... to here.
29000 * term/i386/pc/serial.c: Moved from here ...
29001 * term/serial.c: ... to here. All users updated.
29002 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29003 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29004 (serial_translate_key_sequence): Avoid deadlock.
29005 (grub_serial_getkey): Handle backspace.
29006 (grub_serial_putchar): Fix newline handling.
29007 * util/i386/pc/grub-mkimage.c: Move from here ...
29008 * util/grub-mkrawimage.c: ... to here. All users updated.
29009 (generate_image): New parameters 'font_path' and 'format'.
29010 Support embedding font.
29011 Use grub_host_to_target* instead of grub_cpu_to_le*.
29012 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29013 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29014 (options): New option "--font".
29015 (usage): Likewise.
29016 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29017 (main): Handle "--font".
29018 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29019 (grub_virtual_screen_setup): Set bg_color_display.
29020 (redraw_screen_rect): Use bg_color_display instead of incorrect
29021 bg_color.
29022 (grub_gfxterm_cls): Likewise.
29023 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29024 Support embedding config file.
29025 (add_segments): Likewise.
29026 (options): New option "--config".
29027 (main): Handle "--config".
29028 * video/sm712.c: New file.
29029
25c2b5b3
RM
290302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29031
29032 Fix parallel builds.
29033
29034 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29035 font.c depend on ascii.h).
29036
290372010-01-12 Carles Pina i Estany <carles@pina.cat>
29038
29039 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29040
290412010-01-11 Carles Pina i Estany <carles@pina.cat>
29042
29043 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29044 By default: disabled.
29045 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29046 parameter.
29047
290482010-01-10 Carles Pina i Estany <carles@pina.cat>
29049
29050 * font/font.c: Update copyright years.
29051 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29052
290532010-01-10 Carles Pina i Estany <carles@pina.cat>
29054
29055 * font/font.c: Include `ascii.h'.
29056 (ASCII_BITMAP_SIZE): New macro.
29057 (ascii_font_glyph): Define.
29058 (ascii_glyph_lookup): New function.
29059 (grub_font_get_string_width): Change comment. If glyph not found, use
29060 ascii_glyph_lookup.
29061 (grub_font_get_glyph_with_fallback): If glyph not available returns
29062 ascii_glyph_lookup.
29063 * util/grub-mkfont.c (file_formats): New enum.
29064 (options): Add `ascii-bitmaps' new option.
29065 (usage): Add `asii-bitmaps' new option.
29066 (write_font_ascii_bitmap): New function.
29067 (write_font): Rename to ...
29068 (write_font_p2): ... this. Remove print_glyphs call.
29069 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29070 used. Call print_glyphs.
29071 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29072
290732010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29074
29075 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29076 (grub_bin2h_SOURCES): New variable.
29077 * util/bin2h.c: New file.
29078
915fc1b8
VS
290792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29080
29081 * include/multiboot.h: Resynced with spec.
29082 * include/multiboot2.h: Likewise.
29083 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29084 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29085
9444b678
RM
290862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29087
29088 * include/grub/term.h (grub_term_register_input,
29089 grub_term_register_output): Check return of terminal init()
29090 routines, and abort if errors are raised.
29091
29092 * commands/terminal.c: Update copyright year.
29093
cba98e8d
RM
290942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29095
29096 * commands/terminal.c (grub_cmd_terminal_input)
29097 (grub_cmd_terminal_output): Check return of terminal init()
29098 routines, and abort if errors are raised.
29099
6f7db5d6
VS
291002010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29101
29102 * include/grub/i386/bsd.h: Fix include pathes.
29103
262bff8d
VS
291042010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29105
29106 Add missing *BSD copyright headers.
29107
29108 * include/grub/aout.h: Add BSD licence.
29109 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29110 * include/grub/i386/freebsd_linker.h: ... here,
29111 * include/grub/i386/freebsd_reboot.h: ... here,
29112 * include/grub/i386/netbsd_bootinfo.h: ... here,
29113 * include/grub/i386/netbsd_reboot.h: ... here,
29114 * include/grub/i386/openbsd_bootarg.h: ... here,
29115 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29116 licence to each file.
29117
b2cab848
RM
291182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29119
29120 * acinclude.m4: Remove `nop' assembly instruction; it's not
29121 implemented by all architectures.
29122
2cb6be4b
RM
291232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29124
29125 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29126 ELILO. This is no longer necessary.
29127
a2eaee15
BC
291282010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29129
29130 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29131
29132 * util/grub-script-check.c: grub-script-check tool.
29133 * conf/common.rmk: Make rules for grub-script-check.
29134
88d17012
RM
291352010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29136
29137 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29138 spotting it back in 2008. Shame on me for forgetting he did.
29139
29140 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29141
8040619d
RM
291422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29143
29144 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29145 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29146 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29147 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29148 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29149 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29150
a0c2a0f6
RM
291512010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29152
29153 * include/grub/test.h: Add license header.
29154 * tests/example_functional_test.c: Likewise.
29155 * tests/example_unit_test.c: Likewise.
29156 * tests/lib/functional_test.c: Likewise.
29157 * tests/lib/test.c: Likewise.
29158 * tests/lib/unit_test.c: Likewise.
29159
b0b13907
VS
291602010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29161
29162 Use flag-based instead of hook-based video mode selection and "auto"
29163 keyword.
29164
29165 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29166 (grub_video_set_mode): Changed prototype. All users updated.
29167 (grub_video_check_mode_flag): New inline function.
29168 * video/video.c (parse_modespec): New function.
29169 (grub_video_set_mode): Parse flags and keywords.
29170
ea379330 291712010-01-17 Carles Pina i Estany <carles@pina.cat>
29172
29173 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29174 fprintf call.
29175
e15c215e
FZ
291762010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29177
29178 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29179
409ae1c9 291802010-01-16 Carles Pina i Estany <carles@pina.cat>
29181
29182 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29183 string.
29184 * util/grub-emu.c (usage): Likewise.
29185 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29186 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29187 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29188 * util/i386/pc/grub-setup.c (usage): Likewise.
29189
70a14d3d 291902010-01-16 Carles Pina i Estany <carles@pina.cat>
29191
29192 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29193 the message.
29194 (grub_util_info): Likewise.
29195 (grub_util_error): Likewise.
29196 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29197 and/or new lines in `grub_util_warna', `grub_util_info',
29198 `grub_util_error' calls.
29199 * util/getroot.c: Likewise.
29200 * util/grub-editenv.c: Likewise.
29201 * util/grub-emu.c: Likewise.
29202 * util/grub-fstest.c: Likewise.
29203 * util/grub-mkdevicemap.c: Likewise.
29204 * util/grub-mkfont.c: Likewise.
29205 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29206 * util/grub-mkrelpath.c: Likewise.
29207 * util/grub-pe2elf.c: Likewise.
29208 * util/grub-probe.c: Likewise.
29209 * util/hostdisk.c: Likewise.
29210 * util/i386/efi/grub-mkimage.c: Likewise.
29211 * util/i386/pc/grub-mkimage.c: Likewise.
29212 * util/i386/pc/grub-setup.c: Likewise.
29213 * util/ieee1275/ofpath.c: Likewise.
29214 * util/mkisofs/eltorito.c: Likewise.
29215 * util/mkisofs/rock.c: Likewise.
29216 * util/mkisofs/write.c: Likewise.
29217 * util/raid.c: Likewise.
29218 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29219 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29220
a0b766fc
VS
292212010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29222
29223 Enable multiboot on non-pc.
29224
29225 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29226 multiboot.mod and multiboot2.mod to ...
29227 * conf/i386.rmk (pkglib_MODULES): ... here.
29228 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29229 Moved to ...
29230 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29231 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29232 Moved to ...
29233 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29234 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29235 Moved to ...
29236 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29237 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29238 Moved to ...
29239 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29240 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29241 relocator.mod.
29242 (ata_mod_SOURCES): Removed.
29243 (ata_mod_CFLAGS): Likewise.
29244 (ata_mod_LDFLAGS): Likewise.
29245 (relocator_mod_SOURCES): Removed.
29246 (relocator_mod_CFLAGS): Likewise.
29247 (relocator_mod_ASFLAGS): Likewise.
29248 (relocator_mod_LDFLAGS): Likewise.
29249 Include i386.mk.
29250 * include/grub/x86_64/multiboot.h: New file.
29251 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29252 Terminate EFI.
29253
884ade56
VS
292542010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29255
29256 Video multiboot support.
29257
29258 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29259 New prototype.
29260 * include/multiboot.h: Resynced with multiboot specification.
29261 * include/multiboot2.h: Likewise.
29262 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29263 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29264 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29265 (HAS_VGA_TEXT): Likewise.
29266 (accepts_video): New variable.
29267 (grub_multiboot_set_accepts_video): New function.
29268 (grub_multiboot_get_mbi_size): Account for video structures.
29269 (set_video_mode): New function.
29270 (retrieve_video_parameters): Likewise.
29271 (grub_multiboot_make_mbi): Fill video fields.
29272
0d90e8a6
VS
292732010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29274
29275 Video driver ids.
29276
29277 * include/grub/video.h (grub_video_driver_id): New type.
29278 (grub_video_adapter): New member 'id'. All users updated.
29279 (grub_video_get_driver_id): New proto.
29280 * video/video.c (grub_video_get_driver_id): New function.
29281
5c71db1b 292822010-01-14 Carles Pina i Estany <carles@pina.cat>
29283
29284 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29285 `var=val'.
29286
cca15b52 292872010-01-14 Carles Pina i Estany <carles@pina.cat>
29288
29289 * normal/cmdline.c (print_completion): Gettextizze.
29290
c586fbb2 292912001-01-14 Carles Pina i Estany <carles@pina.cat>
29292
29293 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29294
ba2f6848 292952010-01-14 Carles Pina i Estany <carles@pina.cat>
29296
29297 * gettext/gettext.c (grub_gettext_translate): Push and pop
29298 grub_errno.
29299 (grub_gettext_delete_list): Change comment style.
29300 * kern/err.c (grub_error): Gettextizze.
29301 (grub_fatal): Gettextizze.
29302
0a46429a
RM
293032010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29304
29305 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29306 (grub_linux16_real_boot): ... this.
29307 * kern/i386/loader.S: Likewise.
29308 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29309 (grub_linux16_boot): New function. Switches to text mode and calls
29310 grub_linux16_real_boot().
29311
29312 * loader/i386/bsd.c: Include `<grub/video.h>'.
29313 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29314 text mode before calling grub_unix_real_boot().
29315
29316 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29317 (grub_multiboot_boot): Switch to text mode before calling
29318 grub_relocator32_boot().
29319
29320 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29321 (grub_chainloader_boot): Switch to text mode before calling
29322 grub_chainloader_real_boot().
29323
d6f93a66
RM
293242010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
293252010-01-05 Colin Watson <cjwatson@ubuntu.com>
29326
29327 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29328 non-empty value.
29329
293302010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
293312010-01-05 Colin Watson <cjwatson@ubuntu.com>
29332
29333 * util/grub.d/00_header.in: Define a "savedefault" function for use
29334 in menu entries.
29335 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29336
293372010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
293382010-01-05 Colin Watson <cjwatson@ubuntu.com>
29339
29340 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29341 saved_entry if boot_once is unset.
29342 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29343 previous saved entry (i.e. grub-reboot).
29344
293452009-12-08 Colin Watson <cjwatson@ubuntu.com>
29346
29347 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29348
293492009-12-08 Colin Watson <cjwatson@ubuntu.com>
29350
29351 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29352 `var=val'.
29353 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29354
293552009-12-08 Colin Watson <cjwatson@ubuntu.com>
29356
29357 * util/grub-reboot.in: Fix --version output.
29358 * util/grub-set-default.in: Likewise.
29359
293602009-12-08 Colin Watson <cjwatson@ubuntu.com>
29361
29362 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29363 blocks.
29364
293652009-12-08 Colin Watson <cjwatson@ubuntu.com>
29366
29367 * util/grub.d/00_header.in: Quote the value assigned to `default',
29368 in case it contains spaces.
29369
293702009-12-08 Colin Watson <cjwatson@ubuntu.com>
29371
29372 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29373 `save_default_entry' call from the macosx case to the linux case.
29374
293752009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
293762009-10-25 Colin Watson <cjwatson@ubuntu.com>
29377
29378 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29379 in `chosen' environment variable.
29380 * normal/menu_text.c (get_entry_number): Check if the variable
29381 matches the title of a menu entry.
29382 (run_menu): Pass menu to get_entry_number.
29383
29384 * util/grub-reboot.in: New file.
29385 * util/grub-set-default.in: New file.
29386 * conf/common.rmk (grub-reboot): New utility.
29387 (grub-set-default): New utility.
29388
29389 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29390 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29391 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29392 move it to `saved_entry' for the next boot. Load environment on
29393 initialisation.
29394 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29395 * util/grub.d/10_hurd.in: Likewise.
29396 * util/grub.d/10_linux.in (linux_entry): Likewise.
29397 * util/grub.d/10_windows.in: Likewise.
29398 * util/grub.d/30_os-prober.in: Likewise.
29399
29400 * util/grub-install.in: Create environment block.
29401 * util/i386/efi/grub-install.in: Likewise.
29402 * util/ieee1275/grub-install.in: Likewise.
29403 * util/sparc64/ieee1275/grub-install.in: Likewise.
29404
0934d184
BC
294052010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29406
29407 Unit testing framework for GRUB.
29408
29409 * Makefile.in: Test framework build rules for 'make check'.
29410 * conf/tests.rmk: Build rules for individual tests and framework.
29411
29412 * include/grub/test.h: Header file for whitebox tests.
29413 * tests/lib/functional_test.c: Framework support for whitebox
29414 functional tests.
29415 * tests/lib/test.c: Common whitebox testing code for unit and
29416 functional tests.
29417 * tests/lib/unit_test.c: Framework support for whitebox unit
29418 tests.
29419
29420 * tests/util/grub-shell-tester.in: Support utility for grub-script
29421 tests.
29422 * tests/util/grub-shell.in: Utility to execute grub-script
29423 commands in a Qemu instance.
29424
29425 * tests/example_functional_test.c: Example whitebox functional
29426 test.
29427 * tests/example_grub_script_test.in: Example grub-script test.
29428 * tests/example_scripted_test.in: Example scripted test.
29429 * tests/example_unit_test.c: Example whitebox unit test.
29430
9c4ffeeb
VS
294312010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29432
29433 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29434 Add loader/i386/multiboot_mbi.c.
29435 (multiboot2_mod_SOURCES): Likewise.
29436 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29437 (multiboot2_mod_SOURCES): Likewise.
29438 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29439 (grub_multiboot_make_mbi): Likewise.
29440 (grub_multiboot_free_mbi): Likewise.
29441 (grub_multiboot_init_mbi): Likewise.
29442 (grub_multiboot_add_module): Likewise.
29443 (grub_multiboot_set_bootdev): Likewise.
29444 * loader/i386/multiboot.c (mbi): Removed.
29445 (mbi_dest): Likewise.
29446 (alloc_mbi): New variable.
29447 (grub_multiboot_payload_size): Removed. All users updated.
29448 (grub_multiboot_pure_size): New variable.
29449 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29450 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29451 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29452 (grub_fill_multiboot_mmap): Likewise.
29453 (grub_multiboot_get_bootdev): Likewise.
29454 (grub_multiboot): Use multiboot_mbi functions.
29455 * loader/i386/multiboot_mbi.c: New file.
29456
17383dfe
VS
294572010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29458
29459 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29460 it would result in module crash.
29461
c1f28820
VS
294622010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29463
29464 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29465 (grub_ofconsole_getwh): Split to ...
29466 (grub_ofconsole_getwh): ... this.
29467 (grub_ofconsole_dimensions): ...and this.
29468 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29469
58655a16
RM
294702010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29471
29472 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29473
10891398
VS
294742010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29475
29476 * loader/i386/pc/multiboot2.c: Removed stalled file.
29477
0b8a223c
VS
294782010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29479
29480 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29481 Reported by: Grégoire Sutre
29482
92ab12b0
RM
294832010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29484
29485 * util/misc.c (canonicalize_file_name): New function.
29486 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29487 instead of realpath().
29488
a788afb6
CW
294892010-01-11 Colin Watson <cjwatson@ubuntu.com>
29490
29491 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29492 and make it clearer that it's optional. Based on confusion
29493 witnessed on IRC.
29494
ffa8e3d2
VS
294952010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29496
29497 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29498 in premature implicit newline.
29499
e9060a9d
VS
295002010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29501
29502 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29503 which resulted in garbled command line at the end of screen.
29504
f0d0c0b7
RM
295052010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29506
29507 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29508 initialization with similar approach as with other Linux loaders.
29509
0e60bae7
RM
295102010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29511
29512 Fix i386-ieee1275 build.
29513
29514 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29515 and grub_term_height() for video_{width,height} initialization.
29516
295172010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29518
29519 Fix grub-emu build.
29520
29521 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29522
cdb3f378
RM
295232010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
295242010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29525
29526 Support for multiple terminals.
29527
29528 * Makefile.in (pkglib_DATA): terminal.lst.
29529 (terminal.lst): New target.
29530 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29531 (GRUB_MOD_INIT(handler)): Likewise.
29532 (GRUB_MOD_FINI(handler)): Likewise.
29533 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29534 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29535 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29536 (grub_cmd_sleep): Use grub_term_save_pos.
29537 * commands/terminal.c: New file.
29538 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29539 commands/terminal.c and lib/charset.c.
29540 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29541 (pkglib_MODULES): Add terminal.mod.
29542 (terminal_mod_SOURCES): New variable.
29543 (terminal_mod_CFLAGS): Likewise.
29544 (terminal_mod_LDFLAGS): Likewise.
29545 * genhandlerlist.sh: Don't handle terminals.
29546 * genmk.rb: Generate terminal-*.lst.
29547 * genterminallist.sh: New file.
29548 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29549 (grub_is_valid_utf8): Likewise.
29550 (grub_utf8_to_ucs4_alloc): Likewise.
29551 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29552 (grub_menu_register_viewer): Changed argument.
29553 (grub_menu_try_text): New proto.
29554 (grub_gfxmenu_try_hook): New declaration.
29555 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29556 (grub_menu_init_page): Additional argument term.
29557 (grub_normal_init_page): Likewise.
29558 (grub_cmdline_get): Arguments simplified.
29559 (grub_utf8_to_ucs4_alloc): Removed.
29560 (grub_print_ucs4): Additional argument term.
29561 (grub_getstringwidth): Likewise.
29562 (grub_print_message_indented): Likewise.
29563 (grub_menu_text_register_instances): New proto.
29564 (grub_show_menu): Likewise.
29565 (read_terminal_list): Likewise.
29566 (grub_set_more): Likewise.
29567 * include/grub/parser.h: Include handler.h.
29568 * include/grub/reader.h: Rewritten.
29569 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29570 (GRUB_TERM_WIDTH): Changed to function.
29571 (GRUB_TERM_HEIGHT): Likewise.
29572 (GRUB_TERM_BORDER_WIDTH): Likewise.
29573 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29574 (GRUB_TERM_NUM_ENTRIES): Likewise.
29575 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29576 (GRUB_TERM_CURSOR_X): Likewise.
29577 (grub_term_input_class): Likewise.
29578 (grub_term_output_class): Likewise.
29579 (grub_term_outputs_disabled): New declaration.
29580 (grub_term_inputs_disabled): Likewise.
29581 (grub_term_outputs): Likewise.
29582 (grub_term_inputs): Likewise.
29583 (grub_term_register_input): Rewritten.
29584 (grub_term_register_output): Likewise.
29585 (grub_term_unregister_input): Likewise.
29586 (grub_term_unregister_output): Likewise.
29587 (FOR_ACTIVE_TERM_INPUTS): New macro.
29588 (FOR_DISABLED_TERM_INPUTS): Likewise.
29589 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29590 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29591 * include/grub/terminfo.h: Add oterm argument to all protypes.
29592 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29593 Use grub_rescue_run.
29594 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29595 All users updated.
29596 * kern/reader.c: Removed. All users updated.
29597 * kern/rescue_reader.c (grub_rescue_init): Removed.
29598 (grub_rescue_reader): Likewise.
29599 (grub_register_rescue_reader): Likewise.
29600 (grub_rescue_run): New function based on kern/reader.c.
29601 * kern/term.c: Adapted for multiterm.
29602 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29603 (grub_is_valid_utf8): Likewise.
29604 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29605 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29606 right terminal.
29607 * loader/i386/linux.c (grub_linux_boot): Likewise.
29608 * normal/auth.c (grub_username_get): New function.
29609 (grub_auth_check_authentication): Use grub_username_get.
29610 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29611 * normal/color.c: Adapt for multiterm.
29612 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29613 (grub_normal_init_page): Additional argument term.
29614 (read_lists): Call read_terminal_lists.
29615 (grub_enter_normal_mode): Call grub_cmdline_run.
29616 Handle grub_normal_exit_level.
29617 (grub_cmd_normal): Make reentrant.
29618 (grub_cmd_normal_exit): New function.
29619 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29620 * normal/menu.c: Adapt for multiterm.
29621 * normal/menu_entry.c: Likewise.
29622 * normal/menu_text.c: Likewise.
29623 * normal/menu_viewer.c: Removed. All users updated.
29624 * normal/term.c: New file.
29625 * util/console.c: Change order of includes to workaround a bug in
29626 ncurses headers.
29627 * term/terminfo.c: New argument oterm on all exported functions.
29628 All users updated.
29629 * util/grub-editenv.c (grub_term_input_class): Removed.
29630 (grub_term_output_class): Likewise.
29631
1a064917
RM
296322010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29633
29634 Make loader output a bit more user-friendly.
29635
29636 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29637 is being loaded. Likewise for the Hurd.
29638
29639 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29640 that kernel of FreeBSD ${version} is being loaded.
29641
29642 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29643 grub_dprintf().
29644 (grub_cmd_initrd): Likewise.
29645 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29646 that Linux ${version} is being loaded. Likewise for initrd.
29647
5ce0a83a 296482010-01-09 Carles Pina i Estany <carles@pina.cat>
29649
29650 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29651
809bbfeb 296522010-01-08 Carles Pina i Estany <carles@pina.cat>
29653
29654 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29655 (GRUB_MOD_INIT): Gettextizze.
29656 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29657 (GRUB_MOD_INIT): Gettextizze.
29658 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29659 (grub_cmd_linux): Capitalise Linux.
29660 (GRUB_MOD_INIT): Gettextizze.
29661 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29662 (grub_cmd_linux): Capitalise Linux.
29663 (GRUB_MOD_INIT): Gettextizze.
29664 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29665 (grub_cmd_linux): Capitalise Linux.
29666 (GRUB_MOD_INIT): Gettextizze.
29667 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29668 (GRUB_MOD_INIT): Gettextizze.
29669 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29670 (grub_cmd_linux): Capitalise Linux.
29671 (GRUB_MOD_INIT): Gettextizze.
29672 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29673 (grub_cpu_xnu_init): Gettextizze.
29674 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29675 (GRUB_MOD_INIT): Gettextizze.
29676 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29677 (GRUB_MOD_INIT): Gettextizze.
29678 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29679 (grub_linux_load64): Capitalise Linux.
29680 (GRUB_MOD_INIT): Gettextizze.
29681 * loader/xnu.c: Include `<grub/i18n.h>'.
29682 (GRUB_MOD_INIT): Gettextizze.
29683 * po/POTFILES: Add `loader/efi/appleloader.c',
29684 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29685 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29686 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29687 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29688 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29689 and `loader/xnu.c'.
29690
b394b2ca
RM
296912010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29692
29693 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
29694
296952010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
29696
29697 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
29698 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
29699 * util/mkisofs/mkisofs.c (main): Readjust --version output.
29700
bc8b32b3
RM
297012010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29702
29703 Reset Multiboot 2 support. New loader implements the draft in
29704 /branches/multiboot2 and shares as much code as possible with the
29705 production Multiboot 1 implementation.
29706
29707 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
29708 * loader/multiboot2.c: Likewise.
29709 * loader/i386/multiboot_helper.S: Likewise.
29710 * include/multiboot2.h: Replace with latest version from the draft
29711 in /branches/multiboot2.
29712
29713 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
29714 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
29715 and `loader/multiboot2.c'.
29716 (pkglib_MODULES): Add `multiboot2.mod'.
29717 (multiboot2_mod_SOURCES): New variable.
29718 (multiboot2_mod_LDFLAGS): Likewise.
29719 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
29720
29721 * conf/i386-pc.rmk: Likewise.
29722
29723 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29724 (multiboot_mod_SOURCES): Remove variable.
29725 (multiboot_mod_LDFLAGS): Likewise.
29726 (multiboot_mod_CFLAGS): Likewise.
29727
29728 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
29729 `<multiboot2.h>' instead of `<multiboot.h>'.
29730 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
29731 (MULTIBOOT_HEADER_MAGIC): New macros.
29732
29733 * loader/multiboot_loader.c (module_version_status): Remove variable.
29734 (find_multi_boot2_header): Remove function.
29735 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
29736 logic. Always check for the Multiboot version we're compiling for.
29737 (grub_cmd_module_loader): Likewise.
29738 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
29739 command instead of `multiboot'.
29740
5d2c52b8
RM
297412010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29742
29743 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
29744 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
29745 all users.
29746
53108d92
RM
297472010-01-07 Robert Millan <rmh.grub@aybabtu.com>
297482010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29749
29750 Fix breakage introduced with previous commit.
29751
29752 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
29753 commands.
29754 * normal/handler.c (read_handler_list): Revert part of previous commit
29755 affecting this file.
29756 * normal/main.c (read_lists): Move read_handler_list() call back to ...
29757 (grub_normal_execute): ... here.
29758
e2e936b2
RM
297592010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29760
29761 Merge prefix-redefinition-fix branch.
29762
29763 * normal/autofs.c (read_fs_list): Make function capable of being
29764 run multiple times, gracefuly replacing the previous data
29765 structures.
29766 * normal/dyncmd.c (read_command_list): Likewise.
29767 * normal/handler.c (read_handler_list): Likewise.
29768 * normal/main.c (read_lists): New function. Calls all the
29769 list reading functions.
29770 (grub_normal_execute): Use read_lists() instead of calling all
29771 list reading functions explicitly. Register read_lists() as a
29772 variable hook attached to ${prefix}.
29773
607a3701
VS
297742010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29775
29776 Merge crypto branch.
29777
29778 * Makefile.in (pkglib_DATA): Add crypto.lst.
29779 (crypto.lst): New target.
29780 * commands/hashsum.c: New file.
29781 * commands/password.c (check_password): Use grub_crypto_memcmp.
29782 * commands/password_pbkdf2.c: New file.
29783 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
29784 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
29785 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
29786 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
29787 -I$(srcdir)/lib/libgcrypt_wrap.
29788 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
29789 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
29790 password_pbkdf2.mod.
29791 (crypto_mod_SOURCES): New variable.
29792 (crypto_mod_CFLAGS): Likewise.
29793 (crypto_mod_LDFLAGS): Likewise.
29794 (hashsum_mod_SOURCES): New variable.
29795 (hashsum_mod_CFLAGS): Likewise.
29796 (hashsum_mod_LDFLAGS): Likewise.
29797 (pbkdf2_mod_SOURCES): New variable.
29798 (pbkdf2_mod_CFLAGS): Likewise.
29799 (pbkdf2_mod_LDFLAGS): Likewise.
29800 (password_pbkdf2_mod_SOURCES): New variable.
29801 (password_pbkdf2_mod_CFLAGS): Likewise.
29802 (password_pbkdf2_mod_LDFLAGS): Likewise.
29803 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
29804 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
29805 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
29806 Include conf/gcry.rmk.
29807 * include/grub/auth.h: Rewritten.
29808 * include/grub/crypto.h: New file.
29809 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
29810 * include/grub/normal.h (read_crypto_list): New prototype.
29811 * lib/crypto.c: New file.
29812 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29813 * lib/pbkdf2.c: Likewise.
29814 * normal/auth.c (grub_auth_strcmp): Removed.
29815 (grub_iswordseparator): Likewise.
29816 (grub_auth_strword): Likewise.
29817 (is_authenticated): Use grub_strword.
29818 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
29819 and grub_strword. Pass entered password to authentication callback.
29820 * normal/crypto.c: New file.
29821 * normal/main.c: Call read_crypto_list.
29822 * util/grub-mkpasswd-pbkdf2.c: New file.
29823 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
29824
42841caa
VS
298252010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
29826
29827 Fix descent and ascent calculation.
29828
29829 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
29830 (options): New option "asce".
29831 (usage): Likewise.
29832 (add_char): Ignore invalid glyphs for descent calculation.
29833 Calculate ascent from actual content.
29834 (print_glyphs): Use 'asce'.
29835 (write_font): Likewise. Allow ascent override.
29836 (main): Handle "asce" option.
29837
e7730de7 298382010-01-06 Carles Pina i Estany <carles@pina.cat>
29839
29840 * kern/err.c: Include `<grub/i18n.h>'.
29841 (grub_print_error): Add full stop. Gettextizze.
29842 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
29843 (grub_bsd_load_elf): Capitalise ELF.
29844 (grub_cmd_freebsd_loadenv): Add `s' in error string.
29845 (grub_cmd_freebsd_module): Likewise.
29846 (grub_cmd_freebsd_module_elf): Likewise.
29847 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
29848
40e3a41f 298492010-01-06 Carles Pina i Estany <carles@pina.cat>
29850
29851 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
29852 * commands/search_file.c (HELP_MESSAGE): New macro.
29853 * commands/search_label.c (HELP_MESSAGE): Likewise.
29854 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
29855 * po/POTFILES: Add `commands/search_file.c',
29856 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
29857 `commands/search.c'.
29858
83507e68
RM
298592010-01-05 Robert Millan <rmh.grub@aybabtu.com>
29860
29861 * config.rpath: Update from Gnulib.
29862
465c787b
YB
298632010-01-05 Yves Blusseau <blusseau@zetam.org>
29864
29865 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
29866
6581dd3a
YB
298672010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
29868
29869 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
29870
3bff18c5
CW
298712010-01-05 Colin Watson <cjwatson@ubuntu.com>
29872
29873 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
29874 arguments to fread so that we get a return value in bytes, rather
29875 than something that will normally be rounded down to 0.
29876 Adjust error handling to avoid producing garbage when size_t is not
29877 the same size as long long.
29878
a1368118
CW
298792010-01-05 Colin Watson <cjwatson@ubuntu.com>
29880
29881 * util/mkisofs/write.c (padblock_write): Check return value of
29882 fread.
29883
7c302978
RM
298842010-01-05 Robert Millan <rmh.grub@aybabtu.com>
29885
29886 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
29887 floppy images now.
29888
29889 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
29890
e33ace06
RM
298912010-01-04 Robert Millan <rmh.grub@aybabtu.com>
29892
29893 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
29894 instead of manual alignment.
29895 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
29896 verbose). Avoid attempts to read past end of the device
29897 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
29898 but GRUB_DISK_CACHE_SIZE may exceed that).
29899
4b856776
RM
299002010-01-04 Robert Millan <rmh.grub@aybabtu.com>
29901
29902 * commands/crc.c (grub_cmd_crc): Abort on read errors.
29903 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
29904 it to upper layer.
29905
52c2d97f
VS
299062010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
29907
29908 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
29909 New constant.
29910 (grub_efi_piwg_device_path): New structure
29911 (grub_efi_piwg_device_path_t): New type.
29912 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
29913 (devpath_1): Transform to a structure. All users updated.
29914 (devpath_2): Likewise.
29915 (devpath_3): Likewise.
29916 (devpath_4): Likewise.
29917 (devpath_5): Likewise.
29918
98ff6a54
VS
299192010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
29920
29921 * loader/efi/appleloader.c: Restored. Update all users.
29922
3a73dcb6
RM
299232010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29924
29925 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
29926
29927 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
29928 (struct boot_blocklist): Move from here ...
29929 * include/grub/i386/pc/boot.h [ASM_FILE]
29930 (struct grub_boot_blocklist): ... to here. Update all users.
29931 (setup): Only initialize `start' member of `first_block'
29932 structure. Add assert() calls to verify the other members.
29933
29934 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
29935 (generate_image): Fix broken blocklist length initialization.
29936 Add assert() call to verify blocklist `segment' field.
29937
ab0eeb0c
RM
299382010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29939
29940 * loader/efi/appleloader.c: Remove. Update all users.
29941
58bc8bd5
RM
299422010-01-03 Robert Millan <rmh.grub@aybabtu.com>
29943
29944 * boot/i386/pc/boot.S: Update copyright year.
29945 * boot/i386/pc/cdboot.S: Likewise.
29946 * boot/i386/pc/diskboot.S: Likewise.
29947 * boot/i386/pc/lnxboot.S: Likewise.
29948 * boot/i386/pc/pxeboot.S: Likewise.
29949 * bus/pci.c: Likewise.
29950 * commands/cmp.c: Likewise.
29951 * commands/help.c: Likewise.
29952 * commands/hexdump.c: Likewise.
29953 * commands/i386/pc/halt.c: Likewise.
29954 * commands/i386/pc/play.c: Likewise.
29955 * commands/i386/pc/vbeinfo.c: Likewise.
29956 * commands/ls.c: Likewise.
29957 * commands/test.c: Likewise.
29958 * disk/dmraid_nvidia.c: Likewise.
29959 * disk/i386/pc/biosdisk.c: Likewise.
29960 * disk/ieee1275/nand.c: Likewise.
29961 * disk/ieee1275/ofdisk.c: Likewise.
29962 * disk/lvm.c: Likewise.
29963 * disk/raid.c: Likewise.
29964 * disk/raid6_recover.c: Likewise.
29965 * disk/scsi.c: Likewise.
29966 * fs/affs.c: Likewise.
29967 * fs/cpio.c: Likewise.
29968 * fs/ext2.c: Likewise.
29969 * fs/hfs.c: Likewise.
29970 * fs/iso9660.c: Likewise.
29971 * fs/ntfs.c: Likewise.
29972 * fs/sfs.c: Likewise.
29973 * fs/udf.c: Likewise.
29974 * fs/ufs.c: Likewise.
29975 * fs/xfs.c: Likewise.
29976 * gencmdlist.sh: Likewise.
29977 * genmk.rb: Likewise.
29978 * include/grub/disk.h: Likewise.
29979 * include/grub/efi/api.h: Likewise.
29980 * include/grub/efi/efi.h: Likewise.
29981 * include/grub/efi/pe32.h: Likewise.
29982 * include/grub/elf.h: Likewise.
29983 * include/grub/fs.h: Likewise.
29984 * include/grub/i386/at_keyboard.h: Likewise.
29985 * include/grub/i386/pc/memory.h: Likewise.
29986 * include/grub/i386/pc/vbe.h: Likewise.
29987 * include/grub/i386/pci.h: Likewise.
29988 * include/grub/i386/tsc.h: Likewise.
29989 * include/grub/ieee1275/ieee1275.h: Likewise.
29990 * include/grub/ntfs.h: Likewise.
29991 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29992 * include/grub/sparc64/libgcc.h: Likewise.
29993 * include/grub/symbol.h: Likewise.
29994 * include/grub/types.h: Likewise.
29995 * include/multiboot2.h: Likewise.
29996 * io/gzio.c: Likewise.
29997 * kern/device.c: Likewise.
29998 * kern/disk.c: Likewise.
29999 * kern/efi/efi.c: Likewise.
30000 * kern/efi/mm.c: Likewise.
30001 * kern/elf.c: Likewise.
30002 * kern/file.c: Likewise.
30003 * kern/i386/dl.c: Likewise.
30004 * kern/i386/pc/init.c: Likewise.
30005 * kern/i386/pc/startup.S: Likewise.
30006 * kern/ieee1275/ieee1275.c: Likewise.
30007 * kern/ieee1275/init.c: Likewise.
30008 * kern/main.c: Likewise.
30009 * kern/mm.c: Likewise.
30010 * kern/powerpc/dl.c: Likewise.
30011 * kern/sparc64/dl.c: Likewise.
30012 * kern/x86_64/dl.c: Likewise.
30013 * lib/hexdump.c: Likewise.
30014 * loader/efi/appleloader.c: Likewise.
30015 * loader/i386/ieee1275/linux.c: Likewise.
30016 * loader/i386/pc/chainloader.c: Likewise.
30017 * loader/i386/pc/linux.c: Likewise.
30018 * loader/i386/pc/multiboot2.c: Likewise.
30019 * loader/ieee1275/multiboot2.c: Likewise.
30020 * loader/multiboot2.c: Likewise.
30021 * loader/multiboot_loader.c: Likewise.
30022 * loader/powerpc/ieee1275/linux.c: Likewise.
30023 * normal/completion.c: Likewise.
30024 * normal/menu_entry.c: Likewise.
30025 * partmap/apple.c: Likewise.
30026 * util/grub.d/10_hurd.in: Likewise.
30027 * util/hostfs.c: Likewise.
30028 * video/readers/png.c: Likewise.
30029
e2d70b5c
CW
300302010-01-03 Colin Watson <cjwatson@ubuntu.com>
30031
30032 * include/grub/misc.h (GNUC_PREREQ): New macro.
30033 (ATTRIBUTE_ERROR): New macro.
30034 * include/grub/list.h (grub_bad_type_cast_real): Use
30035 ATTRIBUTE_ERROR.
30036
a173283f 300372010-01-03 Carles Pina i Estany <carles@pina.cat>
30038
30039 * normal/menu_text.c (print_message): Change messages.
30040
7fa7ff74 300412010-01-03 Carles Pina i Estany <carles@pina.cat>
30042
30043 * normal/menu_entry.c (store_completion): Gettextizze.
30044
136d24f6 300452010-01-03 Carles Pina i Estany <carles@pina.cat>
30046
30047 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30048
f936862e 300492010-01-03 Carles Pina i Estany <carles@pina.cat>
30050
30051 * po/POTFILES: Sort correctly.
30052
29c44ad1 300532010-01-03 Carles Pina i Estany <carles@pina.cat>
30054
30055 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30056 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30057 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30058 full stop.
30059 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30060 summary. Gettextizze the strings.
30061 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30062 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30063 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30064 full stop.
30065 (GRUB_MOD_INIT): Remove command name from summary.
30066 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30067 summary.
30068 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30069 * term/i386/pc/serial.c (options): Add full stops.
30070 (GRUB_MOD_INIT): Remove command name from the summary.
30071
77a79592 300722010-01-03 Carles Pina i Estany <carles@pina.cat>
30073
30074 * commands/acpi.c: Gettextizze help strings and/or options. Include
30075 `grub/i18n.h' if needed.
30076 * commands/blocklist.c: Likewise.
30077 * commands/boot.c: Likewise.
30078 * commands/cat.c: Likewise.
30079 * commands/cmp.c: Likewise.
30080 * commands/configfile.c: Likewise.
30081 * commands/crc.c: Likewise.
30082 * commands/date.c: Likewise.
30083 * commands/echo.c: Likewise.
30084 * commands/efi/fixvideo.c: Likewise.
30085 * commands/efi/loadbios.c: Likewise.
30086 * commands/gptsync.c: Likewise.
30087 * commands/halt.c: Likewise.
30088 * commands/handler.c: Likewise.
30089 * commands/hdparm.c: Likewise.
30090 * commands/hexdump.c: Likewise.
30091 * commands/i386/cpuid.c: Likewise.
30092 * commands/i386/pc/drivemap.c: Likewise.
30093 * commands/i386/pc/halt.c: Likewise.
30094 * commands/i386/pc/pxecmd.c: Likewise.
30095 * commands/i386/pc/vbeinfo.c: Likewise.
30096 * commands/i386/pc/vbetest.c: Likewise.
30097 * commands/ieee1275/suspend.c: Likewise.
30098 * commands/keystatus.c: Likewise.
30099 * commands/loadenv.c: Likewise.
30100 * commands/ls.c: Likewise.
30101 * commands/lsmmap.c: Likewise.
30102 * commands/lspci.c: Likewise.
30103 * commands/memrw.c: Likewise.
30104 * commands/minicmd.c: Likewise.
30105 * commands/parttool.c: Likewise.
30106 * commands/password.c: Likewise.
30107 * commands/probe.c: Likewise.
30108 * commands/read.c: Likewise.
30109 * commands/reboot.c: Likewise.
30110 * commands/search.c: Likewise.
30111 * commands/sleep.c: Likewise.
30112 * commands/test.c: Likewise.
30113 * commands/true.c: Likewise.
30114 * commands/usbtest.c: Likewise.
30115 * commands/videotest.c: Likewise.
30116 * commands/xnu_uuid.c: Likewise.
30117 * disk/loopback.c: Likewise.
30118 * hello/hello.c: Likewise.
30119 * loader/i386/bsd.c: Likewise.
30120 * term/i386/pc/serial.c: Likewise.
30121 * po/POTFILES: Add new files.
30122
da8d5c53
CW
301232010-01-02 Colin Watson <cjwatson@ubuntu.com>
30124
30125 * term/i386/pc/at_keyboard.c
30126 (keyboard_controller_wait_untill_ready): Rename to ...
30127 (keyboard_controller_wait_until_ready): ... this. Update all users.
30128
33937904 301292010-01-01 Carles Pina i Estany <carles@pina.cat>
30130
30131 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30132 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30133 string using string width.
30134 * normal/menu_text.c (grub_print_message_indented): Use
30135 grub_print_spaces and not print_spaces.
30136 (print_timeout): Likewise.
30137 (print_spaces): Move to...
30138 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30139
3fd3b8d8
RM
301402010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30141
30142 Import from Gnulib.
30143
30144 * gnulib/getdelim.c: New file.
30145 * gnulib/getline.c: Likewise.
30146
33433555
VS
301472009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30148
30149 * include/grub/list.h (grub_assert_fail): Removed.
30150 (grub_bad_type_cast_real): New function.
30151 (grub_bad_type_cast): New macro.
30152 (GRUB_AS_LIST): Use grub_bad_type_cast.
30153 (GRUB_AS_LIST_P): Likewise.
e44721e8 30154 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30155 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30156 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30157 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30158 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30159
f5a51306
VS
301602009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30161
30162 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30163 Fix syntax error.
30164
90d1e879
RM
301652009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30166
30167 * configure.ac: Check for TARGET_CFLAGS initialization before we
30168 initialize it ourselves (sigh).
30169 Move a few modifications to TARGET_CFLAGS to be unconditional
30170 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30171 eh_frame)
30172
30173 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30174 * term/i386/pc/at_keyboard.c
30175 (keyboard_controller_wait_untill_ready): Likewise.
30176 (keyboard_controller_led): Rename `led_status' paramter to avoid
30177 name conflict.
30178
465b5a81 301792009-12-28 Carles Pina i Estany <carles@pina.cat>
30180
30181 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30182 quotes.
30183
c181849b
VS
301842009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30185
30186 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30187
9c8739a4
VS
301882009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30189
30190 * normal/menu_text.c (grub_print_message_indented): Prevent
30191 past-the-end-of-array dereference.
30192
3e74249c
VS
301932009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30194
30195 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30196 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30197
64fd18ed 301982009-12-27 Carles Pina i Estany <carles@pina.cat>
30199
30200 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30201 * normal/main.c (grub_normal_read_line): Remove a space from the
30202 default prompt.
30203
714af9b9 302042009-12-27 Carles Pina i Estany <carles@pina.cat>
30205
30206 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30207 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30208 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30209 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30210 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30211 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30212 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30213
82f3e412 302142009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30215
30216 * video/readers/jpeg.c (cmd): Declare.
30217 (grub_cmd_jpegtest): Use `grub_command_t' type.
30218 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30219 Assign to `cmd'.
30220 (GRUB_MOD_FINI): Use `cmd' to unregister.
30221 * video/readers/png.c (cmd): Declare.
30222 (grub_cmd_pngtest): Use `grub_command_t' type.
30223 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30224 Assign to `cmd'.
30225 (GRUB_MOD_FINI): Use `cmd' to unregister.
30226 * video/readers/tga.c (cmd): Declare.
30227 (grub_cmd_tgatest): Use `grub_command_t' type.
30228 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30229 Assign to `cmd'.
30230 (GRUB_MOD_FINI): Use `cmd' to unregister.
30231
82f3e412 302322009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30233
30234 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30235 stops.
30236 * kern/corecmd.c (grub_register_core_commands): Likewise.
30237 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30238 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30239 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30240 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30241 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30242 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30243 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30244 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30245 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30246 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30247 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30248 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30249 * normal/handler.c (insert_handler): Likewise.
30250 * normal/main.c (GRUB_MOD_INIT): Likewise.
30251 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30252
fdcdbb66 302532009-12-26 Carles Pina i Estany <carles@pina.cat>
30254
30255 * commands/help.c (grub_cmd_help): Print the command name before the
30256 summary.
30257 (GRUB_MOD_INIT): Remove command name from the summary.
30258 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30259 string as summary.
fdcdbb66 30260 * lib/arg.c (find_long): Print the command name before the summary.
30261 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30262 summary.
30263 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30264 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30265 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30266 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30267 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30268 * commands/date.c (GRUB_MOD_INIT): Likewise.
30269 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30270 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30271 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30272 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30273 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30274 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30275 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30276 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30277 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30278 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30279 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30280 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30281 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30282 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30283 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30284 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30285 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30286 * commands/password.c (GRUB_MOD_INIT): Likewise.
30287 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30288 * commands/read.c (GRUB_MOD_INIT): Likewise.
30289 * commands/search.c (GRUB_MOD_INIT): Likewise.
30290 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30291 * commands/test.c (GRUB_MOD_INIT): Likewise.
30292 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30293 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30294 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30295 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30296 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30297 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30298 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30299 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30300 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30301 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30302 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30303 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30304 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30305 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30306
9c288be2
VS
303072009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30308
30309 Use search command for preliminar UUID search.
30310
30311 * commands/search.c: Split into ...
30312 * commands/search_wrap.c: ...this
30313 * commands/search.c: ...and this.
30314 * commands/search_file.c: New file.
30315 * commands/search_label.c: New file.
30316 * commands/search_uuid.c: New file.
30317 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30318 Add commands/search_wrap.c, commands/search_file.c,
30319 commands/search_label.c and commands/search_uuid.c.
30320 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30321 (search_mod_SOURCES): Set to commands/search_wrap.c.
30322 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30323 search_label.mod.
30324 (search_fs_file_mod_SOURCES): New variable.
30325 (search_fs_file_mod_CFLAGS): Likewise.
30326 (search_fs_file_mod_LDFLAGS): Likewise.
30327 (search_label_mod_SOURCES): Likewise.
30328 (search_label_mod_CFLAGS): Likewise.
30329 (search_label_mod_LDFLAGS): Likewise.
30330 (search_fs_uuid_mod_SOURCES): New variable.
30331 (search_fs_uuid_mod_CFLAGS): Likewise.
30332 (search_fs_uuid_mod_LDFLAGS): Likewise.
30333 (fs_file_mod_SOURCES): Removed.
30334 (fs_file_mod_CFLAGS): Likewise.
30335 (fs_file_mod_LDFLAGS): Likewise.
30336 (fs_uuid_mod_SOURCES): Removed.
30337 (fs_uuid_mod_CFLAGS): Likewise.
30338 (fs_uuid_mod_LDFLAGS): Likewise.
30339 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30340 Set to util/grub-install.in.
30341 * disk/fs_file.c: Removed.
30342 * disk/fs_uuid.c: Likewise.
30343 * include/grub/search.h: New file.
30344 * util/grub-install.in: Handle sparc64.
30345 Create and use load.cfg.
30346 * util/sparc64/ieee1275/grub-install.in: Removed.
30347
db943399
VS
303482009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30349
30350 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30351 Ignore return status if CF is cleared.
30352 (grub_biosdisk_get_diskinfo_standard): Likewise.
30353
3fdae612
RM
303542009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30355
30356 * term/i386/pc/at_keyboard.c
30357 (keyboard_controller_wait_untill_ready): New function.
30358 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30359 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30360 for keyboard polling, rather than duplicate the same loop. This
30361 saves a few bytes in code size.
30362
7ebaa2b4
VS
303632009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30364
30365 Support for (pxe[:server[:gateway]]) syntax and
30366 use environment variable for PXE.
30367
30368 * commands/i386/pc/pxecmd.c (options): Removed.
30369 (print_ip): Removed.
30370 (grub_cmd_pxe): Removed
30371 (grub_cmd_pxe_unload): New function.
30372 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30373 (grub_pxe_your_ip): Made static.
30374 (grub_pxe_default_server_ip): Likewise.
30375 (grub_pxe_default_gateway_ip): Likewise.
30376 (grub_pxe_blksize): Likewise.
30377 (parse_ip): New function.
30378 (grub_pxe_open): Support server and gateway specification.
30379 (grub_pxe_close): Free disk->data.
30380 (grub_pxefs_open): Use disk->data.
30381 (grub_pxefs_read): Likewise.
30382 (grub_env_write_readonly): New function.
30383 (set_mac_env): Likewise.
30384 (set_env_limn_ro): Likewise.
30385 (parse_dhcp_vendor): Likewise.
30386 (grub_pxe_detect): Set the environment variables.
30387 (set_ip_env): New function.
30388 (write_ip_env): Likewise.
30389 (grub_env_write_pxe_default_server): Likewise.
30390 (grub_env_write_pxe_default_gateway): Likewise.
30391 (grub_env_write_pxe_blocksize): Likewise.
30392 (GRUB_MOD_INIT(pxe)): Set environment variables.
30393 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30394 (grub_pxe_mac_addr_t): ... this. All users updated.
30395 (grub_pxe_your_ip): Removed.
30396 (grub_pxe_server_ip): Likewise.
30397 (grub_pxe_gateway_ip): Likewise.
30398 (grub_pxe_blksize): Likewise.
30399
ec5f98ab 304002009-12-25 Carles Pina i Estany <carles@pina.cat>
30401
30402 * commands/help.c: Include `<grub/i18n.h>'.
30403 (grub_cmd_help): Gettextizze.
30404 (GRUB_MOD_INIT): Likewise.
30405 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30406 (GRUB_MOD_INIT): Gettextizze.
30407 * commands/search.c: Include `<grub/i18n.h>'.
30408 (options): Gettextizze.
30409 (GRUB_MOD_INIT): Gettextizze.
30410 * lib/arg.c: Include `<grub/i18n.h>'.
30411 (help_options): Gettextizze.
30412 (find_long): Likewise.
30413 (grub_arg_show_help): Likewise.
30414 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30415 (read_command_list): Gettextizze.
30416 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30417 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30418
22815526
RM
304192009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30420
30421 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30422 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30423 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30424 (led_status): New variable.
30425 (keyboard_controller_led): New function.
30426 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30427 update led status for caps lock, num lock and scroll lock.
30428
0ad46fd7
FZ
304292009-12-25 Felix Zielcke <fzielcke@z-51.de>
30430
30431 * util/hostdisk.c (open_device): Fix a comment.
30432
d0e158c2
RM
304332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30434
30435 * util/grub-install.in (host_os): New variable.
30436 * util/i386/efi/grub-install.in (host_os): Likewise.
30437
401c0ad6
RM
304382009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30439
30440 * util/mkisofs/write.c (padblock_write): Abort when given an
30441 excedingly large embed image, instead of silently truncating it.
30442
d14d3370
RM
304432009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30444
30445 * include/multiboot.h: Indentation fixes.
30446
eeed10b4
RM
304472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30448
30449 * include/multiboot.h (struct multiboot_aout_symbol_table)
30450 (struct multiboot_elf_section_header_table): New structure
30451 declarations (stolen from GRUB Legacy).
30452 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30453 table information.
30454
30455 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30456 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30457 type aliases.
30458
681c70ab
RM
304592009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30460
30461 * include/multiboot.h: Make comments src2texi-friendly.
30462
e4d47d8d
RM
304632009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30464
30465 For consistency with [multiboot]/docs/boot.S.
30466
30467 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30468 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30469 (MULTIBOOT_MAGIC2): Rename from this ...
30470 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30471
a0b70bda
RM
304722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30473
30474 * include/multiboot.h: Remove `<grub/types.h>'.
30475 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30476 types. Update all users.
30477
61ba42be 304782009-12-25 Carles Pina i Estany <carles@pina.cat>
30479
30480 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30481 `couldn't' and `can not' by `cannot'.
30482 * commands/i386/pc/drivemap.c: Likewise.
30483 * disk/ata.c: Likewise.
30484 * disk/ieee1275/nand.c: Likewise.
30485 * fs/affs.c: Likewise.
30486 * fs/fat.c: Likewise.
30487 * fs/hfs.c: Likewise.
30488 * fs/hfsplus.c: Likewise.
30489 * fs/iso9660.c: Likewise.
30490 * fs/jfs.c: Likewise.
30491 * fs/minix.c: Likewise.
30492 * fs/reiserfs.c: Likewise.
30493 * fs/sfs.c: Likewise.
30494 * fs/udf.c: Likewise.
30495 * fs/ufs.c: Likewise.
30496 * fs/xfs.c: Likewise.
30497 * loader/powerpc/ieee1275/linux.c: Likewise.
30498 * loader/sparc64/ieee1275/linux.c: Likewise.
30499 * util/grub-probe.c: Likewise.
30500 * util/misc.c: Likewise.
30501
7fd0baee 305022009-12-24 Carles Pina i Estany <carles@pina.cat>
30503
30504 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30505 grub_errno calls.
30506 * commands/acpi.c: Likewise.
30507 * commands/blocklist.c: Likewise.
30508 * commands/efi/loadbios.c: Likewise.
30509 * commands/i386/pc/drivemap.c: Likewise.
30510 * commands/loadenv.c: Likewise.
30511 * commands/memrw.c: Likewise.
30512 * commands/password.c: Likewise.
30513 * commands/videotest.c: Likewise.
30514 * disk/ata.c: Likewise.
30515 * disk/ata_pthru.c: Likewise.
30516 * disk/dmraid_nvidia.c: Likewise.
30517 * disk/ieee1275/nand.c: Likewise.
30518 * disk/ieee1275/ofdisk.c: Likewise.
30519 * disk/loopback.c: Likewise.
30520 * disk/lvm.c: Likewise.
30521 * disk/mdraid_linux.c: Likewise.
30522 * disk/raid.c: Likewise.
30523 * disk/raid6_recover.c: Likewise.
30524 * disk/scsi.c: Likewise.
30525 * efiemu/main.c: Likewise.
30526 * efiemu/mm.c: Likewise.
30527 * efiemu/pnvram.c: Likewise.
30528 * efiemu/symbols.c: Likewise.
30529 * font/font.c: Likewise.
30530 * fs/cpio.c: Likewise.
30531 * fs/hfsplus.c: Likewise.
30532 * fs/iso9660.c: Likewise.
30533 * fs/jfs.c: Likewise.
30534 * fs/minix.c: Likewise.
30535 * fs/ntfs.c: Likewise.
30536 * fs/ntfscomp.c: Likewise.
30537 * fs/reiserfs.c: Likewise.
30538 * fs/ufs.c: Likewise.
30539 * fs/xfs.c: Likewise.
30540 * gettext/gettext.c: Likewise.
30541 * include/grub/auth.h: Likewise.
30542 * kern/elf.c: Likewise.
30543 * kern/file.c: Likewise.
30544 * kern/ieee1275/init.c: Likewise.
30545 * kern/ieee1275/mmap.c: Likewise.
30546 * kern/ieee1275/openfw.c: Likewise.
30547 * kern/powerpc/dl.c: Likewise.
30548 * kern/sparc64/dl.c: Likewise.
30549 * lib/arg.c: Likewise.
30550 * loader/i386/bsd.c: Likewise.
30551 * loader/i386/bsdXX.c: Likewise.
30552 * loader/i386/efi/linux.c: Likewise.
30553 * loader/i386/efi/xnu.c: Likewise.
30554 * loader/i386/ieee1275/linux.c: Likewise.
30555 * loader/i386/linux.c: Likewise.
30556 * loader/i386/multiboot.c: Likewise.
30557 * loader/i386/pc/linux.c: Likewise.
30558 * loader/i386/pc/multiboot2.c: Likewise.
30559 * loader/i386/xnu.c: Likewise.
30560 * loader/ieee1275/multiboot2.c: Likewise.
30561 * loader/macho.c: Likewise.
30562 * loader/machoXX.c: Likewise.
30563 * loader/multiboot2.c: Likewise.
30564 * loader/multiboot_loader.c: Likewise.
30565 * loader/powerpc/ieee1275/linux.c: Likewise.
30566 * loader/sparc64/ieee1275/linux.c: Likewise.
30567 * loader/xnu.c: Likewise.
30568 * loader/xnu_resume.c: Likewise.
30569 * mmap/i386/pc/mmap.c: Likewise.
30570 * normal/menu_viewer.c: Likewise.
30571 * partmap/acorn.c: Likewise.
30572 * partmap/amiga.c: Likewise.
30573 * partmap/apple.c: Likewise.
30574 * script/lexer.c: Likewise.
30575 * term/gfxterm.c: Likewise.
30576 * term/i386/pc/serial.c: Likewise.
30577 * term/i386/pc/vga.c: Likewise.
30578 * term/ieee1275/ofconsole.c: Likewise.
30579 * term/terminfo.c: Likewise.
30580 * video/bitmap.c: Likewise.
30581 * video/efi_gop.c: Likewise.
30582 * video/efi_uga.c: Likewise.
30583 * video/fb/video_fb.c: Likewise.
30584 * video/i386/pc/vbe.c: Likewise.
30585 * video/readers/tga.c: Likewise.
30586 * video/video.c: Likewise.
30587
0ad46fd7 305882009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
30589
30590 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30591 * commands/lspci.c: Likewise.
30592 * commands/probe.c: Likewise.
30593 * commands/xnu_uuid.c: Likewise.
30594 * conf/i386-coreboot.rmk: Likewise.
30595 * conf/i386-efi.rmk: Likewise.
30596 * conf/i386-ieee1275.rmk: Likewise.
30597 * conf/i386-pc.rmk: Likewise.
30598 * conf/powerpc-ieee1275.rmk: Likewise.
30599 * conf/sparc64-ieee1275.rmk: Likewise.
30600 * conf/x86_64-efi.rmk: Likewise.
30601 * fs/i386/pc/pxe.c: Likewise.
30602 * gettext/gettext.c: Likewise.
30603 * include/grub/efi/graphics_output.h: Likewise.
30604 * include/grub/i386/pc/memory.h: Likewise.
30605 * kern/env.c: Likewise.
30606 * kern/i386/qemu/startup.S: Likewise.
30607 * lib/i386/pc/biosnum.c: Likewise.
30608 * lib/i386/relocator.c: Likewise.
30609 * lib/i386/relocator_asm.S: Likewise.
30610 * lib/relocator.c: Likewise.
30611 * loader/i386/bsd.c: Likewise.
30612 * loader/i386/multiboot.c: Likewise.
30613 * loader/i386/pc/chainloader.c: Likewise.
30614 * loader/i386/xnu.c: Likewise.
30615 * loader/xnu.c: Likewise.
30616 * normal/main.c: Likewise.
30617 * normal/menu_text.c: Likewise.
30618 * util/getroot.c: Likewise.
30619 * util/grub-mkconfig_lib.in: Likewise.
30620 * util/grub.d/00_header.in: Likewise.
30621 * util/i386/pc/grub-mkimage.c: Likewise.
30622 * util/mkisofs/eltorito.c: Likewise.
30623 * util/mkisofs/exclude.h: Likewise.
30624 * util/mkisofs/hash.c: Likewise.
30625 * util/mkisofs/iso9660.h: Likewise.
30626 * util/mkisofs/joliet.c: Likewise.
30627 * util/mkisofs/mkisofs.c: Likewise.
30628 * util/mkisofs/mkisofs.h: Likewise.
30629 * util/mkisofs/multi.c: Likewise.
30630 * util/mkisofs/name.c: Likewise.
30631 * util/mkisofs/rock.c: Likewise.
30632 * util/mkisofs/tree.c: Likewise.
30633 * util/mkisofs/write.c: Likewise.
30634 * video/efi_gop.c: Likewise.
30635
009ec743
VS
306362009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30637
30638 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30639 size counting.
30640
0ad46fd7 306412009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
30642
30643 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30644 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30645
d3d30ea0
VS
306462009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30647
30648 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30649 (GRUB_MOD_INIT(memrw)): Update help line.
30650
a34f5c70
VS
306512009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30652
30653 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30654 Use grub_extcmd_t. All users updated.
30655 (options): New variable.
30656 (grub_cmd_read): Restructure for readability. Support "-v" option.
30657 (grub_cmd_write): Restructure for readability.
30658
0ad46fd7 306592009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
30660
30661 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30662
0ad46fd7 306632009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
30664
30665 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30666 with the actual contents of the correspondending make variable.
30667 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30668 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30669 specifying `*.lst' and `efiemu??.o'
30670
0ad46fd7 306712009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
30672
30673 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30674 after function name.
30675 Noticed by Rene Engelhard <rene@debian.org>.
30676
dc77a799
VS
306772009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30678
30679 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30680 (options): New variable.
30681 (iospace): Likewise.
30682 (grub_lspci_iter): List IO spaces if "-i" was given.
30683 (grub_cmd_lspci): Parse options.
30684 (GRUB_MOD_INIT(lspci)): Use extcmd.
30685 (GRUB_MOD_FINI(lspci)): Likewise.
30686
0ad46fd7 306872009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
30688
30689 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30690 `function' keyword.
30691 Patch by Tony Mancill <tmancill@debian.org>.
30692
b5d5993b
VS
306932009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30694
30695 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
30696 (grub_uhci_portstatus): Likewise.
30697 (grub_uhci_portstatus): Add necessary delay.
11d18281 30698 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 30699
941903f2 307002009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 30701
941903f2 30702 * commands/acpi.c (options): Fix capitalizations and/or full stops.
30703 (GRUB_MOD_INIT): Likewise.
30704 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 30705 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
30706 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 30707 * commands/efi/loadbios.c (enable_rom_area): Likewise.
30708 (enable_rom_area): Likewise.
30709 (GRUB_MOD_INIT): Likewise.
30710 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30711 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
30712 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30713 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
30714 * commands/hexdump.c (options): Likewise.
30715 * commands/i386/cpuid.c (options): Likewise.
30716 (GRUB_MOD_INIT): Likewise.
30717 * commands/i386/pc/drivemap.c (options): Likewise.
30718 (GRUB_MOD_INIT): Likewise.
30719 * commands/i386/pc/halt (options): Likewise.
30720 (GRUB_MOD_INIT): Likewise.
30721 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30722 * commands/i386/pc/pxecmd.c (options): Likewise.
30723 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
30724 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
30725 * commands/keystatus.c (options): Likewise.
30726 (GRUB_MOD_INIT): Likewise.
30727 * commands/loadenv.c (options): Likewise.
30728 * commands/ls.c (options): Likewise.
30729 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30730 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30731 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30732 * commands/parttool.c (helpmsg): Likewise.
30733 * commands/probe.c (options): Likewise.
30734 * commands/read.c (GRUB_MOD_INIT): Likewise.
30735 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
30736 * commands/search.c (options): Likewise.
30737 * commands/sleep.c (options): Likewise.
30738 * commands/test.c (GRUB_MOD_INIT): Likewise.
30739 * commands/true.c (GRUB_MOD_INIT): Likewise.
30740 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
30741 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
30742 * lib/arg.c (help_options): Likewise.
e9bbb4e7 30743 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
30744 `$(XGETTEXT)'.
98a50553 30745 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 30746
0ad46fd7 307472009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 30748
ef3c2c3a 30749 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
30750 instead of specifying them explicit.
30751
7922f68b
RM
307522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30753
30754 * NEWS: Add grub-probe support for GNU/Hurd.
30755
537ce47f
RM
307562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30757
30758 * NEWS: gettext was added after 1.97.
30759
9b214e3a
RM
307602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30761
30762 * util/mkisofs/msdos_partition.h: New file (based on
30763 include/grub/msdos_partition.h).
30764 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
30765 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
30766 (ld_options, main): Recognize --protective-msdos-label.
30767 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
30768 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
30769 (padblock_write): If `use_protective_msdos_label' is set, patch a
30770 protective DOS-style label in the output image.
30771
30772 * util/grub-mkrescue.in: Use --protective-msdos-label.
30773
e9309813
RM
307742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30775
30776 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
30777 boot.
30778
0ae56929
RM
307792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30780
30781 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
30782 variables.
30783 (ld_options, main): Recognize `--embedded-boot'.
30784 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
30785 declarations.
30786 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
30787 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
30788 (padblock_write): Likewise. Rewrite to support embedded boot image.
30789
30790 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
30791 for BIOS-based disk boot instead of only ElTorito.
30792
b15937b1
RM
307932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30794
30795 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
30796 build (not needed for bootstrap).
30797
52cc3ce0
RM
307982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30799
30800 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
30801 from i386-pc build (not needed for bootstrap).
30802 Rewrite a pair of strings.
30803
36f5ff04
RM
308042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30805
30806 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
30807
973c6c85 308082009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
30809
30810 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
30811
05d21547
AB
308122009-12-21 Andreas Born <futur.andy@googlemail.com>
30813
30814 * kern/env.c (grub_env_context_open): Mark exported variable for
30815 reexport.
30816
0175d51f
AB
308172009-12-21 Andreas Born <futur.andy@googlemail.com>
30818
30819 * kern/env.c (grub_env_export): Create nonexistent variables before
30820 exporting.
30821
7f39d92f 308222009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 30823
7f39d92f 30824 * include/grub/auth.h: Include `<grub/i18n.h>'.
30825 (GRUB_GET_PASSWORD): Gettextizze string.
30826 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
30827 menu_text.c.
30828 (grub_utf8_to_ucs4_alloc): Fix indentation.
30829 (grub_print_ucs4): Likewise.
30830 (grub_getstringwidth): Likewise.
30831 (print_message_indented): New declaration.
30832 * normal/auth.c: Include `<grub/i18n.h>'.
30833 (grub_auth_check_authentication): Gettexttize string.
30834 * normal/cmdline.c: Include `<grub/i18n.h>'.
30835 (grub_cmdline_get): Gettextizze.
30836 * normal/color.c: Include `<grub/i18n.h>'.
30837 (grub_parse_color_name_pair): Gettexttize strings.
30838 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
30839 string (use `print_message_indented').
30840 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
30841 `include/grub/normal.h'.
30842 (print_message_indented): Renamed to ...
30843 (grub_print_message_indented): ... this. Remove `static' qualifer (now
30844 used in normal/main.c).
30845 (print_message): Use `grub_print_message_indented' instead of
30846 `print_message_indented'.
30847 (print_timeout): Likewise.
30848 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
30849 (grub_normal_print_device_info): Gettexttize strings.
30850 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
30851
3041d898
VS
308522009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30853
30854 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
30855 of arguments. Return number of tokens and not arguments. All users
30856 updated.
30857
de15bf8e
VS
308582009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
30859
30860 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
30861 non-MSDOS paritions.
30862
e0a6ca52
VS
308632009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
30864
30865 * include/grub/types.h (UNUSED): Removed since it conflicts with
30866 NetBSD headers. All users changed to direct __attribute__ ((unused)).
30867 Reported by Grégoire Sutre.
30868
b99518d1 308692009-12-19 Carles Pina i Estany <carles@pina.cat>
30870
30871 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
30872 (grub_print_ucs4_alloc): Likewise.
30873 (grub_getstringwidth): Likewise.
30874 * normal/main.c (grub_normal_init_page): Gettextize version string.
30875 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
30876 (getstringwidth): Renamed to ...
30877 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
30878 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
30879 (grub_print_ucs4): Remove `static' qualifer (now used in
30880 normal/main.c).
30881 * po/POTFILES: Add normal/main.c.
30882
bfd5e52b 308832009-12-19 Carles Pina i Estany <carles@pina.cat>
30884
30885 * normal/menu_text.c (STANDARD_MARGIN): New macro.
30886 (print_message_indented): Add `margin_left' and `margin_right'
30887 parameters.
30888 (print_message): Update `print_message_indented' calls. Adds '\n' to the
30889 strings.
30890 (print_timeout): Use `print_message_indented' to print the message.
30891 Deletes `second_stage' parameter.
30892 (run_menu): Update `print_timeout' calls.
30893
5a1ad2b9
VS
308942009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30895
30896 Fix console palette on OpenFirmware.
30897
30898 * term/ieee1275/ofconsole.c (MAX): Removed.
30899 (colors): Redone based on VGA palette.
30900 (grub_ofconsole_setcolor): Discard brightness bit since only 8
30901 colors are supported.
30902 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
30903
b045f00a
VS
309042009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
30905
30906 Fix potential EfiEmu double prepare.
30907
30908 * efiemu/main.c (prepared): New variable
30909 (grub_efiemu_unload): Set prepare to '0'.
30910 (grub_efiemu_prepare): Return if already prepared. Set prepared.
30911
30912 set_virtual_address_map support.
30913
30914 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
30915 prototype.
30916 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
30917 prototype.
30918 (grub_efiemu_crc32): Likewise.
30919 (grub_efiemu_crc64): Likewise.
30920 (grub_efiemu_set_virtual_address_map): Likewise.
30921 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
30922 New definition.
30923 (grub_autoefi_set_virtual_address_map): Likewise.
30924 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
30925 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
30926 Restructure flow to accomodate it.
30927 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
30928 (grub_efiemu_crc): Recompute CRC32.
30929 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
30930 (efiemu_ptv_relocated): ... this. Made global. All users updated.
30931 * efiemu/symbols.c (relocated_handle): New variable.
30932 (grub_efiemu_free_syms): Free relocated_handle.
30933 (grub_efiemu_alloc_syms): Allocate relocated_handle.
30934 (grub_efiemu_write_sym_markers): New function.
30935 (grub_efiemu_set_virtual_address_map): Likewise.
30936
30937 Newer XNU parameters.
30938
30939 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
30940 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
30941 (grub_xnu_fill_devicetree): New prototype.
30942 (grub_xnu_heap_real_start): New variable.
30943 * loader/xnu.c (get_name_ptr): New function.
30944 (grub_xnu_load_driver): Fill namelen and name.
30945
30946 64-bit xnu support.
30947
30948 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
30949 and 'loader/macho64.c'.
30950 * conf/i386-pc.rmk: Likewise.
30951 * conf/x86_64-efi.rmk: Likewise.
30952 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
30953 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
30954 * include/grub/macho.h (grub_macho_segment64): New structure.
30955 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
30956 (grub_macho_size32): ... to this.
30957 (grub_macho32_get_entry_point): Renamed from ...
30958 (grub_macho_get_entry_point32): ... to this.
30959 (grub_macho_contains_macho64): New prototype.
30960 (grub_macho_size64): Likewise.
30961 (grub_macho_get_entry_point64): Likewise.
30962 (grub_macho32_load): Renamed from ...
30963 (grub_macho_load32): ... to this.
30964 (grub_macho32_filesize): Renamed from ...
30965 (grub_macho_filesize32): ... to this.
30966 (grub_macho32_readfile): Renamed from ...
30967 (grub_macho_readfile32): ... to this.
30968 (grub_macho_filesize64): New prototype.
30969 (grub_macho_readfile64): Likewise.
30970 (grub_macho_parse32): Likewise.
30971 (grub_macho_parse64): Likewise.
30972 * loader/macho.c: Split into ...
30973 * loader/machoXX.c: ... and this. Replace 32 with XX.
30974 * loader/macho32.c: New file.
30975 * loader/macho64.c: Likewise.
30976 * loader/xnu.c (grub_xnu_is_64bit): New variable.
30977 (grub_cmd_xnu_kernel): Make 32-bit only.
30978 (grub_cmd_xnu_kernel64): New function.
30979 (grub_xnu_load_driver): Support Mach-O 64.
30980 (grub_cmd_xnu_mkext): Likewise.
30981 * util/grub.d/30_os-prober.in (osx_entry): New function.
30982 Generate entries for 64-bit boot too.
30983
30984 Eliminate ad-hoc tree format in XNU and EfiEmu.
30985
30986 * efiemu/main.c (grub_efiemu_prepare): Update comment.
30987 * efiemu/pnvram.c: Rewritten to use environment variables.
30988 All users updated.
30989
30990 Inline utf16_to_utf8.
30991
30992 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
30993 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
30994 All users updated.
30995 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
30996
30997 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
30998 * commands/usbtest.c (grub_usb_get_string): ... move here.
30999 (usb_print_str): Fix error handling.
31000 * include/grub/usb.h (grub_usb_get_string): Remove.
31001
31002 UTF-8 to UTF-16 transformation.
31003
31004 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31005 (charset_mod_SOURCES): New variable.
31006 (charset_mod_CFLAGS): Likewise.
31007 (charset_mod_LDFLAGS): Likewise.
31008 * include/grub/utf.h: New file.
31009 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31010
31011 Support for device properties.
31012
31013 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31014 (grub_xnu_devprop_device_header): Likewise.
31015 (grub_xnu_devprop_device_descriptor): Likewise.
31016 (grub_xnu_devprop_add_device): New prototype.
31017 (grub_xnu_devprop_remove_device): Likewise.
31018 (grub_xnu_devprop_remove_property): Likewise.
31019 (grub_xnu_devprop_add_property_utf8): Likewise.
31020 (grub_xnu_devprop_add_property_utf16): Likewise.
31021 (grub_cpu_xnu_init): Likewise.
31022 (grub_cpu_xnu_fini): Likewise.
31023 (grub_cpu_xnu_unload): Likewise.
31024 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31025 (property_descriptor): Likewise.
31026 (devices): New variable.
31027 (grub_xnu_devprop_remove_property): New function.
31028 (grub_xnu_devprop_add_device): Likewise.
31029 (grub_xnu_devprop_remove_device): Likewise.
31030 (grub_xnu_devprop_add_property): Likewise.
31031 (grub_xnu_devprop_add_property_utf8): Likewise.
31032 (grub_xnu_devprop_add_property_utf16): Likewise.
31033 (hextoval): Likewise.
31034 (grub_cpu_xnu_fill_devprop): Likewise.
31035 (grub_cmd_devprop_load): Likewise.
31036 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31037 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31038 (cmd_devprop_load): New variable.
31039 (grub_cpu_xnu_init): New function.
31040 (grub_cpu_xnu_fini): Likewise.
31041 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31042 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31043 (grub_cmd_xnu_devtree): Likewise.
31044 (hextoval): New function.
31045 (unescape): Likewise.
31046 (grub_xnu_fill_devicetree): Likewise.
31047
31048 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31049 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31050
0945f181
VS
310512009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31052
31053 Workaround for broken ATI VBE.
31054
31055 * video/i386/pc/vbe.c (last_set_mode): New variable.
31056 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31057 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31058 (grub_video_vbe_setup): Don't check for reserved flag.
31059
0ad46fd7 310602009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31061
31062 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31063 the `find' command.
31064
c179ebe4
VS
310652009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31066
31067 UUID support for HFS.
31068
31069 * fs/hfs.c (grub_hfs_uuid): New function.
31070 (grub_hfs_fs): New value .uuid.
31071 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31072
0ad46fd7 310732009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31074
31075 Fix a segfault with parsing unknown long options.
31076
31077 * util/grub-mkrelpath.c (options): Zero terminate it.
31078
c4a3e41a
CPE
310792009-12-13 Carles Pina i Estany <carles@pina.cat>
31080
31081 * include/grub/misc.h (grub_puts): New declaration.
31082 (grub_puts_): Likewise.
a22008a6 31083 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31084 (grub_puts_): Likewise.
31085
2e8a7602
RM
310862009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31087
31088 * util/grub-probe.c (probe): Improve error message.
31089
b50b77b9
RM
310902009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31091
31092 * loader/i386/multiboot_elfxx.c
31093 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31094 initialization.
31095
310962009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31097
31098 Relocator framework
31099
31100 * loader/i386/xnu_helper.S: Removed. All users updated.
31101 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31102 (relocator_mod_SOURCES): New variable.
31103 (relocator_mod_CFLAGS): Likewise.
31104 (relocator_mod_LDFLAGS): Likewise.
31105 (relocator_mod_ASFLAGS): Likewise.
31106 * conf/x86_64.rmk: Likewise.
31107 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31108 (grub_multiboot_payload_entry_offset): Likewise.
31109 (grub_multiboot_forward_relocator): Likewise.
31110 (grub_multiboot_forward_relocator_end): Likewise.
31111 (grub_multiboot_backward_relocator): Likewise.
31112 (grub_multiboot_backward_relocator_end): Likewise.
31113 (grub_multiboot_payload_eip): New variable.
31114 (grub_multiboot_payload_orig): Likewise.
31115 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31116 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31117 * include/grub/i386/memory.h
31118 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31119 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31120 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31121 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31122 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31123 * include/grub/i386/relocator.h: New file.
31124 * include/grub/x86_64/relocator.h: Likewise.
31125 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31126 (XNU_RELOCATOR): New macro.
31127 (grub_xnu_launcher_start): Remove.
31128 (grub_xnu_launcher_end): Likewise.
31129 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31130 (grub_xnu_heap_real_start): Remove.
31131 (grub_xnu_heap_start): Change to void *. All users updated.
31132 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31133 * lib/i386/relocator.c: New file.
31134 * lib/i386/relocator_asm.S: Likewise.
31135 * lib/i386/relocator_backward.S: Likewise.
31136 * lib/mips/relocator.c: Likewise.
31137 * lib/mips/relocator_asm.S: Likewise.
31138 * lib/relocator.c: Likewise.
31139 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31140 (entry): Removed.
31141 (playground): Likewise.
31142 (grub_multiboot_payload_orig): New variable.
31143 (grub_multiboot_payload_dest): Likewise.
31144 (grub_multiboot_payload_size): Likewise.
31145 (grub_multiboot_payload_eip): Likewise.
31146 (grub_multiboot_payload_esp): Likewise.
31147 (grub_multiboot_boot): Use grub_relocator32_boot.
31148 (grub_multiboot_unload): Free relocators.
31149 (grub_multiboot): Setup stack. Use relocators.
31150 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31151 (grub_multiboot_load_elfXX): Use relocators.
31152 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31153 (grub_multiboot_payload_size): Likewise.
31154 (grub_multiboot_payload_dest): Likewise.
31155 (grub_multiboot_payload_entry_offset): Likewise.
31156 (grub_multiboot_forward_relocator): Likewise.
31157 (grub_multiboot_backward_relocator): Likewise.
31158 (grub_multiboot_real_boot): Likewise.
31159 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31160 (grub_xnu_entry_point): Likewise.
31161 (grub_xnu_arg1): Likewise.
31162 (grub_xnu_stack): Likewise.
31163 (grub_xnu_launch): Removed.
31164 (grub_xnu_boot_resume): New function.
31165 (grub_xnu_boot): Use relocators.
31166 * loader/i386/xnu_helper.S: Removed.
31167 * loader/xnu.c (grub_xnu_heap_start): New variable.
31168 (grub_xnu_heap_size): Likewise.
31169 (grub_xnu_heap_malloc): Use relocators.
31170 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31171
29eb90c6
VS
311722009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31173
31174 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31175 anything.
31176
31027430
CPE
311772009-12-13 Carles Pina i Estany <carles@pina.cat>
31178
31179 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31180 GRUB_ERR_NONE before calling grub_env_set.
31181
dc0c71d9
RM
311822009-12-12 Robert Millan <rmh@aybabtu.com>
31183
31184 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31185 * genmk.rb (video): New variable.
31186 (CLEANFILES, VIDEOFILES): Add #{video}.
31187 (#{video}): New target rule.
31188 * genvideolist.sh: New file.
31189 * Makefile.in (pkglib_DATA): Add video.lst.
31190 (video.lst): New target rule.
31191 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31192 `video.lst'.
31193 * util/grub.d/30_os-prober.in: Replace `vbe' with
31194 ${GRUB_VIDEO_BACKEND}.
31195
2a4bfcf0
RM
311962009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31197
31198 * THANKS: Add David Miller.
31199
2a3aa4d5
RM
312002009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31201
31202 libpciaccess support.
31203
31204 * Makefile.in (LIBPCIACCESS): New variable.
31205 (enable_grub_emu_pci): Likewise.
31206 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31207 util/pci.c and commands/lspci.c.
31208 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31209 * configure.ac (grub-emu-pci): New option.
31210 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31211 (grub_pci_device_unmap_range): Likewise.
31212 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31213 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31214 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31215 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31216 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31217 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31218 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31219 * include/grub/pciutils.h: New file.
31220 * util/pci.c: Likewise.
31221
0ad46fd7 312222009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31223
31224 * util/misc.c: Don't include <errno.h> twice.
31225
0ad46fd7 312262009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31227
31228 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31229 name in an error message.
31230 (grub_biosdisk_rw): Likewise.
31231
2e59983c
VS
312322009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31233
31234 Eliminate NTFS 4Gib barrier.
31235
31236 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31237 (read_run_data): Likewise.
31238 (grub_ntfs_read_run_list): Likewise.
31239 (grub_ntfs_read_block): Likewise.
31240 (grub_ntfs_iterate_dir): Likewise.
31241 (read_mft): Likewise.
31242 (read_data): Likewise.
31243 Use COM_LOG_LEN.
31244 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31245 to avoid 64-bit division
31246 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31247 (grub_ntfs_rlst): Use grub_disk_addr_t.
31248
71ee178a
VS
312492009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31250
31251 Eliminate grub-fstest 4Gib barrier.
31252
31253 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31254 (read_file): Fix error reporting.
31255
2520d4b8
VS
312562009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31257
31258 Eliminate hexdump 4Gib barrier.
31259
31260 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31261 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31262
e1f27065
VS
312632009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31264
31265 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31266 Fixes amarsh bug.
31267
1a0f7f45
RM
312682009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31269
31270 Remove miscellaneous files in distclean target.
31271
31272 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31273
c631d9fb
CW
312742009-12-09 Colin Watson <cjwatson@ubuntu.com>
31275
31276 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31277 if they're already set. This resolves the conflict between my
31278 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31279 fixing the --grub-probe option again.
31280 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31281 change on 2009-10-06, so that we now once again source
31282 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31283
7c7b6106
RM
312842009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31285
31286 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31287 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31288 `util/devicemap.c'.
31289
e3069ec1
CPE
312902009-12-08 Carles Pina i Estany <carles@pina.cat>
31291
31292 * include/grub/misc.h (grub_printf_): New declaration.
31293 * kern/misc.c (grub_printf_): New definition.
31294 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31295 instead of `grub_printf' and `_'.
31296 * normal/menu_entry.c (store_completion): Likewise.
31297 (run): Likewise.
31298 (grub_menu_entry_run): Likewise.
31299 * normal/menu_text.c (grub_wait_after_message): Likewise.
31300 (notify_booting): Likewise.
31301 (notify_fallback): Likewise.
31302 (notify_execution_failure): Likewise.
31303
d6ceebf1
CW
313042009-12-07 Colin Watson <cjwatson@ubuntu.com>
31305
31306 * configure.ac: Check for vasprintf.
31307 * util/misc.c (asprintf): Move allocation from here ...
31308 (vasprintf): ... to here. New function.
31309 (xasprintf): New function.
31310 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31311 prototypes.
31312 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31313 * util/grub-mkfont.c (write_font): Likewise.
31314 * util/grub-probe.c (probe): Likewise.
31315 * util/hostdisk.c (make_device_name): Likewise.
31316
de6daa8b
DM
313172009-12-06 David S. Miller <davem@sunset.davemloft.net>
31318
31319 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31320 anything even prefixed with 'cdrom' as a cdrom.
31321
0ad46fd7 313222009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31323
31324 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31325 mount points.
31326
98d3dc02
CPE
313272009-12-05 Carles Pina i Estany <carles@pina.cat>
31328
31329 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31330 grub_gettext_msg_list.
31331 (grub_gettext_gettranslation_from_position): Return const char *
31332 and not char *.
a2c1332b 31333 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31334 returns from the list if existing there.
31335 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31336 (grub_gettext_delete_list): Delete the list.
31337 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31338 lang environment variable is changed.
31339 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31340
b283f108
VS
313412009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31342
31343 Rename kernel.mod to kernel.img.
31344
31345 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31346 (kernel_mod_EXPORTS): Rename to ...
31347 (kernel_img_EXPORTS): ... this.
31348 (kernel_mod_SOURCES): Rename to ...
31349 (kernel_img_SOURCES): ... this.
31350 (kernel_mod_HEADERS): Rename to ...
31351 (kernel_img_HEADERS): ... this. All users updated.
31352 (kernel_mod_CFLAGS): Rename to ...
31353 (kernel_img_CFLAGS): ... this.
31354 (kernel_mod_ASFLAGS): Rename to ...
31355 (kernel_img_ASFLAGS): ... this.
31356 (kernel_mod_LDFLAGS): Rename to ...
31357 (kernel_img_LDFLAGS): ... this.
31358 * conf/x86_64-efi.rmk: Likewise.
31359 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31360 (read_kernel_image): ... this. All users updated.
31361 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31362
69055f8a
CPE
313632009-12-05 Carles Pina i Estany <carles@pina.cat>
31364
31365 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31366 (print_spaces): New function.
31367 (grub_print_ucs4): New function.
31368 (getstringwidth): New function.
31369 (print_message_indented): New function.
31370 (print_message): Gettexttize strings using print_message_indented.
31371 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31372 width.
31373 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31374 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31375 Gettextize.
31376 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31377 string.
31378 (run): Likewise.
31379 (grub_menu_entry_run): Likewise.
31380 * PO/POTFILES: Add normal/menu_entry.c.
31381
f616f51c
VS
313822009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31383
31384 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31385
57bbe3be
CPE
313862009-12-05 Carles Pina i Estany <carles@pina.cat>
31387
31388 * util/grub-install.in: Install gettext .mo files.
31389 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31390
013d67a1
CPE
313912009-12-05 Carles Pina i Estany <carles@pina.cat>
31392
31393 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31394 grub_dprintf.
31395
fb954db0
RM
313962009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31397
31398 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31399 non-firmware-dependant one in realmode.S takes precedence.
31400
6b8474f8
RM
314012009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31402
31403 * commands/halt.c: Replace misc arch-specific headers with
31404 `<grub/misc.h>'.
31405 * commands/reboot.c: Likewise.
31406 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31407 `<grub/misc.h>'.
31408 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31409 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31410 (kernel_img_SOURCES): ... to here.
31411
31412 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31413 * include/grub/i386/pc/init.h: Likewise.
31414 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31415 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31416
31417 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31418
31419 * include/grub/i386/halt.h: Remove.
31420 * include/grub/i386/reboot.h: Likewise.
31421
31422 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31423
4b2e6ca2
DM
314242009-12-03 David S. Miller <davem@sunset.davemloft.net>
31425
31426 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31427 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31428 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31429 "progname.h"
31430 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31431 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31432 (usage): Add missing comma in printf.
31433
5239348f
RM
314342009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31435
31436 Use the same reboot approach on i386 coreboot and qemu as we do on
31437 BIOS.
31438
31439 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31440 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31441 * kern/i386/reboot.c: Remove.
31442 * include/grub/i386/reboot.h (grub_reboot): Export function.
31443 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31444 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31445 0xf000:0xfff0 instead of 0xffff:0x0000.
31446 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31447 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31448
ef34cbd4
RM
314492009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31450
31451 Fix $srcdir != $objdir build.
31452
31453 * Makefile.in (po/%.po): Rewrite as ...
31454 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31455
dc9837ea
ST
314562009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31457
31458 Fix GNU/Hurd grub-install crash.
31459 * util/grub-probe.c (probe): Try to access `path' only when it is not
31460 NULL.
31461
2f857f98
VS
314622009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31463
31464 Correct module naming.
31465
31466 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31467 (GRUB_MOD_INIT(efi_uga)): ... to this
31468 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31469 (GRUB_MOD_FINI(efi_uga)): ... to this
31470 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31471 (GRUB_MOD_INIT(efi_gop)): ... to this
31472 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31473 (GRUB_MOD_FINI(efi_gop)): ... to this
31474
c5448046
RM
314752009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31476
31477 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31478 translatable.
31479 (usage): Translate `arg' strings using gettext().
31480 Thanks to Jordi Mallach for the suggestion.
31481
c85184ad
VS
314822009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31483
31484 GOP support. Based on patch from Bean
31485 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31486
31487 * video/efi_gop.c: New file.
31488 * include/grub/efi/graphics_output.h: Likewise.
31489 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31490 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31491 variables.
31492 * conf/x86_64-efi.rmk: Likewise.
31493
8a4c48d8
VS
314942009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31495
31496 Rename efi_fb to efi_uga.
31497
31498 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31499 'efi_uga.mod'.
31500 (efi_fb_mod_SOURCES): Rename this ...
31501 (efi_uga_mod_SOURCES): ... to this.
31502 (efi_fb_mod_CFLAGS): Rename this ...
31503 (efi_uga_mod_CFLAGS): ... to this.
31504 (efi_fb_mod_LDFLAGS): Rename this ...
31505 (efi_uga_mod_LDFLAGS): ... to this.
31506 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31507 'efi_uga.mod'.
31508 (efi_fb_mod_SOURCES): Rename this ...
31509 (efi_uga_mod_SOURCES): ... to this.
31510 (efi_fb_mod_CFLAGS): Rename this ...
31511 (efi_uga_mod_CFLAGS): ... to this.
31512 (efi_fb_mod_LDFLAGS): Rename this ...
31513 (efi_uga_mod_LDFLAGS): ... to this.
31514 * video/efi_fb.c: Move this ...
31515 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31516
fb6c1a7b
RM
315172009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31518
31519 * po/README: New file. Explain our PO file workflow.
31520
3bc7896c
RM
315212009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31522
31523 * po/ChangeLog: Remove. Move relevant entries back to ...
31524 * ChangeLog: ... here.
31525 * po/ca.po: Remove (now handled by TLP).
31526 * po/id.po: Likewise.
31527 * po/zh_CN.po: Likewise.
31528 * Makefile.in (LINGUAS): Initialize in a way that supports
31529 empty set.
31530
9ed4841d
RM
315312009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31532
31533 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31534 reliing on po/LINGUAS.
31535 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31536 (po/%.po): ... this.
31537
0ad46fd7 315382009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31539
31540 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31541 (main): Use `program_name' instead of nonexistent `progname'.
31542
e30dd392
FZ
315432009-11-26 Felix Zielcke <fzielcke@z-51.de>
31544
31545 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31546 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31547
7656de4f
RM
315482009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31549
31550 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31551 commit.
31552 * conf/i386-efi.rmk: Likewise.
31553 * conf/i386-ieee1275.rmk: Likewise.
31554 * conf/powerpc-ieee1275.rmk: Likewise.
31555 * conf/sparc64-ieee1275.rmk: Likewise.
31556 * conf/x86_64-efi.rmk: Likewise.
31557
db77c4d4
FZ
315582009-11-26 Felix Zielcke <fzielcke@z-51.de>
31559
31560 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31561
a755bb04
FZ
315622009-11-26 Felix Zielcke <fzielcke@z-51.de>
31563
31564 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31565
8a4c07fd
RM
315662009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31567
31568 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31569 (grub_mkdevicemap_SOURCES): New variable.
31570 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31571 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31572 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31573 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31574 (grub_mkdevicemap_SOURCES): Remove.
31575 * conf/i386-efi.rmk: Likewise.
31576 * conf/i386-ieee1275.rmk: Likewise.
31577 * conf/i386-pc.rmk: Likewise.
31578 * conf/powerpc-ieee1275.rmk: Likewise.
31579 * conf/sparc64-ieee1275.rmk: Likewise.
31580 * conf/x86_64-efi.rmk: Likewise.
31581 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31582 (usage): Fix strings to use `program_name'.
31583 (main): Initialize gettext.
31584 * util/grub-editenv.c: Likewise.
31585 * util/grub-emu.c: Likewise.
31586 * util/grub-fstest.c: Likewise.
31587 * util/grub-mkdevicemap.c: Likewise.
31588 * util/grub-mkfont.c: Likewise.
31589 * util/grub-mkrelpath.c: Likewise.
31590 * util/grub-pe2elf.c: Likewise.
31591 * util/grub-probe.c: Likewise.
31592 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31593 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31594 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31595
31596 * util/misc.c: Include `"progname.h"'.
31597 (progname): Remove variable.
31598 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31599
6f61ed55
FZ
316002009-11-25 Felix Zielcke <fzielcke@z-51.de>
31601
31602 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31603 printf and print a newline after the menuentry header line.
31604 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31605
f022876b
FZ
316062009-11-25 Felix Zielcke <fzielcke@z-51.de>
31607
31608 autoconf >= 2.60 support $(localedir).
31609
31610 * INSTALL: Note that autoconf 2.60 is required.
31611 * configure.ac (AC_PREREQ): Bump to 2.60.
31612 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31613 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31614
6717926e
YB
316152009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31616
31617 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31618 aclocal is run.
31619
08806a54
RM
316202009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31621
31622 * normal/main.c (grub_normal_read_line): Fix off-by-one
31623 buffer overflow.
31624
13b33fba
RM
316252009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31626
31627 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31628 "parser.grub" in grub_command_execute() call.
31629
4a8572e9
CPE
316302009-11-24 Carles Pina i Estany <carles@pina.cat>
31631
31632 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31633 * conf/i386-efi.rmk: Likewise.
31634 * conf/i386-ieee1275.rmk: Likewise.
31635 * conf/i386-pc.rmk: Likewise.
31636 * conf/powerpc-ieee1275.rmk: Likewise.
31637 * conf/sparc64-ieee1275.rmk: Likewise.
31638 * conf/x86_64-efi.rmk: Likewise.
31639 * gettext/gettex.c: Include <grub/i18n.h>.
31640 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31641 here ...
31642 * include/grub/i18n.h: ... to here
31643 * include/grub/i18n.h: ... to here.
31644 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 31645 (grub_gettext_dummy): Move above user.
4a8572e9 31646
bee48093
FZ
316472009-11-24 Felix Zielcke <fzielcke@z-51.de>
31648
31649 * util/Makefile.in (install-local): Convert a `for' into a normal
31650 shell expansion.
31651
a031e91c
RM
316522009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31653
31654 * autogen.sh: Add automake call.
31655 * config.guess: Remove.
31656 * config.sub: Likewise.
31657 * install-sh: Likewise.
31658
26bec39d
FZ
316592009-11-24 Felix Zielcke <fzielcke@z-51.de>
31660
31661 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31662
8e2532fd
FZ
316632009-11-24 Felix Zielcke <fzielcke@z-51.de>
31664
31665 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31666 function to a normal shell `for'.
31667
fefa1b7d
FZ
316682009-11-24 Felix Zielcke <fzielcke@z-51.de>
31669
31670 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31671
4501250b
FZ
316722009-11-24 Felix Zielcke <fzielcke@z-51.de>
31673
31674 * util/grub-mkrelpath.c: New file.
31675 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31676 (grub_mkrelpath_SOURCES): New variable.
31677 * include/grub/util/misc.h: New function prototype.
31678 * util/misc.c (make_system_path_relative_to_its_root): New function.
31679
31680 * util/grub-mkconfig_lib.in (bindir): New variable.
31681 (grub_mkrelpath): Likewise.
31682 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31683
31684 * util/probe.c (probe): Make the file path relative to its root.
31685 Change a info message to use the GRUB path. Enable again the
31686 check if we can read the file with GRUB facilities.
31687
31688 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31689 to its root.
31690
11d9778b
FZ
316912009-11-24 Felix Zielcke <fzielcke@z-51.de>
31692
31693 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
31694 platform.
31695
4465287d
FZ
316962009-11-24 Felix Zielcke <fzielcke@z-51.de>
31697
31698 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
31699 strncmp().
31700
62b47f22
FZ
317012009-11-24 Felix Zielcke <fzielcke@z-51.de>
31702
31703 * util/getroot.c (grub_util_is_dmraid): New function.
31704 (grub_util_get_dev_abstraction): Treat dmraid and multipath
31705 devices as normal ones, not as LVM.
31706
1eafb9b9 317072009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
31708
31709 * conf/common.rmk: Add grub-gettext_lib target and updates
31710 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
31711 LDFLAGS.
31712 * gettext/gettext.c: New file. (Reads mo files).
31713 * include/grub/file.h (grub_file_pread): New prototype.
31714 * include/grub/i18n.h (_): New prototype.
31715 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
31716 prototypes.
31717 * kern/misc.c (grub_gettext_dummy): New function.
31718 * normal/menu_text.c: Include <grub/i18n.h>.
31719 * normal/menu_text.c (print_timeout): Gettexttize string.
31720 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
31721 * po/POTFILES: Add `normal/menu_text.c'.
31722 * po/ca.po: Add new translations.
c3ea6bd4
CPE
31723 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
31724 gettext module and defines locale_dir and lang in grub.cfg.
31725 * NEWS: Add gettext support.
31726
0fdb2568
RM
317272009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31728
31729 * util/hostdisk.c: Include `<grub/i18n.h>'.
31730 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
31731 (make_device_name): Rewrite using asprintf.
31732 (convert_system_partition_to_system_disk): Replace 0 with NULL.
31733 (find_system_device): If a device is not found, generate one just
31734 by reusing the OS path name.
31735 (read_device_map): Make it permissible for device.map not to exist.
31736
f515aa62
RM
317372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31738
31739 * script/sh/execute.c: Move from here ...
31740 * script/execute.c: ... to here. Update all users.
31741 * script/sh/function.c: Move from here ...
31742 * script/function.c: ... to here. Update all users.
31743 * script/sh/lexer.c: Move from here ...
31744 * script/lexer.c: ... to here. Update all users.
31745 * script/sh/main.c: Move from here ...
31746 * script/main.c: ... to here. Update all users.
31747 * script/sh/parser.y: Move from here ...
31748 * script/parser.y: ... to here. Update all users.
31749 * script/sh/script.c: Move from here ...
31750 * script/script.c: ... to here. Update all users.
31751
f84b481b
RM
317522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31753
31754 * configure.ac: Detect all `emu' platforms. Define
31755 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
31756 --enable-grub-emu logic. Disable include/grub/machine
31757 symlink on `emu' platforms.
31758
31759 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
31760 * gensymlist.sh.in: Likewise.
31761
31762 * include/grub/i386/coreboot/machine.h: Remove file.
31763 * include/grub/i386/efi/machine.h: Likewise.
31764 * include/grub/i386/ieee1275/machine.h: Likewise.
31765 * include/grub/i386/pc/machine.h: Likewise.
31766 * include/grub/i386/qemu/machine.h: Likewise.
31767 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31768 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31769 * include/grub/x86_64/efi/machine.h: Likewise.
31770
31771 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
31772 * commands/halt.c: Likewise.
31773 * commands/reboot.c: Likewise.
31774 * include/grub/autoefi.h: Likewise.
31775 * include/grub/i386/at_keyboard.h: Likewise.
31776 * include/grub/i386/kernel.h: Likewise.
31777 * include/grub/i386/loader.h: Likewise.
31778 * include/grub/i386/pc/memory.h: Likewise.
31779 * kern/dl.c: Likewise.
31780 * kern/i386/coreboot/init.c: Likewise.
31781 * loader/i386/bsd.c: Likewise.
31782 * loader/i386/linux.c: Likewise.
31783 * loader/multiboot_loader.c: Likewise.
31784 * term/i386/pc/serial.c: Likewise.
31785 * term/usb_keyboard.c: Likewise.
31786
31787 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
31788 `<grub/machine/machine.h>'
31789 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
31790 * util/misc.c: Remove `<grub/machine/machine.h>' and
31791 `<grub/machine/time.h>'.
31792
31793 * Makefile.in (enable_grub_emu): Remove variable.
31794 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
31795
31796 * conf/any-emu.rmk: New file.
31797 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
31798 (grub_emu_init.c): Move from here ...
31799 * conf/any-emu.rmk: ... to here.
31800
31801 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
31802 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
31803 * conf/any-emu.rmk: ... to here.
31804
4efeab03
RM
318052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31806
31807 * include/grub/parser.h (grub_parser_register): Document need
31808 of `name' parameter.
31809 * normal/main.c (grub_normal_read_line): Simplify prompt string.
31810 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
31811 "sh" to "grub".
31812
ea1dd8bf
RM
318132009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31814
31815 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
31816 `$(XGETTEXT)'.
31817 * include/grub/i18n.h (N_): New macro.
31818 * util/mkisofs/mkisofs.h: Likewise.
31819 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
31820 around N_().
31821 (usage): Use gettext() to translate help strings when printing them.
31822
0c140626
RM
318232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31824
31825 Based on patch from Bean
31826 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31827
31828 * video/efi_fb.c: New file.
31829 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
31830 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31831 variables.
31832 * conf/x86_64-efi.rmk: Likewise.
31833
87d58298
RM
318342009-11-22 Robert Millan <rmh.grub@aybabtu.com>
31835
31836 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
31837 * util/i386/pc/grub-setup.c: Likewise.
31838
994cc3a3
ST
318392009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
31840
31841 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
31842 <hurd/fs.h>
31843 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
31844 file_get_storage_info to implement grub_guess_root_device.
31845
26a61d6a
FZ
318462009-11-21 Felix Zielcke <fzielcke@z-51.de>
31847
31848 * Makefile.in (target): Use make's builtin $(shell) function
31849 instead of calling directly $(SHELL) to create the locale directories,
31850 inside the $(foreach) function.
31851
74ff1dd5
FZ
318522009-11-21 Felix Zielcke <fzielcke@z-51.de>
31853
31854 * util/grub-mkrescue.in: Print an error and usage if output option
31855 has not been given.
31856
0b787d0e
FZ
318572009-11-21 Felix Zielcke <fzielcke@z-51.de>
31858
31859 Patch from Loïc Minier <loic.minier@ubuntu.com>.
31860 * util/grub.d/30_os-prober.in: Cope with Linux entries where
31861 root and /boot are on different devices.
31862
1164b270
RM
318632009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31864
31865 Fix build for srcdir != objdir.
31866
31867 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
31868 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
31869 $(srcdir).
31870 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
31871 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
31872 reference for input.
31873
13774a2f
RM
318742009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31875
31876 * util/grub-mkrescue.in: Use source directory direcly (without copiing
31877 or hardlinking it). Remove -J option, Joliet is not compatible with
31878 multiple source directories.
31879
efda854e
RM
318802009-11-21 Carles Pina i Estany <carles@pina.cat>
318812009-11-21 Robert Millan <rmh.grub@aybabtu.com>
31882
31883 * util/grub-mkrescue.in: Recognize `--override-directory' option.
31884 (process_input_dir): New function. Process an arbitrary input
31885 directory.
31886 Misc adjustments to support both "override mode" and system-wide mode.
31887
6c09890c
FZ
318882009-11-20 Felix Zielcke <fzielcke@z-51.de>
31889
31890 * configure.ac (UNIFONT_BDF): Rename to ...
31891 (FONT_SOURCE): ... this. Update all users.
31892
a797824f
FZ
318932009-11-20 Felix Zielcke <fzielcke@z-51.de>
31894
31895 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
31896 to the list of unifont files to look for.
31897
cd4f42b0
RM
318982009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31899
31900 Patch from Joe Auricchio <jauricchio@gmail.com>
31901 * commands/minicmd.c (grub_mini_cmd_clear): New function.
31902 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
31903 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
31904
393c783d
FZ
319052009-11-19 Felix Zielcke <fzielcke@z-51.de>
31906
31907 * Makefile.in (install-local): Add a missing backslash.
31908
b2f1e327
FZ
319092009-11-19 Felix Zielcke <fzielcke@z-51.de>
31910
31911 * include/grub/x86_64/io.h: New file.
31912
f577f7a0
RM
319132009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31914
31915 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
31916 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
31917 Include `"progname.h"'.
31918 (main): Initialize gettext.
31919 * util/i386/pc/grub-setup.c: Gettexttize.
31920 * util/i386/pc/grub-mkimage.c: Likewise.
31921
31922 * Makefile.in (po/*.po): Redefine as ...
31923 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
31924
3bc7896c
RM
31925 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
31926
c37943b6
RM
319272009-11-19 Robert Millan <rmh.grub@aybabtu.com>
31928
31929 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
31930 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
31931 (program_name): Remove.
31932 (main): Initialize gettext support.
6323f705
RM
31933 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
31934 Include `<libintl.h>'.
31935 (_): New macro.
c37943b6
RM
31936
31937 * util/mkisofs/eltorito.c: Gettexttize.
31938 * util/mkisofs/joliet.c: Likewise.
31939 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
31940 * util/mkisofs/multi.c: Likewise.
31941 * util/mkisofs/rock.c: Likewise.
31942 * util/mkisofs/tree.c: Likewise.
31943 * util/mkisofs/write.c: Likewise.
31944
3bc7896c
RM
31945 * po/POTFILES: Update with new files.
31946
5ce77c6e
RM
319472009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31948
31949 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
31950 * util/mkisofs/iso9660.h: Likewise.
31951 * util/mkisofs/joliet.c: Likewise.
31952 * util/mkisofs/mkisofs.c: Likewise.
31953 * util/mkisofs/mkisofs.h: Likewise.
31954 * util/mkisofs/rock.c: Likewise.
31955 * util/mkisofs/tree.c: Likewise.
31956 * util/mkisofs/write.c: Likewise.
31957
31958 * util/mkisofs/eltorito.c (rcsid): Remove.
31959 * util/mkisofs/hash.c: Likewise.
31960 * util/mkisofs/joliet.c: Likewise.
31961 * util/mkisofs/name.c: Likewise.
31962 * util/mkisofs/rock.c: Likewise.
31963 * util/mkisofs/tree.c: Likewise.
31964 * util/mkisofs/write.c: Likewise.
31965
1dabbc77
RM
319662009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31967
31968 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
31969 instead of static allocation.
31970 * util/mkisofs/match.h: Likewise.
31971
633877cb
RM
319722009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31973
3bc7896c
RM
31974 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
31975 and `util/grub.d/10_linux.in'.
633877cb
RM
31976 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
31977 translatable Shell files.
31978
af1c0c85
RM
319792009-11-18 Robert Millan <rmh.grub@aybabtu.com>
31980
31981 * Makefile.in ($(srcdir)/aclocal.m4): New target.
31982
769ae37b
RM
319832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31984
31985 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 31986 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
31987 * util/grub.d/10_kfreebsd.in (bindir): New variable.
31988 Add gettext initialization.
31989 (kfreebsd_entry): Make menuentry output translatable.
31990
319912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
31992
31993 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
31994 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
31995 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
31996 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
31997 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 31998 * po/LINGUAS: New file.
769ae37b
RM
31999
320002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32001
32002 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32003 other things).
32004 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32005 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32006 bindtextdomain() calls for gettext initialization.
32007
320082009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32009
32010 * gnulib/progname.c: New file (imported from Gnulib).
32011 * gnulib/progname.h: Likewise.
32012 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32013 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32014 (usage): Replace `progname' with `program_name'.
32015 (main): Use set_program_name() for program name initialization.
32016
320172009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32018
32019 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32020 from here ...
32021 * Makefile.in (CPPFLAGS): ... to here.
32022
320232009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32024
32025 * aclocal.m4: Move from here ...
32026 * acinclude.m4: ... to here.
32027 * autogen.sh: Add call to `aclocal'.
32028 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32029
320302009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32031
32032 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32033 (LINGUAS): New variable.
32034 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32035 (install-local): Install MO files.
32036 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32037 * include/grub/i18n.h: New file.
3bc7896c
RM
32038 * po/POTFILES: New file.
32039 * po/ca.po: New file.
769ae37b
RM
32040 * util/grub.d/10_linux.in (bindir): New variable.
32041 Add gettext initialization.
32042 (linux_entry): Make menuentry output translatable.
32043 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32044 (usage): Make --help output translatable.
32045 (main): Initialize gettext.
32046
02c0a6ad
RM
320472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32048
32049 * import_gcry.py: New file (written by Vladimir with minor
32050 adjustments).
32051 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32052 ciphers.
32053 * INSTALL: Document that Python is required for bootstrap.
32054
320552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32056
32057 Import ciphers from libgcrypt 1.4.4.
32058
32059 * lib/libgcrypt/cipher/ChangeLog
32060 * lib/libgcrypt/cipher/ac.c
32061 * lib/libgcrypt/cipher/arcfour.c
32062 * lib/libgcrypt/cipher/bithelp.h
32063 * lib/libgcrypt/cipher/blowfish.c
32064 * lib/libgcrypt/cipher/camellia-glue.c
32065 * lib/libgcrypt/cipher/camellia.c
32066 * lib/libgcrypt/cipher/camellia.h
32067 * lib/libgcrypt/cipher/cast5.c
32068 * lib/libgcrypt/cipher/cipher.c
32069 * lib/libgcrypt/cipher/crc.c
32070 * lib/libgcrypt/cipher/des.c
32071 * lib/libgcrypt/cipher/dsa.c
32072 * lib/libgcrypt/cipher/ecc.c
32073 * lib/libgcrypt/cipher/elgamal.c
32074 * lib/libgcrypt/cipher/hash-common.c
32075 * lib/libgcrypt/cipher/hash-common.h
32076 * lib/libgcrypt/cipher/hmac-tests.c
32077 * lib/libgcrypt/cipher/md.c
32078 * lib/libgcrypt/cipher/md4.c
32079 * lib/libgcrypt/cipher/md5.c
32080 * lib/libgcrypt/cipher/primegen.c
32081 * lib/libgcrypt/cipher/pubkey.c
32082 * lib/libgcrypt/cipher/rfc2268.c
32083 * lib/libgcrypt/cipher/rijndael-tables.h
32084 * lib/libgcrypt/cipher/rijndael.c
32085 * lib/libgcrypt/cipher/rmd.h
32086 * lib/libgcrypt/cipher/rmd160.c
32087 * lib/libgcrypt/cipher/rsa.c
32088 * lib/libgcrypt/cipher/seed.c
32089 * lib/libgcrypt/cipher/serpent.c
32090 * lib/libgcrypt/cipher/sha1.c
32091 * lib/libgcrypt/cipher/sha256.c
32092 * lib/libgcrypt/cipher/sha512.c
32093 * lib/libgcrypt/cipher/tiger.c
32094 * lib/libgcrypt/cipher/twofish.c
32095 * lib/libgcrypt/cipher/whirlpool.c
32096
af2f93ac
RM
320972009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32098
32099 Fix build for systems without error().
32100
32101 * gnulib/error.c: New file (imported from Gnulib).
32102 * gnulib/error.h: Likewise.
32103 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32104 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32105 (this variable is now used by error()).
32106
73fb3dd5
FZ
321072009-11-16 Felix Zielcke <fzielcke@z-51.de>
32108
814f5e96
FZ
32109 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32110 instead of relying that char is signed.
73fb3dd5 32111
a691ca33
VS
321122009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32113
32114 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32115 blocksize different from specified.
32116 (grub_pxefs_read): Likewise.
32117
2af8f0f4
FZ
321182009-11-16 Felix Zielcke <fzielcke@z-51.de>
32119
32120 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32121
32122 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32123 (grub_ata_readwrite): Likewise. Update 2 format strings.
32124 (grub_atapi_read): Likewise.
32125
32126 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32127 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32128 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32129 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32130 (ata_mod_LDFLAGS): Move from here ...
32131 * conf/i386.rmk: ... to here ...
32132 * conf/x86_64-efi.rmk: ... and here.
32133 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32134 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32135
83bdecaf
RM
321362009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32137
32138 Relicense multiboot.h, with RMS' blessing.
32139
32140 * include/multiboot.h: Change to X11 license.
32141
fd6fd3d7
RM
321422009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32143
32144 Support --version in grub-mkisofs.
32145
32146 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32147 (OPTION_VERSION): New macro.
32148 (ld_options): Recognize --version.
32149 (usage): Move `program_name' from here ...
32150 (program_name): ... to here. Add `static' qualifier.
32151 (main): Recognize `OPTION_VERSION'.
32152
16a88c49
FZ
321532009-11-15 Felix Zielcke <fzielcke@z-51.de>
32154
32155 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32156 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32157
a4158476
RM
321582009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32159
32160 Fix help2man generation for mkisofs.
32161
32162 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32163 (usage): Send output to stdout (rather than stderr).
32164
fc2208b0
RM
321652009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32166
32167 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32168 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32169 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32170 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32171 (bin_SCRIPTS): Add `grub-mkfloppy'.
32172 (grub_mkfloppy_SOURCES): New variable.
32173
32174 * util/grub-mkrescue.in: New file.
32175 * util/i386/pc/grub-mkfloppy.in: New file.
32176
32177 * util/i386/coreboot/grub-mkrescue.in: Remove.
32178 * util/i386/pc/grub-mkrescue.in: Remove.
32179
8d0edf4a
RM
321802009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32181
32182 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32183 from here ...
32184 * include/multiboot.h (struct multiboot_header): ... to here. Update
32185 all users.
32186 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32187 from here ...
32188 * include/multiboot.h (struct multiboot_info): ... to here. Update
32189 all users.
32190 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32191 from here ...
32192 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32193 Update all users.
32194 * include/grub/multiboot.h (struct grub_mod_list): Move
32195 from here ...
32196 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32197 Update all users.
32198
a73f5969
RM
321992009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32200
32201 * include/multiboot2.h (multiboot_word): Rename from this ...
32202 (multiboot2_word): ... to this. Update all users.
32203 (multiboot_header): Rename from this ...
32204 (multiboot2_header): ... to this. Update all users.
32205 (multiboot_tag_header): Rename from this ...
32206 (multiboot2_tag_header): ... to this. Update all users.
32207 (multiboot_tag_start): Rename from this ...
32208 (multiboot2_tag_start): ... to this. Update all users.
32209 (multiboot_tag_name): Rename from this ...
32210 (multiboot2_tag_name): ... to this. Update all users.
32211 (multiboot_tag_module): Rename from this ...
32212 (multiboot2_tag_module): ... to this. Update all users.
32213 (multiboot_tag_memory): Rename from this ...
32214 (multiboot2_tag_memory): ... to this. Update all users.
32215 (multiboot_tag_unused): Rename from this ...
32216 (multiboot2_tag_unused): ... to this. Update all users.
32217 (multiboot_tag_end): Rename from this ...
32218 (multiboot2_tag_end): ... to this. Update all users.
32219
1c8927f0
RM
322202009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32221
32222 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32223 this platform we should support Multiboot1 first.
32224
32225 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32226 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32227 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32228
6e1e0d89
RM
322292009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32230
32231 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32232 of write calls (converting them to fwrite() if they aren't already).
32233 (get_torito_desc): Likewise.
32234 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32235
7f2b34d8
RM
322362009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32237
32238 * util/i386/pc/grub-install.in: Move from here ...
32239 * util/grub-install.in: ... to here. Update all users.
32240
c0ef3311
CW
322412009-11-11 Colin Watson <cjwatson@ubuntu.com>
32242
32243 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32244
e1f240ff
RM
322452009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32246
32247 Support for El Torito without floppy emulation.
32248
32249 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32250 (init_boot_catalog): Improve error handling.
32251 (get_torito_desc): Don't use floppy emulation unless requested by
32252 user. Patch boot information table when requested via
32253 `-boot-info-table'.
32254 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32255 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32256 (use_boot_info_table): New variables.
32257 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32258 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32259 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32260 `--eltorito-emul-floppy'.
32261 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32262 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32263 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32264 (use_boot_info_table, get_731): New prototypes.
32265 * util/mkisofs/write.c (get_731): New function.
32266
af7d4de5
FZ
322672009-11-11 Felix Zielcke <fzielcke@z-51.de>
32268
32269 Fix the generation of the man page.
32270
32271 * util/pc/i386/grub-install.in: Source
32272 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32273
2c55dbc0
RM
322742009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32275
32276 Large file support for grub-mkisofs.
32277
32278 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32279 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32280 (session_start): Upgrade type to `uint64_t'. Update all users.
32281 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32282 (struct directory_entry): Upgrade type of `starting_block' and
32283 `size' to `uint64_t'. Update all users.
32284 (struct deferred): Remove unused structure.
32285 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32286 Update all users.
32287 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32288 file is larger than `UINT32_MAX'.
32289 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32290 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32291 return value.
32292 (struct deferred_write): Upgrade type of `extent' and `size' to
32293 `uint64_t'. Update all users.
32294 (last_extent_written): Upgrade type to `uint64_t'. Update all
32295 users.
32296 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32297 Update all users. Upgrade type of `remain' to `int64_t' and
32298 `use' to `size_t'. Use error() to handle fread() errors.
32299 (write_files): Rely on write_one_file() rather than calling
32300 xfwrite() directly.
32301
6a9cead5
FZ
323022009-11-09 Felix Zielcke <fzielcke@z-51.de>
32303
32304 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32305
4825d790
RM
323062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32307
32308 * util/mkisofs/fnmatch.c: Remove.
32309 * util/mkisofs/getopt1.c: Likewise.
32310 * util/mkisofs/getopt.c: Likewise.
32311 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32312 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32313 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32314 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32315 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32316
32317 * configure.ac: Detect `mingw32msvc' host_os.
32318 Check for lstat(), getuid() and getgid().
32319
32320 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32321 instances of `u_char' with `uint8_t'.
32322
32323 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32324 [!HAVE_GETUID] (getuid): New function (stub).
32325 [!HAVE_GETGID] (getgid): Likewise.
32326 [!HAVE_LSTAT] (lstat): Likewise.
32327 [!S_IROTH] (S_IROTH): New macro (dummy).
32328 [!S_IRGRP] (S_IRGRP): Likewise.
32329
84b860d8
RM
323302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32331
32332 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32333 conditional expression).
32334
66e9b712
RM
323352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32336
32337 Import from Gnulib.
32338
32339 * gnulib/fnmatch.c: New file.
32340 * gnulib/fnmatch.h: Likewise.
32341 * gnulib/fnmatch_loop.c: Likewise.
32342 * gnulib/getopt.c: Likewise.
32343 * gnulib/getopt.h: Likewise.
32344 * gnulib/getopt1.c: Likewise.
32345 * gnulib/getopt_int.h: Likewise.
32346 * gnulib/gettext.h: Likewise.
32347
34f4a5b0
RM
323482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32349
32350 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32351 * normal/handler.c (read_handler_list): Likewise.
32352
ac451143
RM
323532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32354
32355 Misc cleanup.
32356
32357 * kern/command.c (grub_register_command_prio): Use
32358 grub_zalloc() instead of explicitly zeroing data.
32359 * kern/list.c: Include `<grub/mm.h>'.
32360 (grub_named_list_find): Replace `0' with `NULL'.
32361 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32362 (fs_module_list): Change type to `grub_named_list_t'. Update all
32363 users.
32364 * normal/dyncmd.c (read_command_list): Add space between function
32365 call and parenthesis.
32366 * normal/handler.c (read_handler_list): Likewise.
32367
4089b167
RM
323682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32369
32370 * normal/auth.c (punishment_delay): Moved from here ...
32371 (grub_auth_strcmp): ... to here (inside function).
32372
325f5037
RM
323732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32374
32375 * include/grub/list.h (struct grub_named_list): Remove `const'
32376 qualifier from `name'.
32377 (struct grub_prio_list): Likewise.
32378
7aea29a3
RM
323792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32380
32381 * normal/auth.c: Include `<grub/time.h>'.
32382 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32383
3fd6f044
RM
323842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32385
32386 * normal/auth.c (punishment_delay): New variable.
32387 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32388 (grub_auth_check_authentication): Punish failed login attempts with
32389 an incremental (2^N) delay.
32390
a4cd68e4
RM
323912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32392
32393 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32394 path with $(srcdir).
32395
7ad12f43
VS
323962009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32397
32398 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32399
c1129f03
RM
324002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32401
32402 * util/i386/coreboot/grub-mkrescue.in: New file.
32403 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32404 variables.
32405
32406 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32407 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32408 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32409 requirements.
32410 * util/mkisofs/defaults.h: New file.
32411 * util/mkisofs/eltorito.c: Likewise.
32412 * util/mkisofs/exclude.h: Likewise.
32413 * util/mkisofs/fnmatch.c: Likewise.
32414 * util/mkisofs/getopt.c: Likewise.
32415 * util/mkisofs/getopt1.c: Likewise.
32416 * util/mkisofs/hash.c: Likewise.
32417 * util/mkisofs/include/fctldefs.h: Likewise.
32418 * util/mkisofs/include/mconfig.h: Likewise.
32419 * util/mkisofs/include/prototyp.h: Likewise.
32420 * util/mkisofs/include/statdefs.h: Likewise.
32421 * util/mkisofs/iso9660.h: Likewise.
32422 * util/mkisofs/joliet.c: Likewise.
32423 * util/mkisofs/match.c: Likewise.
32424 * util/mkisofs/match.h: Likewise.
32425 * util/mkisofs/mkisofs.c: Likewise.
32426 * util/mkisofs/mkisofs.h: Likewise.
32427 * util/mkisofs/multi.c: Likewise.
32428 * util/mkisofs/name.c: Likewise.
32429 * util/mkisofs/rock.c: Likewise.
32430 * util/mkisofs/tree.c: Likewise.
32431 * util/mkisofs/write.c: Likewise.
32432
ec8bb77d
VS
324332009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32434
32435 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32436 being insecure.
32437
3716b12c
RM
324382009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32439
32440 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32441 `grub-mkimage' (and use $0 when possible).
32442
b97b7b91
RM
324432009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32444
32445 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32446 error message for excessively large memory map.
32447
04114812
RM
324482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32449
32450 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32451 executable bit.
32452
e4eb2373
RM
324532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32454
32455 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32456 message for coreboot users.
32457
c926e1d5 324582009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32459
32460 Fix build with GNU gold.
32461
32462 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32463 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32464 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32465 link addresses.
32466 * aclocal.m4: Likewise.
32467
86e5b1db 324682009-11-04 Felix Zielcke <fzielcke@z-51.de>
32469
32470 * configure.ac (AC_PREREQ): Bump to 2.59d.
32471 * INSTALL: Make it more clear when Autoconf and Ruby are
32472 needed and when to run `./autogen.sh'.
32473
246cd78f 324742009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32475
32476 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32477 OSes.
32478
4f9dfb37 324792009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32480
32481 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32482
b82bd5e1 324832009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32484
32485 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32486 giving it to GNU Mach.
32487
ff1a9bca 324882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32489
32490 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32491 GNU partition number to get internal GRUB partition number.
32492
61697d9c 324932009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32494
32495 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32496 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32497
a50569e1 324982009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32499
32500 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32501 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32502 case.
32503
5b153867 325042009-11-01 Felix Zielcke <fzielcke@z-51.de>
32505
32506 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32507
d9e2cd70 325082009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32509
32510 Fix build problem.
32511
32512 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32513 `-isystem=$(srcdir)/include'.
32514
805111a4 325152009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32516
32517 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32518 checked (grub-install doesn't currently rely on it).
32519
fa6e945f 325202009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32521
32522 Revert SVN r2660.
32523
32524 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32525 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32526 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32527 * conf/i386-ieee1275.rmk: Likewise.
32528 * conf/i386-pc.rmk: Likewise.
32529 * conf/powerpc-ieee1275.rmk: Likewise.
32530 * conf/sparc64-ieee1275.rmk: Likewise.
32531 * conf/x86_64-efi.rmk: Likewise.
32532
cee15086 325332009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32534
32535 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32536
95b9239e 325372009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32538
32539 * include/grub/misc.h: Stop checking for APPLE_CC.
32540
2ed19dfd 325412009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32542
32543 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32544 doesn't cause an infinite call loop.
32545
fdcdde19 325462009-10-28 Felix Zielcke <fzielcke@z-51.de>
32547
32548 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32549 strings.
32550
cefabfe1 325512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32552
32553 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32554 variable.
32555 * Makefile.in: Likewise.
32556
ed96ab6d 325572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32558
32559 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32560
0579b753 325612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32562
32563 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32564
478df409 325652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32566
32567 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32568
083d1679 325692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32570
32571 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32572 from here ...
32573 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32574
5947ae32 325752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32576
32577 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32578 in $(MAKEINFO) invocation. This makes it clear in output that
32579 errors are being ignored.
32580
94180ff6 325812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32582
32583 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32584 from here ...
32585 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32586 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32587 * conf/i386-ieee1275.rmk: Likewise.
32588 * conf/i386-pc.rmk: Likewise.
32589 * conf/powerpc-ieee1275.rmk: Likewise.
32590 * conf/sparc64-ieee1275.rmk: Likewise.
32591 * conf/x86_64-efi.rmk: Likewise.
32592
9031b03a 325932009-10-26 Colin Watson <cjwatson@ubuntu.com>
32594
32595 * util/grub-editenv.c (main): If only a command is given, use
32596 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32597 (usage): FILENAME is now optional and has a default.
32598
e4f6809b 325992009-10-26 Colin Watson <cjwatson@ubuntu.com>
32600
32601 Improve grub-mkconfig performance when there are several menu
32602 entries on a single filesystem.
32603
32604 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32605 prepare_grub_to_access_device.
32606 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32607 * util/grub.d/30_os-prober.in: Likewise.
32608
67937d4d 326092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32610
32611 * util/grub.d/10_freebsd.in: Remove.
32612 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32613 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32614
ee3756cc 326152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32616
5c35048e 32617 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 32618
4dea1c6f 326192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32620
32621 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32622 grub_util_error() call.
32623
042484d7 326242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32625
32626 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32627 `reserved_first_sector' member.
32628 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32629 `reserved_first_sector' to 1.
32630 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32631 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32632 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32633 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32634 filesystems which begin at first sector.
32635 (options): New option --skip-fs-probe.
32636 (main): Handle --skip-fs-probe and pass it to setup().
32637
d64448a7 326382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32639
32640 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32641 (memset): Fix function prototype.
32642
508d42ec 326432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
326442009-10-25 Vasily Averin <vvs@parallels.com>
32645
32646 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32647 `dirent.direntlen == 0'.
32648
b240e30c 326492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32650
32651 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32652 `cpio'.
32653 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32654
346e7fbe 326552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32656
32657 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32658 `__trampoline_setup' and `__ucmpdi2'.
32659 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32660 that libgcc provides.
32661
cdb308b0 326622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32663
32664 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32665 * include/grub/sparc64/libgcc.h (memset): Likewise.
32666 * include/grub/misc.h (memset, memcmp): New function prototypes.
32667
fb26abc2 326682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32669
32670 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32671 `cpio'.
32672 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32673
f6693890 326742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32675
32676 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32677 * docs/grub.cfg: Compensate for recent change in multiboot
32678 loader (since 2009-08-14 it won't pass filename to payload).
32679 * util/grub.d/10_hurd.in: Likewise.
32680
0933cdc0 326812009-10-21 Felix Zielcke <fzielcke@z-51.de>
32682
32683 * config.guess: Update to latest version from config git
32684 repository.
32685 * config.sub: Likewise.
32686
3b2fe8c2 326872009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32688
32689 Fix build on sparc64.
32690
32691 * configure.ac: Perform checks for libgcc symbols before
32692 adding `-nostdlib' to LDFLAGS.
32693
46695a62 326942009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32695
32696 Let user specify OpenBSD root device.
32697
32698 * loader/i386/bsd.c (openbsd_root): New variable.
32699 (openbsd_opts): New option 'root'.
32700 (OPENBSD_ROOT_ARG): New macro.
32701 (grub_openbsd_boot): Use 'openbsd_root'.
32702 (grub_cmd_openbsd): Fill 'openbsd_root'.
32703
d2b6b7fc 327042009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32705
32706 * NEWS: Misc adjustments.
32707
421bd7ac 327082009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32709
32710 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
32711
f1d29d87 327122009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32713
32714 * configure.ac: Bump version to 1.97.
32715
6f3cd880 327162009-10-16 Colin Watson <cjwatson@ubuntu.com>
32717
32718 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
32719 -mno-3dnow on x86 architectures. Some toolchains enable these
32720 features by default, but they rely on registers that aren't enabled
32721 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
32722
035f7122 327232009-10-15 Robert Millan <rmh.grub@aybabtu.com>
32724
32725 Make entry text a bit more readable.
32726
32727 * util/grub.d/10_linux.in: Add `with' before `Linux'.
32728
44998e58 327292009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32730
32731 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
32732
cd2851b3 327332009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32734
32735 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
32736 operations.
32737
c6f3b249 327382009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32739
32740 * configure.ac: Add missing dollar.
32741
6b5886ba 327422009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32743
32744 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
32745
32746 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
32747 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
32748 exports.
32749 * include/grub/sparc64/libgcc.h: Likewise. Use
32750 preprocessor conditionals.
32751
e9d66f6d 327522009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32753
32754 * conf/common.rmk (grub-dumpbios): Remove rule.
32755 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
32756 * util/grub-dumpbios.in: Remove file.
32757
9155bc17 327582009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32759
32760 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
32761 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
32762
32763 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
32764 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
32765 users.
32766
32767 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
32768 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
32769 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
32770 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
32771 users.
32772
bf7f7a18 327732009-10-12 Robert Millan <rmh.grub@aybabtu.com>
32774
32775 * term/tparm.c: Switch to GPLv3.
32776
86564c26 327772009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32778
32779 * include/grub/i386/cpuid.h: Add header protection.
32780
5c936493 327812009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32782
32783 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
32784
32785 * include/grub/i386/cpuid.h: New file.
32786 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
32787 (has_longmode): Rename to ...
32788 (grub_cpuid_has_longmode): ... this. Update all users. Remove
32789 `static' attribute.
32790 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
32791 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
32792 on a CPU that doesn't implement AMD64 instruction set.
32793
186e7cf2 327942009-10-06 Colin Watson <cjwatson@ubuntu.com>
32795
32796 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
32797 that version.texi is rebuilt on version number changes.
32798
83b65c4a 327992009-10-06 Colin Watson <cjwatson@ubuntu.com>
32800
32801 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
32802 Fixes bug #27602.
32803
d244281c 328042009-10-06 Colin Watson <cjwatson@ubuntu.com>
32805
32806 * util/i386/pc/grub-install.in: Source
32807 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
32808 that the --grub-probe option will work.
32809 * util/sparc64/ieee1275/grub-install.in: Likewise.
32810
da25306d 328112009-10-05 Robert Millan <rmh.grub@aybabtu.com>
32812
32813 * configure.ac: Bump version to 1.97~beta4.
32814
e8ee83c0 328152009-10-03 Robert Millan <rmh.grub@aybabtu.com>
32816
32817 Resync grub-mkdevicemap in x86_64-efi.
32818
32819 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
32820 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
32821 `util/devicemap.c'.
32822
50dcabcf 328232009-10-01 Colin Watson <cjwatson@ubuntu.com>
32824
32825 * util/grub-editenv.c (create_envblk_file): Write new block with a
32826 .new suffix and then rename it into place, to ensure atomic
32827 creation.
32828
0e51c3a7 328292009-09-28 Robert Millan <rmh.grub@aybabtu.com>
32830
32831 Do not automatically install headers.
32832
32833 * Makefile.in (include_DATA): Remove. Update all users.
32834
31299a95 328352009-09-26 Robert Millan <rmh.grub@aybabtu.com>
32836
32837 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
32838 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
32839
32840 * util/osdetect.lua: Remove.
32841 * script/lua/lauxlib.c: Likewise.
32842 * script/lua/ldebug.c: Likewise.
32843 * script/lua/grub_main.c: Likewise.
32844 * script/lua/lauxlib.h: Likewise.
32845 * script/lua/ldebug.h: Likewise.
32846 * script/lua/ltablib.c: Likewise.
32847 * script/lua/liolib.c: Likewise.
32848 * script/lua/lstrlib.c: Likewise.
32849 * script/lua/lualib.h: Likewise.
32850 * script/lua/ldo.c: Likewise.
32851 * script/lua/ldump.c: Likewise.
32852 * script/lua/ldo.h: Likewise.
32853 * script/lua/loslib.c: Likewise.
32854 * script/lua/lundump.c: Likewise.
32855 * script/lua/grub_lib.c: Likewise.
32856 * script/lua/ldblib.c: Likewise.
32857 * script/lua/lundump.h: Likewise.
32858 * script/lua/lmem.c: Likewise.
32859 * script/lua/grub_lib.h: Likewise.
32860 * script/lua/lmathlib.c: Likewise.
32861 * script/lua/lstate.c: Likewise.
32862 * script/lua/ltm.c: Likewise.
32863 * script/lua/lvm.c: Likewise.
32864 * script/lua/lmem.h: Likewise.
32865 * script/lua/lstate.h: Likewise.
32866 * script/lua/ltm.h: Likewise.
32867 * script/lua/ltable.c: Likewise.
32868 * script/lua/lvm.h: Likewise.
32869 * script/lua/llex.c: Likewise.
32870 * script/lua/lgc.c: Likewise.
32871 * script/lua/grub_lua.h: Likewise.
32872 * script/lua/loadlib.c: Likewise.
32873 * script/lua/lfunc.c: Likewise.
32874 * script/lua/lopcodes.c: Likewise.
32875 * script/lua/lparser.c: Likewise.
32876 * script/lua/ltable.h: Likewise.
32877 * script/lua/llex.h: Likewise.
32878 * script/lua/lgc.h: Likewise.
32879 * script/lua/lfunc.h: Likewise.
32880 * script/lua/lbaselib.c: Likewise.
32881 * script/lua/lopcodes.h: Likewise.
32882 * script/lua/lparser.h: Likewise.
32883 * script/lua/lzio.c: Likewise.
32884 * script/lua/linit.c: Likewise.
32885 * script/lua/lobject.c: Likewise.
32886 * script/lua/llimits.h: Likewise.
32887 * script/lua/lstring.c: Likewise.
32888 * script/lua/lzio.h: Likewise.
32889 * script/lua/lapi.c: Likewise.
32890 * script/lua/lcode.c: Likewise.
32891 * script/lua/lua.h: Likewise.
32892 * script/lua/lobject.h: Likewise.
32893 * script/lua/lstring.h: Likewise.
32894 * script/lua/lapi.h: Likewise.
32895 * script/lua/lcode.h: Likewise.
32896 * script/lua/luaconf.h: Likewise.
32897
cb8a2c38 328982009-09-26 Colin Watson <cjwatson@ubuntu.com>
32899
32900 * docs/grub.texi (Command-line and menu entry commands): Document
32901 date and echo commands.
32902
6b9b6276 329032009-09-24 Pavel Roskin <proski@gnu.org>
32904
32905 * include/grub/kernel.h (struct grub_module_header): Remove
32906 `grub_module_header_types'. Make `type' unsigned. Make `size'
32907 32-bit on all platforms.
32908 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
32909 8-bit field. Use grub_host_to_target32() for `size'.
32910 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
32911 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
32912 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
32913
4e5a02a7 329142009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32915
32916 Fix "lost keypress" bug in at_keyboard.
32917
32918 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
32919 Checks for readyness of input buffer (without flushing it).
32920 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
32921 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
32922
c6dcedf6 329232009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32924
32925 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
32926 size check within GRUB_MACHINE_PCBIOS section.
32927
74c958b1 329282009-09-24 Robert Millan <rmh.grub@aybabtu.com>
32929
32930 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
32931 return value.
32932 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
32933 KEYBOARD_ISREADY check.
32934 (grub_at_keyboard_checkkey): Rename to ...
32935 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
32936 Remove gratuitous cast.
32937
ff420223 329382009-09-23 Colin Watson <cjwatson@ubuntu.com>
32939
32940 * configure.ac: Call AC_PROG_MKDIR_P.
32941 * Makefile.in (docs/stamp-vti): Create docs directory. Create
32942 version.texi in $(builddir) rather than $(srcdir).
32943 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
32944 to makeinfo's @include search path.
32945
d96875df 329462009-09-23 Felix Zielcke <fzielcke@z-51.de>
32947
32948 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
32949
9b3f8365 329502009-09-23 Felix Zielcke <fzielcke@z-51.de>
32951
32952 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
32953 for `*.dpkg-new'.
32954
c44c90db 329552009-09-21 Colin Watson <cjwatson@ubuntu.com>
32956
32957 Build info documentation. Some code borrowed from Automake.
32958
32959 * configure.ac: Check for makeinfo.
32960 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
32961 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
32962 docs/version.texi.
32963 (MOSTLYCLEANFILES): Add vti.tmp.
32964 (docs/version.texi, docs/stamp-vti): Update automatically.
32965 (docs/grub.info): Build info documentation. Use --force and ignore
32966 errors for now.
32967 (all-local): Add $(INFOS).
32968 (install-local): Install info files.
32969 (uninstall): Uninstall info files.
32970 * docs/version.texi: Remove from revision control. This file is
32971 automatically generated on build now.
32972 * gendistlist.sh: Add `*.info'.
32973
e0b37bb5 329742009-09-21 Felix Zielcke <fzielcke@z-51.de>
32975
32976 * kern/term.c: Fix indentation.
32977
5a78865b 329782009-09-21 Felix Zielcke <fzielcke@z-51.de>
32979
32980 * util/hostdisk.c: Fix a comment.
32981
dace7e8a 329822009-09-20 Robert Millan <rmh.grub@aybabtu.com>
32983
32984 Fix regression introduced in r2539.
32985
32986 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
32987 to 0xA1.
32988
a83d079b 329892009-09-19 Colin Watson <cjwatson@ubuntu.com>
32990
32991 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 32992 os-prober. Under normal operation, it does not print anything to
32993 stderr; if it does, we need to debug it, and throwing away stderr
32994 makes that excessively difficult.
a83d079b 32995
be94a509 329962009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
32997
32998 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
32999
63f745e8 330002009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33001
33002 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33003 AC_LANG_PROGRAM from autoconf.
33004 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33005 prototypes (fixes warning).
33006
33007 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33008 `--disable-werror' was used.
33009
bbb2a70f 330102009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33011
33012 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33013 uninitialized `lastaddr'.
33014
77c24f1d 330152009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33016
0f0b8c87 33017 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33018
07197f23 330192009-09-14 Colin Watson <cjwatson@ubuntu.com>
33020
33021 * commands/test.c (get_fileinfo): Return immediately if
33022 grub_fs_probe fails.
33023
dabf1798 330242009-09-14 José Martínez <xosemp@gmail.com>
33025
33026 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33027
d52109a7 330282009-09-14 Colin Watson <cjwatson@ubuntu.com>
33029
33030 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33031 output.
33032
56532179 330332009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33034
33035 * configure.ac: Remove --enable-grub-pe2elf. Only build
33036 grub-pe2elf when needed by the build system itself.
33037 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33038
8ef070f5 330392009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33040
33041 * configure.ac: Bump version to 1.97~beta3.
33042 * docs/version.texi: Likewise.
33043
61229557 330442009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33045
33046 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33047 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33048 from here ...
33049 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33050 (grub_linux_setup_video): ... to here (with some adjustments).
33051
5c9f8d84 330522009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33053
33054 Fix memory corruption issue (spotted by Colin Watson).
33055
33056 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33057 causing returned size to be stored in an incorrect memory location.
33058 Fix use of uninitialized value when storing the returned size.
33059
e8f5d6e9 330602009-09-12 Yves Blusseau <blusseau@zetam.org>
33061
33062 Change clean rules to properly remove files
33063
33064 * genmk.rb: add new clean rules
33065 * Makefile.in (clean): add the new targets
33066 (mostlyclean): likewise
33067
cda2a409 330682009-09-11 Colin Watson <cjwatson@ubuntu.com>
33069
33070 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33071 to grub_uint64_t.
33072 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33073 non-resident files.
33074
86695375 330752009-09-11 Colin Watson <cjwatson@ubuntu.com>
33076
33077 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33078 part of bug #27349.
33079
8aa1541a 330802009-09-10 Felix Zielcke <fzielcke@z-51.de>
33081
33082 * util/grub-mkconfig.in: Make the created config mode 400 and
33083 print a warning if it fails.
33084
48d9bb0a 330852009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33086
33087 * util/grub.d/40_custom.in: Ask user to type custom entries below
33088 comment, rather than below 'exec tail' line.
33089
3b0521be 330902009-09-10 Colin Watson <cjwatson@ubuntu.com>
33091
33092 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33093 visible in grub.cfg.
33094
50051d55 330952009-09-10 Colin Watson <cjwatson@ubuntu.com>
33096
33097 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33098 file.
33099
c0d34387 331002009-09-10 Felix Zielcke <fzielcke@z-51.de>
33101
33102 * docs/grub.cfg: Add an example menu entry for memtest86+.
33103
80a608f3 331042009-09-09 Felix Zielcke <fzielcke@z-51.de>
33105
a2094832 33106 * config.guess: Update to latest version from config git.
80a608f3 33107 * config.sub: Likewise.
33108
99423078 331092009-09-08 Colin Watson <cjwatson@ubuntu.com>
33110
33111 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33112 unknown-command case. Fixes bug #27320.
33113
44454e4c 331142009-09-08 Felix Zielcke <fzielcke@z-51.de>
33115
33116 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33117 `help' if the command exists.
33118
e30d87ad 331192009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33120
33121 * INSTALL: Require GCC 4.1.3 or later.
33122
9a86f1ec 331232009-09-06 Yves Blusseau <blusseau@zetam.org>
33124
33125 * Makefile.in (RMKFILES): add i386-qemu.rmk
33126 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33127 $(srcdir)/stamp-h.in
33128
7f26d466 331292009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33130
33131 * util/grub-probe.c (probe): Comment out buggy codepath, which
33132 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33133 should be re-enabled after 1.97.
33134
3a613259 331352009-09-05 Felix Zielcke <fzielcke@z-51.de>
33136
33137 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33138 find searches for.
33139
197f76c7 331402009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33141
33142 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33143 unnecessary calls to grub_error.
33144
70ba68ce 331452009-09-04 Colin Watson <cjwatson@ubuntu.com>
33146
33147 * NEWS: Mention `keystatus' and Unicode fonts.
33148
4ff0d7a4 331492009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33150
33151 * configure.ac: Bump version to 1.97~beta2.
33152 * docs/version.texi: Likewise.
33153
77c55a87 331542009-09-03 Colin Watson <cjwatson@ubuntu.com>
33155
33156 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33157 containing unwind information in some cases where it previously did
33158 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33159 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33160 discussion.
33161
f79572cd 331622009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33163
33164 Embedding loadenv module into grub-emu
33165
33166 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33167 commands/loadenv.c
33168 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33169 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33170 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33172 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33173 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33174
93a81088 331752009-09-03 Magnus Granberg <zorry@ume.nu>
33176
33177 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33178 include -fPIE in the default specs.
33179 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33180 to TARGET_CFLAGS.
33181
160034b2 331822009-09-03 Felix Zielcke <fzielcke@z-51.de>
33183
33184 * INSTALL: Note that GNU Bison 2.3 or later is required.
33185
087c07c4 331862009-09-03 Colin Watson <cjwatson@ubuntu.com>
33187
33188 * kern/i386/pc/startup.S: Fix typo.
33189
cbf978c0 331902009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33191
33192 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33193 according to GCS.
33194
331952009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33196
33197 * docs/grub.texi (Naming convention): Describe one-based partition
33198 numbering.
33199 (Device syntax): Likewise.
33200 (File name syntax): Likewise.
33201 (Block list syntax): Likewise.
33202 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33203 menu.lst.
33204 (File name syntax): Likewise.
33205 (Command-line and menu entry commands): Document acpi, blocklist,
33206 crc, export, insmod, keystatus, ls, set, and unset commands.
33207
f3e8cdfd 332082009-09-02 Colin Watson <cjwatson@ubuntu.com>
33209
33210 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33211 to avoid implying that only one of --shift, --ctrl, or --alt may be
33212 used.
33213
c0bc232b 332142009-09-02 Colin Watson <cjwatson@ubuntu.com>
33215
33216 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33217 rather than comparing against S_IFREG, which will almost never work.
33218
aa0f752d 332192009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33220
33221 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33222 (write_blocklists): Likewise.
33223
ecb3166a 332242009-09-01 Colin Watson <cjwatson@ubuntu.com>
33225
33226 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33227 argument to grub_printf.
33228
c403a125 332292009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33230
33231 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33232 non GNU test.
31aba781 33233
b5e7312c 332342009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33235
33236 * kern/file.c (grub_file_read): Spelling fix
33237
fe00f472 332382009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33239
33240 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33241 loading of headers in some cases.
33242
cc55302e 332432009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33244
33245 * configure.ac: Bump version to 1.97~beta1.
33246 * docs/version.texi: Likewise.
33247
5c90cdd2 332482009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33249
33250 * include/grub/i386/xnu.h: Add license header.
33251 include grub/err.h explicitly.
33252
c90edae4 332532009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33254
33255 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33256 to `ufs' in the vfs.root.mountfrom kernel parameter.
33257
d8888b5c 332582009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33259
33260 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33261
33262 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33263 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33264
33265 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33266 `ARRAY_SIZE' macro.
33267
6f07b921 332682009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33269
33270 * kern/file.c (grub_file_read): Check offset.
33271 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33272 * fs/jfs.c (grub_jfs_read_file): Likewise.
33273 * fs/ntfs.c (grub_ntfs_read): Likewise.
33274 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33275 * fs/minix.c (grub_minix_read_file): Correct offset check.
33276 * fs/ufs.c (grub_ufs_read_file): Likewise.
33277
b4f34077 332782009-08-28 Colin Watson <cjwatson@ubuntu.com>
33279
33280 * term/i386/pc/console.c (bios_data_area): Cast
33281 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33282
e7c69859 332832009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33284
33285 1-bit optimised blitters.
33286
33287 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33288 prototype.
33289 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33290 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33291 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33292 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33293 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33294 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33295 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33296 function.
33297 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33298 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33299 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33300 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33301 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33302 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33303 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33304 when possible.
33305 * video/video.c (grub_video_get_blit_format): Return
33306 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33307
a57da43f 333082009-08-28 Colin Watson <cjwatson@ubuntu.com>
33309
33310 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33311 the first argument to grub_printf.
33312
4cbe67e5 333132009-08-28 Colin Watson <cjwatson@ubuntu.com>
333142009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33315
33316 Add `getkeystatus' terminal method. Add a new `keystatus' command
33317 to query it.
33318
33319 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33320 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33321 modifier key bitmasks.
33322 (struct grub_term_input): Add `getkeystatus' member.
33323 (grub_getkeystatus): Add prototype.
33324 * kern/term.c (grub_getkeystatus): New function.
33325
33326 * include/grub/i386/pc/memory.h
33327 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33328 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33329 Data Area layout.
33330 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33331 (grub_console_term_input): Set `getkeystatus' member.
33332 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33333 constants.
33334 (grub_usb_keyboard_getreport): Likewise.
33335 (grub_usb_keyboard_checkkey): Likewise.
33336 (grub_usb_keyboard_getkeystatus): New function.
33337 (grub_usb_keyboard_term): Set `getkeystatus' member.
33338
33339 * commands/keystatus.c: New file.
33340 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33341 (keystatus_mod_SOURCES): New variable.
33342 (keystatus_mod_CFLAGS): Likewise.
33343 (keystatus_mod_LDFLAGS): Likewise.
33344 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33345 commands/keystatus.c.
33346 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33347 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33348 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33350 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33351 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33352
6e2a9085 333532009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33354
33355 Split befs.mod and afs.mod into *_be.mod and *.mod
33356
33357 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33358 (grub_fstest_SOURCES): Likewise.
33359 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33360 (afs_be_mod_SOURCES): New variable.
33361 (afs_be_mod_CFLAGS): Likewise.
33362 (afs_be_mod_LDFLAGS): Likewise.
33363 (befs_be_mod_SOURCES): Likewise.
33364 (befs_be_mod_CFLAGS): Likewise.
33365 (befs_be_mod_LDFLAGS): Likewise.
33366 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33367 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33368 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33369 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33370 (grub_emu_SOURCES): Likewise.
33371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33372 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33373 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33374 * fs/afs_be.c: New file.
33375 * fs/befs_be.c: New file.
33376 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33377 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33378 (U16): Replaced with ...
33379 (grub_afs_to_cpu16): ...this. All users updated.
33380 (U32): Replaced with ...
33381 (grub_afs_to_cpu32): ...this. All users updated.
33382 (U64): Replaced with ...
33383 (grub_afs_to_cpu64): ...this. All users updated.
33384 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33385 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33386 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33387 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33388 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33389 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33390 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33391 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33392 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33393 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33394 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33395
32a71655 333962009-08-26 Bean <bean123ch@gmail.com>
33397
33398 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33399 64-bit number.
33400 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33401 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33402 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33403
552bf6c5 334042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33405
33406 NetBSD memory map support.
33407
33408 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33409 (grub_netbsd_btinfo_mmap_header): New structure.
33410 (grub_netbsd_btinfo_mmap_entry): Likewise.
33411 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33412
1ae2078c 334132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33414
33415 Enable bsd.mod on coreboot.
33416
33417 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33418 (bsd_mod_SOURCES): New variable.
33419 (bsd_mod_CFLAGS): Likewise.
33420 (bsd_mod_LDFLAGS): Likewise.
33421 (bsd_mod_ASFLAGS): Likewise.
33422 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33423 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33424
beefc598 334252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33426
33427 Cleanup NetBSD root support.
33428
33429 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33430 grub_bsd_get_device.
33431 Fix typo.
33432
3b76e68b 334332009-08-25 Felix Zielcke <fzielcke@z-51.de>
33434
33435 * util/grub.d/00_header.in: Move check for the video backend of
33436 gfxterm from here ...
33437 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33438 a suitable video backend.
33439
aea664ea 334402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33441
33442 Fix breakage in grub-setup.
33443
33444 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33445 "msdos_partition_map".
33446
ff747d50 334472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33448
33449 Fix breakage in normal/auth.c.
33450
33451 * normal/auth.c (grub_iswordseparator): New function.
33452
e7e1f93f 334532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33454
33455 Authentication support.
33456
33457 * commands/password.c: New file.
33458 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33459 (password_mod_SOURCES): New variable.
33460 (password_mod_CFLAGS): Likewise.
33461 (password_mod_LDFLAGS): Likewise.
33462 (normal_mod_SOURCES): Add normal/auth.c.
33463 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33464 normal/auth.c.
33465 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33466 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33467 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33469 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33470 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33471 * include/grub/auth.h: New file.
33472 * include/grub/err.h (grub_err_t): New enum value
33473 GRUB_ERR_ACCESS_DENIED.
33474 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33475 'users'.
33476 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33477 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33478 users updated.
33479 * normal/auth.c: New file.
33480 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33481 (grub_cmdline_run): Don't allow to go to command line without
33482 authentication.
33483 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33484 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33485 menuentry without superuser rights.
33486 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33487 user isn't a superuser.
33488
70f1161d 334892009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33490
33491 Save space by inlining misc.c functions.
33492
33493 * kern/misc.c (grub_iswordseparator): Made static.
33494 * kern/misc.c (grub_strcat): Moved from here ...
33495 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33496 * kern/misc.c (grub_strncat): Moved from here ...
33497 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33498 * kern/misc.c (grub_strcasecmp): Moved from here ...
33499 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33500 * kern/misc.c (grub_strncasecmp): Moved from here ...
33501 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33502 * kern/misc.c (grub_isalpha): Moved from here ...
33503 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33504 * kern/misc.c (grub_isdigit): Moved from here ...
33505 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33506 * kern/misc.c (grub_isgraph): Moved from here ...
33507 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33508 * kern/misc.c (grub_tolower): Moved from here ...
33509 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33510
48e40bff 335112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33512
33513 * script/sh/function.c (grub_script_function_find): Cut error message
33514 not to flood terminal.
33515 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33516 limit.
33517 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33518
c385bfc3 335192009-08-24 Colin Watson <cjwatson@ubuntu.com>
33520
33521 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33522 `report' grub_uint8_t *.
33523 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33524 Use a 50-millisecond timeout rather than just repeating
33525 grub_usb_keyboard_getreport 50 times.
33526 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33527
2d21e3e8 335282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33529
33530 Rename *_partition_map to part_*
33531
33532 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33533 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33534 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33535 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33536 All users updated.
33537 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33538 All users updated.
33539 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33540 * util/grub-probe.c (probe_partmap): Don't transform partition name
33541 to get module name.
33542
dd103c4e 335432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33544
33545 Fix OpenBSD and NetBSD support.
33546
33547 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33548 memory address conflict.
33549 (OPENBSD_MMAP_ACPI): New definition.
33550 (OPENBSD_MMAP_NVS): Likewise.
33551 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33552 and OPENBSD_MMAP_NVS.
33553 Add memory map terminator
33554 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 33555 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 33556
16c84d74 335572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33558
33559 Let user specify NetBSD root device.
33560
33561 * loader/i386/bsd.c (netbsd_root): New variable.
33562 (netbsd_opts): New option 'root'.
33563 (NETBSD_ROOT_ARG): New macro.
33564 (grub_netbsd_boot): Use 'netbsd_root'.
33565 (grub_bsd_unload): Free 'netbsd_root'.
33566 (grub_cmd_netbsd): Fill 'netbsd_root'.
33567
adb29902 335682009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33569
33570 Support for 64-bit NetBSD.
33571
33572 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33573 point when booting non-FreeBSD.
33574
f5ae9f74 335752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33576
33577 Support --no-smp and --no-acpi for NetBSD.
33578
33579 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33580 (NETBSD_AB_NOACPI): Likewise.
33581 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33582 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33583
de74f136 335842009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33585
33586 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33587 errors.
33588 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33589 errors. Call grub_error when needed.
33590
e9a925da 335912009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33592
33593 * commands/search.c (search_fs): Try searching without autoload first.
33594 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33595 filesystem module explicitly for faster booting.
33596
5174302b 335972009-08-23 Colin Watson <cjwatson@ubuntu.com>
33598
33599 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33600
c8c80635 336012009-08-23 Colin Watson <cjwatson@ubuntu.com>
33602
33603 * util/grub.d/30_os-prober.in: Disable os-prober if
33604 `GRUB_DISABLE_OS_PROBER' was set to true.
33605
71acf5e5 336062009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33607
33608 * partmap/pc.c: Rename to ...
33609 * partmap/msdos.c: ... this. Update all users.
33610 (grub_pc_partition_map): Rename to ...
33611 (grub_msdos_partition_map): ... this. Update all users.
33612
33613 * parttool/pcpart.c: Rename to ...
33614 * parttool/msdospart.c: ... this. Update all users.
33615
33616 * include/grub/pc_partition.h: Rename to ...
33617 * include/grub/msdos_partition.h: ... this. Update all users.
33618 (grub_pc_partition_bsd_entry): Rename to ...
33619 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33620 (grub_pc_partition_disk_label): Rename to ...
33621 (grub_msdos_partition_disk_label): ... this. Update all users.
33622 (grub_pc_partition_entry): Rename to ...
33623 (grub_msdos_partition_entry): ... this. Update all users.
33624 (grub_pc_partition_mbr): Rename to ...
33625 (grub_msdos_partition_mbr): ... this. Update all users.
33626 (grub_pc_partition): Rename to ...
33627 (grub_msdos_partition): ... this. Update all users.
33628 (grub_pc_partition_is_empty): Rename to ...
33629 (grub_msdos_partition_is_empty): ... this. Update all users.
33630 (grub_pc_partition_is_extended): Rename to ...
33631 (grub_msdos_partition_is_extended): ... this. Update all users.
33632 (grub_pc_partition_is_bsd): Rename to ...
33633 (grub_msdos_partition_is_bsd): ... this. Update all users.
33634
33635 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33636 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33637 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33638 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33639 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33640 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33641 (gpt_mod_LDFLAGS): Rename to ...
33642 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33643 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33644 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33645 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33646 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33647 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33648 (part_gpt_mod_LDFLAGS): ... this.
33649 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33650 `pcpart.mod' to `msdospart.mod'.
33651 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33652 to ...
33653 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33654 (msdospart_mod_LDFLAGS): ... this.
33655
c11fded5 336562009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33657
33658 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33659 (openbsd_opts): Likewise.
33660 (netbsd_opts): Likewise.
33661 (freebsd_flags): Added 0 terminator.
33662 (openbsd_flags): Likewise.
33663 (netbsd_flags): Likewise.
33664 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33665 (grub_cmd_freebsd): Transformed into extended command.
33666 (grub_cmd_openbsd): Likewise.
33667 (grub_cmd_netbsd): Likewise.
33668 (cmd_freebsd): Changed type to grub_extcmd_t.
33669 (cmd_openbsd): Likewise.
33670 (cmd_netbsd): Likewise.
33671 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33672 grub_cmd_openbsd as extended commands.
33673 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33674 cmd_netbsd and cmd_openbsd
33675
11d1c769 336762009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33677
33678 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33679
7a9094e5 336802009-08-21 Pavel Roskin <proski@gnu.org>
33681
5496c37e 33682 * Makefile.in (install-local): When checking if a file is in the
33683 build directory, use "test -e" to detect symlinks.
33684
7a9094e5 33685 * Makefile.in (install-local): Remove all files in
33686 $(DESTDIR)$(pkglibdir) before installing new files there.
33687
e53cea11 336882009-08-18 Felix Zielcke <fzielcke@z-51.de>
33689
33690 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33691 grub-mkelfimage.
33692
9aced544 336932009-08-18 Felix Zielcke <fzielcke@z-51.de>
33694
33695 * util/grub-mkconfig.in: Don't use gfxterm by default if not
33696 explicitly specified by the user.
33697
b7da6bab 336982009-08-18 Pavel Roskin <proski@gnu.org>
33699
33700 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
33701 grub_uint8_t pointer for data.
33702 * include/grub/fbutil.h (struct grub_video_fbblit_info):
33703 Likewise.
33704 * video/fb/fbutil.c: Remove unnecessary casts.
33705
19f1b335 337062009-08-17 Michal Suchanek <hramrach@centrum.cz>
33707
33708 VBE cleanup.
33709
33710 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
33711 (grub_vbe_set_video_mode): Save active mode info
33712 only after setting the mode.
33713 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
33714 second argument.
33715
2f467aa9 337162009-08-17 Michal Suchanek <hramrach@centrum.cz>
33717
33718 Rename variables for clarity.
33719
33720 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
33721 (active_vbe_mode_info): ... this. All users updated.
33722 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
33723 All users updated.
33724 (initial_mode): Rename to ...
33725 (initial_vbe_mode): ... this. All users updated.
33726 (mode_in_use): Rename to ..
33727 (vbe_mode_in_use): ... this. All users updated.
33728 (mode_list): Rename to ..
33729 (vbe_mode_list): ... this. All users updated.
33730 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
33731 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
33732 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
33733 'mode_list_size' to 'vbe_mode_list_size'.
33734 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
33735 'best_mode_info' to 'best_vbe_mode_info' and
33736 'best_mode' to 'best_vbe_mode'
33737
6025fcd7 337382009-08-17 Michal Suchanek <hramrach@centrum.cz>
33739
33740 Remove duplicate grub_video_fb_get_video_ptr.
33741
33742 * include/grub/fbutil.h (get_data_ptr): Rename to ...
33743 (grub_video_fb_get_video_ptr): ... this.
33744 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
33745 * video/fb/fbutil.c: Add comment about addressing.
33746 (get_data_ptr): Rename to ...
33747 (grub_video_fb_get_video_ptr): ... this. All users updated.
33748 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
33749
cc8c6faf 337502009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33751
33752 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
33753 grub_dprintf() that was just added.
33754
08aa61f0 337552009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33756
33757 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
33758 (DEFAULT_VIDEO_MODE): Remove macros.
33759 (grub_linux_boot): Remove assumption that Linux has FB support,
33760 and use "text" as default video mode.
33761
7cef4f75 337622009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
33763
33764 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
33765 grub_dprintf.
33766 * fs/fat.c (grub_fat_read_data): Likewise.
33767
e1f39873 337682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33769
33770 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
33771 payload.
33772 (grub_module): Likewise.
33773
c166d79e 337742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33775
33776 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
33777 mbi->cmdline but free playground.
33778
c60cee8e 337792009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33780
33781 Handle group offset on UFS1.
33782
33783 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
33784 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
33785
c0d8b5d4 337862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33787
33788 Split ufs.mod into ufs1.mod and ufs2.mod.
33789
33790 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
33791 (grub_fstest_SOURCES): Likewise.
33792 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
33793 (ufs_mod_SOURCES): Remove.
33794 (ufs_mod_CFLAGS): Likewise.
33795 (ufs_mod_LDFLAGS): Likewise.
33796 (ufs1_mod_SOURCES): New variable.
33797 (ufs1_mod_CFLAGS): Likewise.
33798 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 33799 (ufs2_mod_SOURCES): New variable.
33800 (ufs2_mod_CFLAGS): Likewise.
33801 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 33802 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
33803 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33804 Likewise.
33805 (grub_emu_SOURCES): Likewise.
33806 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33807 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33808 (grub_setup_SOURCES): Likewise.
33809 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33810 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
33811 (grub_setup_SOURCES): Likewise.
33812 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33813 Likewise.
33814 * fs/ufs2.c: New file.
33815 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
33816
d3539132 338172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33818
33819 Framebuffer split.
33820
33821 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
33822 subsystem at the end.
33823 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
33824 (video_fb_mod_SOURCES): New variable.
33825 (video_fb_mod_CFLAGS): Likewise.
33826 (video_fb_mod_LDFLAGS): Likewise.
33827 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
33828 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
33829 * video/i386/pc/vbeblit.c: Moved from here ...
33830 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
33831 * video/i386/pc/vbefill.c: Moved from here ...
33832 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
33833 * video/i386/pc/vbeutil.c: Moved from here ...
33834 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
33835 * include/grub/i386/pc/vbeblit.h: Moved from here ...
33836 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
33837 * include/grub/i386/pc/vbefill.h: Moved from here ...
33838 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
33839 * include/grub/i386/pc/vbeutil.h: Moved from here ...
33840 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
33841 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
33842 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
33843 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
33844 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
33845 (grub_video_adapter): Added 'get_info_and_fini'.
33846 (grub_video_get_info_and_fini): New prototype.
33847 (grub_video_set_mode): make modestring const char *.
33848 * loader/i386/linux.c (grub_linux_setup_video): Use
33849 grub_video_get_info_and_fini.
33850 (grub_linux_boot): Move modesetting just before booting.
33851 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
33852 grub_video_get_info_and_fini.
33853 * video/i386/pc/vbe.c: Moved framebuffer part ...
33854 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
33855 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
33856 grub_video_fbstd_colors and grub_video_fb_set_palette.
33857 (grub_video_vbe_init): Clear 'framebuffer' variable and use
33858 grub_video_fb_init.
33859 (grub_video_vbe_fini): Use grub_video_fb_fini.
33860 (grub_video_vbe_setup): Use framebuffer.render_target instead of
33861 render_target and use grub_video_fb_set_active_render_target and
33862 grub_video_fb_set_palette.
33863 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
33864 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
33865 (grub_video_vbe_adapter): Use framebuffer.
33866 * video/video.c (grub_video_get_info_and_fini): New function.
33867 (grub_video_set_mode): Make modestring const char *.
33868 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
33869 values are already initialised.
33870
d404ee56 338712009-08-14 Pavel Roskin <proski@gnu.org>
33872
33873 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
33874 ABS and APPLE_CC.
33875 * boot/i386/pc/diskboot.S: Likewise.
33876 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
33877 sectors allow compilation on MacOSX.
33878 * conf/i386-pc.rmk: Enable unconditional compilation of
33879 lnxboot.img.
33880
9a10df16 338812009-08-13 Colin Watson <cjwatson@ubuntu.com>
33882
33883 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
33884 * util/grub.d/00_header.in: Enter interruptible sleep if
33885 GRUB_HIDDEN_TIMEOUT is set.
33886
be3c9ca7 338872009-08-13 Yves Blusseau <blusseau@zetam.org>
33888
33889 * include/grub/symbol.h: Add the LOCAL macro.
33890 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
33891 starting with "L_".
33892
1f9e557e 338932009-08-13 Pavel Roskin <proski@gnu.org>
33894
9ca62843 33895 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
33896 any modern compilers we support.
33897
1f9e557e 33898 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
33899 Use local labels starting with "L_" so that Apple assembler
33900 knows they are local.
33901
81623db6 339022009-08-10 Robert Millan <rmh.grub@aybabtu.com>
33903
33904 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
33905 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
33906 (bsd_kernel_types): ... this enum.
33907
33908 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
33909 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
33910 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
33911
33912 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
33913 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
33914 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
33915 messages.
33916
f5d35e7a 339172009-08-08 Robert Millan <rmh.grub@aybabtu.com>
33918
33919 * util/grub-dumpdevtree: Moved from here ...
33920 * util/i386/efi/grub-dumpdevtree: ... to here.
33921 (hexify): New function. Converts a string to its hex version.
33922 Generate hex versions of "efi" and "device-properties" by calling
33923 hexify() on the ASCII strings rather than by hardcoding numbers.
33924
d1e1d527 339252009-08-08 Robert Millan <rmh.grub@aybabtu.com>
33926
33927 * fs/jfs.c: Update copyright year.
33928
1ebbe064 339292009-08-08 Felix Zielcke <fzielcke@z-51.de>
33930
33931 * util/grub.d/00_header.in: Fix a comment.
33932 * util/grub.d/10_linux.in: Likewise.
33933 * util/grub.d/10_windows.in: Likewise.
33934 * util/grub.d/10_hurd.in: Likewise.
33935
a78c8d24 339362009-08-08 Felix Zielcke <fzielcke@z-51.de>
33937
33938 * util/grub-mkconfig.in: Allow the user to specify the used font
33939 with GRUB_FONT.
33940
29a6b9e8 339412009-08-08 Pavel Roskin <proski@gnu.org>
33942
b5f16cc4 33943 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
33944 available, xfs.mod needs it now.
33945
2f5cb827 33946 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
33947 the "g" modifier in sed when the intention is to strip something
33948 once. This fixes comparison of kernels with multiple dashes.
33949
29a6b9e8 33950 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
33951 on it. Add missing space before closing bracket. Fix
33952 misleading formatting.
33953
892a3d98 339542009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33955
33956 * docs/grub.texi: Major overhaul. Remove all sections that are
33957 specific to GRUB Legacy, or mostly composed of Legacy-specific
33958 information.
33959
ed94253f 339602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33961
33962 * docs/version.texi: New file. Provides version information for
33963 grub.texi.
33964
126d6628 339652009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33966
33967 * docs/grub.texi: Update CVS information to SVN.
33968 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
33969
998b5aa9 339702009-08-07 Felix Zielcke <fzielcke@z-51.de>
33971
33972 * util/grub-mkconfig.in: Remove a wrong `fi'.
33973
818e094a 339742009-08-07 Felix Zielcke <fzielcke@z-51.de>
33975
33976 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
33977 (grub_jfs_uuid): New function.
33978 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
33979
b969c52f 339802009-08-07 Felix Zielcke <fzielcke@z-51.de>
33981
33982 * util/grub-mkconfig_lib.in (font_path): Move the functionality
33983 of it to ...
33984 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
33985 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
33986
7a4894cc 339872009-08-07 Robert Millan <rmh.grub@aybabtu.com>
33988
33989 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
33990 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
33991 Update all users.
33992
33993 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
33994 not just "vmlinu[zx]".
33995 Moved from here ...
33996 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
33997 all users.
33998
33999 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34000 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34001 all users.
34002
4e2171f8 340032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34004
34005 * util/grub.d/10_freebsd.in: Use an absolute device path for
34006 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34007
6dcfcb32 340082009-08-06 Felix Zielcke <fzielcke@z-51.de>
34009
34010 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34011 handling of multiple abstraction modules.
34012
f56a8756 340132009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34014
34015 Fix a bug resulting in black screen when loading Linux using a
34016 packed video mode.
34017
34018 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34019 function.
34020
34021 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34022 (grub_vbe_bios_getset_dac_palette_width): New function.
34023 (grub_vbe_bios_get_dac_palette_width)
34024 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34025 grub_vbe_bios_getset_dac_palette_width()).
34026
34027 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34028 check for return status.
34029 (grub_vbe_get_video_mode_info): When getting information for a packed
34030 mode (<= 8 bpp), obtain DAC palette width using
34031 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34032 {red,green,blue}_mark_size.
34033
222671b2 340342009-08-04 Felix Zielcke <fzielcke@z-51.de>
34035
ecb1a6d9 34036 * commands/search.c (options): Fix help output to match actual code.
222671b2 34037
f84114f5 340382009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34039
34040 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34041 of homegrown code.
34042
bd288a20 340432009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34044
34045 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34046 on XFS or ReiserFS.
34047
8aab5e25 340482009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34049
34050 Support Apple partition map with sector size different from 512 bytes.
34051
34052 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34053 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34054 and 'apart.partmap_size'.
34055
6ad6258a 340562009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
340572009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34058
34059 Fix cpuid command.
34060
34061 * commands/i386/cpuid.c (options): New variable.
34062 (grub_cmd_cpuid): Return real error.
34063 (GRUB_MOD_INIT(cpuid)): Declare options.
34064
67459bc6 340652009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34066
34067 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34068 valid.
34069
fbc6ab54 340702009-07-31 Bean <bean123ch@gmail.com>
34071
34072 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34073 log2_inode.
34074 (grub_fshelp_node): Move inode field to the end.
34075 (grub_xfs_data): Remove inode field.
34076 (grub_xfs_inode_block): Calculate inode size using sblock.
34077 (grub_xfs_inode_offset): Likewise.
34078 (grub_xfs_read_inode): Calculate inode size using sblock.
34079 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34080 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34081 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34082 to match inode size.
34083 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34084 not accessible when data is null.
34085 (grub_xfs_open): Likewise.
34086
f45d6cfc 340872009-07-31 Bean <bean123ch@gmail.com>
34088
34089 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34090 Don't change pv->disk if it's already set.
34091
34092 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34093 (grub_raid_register): ... here.
34094 (grub_raid_rescan): Removed.
34095
34096 * include/grub/raid.h (grub_raid_rescan): Removed.
34097
34098 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34099 (fstest): Replace grub_raid_rescan with module fini function followed
34100 by init function.
34101
34102 * util/grub-probe.c: Add include file <grub/raid.h>.
34103 (probe_raid_level): New function.
34104 (probe): Detect abstraction by walking the disk device, support two
34105 level of abstraction (LVM on RAID) when detecting partition map.
34106
24443b5a 341072009-07-31 Pavel Roskin <proski@gnu.org>
34108
34109 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34110 to grub_zalloc(), it was erroneous.
34111 Reported by Bean <bean123ch@gmail.com>
34112
a275d9e7 341132009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34114
34115 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34116 embedding zone, not only the first one.
a275d9e7 34117
56c5a47f 341182009-07-29 Joe Auricchio <jauricchio@gmail.com>
34119
34120 * term/gfxterm.c (clear_char): New function.
34121 (grub_virtual_screen_setup): Use clear_char.
34122 (scroll_up): Likewise.
34123 (grub_virtual_screen_cls): Likewise.
34124
67bb323a 341252009-07-29 Felix Zielcke <fzielcke@z-51.de>
34126
34127 * util/deviceiter.c (get_acceleraid_disk_name): New static
34128 function.
34129 (grub_util_iterate_devices): Handle Accelraid devices.
34130 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34131
388a7c75 341322009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34133
34134 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34135 separator for the suggested gfxpayload string (';' collides with the
34136 parser and needs escaping).
34137
3bb7abcf 341382009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34139
34140 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34141 Clear direction flag before jumping to OS.
34142 (grub_multiboot2_real_boot): Likewise.
34143
2ddd36d7 341442009-07-28 Felix Zielcke <fzielcke@z-51.de>
34145
34146 * util/i386/pc/grub-install: Fix parsing of --disk-module
34147 option.
34148
c521b62b 341492009-07-28 Felix Zielcke <fzielcke@z-51.de>
34150
34151 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34152 when embedding.
34153
880e0a0c 341542009-07-26 Felix Zielcke <fzielcke@z-51.de>
34155
34156 * util/grub-mkconfig.in (package_version): New variable.
34157 Use it do display the version.
34158
2366e356 341592009-07-25 Felix Zielcke <fzielcke@z-51.de>
34160
34161 * kern/file.c (grub_file_open): Revert to previous check with
34162 grub_errno.
34163
7ad8c80e 341642009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34165
34166 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34167 from help line. It's out of sync with code.
34168
72b9658b 341692009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34170
34171 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34172 entries on failed boot.
34173
77435277 341742009-07-25 Felix Zielcke <fzielcke@z-51.de>
34175
34176 * kern/file.c (grub_file_open): Fix an error check.
34177
fcaa8b21 341782009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34179
35d16c74 34180 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34181 partition map couldn't be identified.
fcaa8b21 34182
48904cd1 341832009-07-23 Pavel Roskin <proski@gnu.org>
34184
ef3c317f 34185 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34186 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34187 case of little endian words becomes just an optimization.
34188 Respect const modifier.
ad8ea1f4 34189 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34190
48904cd1 34191 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34192 to avoid loss of upper bits if align is unsigned and shorter
34193 than addr.
34194
260c9a89 341952009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34196
34197 UUID support for UFS
34198
34199 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34200 (grub_ufs_uuid): New function.
34201 (grub_ufs_fs): add .uuid
34202
f76ce889 342032009-07-21 Pavel Roskin <proski@gnu.org>
34204
34205 * kern/dl.c (grub_dl_check_header): Make static.
34206
6a6cbcaf 342072009-07-21 Felix Zielcke <fzielcke@z-51.de>
34208
34209 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34210 add drivemap for Vista. It breaks Windows 7.
34211
cffcddb2 342122009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34213
34214 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34215 128 bytes
34216
1ef44b80 342172009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34218
34219 Add BFS support
34220
34221 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34222 (grub_fstest_SOURCES): Likewise.
34223 (pkglib_MODULES): Add befs.mod.
34224 (befs_mod_SOURCES): New variable.
34225 (befs_mod_CFLAGS): Likewise.
34226 (befs_mod_LDFLAGS): Likewise.
34227 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34228 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34229 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34230 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34231 (grub_setup_SOURCES): Likewise.
34232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34233 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34234 (grub_setup_SOURCES): Likewise.
34235 * fs/befs.c: New file.
34236 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34237 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34238 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34239 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34240 (B_KEY_INDEX_ALIGN): New declaration.
34241 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34242 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34243 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34244 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34245 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34246 (grub_afs_mount) [MODE_BFS]: Likewise.
34247 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34248 (grub_afs_fs): Use GRUB_AFS_FSNAME
34249 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34250 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34251 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34252 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34253
4f253044 342542009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34255
34256 * util/getroot.c (find_root_device): Add support for MacOSX.
34257 * util/hostdisk.c: Likewise.
34258
57a55913 342592009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34260
34261 * font/font.c (find_glyph): Check whether a font is present to avoid
34262 segmentation fault.
75421ca9 34263
342642009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34265
34266 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34267
e98cd0c2 342682009-07-20 Pavel Roskin <proski@gnu.org>
34269
34270 * configure.ac: Trim excessively wordy excuses.
34271
1d2d169a 342722009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34273
34274 Add symlink, mtime and label support to AtheFS.
34275
34276 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34277 (grub_afs_iterate_dir): Handle symlinks.
34278 (grub_afs_open): Use grub_afs_read_symlink.
34279 (grub_afs_dir): Likewise.
34280 Pass mtime.
34281 (grub_afs_label): New function.
34282 (grub_afs_fs): Add grub_afs_label.
34283 (grub_afs_read_symlink): New function.
34284
186f3189 342852009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34286
34287 Fix AtheFS support.
34288
34289 * fs/afs.c: Fix comments style.
34290 (grub_afs_blockrun): Declare as packed.
34291 (grub_afs_datastream): Likewise.
34292 (grub_afs_bnode): Likewise.
34293 (grub_afs_btree): Likewise.
34294 (grub_afs_sblock): Likewise.
34295 Declare `name' as char.
34296 (grub_afs_inode): Declare as packed.
34297 Change void *vnode to grub_uint32_t unused.
34298 (grub_afs_iterate_dir): Check that key_size is positive.
34299 (grub_afs_mount): Don't read superblock twice.
75421ca9 34300 (grub_afs_dir): Don't free node in case of error,
186f3189 34301 grub_fshelp_find_file already handles this.
34302 (grub_afs_open): Likewise.
34303
5680109e 343042009-07-19 Pavel Roskin <proski@gnu.org>
34305
34306 * Makefile.in: Remove LIBLZO and enable_lzo.
34307 * conf/i386-pc.rmk: Remove lzo support.
34308 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34309 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34310 support.
34311 * kern/i386/pc/lzo1x.S: Remove.
34312 * kern/i386/pc/startup.S: Remove lzo support.
34313 * util/i386/pc/grub-mkimage.c: Likewise.
34314
ac70fa32 343152009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34316
34317 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34318 * fs/xfs.c (grub_xfs_dir): Likewise.
34319 * fs/afs.c (grub_afs_dir): Likewise.
34320 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34321 (grub_iso9660_open): Likewise.
34322 * fs/jfs.c (grub_jfs_open): Likewise.
34323 * fs/ext2.c (grub_ext2_dir): Likewise.
34324 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34325 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34326
eab58da2 343272009-07-16 Pavel Roskin <proski@gnu.org>
34328
d2838156 34329 * configure.ac: Never add "-c" to CFLAGS.
34330
55c70904 34331 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34332
43e6200c 34333 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34334 grub_cv_cc_efiemu should be used.
34335
ce7a733d 34336 * configure.ac: Typo fixes.
34337
eab58da2 34338 * kern/mm.c (grub_zalloc): New function.
34339 (grub_debug_zalloc): Likewise.
34340 * include/grub/mm.h: Declare grub_zalloc() and
34341 grub_debug_zalloc().
34342 * util/misc.c (grub_zalloc): New function.
34343 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34344 instead of grub_malloc(), remove unneeded initializations.
34345 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34346 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34347 * commands/parttool.c (grub_cmd_parttool): Likewise.
34348 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34349 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34350 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34351 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34352 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34353 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34354 (grub_cmd_efiemu_pnvram): Likewise.
34355 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34356 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34357 (grub_iso9660_iterate_dir): Likewise.
34358 * fs/jfs.c (grub_jfs_opendir): Likewise.
34359 * fs/ntfs.c (list_file): Likewise.
34360 (grub_ntfs_mount): Likewise.
34361 * kern/disk.c (grub_disk_open): Likewise.
34362 * kern/dl.c (grub_dl_load_core): Likewise.
34363 * kern/elf.c (grub_elf_file): Likewise.
34364 * kern/env.c (grub_env_context_open): Likewise.
34365 (grub_env_set): Likewise.
34366 (grub_env_set_data_slot): Likewise.
34367 * kern/file.c (grub_file_open): Likewise.
34368 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34369 * loader/i386/multiboot.c (grub_module): Likewise.
34370 * loader/xnu.c (grub_xnu_create_key): Likewise.
34371 (grub_xnu_create_value): Likewise.
34372 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34373 (read_config_file): Likewise.
34374 * normal/menu_entry.c (make_screen): Likewise.
34375 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34376 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34377 * script/sh/script.c (grub_script_parse): Likewise.
34378 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34379 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34380 * video/readers/png.c (grub_png_output_byte): Likewise.
34381 (grub_video_reader_png): Likewise.
34382
830afef7 343832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34384
34385 Enable all targets that can be built by default
34386
830afef7 34387 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34388 grub-mkfont and grub-fstest if they can be built
34389
ee293aee 343902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34391
34392 Fix hang and segmentation fault in grub-emu-usb
34393
34394 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34395 * util/usb.c (grub_libusb_devices): likewise
34396 (grub_libusb_init): rename to ...
34397 (GRUB_MOD_INIT (libusb)):...this
34398 (grub_libusb_fini): rename to ..
34399 (GRUB_MOD_FINI (libusb)):...this
34400 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34401 * include/grub/disk.h (grub_raid_init): removed, it's useless
34402 (grub_raid_fini): likewise
34403 (grub_lvm_init): likewise
34404 (grub_lvm_fini): likewise
34405 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34406 by grub_init_all
34407
94414221 344082009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34409
34410 Fix libusb
34411
34412 * Makefile.in (LIBUSB): new macro
34413 * genmk.rb (Utility/print_tail): new method
34414 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34415 (top level): call util.print_tail at the end.
34416
59ade63d 344172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34418
34419 Make FreeBSD accept zpool.cache
34420
34421 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34422 type is /boot/zfs/zpool.cache
34423
a58da8c7 344242009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34425
34426 Fix 64-bit efiemu
34427
34428 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34429 correct wrong typedef
34430 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34431
20591577 344322009-07-15 Pavel Roskin <proski@gnu.org>
34433
560ca572 34434 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34435 * kern/disk.c (struct grub_disk_cache): Likewise.
34436
e8e8e4fd 34437 * commands/probe.c (options): Typo fix.
34438
fde24e10 34439 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34440 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34441 accordingly.
34442 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34443
379c54c1 34444 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34445 the end of "Error" to make the message more readable.
34446
7bd8f5bf 34447 * boot/i386/pc/boot.S (kernel_segment): Remove.
34448 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34449 for destination.
34450
40b132c5 34451 * boot/i386/pc/boot.S (boot_version): Remove.
34452 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34453 Remove.
34454
20591577 34455 * include/grub/i386/pc/boot.h: Sort all offsets.
34456 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34457 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34458 * boot/i386/pc/boot.S: Assert location of every offset listed in
34459 include/grub/i386/pc/boot.h.
34460
2df32b2c 344612009-07-13 Pavel Roskin <proski@gnu.org>
34462
44b5d879 34463 * include/grub/i386/coreboot/machine.h: Rename
34464 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34465 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34466 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34467
17dc3751 34468 * kern/dl.c: Force native word size to suppress warnings when
34469 compiling grub-emu.
34470
2df32b2c 34471 * kern/device.c (grub_device_iterate): Change struct part_ent to
34472 hold the name, not a pointer to it. Use one grub_malloc() per
34473 partition, not two. Free partition_name if grub_malloc() fails.
34474 Set ents to NULL only before grub_partition_iterate() is called.
34475
75c59f59 344762009-07-11 Bean <bean123ch@gmail.com>
34477
34478 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34479 childname.
34480
0ae1bf88 344812009-07-10 Bean <bean123ch@gmail.com>
344822009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34483
34484 * kern/ieee1275/openfw.c (grub_children_iterate)
34485 (grub_devalias_iterate): Fix size evaluation for property or path
34486 strings, which was broken since r2132.
34487
8279cade 344882009-07-07 Pavel Roskin <proski@gnu.org>
34489
7d8a52d3 34490 * commands/search.c (search_file): Merge into ...
34491 (search_fs): ... this. Accept search type as argument.
34492 (grub_cmd_search): Pass search type to search_fs().
34493
25f9a05a 34494 * include/grub/util/console.h: New file.
34495 * util/console.c: Use it instead of grub/machine/console.h.
34496 * util/grub-emu.c: Likewise.
34497
8279cade 34498 * lib/arg.c (find_long_option): Remove.
34499 (find_long): Add `len' argument, make `s' const char *.
34500 (grub_arg_parse): Parse long options in place, not in a
34501 temporary buffer.
34502
4a11b60f 345032009-07-06 Pavel Roskin <proski@gnu.org>
34504
99f68041 34505 * commands/search.c (search_fs): Fix potential NULL pointer
34506 dereference.
34507
4a11b60f 34508 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34509 function pointer.
34510
e110f4de 345112009-07-06 Daniel Mierswa <impulze@impulze.org>
34512
34513 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34514 comparison.
34515
46eeb6a2 345162009-07-05 Pavel Roskin <proski@gnu.org>
34517
bab74958 34518 * include/grub/i386/linux.h (struct linux_kernel_params):
34519 Restore padding3, it's still needed.
34520
46eeb6a2 34521 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34522 FreeBSD.
34523 * util/osdetect.lua: Likewise.
34524
b4a1dc79 345252009-07-05 Bean <bean123ch@gmail.com>
34526
34527 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34528
34529 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34530 (grub_lua_getenv): Likewise.
34531 (grub_lua_setenv): Likewise.
34532 (save_errno): New function.
34533 (push_result): Likewise.
34534 (grub_lua_enum_device): Likewise.
34535 (grub_lua_enum_file): Likewise.
34536 (grub_lua_file_open): Likewise.
34537 (grub_lua_file_close): Likewise.
34538 (grub_lua_file_seek): Likewise.
34539 (grub_lua_file_read): Likewise.
34540 (grub_lua_file_getline): Likewise.
34541 (grub_lua_file_getsize): Likewise.
34542 (grub_lua_file_getpos): Likewise.
34543 (grub_lua_file_eof): Likewise.
34544 (grub_lua_file_exist): Likewise.
34545 (grub_lua_add_menu): Likewise.
34546
34547 * script/lua/grub_lua.h (isupper): New inline function.
34548 (islower): Likewise.
34549 (ispunct): Likewise.
34550 (isxdigit): Likewise.
34551 (strcspn): Change to normal function.
34552 (strpbkr): New function declaration.
34553 (memchr): Likewise.
34554
34555 * script/lua/grub_main.c (scan_str): New function.
34556 (strcspn): Likewise.
34557 (strpbrk): Likewise.
34558 (memchr): Likewise.
34559
34560 * script/lua/linit.c (lualibs): Enable the string library.
34561
34562 * util/osdetect.lua: New file.
34563
2da92295 345642009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34565
34566 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34567 `capabilities' member.
34568
b2582ec9 345692009-07-02 Pavel Roskin <proski@gnu.org>
34570
34571 * genparttoollist.sh: Add missing newline at the end.
34572
32622956 345732009-07-01 Pavel Roskin <proski@gnu.org>
34574
87a7339e 34575 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34576
d23af54e 34577 * util/hostdisk.c (open_device): Remove `const' from
34578 `sysctl_size', as sysctlbyname() can change it (in this case it
34579 doesn't actually happen).
34580
c94b18a9 34581 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34582 using signed long int constants.
34583
c6cd3ef0 34584 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34585 constant to avoid a warning on FreeBSD.
34586
0df63420 34587 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34588 where it's needed.
34589
999577f1 34590 * Makefile.in: Install include/grub/machine symlink.
34591
6f41557f 34592 * Makefile.in: When installing symlinks, use "cp -fR", which
34593 works on FreeBSD and MacOSX.
34594 From Yves Blusseau <cl7m42e02@sneakemail.com>
34595
c8d22988 34596 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34597 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34598
1b96e952 34599 * util/misc.c: Move grub_reboot() and grub_halt() ...
34600 * util/grub-emu.c: ... here. Make main_env static.
34601 * include/grub/util/misc.h: Remove main_env.
34602
2ef0084d 34603 * kern/mm.c: Use correct format to print size_t.
34604
32622956 34605 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34606 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34607 * kern/powerpc/dl.c: Likewise.
34608 * kern/sparc64/dl.c: Likewise.
34609 * kern/x86_64/dl.c: Likewise.
34610
3f7f0cd0 346112009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34612
34613 Fix grub-emu build on sparc64-ieee1275.
34614
75421ca9 34615 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 34616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34617
211d06b5 346182009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34619
34620 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34621 (grub_reboot, grub_halt): New functions.
34622
34623 * util/i386/pc/misc.c: Delete. Update all users.
34624 * util/sparc64/ieee1275/misc.c: Likewise.
34625 * util/powerpc/ieee1275/misc.c: Likewise.
34626
aaf53e3c 346272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34628
34629 * conf/i386.rmk (setjmp_mod_SOURCES)
34630 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34631 * conf/common.rmk (setjmp_mod_SOURCES)
34632 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34633 to use $(target_cpu).
34634 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34635 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34636 * conf/powerpc-ieee1275.rmk: Likewise.
34637 * conf/sparc64-ieee1275.rmk: Likewise.
34638
34639 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34640 $(target_cpu) for kern/$(target_cpu)/dl.c.
34641 * conf/i386-efi.rmk: Likewise.
34642 * conf/i386-ieee1275.rmk: Likewise.
34643 * conf/x86_64-efi.rmk: Likewise.
34644 * conf/i386-coreboot.rmk: Likewise.
34645 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34646 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34647 kern/$(target_cpu)/cache.S.
34648 * conf/sparc64-ieee1275.rmk: Likewise.
34649
a337130b 346502009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34651
34652 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34653 type to `grub_uint8_t', and adjust `padding9' accordingly.
34654
c6fe4d53 346552009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34656
b09db61d 34657 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34658
c6fe4d53 34659 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34660 assembly in final jump, using register constraints.
34661
b09db61d 34662 (grub_linux_boot): For text mode, initialize `have_vga' using
34663 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34664
34665 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34666 right before the final jump.
34667
34668 Set `video_mode' to 0x3.
34669
34670 Document initialization of `video_page', `video_mode' and
34671 `video_ega_bx'.
34672
28333ad0 346732009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34674
34675 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34676 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 34677 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 34678
02164e1b 346792009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34680
34681 Fix build on Debian / sparc.
34682
34683 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34684
18b6c557 346852009-06-28 Pavel Roskin <proski@gnu.org>
34686
85f2aab6 34687 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34688 fix a warning.
34689
18b6c557 34690 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34691
ad760f81 346922009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34693
34694 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
34695 `err'.
34696
87a4623b 346972009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34698
34699 Revert r2338.
34700
34701 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
34702 file can't be opened. grub_file_open() is already supposed to set
75421ca9 34703 grub_errno / grub_errmsg appropriately.
87a4623b 34704 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34705
8231fb77 347062009-06-27 Pavel Roskin <proski@gnu.org>
347072009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34708
34709 * include/grub/dl.h: Include grub/elf.h.
34710 (struct grub_dl): Add symtab field.
34711 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
34712 GRUB_MODULES_MACHINE_READONLY.
34713 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
34714 of the header for read-only modules.
34715 (grub_dl_unload): Free mod->symtab for read-only modules.
34716 * kern/i386/dl.c: Use mod->symtab.
34717 * kern/powerpc/dl.c: Likewise.
34718 * kern/sparc64/dl.c: Likewise.
34719 * kern/x86_64/dl.c: Likewise.
34720
34721 * conf/i386-qemu.rmk: New file.
34722 * kern/i386/qemu/startup.S: Likewise.
34723 * kern/i386/qemu/mmap.c: Likewise.
34724 * boot/i386/qemu/boot.S: Likewise.
34725 * include/grub/i386/qemu/time.h: Likewise.
34726 * include/grub/i386/qemu/serial.h: Likewise.
34727 * include/grub/i386/qemu/kernel.h: Likewise.
34728 * include/grub/i386/qemu/console.h: Likewise.
34729 * include/grub/i386/qemu/boot.h: Likewise.
34730 * include/grub/i386/qemu/init.h: Likewise.
34731 * include/grub/i386/qemu/machine.h: Likewise.
34732 * include/grub/i386/qemu/loader.h: Likewise.
34733 * include/grub/i386/qemu/memory.h: Likewise.
34734
34735 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
34736 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
34737 [qemu] (pkglib_IMAGES): Add `boot.img'.
34738 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
34739 [qemu] (boot_img_FORMAT): New variables.
34740 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
34741 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
34742 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
34743 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
34744 [qemu] (kernel_img_FORMAT): New variables.
34745
34746 * configure.ac: Recognise `i386-qemu'.
34747
34748 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
34749 (for no compression).
34750 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
34751 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
34752 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
34753 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
34754 ifdefs).
34755
97fe384e 347562009-06-27 Pavel Roskin <proski@gnu.org>
34757
34758 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
34759 read.
34760 * efiemu/prepare32.c: Likewise.
34761 * efiemu/prepare64.c: Likewise.
34762
c402ab17 347632009-06-26 Pavel Roskin <proski@gnu.org>
34764
34765 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
34766 * include/grub/elf.h: Define symbols without "32" or "64" based
34767 on GRUB_TARGET_WORDSIZE.
34768 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
34769 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
34770 ELF definitions.
34771 * efiemu/loadcore64.c: Likewise.
34772 * loader/i386/bsd32.c: Likewise.
34773 * loader/i386/bsd64.c: Likewise.
34774 * kern/dl.c: Remove own ELF definitions.
34775 * util/i386/efi/grub-mkimage.c: Likewise.
34776
9bbdfd4d 347772009-06-23 Robert Millan <rmh.grub@aybabtu.com>
34778
34779 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
34780 segment 0x0 unconditionally, because the reference generated by
34781 GAS is an absolute address.
34782
a42ce6e9 347832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34784
34785 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
34786 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
34787
c952cf92 347882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34789
34790 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
34791 indexes. Check for -f explicitly.
cc3752ad 34792 (search_file): Improve error message.
34793 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 34794
132a0a59 347952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34796
34797 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
34798 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
34799
387a140c 348002009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34801
34802 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
34803 * conf/i386-ieee1275.rmk: Likewise.
34804 * conf/i386-coreboot.rmk: Likewise.
34805
34806 * kern/i386/pc/startup.S (grub_stop): Remove function.
34807 * kern/i386/ieee1275/startup.S: Likewise.
34808 * kern/i386/coreboot/startup.S: Likewise.
34809 * kern/i386/misc.S (grub_stop): New function.
34810
41da9665 348112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34812
34813 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
34814 * kern/i386/realmode.S (real_to_prot): ... to here.
34815
bf337234 348162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34817
34818 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
34819 with `kernel.img'.
34820 (kernel_elf_SOURCES): Rename to ...
34821 (kernel_img_SOURCES): ... this.
34822 (kernel_elf_HEADERS): Rename to ...
34823 (kernel_img_HEADERS): ... this. Update all users.
34824 (kernel_elf_ASFLAGS): Rename to ...
34825 (kernel_img_ASFLAGS): ... this.
34826 (kernel_elf_CFLAGS): Rename to ...
34827 (kernel_img_CFLAGS): ... this.
34828 (kernel_elf_LDFLAGS): Rename to ...
34829 (kernel_img_LDFLAGS): ... this.
34830 * conf/i386-coreboot.rmk: Likewise.
34831 * conf/powerpc-ieee1275.rmk: Likewise.
34832
34833 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
34834 with "kernel.img".
34835
f52196ff 348362009-06-21 Pavel Roskin <proski@gnu.org>
34837
c3cee413 34838 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
34839 to match nested functions.
34840 * loader/sparc64/ieee1275/linux.c: Likewise.
34841
f52196ff 34842 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
34843
58750afc 348442009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34845
34846 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
34847 all i386 platforms.
34848
15355c7d 348492009-06-21 Robert Millan <rmh.grub@aybabtu.com>
34850
34851 Fix asm file handling on ELF, and remove workarounds.
34852
34853 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 34854 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 34855 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
34856 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
34857
3f3ec72b 348582009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
34859
34860 Load BSD ELF modules
34861
34862 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
34863 and loader/i386/bsd64.c
34864 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
34865 (FREEBSD_MODTYPE_ELF_MODULE): New definition
34866 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
34867 (grub_freebsd_load_elfmodule32): New declaration
34868 (grub_freebsd_load_elfmoduleobj64): Likewise
34869 (grub_freebsd_load_elf_meta32): Likewise
34870 (grub_freebsd_load_elf_meta64): Likewise
34871 (grub_freebsd_add_meta): Likewise
34872 (grub_freebsd_add_meta_module): Likewise
34873 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
34874 (grub_freebsd_add_meta_module): Likewise and move module-specific
34875 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
34876 (grub_cmd_freebsd): Add elf-kernel specific parts
34877 based on grub_freebsd_add_meta_module
34878 (grub_cmd_freebsd_module): Add type parsing moved from
34879 grub_freebsd_add_meta_module
34880 (grub_cmd_freebsd_module_elf): New function
34881 (cmd_freebsd_module_elf): New variable
34882 (GRUB_MOD_INIT): Register freebsd_module_elf
34883 * loader/i386/bsd32.c: New file
34884 * loader/i386/bsd64.c: Likewise
34885 * loader/i386/bsdXX.c: Likewise
34886 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
34887 (grub_elf64_load): Likewise
34888 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
34889 All users updated
34890 (grub_elf64_load_hook_t): Likewise
34891
0db15301 348922009-06-21 Colin Watson <cjwatson@ubuntu.com>
34893
34894 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
34895 variable.
34896 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
34897 don't write a menu entry for recovery mode.
34898
546796c1 348992009-06-20 Robert Millan <rmh.grub@aybabtu.com>
34900
34901 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
34902 after it's no longer needed.
34903
cd7310d5 349042009-06-20 Robert Millan <rmh.grub@aybabtu.com>
34905
34906 * include/grub/i386/loader.h (grub_linux_prot_size)
34907 (grub_linux_tmp_addr, grub_linux_real_addr)
34908 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
34909 GRUB_MACHINE_PCBIOS.
34910 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
34911 common grub_util_info() call to ...
34912 (generate_image): ... here.
34913 Fix use of uninitialized memory, comparison of signed with
34914 unsigned integers and memory leak.
34915 Remove bogus module address message.
34916
ab32d3b5 349172009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
34918
34919 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
34920 grub_raid_register
34921 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
34922
024ef597 349232009-06-19 Pavel Roskin <proski@gnu.org>
34924
34925 * configure.ac: Remove stray AC_MSG_CHECKING.
34926
3ac72b51 349272009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
34928
34929 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 34930
e14cd814 349312009-06-18 Pavel Roskin <proski@gnu.org>
34932
34933 * conf/common.rmk: Add fs_file.mod.
34934 * disk/fs_file.c: New file.
34935 * include/grub/disk.h (enum grub_disk_dev_id): Add
34936 GRUB_DISK_DEVICE_FILE_ID.
34937
26586d98 349382009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34939
34940 Fix build with Apple's toolchain. Part 2
34941
34942 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
34943 a fake start
34944
26de2bcd 349452009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34946
34947 Fix build with Apple's toolchain. Part 1
34948
34949 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
34950 for long calls
34951 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 34952 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 34953 Apple's toolchain
34954
09b3490b 349552009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
34956
34957 Fix warnings
34958
34959 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
34960 (decomp_block): initialize ch
34961 use grub_memcpy instead of memcpy
34962
c22a006a 349632009-06-17 Pavel Roskin <proski@gnu.org>
34964
d3638678 34965 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
34966 version, use declarations needed to use vga_text as the startup
34967 console.
34968
c22a006a 34969 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
34970 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
34971 the kernel.
34972 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
34973 and grub_at_keyboard_fini(), it's done on module load and
34974 unload.
34975
05b129e0 349762009-06-17 Felix Zielcke <fzielcke@z-51.de>
34977
34978 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
34979 file can't be found.
34980 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34981
cf24ed9e 349822009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34983
34984 Fix newline handling
34985
34986 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 34987 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 34988 (grub_script_yylex): don't segfault on unterminated script
34989 newline terminates command and variable
34990
74aa8e4b 349912009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
34992
34993 avoid double grub_adjust_range call. Bug reported by David Simner
34994
34995 * kern/disk.c (grub_disk_write): change to raw disk access before
34996 calling disk_read
34997
1bd265f3 349982009-06-17 Colin Watson <cjwatson@ubuntu.com>
34999
35000 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35001 spaces, for the benefit of help2man.
35002 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35003
a2d08c06 350042009-06-16 Pavel Roskin <proski@gnu.org>
35005
35006 * kern/i386/halt.c: Include grub/machine/init.h.
35007 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35008
b97bcb19 350092009-06-16 Felix Zielcke <fzielcke@z-51.de>
35010
35011 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35012 drivemap menuentry.
35013
0644f96c 350142009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35015
35016 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35017 `echo' command.
35018
3ef17a2e 350192009-06-16 Pavel Roskin <proski@gnu.org>
35020
35021 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35022 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35023 save %dx, we only need %dl and we never change it.
35024 * boot/i386/pc/cdboot.S: Don't set the root drive.
35025 * boot/i386/pc/pxeboot.S: Likewise.
35026 * include/grub/i386/pc/boot.h: Remove
35027 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35028 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35029 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35030 * kern/i386/pc/init.c (make_install_device): Remove references
35031 to grub_root_drive.
35032 * kern/i386/pc/startup.S: Likewise.
35033 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35034
693fe637 350352009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35036
35037 xnu_uuid command
35038
35039 * commands/xnu_uuid.c: new file
35040 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35041 (xnu_uuid_mod_SOURCES): new variable
35042 (xnu_uuid_mod_CFLAGS): likewise
35043 (xnu_uuid_mod_LDFLAGS): likewise
35044 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35045 * conf/i386-ieee1275.rmk: likewise
35046 * conf/i386-pc.rmk: likewise
35047 * conf/powerpc-ieee1275.rmk: likewise
35048 * conf/sparc64-ieee1275.rmk: likewise
35049 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35050
c9da87d0 350512009-06-16 Pavel Roskin <proski@gnu.org>
35052
35053 * configure.ac: Avoid '==' in test command, it's not portable.
35054
9c6f4596 350552009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35056
35057 Probe command
35058
35059 * commands/probe.c: new file
35060 * conf/common.rmk (pkglib_MODULES): add probe.mod
35061 (probe_mod_SOURCES): new variable
35062 (probe_mod_CFLAGS): likewise
35063 (probe_mod_LDFLAGS): likewise
35064 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35065 * conf/i386-ieee1275.rmk: likewise
35066 * conf/i386-pc.rmk: likewise
35067 * conf/powerpc-ieee1275.rmk: likewise
35068 * conf/sparc64-ieee1275.rmk: likewise
35069
70b7f9fd 350702009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35071
35072 Fix handling of string like \"hello\" and "a
35073 b"
35074
35075 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35076 (grub_script_yylex): fix parsing of quoting, escaping and newline
35077
71c79a6b 350782009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35079
dd74360c 35080 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35081 handling
dd74360c 35082
0644f96c 350832009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35084
35085 * util/grub-mkconfig.in: Fix parsing of --output option.
35086
e40893c3 350872009-06-12 Pavel Roskin <proski@gnu.org>
35088
35089 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35090 genmk.rb don't need to be generated or installed.
35091
3a1acfe2 350922009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35093
35094 * commands/i386/pc/drivemap_int13h.S: add more comments
35095
3a4575d4 350962009-06-11 Pavel Roskin <proski@gnu.org>
35097
0658e928 35098 * Makefile.in (uninstall): Uninstall manuals.
35099
ca0388f0 35100 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35101 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35102 and update-grub_lib in two places.
35103 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35104
e3b27c39 35105 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35106 a compiler warning.
35107
3a4575d4 35108 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35109 `entry_lo' to fix variable shadowing.
35110
af1f4f55 351112009-06-11 Christian Franke <franke@computer.org>
35112
35113 * kern/misc.c (__enable_execute_stack): Add missing return type
35114 to prevent gcc warning.
35115
5225e649 351162009-06-11 Felix Zielcke <fzielcke@z-51.de>
35117
35118 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35119
7d83bd47 351202009-06-11 Pavel Roskin <proski@gnu.org>
35121
c1cb63ba 35122 * Makefile.in: Don't rely on any scripts being executable.
35123 Always use $(SHELL) to run shell scripts.
35124
7d83bd47 35125 * configure.ac: Always define ___main if using -nostdlib. This
35126 fixes tests on Cygwin.
35127
948f48e7 351282009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35129
35130 UDF fix
35131
7d83bd47 35132 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35133 is in bytes and not in blocks
7d83bd47 35134
8ada9bc1 351352009-06-11 Pavel Roskin <proski@gnu.org>
35136
35137 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35138 warning.
35139
25ad2323 351402009-06-11 Felix Zielcke <fzielcke@z-51.de>
35141
35142 * util/grub.d/30_os-prober.in: Fix a comment. Source
35143 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35144 to set the root device. Place drivemap command in the generated
35145 chain entry.
35146
e65acb0c 351472009-06-11 Pavel Roskin <proski@gnu.org>
35148
35149 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35150 have long been resolved.
35151
f285fe2d 351522009-06-11 Colin Watson <cjwatson@ubuntu.com>
35153
bd47b0b5 35154 * util/grub.d/10_linux.in: Capitalise "Linux".
35155
f285fe2d 35156 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35157
a0c62e4e 351582009-06-11 Pavel Roskin <proski@gnu.org>
35159
b6783cb2 35160 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35161 fix a gcc warning and ensure that the function won't ever exit.
35162
dde032e8 35163 * kern/i386/ieee1275/init.c: Add missing prototype for
35164 grub_stop_floppy().
35165
22cd079d 35166 * loader/ieee1275/multiboot2.c [__i386__]: Include
35167 grub/cpu/multiboot.h.
35168
a0c62e4e 35169 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35170 casts to short - they are not portable and cause warnings. Fix
35171 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35172
63963d17 351732009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35174
35175 Drivemap fixes
35176
35177 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35178 new function
35179 (grub_get_root_biosnumber_saved): new variable
35180 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35181 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35182 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35183 %dx after the call if necessary
35184 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35185 (boot_mod_SOURCES): remove
35186 (boot_mod_CFLAGS): remove
35187 (boot_mod_LDFLAGS): remove
35188 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35189 (boot_mod_SOURCES): new variable
35190 (boot_mod_CFLAGS): likewise
35191 (boot_mod_LDFLAGS): likewise
35192 * conf/i386-efi.rmk: likewise
35193 * conf/i386-ieee1275.rmk: likewise
35194 * conf/i386-pc.rmk: likewise
35195 * conf/powerpc-ieee1275.rmk: likewise
35196 * conf/sparc64-ieee1275.rmk: likewise
35197 * conf/x86_64-efi.rmk: likewise
35198 * include/grub/i386/pc/biosnum.h: new file
35199 * lib/i386/pc/biosnum.c: likewise
35200 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35201 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35202 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35203
33abf7ae 352042009-06-10 Pavel Roskin <proski@gnu.org>
35205
5ac35b35 35206 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35207 Use separate variables. Read only the file size at the end, but
35208 not the checksum that we don't use.
35209
5c5215d5 35210 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35211 Adjust all callers.
35212
27d5fef7 35213 * kern/ieee1275/openfw.c: Remove libc includes.
35214 * kern/ieee1275/cmain.c: Likewise.
35215 * include/grub/ieee1275/ieee1275.h: Likewise.
35216
33abf7ae 35217 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35218 compiler warnings.
35219
19d50c2b 352202009-06-10 Felix Zielcke <fzielcke@z-51.de>
35221
35222 * Makefile.in: Remove all trailing whitespace.
35223 * conf/i386-pc.rmk: Likewise.
35224 * conf/powerpc-ieee1275.rmk: Likewise.
35225 * conf/sparc64-ieee1275.rmk: Likewise.
35226 * docs/grub.texi: Likewise.
35227 * docs/texinfo.tex: Likewise.
35228 * disk/fs_uuid.c: Likewise.
35229 * disk/lvm.c: Likewise.
35230 * disk/scsi.c: Likewise.
35231 * disk/ata.c: Likewise.
35232 * disk/ieee1275/ofdisk.c: Likewise.
35233 * disk/i386/pc/biosdisk.c: Likewise.
35234 * disk/host.c: Likewise.
35235 * disk/raid.c: Likewise.
35236 * disk/efi/efidisk.c: Likewise.
35237 * disk/usbms.c: Likewise.
35238 * disk/memdisk.c: Likewise.
35239 * disk/loopback.c: Likewise.
35240 * kern/powerpc/dl.c: Likewise.
35241 * kern/device.c: Likewise.
35242 * kern/dl.c: Likewise.
35243 * kern/sparc64/dl.c: Likewise.
35244 * kern/ieee1275/ieee1275.c: Likewise.
35245 * kern/term.c: Likewise.
35246 * kern/fs.c: Likewise.
35247 * kern/i386/dl.c: Likewise.
35248 * kern/i386/pc/startup.S: Likewise.
35249 * kern/i386/pc/init.c: Likewise.
35250 * kern/i386/pc/mmap.c: Likewise.
35251 * kern/i386/pc/lzo1x.S: Likewise.
35252 * kern/i386/ieee1275/init.c: Likewise.
35253 * kern/i386/realmode.S: Likewise.
35254 * kern/i386/tsc.c: Likewise.
35255 * kern/partition.c: Likewise.
35256 * kern/corecmd.c: Likewise.
35257 * kern/file.c: Likewise.
35258 * kern/efi/efi.c: Likewise.
35259 * kern/efi/init.c: Likewise.
35260 * kern/efi/mm.c: Likewise.
35261 * kern/main.c: Likewise.
35262 * kern/err.c: Likewise.
35263 * kern/env.c: Likewise.
35264 * kern/disk.c: Likewise.
35265 * kern/generic/millisleep.c: Likewise.
35266 * kern/generic/rtc_get_time_ms.c: Likewise.
35267 * kern/misc.c: Likewise.
35268 * kern/parser.c: Likewise.
35269 * genmk.rb: Likewise.
35270 * configure.ac: Likewise.
35271 * boot/i386/pc/diskboot.S: Likewise.
35272 * boot/i386/pc/pxeboot.S: Likewise.
35273 * boot/i386/pc/boot.S: Likewise.
35274 * boot/i386/pc/lnxboot.S: Likewise.
35275 * boot/i386/pc/cdboot.S: Likewise.
35276 * parttool/pcpart.c: Likewise.
35277 * video/readers/tga.c: Likewise.
35278 * video/video.c: Likewise.
35279 * video/bitmap.c: Likewise.
35280 * lib/envblk.c: Likewise.
35281 * lib/i386/setjmp.S: Likewise.
35282 * fs/xfs.c: Likewise.
35283 * fs/afs.c: Likewise.
35284 * fs/fat.c: Likewise.
35285 * fs/ntfs.c: Likewise.
35286 * fs/udf.c: Likewise.
35287 * fs/affs.c: Likewise.
35288 * fs/iso9660.c: Likewise.
35289 * fs/hfs.c: Likewise.
35290 * fs/fshelp.c: Likewise.
35291 * fs/ext2.c: Likewise.
35292 * fs/jfs.c: Likewise.
35293 * fs/reiserfs.c: Likewise.
35294 * fs/hfsplus.c: Likewise.
35295 * fs/minix.c: Likewise.
35296 * fs/cpio.c: Likewise.
35297 * fs/sfs.c: Likewise.
35298 * fs/ufs.c: Likewise.
35299 * efiemu/prepare.c: Likewise.
35300 * efiemu/loadcore_common.c: Likewise.
35301 * efiemu/runtime/efiemu.sh: Likewise.
35302 * efiemu/runtime/efiemu.S: Likewise.
35303 * efiemu/runtime/efiemu.c: Likewise.
35304 * efiemu/pnvram.c: Likewise.
35305 * efiemu/main.c: Likewise.
35306 * efiemu/i386/pc/cfgtables.c: Likewise.
35307 * efiemu/i386/loadcore64.c: Likewise.
35308 * efiemu/i386/loadcore32.c: Likewise.
35309 * efiemu/loadcore.c: Likewise.
35310 * efiemu/symbols.c: Likewise.
35311 * efiemu/mm.c: Likewise.
35312 * include/grub/autoefi.h: Likewise.
35313 * include/grub/datetime.h: Likewise.
35314 * include/grub/term.h: Likewise.
35315 * include/grub/hfs.h: Likewise.
35316 * include/grub/lvm.h: Likewise.
35317 * include/grub/i386/tsc.h: Likewise.
35318 * include/grub/i386/linux.h: Likewise.
35319 * include/grub/i386/xnu.h: Likewise.
35320 * include/grub/i386/efiemu.h: Likewise.
35321 * include/grub/i386/pc/biosdisk.h: Likewise.
35322 * include/grub/i386/pc/memory.h: Likewise.
35323 * include/grub/i386/pc/vbe.h: Likewise.
35324 * include/grub/parttool.h: Likewise.
35325 * include/grub/video.h: Likewise.
35326 * include/grub/memory.h: Likewise.
35327 * include/grub/fs.h: Likewise.
35328 * include/grub/partition.h: Likewise.
35329 * include/grub/xnu.h: Likewise.
35330 * include/grub/efi/api.h: Likewise.
35331 * include/grub/efi/pe32.h: Likewise.
35332 * include/grub/efi/memory.h: Likewise.
35333 * include/grub/multiboot.h: Likewise.
35334 * include/grub/usbdesc.h: Likewise.
35335 * include/grub/multiboot2.h: Likewise.
35336 * include/grub/acpi.h: Likewise.
35337 * include/grub/efiemu/efiemu.h: Likewise.
35338 * include/grub/disk.h: Likewise.
35339 * include/grub/ieee1275/ieee1275.h: Likewise.
35340 * include/grub/net.h: Likewise.
35341 * include/grub/machoload.h: Likewise.
35342 * include/grub/macho.h: Likewise.
35343 * include/multiboot.h: Likewise.
35344 * genmoddep.awk: Likewise.
35345 * normal/main.c: Likewise.
35346 * normal/menu_entry.c: Likewise.
35347 * normal/menu_viewer.c: Likewise.
35348 * normal/completion.c: Likewise.
35349 * normal/cmdline.c: Likewise.
35350 * normal/misc.c: Likewise.
35351 * normal/datetime.c: Likewise.
35352 * bus/usb/usbtrans.c: Likewise.
35353 * bus/usb/ohci.c: Likewise.
35354 * bus/usb/uhci.c: Likewise.
35355 * bus/usb/usb.c: Likewise.
35356 * mmap/efi/mmap.c: Likewise.
35357 * mmap/i386/pc/mmap_helper.S: Likewise.
35358 * mmap/i386/pc/mmap.c: Likewise.
35359 * mmap/i386/mmap.c: Likewise.
35360 * mmap/i386/uppermem.c: Likewise.
35361 * mmap/mmap.c: Likewise.
35362 * commands/acpi.c: Likewise.
35363 * commands/echo.c: Likewise.
35364 * commands/blocklist.c: Likewise.
35365 * commands/loadenv.c: Likewise.
35366 * commands/usbtest.c: Likewise.
35367 * commands/boot.c: Likewise.
35368 * commands/parttool.c: Likewise.
35369 * commands/search.c: Likewise.
35370 * commands/cat.c: Likewise.
35371 * commands/i386/pc/play.c: Likewise.
35372 * commands/i386/pc/drivemap.c: Likewise.
35373 * commands/i386/pc/vbeinfo.c: Likewise.
35374 * commands/i386/pc/acpi.c: Likewise.
35375 * commands/i386/pc/vbetest.c: Likewise.
35376 * commands/ls.c: Likewise.
35377 * commands/cmp.c: Likewise.
35378 * commands/test.c: Likewise.
35379 * commands/efi/acpi.c: Likewise.
35380 * commands/gptsync.c: Likewise.
35381 * commands/help.c: Likewise.
35382 * partmap/amiga.c: Likewise.
35383 * partmap/apple.c: Likewise.
35384 * partmap/acorn.c: Likewise.
35385 * partmap/pc.c: Likewise.
35386 * partmap/sun.c: Likewise.
35387 * partmap/gpt.c: Likewise.
35388 * script/sh/lexer.c: Likewise.
35389 * script/sh/function.c: Likewise.
35390 * font/font.c: Likewise.
35391 * font/font_cmd.c: Likewise.
35392 * loader/powerpc/ieee1275/linux.c: Likewise.
35393 * loader/efi/chainloader.c: Likewise.
35394 * loader/multiboot_loader.c: Likewise.
35395 * loader/macho.c: Likewise.
35396 * loader/i386/multiboot.c: Likewise.
35397 * loader/i386/linux.c: Likewise.
35398 * loader/i386/pc/linux.c: Likewise.
35399 * loader/i386/pc/multiboot2.c: Likewise.
35400 * loader/i386/pc/chainloader.c: Likewise.
35401 * loader/i386/pc/xnu.c: Likewise.
35402 * loader/i386/bsd_trampoline.S: Likewise.
35403 * loader/i386/efi/linux.c: Likewise.
35404 * loader/i386/multiboot_elfxx.c: Likewise.
35405 * loader/i386/bsd_helper.S: Likewise.
35406 * loader/i386/bsd.c: Likewise.
35407 * loader/i386/linux_trampoline.S: Likewise.
35408 * loader/i386/xnu_helper.S: Likewise.
35409 * loader/i386/xnu.c: Likewise.
35410 * loader/i386/bsd_pagetable.c: Likewise.
35411 * loader/i386/multiboot_helper.S: Likewise.
35412 * loader/xnu.c: Likewise.
35413 * loader/xnu_resume.c: Likewise.
35414 * io/gzio.c: Likewise.
35415 * term/efi/console.c: Likewise.
35416 * term/terminfo.c: Likewise.
35417 * term/ieee1275/ofconsole.c: Likewise.
35418 * term/i386/pc/serial.c: Likewise.
35419 * term/i386/pc/vesafb.c: Likewise.
35420 * term/i386/pc/vga.c: Likewise.
35421 * term/usb_keyboard.c: Likewise.
35422 * term/gfxterm.c: Likewise.
35423 * aclocal.m4: Likewise.
35424 * util/lvm.c: Likewise.
35425 * util/grub.d/30_os-prober.in: Likewise.
35426 * util/grub.d/10_hurd.in: Likewise.
35427 * util/console.c: Likewise.
35428 * util/grub-macho2img.c: Likewise.
35429 * util/grub-probe.c: Likewise.
35430 * util/hostfs.c: Likewise.
35431 * util/i386/pc/grub-mkimage.c: Likewise.
35432 * util/i386/pc/grub-setup.c: Likewise.
35433 * util/i386/efi/grub-mkimage.c: Likewise.
35434 * util/grub-mkconfig.in: Likewise.
35435 * util/raid.c: Likewise.
35436 * util/resolve.c: Likewise.
35437 * util/grub-mkdevicemap.c: Likewise.
35438 * util/grub-emu.c: Likewise.
35439 * util/getroot.c: Likewise.
35440 * util/hostdisk.c: Likewise.
35441 * util/usb.c: Likewise.
35442 * util/grub-editenv.c: Likewise.
35443 * util/misc.c: Likewise.
35444
d2d49665 354452009-06-10 Felix Zielcke <fzielcke@z-51.de>
35446
35447 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35448 `genparttoollist.sh'.
35449 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35450 Add `*.sh' to the list find searches for and change `mdate.sh'
35451 to `mdate-sh'.
35452
fe052e37 354532009-06-10 Pavel Roskin <proski@gnu.org>
35454
2763ac18 35455 * include/grub/multiboot2.h: Provide compatibility defines for
35456 multiboot2.h.
35457 * include/multiboot2.h: Include stdint.h only if needed, using
35458 angle brackets.
35459 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35460 grub/multiboot2.h.
35461 * loader/ieee1275/multiboot2.c: Likewise.
35462 * loader/multiboot2.c: Likewise.
35463 * loader/multiboot_loader.c: Likewise.
35464
437e6adc 35465 * configure.ac: Use -nostdlib when probing for the target. It
35466 should not be required to have libc for the target.
35467
06a6836c 35468 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35469 they fail without libc headers for the target.
35470 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35471 exports.
35472 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35473 preprocessor conditionals.
35474
fe052e37 35475 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35476 build system doesn't need to be aware of the tar.c internals.
35477
afd22553 354782009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35479
afd22553 35480 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35481
6b787c4f 354822009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35483
35484 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35485 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35486
354872009-06-09 Felix Zielcke <fzielcke@z-51.de>
35488
35489 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35490 aren't available if ata.mod gets used.
6b787c4f 35491
473d1e45 354922009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35493
473d1e45 35494 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35495 initialising controller.
473d1e45 35496 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35497
255a27d4 354982009-06-08 Felix Zielcke <fzielcke@z-51.de>
35499
35500 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35501 to choose between ata and biosdisk module on i386-pc.
35502
473d1e45 355032009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35504
d55842d8 35505 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35506 Subclass and Programming Interface fields in terms of the 3 byte
35507 Class Code register.
35508 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35509
fa5db0b1 35510 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35511 interface is OHCI. Add grub_dprintf for symmetry with
35512 bus/usb/uhci.c.
35513 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35514 interface is UHCI. Add interf variable for programming
35515 interface. Print interface with class/subclass.
35516
c0947beb 35517 * bus/usb/ohci.c: Set interf with correct field.
35518
69da8877 35519 * bus/usb/uhci.c: Remove unneeded doubled lines.
35520 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35521 Remove whitespace inside comment.
35522
9e172e30 355232009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35524
35525 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35526 as fallback an equivalent option without depth.
35527
de65ee2b 355282009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35529
35530 Not fail if unable to retrieve C/H/S on LBA disks
35531
473d1e45 35532 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35533 if unable to retrieve C/H/S on LBA disks
35534
b57ea2c9 355352009-06-08 Pavel Roskin <proski@gnu.org>
35536
35537 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35538 about aliasing.
35539
af361263 355402009-06-08 Felix Zielcke <fzielcke@z-51.de>
35541
35542 * Makefile.in (uninstall): Remove all $lib_DATA files.
35543
4c9ec6b3 355442009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35545
35546 Bugfix: install on partitionless device
35547
35548 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35549 is a whole disk
35550
e76fc924 355512009-06-08 Felix Zielcke <fzielcke@z-51.de>
35552
35553 * Makefile.in (uninstall): Remove all $include_DATA files.
35554
ba5a0d05 355552009-06-08 Felix Zielcke <fzielcke@z-51.de>
35556
35557 * commands/true.c: New file. Implement the true and false commands.
35558 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35559 (true_mod_SOURCES): New variable.
35560 (true_mod_CFLAGS): Likewise.
35561 (true_mod_LDFLAGS): Likewise.
35562
c8048e32 355632009-06-05 Colin D Bennett <colin@gibibit.com>
35564
35565 Optimized font character lookup using binary search instead of linear
35566 search. Fonts now are required to have the character index ordered by
35567 code point.
35568
35569 * font/font.c (load_font_index): Verify that fonts have ordered
35570 character indices.
35571 (find_glyph): Use binary search instead of linear search to find a
35572 character in a font.
35573
408305be 355742009-06-05 Michael Scherer <misc@mandriva.org>
35575
35576 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35577 uses case sensitive btree.
35578 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35579 only for case insensitive filesystems.
35580
8ee1e0d9 355812009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35582
35583 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35584 * conf/common.rmk (search_mod_CFLAGS): likewise
35585
a9966eb1 355862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35587
473d1e45 35588 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 35589 compensate a compiler bug
35590
9e7100fb 355912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35592
473d1e45 35593 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 35594 instead of '\b'
473d1e45 35595
ede21d71 355962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35597
35598 Definitions for creating asm symbols with Apple's CC
35599
35600 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35601 [APPLE_CC] (VARIABLE): likewise
35602
9dbf7653 356032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35604
35605 Disable lnxboot.img when compiled
35606 with Apple's CC
35607
35608 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35609 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35610 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35611 [! APPLE_CC] (CODE_LENG): skip
35612 [! APPLE_CC] (setup_sects): likewise
35613 [! APPLE_CC]: skip filling
473d1e45 35614
e93cdc3d 356152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35616
35617 Address in trampolines based on 32-bit registers when compiled
35618 with Apple's CC
35619
473d1e45 35620 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 35621 for addresses
35622 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35623
6c688477 356242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35625
35626 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35627
35628 * kern/misc.c [APPLE_CC] (memcpy): new function
35629 [APPLE_CC] (memmove): likewise
35630 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 35631 (memcpy): define alias conditionally on !APPLE_CC
6c688477 35632 (memset): likewise
35633 (abort): likewise
35634 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35635 APPLE_CC are defined
35636 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35637 (grub_assert_fail): make prototype conditional
35638
e37ffc5c 356392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35640
35641 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35642
473d1e45 35643 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35644 grub-macho2img
e37ffc5c 35645 (CLEANFILES): add grub-macho2img
35646 (grub_macho2img_SOURCES): new variable
35647 * kern/i386/pc/startup.S (bss_start): new variable
35648 (bss_end): likewise
35649 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35650 * util/grub-macho2img.c: new file
35651
cf00df31 356522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35653
35654 Use objconv when compiling with Apple's CC
35655
35656 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35657 (efiemu64.o): likewise
35658 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35659 when compiling with Apple's CC
35660 (efiemu64_s.o): likewise
35661 * configure.ac: check for objconv when compiling with Apple's CC
35662 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 35663
d119a20c 356642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35665
35666 Define segment as well as section when compiling with
35667 Apple's CC
35668
35669 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35670 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35671 (efiemu_convert_pointer): likewise
35672 (efiemu_set_virtual_address_map): likewise
35673 (efiemu_convert_pointer): likewise
35674 (efiemu_getcrc32): likewise
35675 (init_crc32_table): likewise
35676 (reflect): likewise
35677 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35678 (GRUB_MOD_DEP): likewise
473d1e45 35679
c8600122 356802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35681
35682 Allow a compilation without -mcmodel=large
35683
35684 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35685 when compiled without -mcmodel=large
473d1e45 35686 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 35687 without -mcmodel=large
473d1e45 35688 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 35689 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 35690
e8df1d4e 356912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35692
35693 Remove nested functions in efiemu core
35694
35695 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 35696
cc6c3ac1 356972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35698
35699 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
35700
35701 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
35702 temporary storage
473d1e45 35703 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
35704 using Apple's CC
cc6c3ac1 35705 (grub_cpu_is_tsc_supported): likewise
35706 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 35707
3e325901 357082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35709
35710 Absolute addressing through constant with Apple's cc
35711
35712 * kern/i386/pc/startup.S: Define necessary constants
35713 and address through it when using ABS with Apple's CC
35714 * boot/i386/pc/diskboot.S: likewise
35715 * boot/i386/pc/boot.S: likewise
35716 * boot/i386/pc/lnxboot.S: likewise
35717 * boot/i386/pc/cdboot.S: likewise
35718 * mmap/i386/pc/mmap_helper.S: likewise
35719 * commands/i386/pc/drivemap_int13h.S: likewise
35720
2b167a72 357212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35722
35723 Check if compiler is apple cc
35724
35725 * Makefile.in (ASFLAGS): new variable
35726 (TARGET_ASFLAGS): likewise
35727 (TARGET_MODULE_FORMAT): likewise
35728 (TARGET_APPLE_CC): likewise
35729 (OBJCONV): likewise
35730 (TARGET_IMG_CFLAGS): likewise
35731 (TARGET_CPPFLAGS): add includedir
35732 * configure.ac: call grub_apple_cc and grub_apple_target_cc
35733 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
35734 Check for linker script only if compiler isn't Apple's CC
35735 (TARGET_MODULE_FORMAT): set
35736 (TARGET_APPLE_CC): likewise
35737 (TARGET_ASFLAGS): likewise
35738 (ASFLAGS): likewise
35739 Check for objcopy only if compiler isn't Apple's CC
35740 Check for BSS symbol only if compiler isn't Apple's CC
35741 * genmk.rb: adapt nm options if we use Apple's utils
35742 * aclocal.m4 (grub_apple_cc): new test
35743 (grub_apple_target_cc): likewise
473d1e45 35744
fb14123e 357452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35746
35747 Simplify sed expressions and improve awk
35748
35749 * Makefile.in (install-local): simplify sed expression
35750 * gencmdlist.sh: likewise
35751 * genmoddep.awk: avoid adding module as a dependency of itself
35752
5b889789 357532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35754
35755 Add missing start symbols
35756
35757 * boot/i386/pc/boot.S: add start
fb14123e 35758 * boot/i386/pc/pxeboot.S: likewise
473d1e45 35759
fd2bf2e3 357602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35761
35762 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 35763
35764 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 35765 (relocate_addresses): consider both r_addend and value at offset
35766 (make_mods_section): zerofill modinfo and header
35767 (convert_elf): write prefix here
473d1e45 35768
5389763d 357692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35770
35771 Use .asciz instead of .string
35772
35773 * i386/pc/diskboot.S: use .asciz instead of .string
35774 * i386/pc/boot.S: likewise
35775 * include/grub/dl.h (GRUB_MOD_DEP): likewise
35776 (GRUB_MOD_NAME): likewise
473d1e45 35777
3eb5ed4e 357782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35779
35780 gfxpayload support
35781
35782 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
35783 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
35784 (grub_video_setup): remove
35785 (grub_video_set_mode): new prototype
35786 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
35787 (vid_mode): remove
35788 (linux_vesafb_res): compile only on PCBIOS
35789 (grub_linux_boot): support gfxpayload
35790 * loader/i386/pc/xnu.c (video_hook): new function
35791 (grub_xnu_set_video): support gfxpayload
35792 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
35793 (DEFAULT_VIDEO_HEIGHT): likewise
35794 (DEFAULT_VIDEO_FLAGS): likewise
35795 (DEFAULT_VIDEO_MODE): new definition
35796 (video_hook): new function
35797 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 35798 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 35799 loading xnu
35800 * video/video.c (grub_video_setup): removed
473d1e45 35801 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 35802 grub_video_setup
35803
4b0e1143 358042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35805
35806 Avoid calling biosdisk in drivemap
35807
35808 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
35809 (revparse_biosdisk): likewise
35810 (list_mappings): derive name from id directly
35811 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 35812
fda6cb98 358132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35814
35815 Script fixes
35816
35817 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
35818 (grub_lexer_param): add tokenonhold
35819 (grub_script_create_cmdline): remove cmdline. All callers updated
35820 (grub_script_function_create): make functionname
35821 grub_script_arg. All callers updated
35822 (grub_script_execute_argument_to_string): new prototype
35823 * kern/parser.c (state_transitions): reorder
35824 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 35825 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 35826 make global
35827 (grub_script_execute_cmdline): use new format
35828 * script/sh/function.c (grub_script_function_create): make functionname
35829 grub_script_arg. All callers updated
473d1e45 35830 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 35831 (grub_script_yylex): remove
35832 (grub_script_yylex2): renamed to ...
35833 (grub_script_yylex): ...renamed
35834 parse the expressions like a${b}c
35835 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
35836 (GRUB_PARSER_TOKEN_VAR): remove
35837 (GRUB_PARSER_TOKEN_NAME): likewise
35838 ("if"): declare as typeless
35839 ("while"): likewise
35840 ("function"): likewise
35841 ("else"): likewise
35842 ("then"): likewise
35843 ("fi"): likewise
35844 (text): remove
35845 (argument): likewise
35846 (script): accept empty scripts and make exit on error
35847 (arguments): use GRUB_PARSER_TOKEN_ARG
35848 (function): likewise
35849 (command): move error handling to script
35850 (menuentry): move grub_script_lexer_ref before
473d1e45 35851 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 35852 argument. All callers updated
35853
f4448a07 358542009-06-04 Robert Millan <rmh.grub@aybabtu.com>
35855
35856 Prevent GRUB from probing floppies during boot.
35857
35858 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
35859 * commands/search.c (options): Add --no-floppy.
35860 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
35861 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
35862 --no-floppy when searching for UUIDs.
35863
2bf5885a 358642009-06-04 Robert Millan <rmh.grub@aybabtu.com>
35865
35866 Simplify the code duplication in commands/search.c.
35867
35868 * commands/search.c (search_label, search_fs_uuid): Merge into ...
35869 (search_fs): ... this. Update all users.
35870
f6fd460a 358712009-06-03 Felix Zielcke <fzielcke@z-51.de>
35872
35873 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
35874
cbb3c83e 358752009-05-28 Pavel Roskin <proski@gnu.org>
35876
57788cfd 35877 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
35878 Remove the original symlink explicitly.
35879
cbb3c83e 35880 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
35881 just one slash. That's how grub_fshelp_find_file() does it.
35882
cd0d5e30 358832009-05-26 Pavel Roskin <proski@gnu.org>
35884
f0f8bbe2 35885 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
35886 to `str'.
35887
cd0d5e30 35888 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
35889 possibly unused.
35890
8c2cab51 358912009-05-25 Christian Franke <franke@computer.org>
35892
35893 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
35894 register.
35895 (grub_atapi_identify): Add wait after drive select.
35896 (grub_ata_identify): Do more strict status register check before
35897 calling grub_atapi_identify (). Suppress error message if status
35898 register is 0x00 after command failure. Add status register
35899 check after PIO read to avoid bogus identify due to stuck DRQ.
35900 Thanks to Pavel Roskin for testing.
35901 (grub_device_initialize): Remove unsafe status register check.
35902 Thanks to 'phcoder' for problem report and patch.
35903 Prevent sign extension in debug message.
35904
230c0ad6 359052009-05-23 Colin D Bennett <colin@gibibit.com>
35906
35907 Cleaned up `include/grub/normal.h'. Grouped prototypes by
35908 definition file, and functions defined in `normal/menu.c' have had
35909 their prototypes moved to `include/grub/menu.h' for consistency.
35910
35911 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
35912 from normal.h.
35913 (grub_menu_get_entry): Likewise.
35914 (grub_menu_get_timeout): Likewise.
35915 (grub_menu_set_timeout): Likewise.
35916 (grub_menu_execute_entry): Likewise.
35917 (grub_menu_execute_with_fallback): Likewise.
35918 (grub_menu_entry_run): Likewise.
35919
35920 * include/grub/normal.h: Re-ordered and grouped function
35921 prototypes by file that the function is defined in.
35922 (grub_menu_execute_callback): Removed; moved to menu.h.
35923 (grub_menu_get_entry): Likewise.
35924 (grub_menu_get_timeout): Likewise.
35925 (grub_menu_set_timeout): Likewise.
35926 (grub_menu_execute_entry): Likewise.
35927 (grub_menu_execute_with_fallback): Likewise.
35928 (grub_menu_entry_run): Likewise.
35929 (grub_menu_addentry): Renamed from this ...
35930 (grub_normal_add_menu_entry): ... to this.
35931
35932 * normal/main.c (grub_menu_addentry): Renamed from this ...
35933 (grub_normal_add_menu_entry): ... to this.
35934
35935 * script/sh/execute.c (grub_script_execute_menuentry): Update
35936 reference to renamed grub_menu_addentry function.
35937
861f03a5 359382009-05-23 Felix Zielcke <fzielcke@z-51.de>
35939
35940 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
35941
96b1619a 359422009-05-22 Pavel Roskin <proski@gnu.org>
35943
bf6a5fb2 35944 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
35945 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
35946 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
35947 compiling for the i386 targets, but not for the utilities.
35948
96b1619a 35949 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
35950 to grub_uint8_t.
35951 (grub_root_drive): Likewise.
35952 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
35953 remove alignment.
35954 (grub_root_drive): Change size to byte.
35955 (grub_start_addr): Remove.
35956 (grub_end_addr): Likewise.
35957 (grub_apm_bios_info): Likewise.
35958
b729776b 359592009-05-21 Felix Zielcke <fzielcke@z-51.de>
35960
35961 * normal/i386: Remove.
35962 * normal/powerpc: Likewise.
35963 * normal/sparc64: Likewise.
35964 * normal/x86_64: Likewise.
35965
0a15ce80 359662009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
35967
35968 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 35969 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 35970 * loader/i386/xnu_helper.S: Likewise
d6da58e6 35971
33db9015 359722009-05-18 Colin D Bennett <colin@gibibit.com>
35973
d6da58e6 35974 Display error messages when parsing a Lua statement fails.
35975 Previously, executing a syntactically invalid statement like
35976 ")foo" or "bar;" would silently fail.
33db9015 35977
35978 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 35979 (grub_lua_parse_line): Improved reporting of Lua parser and
35980 execution errors.
33db9015 35981
46422c89 359822009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35983
35984 Remove -Werror which causes build to fail on some systems
35985
35986 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
35987 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
35988 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 35989
22f53a96 359902009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
35991
35992 trampoline for linux on 64-bit platform
35993
18f547ad 35994 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
35995 loader/i386/efi/linux_trampoline.S
35996 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 35997 declaration
d6da58e6 35998 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
35999 here
22f53a96 36000 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36001 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36002 trampoline
22f53a96 36003 (jumpvector): removed
36004 (grub_linux_trampoline_start): new declaration
36005 (grub_linux_trampoline_end): likewise
36006 (grub_linux_boot): use trampoline when on 64-bit platform
36007 * loader/i386/linux.c: likewise
36008
cb5a0f40 360092009-05-16 Pavel Roskin <proski@gnu.org>
36010
36011 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36012 const to avoid a warning.
36013 (grub_lua_setenv): Likewise.
36014 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36015 lmsg to fix a warning.
36016
334f2c28 360172009-05-16 Felix Zielcke <fzielcke@z-51.de>
36018
36019 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36020 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36021 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36022 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36023 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36024 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36025 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36026 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36027
59e5d3ec 360282009-05-16 Felix Zielcke <fzielcke@z-51.de>
36029
36030 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36031
9d87a1ba 360322009-05-16 Bean <bean123ch@gmail.com>
36033
36034 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36035 (lua_mod_SOURCES): New variable.
36036 (lua_mod_CFLAGS): Likewise.
36037 (lua_mod_LDFLAGS): Likewise.
36038
36039 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36040 (setjmp_mod_SOURCES): New variable.
36041 (setjmp_mod_CFLAGS): Likewise.
36042 (setjmp_LDFLAGS): Likewise.
36043
36044 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36045 (setjmp_mod_SOURCES): New variable.
36046 (setjmp_mod_CFLAGS): Likewise.
36047 (setjmp_LDFLAGS): Likewise.
36048
36049 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36050 (setjmp_mod_SOURCES): New variable.
36051 (setjmp_mod_CFLAGS): Likewise.
36052 (setjmp_LDFLAGS): Likewise.
36053
36054 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36055 (setjmp_mod_SOURCES): New variable.
36056 (setjmp_mod_CFLAGS): Likewise.
36057 (setjmp_LDFLAGS): Likewise.
36058
36059 * normal/i386/setjmp.S: Moved from here ...
36060 * lib/i386/setjmp.S: ... Moved here
36061 * normal/x86_64/setjmp.S: Moved from here ...
36062 * lib/x86_64/setjmp.S: ... Moved here
36063 * normal/powerpc/setjmp.S: Moved from here ...
36064 * lib/powerpc/setjmp.S: ... Moved here
36065 * normal/sparc64/setjmp.S: Moved from here ...
36066 * lib/sparc64/setjmp.S: ... Moved here
36067
36068 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36069 returns_twice in mingw.
36070
36071 * script/lua/grub_lib.c: New file.
36072 * script/lua/grub_lib.h: Likewise.
36073 * script/lua/grub_lua.h: Likewise.
36074 * script/lua/grub_main.c: Likewise.
36075 * script/lua/lapi.c: Likewise.
36076 * script/lua/lapi.h: Likewise.
36077 * script/lua/lauxlib.c: Likewise.
36078 * script/lua/lauxlib.h: Likewise.
36079 * script/lua/lbaselib.c: Likewise.
36080 * script/lua/lcode.c: Likewise.
36081 * script/lua/lcode.h: Likewise.
36082 * script/lua/ldblib.c: Likewise.
36083 * script/lua/ldebug.c: Likewise.
36084 * script/lua/ldebug.h: Likewise.
36085 * script/lua/ldo.c: Likewise.
36086 * script/lua/ldo.h: Likewise.
36087 * script/lua/ldump.c: Likewise.
36088 * script/lua/lfunc.c: Likewise.
36089 * script/lua/lfunc.h: Likewise.
36090 * script/lua/lgc.c: Likewise.
36091 * script/lua/lgc.h: Likewise.
36092 * script/lua/linit.c: Likewise.
36093 * script/lua/liolib.c: Likewise.
36094 * script/lua/llex.c: Likewise.
36095 * script/lua/llex.h: Likewise.
36096 * script/lua/llimits.h: Likewise.
36097 * script/lua/lmathlib.c: Likewise.
36098 * script/lua/lmem.c: Likewise.
36099 * script/lua/lmem.h: Likewise.
36100 * script/lua/loadlib.c: Likewise.
36101 * script/lua/lobject.c: Likewise.
36102 * script/lua/lobject.h: Likewise.
36103 * script/lua/lopcodes.c: Likewise.
36104 * script/lua/lopcodes.h: Likewise.
36105 * script/lua/loslib.c: Likewise.
36106 * script/lua/lparser.c: Likewise.
36107 * script/lua/lparser.h: Likewise.
36108 * script/lua/lstate.c: Likewise.
36109 * script/lua/lstate.h: Likewise.
36110 * script/lua/lstring.c: Likewise.
36111 * script/lua/lstring.h: Likewise.
36112 * script/lua/lstrlib.c: Likewise.
36113 * script/lua/ltable.c: Likewise.
36114 * script/lua/ltable.h: Likewise.
36115 * script/lua/ltablib.c: Likewise.
36116 * script/lua/ltm.c: Likewise.
36117 * script/lua/ltm.h: Likewise.
36118 * script/lua/lua.h: Likewise.
36119 * script/lua/luaconf.h: Likewise.
36120 * script/lua/lualib.h: Likewise.
36121 * script/lua/lundump.c: Likewise.
36122 * script/lua/lundump.h: Likewise.
36123 * script/lua/lvm.c: Likewise.
36124 * script/lua/lvm.h: Likewise.
36125 * script/lua/lzio.c: Likewise.
36126 * script/lua/lzio.h: Likewise.
36127
5e898c9d 361282009-05-16 Bean <bean123ch@gmail.com>
36129
36130 * include/grub/kernel.h (grub_module_header_types): Add type
36131 OBJ_TYPE_CONFIG.
36132
36133 * kern/main.c (grub_load_config): New function.
36134 (grub_main): Call grub_load_config to read boot config.
36135
36136 * grub-mkimage (generate_image): New parameter config_path.
36137 (options): New option --config.
36138 (main): Parse --config option, and pass it to generate_image.
36139
cf353a47 361402009-05-14 Christian Franke <franke@computer.org>
36141
36142 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36143 This fixes build on Cygwin.
36144
3834887f 361452009-05-14 Pavel Roskin <proski@gnu.org>
36146
36147 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36148 jump. This saves two bytes, so the typical case of 2 swapped
36149 drives would fit 32 bytes.
36150
8090fc01 361512009-05-13 Pavel Roskin <proski@gnu.org>
36152
ac963883 36153 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36154 grub_uint32_t to avoid a warning.
36155
8090fc01 36156 * loader/i386/linux.c (allocate_pages): When assigning
36157 real_mode_mem, cast through grub_size_t to fix a warning. The
36158 code already makes sure that the value would fit a pointer.
36159 (grub_linux_setup_video): Cast render_target->data to
36160 grub_size_t to fix a warning.
36161
18f547ad 361622009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36163
36164 * commands/i386/pc/drivemap.c: New file - implement drivemap
36165 command.
36166 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36167 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36168
6f6a8b28 361692009-05-13 Pavel Roskin <proski@gnu.org>
36170
36171 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36172 embedding_area_exists.
36173
15fbf4c4 361742009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36175
36176 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36177 it easier to understand / work with.
59978c8a 36178 Improve warning messages for cases where there's no embedding area,
36179 or when it is too small (or core.img too large).
15fbf4c4 36180
238e871f 361812009-05-13 Pavel Roskin <proski@gnu.org>
36182
0ab3a9a4 36183 * loader/i386/pc/multiboot2.c: Add necessary includes for
36184 grub_multiboot2_real_boot().
36185
a2c8c5f8 36186 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36187 PX record is always little-endian. We only need the lower 2
36188 bytes of the mode.
36189
faec96af 36190 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36191 facilitate code reuse.
36192 (grub_cpio_mount): Use "struct head", not a char buffer. This
36193 fixes a warning reported by gcc 4.4.
36194
238e871f 36195 * kernel/disk.c (grub_disk_read): Use void pointer for the
36196 buffer.
36197 (grub_disk_write): Use const void pointer for the buffer.
36198 Adjust all callers. Remove unnecessary casts.
36199
901d2f0c 362002009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36201
36202 * util/i386/pc/grub-install.in: Update copyright year.
36203
18f547ad 362042009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36205
36206 gptsync
36207
36208 * commands/gptsync.c: new file
36209 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36210 (gptsync_mod_SOURCES): new variable
36211 (gptsync_mod_CFLAGS): likewise
36212 (gptsync_mod_LDFLAGS): likewise
18f547ad 36213 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36214 new definition
36215 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36216 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36217 * conf/i386-ieee1275.rmk: likewise
36218 * conf/i386-pc.rmk: likewise
36219 * conf/powerpc-ieee1275.rmk: likewise
36220
b4ba690a 362212009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36222
36223 Fixed grub-emu
36224
36225 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36226 (grub_dl_ref): likewise
36227
317e1a44 362282009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36229
36230 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36231 split in two functions (one for msdos and one for gpt).
36232
041b8094 362332009-05-08 Pavel Roskin <proski@gnu.org>
36234
752473c2 36235 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36236 not modified.
36237
041b8094 36238 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36239 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36240 Initialize them with -1. Add sanity check for bad1. Eliminate
36241 nerr variable.
36242
172800ce 362432009-05-08 David S. Miller <davem@davemloft.net>
36244
36245 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36246
29aa5e81 362472009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36248
36249 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36250 existence.
29aa5e81 36251
96613b62 362522009-05-05 Felix Zielcke <fzielcke@z-51.de>
36253
36254 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36255 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36256
eef73c8a 362572009-05-05 David S. Miller <davem@davemloft.net>
36258
36259 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36260
119494b5 362612009-05-05 Pavel Roskin <proski@gnu.org>
36262
36263 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36264 of grub_dl_ref() and grub_dl_unref().
36265 * commands/parttool.c: Remove preprocessor conditionals around
36266 grub_dl_ref() and grub_dl_unref().
36267 * fs/affs.c: Likewise.
36268 * fs/afs.c: Likewise.
36269 * fs/cpio.c: Likewise.
36270 * fs/ext2.c: Likewise.
36271 * fs/fat.c: Likewise.
36272 * fs/hfs.c: Likewise.
36273 * fs/hfsplus.c: Likewise.
36274 * fs/iso9660.c: Likewise.
36275 * fs/jfs.c: Likewise.
36276 * fs/minix.c: Likewise.
36277 * fs/ntfs.c: Likewise.
36278 * fs/reiserfs.c: Likewise.
36279 * fs/sfs.c: Likewise.
36280 * fs/udf.c: Likewise.
36281 * fs/ufs.c: Likewise.
36282 * fs/xfs.c: Likewise.
36283 * include/grub/dl.h: Likewise.
36284 * loader/xnu.c: Likewise.
36285
de5fd76e 362862009-05-04 Pavel Roskin <proski@gnu.org>
36287
36288 * commands/acpi.c: Remove unused variable my_mod.
36289 * partmap/amiga.c: Likewise.
36290 * partmap/apple.c: Likewise.
36291 * partmap/gpt.c: Likewise.
36292 * partmap/pc.c: Likewise.
36293 * partmap/sun.c: Likewise.
36294 * term/gfxterm.c: Likewise.
36295 * term/i386/pc/vesafb.c: Likewise.
36296 * term/i386/pc/vga.c: Likewise.
36297
983598ad 362982009-05-04 David S. Miller <davem@davemloft.net>
36299
36300 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36301 pointer args to grub_ieee1275_get_property().
36302
8aadec43 36303 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36304
9554b15e 36305 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36306 devices, and do not traverse down under controller nodes.
36307
67e23c90 36308 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36309 (grub_ofdisk_open): Use it to un-escape "," characters.
36310 * kern/disk.c (find_part_sep): New.
36311 (grub_disk_open): Use it to find the first non-escaped ','
36312 character in the disk name.
36313 * util/ieee1275/devicemap.c (escape_of_path): New.
36314 (grub_util_emit_devicemap_entry): Use it.
36315 * util/sparc64/ieee1275/grub-install.in: Update script to
36316 strip partition specifiers properly by not triggering on
36317 '\' escaped ',' characters.
36318
74bfdd2f 363192009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36320
36321 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36322 to 0x300.
36323 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36324 resolutions.
36325 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36326 on documentation from Wikipedia).
36327
4241d2b1 363282009-05-04 Pavel Roskin <proski@gnu.org>
36329
36330 * disk/ata.c: Spelling fixes.
36331 * disk/raid.c: Likewise.
36332 * disk/usbms.c: Likewise.
36333 * disk/dmraid_nvidia.c: Likewise.
36334 * kern/ieee1275/openfw.c: Likewise.
36335 * kern/ieee1275/init.c: Likewise.
36336 * kern/ieee1275/cmain.c: Likewise.
36337 * boot/i386/pc/cdboot.S: Likewise.
36338 * video/readers/png.c: Likewise.
36339 * video/i386/pc/vbe.c: Likewise.
36340 * fs/udf.c: Likewise.
36341 * fs/hfs.c: Likewise.
36342 * fs/reiserfs.c: Likewise.
36343 * efiemu/runtime/efiemu.c: Likewise.
36344 * efiemu/main.c: Likewise.
36345 * efiemu/mm.c: Likewise.
36346 * include/grub/elf.h: Likewise.
36347 * include/grub/xnu.h: Likewise.
36348 * include/grub/usbdesc.h: Likewise.
36349 * include/grub/usb.h: Likewise.
36350 * include/grub/script_sh.h: Likewise.
36351 * include/grub/lib/LzmaEnc.h: Likewise.
36352 * include/grub/efiemu/efiemu.h: Likewise.
36353 * include/grub/command.h: Likewise.
36354 * normal/menu.c: Likewise.
36355 * normal/main.c: Likewise.
36356 * normal/datetime.c: Likewise.
36357 * bus/usb/uhci.c: Likewise.
36358 * mmap/i386/uppermem.c: Likewise.
36359 * mmap/mmap.c: Likewise.
36360 * commands/acpi.c: Likewise.
36361 * commands/test.c: Likewise.
36362 * partmap/apple.c: Likewise.
36363 * font/font.c: Likewise.
36364 * loader/sparc64/ieee1275/linux.c: Likewise.
36365 * loader/macho.c: Likewise.
36366 * loader/i386/bsd_trampoline.S: Likewise.
36367 * loader/i386/bsd.c: Likewise.
36368 * loader/xnu.c: Likewise.
36369 * term/i386/pc/vesafb.c: Likewise.
36370 * term/usb_keyboard.c: Likewise.
36371 * util/resolve.c: Likewise.
36372 * util/getroot.c: Likewise.
36373
0cfc0083 363742009-05-04 Felix Zielcke <fzielcke@z-51.de>
36375
36376 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36377
7c1d00cd 363782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36379
36380 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36381 build error.
36382
b01f0548 363832009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36384
36385 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36386 parameter only available on BIOS.
36387
ecc3eb22 363882009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36389
36390 Removed wrong semicolon in declaration
36391
36392 * grub/misc.h (grub_dprintf): remove semicolon
36393
112972a9 363942009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36395
36396 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36397 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36398 is done by grub_cmd_linux() now).
36399 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36400 restore video to text mode.
36401 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36402 indicates lack of "vga=" parameter. "vga=0" is mapped to
36403 `GRUB_LINUX_VID_MODE_NORMAL'.
36404
afd5c115 364052009-05-04 Felix Zielcke <fzielcke@z-51.de>
36406
36407 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36408 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36409 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36410 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36411 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36412 `grub_script.tab.c'.
36413
36414 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36415 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36417 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36418 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36419
faa517ce 36420 * Makefile.in: Remove duplicated 2008 in Copyright line.
36421
ae0c0bdc 364222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36423
473d1e45 36424 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36425 unconditionally.
36426 * include/grub/util/misc.h (grub_util_warn): New declaration.
36427
36428 * util/i386/pc/grub-install.in: Understand --force and pass it down
36429 to grub-setup.
36430
36431 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36432 down to setup().
36433 (setup): Improve error messages and add warnings when requested to
36434 install in odd layouts. Refuse to install using blocklists unless
36435 --force was set.
36436
18f547ad 364372009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36438
36439 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36440
6d260daa 364412009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36442
36443 Updated copyright year
36444
36445 * fs/hfsplus.c: updated copyright year
18f547ad 36446
69f853f8 364472009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36448
36449 HFS+ UUID
36450
18f547ad 36451 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36452 in the space previously used by unused3
36453 (grub_hfsplus_uuid): new function
36454 (grub_hfsplus_fs): added uuid field
36455
4c402e73 364562009-05-03 Pavel Roskin <proski@gnu.org>
36457
36458 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36459 suppress warnings. It's no longer needed.
36460 * disk/host.c: Likewise.
36461 * disk/ata_pthru.c: Likewise.
36462 * disk/loopback.c: Likewise.
36463 * hook/datehook.c: Likewise.
36464 * parttool/pcpart.c: Likewise.
36465 * fs/i386/pc/pxe.c: Likewise.
36466 * fs/ntfscomp.c: Likewise.
36467 * efiemu/main.c: Likewise.
36468 * mmap/mmap.c: Likewise.
36469 * commands/crc.c: Likewise.
36470 * commands/hexdump.c: Likewise.
36471 * commands/hdparm.c: Likewise.
36472 * commands/acpi.c: Likewise.
36473 * commands/echo.c: Likewise.
36474 * commands/minicmd.c: Likewise.
36475 * commands/blocklist.c: Likewise.
36476 * commands/memrw.c: Likewise.
36477 * commands/loadenv.c: Likewise.
36478 * commands/usbtest.c: Likewise.
36479 * commands/lsmmap.c: Likewise.
36480 * commands/boot.c: Likewise.
36481 * commands/parttool.c: Likewise.
36482 * commands/configfile.c: Likewise.
36483 * commands/search.c: Likewise.
36484 * commands/ieee1275/suspend.c: Likewise.
36485 * commands/cat.c: Likewise.
36486 * commands/i386/pc/pxecmd.c: Likewise.
36487 * commands/i386/pc/play.c: Likewise.
36488 * commands/i386/pc/halt.c: Likewise.
36489 * commands/i386/pc/vbeinfo.c: Likewise.
36490 * commands/i386/pc/vbetest.c: Likewise.
36491 * commands/lspci.c: Likewise.
36492 * commands/date.c: Likewise.
36493 * commands/handler.c: Likewise.
36494 * commands/ls.c: Likewise.
36495 * commands/test.c: Likewise.
36496 * commands/cmp.c: Likewise.
36497 * commands/efi/loadbios.c: Likewise.
36498 * commands/efi/fixvideo.c: Likewise.
36499 * commands/halt.c: Likewise.
36500 * commands/help.c: Likewise.
36501 * commands/reboot.c: Likewise.
36502 * hello/hello.c: Likewise.
36503 * script/sh/main.c: Likewise.
36504 * loader/xnu.c: Likewise.
36505 * term/terminfo.c: Likewise.
36506 * term/i386/pc/serial.c: Likewise.
36507 * term/usb_keyboard.c: Likewise.
36508
515b5079 365092009-05-03 David S. Miller <davem@davemloft.net>
36510
36511 * normal/menu.c: Include grub/parser.h
36512
dfc31a22 365132009-05-03 Pavel Roskin <proski@gnu.org>
36514
2fee74f1 36515 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36516 not char*.
36517 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36518 Suggested by Javier Martín <lordhabbit@gmail.com>
36519
dfc31a22 36520 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36521 efiemu??.o doesn't exist.
36522 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36523 copying.
36524
18f547ad 365252009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36526
36527 FreeBSD 64-bit support
36528
18f547ad 36529 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36530 and loader/i386/bsd_trampoline.S
36531 (bsd_mod_ASFLAGS): new variable
36532 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36533 (FREEBSD_MODTYPE_KERNEL64): likewise
36534 (grub_bsd64_trampoline_start): likewise
36535 (grub_bsd64_trampoline_end): likewise
36536 (grub_bsd64_trampoline_selfjump): likewise
36537 (grub_bsd64_trampoline_gdt): likewise
36538 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36539 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36540 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36541 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36542 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36543 of "attrib" member
36544 * loader/i386/bsd_pagetable.c: new file
36545 * loader/i386/bsd_trampoline.S: likewise
36546 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36547 (ALIGN_VAR): likewise
36548 (entry_hi): new variable
36549 (kern_end_mdofs): likewise
36550 (is_64bit): likewise
36551 (grub_freebsd_add_meta): use ALIGN_VAR
36552 (grub_e820_mmap): new declaration
36553 (grub_freebsd_add_mmap): new function
36554 (grub_freebsd_add_meta_module): support 64 bit kernels
36555 (grub_freebsd_list_modules): use ALIGN_VAR
36556 (gdt_descriptor): new declaration
36557 (grub_freebsd_boot): support 64 bit kernels
36558 (grub_bsd_elf64_hook): new function
36559 (grub_bsd_load_elf): support elf64
36560
038c5720 365612009-05-03 Bean <bean123ch@gmail.com>
36562
36563 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36564 after we get the result of if statement.
36565
fc45fb58 365662009-05-03 Bean <bean123ch@gmail.com>
36567
36568 * Makefile.in (enable_efiemu): New variable.
36569
36570 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36571 set.
36572 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36573 path.
36574 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36575 path, add -mno-red-zone option.
36576 (efiemu64_s.o): Likewise.
36577 (efiemu64.o): Use macro $^ for source file.
36578
36579 * configure.ac (--enable-efiemu): New option.
36580
bbee0f2b 365812009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36582
36583 xnu support
36584
36585 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36586 (pkglib_MODULES): add xnu.mod
36587 (xnu_mod_SOURCES): new variable
36588 (xnu_mod_CFLAGS): likewise
36589 (xnu_mod_LDFLAGS): likewise
36590 (xnu_mod_ASFLAGS): likewise
36591 * conf/i386-pc.rmk: likewise
36592 * conf/x86_64-efi.rmk: likewise
7dd4a573 36593 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 36594 new declaration
36595 * include/grub/i386/macho.h: new file
36596 * include/grub/i386/xnu.h: likewise
36597 * include/grub/macho.h: likewise
36598 * include/grub/machoload.h: likewise
36599 * include/grub/x86_64/macho.h: likewise
36600 * include/grub/x86_64/xnu.h: likewise
36601 * include/grub/xnu.h: likewise
36602 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36603 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36604 * loader/i386/efi/xnu.c: new file
36605 * loader/i386/pc/xnu.c: likewise
36606 * loader/i386/xnu.c: likewise
36607 * loader/i386/xnu_helper.S: likewise
36608 * loader/macho.c: likewise
36609 * loader/xnu.c: likewise
36610 * loader/xnu_resume.c: likewise
36611 * util/grub-dumpdevtree: likewise
36612 * include/grub/i386/pit.h: include grub/err.h
36613 (grub_pit_wait): export
36614 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 36615
5caf964d 366162009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36617
36618 Efiemu
7dd4a573 36619
5caf964d 36620 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 36621 _linux_efi, linux_efi.
36622 new files in grub-emu
5caf964d 36623 new targets efiemu32.o and efiemu64.o
36624 * loader/linux_normal_efiemu.c: likewise
36625 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 36626 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 36627 files to copy
36628 * include/grub/autoefi.h: new file
7dd4a573 36629 * include/grub/i386/efiemu.h: likewise
5caf964d 36630 * include/grub/i386/pc/efiemu.h: likewise
36631 * include/grub/efi/api.h: add LL suffix when necessary
36632 new definitions relating to tables
36633 * include/grub/efiemu/efiemu.h: new file
36634 * include/grub/efiemu/runtime.h: likewise
36635 * efiemu/prepare.c: likewise
36636 * efiemu/loadcore_common.c: likewise
36637 * efiemu/loadcore64.c: likewise
36638 * efiemu/runtime/efiemu.sh: likewise
36639 * efiemu/runtime/efiemu.S: likewise
36640 * efiemu/runtime/efiemu.c: likewise
36641 * efiemu/runtime/config.h: likewise
36642 * efiemu/prepare32.c: likewise
36643 * efiemu/main.c: likewise
36644 * efiemu/modules/pnvram.c: likewise
36645 * efiemu/modules/i386: likewise
36646 * efiemu/modules/i386/pc: likewise
36647 * efiemu/modules/acpi.c: likewise
36648 * efiemu/i386/pc/cfgtables.c: likewise
36649 * efiemu/i386/loadcore64.c: likewise
36650 * efiemu/i386/loadcore32.c: likewise
36651 * efiemu/prepare64.c: likewise
36652 * efiemu/loadcore.c: likewise
36653 * efiemu/symbols.c: likewise
36654 * efiemu/mm.c: likewise
36655 * efiemu/loadcore32.c: likewise
7dd4a573 36656
366572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 36658
36659 ACPI spoofing
36660
36661 * commands/acpi.c: new file
36662 * commands/i386/pc/acpi.c: likewise
36663 * commands/efi/acpi.c: likewise
36664 * include/grub/acpi.h: likewise
36665 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36666 (acpi_mod_SOURCES): new variable
36667 (acpi_mod_CFLAGS): likewise
36668 (acpi_mod_LDFLAGS): likewise
36669 * conf/i386-efi.rmk: likewise
36670 * conf/x86_64-efi.rmk: likewise
36671
7dd4a573 366722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 36673
36674 Missing part from mmap patch
36675
36676 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36677 (grub_mmap_unregister)
36678 (grub_mmap_free_and_unregister): use grub_mmap_register
36679
7dd4a573 366802009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 36681
36682 Mmap services
36683
36684 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36685 * loader/i386/linux.c (find_mmap_size): likewise
36686 (allocate_pages): likewise
36687 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36688 (grub_fill_multiboot_mmap): likewise
36689 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36690 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36691 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
36692 (OPENBSD_MMAP_RESERVED): likewise
36693 * include/grub/i386/pc/memory.h: include grub/memory.h
36694 (grub_lower_mem): removed
36695 (grub_upper_mem): likewise
36696 (GRUB_MACHINE_MEMORY_ACPI): new definition
36697 (GRUB_MACHINE_MEMORY_NVS): likewise
36698 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
36699 (GRUB_MACHINE_MEMORY_HOLE): likewise
36700 (grub_machine_mmap_register): likewise
36701 (grub_machine_mmap_unregister): likewise
36702 (grub_machine_get_upper): likewise
36703 (grub_machine_get_lower): likewise
36704 (grub_machine_get_post64): likewise
36705 * include/grub/i386/efi/memory.h: new file
36706 * include/grub/x86_64/efi/memory.h: likewise
36707 * include/grub/efi/memory.h: likewise
36708 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
36709 (mmap_mod_SOURCES): new variable
36710 (mmap_mod_LDFLAGS): likewise
36711 (mmap_mod_ASFLAGS): likewise
36712 * conf/i386-coreboot.rmk: likewise
36713 * conf/i386-ieee1275.rmk: likewise
36714 * conf/i386-efi.rmk: likewise
36715 * conf/x86_64-efi.rmk: likewise
36716 * include/grub/types.h (UINT_TO_PTR): new macro
36717 (PTR_TO_UINT32): likewise
36718 (PTR_TO_UINT64): likewise
36719 * include/grub/memory.h: new file
36720 * mmap/i386/pc/mmap.c: likewise
36721 * mmap/i386/pc/mmap_helper.S: likewise
36722 * mmap/i386/uppermem.c: likewise
36723 * mmap/mmap.c: likewise
36724 * mmap/efi/mmap.c: likewise
7dd4a573 36725 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 36726 grub_upper_mem
36727 * kern/i386/pc/init.c (grub_lower_mem): removed variable
36728 (grub_upper_mem): likewise
36729 (grub_machine_init): don't use grub_upper_mem,
36730 make grub_lower_mem local
36731 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
36732 grub_mmap_iterate and grub_mmap_get_upper
36733 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
36734
d558e6b5 367352009-05-02 Bean <bean123ch@gmail.com>
36736
36737 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
36738 script/sh/parser.y.
36739 (pkglib_MODULES): Add normal.mod and sh.mod.
36740 (normal_SOURCES): New variable.
36741 (normal_mod_CFLAGS): Likewise.
36742 (normal_mod_LDFLAGS): Likewise.
36743 (sh_mod_SOURCES): Likewise.
36744 (sh_mod_CFLAGS): Likewise.
36745 (sh_mod_LDFLAGS): Likewise.
36746
36747 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
36748 script/sh/lexer.c_DEPENDENCIES.
36749 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
36750 kern/rescue_reader.c and kern/rescue_parser.c.
36751 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
36752 (grub_emu_SOURCES): Change source files.
36753 (pkglib_MODULES): Remove normal.mod.
36754 (normal_SOURCES): Removed.
36755 (normal_mod_CFLAGS): Likewise.
36756 (normal_mod_LDFLAGS): Likewise.
36757 * conf/i386-coreboot.rmk: Likewise.
36758 * conf/i386-efi.rmk: Likewise.
36759 * conf/i386-ieee1276.rmk: Likewise.
36760 * conf/powerpc-ieee1275.rmk: Likewise.
36761 * conf/sparc64-ieee1275.rmk: Likewise.
36762 * conf/x86_64-efi.rmk: Likewise.
36763
36764 * include/grub/command.h (grub_command_execute): New inline function.
36765
36766 * include/grub/menu.h (grub_menu_entry): Removed commands field.
36767
36768 * include/grub/normal.h: Remove <grub/setjmp.h>.
36769 (grub_fs_module_list): Moved to normal/autofs.c.
36770 (grub_exit_env): Removed.
36771 (grub_command_execute): Likewise.
36772 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
36773 parameter script.
36774 (read_command_list): New function declaration.
36775 (read_fs_list): Likewise.
36776
36777 * include/parser.h: Include <grub/reader.h>.
36778 (grub_parser_split_cmdline): Change type of getline parameter.
36779 (grub_parser): New structure.
36780 (grub_parser_class): New variable.
36781 (grub_parser_execute): New function declaration.
36782 (grub_register_rescue_parser): Likewise.
36783 (grub_parser_register): New inline function.
36784 (grub_parser_unregister): Likewise.
36785 (grub_parser_get_current): Likewise.
36786 (grub_parser_set_current): Likewise.
36787
36788 * include/grub/reader.h: New file.
36789 * kern/reader.c: Likewise.
36790 * kern/rescue_parser.c: Likewise.
36791 * kern/rescue_reader.c: Likewise.
36792 * normal/autofs.c: Likewise.
36793 * normal/dyncmd.c: Likewise.
36794
36795 * include/grub/rescue.h: Removed.
36796 * normal/command.h: Likewise.
36797
36798 * include/grub/script.h: Moved to ...
36799 * include/grub/script_sh.h: ... Moved here.
36800 * normal/execute.c: Moved to ...
36801 * script/sh/execute.c: ... Moved here.
36802 * normal/function.c: Moved to ...
36803 * script/sh/function.c: ... Moved here.
36804 * normal/lexer.c: Moved to ...
36805 * script/sh/lexer.c: ... Moved here.
36806 * normal/parser.y: Moved to ...
36807 * script/sh/parser.y: ... Moved here.
36808 * normal/script.c: Moved to ...
36809 * script/sh/script.c: ... Moved here.
36810
36811 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
36812 <grub/reader.h>.
36813 (grub_exit_env): Removed.
36814 (fs_module_list): Moved to normal/autofs.c.
36815 (grub_file_getline): Don't handle comment here.
36816 (free_menu): Skip removed field entry->commands.
36817 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
36818 script parameter.
36819 (read_config_file): Removed nested parameter, change getline function.
36820 (grub_enter_normal_mode): Removed.
36821 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
36822 (read_command_list): Likewise.
36823 (autoload_fs_module): Moved to normal/autofs.c.
36824 (read_fs_list): Likewise.
36825 (reader_nested): New variable.
36826 (grub_normal_execute): Run parser.sh to switch to sh parser.
36827 (grub_cmd_rescue): Removed.
36828 (cmd_normal): Removed.
36829 (grub_cmd_normal): Unregister itself at the beginning. Don't register
36830 rescue command.
36831 (grub_cmdline_run): New function.
36832 (grub_normal_reader_init): Likewise.
36833 (grub_normal_read_line): Likewise.
36834 (grub_env_write_pager): Likewise.
36835 (cmdline): New variable.
36836 (grub_normal_reader): Likewise.
36837 (GRUB_MOD_INIT): Register normal reader and set as current, register
36838 pager hook, register normal command with grub_register_command_prio,
36839 so that it won't show up in command.lst.
36840 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
36841 grub_fs_autoload_hook.
36842
36843 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
36844 (grub_menu_execute_entry): Replace grub_script_execute with
36845 grub_parser_execute, change parameter to grub_command_execute.
36846
36847 * normal/menu_text.c: Remove <grub/script.h>.
36848
36849 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
36850 and <grub/parser.h>.
36851 (run): Change editor_getline to use new parser interface. Change
36852 parameter to grub_command_execute.
36853
36854 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
36855 <grub/reader.h> and <grub/parser.h>.
36856 (grub_load_normal_mode): Execute normal command.
36857 (grub_main): Call grub_register_core_commands,
36858 grub_register_rescue_parser and grub_register_rescue_reader, use
36859 grub_reader_loop to enter input loop.
36860
7dd4a573 36861 * kern/parser.c (grub_parser_split_cmdline): Change type of
36862 getline parameter.
d558e6b5 36863 (grub_parser_class): New variable.
36864 (grub_parser_execute): New function.
36865
36866 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
36867 * loader/multiboot2.c: Likewise.
36868 * loader/sparc64/ieee1275/linux.c: Likewise.
36869
36870 * util/grub-emu.c (read_command_list): New dummy function.
36871
18db813d 368722009-05-02 Robert Millan <rmh.grub@aybabtu.com>
36873
36874 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
36875 count to 16 for CCISS and IDA.
36876
6c67de15 368772009-05-02 Robert Millan <rmh.grub@aybabtu.com>
36878
36879 * normal/menu_text.c (grub_wait_after_message): Print a newline
36880 after waiting for user input.
36881
36882 * loader/i386/linux.c: Include `<grub/normal.h>'.
36883 (grub_cmd_linux): Improve the error message about `ask' mode, by
36884 waiting for user input so it's not missed (we can do this, since
36885 user requested interaction).
36886
d9dc87b0 368872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36888
36889 Added missing lst to grub-mkrescue
36890
36891 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
36892 and ${input_dir}/parttool.lst
36893
ac8a2baa 368942009-04-30 David S. Miller <davem@davemloft.net>
36895
ad22a610 36896 * util/hostdisk.c (device_is_wholedisk): New function.
36897 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
36898 zero only if device_is_wholedisk() returns true.
36899
6966215d 36900 * util/hostdisk.c (convert_system_partition_to_system_disk):
36901 Handle virtual disk devices named /dev/vdiskX as found on sparc
36902 and powerpc.
36903
ac8a2baa 36904 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
36905 lettered partition specifier is found, convert to numbered.
36906
979b4fb4 369072009-04-29 David S. Miller <davem@davemloft.net>
36908
e2bf39b2 36909 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
36910 * include/grub/sparc64/ieee1275/memory.h: Likewise.
36911
3c64e104 36912 * normal/command.c: Add missing newline at end of file.
36913
979b4fb4 36914 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
36915 warnings.
36916 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
36917 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
36918 grub_ofdisk_read): Likewise, and deal similarly with the fact that
36919 ihandles have a 32-bit type but need to be stored in a "void *".
36920
136d9f82 369212009-04-28 Pavel Roskin <proski@gnu.org>
36922
9459c306 36923 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
36924 not disk. Adjust all dependencies.
2e08a26a 36925 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 36926 grub_disk_close().
36927
136d9f82 36928 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
36929 parent's partition, don't copy it by reference, as it gets freed
36930 on close.
36931
7dd4a573 369322009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 36933
36934 Preboot hooks support
36935
36936 * commands/boot.c (struct grub_preboot_t): new declaration
36937 (preboots_head): new variable
36938 (preboots_tail): likewise
36939 (grub_loader_register_preboot_hook): new function
36940 (grub_loader_unregister_preboot_hook): likewise
36941 (grub_loader_set): launch preboot hooks
36942 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
36943 (grub_loader_register_preboot_hook): new declaration
36944 (grub_loader_unregister_preboot_hook): likewise
36945
5af922b5 369462009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
36947
36948 Warning fix
36949
7dd4a573 36950 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 36951 calling grub_dprintf
36952
a5562c30 369532009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
36954
36955 Bug and warning fixes
36956
7dd4a573 36957 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 36958 declaration
36959 * commands/test.c (test_parse): fixed bug with file tests and corrected
36960 declaration of find_file
36961
4006f85c 369622009-04-26 Pavel Roskin <proski@gnu.org>
36963
36964 * Makefile.in: Don't install empty manual pages if help2man is
36965 missing. Use help2man option for output, not shell redirection.
36966
5c77c3de 369672009-04-26 David S. Miller <davem@davemloft.net>
36968
36969 * util/grub-mkdevicemap.c (make_device_map): Add missing
36970 NESTED_FUNC_ATTR to process_device().
36971
033b10a8 369722009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36973
36974 Test command
36975
36976 * commands/test.c: rewritten to use bash-like test
36977
e4343593 369782009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36979
36980 Parttool autoloading and improvements
36981
7dd4a573 36982 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 36983 (parttool.lst): new target
36984 * genmk.rb: generate parttool-*
36985 (CLEANFILES): add #{parttool}
36986 (PARTTOOLFILES): new variable
36987 * genparttoollist.sh: new file
7dd4a573 36988 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 36989 (grub_pcpart_type): likewise
36990 * commands/parttool.c (helpmsg): new variable
36991 (grub_cmd_parttool): output help if not enough arguments are supplied
36992 autoload modules
36993 (GRUB_MOD_INIT(parttool)): use helpmsg
36994
0d312500 369952009-04-24 David S. Miller <davem@davemloft.net>
36996
7dd4a573 36997 Avoiding opening same device multiple times in device iterator.
0d312500 36998
36999 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37000 and use it to build a list of partitions in iterate_disk() and
0d312500 37001 iterate_partition().
37002
ac20caff 37003 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37004 on disk->data.
37005
0dcf7495 37006 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37007 grub_devalias_iterate() result instead of unconditional 0.
37008 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37009 Also, capture hook return value, either directly or via
37010 grub_children_iterate(), and propagate to caller.
37011 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37012 grub_children_iterate): Return value is now 'int' instead of
37013 'grub_err_t'.
37014 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37015 like a proper iterator, stopping when hooks return non-zero.
37016 (grub_devalias_iterate): Likewise.
37017
c8c08833 370182009-04-23 David S. Miller <davem@davemloft.net>
37019
37020 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37021
f01005a8 370222009-04-22 David S. Miller <davem@davemloft.net>
37023
37024 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37025 is larger than address_cells, use that value for address_cells too.
37026
4e8269da 37027 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37028 IEEE1275_MAX_PATH_LEN): Define.
37029 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37030 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37031 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37032 'devtype'. Explicitly NULL terminate devalias expansion.
37033
a1447506 37034 * util/sparc64/ieee1275/misc.c: New file.
37035 * util/sparc64/ieee1275/grub-setup.c: New file.
37036 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37037 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37038 * util/sparc64/ieee1275/grub-install.in: New file.
37039 * util/ieee1275/ofpath.c: New file.
37040 * util/ieee1275/devicemap.c: New file.
37041 * util/devicemap.c: New file.
37042 * util/deviceiter.c: New file.
37043 * kern/sparc64/ieee1275/init.c: New file.
37044 * include/grub/util/ofpath.h: New file.
37045 * include/grub/util/deviceiter.h: New file.
37046 * util/grub-mkdevicemap.c: Include deviceiter.h.
37047 Implement using grub_util_emit_devicemap_entry and
37048 grub_util_iterate_devices.
37049 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37050 util/devicemap.c into grub-mkdevicemap
37051 * conf/i386-efi.rmk: Likewise.
37052 * conf/i386-ieee1275.rmk: Likewise.
37053 * conf/i386-pc.rmk: Likewise.
37054 * conf/powerpc-ieee1275.rmk: Likewise.
37055 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37056 images and installation utilities. Build kernel as image
37057 instead of as elf binary. Use common rules as much as possible.
37058
7dd4a573 370592009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37060
37061 Correct GPT definition
37062
7dd4a573 37063 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37064 of "attrib" member
37065
c6c5219f 370662009-04-19 Felix Zielcke <fzielcke@z-51.de>
37067
37068 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37069
0552ff9f 370702009-04-19 David S. Miller <davem@davemloft.net>
37071
37072 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37073 (grub_rescue_cmd_linux): Rename to...
37074 (grub_cmd_linux): and fix prototype.
37075 (grub_rescue_cmd_initrd): Rename to...
37076 (grub_cmd_initrd): and fix prototype.
37077 (cmd_linux, cmd_initrd): New.
37078 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37079 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37080
d1a282fc 370812009-04-17 Pavel Roskin <proski@gnu.org>
37082
07c5039f 37083 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37084 format.
37085 (grub_ohci_transfer): Likewise.
37086
b012002d 37087 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37088
1bc09c35 37089 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37090 return without a value. Fix inconsistent indentation.
37091
e0ff9126 37092 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37093 match struct grub_fs.
37094
d1a282fc 37095 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37096 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37097 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37098 * commands/lspci.c (grub_lspci_iter): Likewise.
37099
a96df3f2 371002009-04-16 Bean <bean123ch@gmail.com>
37101
37102 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37103 value.
37104
41bb0fe9 371052009-04-15 Pavel Roskin <proski@gnu.org>
37106
37107 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37108 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37109 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37110 definitions.
37111
596c6970 371122009-04-15 Felix Zielcke <fzielcke@z-51.de>
37113
37114 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37115 that no multiple data or metadata areas are supported and `Unknown
596c6970 37116 metadata header'.
37117
7dd4a573 371182009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37119
37120 Move loader out of the kernel
37121
37122 * kern/loader.c: moved to ...
37123 * commands/boot.c: ... moved here
37124 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37125 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37126 * include/grub/kernel.h (grub_machine_fini): export
37127 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37128 (grub_loader_set): likewise
37129 (grub_loader_unset): likewise
37130 (grub_loader_boot): likewise
37131 * conf/common.rmk: new module boot.mod
37132 (pkglib_MODULES): add boot.mod
37133 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37134 (grub_emu_SOURCES): likewise
37135 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37136 (grub_emu_SOURCES): likewise
37137 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37138 (grub_emu_SOURCES): likewise
37139 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37140 (grub_emu_SOURCES): likewise
37141 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37142 (grub_emu_SOURCES): likewise
7dd4a573 37143 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37144 (grub_emu_SOURCES): likewise
0d5d5653 37145 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37146 (grub_emu_SOURCES): likewise
0d5d5653 37147
7dd4a573 371482009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37149
37150 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37151
5999d619 37152 * kern/misc.c (grub_itoa): Removed function
37153 (grub_ltoa): likewise
37154 (grub_vsprintf): use grub_lltoa
37155
7dd4a573 371562009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37157
37158 Restore grub-emu
37159
37160 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37161 * conf/i386-coreboot.rmk: likewise
37162 * conf/i386-ieee1275.rmk: likewise
37163 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37164
20318222 371652009-04-15 Felix Zielcke <fzielcke@z-51.de>
37166
37167 * INSTALL: Add that `./autogen.sh' needs to be run before
37168 `./configure.'.
37169
d05f0df3 371702009-04-14 Bean <bean123ch@gmail.com>
37171
37172 * Makefile.in (pkglib_DATA): Add handler.lst.
37173 (handler.lst): New rule.
37174
37175 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37176 * conf/i386-coreboot.rmk: Likewise.
37177 * conf/i386-ieee1275.rmk: Likewise.
37178 * conf/i386-efi.rmk: Likewise.
37179 * conf/x86_64-efi.rmk: Likewise.
37180 * conf/powerpc-ieee1275.rmk: Likewise.
37181 * conf/sparc64-ieee1275.rmk: Likewise.
37182
37183 * genhandlerlist.sh: New file.
37184
37185 * genmk.rb: Add rules to generate handler.lst.
37186
37187 * include/grub/normal.h (grub_file_getline): New function definition.
37188 (read_handler_list): Likewise.
37189 (free_handler_list): Likewise.
37190
37191 * include/grub/term.h (grub_term_register_input): Add name parameter
37192 for auto generation of handler.lst.
37193 (grub_term_register_output): Likewise.
37194
37195 * normal/handler.c: New file.
37196
37197 * normal/main.c (get_line): Renamed to grub_file_getline.
37198 (read_config_file): Use the newly renamed grub_file_getline.
37199 (read_command_list): Likewise.
37200 (read_fs_list): Likewise.
37201 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37202 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37203
37204 * term/efi/console.c (grub_console_init): Add name parameter for auto
37205 generation of handler.lst.
37206 * term/gfxterm.c: Likewise.
37207 * term/i386/pc/at_keyboard.c: Likewise.
37208 * term/i386/pc/console.c: Likewise.
37209 * term/i386/pc/serial.c: Likewise.
37210 * term/i386/pc/vesafb.c: Likewise.
37211 * term/i386/pc/vga.c: Likewise.
37212 * term/i386/pc/vga_text.c: Likewise.
37213 * term/ieee1275/ofconsole.c: Likewise.
37214 * term/usb_keyboard.c: Likewise.
37215
33c846be 372162009-04-14 Bean <bean123ch@gmail.com>
37217
37218 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37219 properly with null character.
37220
4484e01e 372212009-04-14 Felix Zielcke <fzielcke@z-51.de>
37222
37223 * configure: Remove.
37224 * config.h.in: Likewise.
f93d668e 37225 * stamp-h.in: Likewise.
4484e01e 37226 * DISTLIST: Likewise.
37227 * conf/common.mk: Likewise.
37228 * conf/i386-coreboot.mk: Likewise.
37229 * conf/i386-efi.mk: Likewise.
37230 * conf/i386-ieee1275.mk: Likewise.
37231 * conf/i386.mk: Likewise.
37232 * conf/i386-pc.mk: Likewise.
37233 * conf/powerpc-ieee1275.mk: Likewise.
37234 * conf/sparc64-ieee1275.mk: Likewise.
37235 * conf/x86_64-efi.mk: Likewise.
37236
37237 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37238 develop on GRUB.
37239
7dd4a573 372402009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37241 David S. Miller <davem@davemloft.net>
37242
37243 * util/hostdisk.c (make_device_name): Fix buffer length
37244 calculations.
37245
e25b5a8c 372462009-04-14 Felix Zielcke <fzielcke@z-51.de>
37247
37248 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37249 <sys/param.h> and <sys/sysctl.h>.
37250 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37251 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37252 opening the device and reset them afterwards.
37253
1f1f580c 372542009-04-13 Pavel Roskin <proski@gnu.org>
37255
37256 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37257 Reported by John Stanley <jpsinthemix@verizon.net>
37258
7ebc2d6b 372592009-04-13 Robert Millan <rmh@aybabtu.com>
37260
37261 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37262 that name for menuentries when appropriate.
7ebc2d6b 37263
d8ba3667 372642009-04-13 Felix Zielcke <fzielcke@z-51.de>
37265
37266 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37267
cba416eb 372682009-04-13 Robert Millan <rmh@aybabtu.com>
37269
37270 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37271 to Linux, simply abort telling the user it's no longer supported.
37272
a547a745 372732009-04-13 Felix Zielcke <fzielcke@z-51.de>
37274
37275 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37276 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37277 `freebsd_loadenv' only when devices.hints exist.
37278
232a769c 372792009-04-13 Pavel Roskin <proski@gnu.org>
37280
37281 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37282
c3012039 372832009-04-13 Felix Zielcke <fzielcke@z-51.de>
37284
37285 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37286 partition number.
37287 (grub_drive): Likewise.
37288
234022fe 372892009-04-13 David S. Miller <davem@davemloft.net>
37290
37291 * kern/sparc64/ieee1275/ieee1275.c: New file.
37292 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37293 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37294 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37295 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37296 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37297 grub_ieee1275_alloc_physmem): Declare new exported functions.
37298
d8e1836c 37299 * include/grub/sparc64/ieee1275/loader.h: New file.
37300 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37301 * include/grub/sparc64/kernel.h: Likewise.
37302 * loader/sparc64/ieee1275/linux.c: Likewise.
37303
96bd81ec 37304 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37305 (grub_fstest_SOURCES): Likewise.
37306
6a4737e5 37307 * util/hostdisk.c (make_device_name): Do not make any assumptions
37308 about the length of drive names.
37309
1d7a72fd 37310 * kern/dl.c (grub_dl_load_file): Close file immediately when
37311 we are done using it.
37312
56bc2471 373132009-04-12 David S. Miller <davem@davemloft.net>
37314
37315 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37316 values. Noticed by Pavel Roskin.
37317
df38d0bb 37318 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37319 target compiler.
7dd4a573 37320
e382e93a 37321 * genmk.rb: Add more flexible image type specification, also
37322 pass --strip-unneeded to objcopy.
37323 * conf/i386-pc.rmk: Use *_FORMAT.
37324 * conf/i386-pc.mk: Rebuilt.
37325
f5dbbca9 37326 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37327 (OFDISK_HASH_SZ): Define.
37328 (ofdisk_hash): New hash table.
37329 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37330 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37331 instead of device phandle which is not unique.
37332
91c88b12 37333 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37334 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37335 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37336 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37337 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37338 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37339 GRUB_KERNEL_MACHINE_DATA_END): Define.
37340 (grub_kernel_image_size, grub_total_module_size): Declare.
37341
5b5d4aa5 373422009-04-12 Pavel Roskin <proski@gnu.org>
37343
7dd4a573 37344 * configure.ac: Change the logic when we check for target tools.
37345 Do it when the target is specified and it's different from the
37346 specified value of the host.
5b5d4aa5 37347
c91e1793 373482009-04-11 Felix Zielcke <fzielcke@z-51.de>
37349
37350 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37351 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37352 GNU/kFreeBSD. Check if a device is a character device. Use
37353 DIOCGMEDIASIZE to get the size.
37354 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37355 support for GNU/kFreeBSD.
37356 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: 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_kernel__]: Check if ENT
37361 is a character device instead of a block device.
37362
37363 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37364 is a character device instead of a block device.
37365
b1ac8644 373662009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37367
37368 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37369 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37370 FreeBSD. Check if a device is a character device. Use
37371 DIOCGMEDIASIZE to get the size.
37372 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37373 support for FreeBSD.
37374 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37375 is a character device instead of a block device. Add support for
37376 FreeBSD device names.
37377
37378 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37379 a character device instead of a block device.
37380 (grub_util_check_char_device): New function.
37381
37382 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37383 a character device instead of a block device.
37384
37385 * include/grub/util/getroot.h (grub_util_check_char_device): New
37386 prototype.
37387
a3f7515a 373882009-04-11 David S. Miller <davem@davemloft.net>
37389
37390 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37391 static libgcc.
37392 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37393 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37394 function, if present.
37395 (__bswapdi2): Likewise.
37396
0d44993d 37397 * include/grub/sparc64/ieee1275/boot.h: New file.
37398 * boot/sparc64/ieee1275/boot.S: Likewise.
37399 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37400
ed3d2bc2 37401 * kern/misc.c (grub_ltoa): New function.
37402 (grub_vsprintf): Use it to format 'long' integers.
37403
d3bfb59c 374042009-04-10 David S. Miller <davem@davemloft.net>
37405
37406 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37407 slots are of type grub_ieee1275_cell_t.
37408 (grub_nand_read): Likewise.
37409 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37410 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37411 macros are used to compare values in arg/ret block of the call.
37412 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37413 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37414 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37415 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37416 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37417 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37418 grub_ieee1275_close, grub_ieee1275_set_property,
37419 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37420 grub_ieee1275_cell_t.
37421 * kern/ieee1275/openfw.c (grub_map): Likewise.
37422 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37423 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37424
450e2238 37425 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37426 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37427 (grub_devalias_iterate): Likewise.
37428
7dd4a573 374292009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37430
37431 UFS improvements
37432
37433 * fs/ufs.c (INODE_NBLOCKS): new definition
37434 (struct grub_ufs_dirent): added fields for non-BSD dirents
37435 (grub_ufs_get_file_block): fixed double indirect handling
37436 (grub_ufs_lookup_symlink): use more robust way to determine whether
37437 symlink is inline
37438 (grub_ufs_find_file): support for non-BSD dirents
37439 (grub_ufs_dir): support for non-BSD dirents
37440
e7e6862a 374412009-04-10 Bean <bean123ch@gnail.com>
37442
37443 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37444 attribute, otherwise the size would be wrong for i386 platform.
37445
37446 * include/grub/pci.h (grub_pci_read_word): New inline function.
37447 (grub_pci_read_byte): Likewise.
37448 (grub_pci_write): Likewise.
37449 (grub_pci_write_word): Likewise.
37450 (grub_pci_write_byte): Likewise.
37451
37452 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37453
37454 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37455 (find_framebuf): Scan pci to locate the frame buffer address.
37456
37457 * commands/efi/fixvideo.c: New file.
37458
37459 * commands/efi/loadbios.c: Likewise.
37460
37461 * commands/memrw.c: Likewise.
37462
37463 * util/grub-dumpbios.in: Likewise.
37464
37465 * conf/common.rmk (grub-dumpbios): New utility.
37466 (pkglib_MODULES): New module memrw.mod.
37467 (memrw_mod_SOURCE): New macro.
37468 (memrw_mod_CFLAGS): Likewise.
37469 (memrw_mod_LDFLAGS): Likewise.
37470
7dd4a573 37471 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37472 fixvideo.mod.
37473 (loadbios_mod_SOURCE): New macro.
37474 (loadbios_mod_CFLAGS): Likewise.
37475 (loadbios_mod_LDFLAGS): Likewise.
37476 (fixvideo_mod_SOURCE): Likewise.
37477 (fixvideo_mod_CFLAGS): Likewise.
37478 (fixvideo_mod_LDFLAGS): Likewise.
37479
7dd4a573 37480 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37481 fixvideo.mod.
37482 (loadbios_mod_SOURCE): New macro.
37483 (loadbios_mod_CFLAGS): Likewise.
37484 (loadbios_mod_LDFLAGS): Likewise.
37485 (fixvideo_mod_SOURCE): Likewise.
37486 (fixvideo_mod_CFLAGS): Likewise.
37487 (fixvideo_mod_LDFLAGS): Likewise.
37488
af63ada2 374892009-04-08 Felix Zielcke <fzielcke@z-51.de>
37490
37491 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37492
c2cdde70 374932009-04-07 David S. Miller <davem@davemloft.net>
37494
37495 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37496 support for R_SPARC_OLO10 relocations. Fix compile warning for
37497 R_SPARC_WDISP30 case.
ea3f72cf 37498 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37499
761319cf 375002009-04-06 Pavel Roskin <proski@gnu.org>
37501
1007d1f5 37502 * include/grub/misc.h (ARRAY_SIZE): New macro.
37503 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37504 New macro.
37505 * loader/i386/linux.c (allocate_pages): Use free_pages().
37506 (grub_linux_unload): Don't use free_pages().
37507 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37508 wrong index. Treat all other modes as text modes.
37509 (grub_cmd_linux): Initialize vid_mode unconditionally to
37510 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37511
761319cf 37512 * commands/help.c (print_command_help): Use cmd->prio, not
37513 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37514
ea761d40 375152009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37516
ea761d40 37517 Parttool
37518
37519 * parttool/pcpart.c: new file
37520 * commands/parttool.c: likewise
37521 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37522 (parttool_mod_SOURCES): new variable
37523 (parttool_mod_CFLAGS): likewise
37524 (parttool_mod_LDFLAGS): likewise
37525 (pcpart_mod_SOURCES): likewise
37526 (pcpart_mod_CFLAGS): likewise
37527 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37528 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37529 and parttool/pcpart.c
37530 * conf/i386-efi.rmk: likewise
37531 * conf/i386-ieee1275.rmk: likewise
37532 * conf/i386-pc.rmk: likewise
37533 * conf/powerpc-ieee1275.rmk: likewise
37534 * conf/sparc64-ieee1275.rmk: likewise
37535 * conf/x86_64-ieee1275.rmk: likewise
37536
05aaebfb 375372009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37538
37539 Support for mtime and further expandability of dir command
37540
37541 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37542 * include/grub/datetime.h: ... moved here and added
05aaebfb 37543 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37544 * include/grub/fs.h: new syntax for dir and mtime functions in
37545 struct grub_fs
05aaebfb 37546 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37547 and GRUB_FSHELP_FLAGS_MASK
37548 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37549 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37550 (grub_ext2_mtime): new function
37551 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37552 (grub_hfsplus_mtime): new function
37553 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37554 (GRUB_UFS_ATTR_FILE): likewise
37555 (GRUB_UFS_ATTR_LNK): likewise
37556 (struct grub_ufs_sblock): new fields mtime
37557 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37558 all users updated
37559 (grub_ufs_dir): mtime support
37560 (grub_ufs_mtime): new function
37561 * fs/affs.c (grub_affs_dir): use new dir syntax
37562 * fs/afs.c (grub_afs_dir): likewise
37563 * fs/cpio.c (grub_cpio_dir): likewise
37564 * fs/fat.c (grub_fat_find_dir): likewise
37565 * fs/hfs.c (grub_hfs_dir): likewise
37566 * fs/iso9660.c (grub_iso9660_dir): likewise
37567 * fs/jfs.c (grub_jfs_dir): likewise
37568 * fs/minix.c (grub_minix_dir): likewise
37569 * fs/ntfs.c (grub_ntfs_dir): likewise
37570 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37571 * fs/sfs.c (grub_sfs_dir): likewise
37572 * fs/xfs.c (grub_xfs_dir): likewise
37573 * util/hostfs.c (grub_hostfs_dir): likewise
37574 * lib/datetime.c: moved to ...
37575 * normal/datetime.c: ... moved here
37576 (grub_unixtime2datetime): new function
37577 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 37578 * normal/completion.c (iterate_dir): use new dir syntax
37579 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 37580 last modification time of a volume
7dd4a573 37581 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 37582 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 37583 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 37584 (normal_mod_SOURCES): likewise
37585 (datetime_mod_SOURCES): Removed lib/datetime.c
37586 * conf/i386-efi.rmk: likewise
7dd4a573 37587 * conf/i386-ieee1275.rmk: likewise
05aaebfb 37588 * conf/i386-pc.rmk: likewise
37589 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37590 * conf/sparc64-ieee1275.rmk: likewise
37591 * conf/x86_64-efi.rmk: likewise
05aaebfb 37592
8a7e1a14 375932009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37594
37595 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 37596
37597 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 37598 on grub_fat_find_dir
37599 (grub_fat_find_dir): use grub_fat_iterate_dir
37600 (grub_fat_label): likewise
37601
04186a9c 376022009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37603
7dd4a573 37604 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 37605 and command.h
37606 remove extraneous kernel_elf_HEADERS
37607
da4c0bb6 376082009-04-04 Bean <bean123ch@gnail.com>
37609
37610 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37611
37612 * util/misc.c: Likewise.
37613
54ad9555 376142009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37615
37616 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37617 instead of grub_printf.
37618
7a6bf9f2 376192009-04-03 Robert Millan <rmh@aybabtu.com>
37620
37621 * loader/i386/linux.c (grub_linux_setup_video): Fill
37622 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37623 values from `mode info' structure instead of hardcoded
37624 values.
37625
3fcc2083 376262009-04-01 Pavel Roskin <proski@gnu.org>
37627
37628 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37629 unused now.
37630 * genmk.rb: Likewise.
37631 * configure.ac: Likewise.
37632
5ec9740b 376332009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37634
37635 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37636 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37637
5270cec8 376382009-04-01 David S. Miller <davem@davemloft.net>
37639
37640 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 37641 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 37642 (grub_setjmp): Mark with 'returns_twice' attribute.
37643 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37644 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37645 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37646
9c3dd854 376472009-04-01 Robert Millan <rmh@aybabtu.com>
37648
37649 Reapply fix from 2008-07-28 which was accidentally reverted; also
37650 perform the same fix to a similar check in same function.
37651
37652 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37653 with the same number are found, just use issue a warning with
37654 grub_dprintf(), as this error has been reported to be non-fatal.
37655
0d818b7e 376562009-03-31 Pavel Roskin <proski@gnu.org>
37657
37658 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37659 for cross-compilation.
37660
95646d92 376612009-03-30 Robert Millan <rmh@aybabtu.com>
37662
37663 Fix i386-ieee1275 build.
37664
37665 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37666 Remove declaration.
37667
6a003ed1 376682009-03-30 Pavel Roskin <proski@gnu.org>
37669
37670 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37671 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37672 zero-terminated, rely only on the strlen value. Fix comparison
37673 of strings differing in length.
37674
92f33540 376752009-03-30 Robert Millan <rmh@aybabtu.com>
37676
37677 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37678 checking for abi version. Improve error messages on BIOS to notify
37679 user about `linux16' command.
37680
a8c48fd5 376812009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37682
f968172e 37683 Leak fixes
a8c48fd5 37684
f968172e 37685 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37686 in case of collision
37687 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 37688
9c323f09 376892009-03-29 Robert Millan <rmh@aybabtu.com>
37690
37691 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
37692 set `vid_mode' accordingly.
37693 (grub_linux_boot): Process `vid_mode' and set video mode.
37694
ae68f423 376952009-03-29 Robert Millan <rmh@aybabtu.com>
37696
37697 * util/grub.d/10_linux.in (linux_entry): New function.
37698 Factorize generation of Linux boot entries.
37699
5709cfc4 377002009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
37701
37702 Make the format of Environment Block plain text. The boot loader
37703 part is not tested well yet.
7dd4a573 37704
5709cfc4 37705 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
37706 (buffer): Removed.
37707 (envblk): Likewise.
37708 (usage): Remove "info" and "clear". Add "unset". Update the
37709 description of "set", as this does not delete variables any
37710 longer.
37711 (create_envblk_file): Complete rewrite.
37712 (open_envblk_file): Likewise.
37713 (cmd_info): Removed.
37714 (cmd_list): Likewise.
37715 (cmd_set): Likewise.
37716 (cmd_clear): Likewise.
37717 (list_variables): New function.
37718 (write_envblk): Likewise.
37719 (set_variables): Likewise.
37720 (unset_variables): Likewise.
37721 (main): Complete rewrite.
37722
37723 * commands/loadenv.c (buffer): Removed.
37724 (envblk): Likewise.
37725 (open_envblk_file): New function.
37726 (read_envblk_file): Complete rewrite.
37727 (grub_cmd_load_env): Likewise.
37728 (grub_cmd_list_env): Likewise.
37729 (struct blocklist): New struct.
37730 (free_blocklists): New function.
37731 (check_blocklists): Likewise.
37732 (write_blocklists): Likewise.
37733 (grub_cmd_save_env): Complete rewrite.
37734
37735 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
37736 a plain text signature.
37737 (GRUB_ENVBLK_MAXLEN): Removed.
37738 (struct grub_envblk): Complete rewrite.
37739 (grub_envblk_find): Removed.
37740 (grub_envblk_insert): Likewise.
37741 (grub_envblk_open): New prototype.
37742 (grub_envblk_set): Likewise.
37743 (grub_envblk_delete): Put const to VALUE.
37744 (grub_envblk_iterate): Put const to NAME and VALUE.
37745 (grub_envblk_close): New prototype.
37746 (grub_envblk_buffer): New inline function.
37747 (grub_envblk_size): Likewise.
37748
37749 * lib/envblk.c: Include grub/mm.h.
37750 (grub_env_find): Removed.
37751 (grub_envblk_open): New function.
37752 (grub_envblk_close): Likewise.
37753 (escaped_value_len): Likewise.
37754 (find_next_line): Likewise.
37755 (grub_envblk_insert): Removed.
37756 (grub_envblk_set): New function.
37757 (grub_envblk_delete): Complete rewrite.
37758 (grub_envblk_iterate): Likewise.
37759
a9368fd3 377602009-03-28 Robert Millan <rmh@aybabtu.com>
37761
37762 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
37763 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
37764 variables. Use 16-bit loader.
37765 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
37766 loader.
37767 * kern/i386/loader.S (grub_linux_boot): Rename to ...
37768 (grub_linux16_boot): ... this. Update all users.
37769 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
37770 (grub_linux_boot): ... this. Update all users.
37771
37772 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
37773 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
37774 commands to `linux16' and `initrd16'.
37775 (GRUB_MOD_FINI(linux)): Rename to ...
37776 (GRUB_MOD_FINI(linux16)): ... this.
37777
e4dd5a7e 377782009-03-24 Pavel Roskin <proski@gnu.org>
37779
37780 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
37781 not just for compilation.
37782
c04d6e05 377832009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
37784
37785 Move multiboot helper out of kernel
37786
37787 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
37788 `loader/i386/multiboot_helper.S'.
37789 * conf/i386-coreboot.rmk: Likewise
37790 * conf/i386-ieee1275.rmk: Likewise
37791
37792 * kern/i386/loader.S: Move multiboot helpers from here...
37793 * loader/i386/multiboot_helper.S: ...moved here
37794 * include/grub/i386/loader.h: Move declarations of multiboot
37795 helpers from here...
37796 * include/grub/i386/multiboot.h: ...moved here
37797 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
37798
42a5b3fc 377992009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37800
37801 * kern/env.c (grub_env_context_open): Added an argument to specify
37802 whether a new context inherits exported variables from current
37803 one. This is useful when making a sandbox to interpret a config
37804 file.
37805 All callers updated.
37806
37807 * include/grub/env.h (grub_env_context_open): Updated the prototype.
37808
b28bbc4e 378092009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37810
37811 * kern/env.c (grub_env_context_close): Fix memory leaks.
37812
f04f02e4 378132009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37814
37815 * normal/main.c (grub_normal_execute): Added an argument
37816 BATCH to specify if an interactive interface should be provided
37817 after reading a config file.
37818 All callers updated.
37819 (read_command_list): Prevent being executed twice.
37820 (read_fs_list): Likewise.
37821
42a5b3fc 37822 * include/grub/normal.h (grub_normal_execute): Updated the
37823 prototype.
f04f02e4 37824
41473ac2 378252009-03-22 Pavel Roskin <proski@gno.org>
37826
fbc00b0c 37827 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
37828 _start.
37829 * kern/i386/pc/startup.S: Likewise.
37830 * kern/i386/efi/startup.S: Likewise.
37831 * kern/i386/ieee1275/startup.S: Likewise.
37832 * kern/i386/coreboot/startup.S: Likewise.
37833 * kern/x86_64/efi/startup.S: Likewise.
37834
41473ac2 37835 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
37836 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
37837 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
37838
2274cc8f 378392009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
37840
37841 Bugfixes in multiboot for bugs uncovered by solaris kernel.
37842
37843 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
37844 limit detection.
37845 Use vaddr of correct segment for entry_point.
37846
b1b797cb 378472009-03-21 Bean <bean123ch@gmail.com>
37848
37849 * commands/blocklist.c: Add include file <grub/command.h>, remove
37850 <grub/normal.h> and <grub/arg.h>.
37851 (grub_cmd_blocklist): Use the new command interface.
37852 (GRUB_MOD_INIT): Likewise.
37853 (GRUB_MOD_FINI): Likewise.
37854 * commands/boot.c: Likewise.
37855 * commands/cat.c: Likewise.
37856 * commands/cmp.c: Likewise.
37857 * commands/configfile.c: Likewise.
37858 * commands/crc.c: Likewise.
37859 * commands/echo.c: Likewise.
37860 * commands/halt.c: Likewise.
37861 * commands/handler.c: Likewise.
37862 * commands/hdparm.c: Likewise.
37863 * commands/help.c: Likewise.
37864 * commands/hexdump.c: Likewise.
37865 * commands/loadenv.c: Likewise.
37866 * commands/ls.c: Likewise.
37867 * commands/lsmmap.c: Likewise.
37868 * commands/lspci.c: Likewise.
37869 * commands/loadenv.c: Likewise.
37870 * commands/read.c: Likewise.
37871 * commands/reboot.c: Likewise.
37872 * commands/search.c: Likewise.
37873 * commands/sleep.c: Likewise.
37874 * commands/test.c: Likewise.
37875 * commands/usbtest.c: Likewise.
37876 * commands/videotest.c: Likewise.
37877 * commands/i386/cpuid.c: Likewise.
37878 * commands/i386/pc/halt.c: Likewise.
37879 * commands/i386/pc/play.c: Likewise.
37880 * commands/i386/pc/pxecmd.c: Likewise.
37881 * commands/i386/pc/vbeinfo.c: Likewise.
37882 * commands/i386/pc/vbetest.c: Likewise.
37883 * commands/ieee1275/suspend.c: Likewise.
37884 * disk/loopback.c: Likewise.
37885 * font/font_cmd.c: Likewise.
37886 * hello/hello.c: Likewise.
37887 * loader/efi/appleloader.c: Likewise.
37888 * loader/efi/chainloader.c: Likewise.
37889 * loader/i386/bsd.c: Likewise.
37890 * loader/i386/efi/linux.c: Likewise.
37891 * loader/i386/ieee1275/linux.c: Likewise.
37892 * loader/i386/linux.c: Likewise.
37893 * loader/i386/pc/chainloader.c: Likewise.
37894 * loader/i386/pc/linux.c: Likewise.
37895 * loader/powerpc/ieee1275/linux.c: Likewise.
37896 * loader/multiboot_loader.c: Likewise.
37897 * term/gfxterm.c: Likewise.
37898 * term/i386/pc/serial.c: Likewise.
37899 * term/terminfo.c: Likewise.
37900
37901 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
37902 * term/i386/pc/vga.c: Likewise.
37903 * video/readers/jpeg.c: Likewise.
37904 * video/readers/png.c: Likewise.
37905 * video/readers/tga.c: Likewise.
37906
37907 * util/grub-fstest (cmd_loopback): Removed.
37908 (cmd_blocklist): Likewise.
37909 (cmd_ls): Likewise.
37910 (grub_register_command): Likewise.
37911 (grub_unregister_command): Likewise.
37912 (execute_command): Use grub_command_find to locate command and execute
37913 it.
37914
37915 * include/grub/efi/chainloader.h: Removed.
37916 * loader/efi/chainloader_normal.c: Likewise.
37917 * loader/i386/bsd_normal.c: Likewise.
37918 * loader/i386/pc/chainloader_normal.c: Likewise.
37919 * loader/i386/pc/multiboot_normal.c: Likewise.
37920 * loader/linux_normal.c: Likewise.
37921 * loader/multiboot_loader_normal.c: Likewise.
37922 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37923
37924 * gencmdlist.sh: Scan new registration command grub_register_extcmd
37925 and grub_register_command_p1.
37926
37927 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
37928 kern/command.c, lib/arg.c and commands/extcmd.c.
37929 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
37930 (minicmd_mod_SOURCES): New variable.
37931 (minicmd_mod_CFLAGS): Likewise.
37932 (minicmd_mod_LDFLAGS): Likewise.
37933 (extcmd_mod_SOURCES): Likewise.
37934 (extcmd_mod_CFLAGS): Likewise.
37935 (extcmd_mod_LDFLAGS): Likewise.
37936 (boot_mod_SOURCES): Removed.
37937 (boot_mod_CFLAGS): Likewise.
37938 (boot_mod_LDFLAGS): Likewise.
37939
37940 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
37941 kern/corecmd.c.
37942 (kernel_img_HEADERS): Add command.h.
37943 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
37944 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
37945 and lib/arg.c.
37946 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
37947 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
37948 remove the corresponding normal mode command.
37949 (normal_mod_SOURCES): Remove normal/arg.c.
37950 * conf/i386-coreboot.rmk: Likewise.
37951 * conf/i386-efi.rmk: Likewise.
37952 * conf/i386-ieee1275.rmk: Likewise.
37953 * conf/powerpc-ieee1275.rmk: Likewise.
37954 * conf/x86_64-efi.rmk: Likewise.
37955
37956 * include/grub/arg.h: Move from here ...
37957 * include/grub/lib/arg.h: ... to here.
37958
37959 * normal/arg.c: Move from here ...
37960 * lib/arg.c: ... to here.
37961
37962 * commands/extcmd.c: New file.
37963 * commands/minicmd.c: Likewise.
37964 * include/grub/command.h: Likewise.
37965 * include/grub/extcmd.h: Likewise.
37966 * kern/command.c: Likewise.
37967 * kern/corecmd.c: Likewise.
37968
37969 * kern/list.c (grub_list_iterate): Return int instead of void.
37970 (grub_list_insert): New function.
37971 (grub_prio_list_insert): Likewise.
37972
37973 * kern/rescue.c (grub_rescue_command): Removed.
37974 (grub_rescue_command_list): Likewise.
37975 (grub_rescue_register_command): Likewise.
37976 (grub_rescue_unregister_command): Likewise.
37977 (grub_rescue_cmd_boot): Move to minicmd.c
37978 (grub_rescue_cmd_help): Likewise.
37979 (grub_rescue_cmd_info): Likewise.
37980 (grub_rescue_cmd_boot): Likewise.
37981 (grub_rescue_cmd_testload): Likewise.
37982 (grub_rescue_cmd_dump): Likewise.
37983 (grub_rescue_cmd_rmmod): Likewise.
37984 (grub_rescue_cmd_lsmod): Likewise.
37985 (grub_rescue_cmd_exit): Likewise.
37986 (grub_rescue_print_devices): Moved to corecmd.c.
37987 (grub_rescue_print_files): Likewise.
37988 (grub_rescue_cmd_ls): Likewise.
37989 (grub_rescue_cmd_insmod): Likewise.
37990 (grub_rescue_cmd_set): Likewise.
37991 (grub_rescue_cmd_unset): Likewise.
7d074e3c 37992 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 37993 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 37994 commands, remove grub_rescue_register_command calls.
b1b797cb 37995
7d074e3c 37996 * normal/command.c (grub_register_command): Removed.
b1b797cb 37997 (grub_unregister_command): Likewise.
37998 (grub_command_find): Likewise.
37999 (grub_iterate_commands): Likewise.
38000 (rescue_command): Likewise.
38001 (export_command): Moved to corecmd.c.
38002 (set_command): Removed.
38003 (unset_command): Likewise.
38004 (insmod_command): Likewise.
38005 (rmmod_command): Likewise.
38006 (lsmod_command): Likewise.
38007 (grub_command_init): Likewise.
38008
38009 * normal/completion.c (iterate_command): Use cmd->prio to check for
38010 active command.
38011 (complete_arguments): Use grub_extcmd_t structure to find options.
38012 (grub_normal_do_completion): Change function grub_iterate_commands to
38013 grub_command_iterate.
38014
38015 * normal/execute.c (grub_script_execute_cmd): No need to parse
38016 argument here.
38017
38018 * normal/main.c (grub_dyncmd_dispatcher): New function.
38019 (read_command_list): Register unload commands as dyncmd.
38020 (grub_cmd_normal): Use new command interface, register rescue,
38021 unregister normal at entry, register normal, unregister rescue at exit.
38022
38023 * include/grub/list.h (grub_list_test_t): New type.
38024 (grub_list_iterate): Return int instead of void.
38025 (grub_list_insert): New function.
38026 (GRUB_AS_NAMED_LIST_P): New macro.
38027 (GRUB_AS_PRIO_LIST): Likewise.
38028 (GRUB_AS_PRIO_LIST_P): Likewise.
38029 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38030 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38031 (grub_prio_list): New structure.
38032 (grub_prio_list_insert): New function.
38033 (grub_prio_list_remove): New inline function.
38034
38035 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38036 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38037 (GRUB_COMMAND_FLAG_MENU): Likewise.
38038 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38039 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38040 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38041 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38042 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38043 (grub_command): Likewise.
38044 (grub_register_command): Likewise.
38045 (grub_command_find): Likewise.
38046 (grub_iterate_commands): Likewise.
38047 (grub_command_init): Likewise.
38048 (grub_arg_parse): Likewise.
38049 (grub_arg_show_help): Likewise.
38050
38051 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38052 (grub_rescue_unregister_command): Likewise.
38053
38054 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38055 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38056 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38057
38058 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38059 grub_rescue_cmd_initrd.
38060 * include/grub/i386/loader.h: Likewise.
38061 * include/grub/x86_64/loader.h: Likewise.
38062
38063 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38064
1f4147aa 380652009-03-21 Bean <bean123ch@gmail.com>
38066
38067 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38068 instead of stat in mingw environment.
38069
38070 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38071
38072 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38073
38074 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38075 AC_CONFIG_LINKS.
38076
2156d5ba 380772009-03-21 Bean <bean123ch@gmail.com>
38078
38079 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38080 out of range error.
38081
177b82ca 380822009-03-18 Michel Dänzer <michel@daenzer.net>
38083
38084 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38085 checking inode flags for EXT4_EXTENTS_FLAG.
38086
14aad807 380872009-03-18 Robert Millan <rmh@aybabtu.com>
38088
38089 * loader/i386/linux.c: Include `<grub/video.h>' and
38090 `<grub/i386/pc/vbe.h>'..
38091 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38092 (grub_linux32_boot): Attempt to configure video settings with
38093 grub_linux_setup_video().
38094 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38095 to avoid grub_console_fini() which would step out of graphical mode
38096 unconditionally.
38097
8cf83a27 380982009-03-14 Robert Millan <rmh@aybabtu.com>
38099
38100 Fix build on powerpc.
38101 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38102
40164e75 381032009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38104
38105 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38106 background image command.
38107
c58bc32a 381082009-03-12 Colin D Bennett <colin@gibibit.com>
38109
38110 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38111 (grub_gfxterm_putchar): Extract pairs of identical calls to
38112 draw_cursor out of conditional blocks.
38113
5415144a 381142009-03-11 Pavel Roskin <proski@gnu.org>
38115
38116 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38117 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38118
6394042e 381192009-03-11 Robert Millan <rmh@aybabtu.com>
38120
38121 * loader/i386/multiboot_elfxx.c
38122 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38123
b7b50e5f 381242009-03-11 Felix Zielcke <fzielcke@z-51.de>
38125
38126 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38127 `kern/handler.c'.
38128
1ca7fc96 381292009-03-11 Robert Millan <rmh@aybabtu.com>
38130
38131 * loader/i386/multiboot.c (code_size): New variable.
38132 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38133 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38134 4-byte alignment to MBI and others by increasing
7d074e3c 38135 `boot_loader_name_length' appropriately.
1ca7fc96 38136
38137 * loader/i386/multiboot_elfxx.c
38138 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38139
a83ea1d2 381402009-03-09 Felix Zielcke <fzielcke@z-51.de>
38141
38142 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38143 `fs/ext2.c'.
38144
aa9f3bff 381452009-03-08 Robert Millan <rmh@aybabtu.com>
38146
38147 Make loader/i386/linux.c usable on i386-pc again.
38148
38149 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38150 memory to heap.
38151 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38152 `#error' stanza.
38153
d8b3b60e 381542009-03-07 Bean <bean123ch@gmail.com>
38155
38156 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38157 allocation.
38158
b362c9e9 381592009-03-06 Robert Millan <rmh@aybabtu.com>
38160
38161 Fix display issue on terminals with screen size other than 80x25
38162 (e.g. gfxterm with resolution higher than 640x480).
38163
38164 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38165 position relative to the center of the terminal instead of relying
b362c9e9 38166 on a hardcoded offset.
38167
9304eef1 381682009-03-04 Robert Millan <rmh@aybabtu.com>
38169
38170 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38171 installed.
38172
38173 * Makefile.in (host_kernel): New variable.
38174 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38175 scripts instead of just the windows one.
38176 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38177
eabc95fb 381782009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38179
38180 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38181 `kern/handler.c'.
38182 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38183 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38184 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38186 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38187 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38188
ceb1223c 381892009-03-04 Felix Zielcke <fzielcke@z-51.de>
38190
38191 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38192 or if there's no space for the disk label and print the partition number on a
38193 invalid magic.
38194
4910684a 381952009-03-04 Felix Zielcke <fzielcke@z-51.de>
38196
38197 * util/misc.c: Include <time.h>.
38198 (grub_millisleep): New function.
38199
7e9ca17a 382002009-03-04 Bean <bean123ch@gmail.com>
38201
38202 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38203 another option -mno-red-zone.
38204
38205 * commands/handler.c: Change module description.
38206
38207 * kern/handler.c: Add missing space at the end of description line.
38208
38209 * kern/list.c: Likewise.
38210
f501677c 382112009-03-03 Robert Millan <rmh@aybabtu.com>
38212
38213 Move more components to the relocation area, and fix mbi pointer
38214 handling to use the destination rather than the origin (thanks to
38215 Vladimir Serbinenko for spotting).
38216
38217 * loader/i386/multiboot.c (mbi_dest): New variable.
38218 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38219 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38220 relocation area.
38221
9902d047 382222009-03-01 Bean <bean123ch@gmail.com>
38223
50fb7002 38224 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38225 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38226 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38227 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38228
38229 * loader/i386/efi/linux.c (acpi_guid): New variable.
38230 (acpi_guid): Likewise.
38231 (EBDA_SEG_ADDR): New constant.
38232 (LOW_MEM_ADDR): Likewise.
38233 (FAKE_EBDA_SEG): Likewise.
38234 (fake_bios_data): New function.
38235 (grub_linux_boot): Call fake_bios_data.
38236
71b9f361 382372009-03-01 Bean <bean123ch@gmail.com>
38238
38239 * commands/terminal.c: Removed.
38240
38241 * commands/handler.c: New file.
38242
38243 * include/grub/list.h: Likewise.
38244
38245 * include/grub/handler.h: Likewise.
38246
38247 * kern/list.c: Likewise.
38248
38249 * kern/handler.c: Likewise.
38250
38251 * kern/term.h: Include header file <grub/handler.h>.
38252 (grub_term_input): Move next field to the beginning.
38253 (grub_term_output): Likewise.
38254 (grub_term_input_class): New variable.
38255 (grub_term_output_class): Likewise.
38256 (grub_term_register_input): Changed to inline function.
38257 (grub_term_register_output): Likewise.
38258 (grub_term_unregister_input): Likewise.
38259 (grub_term_unregister_output): Likewise.
38260 (grub_term_set_current_input): Likewise.
38261 (grub_term_set_current_output): Likewise.
38262 (grub_term_get_current_input): Likewise.
38263 (grub_term_get_current_output): Likewise.
38264 (grub_term_iterate_input): Removed.
38265 (grub_term_iterate_output): Likewise.
38266
38267 * kern/term.c (grub_term_list_input): Removed.
38268 (grub_term_list_output): Likewise.
38269 (grub_term_input_class): New variable.
38270 (grub_term_output_class): Likewise.
50fb7002 38271 (grub_cur_term_input): Change variable as macro.
71b9f361 38272 (grub_cur_term_output): Likewise.
38273 (grub_term_register_input): Removed.
38274 (grub_term_register_output): Likewise.
38275 (grub_term_unregister_input): Likewise.
38276 (grub_term_unregister_output): Likewise.
38277 (grub_term_set_current_input): Likewise.
38278 (grub_term_set_current_output): Likewise.
38279 (grub_term_iterate_input): Likewise.
38280 (grub_term_iterate_output): Likewise.
38281 (grub_term_get_current_input): Likewise.
38282 (grub_term_get_current_output): Likewise.
38283
38284 * util/grub-editenv.c: Include header file <grub/handler.h>.
38285 (grub_term_get_current_input): Removed.
38286 (grub_term_get_current_output): Likewise.
38287 (grub_term_input_class): New variable.
50fb7002 38288 (grub_term_output_class): Likewise.
71b9f361 38289
38290 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38291 (grub_term_get_current_output): Likewise.
38292 (grub_term_input_class): New variable.
50fb7002 38293 (grub_term_output_class): Likewise.
71b9f361 38294
38295 * util/grub-probe.c (grub_term_get_current_input): Removed.
38296 (grub_term_get_current_output): Likewise.
38297 (grub_term_input_class): New variable.
50fb7002 38298 (grub_term_output_class): Likewise.
71b9f361 38299
38300 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38301 (grub_term_get_current_output): Likewise.
38302 (grub_term_input_class): New variable.
50fb7002 38303 (grub_term_output_class): Likewise.
71b9f361 38304
38305 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38306 (terminal_mod_SOURCES): Likewise.
38307 (terminal_mod_CFLAGS): Likewise.
38308 (terminal_mod_LDFLAGS): Likewise.
38309
38310 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38311 handler.c.
38312 (kernel_img_SOURCES): Add list.c and handler.c.
38313 (kernel_img_HEADERS): Add list.h and handler.h.
38314
38315 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38316 handler.c.
38317 (kernel_mod_SOURCES): Add list.c and handler.c.
38318 (kernel_mod_HEADERS): Add list.h and handler.h.
38319
38320 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38321 handler.c.
38322 (kernel_elf_SOURCES): Add list.c and handler.c.
38323 (kernel_elf_HEADERS): Add list.h and handler.h.
38324
38325 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38326 handler.c.
38327 (kernel_elf_SOURCES): Add list.c and handler.c.
38328 (kernel_elf_HEADERS): Add list.h and handler.h.
38329
38330 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38331 handler.c.
38332 (kernel_mod_SOURCES): Add list.c and handler.c.
38333 (kernel_mod_HEADERS): Add list.h and handler.h.
38334
38335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38336 handler.c.
38337 (kernel_elf_SOURCES): Add list.c and handler.c.
38338 (kernel_elf_HEADERS): Add list.h and handler.h.
38339
8a31787f 383402009-02-27 Robert Millan <rmh@aybabtu.com>
38341
38342 Factorize elf32 / elf64 code in Multiboot loader. This will
38343 prevent it from getting out of sync again.
38344
38345 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38346 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38347 grub_multiboot_load_elf64): Move from here ...
38348 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38349 grub_multiboot_load_elf): ... to here (new file).
38350
51cd3dfc 383512009-02-27 Robert Millan <rmh@aybabtu.com>
38352
38353 * util/grub.d/10_linux.in: Rename "single-user mode" to
38354 "recovery mode".
38355
6e8c9c3a 383562009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38357
38358 Don't leak in SCSI code.
38359 * disk/scsi.c (grub_scsi_close): free `scsi'.
38360
4b6bf4f9 383612009-02-27 Robert Millan <rmh@aybabtu.com>
38362
38363 * loader/i386/pc/multiboot.c: Move from here ...
38364 * loader/i386/multiboot.c: ... to here. Update all users.
38365
b9413424 383662009-02-27 Robert Millan <rmh@aybabtu.com>
38367
38368 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38369 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38370
50fb7002 383712009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38372
38373 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38374 b-tree.
38375
8cc50345 383762009-02-27 Robert Millan <rmh@aybabtu.com>
38377
38378 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38379 `0x' qualifier as 0 when base is specified as parameter).
38380
6e09b8b7 383812009-02-24 Bean <bean123ch@gmail.com>
38382
38383 * configure.ac: Check for -mcmodel=large in x86_64 target.
38384
38385 * include/grub/efi/api.h (efi_call_10): New macro.
38386 (efi_wrap_10): New function.
38387
38388 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38389 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38390 (GRUB_PE32_REL_BASED_LOW): Likewise.
38391 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38392 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38393 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38394 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38395 (GRUB_PE32_REL_BASED_REL): Likewise.
38396 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38397 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38398 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38399
38400 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38401 issue.
38402
38403 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38404 (efi_wrap_10): New function.
38405
38406 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38407
38408 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38409 MB/MBP model (NV chipset).
38410 (devdata_devs): Add devpath_5 to the list.
38411
38412 * load/i386/efi/linux.c (video_base): Remove variable.
38413 (RGB_MASK): New macro.
38414 (RGB_MAGIC): Likewise.
38415 (LINE_MIN): Likewise.
38416 (LINE_MAX): Likewise.
38417 (FBTEST_STEP): Likewise.
38418 (FBTEST_COUNT): Likewise.
38419 (fb_list): New variable.
38420 (grub_find_video_card): Remove function.
38421 (find_framebuf): New function.
38422 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38423 line length.
38424
38425 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38426 problem for x86_64.
38427
74b21bee 384282009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38429
38430 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38431
38432 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38433 coding tool name.
38434
a455f472 384352009-02-22 Robert Millan <rmh@aybabtu.com>
38436
38437 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38438 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38439 in our relocation, instead of using it directly from heap. Also
38440 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38441
6374daf3 384422009-02-21 Robert Millan <rmh@aybabtu.com>
38443
38444 Implement USB keyboard support (based on patch by Marco Gerards)
38445
38446 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38447 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38448 (usb_keyboard_mod_LDFLAGS): New variables.
38449
38450 * term/usb_keyboard.c: New file.
38451
8fa4ea70 384522009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38453
38454 Corrected wrong declaration
38455
38456 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38457
353976ac 384582009-02-14 Christian Franke <franke@computer.org>
38459
38460 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38461 (grub_lspci_iter): Print class code and programming interface byte.
38462
6aa1169b 384632009-02-14 Christian Franke <franke@computer.org>
38464
38465 * gendistlist.sh: Ignore `.svn' directories.
38466
265372ca 384672009-02-14 Felix Zielcke <fzielcke@z-51.de>
38468
38469 * fs/fat.c: Add 2009 to Copyright line.
38470
9ff516f3 384712009-02-14 Christian Franke <franke@computer.org>
38472
38473 * commands/hdparm.c: New file. Provides `hdparm' command
38474 which sends ATA commands via grub_disk_ata_pass_through ().
38475
38476 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38477
38478 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38479 and <grub/cpu/io.h> to include/grub/ata.h.
38480 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38481 (GRUB_CDROM_SECTOR_SIZE): Remove.
38482 (GRUB_ATA_*): Move to include/grub/ata.h.
38483 (GRUB_ATAPI_*): Likewise.
38484 (enum grub_ata_commands): Likewise.
38485 (enum grub_ata_timeout_milliseconds): Likewise.
38486 (struct grub_ata_device): Likewise.
38487 (grub_ata_regset): Likewise.
38488 (grub_ata_regget): Likewise.
38489 (grub_ata_regset2): Likewise.
38490 (grub_ata_regget2): Likewise.
38491 (grub_ata_check_ready): Likewise.
38492 (grub_ata_wait_not_busy): Remove static, exported in
38493 include/grub/ata.h.
38494 (grub_ata_wait_drq): Likewise.
38495 (grub_ata_pio_read): Likewise.
38496
38497 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38498 function for hdparm.mod.
38499
38500 * include/grub/ata.h: New file, contains declarations from
38501 disk/ata.c.
38502 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38503
38504 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38505 (grub_disk_ata_pass_through): New exported variable.
38506
38507 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38508
772e23da 385092009-02-13 Colin D Bennett <colin@gibibit.com>
38510
38511 Support multiple fallback entries, and provide an API to support
38512 executing default+fallback menu entries. Renamed the `terminal' menu
38513 viewer to `text'.
38514
38515 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38516 variable declaration.
38517 (grub_menu_execute_callback): New structure declaration.
38518 (grub_menu_execute_callback_t): New typedef.
38519 (grub_menu_execute_with_fallback): New function declaration.
38520 (grub_menu_get_entry): Likewise.
38521 (grub_menu_get_timeout): Likewise.
38522 (grub_menu_set_timeout): Likewise.
38523
38524 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38525
38526 * normal/menu.c (grub_wait_after_message): Moved to
38527 `normal/menu_text.c'.
38528 (draw_border): Likewise.
38529 (print_message): Likewise.
38530 (print_entry): Likewise.
38531 (print_entries): Likewise.
38532 (grub_menu_init_page): Likewise.
38533 (get_entry_number): Likewise.
38534 (print_timeout): Likewise.
38535 (run_menu): Likewise.
38536 (grub_menu_execute_entry): Likewise.
38537 (show_text_menu): Likewise.
38538 (get_and_remove_first_entry_number): New function.
38539 (grub_menu_execute_with_fallback): Likewise.
38540 (get_entry): Renamed to ...
38541 (grub_menu_get_entry): .. this and made it global.
38542 (get_timeout): Renamed to ...
38543 (grub_menu_get_timeout): ... this and made it global.
38544 (set_timeout): Renamed to ...
38545 (grub_menu_set_timeout): ... this and made it global.
38546 (grub_normal_terminal_menu_viewer): Renamed to ...
38547 (grub_normal_text_menu_viewer): ... this.
38548
38549 * normal/menu_text.c: New file. Extracted text-menu-specific code
38550 from normal/menu.c.
38551
38552 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38553 (normal_mod_SOURCES): Likewise.
38554
38555 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38556 (normal_mod_SOURCES): Likewise.
38557
38558 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38559 (normal_mod_SOURCES): Likewise.
38560
38561 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38562 (normal_mod_SOURCES): Likewise.
38563
38564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38565 (normal_mod_SOURCES): Likewise.
38566
38567 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38568 (normal_mod_SOURCES): Likewise.
38569
38570 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38571 (normal_mod_SOURCES): Likewise.
38572
16ac430e 385732009-02-11 Robert Millan <rmh@aybabtu.com>
38574
38575 * util/grub.d/00_header.in: Update old reference to `font' command.
38576
06ff20fc 385772009-02-10 Felix Zielcke <fzielcke@z-51.de>
38578
38579 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38580
38581 Based on patch from Javier Martín.
38582
96da9407 385832009-02-09 Felix Zielcke <fzielcke@z-51.de>
38584
38585 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 38586 to avoid false positives with FAT.
96da9407 38587 (grub_fstest_SOURCES): Likewise.
38588 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38589 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38591 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38592 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38593 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38594
6dca6fe4 385952009-02-09 Felix Zielcke <fzielcke@z-51.de>
38596
06ff20fc 38597 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 38598 bpb.version_specific.fat12_or_fat16.fstype and
38599 bpb.version_specific.fat32.fstype.
38600
2550c62f 386012009-02-08 Robert Millan <rmh@aybabtu.com>
38602
be110b30 38603 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 38604
56978920 386052009-02-08 Robert Millan <rmh@aybabtu.com>
38606
38607 * Makefile.in (host_os, host_cpu): New variables.
38608 (target_os): Remove. Update all users.
38609
d64399b5 386102009-02-08 Marco Gerards <marco@gnu.org>
38611
38612 * Makefile.in (enable_grub_emu_usb): New variable.
38613 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38614 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38615 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38616 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38617 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38618 `usbtest.mod' and `usbms.mod'.
38619 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38620 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38621 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38622 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38623 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38624 variables.
38625
38626 * disk/usbms.c: New file.
38627
38628 * include/grub/usb.h: Likewise.
38629
38630 * include/grub/usbtrans.h: Likewise.
38631
38632 * include/grub/usbdesc.h: Likewise.
38633
38634 * bus/usb/usbtrans.c: Likewise.
38635
38636 * bus/usb/ohci.c: Likewise.
38637
38638 * bus/usb/uhci.c: Likewise.
38639
38640 * bus/usb/usbhub.c: Likewise.
38641
38642 * bus/usb/usb.c: Likewise.
38643
38644 * commands/usbtest.c: Likewise.
38645
38646 * util/usb.c: Likewise.
50fb7002 38647
d64399b5 38648 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38649
38650 * configure.ac: Test for libusb presence.
50fb7002 38651
d64399b5 38652 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38653
2b40d6bb 386542009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38655
38656 * kern/mm.c: Add more comments.
38657
73a4ce81 386582009-02-08 Robert Millan <rmh@aybabtu.com>
38659
38660 Patch from Javier Martín.
38661 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38662 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38663
f821ce59 386642009-02-08 Robert Millan <rmh@aybabtu.com>
38665
38666 * fs/cpio.c: Split tar functionality to ...
38667 * fs/tar.c: ... here (new file). Update all users.
38668
aebfc4b0 386692009-02-07 Robert Millan <rmh@aybabtu.com>
38670
38671 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38672 backward-incompatible features.
38673
38674 Based on patch from Javier Martín, with some adjustments.
38675
50fb7002 386762009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 38677
38678 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38679
0bb5115e 386802009-02-07 Robert Millan <rmh@aybabtu.com>
38681
38682 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38683 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38684 after the RAID stuff.
38685
38a0f8e7 386862009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38687
50fb7002 38688 Fixes problem when running vbetest command as reported by
38a0f8e7 38689 Vladimir Serbinenko <phcoder@gmail.com>.
38690
38691 * (grub_vbe_set_video_mode): Fixed problem with text modes.
38692
3143cc1c 386932009-02-04 Felix Zielcke <fzielcke@z-51.de>
38694
38695 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
38696 /dev/md/NpN style mdraid devices.
38697
9cba6fce 386982009-02-03 Felix Zielcke <fzielcke@z-51.de>
38699
38700 * util/unifont2pff.rb: Remove.
38701
e507a2c1 387022009-02-03 Felix Zielcke <fzielcke@z-51.de>
38703
38704 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
38705 `#'.
38706
d2c2b4cd 387072009-02-03 Felix Zielcke <fzielcke@z-51.de>
38708
38709 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
38710 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38711 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38712 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38714 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38715 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38716
b4315fb0 387172009-02-02 Christian Franke <franke@computer.org>
38718
38719 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
38720
de3aa260 387212009-02-01 Felix Zielcke <fzielcke@z-51.de>
38722
7c3ff286 38723 * INSTALL: Note that we now require at least autoconf 2.59 and
38724 that LZO is optional.
de3aa260 38725
825a182b 387262009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38727
38728 Base on patch on bug #24154 created by Tomas Tintera
38729 <trosos@seznam.cz>.
38730
38731 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
38732
a69ef770 387332009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38734
7c3ff286 38735 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 38736 <bero@arklinux.org>.
38737
38738 * normal/parser.y (script_init): Add missing semicolon.
38739
6fa42fa6 387402009-01-31 Colin D Bennett <colin@gibibit.com>
38741
7c3ff286 38742 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 38743 (free_menu_entry_classes): Added.
38744 (grub_normal_menu_addentry): Added class property handling.
38745 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
38746 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
38747
38748 * normal/menu_viewer.c: New file.
38749
38750 * normal/menu.c (run_menu_entry): Renamed to ...
38751 (grub_menu_execute_entry): ... this and made it as global.
38752 (grub_menu_run): Renamed to ...
38753 (show_text_menu): ... this and made it local.
38754 (show_text_menu): Adapt to new function names.
38755 (grub_normal_terminal_menu_viewer): New global variable.
38756
38757 * include/grub/menu.h: New file.
38758
38759 * include/grub/menu_viewer.h: New file.
38760
38761 * include/grub/normal.h: Added include to grub/menu.h.
38762 (grub_menu_entry): Moved to include/grub/menu.h.
38763 (grub_menu_entry_t): Likewise.
38764 (grub_menu): Likewise.
38765 (grub_menu_t): Likewise.
38766 (grub_normal_terminal_menu_viewer): Added.
38767 (grub_menu_execute_entry): Likewise.
38768 (grub_menu_run): Removed.
38769
38770 * DISTLIST: Added include/grub/menu.h.
38771 Added include/grub/menu_viewer.h.
38772 Added normal/menu_viewer.c.
38773
387742009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
38775
38776 * normal/execute.c (grub_script_execute_menuentry): Changed to use
38777 arglist for menutitle arguments.
38778
38779 * normal/main.c (grub_normal_menu_addentry): Likewise.
38780
38781 * normal/parser.y (menuentry): Likewise.
38782
38783 * normal/script.c (grub_script_create_cmdmenu): Likewise.
38784
38785 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
38786 (grub_script_create_cmdmenu): Likewise.
38787
38788 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
38789
38790 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
38791 changes.
38792
38793 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
38794
38795 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
38796
38797 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
38798
38799 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38800
38801 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38802
38803 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38804
56192c23 388052009-01-30 Christian Franke <franke@computer.org>
38806
38807 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
38808 in option help text.
38809
d72521b3 388102009-01-27 Pavel Roskin <proski@gnu.org>
38811
38812 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
38813
994b5e84 388142009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38815
38816 * commands/lsmmap.c: Add include to grub/machine/memory.h.
38817
38818 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
38819
38820 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
38821 unregister function.
38822
6a7eab2c 388232009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38824
38825 * disk/scsi.c (grub_scsi_read): Fix sign problem.
38826
38827 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
38828
38829 * util/grub-mkfont.c (usage): Fix typo.
38830
38831 * util/elf/grub-mkimage.c (load_modules): Fix warning.
38832
1806b56e 388332009-01-26 Daniel Mierswa <impulze@impulze.org>
38834
3fb18f09 38835 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
38836
336e1fb9 38837 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
38838
1806b56e 38839 * kern/misc.c (grub_strcasecmp): New function.
38840 (grub_strcasecmp): Use grub_size_t instead of int for length.
38841 Fix return value.
38842 * include/grub/misc.h: Update function prototypes.
38843
580b2a0f 388442009-01-26 Robert Millan <rmh@aybabtu.com>
38845
38846 * configure.ac: Fix cross-compilation check.
ef257b36 38847
d31c24f1 388482009-01-22 Christian Franke <franke@computer.org>
38849
38850 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
38851 (precision) digit string. Allow `.format2' without `format1' (width).
38852 Limit input chars for `%s' output to `format2' if specified. This is
38853 compatible with standard printf ().
38854
3138b44c 388552009-01-22 Christian Franke <franke@computer.org>
38856
38857 * disk/ata.c (grub_ata_wait_status): Replace by ...
38858 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
38859 other status bits may be invalid while BSY is asserted.
38860 (grub_ata_check_ready): New function.
38861 (grub_ata_cmd): Removed.
38862 (grub_ata_wait_drq): New function.
38863 (grub_ata_strncpy): Remove inline.
38864 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
38865 and error check now done by grub_ata_wait_drq ().
38866 (grub_ata_pio_write): Likewise.
38867 (grub_atapi_identify): Set DEV before check for !BSY. Use
38868 grub_ata_wait_drq () to wait for data.
38869 (grub_ata_device_initialize): Add status register check to
38870 detect missing SATA slave devices. Add debug messages.
38871 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
38872 (grub_atapi_packet): Set DEV before check for !BSY. Replace
38873 transfer loop by grub_ata_pio_write ().
38874 (grub_ata_identify): Set DEV before check for !BSY. Use
38875 grub_ata_wait_drq () to wait for data.
ef257b36 38876 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 38877 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
38878 read/write in one loop. Fix invalid command on write. Fix incomplete
38879 command on (size % batch) == 0. Add missing error check after write of
38880 last block. Add debug messages.
38881 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
38882
59a64ef6 388832009-01-19 Christian Franke <franke@computer.org>
38884
38885 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
38886 (GRUB_ATAPI_IREASON_*): Likewise.
38887 (grub_ata_pio_write): Fix timeout error return.
38888 (grub_atapi_identify): Add grub_ata_wait () after cmd.
38889 (grub_atapi_wait_drq): New function.
38890 (grub_atapi_packet): New parameter `size'.
38891 Use grub_atapi_wait_drq () and direct write instead of
38892 grub_ata_pio_write ().
38893 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
38894 reads the number of bytes requested by the device for each DRQ
38895 assertion.
38896 (grub_atapi_write): Remove old implementation, return not
38897 implemented instead.
38898
1cfe20b3 388992009-01-19 Christian Franke <franke@computer.org>
38900
38901 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
38902 of 512 to calculate data size.
38903 (grub_scsi_read12): Likewise.
38904 (grub_scsi_write10): Likewise.
38905 (grub_scsi_write12): Likewise.
38906 (grub_scsi_read): Adjust size according to blocksize.
38907 Add checks for invalid blocksize and unaligned transfer.
38908
bee5fe5d 389092009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
38910
38911 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
38912
ef257b36 38913 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 38914 width glyphs.
38915
3e643f8c 389162009-01-19 Robert Millan <rmh@aybabtu.com>
38917
38918 * config.guess: Update to latest version from config git.
38919 * config.sub: Likewise.
38920
4fa80998 389212009-01-17 Felix Zielcke <fzielcke@z-51.de>
38922
38923 * Makefile.in: Change font compilation to use new grub-mkfont instead
38924 of java version.
38925
38926 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
38927 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
38928 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38929 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
38930 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
38931 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
38932 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
38933 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
38934 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
38935
7086085b 389362009-01-16 Christian Franke <franke@computer.org>
38937
38938 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
38939 (enum grub_ata_timeout_milliseconds): New enum.
38940 (grub_ata_wait_status): Add parameter milliseconds.
38941 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
38942 recovery from timed-out commands.
38943 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
38944 return grub_errno instead of REG_ERROR.
38945 (grub_ata_pio_write): Add parameter milliseconds.
38946 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
38947 Pass milliseconds to grub_ata_wait_status () and
38948 grub_ata_pio_read ().
38949 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
38950 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
38951 grub_ata_wait_status (). Fix IDENTIFY timeout check.
38952 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
38953 It is not suitable for device detection, because DEV bit is ignored,
38954 the command may run too long, and not all devices set the signature
38955 properly.
38956 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
38957 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
38958 Fix device selection, DEV bit must be set first to address the registers
38959 of the correct device.
38960 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
38961 grub_ata_pio_read/write ().
38962 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
38963 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
38964
4a412913 389652009-01-13 Carles Pina i Estany <carles@pina.cat>
38966
38967 * util/grub-editenv.c (main): Use fseeko(), not fseek().
38968
7795c55e 389692009-01-13 Bean <bean123ch@gmail.com>
d913988c 38970
38971 * util/grub-mkfont.c (write_font): forget to remove some debug code.
38972
7795c55e 389732009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 38974
38975 * Makefile.in: (enable_grub_mkfont): New variable.
38976 (freetype_cflags): Likewise.
38977 (freetype_libs): Likewise.
38978
38979 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
38980 (grub_mkfont_SOURCES): New variable.
38981 (grub_mkfont_CFLAGS): Likewise.
38982 (grub_mkfont_LDFLAGS): Likewise.
38983
38984 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
38985 library if `--enable-grub-mkfont' is requested.
38986 (enable_grub_mkfont): New variable.
38987 (freetype_cflags): Likewise.
38988 (freetype_libs): Likewise.
38989
38990 * util/grub-mkfont.c: New file.
38991
093af1fe 389922009-01-12 Christian Franke <franke@computer.org>
38993
38994 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
38995 mode check. Fix setting of compat_use[].
38996
f36cc108 389972009-01-10 Robert Millan <rmh@aybabtu.com>
38998
38999 Update a few copyright years which we forgot to do in 2008 (only for
39000 files whose changes made in 2008 were copyright-significant)
39001
39002 * Makefile.in: Add 2008 to Copyright line.
39003 * disk/ieee1275/ofdisk.c: Likewise.
39004 * disk/efi/efidisk.c: Likewise.
39005 * kern/dl.c: Likewise.
39006 * kern/sparc64/ieee1275/init.c: Likewise.
39007 * kern/mm.c: Likewise.
39008 * kern/efi/mm.c: Likewise.
39009 * boot/i386/pc/boot.S: Likewise.
39010 * genfslist.sh: Likewise.
39011 * fs/iso9660.c: Likewise.
39012 * fs/hfs.c: Likewise.
39013 * fs/jfs.c: Likewise.
39014 * fs/minix.c: Likewise.
39015 * fs/ufs.c: Likewise.
39016 * gensymlist.sh.in: Likewise.
39017 * genkernsyms.sh.in: Likewise.
39018 * include/grub/misc.h: Likewise.
39019 * include/grub/types.h: Likewise.
39020 * include/grub/symbol.h: Likewise.
39021 * include/grub/elf.h: Likewise.
39022 * include/grub/kernel.h: Likewise.
39023 * include/grub/disk.h: Likewise.
39024 * include/grub/dl.h: Likewise.
39025 * include/grub/i386/linux.h: Likewise.
39026 * include/grub/i386/pc/biosdisk.h: Likewise.
39027 * include/grub/efi/api.h: Likewise.
39028 * include/grub/efi/pe32.h: Likewise.
39029 * include/grub/util/misc.h: Likewise.
39030 * normal/execute.c: Likewise.
39031 * normal/arg.c: Likewise.
39032 * normal/completion.c: Likewise.
39033 * normal/lexer.c: Likewise.
39034 * normal/parser.y: Likewise.
39035 * normal/misc.c: Likewise.
39036 * commands/i386/pc/vbeinfo.c: Likewise.
39037 * commands/hexdump.c: Likewise.
39038 * commands/terminal.c: Likewise.
39039 * commands/ls.c: Likewise.
39040 * commands/help.c: Likewise.
39041 * partmap/pc.c: Likewise.
39042 * loader/efi/chainloader.c: Likewise.
39043 * loader/multiboot_loader.c: Likewise.
39044 * loader/i386/pc/multiboot2.c: Likewise.
39045 * term/efi/console.c: Likewise.
39046 * term/i386/pc/serial.c: Likewise.
39047 * util/lvm.c: Likewise.
39048 * util/console.c: Likewise.
39049 * util/i386/efi/grub-mkimage.c: Likewise.
39050 * util/raid.c: Likewise.
39051
7f02114b 390522009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39053
39054 * commands/videotest.c: Removed include to grub/machine/memory.h.
39055
39056 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39057 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39058 (video_mod_SOURCES): Removed.
39059 (video_mod_CFLAGS): Likewise.
39060 (video_mod_LDFLAGS): Likewise.
39061 (gfxterm_mod_SOURCES): Likewise.
39062 (gfxterm_mod_CFLAGS): Likewise.
39063 (gfxterm_mod_LDFLAGS): Likewise.
39064 (videotest_mod_SOURCES): Likewise.
39065 (videotest_mod_CFLAGS): Likewise.
39066 (videotest_mod_LDFLAGS): Likewise.
39067 (bitmap_mod_SOURCES): Likewise.
39068 (bitmap_mod_CFLAGS): Likewise.
39069 (bitmap_mod_LDFLAGS): Likewise.
39070 (tga_mod_SOURCES): Likewise.
39071 (tga_mod_CFLAGS): Likewise.
39072 (tga_mod_LDFLAGS): Likewise.
39073 (jpeg_mod_SOURCES): Likewise.
39074 (jpeg_mod_CFLAGS): Likewise.
39075 (jpeg_mod_LDFLAGS): Likewise.
39076 (png_mod_SOURCES): Likewise.
39077 (png_mod_CFLAGS): Likewise.
39078 (png_mod_LDFLAGS): Likewise.
39079
39080 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39081 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39082 (video_mod_SOURCES): Added.
39083 (video_mod_CFLAGS): Likewise.
39084 (video_mod_LDFLAGS): Likewise.
39085 (videotest_mod_SOURCES): Likewise.
39086 (videotest_mod_CFLAGS): Likewise.
39087 (videotest_mod_LDFLAGS): Likewise.
39088 (bitmap_mod_SOURCES): Likewise.
39089 (bitmap_mod_CFLAGS): Likewise.
39090 (bitmap_mod_LDFLAGS): Likewise.
39091 (tga_mod_SOURCES): Likewise.
39092 (tga_mod_CFLAGS): Likewise.
39093 (tga_mod_LDFLAGS): Likewise.
39094 (jpeg_mod_SOURCES): Likewise.
39095 (jpeg_mod_CFLAGS): Likewise.
39096 (jpeg_mod_LDFLAGS): Likewise.
39097 (png_mod_SOURCES): Likewise.
39098 (png_mod_CFLAGS): Likewise.
39099 (png_mod_LDFLAGS): Likewise.
39100 (gfxterm_mod_SOURCES): Likewise.
39101 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39102 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39103
39104 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39105 grub/machine/console.h.
39106
644fff97 391072009-01-04 Jerone Young <jerone@gmail.com>
39108
39109 Make on screen instructions clearer
39110
39111 Based on patch created by Jidanni <jidanni@jidanni.org>
39112
39113 * normal/menu.c: print clearer instructions on the screen
39114
1e901a75 391152009-01-02 Colin D Bennett <colin@gibibit.com>
39116
39117 New font engine.
34c44600 39118
1e901a75 39119 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39120 build system and fixed gfxterm.c to work with different sized fonts.
39121
39122 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39123
1e901a75 39124 * configure: Re-generated.
34c44600 39125
1e901a75 39126 * DISTLIST: Removed font/manager.c.
39127 Added font/font.c.
39128 Added font/font_cmd.c.
34c44600 39129
1e901a75 39130 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39131 compilation.
34c44600 39132
1e901a75 39133 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39134
39135 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39136
39137 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39138
1e901a75 39139 * normal/menu.c: Likewise.
34c44600 39140
1e901a75 39141 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39142 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39143
1e901a75 39144 * include/grub/font.h: Replaced with new file.
34c44600 39145
1e901a75 39146 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39147 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39148 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39149 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39150 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39151 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39152 fg_red, fg_green, fg_blue, fg_alpha.
39153 (grub_video_adapter): Removed blit_glyph.
34c44600 39154 (grub_video_blit_glyph): Removed.
39155
1e901a75 39156 * font/manager.c: Removed file.
34c44600 39157
39158 * font/font.c: New file.
39159
1e901a75 39160 * font/font_cmd.c: Likewise.
34c44600 39161
1e901a75 39162 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39163
1e901a75 39164 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39165 (grub_video_vbe_map_rgba): Likewise.
39166 (grub_video_vbe_unmap_color_int): Likewise.
39167 (grub_video_vbe_blit_glyph): Removed.
39168 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39169
1e901a75 39170 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39171 (get_pixel): Likewise.
34c44600 39172 (set_pixel): Likewise.
39173
1e901a75 39174 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39175
1e901a75 39176 * term/gfxterm.c: Adapted to new font engine.
34c44600 39177
1e901a75 39178 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39179
1e901a75 39180 * term/i386/pc/vga.c: Likewise.
34c44600 39181
1e901a75 39182 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39183
1e901a75 39184 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39185
1e901a75 39186 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39187
1e901a75 39188 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39189
1e901a75 39190 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39191
1e901a75 39192 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39193
1e901a75 39194 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39195
1e901a75 39196 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39197
1e901a75 39198 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39199
39200 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39201
1e901a75 39202 * util/grub-mkconfig_lib.in: Changed font extension.
39203
278922e8 392042008-12-28 Felix Zielcke <fzielcke@z-51.de>
39205
39206 * util/getroot.c (grub_util_get_grub_dev): Add support for
39207 /dev/md/dNNpNN style partitionable mdraid devices.
39208
3ced05cf 392092008-12-12 Alex Smith <alex@alex-smith.me.uk>
39210
39211 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39212 at a time limit of the PXE TFTP API correctly.
39213 (grub_pxefs_close): Likewise.
39214
7fd0ee30 392152008-11-29 Robert Millan <rmh@aybabtu.com>
39216
34c44600 39217 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39218 grub_ata_device_initialize() calls.
39219
34c44600 392202008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39221
39222 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39223 iteration failed.
39224 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39225
89313780 392262008-11-28 Robert Millan <rmh@aybabtu.com>
39227
39228 Fix build on powerpc-ieee1275. Based on patch created by
39229 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39230 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39231 `kern/ieee1275/mmap.c'.
39232 * include/grub/powerpc/ieee1275/memory.h: New file.
39233
15257703 39234 Provide grub-install on coreboot.
39235 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39236 (grub_install_SOURCES): New variable.
39237 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39238 usable on coreboot.
39239
9fc5388a 392402008-11-25 Felix Zielcke <fzielcke@z-51.de>
39241
39242 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39243 to `grub_term_input_t'.
39244 (grub_term_get_current_output): Change return type to
39245 `grub_term_output_t'.
39246
bc3a2f31 392472008-11-22 Robert Millan <rmh@aybabtu.com>
39248
34c44600 39249 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39250 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39251 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39252 grub_vga_text_cls().
39253
80fc88f2 39254 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39255 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39256
cbf36fd3 39257 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39258 to 0x200000 (avoids trouble with some OFW implementations, and matches
39259 with the one in Yaboot).
39260 Reported by Manoel Abranches
39261
73e8e268 392622008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39263
39264 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39265 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39266
73e8e268 39267 * util/grub-mkconfig_lib.in (grub_warn): New function.
39268 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39269 warnings, to obtain consistent formatting.
39270 * util/grub.d/00_header.in: Likewise.
39271 * util/update-grub_lib.in: Likewise.
39272
e94045a1 39273 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39274 Move comment text to `#error' stanza.
e94045a1 39275
79d29fd7 39276 Harmonize ieee1275's grub_available_iterate() with the generic
39277 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39278 build problem on i386-ieee1275):
39279 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39280 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39281 parameter `type'. Update all users of this function.
39282 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39283 `kern/ieee1275/mmap.c'.
39284 * kern/ieee1275/init.c
39285 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39286 with ...
39287 (grub_machine_mmap_iterate): ... this.
39288 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39289 return type to `grub_err_t'. Update all implementations of this
39290 function prototype.
39291 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39292 Likewise.
39293
60d6b16e 39294 Add `lsmmap' command (lists firmware-provided memory map):
39295 * commands/lsmmap.c: New file.
39296 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39297 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39298 variables.
39299 * conf/powerpc-ieee1275.rmk: Likewise.
39300 * conf/i386-coreboot.rmk: Likewise.
39301 * conf/i386-ieee1275.rmk: Likewise.
39302
ebaaf49b 393032008-11-19 Robert Millan <rmh@aybabtu.com>
39304
39305 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39306 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39307 constraints to initrd allocation (based on code from
39308 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39309 for Linux to find it.
ebaaf49b 39310
dfab719f 393112008-11-14 Robert Millan <rmh@aybabtu.com>
39312
39313 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39314 order to cope with duplicate slashes.
39315
10fc3eb9 393162008-11-14 Robert Millan <rmh@aybabtu.com>
39317
39318 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39319 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39320 don't want to mess with lower memory, because it is used in the Linux
39321 loader.
39322
39323 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39324 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39325 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39326 is in our heap (probably as a result of it being corrupted during
2f2a3442 39327 decompression). Add #error instance with comment to explain why this
39328 loader isn't currently usable on PC/BIOS.
10fc3eb9 39329
e2e07847 393302008-11-14 Robert Millan <rmh@aybabtu.com>
39331
39332 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39333 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39334
fe8e8d69 393352008-11-12 Robert Millan <rmh@aybabtu.com>
39336
39337 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39338
39339 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39340 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39341 from here ...
39342 * include/grub/i386/pc/memory.h: ... to here.
39343
976b07d0 393442008-11-12 Robert Millan <rmh@aybabtu.com>
39345
39346 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39347 split).
39348
39349 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39350 (grub_console_cur_color, grub_console_real_putchar)
39351 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39352 (grub_console_setcolorstate, grub_console_setcolor)
39353 (grub_console_getcolor): Move from here ...
39354 * include/grub/i386/vga_common.h: ... to here (new file).
39355
39356 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39357 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39358 `<grub/i386/io.h>'.
39359 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39360 `<grub/i386/vga_common.h>'.
39361
76679cd3 393622008-11-12 Robert Millan <rmh@aybabtu.com>
39363
39364 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39365 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39366 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39367 variables.
39368 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39369 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39370
39371 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39372 grub_console_init() with call to grub_vga_text_init().
39373 (grub_machine_fini): Replace call to
39374 grub_console_fini() with call to grub_vga_text_fini() and
39375 grub_at_keyboard_fini().
39376
39377 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39378 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39379 (grub_console_setcolorstate, grub_console_setcolor)
39380 (grub_console_getcolor): New function prototypes.
39381
39382 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39383 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39384 (grub_vga_text_setcursor): Static-ize.
39385 (grub_vga_text_term): New structure.
39386 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39387
39388 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39389 (grub_console_cur_color, grub_console_standard_color)
39390 (grub_console_normal_color, grub_console_highlight_color)
39391 (map_char, grub_console_putchar, grub_console_getcharwidth)
39392 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39393 (grub_console_getcolor): Move from here ...
39394 * term/i386/vga_common.c: ... to here (same function names).
39395
95b841d3 393962008-11-12 Robert Millan <rmh@aybabtu.com>
39397
39398 Use newly-added Multiboot support in coreboot.
39399
39400 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39401 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39402
39403 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39404 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39405 (codestart): Store the MBI in `startup_multiboot_info' when we're
39406 being loaded using Multiboot.
39407
39408 * kern/i386/coreboot/init.c (grub_machine_init): Move
39409 grub_at_keyboard_init() call to beginning of function (useful for
39410 debugging). Call grub_machine_mmap_init() before attempting to use
39411 grub_machine_mmap_iterate().
39412 (grub_lower_mem, grub_upper_mem): Move from here ...
39413 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39414 here (new file).
39415
39416 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39417 function prototype.
39418
761ca975 394192008-11-12 Robert Millan <rmh@aybabtu.com>
39420
39421 Fix a regression introduced by the at_keyboard.mod split. Because
39422 some terminals are default on some platforms and non-default on
39423 others, the first terminal being registered determines which is
39424 going to be default.
39425
39426 * kern/term.c (grub_term_register_input): If this is the first
39427 terminal being registered, set it as the current one.
39428 (grub_term_register_output): Likewise.
39429
39430 * term/efi/console.c (grub_console_init): Do not call
39431 grub_term_set_current_output() or grub_term_set_current_input().
39432 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39433 * term/i386/pc/console.c (grub_console_init): Likewise.
39434 (grub_console_fini): Do not call grub_term_set_current_input()
39435 (but leave grub_term_set_current_output() to restore text mode).
39436
6c529df7 394372008-11-10 Robert Millan <rmh@aybabtu.com>
39438
39439 * util/grub.d/00_header.in: Add backward compatibility check for
39440 versions of terminal.mod that don't understand `terminal_input' or
39441 `terminal_output'.
39442
132e4113 394432008-11-09 Robert Millan <rmh@aybabtu.com>
39444
39445 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39446 `terminal_input' / `terminal_output', not `terminal'.
39447
ac293d50 394482008-11-08 Robert Millan <rmh@aybabtu.com>
39449
39450 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39451 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39452
0025933a 394532008-11-08 Robert Millan <rmh@aybabtu.com>
39454
39455 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39456 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39457 members. Update all users.
39458 * util/console.c (grub_ncurses_term): Split in ...
39459 (grub_ncurses_term_input): ... this, and ...
39460 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39461 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39462
37c86336 394632008-11-08 Robert Millan <rmh@aybabtu.com>
39464
39465 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39466 (PKGDATA): Add $(pkgdata_SRCDIR).
39467 (pkglib_BUILDDIR): New variable.
39468 (pkgdata_SRCDIR): New variable.
39469 (build_env.mk): New target.
39470 (include_DATA): New variable.
39471 (install-local): Install $(include_DATA) files in $(includedir).
39472
b6c15a2d 394732008-11-07 Pavel Roskin <proski@gnu.org>
39474
d99d46f1 39475 * gendistlist.sh: Use C locale for sorting to ensure consistent
39476 output on all systems.
39477
b6c15a2d 39478 * util/grub.d/00_header.in: Remove incorrect space before
39479 "serial".
39480
c32ee8c9 394812008-11-07 Robert Millan <rmh@aybabtu.com>
39482
39483 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39484 per specification.
39485 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39486 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39487 (based on find_multi_boot1_header).
39488 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39489 using find_multi_boot2_header(), and abort if neither Multiboot or
39490 Multiboot headers were found.
39491
651c29b7 394922008-11-07 Robert Millan <rmh@aybabtu.com>
39493
39494 Modularize at_keyboard.mod:
39495
39496 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39497 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39498 (at_keyboard_mod_LDFLAGS): New variables.
39499
39500 Actual terminal split:
39501
39502 * include/grub/term.h (struct grub_term): Split in ...
39503 (struct grub_term_input): ... this, and ...
39504 (struct grub_term_output): ... this. Update all users.
39505 (grub_term_set_current): Split in ...
39506 (grub_term_set_current_input): ... this, and ...
39507 (grub_term_set_current_output): ... this.
39508 (grub_term_get_current): Split in ...
39509 (grub_term_get_current_input): ... this, and ...
39510 (grub_term_get_current_output): ... this.
39511 (grub_term_register): Split in ...
39512 (grub_term_register_input): ... this, and ...
39513 (grub_term_register_output): ... this.
39514 (grub_term_unregister): Split in ...
39515 (grub_term_unregister_input): ... this, and ...
39516 (grub_term_unregister_output): ... this.
39517 (grub_term_iterate): Split in ...
39518 (grub_term_iterate_input): ... this, and ...
39519 (grub_term_iterate_output): ... this.
39520
39521 * kern/term.c (grub_term_list): Split in ...
39522 (grub_term_list_input): ... this, and ...
39523 (grub_term_list_output): ... this. Update all users.
39524 (grub_cur_term): Split in ...
39525 (grub_cur_term_input): ... this, and ...
39526 (grub_cur_term_output): ... this. Update all users.
39527 (grub_term_set_current): Split in ...
39528 (grub_term_set_current_input): ... this, and ...
39529 (grub_term_set_current_output): ... this.
39530 (grub_term_get_current): Split in ...
39531 (grub_term_get_current_input): ... this, and ...
39532 (grub_term_get_current_output): ... this.
39533 (grub_term_register): Split in ...
39534 (grub_term_register_input): ... this, and ...
39535 (grub_term_register_output): ... this.
39536 (grub_term_unregister): Split in ...
39537 (grub_term_unregister_input): ... this, and ...
39538 (grub_term_unregister_output): ... this.
39539 (grub_term_iterate): Split in ...
39540 (grub_term_iterate_input): ... this, and ...
39541 (grub_term_iterate_output): ... this.
39542
39543 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39544 a check for input and one for output (and only attempt to get keys
39545 from user when input works).
39546
39547 * util/grub-probe.c (grub_term_get_current): Split in ...
39548 (grub_term_get_current_input): ... this, and ...
39549 (grub_term_get_current_output): ... this.
39550 * util/grub-fstest.c: Likewise.
39551 * util/i386/pc/grub-setup.c: Likewise.
39552 * util/grub-editenv.c: Likewise.
39553
39554 Portability adjustments:
39555
39556 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39557 `term/i386/pc/at_keyboard.c'.
39558 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39559 grub_keyboard_controller_init() (now handled by terminal .init).
39560 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39561 grub_at_keyboard_init().
39562 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39563 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39564 at_keyboard.mod via input terminal interface).
39565 * include/grub/i386/coreboot/console.h: Convert into a stub for
39566 `<grub/i386/pc/console.h>'.
39567
39568 Migrate full terminals to new API:
39569
39570 * term/efi/console.c (grub_console_term): Split into ...
39571 (grub_console_term_input): ... this, and ...
39572 (grub_console_term_output): ... this. Update all users.
39573 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39574 (grub_ofconsole_init): Split into ...
39575 (grub_ofconsole_init_input): ... this, and ...
39576 (grub_ofconsole_init_output): ... this.
39577 (grub_ofconsole_term): Split into ...
39578 (grub_ofconsole_term_input): ... this, and ...
39579 (grub_ofconsole_term_output): ... this. Update all users.
39580 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39581 (grub_serial_term_input): ... this, and ...
39582 (grub_serial_term_output): ... this. Update all users.
39583 * term/i386/pc/console.c (grub_console_term): Split into ...
39584 (grub_console_term_input): ... this, and ...
39585 (grub_console_term_output): ... this. Update all users.
39586 (grub_console_term_input): Only enable it on PC/BIOS platform.
39587 (grub_console_init): Remove grub_keyboard_controller_init() call.
39588
39589 Migrate input terminals to new API:
39590
39591 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39592 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39593 i386-specific anyway).
39594 (grub_console_checkkey): Rename to ...
39595 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39596 users.
39597 (grub_keyboard_controller_orig): New variable.
39598 (grub_console_getkey): Rename to ...
39599 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39600 users.
39601 (grub_keyboard_controller_init): Static-ize. Save original
39602 controller value so that it can be restored ...
39603 (grub_keyboard_controller_fini): ... here (new function).
39604 (grub_at_keyboard_term): New structure.
39605 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39606 functions.
39607
39608 Migrate output terminals to new API:
39609
39610 * term/i386/pc/vga.c (grub_vga_term): Change type to
39611 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39612 members. Update all users.
39613 * term/gfxterm.c (grub_video_term): Change type to
39614 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39615 members. Update all users.
39616 * include/grub/i386/pc/console.h (grub_console_checkkey)
39617 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39618 etc).
39619
39620 Migrate `terminal' command and userland tools to new API:
39621
39622 * commands/terminal.c (grub_cmd_terminal): Split into ...
39623 (grub_cmd_terminal_input): ... this, and ...
39624 (grub_cmd_terminal_output): ... this.
39625 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39626 `terminal_input' and `terminal_output'.
39627 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39628 `terminal_input' / `terminal_output' API.
39629 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39630 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39631 provided ${GRUB_TERMINAL}, convert it).
39632
96e5d876 396332008-11-04 Robert Millan <rmh@aybabtu.com>
39634
39635 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39636 for FreeBSD.
39637 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39638
556f3775 396392008-11-03 Bean <bean123ch@gmail.com>
39640
39641 * kern/elf.c (grub_elf32_load): Revert to previous code.
39642 (grub_elf64_load): Likewise.
39643
39644 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39645
926b9823 396462008-11-01 Robert Millan <rmh@aybabtu.com>
39647
39648 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39649 (TARGET_CPPFLAGS): Likewise.
39650 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39651
1432e958 396522008-11-01 Carles Pina i Estany <carles@pina.cat>
39653
39654 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39655
dba3f844 396562008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 39657
39658 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39659 addition of objects until the code is not going to be able to fail.
39660
dba3f844 396612008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 39662
39663 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39664 (add a missing NULL check, and correct them by moving the pointer
39665 operations after the actual check).
39666
7ab28c21 396672008-10-29 Robert Millan <rmh@aybabtu.com>
39668
39669 * util/i386/pc/grub-install.in: Handle empty string as output from
39670 make_system_path_relative_to_its_root().
39671
1b7748eb 396722008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39673
39674 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39675 circular metadata worst case scenario. If the metadata is circular
39676 then copy the wrap in place.
39677 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39678 project lib/format_text/layout.h
39679 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39680
c9618ab2 396812008-10-03 Felix Zielcke <fzielcke@z-51.de>
39682
7a36edca 39683 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 39684
bf981c62 396852008-10-03 Felix Zielcke <fzielcke@z-51.de>
39686
39687 * util/update-grub_lib.in: Mention filename in warning message.
39688
6d994591 396892008-09-29 Felix Zielcke <fzielcke@z-51.de>
39690
39691 * NEWS: Update for rename of update-grub to grub-mkconfig.
39692
18ade780 396932008-09-29 Felix Zielcke <fzielcke@z-51.de>
39694
39695 * util/update-grub_lib.in: Copy to ...
39696 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 39697 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 39698 * util/update-grub.in: Rename to ...
39699 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
39700 option. Add `--output' option to allow users to specify the generated
39701 configuration file. Default to stdout.
39702 (update_grub_dir): Rename to ...
39703 (grub_mkconfig_dir): ... this.
39704 (grub_cfg): Default to an empty string.
39705 * conf/common.rmk (update-grub): Rename to ...
39706 (grub-mkconfig): ... this.
39707 (update-grub_lib): Copy to ...
39708 (grub-mkconfig_lib): ... this.
39709 (update-grub_SCRIPTS): Copy to ...
39710 (grub-mkconfig_SCRIPTS): ... this. Update all users.
39711 (update-grub_DATA): Rename to ...
39712 (grub-mkconfig_DATA): ... this.
39713
556ce6ac 397142008-09-28 Robert Millan <rmh@aybabtu.com>
39715
39716 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
39717 to `modified'. Add the real `created' field.
39718 (grub_iso9660_uuid): Use `modified' rather than `created' for
39719 constructing the UUID.
39720
397212008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 39722
39723 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
39724 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
39725
92274e85 397262008-09-28 Bean <bean123ch@gmail.com>
39727
39728 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
39729 Thanks to Christian Franke for finding this bug.
39730
add6f17a 397312008-09-25 Robert Millan <rmh@aybabtu.com>
39732
39733 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
39734 instances of grub_util_get_disk_name() (see previous commit).
39735
d2a367b8 397362008-09-25 Robert Millan <rmh@aybabtu.com>
39737
39738 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
39739 `util/i386/get_disk_name.c'.
39740 * conf/i386-efi.rmk: Likewise.
39741 * conf/x86_64-efi.rmk: Likewise.
39742 * conf/i386-coreboot.rmk: Likewise.
39743 * conf/i386-ieee1275.rmk: Likewise.
39744 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
39745 `util/ieee1275/get_disk_name.c'.
39746 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
39747 * util/ieee1275/get_disk_name.c: Remove file.
39748 * util/i386/get_disk_name.c: Remove file.
39749 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
39750 "hd%d" for device.map entries, rather than using
39751 grub_util_get_disk_name().
39752
81a06771 397532008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 39754
39755 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
39756 warning.
39757 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
39758
5a004279 397592008-09-24 Carles Pina i Estany <carles@pina.cat>
39760
39761 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
39762 Changed to 0x5100.
39763 (GRUB_TERM_PPAGE): Changed to 0x4900.
39764
397093d3 397652008-09-24 Robert Millan <rmh@aybabtu.com>
39766
39767 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
39768 macros (they were i386-pc specific).
39769 * include/grub/sparc64/ieee1275/console.h: Likewise.
39770 * include/grub/efi/console.h: Likewise.
39771
a91b6c7c 397722008-09-22 Bean <bean123ch@gmail.com>
39773
39774 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
39775 resident and in attribute list.
39776
39777 * include/grub/ntfs.h (BMP_LEN): Removed.
39778
c40fd116 397792008-09-22 Bean <bean123ch@gmail.com>
39780
81a06771 39781 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 39782 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
39783
39784 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
39785 error occurs, as grub_disk_open will call grub_disk_close, which will
39786 call p->close (scsi).
39787
81a06771 397882008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 39789
39790 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
39791 (AC_PREREQ): Bumped to 2.59.
39792 (AC_TRY_COMPILE): Replace obsolete macro with ...
39793 (AC_COMPILE_IFELSE): ... this.
39794 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
39795 (AC_LINK_IFELSE): ... this.
39796
5dc43410 397972008-09-21 Felix Zielcke <fzielcke@z-51.de>
39798
39799 * autogen.sh: Add a call to `gendistlist.sh'.
39800
9035dce4 398012008-09-19 Christian Franke <franke@computer.org>
39802
39803 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
39804 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
39805 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
39806 Export __enable_execute_stack() to modules.
39807 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
39808 New function.
39809
7fd75377 398102008-09-09 Felix Zielcke <fzielcke@z-51.de>
39811
040030b3 39812 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
39813 Sort the list.
39814
398152008-09-09 Felix Zielcke <fzielcke@z-51.de>
39816
39817 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 39818 #include <grub/util/hostdisk.h>.
39819
89d5ffcf 398202008-09-08 Robert Millan <rmh@aybabtu.com>
39821
39822 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
39823 segments when their filesz is zero (grub_file_read() interprets
81a06771 39824 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 39825 Use `lowest_segment' rather than 0 for calculating the current
39826 segment load address.
39827
40da438f 398282008-09-08 Robert Millan <rmh@aybabtu.com>
39829
39830 * util/hostdisk.c (open_device): Replace a grub_util_info() call
39831 with grub_dprintf("hostdisk", ...), as it was so verbose that it
39832 clobbered useful information.
39833
ddbf5556 398342008-09-08 Robert Millan <rmh@aybabtu.com>
39835
39836 * include/grub/util/biosdisk.h: Move to ...
39837 * include/grub/util/hostdisk.h: ... here. Update all users.
39838 * util/biosdisk.c: Move to ...
39839 * util/hostdisk.c: ... here. Update all users.
39840
783d0f48 398412008-09-07 Robert Millan <rmh@aybabtu.com>
39842
39843 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
39844 variables.
39845 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
39846 and length can be stored directly in the `mbi->mmap_addr' and
39847 `mbi->mmap_length' struct fields.
39848
548e2ea5 398492008-09-07 Robert Millan <rmh@aybabtu.com>
39850
39851 * conf/i386.rmk: New file. Provides declaration for building
39852 `cpuid.mod'.
39853 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
39854 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
39855 variables.
39856 Include `conf/i386.mk'.
39857 * conf/i386-efi.rmk: Likewise.
39858 * conf/x86_64-efi.rmk: Likewise.
39859 * conf/i386-coreboot.rmk: Likewise.
39860 * conf/i386-ieee1275.rmk: Likewise.
39861
0ea85a37 398622008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
39863
39864 Based on patch created by Colin D Bennett <colin@gibibit.com>.
39865 Adds optimization support for BGR based modes.
39866
39867 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
39868 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
39869 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39870 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39871 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39872 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39873 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39874 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39875 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39876 (grub_video_i386_vbeblit_index_index): Likewise.
39877 (grub_video_i386_vbeblit_replace_directN): Added.
39878 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
39879 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
39880 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
39881 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
39882 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
39883 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 39884 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 39885 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
39886 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
39887 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39888 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39889 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39890 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
39891
39892 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
39893 (grub_video_i386_vbefill_R8G8B8): Likewise.
39894 (grub_video_i386_vbefill_index): Likewise.
39895 (grub_video_i386_vbefill_direct32): Added.
39896 (grub_video_i386_vbefill_direct24): Likewise.
39897 (grub_video_i386_vbefill_direct16): Likewise.
39898 (grub_video_i386_vbefill_direct8): Likewise.
39899
81a06771 39900 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 39901 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
39902 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
39903 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
39904 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
39905 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 39906
0ea85a37 39907 * video/video.c (grub_video_get_blit_format): Updated to use new
39908 blit formats. Added handling for 16 bit color modes.
81a06771 39909
39910 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 39911 fillers.
39912 (common_blitter): Updated to use new blitters.
39913
39914 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
39915 Removed.
39916 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
39917 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39918 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39919 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39920 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39921 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39922 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39923 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39924 (grub_video_i386_vbeblit_index_index): Likewise.
39925 (grub_video_i386_vbeblit_replace_directN): Added.
39926 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
39927 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
39928 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
39929 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
39930 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
39931 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
39932 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
39933 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
39934 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
39935 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
39936 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
39937 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
39938 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 39939
0ea85a37 39940 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
39941 (grub_video_i386_vbefill_R8G8B8): Likewise.
39942 (grub_video_i386_vbefill_index): Likewise.
39943 (grub_video_i386_vbefill_direct32): Added.
39944 (grub_video_i386_vbefill_direct24): Likewise.
39945 (grub_video_i386_vbefill_direct16): Likewise.
39946 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 39947
0ea85a37 39948 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
39949 types.
81a06771 39950
0ea85a37 39951 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
39952 types.
81a06771 39953
0ea85a37 39954 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
39955 blitter types.
81a06771 39956
0ea85a37 39957 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
39958 types.
39959
e8a83df6 399602008-09-06 Felix Zielcke <fzielcke@z-51.de>
39961
39962 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
39963 RAID level 1.
39964
6bcd8ee5 399652008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 39966
6bcd8ee5 39967 * fs/iso9660.c (grub_iso9660_date): New structure.
39968 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
39969 (grub_iso9660_uuid): New function.
c375ae58 39970
59261157 399712008-09-05 Bean <bean123ch@gmail.com>
39972
39973 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
39974
39975 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
39976 insensitive bit for names in Win32 and Win32 & DOS namespace.
39977
39978 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
39979
39980 * include/grub/types.h (LONG_MAX): Likewise.
39981
58b6645a 399822008-09-04 Felix Zielcke <fzielcke@z-51.de>
39983
4ee55921 39984 * util/getroot.c: Include <config.h>.
39985 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
39986 add support for /dev/md/N devices and handle LVM double dash escaping.
39987
399882008-09-04 Felix Zielcke <fzielcke@z-51.de>
39989
39990 * config.guess: Update to latest version from config git.
39991 * config.sub: Likewise.
58b6645a 39992
9124f65d 399932008-09-03 Robert Millan <rmh@aybabtu.com>
39994
39995 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
39996 `disk->total_sectors'.
39997
81a06771 399982008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 39999
40000 * include/grub/normal.h: Fixed incorrect comment for
40001 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40002
81a06771 400032008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40004
40005 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40006 values with defines.
40007
40008 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40009 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40010 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40011 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40012 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40013 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40014 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40015 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40016 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40017 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40018 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40019 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40020 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40021 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40022 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40023 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40024 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40025 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40026 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40027
93d5cbf8 400282008-08-31 Robert Millan <rmh@aybabtu.com>
40029
40030 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40031 declaration.
40032 (grub_multiboot): Fix a few warnings.
40033
21751d50 400342008-08-31 Robert Millan <rmh@aybabtu.com>
40035
40036 * loader/i386/pc/multiboot.c: Update comment not to say that
40037 boot_device support is unimplemented.
40038
e27a75c5 400392008-08-31 Robert Millan <rmh@aybabtu.com>
40040
40041 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40042 or memory map support are unimplemented.
40043
81a06771 400442008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40045
40046 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40047
81a06771 400482008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40049
40050 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40051 total video memory in 'vbeinfo' output; show color format details for
40052 each video mode.
40053
7c5d8d95 400542008-08-30 Pavel Roskin <proski@gnu.org>
40055
40056 * util/genmoddep.c: Remove for real this time.
40057 * DISTLIST: Remove util/genmoddep.c.
40058
4cebd25a 400592008-08-30 Robert Millan <rmh@aybabtu.com>
40060
40061 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40062 as required by Multiboot spec (it was already 4-byte aligned, but
40063 only by chance).
40064
b497a269 400652008-08-29 Pavel Roskin <proski@gnu.org>
40066
e3925185 40067 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40068 * kern/powerpc/ieee1275/startup.S: ... this.
40069 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40070 * DISTLIST: Likewise.
40071
b497a269 40072 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40073 grub/cpu/kernel.h. Add start label for consistency with other
40074 platforms. Add grub_prefix immediately after start. Add jump
40075 to the code after grub_prefix.
40076 * include/grub/powerpc/kernel.h: Provide valid values for
40077 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40078
6e5a42fe 400792008-08-29 Bean <bean123ch@gmail.com>
40080
40081 * configure.ac: Change host_os to cygwin for mingw.
40082 (asprintf): New check for function.
40083
40084 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40085 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40086
40087 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40088 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40089 sync, sleep and grub_util_get_disk_size for mingw.
40090
40091 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40092 to get size in mingw.
40093 (open_device): Use flag O_BINARY if it's defined.
40094 (find_root_device): Add dummy code for mingw.
40095
40096 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40097 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40098 (get_scsi_disk_name): Return 0 for mingw.
40099
40100 * util/hostfs.c: #include <grub/util/misc.h>.
40101 (grub_hostfs_open): Use "rb" flag to open file, use
40102 grub_util_get_disk_size to get disk size for mingw.
40103
40104 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40105 (asprintf): New function if HAVE_ASPRINTF is not set.
40106 (sync): New function for mingw.
40107 (sleep): Likewise.
40108 (grub_util_get_disk_size): Likewise.
40109
ab3f2673 401102008-08-28 Pavel Roskin <proski@gnu.org>
40111
40112 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40113 kern/time.c.
40114
1c282483 401152008-08-28 Robert Millan <rmh@aybabtu.com>
40116
40117 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40118
678e849c 401192008-08-28 Robert Millan <rmh@aybabtu.com>
40120
40121 Change find_grub_drive() syntax so it doesn't prevent it from
40122 detecting NULL names as errors.
40123
40124 * util/biosdisk.c (find_grub_drive): Move free slot search code
40125 from here ...
40126 (find_free_slot): ... to here.
40127 (read_device_map): Use find_free_slot() to search for free slots.
40128
965c75ca 401292008-08-27 Marco Gerards <marco@gnu.org>
40130
40131 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40132 (scsi_mod_SOURCES): New variable.
40133 (scsi_mod_CFLAGS): Likewise
40134 (scsi_mod_LDFLAGS): Likewise.
40135
40136 * disk/scsi.c: New file.
40137
40138 * include/grub/scsi.h: Likewise.
40139
40140 * include/grub/scsicmd.h: Likewise.
40141
40142 * disk/ata.c: Include <grub/scsi.h>.
40143 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40144 instead.
40145 (grub_ata_iterate): Skip ATAPI devices.
40146 (grub_ata_open): Only handle ATAPI devices.
40147 (struct grub_atapi_read): Removed.
40148 (grub_atapi_readsector): Likewise.
40149 (grub_ata_read): No longer handle ATAPI devices.
40150 (grub_ata_write): Likewise.
40151 (grub_atapi_iterate): New function.
40152 (grub_atapi_read): Likewise.
40153 (grub_atapi_write): Likewise.
40154 (grub_atapi_open): Likewise.
40155 (grub_atapi_close): Likewise.
40156 (grub_atapi_dev): New variable.
40157 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40158 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40159
40160 * include/grub/disk.h (enum grub_disk_dev_id): Add
40161 `GRUB_DISK_DEVICE_SCSI_ID'.
40162
c07ae501 401632008-08-26 Robert Millan <rmh@aybabtu.com>
40164
40165 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40166 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40167 descriptive.
40168
5ed20adc 401692008-08-23 Bean <bean123ch@gmail.com>
40170
40171 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40172 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40173 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40174 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40175 dm_nv.mod.
40176 (raid5rec_mod_SOURCES): New macro.
40177 (raid5rec_mod_CFLAGS): Likewise.
40178 (raid5rec_mod_LDFLAGS): Likewise.
40179 (raid6rec_mod_SOURCES): Likewise.
40180 (raid6rec_mod_CFLAGS): Likewise.
40181 (raid6rec_mod_LDFLAGS): Likewise.
40182 (mdraid_mod_SOURCES): Likewise.
40183 (mdraid_mod_CFLAGS): Likewise.
40184 (mdraid_mod_LDFLAGS): Likewise.
40185 (dm_nv_mod_SOURCES): Likewise.
40186 (dm_nv_mod_CFLAGS): Likewise.
40187 (dm_nv_mod_LDFLAGS): Likewise.
40188
40189 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40190 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40191 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40192
40193 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40194 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40195
40196 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40197
40198 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40199
40200 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40201
40202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40203
40204 * disk/raid5_recover.c: New file.
40205
40206 * disk/raid6_recover.c: Likewise.
40207
40208 * disk/mdraid_linux.c: Likewise.
40209
40210 * disk/dmraid_nvidia.c: Likewise.
40211
40212 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40213 ULONG_MAX.
40214
40215 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40216 calculate the size of raid device.
40217 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40218 different layout of raid5.
40219 (grub_raid_scan_device): Remove code specific to mdraid.
40220 (grub_raid_list): New variable.
40221 (free_array): New function.
40222 (grub_raid_register): Likewise.
40223 (grub_raid_unregister): Likewise.
40224 (grub_raid_rescan): Likewise.
40225 (GRUB_MOD_INIT): Don't iterate device here.
40226 (GRUB_MOD_FINI): Use free_array to release resource.
40227
40228 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40229 (grub_raid5_recover_func_t): New function variable type.
40230 (grub_raid6_recover_func_t): Likewise.
40231 (grub_raid5_recover_func): New variable.
40232 (grub_raid6_recover_func): Likewise.
40233 (grub_raid_register): New function.
40234 (grub_raid_unregister): Likewise.
40235 (grub_raid_rescan): Likewise.
40236 (grub_raid_block_xor): Likewise.
40237
40238 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40239 (CMD_CRC): New macro.
40240 (part): Removed.
40241 (read_file): Handle device as well as file.
40242 (cmd_crc): New function.
40243 (fstest): Handle multiple disks.
40244 (options): Remove part, raw and long, add root and diskcount.
40245 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40246 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40247 add handling for the new options, support multiple disks.
40248
40249 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40250
29c18915 402512008-08-23 Bean <bean123ch@gmail.com>
40252
40253 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40254
40255 * genfslist.sh: Ignore kernel.mod.
40256
40257 * genpartmaplist.sh: Likewise.
40258
8415f261 402592008-08-23 Robert Millan <rmh@aybabtu.com>
40260
40261 * util/getroot.c (find_root_device): Skip anything that starts with
40262 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40263
d5a7dc5b 402642008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40265
d5a7dc5b 40266 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40267 * util/grub.d/00_header.in: Allow the administrator to change default
40268 gfxmode via ${GRUB_GFXMODE}.
40269
380cfbb4 402702008-08-21 Felix Zielcke <fzielcke@z-51.de>
40271
40272 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40273
c9baafe7 402742008-08-21 Robert Millan <rmh@aybabtu.com>
40275
40276 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40277 loader.
40278 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40279 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40280
e290bef2 402812008-08-20 Carles Pina i Estany <carles@pina.cat>
40282
40283 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40284 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40285
f9dbfc96 402862008-08-19 Robert Millan <rmh@aybabtu.com>
40287
40288 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40289 (struct grub_virtual_screen): Remove `cursor_color'.
40290 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40291 initialization.
40292 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40293
dd6bd6ab 402942008-08-18 Robert Millan <rmh@aybabtu.com>
40295
40296 Unify (identical) linux_normal.c files.
40297 * loader/i386/efi/linux_normal.c: Move from here ...
40298 * loader/linux_normal.c: ... to here. Update all users.
40299 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40300 * loader/i386/ieee1275/linux_normal.c: Likewise.
40301
7f42f83e 403022008-08-18 Robert Millan <rmh@aybabtu.com>
40303
40304 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40305 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40306 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40307 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40308 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40309 New macros.
40310 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40311 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40312 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40313 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40314 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40315 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40316 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40317 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40318 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40319 portably using grub_getxy().
40320 Replace `-EFI' with `-bzImage' in boot message.
40321
38487ddb 403222008-08-17 Robert Millan <rmh@aybabtu.com>
40323
40324 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40325
deceb3ec 403262008-08-17 Robert Millan <rmh@aybabtu.com>
40327
40328 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40329
40330 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40331 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40332 (grub_machine_mmap_iterate): New function declaration.
40333 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40334 structure.
40335 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40336 macros.
40337
40338 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40339 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40340 Move e820 parsing from here ...
40341 * kern/i386/pc/mmap.c: New file.
40342 (grub_machine_mmap_iterate): ... to here.
40343
40344 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40345 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40346 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40347 (grub_available_iterate): Redeclare to return `void', and redeclare
40348 its hook to use grub_uint64_t as addr and size parameters, and rename
40349 to ...
40350 (grub_machine_mmap_iterate): ... this. Update all users.
40351
40352 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40353 to make it more readable. Rename to ...
40354 (grub_machine_mmap_iterate): ... this.
40355
40356 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40357 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40358 (grub_multiboot): Allocate an extra region after the payload, and fill
40359 it with a Multiboot memory map. Adjust a.out loader to calculate size
40360 with the extra space.
40361 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40362 with the extra space.
40363
f8aa0f43 403642008-08-17 Carles Pina i Estany <carles@pina.cat>
40365
9807deb9 40366 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40367
605f5bb6 403682008-08-17 Felix Zielcke <fzielcke@z-51.de>
40369
40370 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40371 mdate-sh to the list `find' searches for.
40372 * DISTLIST: Regenerated.
40373
210db6c6 403742008-08-16 Felix Zielcke <fzielcke@z-51.de>
40375
40376 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40377 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40378 genmoddep.awk, gensymlist.sh.in.
40379 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40380 * DISTLIST: Regenerated.
48cdbfd4 40381 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40382
1082b929 403832008-08-16 Robert Millan <rmh@aybabtu.com>
40384
40385 * disk/raid.c (grub_raid_init): Handle/report errors set by
40386 grub_device_iterate().
40387 * disk/lvm.c (grub_lvm_init): Likewise.
40388
42ce5170 403892008-08-15 Bean <bean123ch@gmail.com>
40390
40391 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40392 and datehook.mod.
40393 (datetime_mod_SOURCES): New macro.
40394 (datetime_mod_CFLAGS): Likewise.
40395 (datetime_mod_LDFLAGS): Likewise.
40396 (date_mod_SOURCES): Likewise.
40397 (date_mod_CFLAGS): Likewise.
40398 (date_mod_LDFLAGS): Likewise.
40399 (datehook_mod_SOURCES): Likewise.
40400 (datehook_mod_CFLAGS): Likewise.
40401 (datehook_mod_LDFLAGS): Likewise.
40402
40403 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40404 and datehook.mod.
40405 (datetime_mod_SOURCES): New macro.
40406 (datetime_mod_CFLAGS): Likewise.
40407 (datetime_mod_LDFLAGS): Likewise.
40408 (date_mod_SOURCES): Likewise.
40409 (date_mod_CFLAGS): Likewise.
40410 (date_mod_LDFLAGS): Likewise.
40411 (datehook_mod_SOURCES): Likewise.
40412 (datehook_mod_CFLAGS): Likewise.
40413 (datehook_mod_LDFLAGS): Likewise.
40414
40415 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40416 and datehook.mod.
40417 (datetime_mod_SOURCES): New macro.
40418 (datetime_mod_CFLAGS): Likewise.
40419 (datetime_mod_LDFLAGS): Likewise.
40420 (date_mod_SOURCES): Likewise.
40421 (date_mod_CFLAGS): Likewise.
40422 (date_mod_LDFLAGS): Likewise.
40423 (datehook_mod_SOURCES): Likewise.
40424 (datehook_mod_CFLAGS): Likewise.
40425 (datehook_mod_LDFLAGS): Likewise.
40426
40427 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40428 and datehook.mod.
40429 (datetime_mod_SOURCES): New macro.
40430 (datetime_mod_CFLAGS): Likewise.
40431 (datetime_mod_LDFLAGS): Likewise.
40432 (date_mod_SOURCES): Likewise.
40433 (date_mod_CFLAGS): Likewise.
40434 (date_mod_LDFLAGS): Likewise.
40435 (datehook_mod_SOURCES): Likewise.
40436 (datehook_mod_CFLAGS): Likewise.
40437 (datehook_mod_LDFLAGS): Likewise.
40438
40439 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40440 and datehook.mod.
40441 (datetime_mod_SOURCES): New macro.
40442 (datetime_mod_CFLAGS): Likewise.
40443 (datetime_mod_LDFLAGS): Likewise.
40444 (date_mod_SOURCES): Likewise.
40445 (date_mod_CFLAGS): Likewise.
40446 (date_mod_LDFLAGS): Likewise.
40447 (datehook_mod_SOURCES): Likewise.
40448 (datehook_mod_CFLAGS): Likewise.
40449 (datehook_mod_LDFLAGS): Likewise.
40450
40451 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40452
40453 * commands/date.c: New file.
40454
40455 * hook/datehook.c: Likewise.
40456
40457 * include/grub/lib/datetime.h: Likewise.
40458
40459 * include/grub/i386/cmos.h: Likewise.
40460
40461 * lib/datetime.c: Likewise.
40462
40463 * lib/i386/datetime.c: Likewise.
40464
40465 * lib/efi/datetime.c: Likewise.
40466
0e9242da 404672008-08-14 Robert Millan <rmh@aybabtu.com>
40468
40469 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40470 (grub_mkelfimage_SOURCES): New variable.
40471 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40472
40473 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40474 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40475 * conf/powerpc-ieee1275.rmk: Likewise.
40476 * conf/i386-ieee1275.rmk: Likewise.
40477
40478 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40479 * kern/i386/coreboot/init.c: Likewise.
40480
40481 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40482 with `<grub/cpu/kernel.h>'.
40483 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40484 to ...
40485 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40486 * kern/i386/coreboot/startup.S: Likewise.
40487
40488 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40489 (GRUB_MOD_GAP): Remove.
40490 * include/grub/powerpc/kernel.h: New file.
40491 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40492 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40493 * include/grub/i386/kernel.h: New file.
40494 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40495 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40496 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40497
40498 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40499 `grub-mkelfimage'.
40500 Use --directory when invoking grub_mkimage.
40501
40502 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40503 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40504 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40505 and GRUB_KERNEL_CPU_PREFIX.
40506
b86408f8 405072008-08-14 Felix Zielcke <fzielcke@z-51.de>
40508
d5e619ca 40509 * include/grub/err.h (grub_err_printf): New function prototype.
40510 * util/misc.c (grub_err_printf): New function.
40511 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40512 grub_printf.
40513 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40514
7161f0e0 405152008-08-13 Robert Millan <rmh@aybabtu.com>
40516
40517 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40518
a1967522 405192008-08-13 Robert Millan <rmh@aybabtu.com>
40520
40521 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40522 boot entry.
40523
371458b5 405242008-08-12 Robert Millan <rmh@aybabtu.com>
40525
40526 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40527 of the relocation code from here ...
40528 (grub_multiboot): ... to here.
40529 (forward_relocator, backward_relocator): Move from here ...
40530 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40531 (grub_multiboot_backward_relocator): ... to here.
40532 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40533 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40534 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40535 (grub_multiboot_forward_relocator_end)
40536 (grub_multiboot_backward_relocator)
40537 (grub_multiboot_backward_relocator_end): New variables.
40538
05f9452b 405392008-08-12 Bean <bean123ch@gmail.com>
40540
40541 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40542
20024ab0 405432008-08-11 Robert Millan <rmh@aybabtu.com>
40544
40545 * kern/i386/linuxbios/startup.S: Move from here ...
40546 * kern/i386/coreboot/startup.S: ... to here.
40547
40548 * kern/i386/linuxbios/init.c: Move from here ...
40549 * kern/i386/coreboot/init.c: ... to here.
40550
40551 * kern/i386/linuxbios/table.c: Move from here ...
40552 * kern/i386/coreboot/mmap.c: ... to here.
40553
40554 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40555
e352e9cd 405562008-08-11 Robert Millan <rmh@aybabtu.com>
40557
40558 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40559 errors. Leave it to the upper layer to handle them.
40560
2d05bc6a 405612008-08-09 Christian Franke <franke@computer.org>
40562
40563 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40564 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40565 Install `grub.d/10_windows' only on Cygwin.
40566 * configure.ac: Add subst of `target_os'.
40567 Check `target_os' also before setting TARGET_OBJ2ELF.
40568 Add `--enable-grub-pe2elf'.
40569
042bd419 405702008-08-08 Robert Millan <rmh@aybabtu.com>
40571
40572 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40573 (grub_last_time): Change type to grub_uint64_t.
40574 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40575 (grub_disk_close): Likewise.
40576
40577 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40578 (run_menu): Migrate code from to using grub_get_time_ms().
40579
40580 * util/misc.c (grub_get_time_ms): New function.
40581
7f280db5 405822008-08-08 Marco Gerards <marco@gnu.org>
40583
40584 * disk/ata.c (grub_ata_regget): Change return type to
40585 `grub_uint8_t'.
40586 (grub_ata_regget2): Likewise.
40587 (grub_ata_wait_status): New function.
40588 (grub_ata_wait_busy): Removed function, updated all users to use
40589 `grub_ata_wait_status'.
40590 (grub_ata_wait_drq): Likewise.
40591 (grub_ata_cmd): New function.
40592 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40593 error handling.
40594 (grub_ata_pio_write): Add error handling.
40595 (grub_atapi_identify): Likewise.
40596 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40597 handling.
40598 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40599 handling. Actually use the detected registers. Reorder the
40600 detection logic such that it is easier to read.
40601 (grub_ata_pciinit): Do not assign the same ID to each controller.
40602 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40603 handling.
40604 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40605
40606 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40607
1fbc5e66 406082008-08-08 Marco Gerards <marco@gnu.org>
40609
40610 * NEWS: Update.
40611
819ce6c0 406122008-08-07 Bean <bean123ch@gmail.com>
40613
40614 * include/grub/x86_64/pci.h: New file.
40615
5c41d44d 406162008-08-07 Christian Franke <franke@computer.org>
40617
40618 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40619 (TIMER2_GATE): Likewise.
40620 (grub_pit_wait): Add enable/disable of the timer2 gate
40621 bit of port 0x61. This fixes a possible infinite loop.
40622
5ebc275d 406232008-08-07 Bean <bean123ch@gmail.com>
40624
40625 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40626 kern/i386/tsc.c and kern/i386/pit.c.
40627
40628 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40629 x86_64 platform.
40630
40631 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40632 <grub/i386/tsc.h>.
40633
40634 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40635
e383b3d0 406362008-08-07 Bean <bean123ch@gmail.com>
40637
40638 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40639
40640 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40641
40642 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40643 multiple inclusion. Add #include <grub/types.h>.
40644
1cbb58ac 406452008-08-06 Christian Franke <franke@computer.org>
40646
40647 * conf/common.rmk: Build and install `10_windows'.
40648 * util/grub.d/10_windows.in: New script.
40649
337f5a1e 406502008-08-06 Pavel Roskin <proski@gnu.org>
40651
40652 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40653
057bc4ac 406542008-08-06 Robert Millan <rmh@aybabtu.com>
40655
40656 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40657 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40658
2b99f123 406592008-08-06 Bean <bean123ch@gmail.com>
40660
40661 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40662 (grub_pxefs_fs_int): Remove dummy definition.
40663 (grub_pxefs_open): Use data->block_size to store the current block
40664 size setting.
40665 (grub_pxefs_read): Use block size stored in data->block_size. As the
40666 value of grub_pxe_blksize can be changed after the file is opened.
40667
9f0234cb 406682008-08-06 Bean <bean123ch@gmail.com>
40669
40670 * fs/i386/pc/pxe.c (curr_file): new variable.
40671 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40672 require the dummy internal file system anymore.
40673 (grub_pxefs_read): Removed.
40674 (grub_pxefs_close): Likewise.
40675 (grub_pxefs_fs_int): Likewise.
40676 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40677 connection when we switch file.
40678 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40679
a55d42e0 406802008-08-06 Robert Millan <rmh@aybabtu.com>
40681
40682 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40683 `halt.mod'.
40684 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40685 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40686
40687 * kern/i386/halt.c: New file.
40688 * kern/i386/reboot.c: Likewise.
40689 * include/grub/i386/reboot.h: Likewise.
40690 * include/grub/i386/halt.h: Likewise.
40691
40692 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
40693 Include `<grub/cpu/halt.h>'.
40694 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
40695 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
40696
40697 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
40698 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
40699 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
40700 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
40701 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
40702 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
40703 from here ...
40704 * include/grub/i386/at_keyboard.h: ... to here.
40705
24371d26 407062008-08-05 Robert Millan <rmh@aybabtu.com>
40707
40708 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
40709 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
40710 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
40711 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40712 `kern/generic/millisleep.c'.
40713
40714 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
40715 instead of grub_get_rtc().
40716 (grub_tsc_init): Initialize `tsc_boot_time'.
40717
40718 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
40719 (grub_machine_init): Use grub_tsc_init() rather than
40720 installing an RTC-based handler via grub_install_get_time_ms().
40721
40722 * kern/i386/pit.c: New file.
40723 * include/grub/i386/pit.h: Likewise.
40724
9e7007b3 407252008-08-05 Bean <bean123ch@gmail.com>
40726
40727 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
40728
40729 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
40730 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
40731 (pxe_mod_SOURCES): New macro.
40732 (pxe_mod_CFLAGS): Likewise.
40733 (pxe_mod_LDFLAGS): Likewise.
40734 (pxecmd_mod_SOURCES): Likewise.
40735 (pxecmd_mod_CFLAGS): Likewise.
40736 (pxecmd_mod_LDFLAGS): Likewise.
40737
40738 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
40739 (grub_pxe_call): Likewise.
40740
40741 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
40742
40743 * commands/i386/pc/pxecmd.c: New file.
40744
9f0234cb 40745 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 40746
40747 * include/grub/i386/pc/pxe.h: Likewise.
40748
6977d49f 407492008-08-05 Bean <bean123ch@gmail.com>
40750
40751 * util/console.c (grub_console_cur_color): New variable.
40752 (grub_console_standard_color): Likewise.
40753 (grub_console_normal_color): Likewise.
40754 (grub_console_highlight_color): Likewise.
40755 (color_map): Likewise.
40756 (use_color): Likewise.
40757 (NUM_COLORS): New macro.
40758 (grub_ncurses_setcolorstate): Handle color properly.
40759 (grub_ncurses_setcolor): Don't change color here, just remember the
40760 settings, color will be set in grub_ncurses_setcolorstate.
40761 (grub_ncurses_getcolor): New function.
40762 (grub_ncurses_init): Initialize color pairs.
40763 (grub_ncurses_term): New member grub_ncurses_getcolor.
40764
9c2ff3ee 407652008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 40766
9c2ff3ee 40767 High resolution timer support. Implemented for x86 CPUs using TSC.
40768 Extracted generic grub_millisleep() so it's linked in only as needed.
40769 This requires a Pentium compatible CPU; if the RDTSC instruction is
40770 not supported, then it falls back on the generic grub_get_time_ms()
40771 implementation that uses the machine's RTC.
40772
40773 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
40774 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40775 `kern/generic/millisleep.c'.
40776
40777 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
40778 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
40779
40780 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
40781 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
40782
40783 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40784
40785 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40786 `kern/generic/millisleep.c'.
40787
40788 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40789
40790 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
40791
40792 * kern/generic/rtc_get_time_ms.c: New file.
40793
40794 * kern/generic/millisleep.c: New file.
337f5a1e 40795
9c2ff3ee 40796 * kern/misc.c: Don't include
40797 <kern/time.h> anymore.
40798 (grub_millisleep_generic): Removed.
40799
40800 * commands/sleep.c (grub_interruptible_millisleep): Uses
40801 grub_get_time_ms() instead of grub_get_rtc().
40802
40803 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
40804 function.
40805 (grub_cpu_is_cpuid_supported): New inline function.
40806 (grub_cpu_is_tsc_supported): New inline function.
40807 (grub_tsc_init): New function prototype.
40808 (grub_tsc_get_time_ms): New function prototype.
40809
40810 * kern/i386/tsc.c (grub_get_time_ms): New file.
40811
40812 * include/grub/time.h: Include <grub/types.h.
40813 (grub_millisleep_generic): Removed.
40814 (grub_get_time_ms): New prototype.
40815 (grub_install_get_time_ms): New prototype.
40816 (grub_rtc_get_time_ms): New prototype.
40817
40818 * kern/time.c (grub_get_time_ms): New function.
40819 (grub_install_get_time_ms): New function.
40820
40821 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
40822 <grub/time.h> anymore.
40823 (grub_millisleep): Removed.
40824 (grub_machine_init): Call grub_tsc_init.
40825
40826 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
40827 get_time_ms() implementation.
40828
40829 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
40830 (ieee1275_get_time_ms): New function.
40831 (grub_machine_init): Install get_time_ms() implementation.
40832
40833 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
40834 (grub_machine_init): Call grub_tsc_init().
40835 (grub_millisleep): Removed.
bf06a93f 40836
9c2ff3ee 40837 * kern/ieee1275/init.c (grub_millisleep): Removed.
40838 (grub_machine_init): Install ieee1275_get_time_ms()
40839 implementation.
40840 (ieee1275_get_time_ms): New function.
40841 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
40842 real work.
40843
9ec92aaf 408442008-08-05 Marco Gerards <marco@gnu.org>
40845
40846 * disk/ata.c: Include <grub/pci.h>.
40847 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
40848 (grub_ata_initialize): Rewritten.
40849 (grub_ata_device_initialize): New function.
40850
8d23f507 408512008-08-04 Pavel Roskin <proski@gnu.org>
40852
40853 * kern/main.c: Include grub/mm.h.
40854
5e15ee3d 408552008-08-04 Robert Millan <rmh@aybabtu.com>
40856
40857 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
40858 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
40859 corruption problem).
40860
a9053f8f 408612008-08-04 Robert Millan <rmh@aybabtu.com>
40862
40863 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
40864 warnings introduced in my last commit.
40865
dd19c7d7 408662008-08-03 Robert Millan <rmh@aybabtu.com>
40867
40868 Make PCI available on all i386 architectures.
40869
40870 * include/grub/i386/pc/pci.h: Move from here ...
40871 * include/grub/i386/pci.h: ... to here.
40872
40873 * include/grub/i386/pc/pci.h: Remove.
40874 * include/grub/i386/efi/pci.h: Remove.
40875 * include/grub/x86_64/efi/pci.h: Remove.
40876
40877 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
40878 `<grub/cpu/pci.h>'.
40879
40880 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
40881 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
40882 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
40883
40884 * conf/i386-ieee1275.rmk: Likewise.
40885
e14a6184 408862008-08-03 Robert Millan <rmh@aybabtu.com>
40887
40888 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
40889 (grub_console_setcursor): Make it possible to set cursor off.
40890
52768e37 408912008-08-03 Robert Millan <rmh@aybabtu.com>
40892
40893 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
40894 of modules instead of assuming which platform provides what.
40895 * util/update-grub.in: Likewise.
40896
2d52f57f 408972008-08-03 Robert Millan <rmh@aybabtu.com>
40898
40899 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
40900 instead of `grub_install_dos_part' to determine whether a drive needs
40901 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 40902 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 40903
2a5cd121 409042008-08-02 Robert Millan <rmh@aybabtu.com>
40905
40906 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
40907
93808428 409082008-08-02 Robert Millan <rmh@aybabtu.com>
40909
40910 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
40911 of informational grub_dprintf() calls.
40912
3bd0a12a 409132008-08-02 Robert Millan <rmh@aybabtu.com>
40914
40915 * disk/memdisk.c (memdisk_size): Don't initialize.
40916 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
40917
40918 * include/grub/i386/pc/kernel.h
40919 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
40920 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
40921 (grub_memdisk_image_size, grub_arch_memdisk_addr)
40922 (grub_arch_memdisk_size): Remove.
40923
40924 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
40925 field (was only used to transfer a constant). Add `type' field to
40926 support multiple module types.
40927 (grub_module_iterate): New function.
40928
40929 * kern/device.c (grub_device_open): Do not hide error messages
40930 when grub_disk_open() fails. Use grub_print_error() instead.
40931
40932 * kern/i386/pc/init.c (grub_arch_modules_addr)
40933 (grub_arch_memdisk_size): Remove functions.
40934 (grub_arch_modules_addr): Return the module address in high memory
40935 (now that it isn't copied anymore).
40936
40937 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
40938 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
40939 decompression routine (grub_total_module_size already includes that
40940 now). Don't copy modules back to low memory.
40941
40942 * kern/main.c: Include `<grub/mm.h>'.
40943 (grub_load_modules): Split out (and use) ...
40944 (grub_module_iterate): ... this function, which iterates through
40945 module objects and runs a hook.
40946 Comment out grub_mm_init_region() call, as it would cause non-ELF
40947 modules to be overwritten.
40948
40949 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
40950 the memdisk image in its own region, make it part of the module list.
40951 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
40952 (main): Parse --memdisk|-m option, and pass user-provided path as
40953 parameter to generate_image().
40954 (add_segments): Pass `memdisk_path' down to load_modules().
40955 (load_modules): Embed memdisk image in module section when requested.
40956 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
40957 `header.type' instead of `header.offset'.
40958
40959 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
40960 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
40961 (memdisk_mod_LDFLAGS): New variables.
40962 * conf/i386-coreboot.rmk: Likewise.
40963 * conf/i386-ieee1275.rmk: Likewise.
40964
a927cc73 409652008-08-02 Robert Millan <rmh@aybabtu.com>
40966
40967 * loader/i386/pc/multiboot.c (playground, forward_relocator)
40968 (backward_relocator): New variables. Used to allocate and relocate
40969 the payload, respectively.
40970 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 40971 address, install the appropriate relocator code in each bound of
a927cc73 40972 the payload, and set the entry point such that
40973 grub_multiboot_real_boot() will jump to one of them.
40974
40975 * kern/i386/loader.S (grub_multiboot_payload_size)
40976 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40977 (grub_multiboot_payload_entry_offset): New variables.
40978 (grub_multiboot_real_boot): Set cpu context to what the relocator
40979 expects, and jump to the relocator instead of the payload.
40980
40981 * include/grub/i386/loader.h (grub_multiboot_payload_size)
40982 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
40983 (grub_multiboot_payload_entry_offset): Export.
40984
b15d8a0c 409852008-08-01 Bean <bean123ch@gmail.com>
40986
40987 * normal/menu_entry.c (editor_getline): Don't return the original
40988 string as result, as it will be released by lexer once it has done
40989 using it.
40990
cdfb3d22 409912008-08-01 Robert Millan <rmh@aybabtu.com>
40992
40993 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
40994 within menuentries, not before them.
40995 util/grub.d/10_hurd.in: Likewise.
40996
9175e93d 409972008-08-01 Bean <bean123ch@gmail.com>
40998
40999 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41000 (bufio_mod_SOURCES): New macro.
41001 (bufio_mod_CFLAGS): Likewise.
41002 (bufio_mod_LDFLAGS): Likewise.
41003
41004 * include/grub/bufio.h: New file.
41005
41006 * io/bufio.c: Likewise.
41007
41008 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41009 (grub_video_reader_png): Use grub_buffile_open to open file.
41010
41011 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41012 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41013
41014 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41015 (grub_video_reader_tga): Use grub_buffile_open to open file.
41016
41017 * font/manager.c: Include <grub/bufio.h>.
41018 (add_font): Use grub_buffile_open to open file.
41019
3d8383e7 410202008-07-31 Robert Millan <rmh@aybabtu.com>
41021
41022 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41023 ELF segments, use a macro for arbitrarily accessing any of them instead
41024 of preparing a pointer that allows access to one at a time.
41025 (grub_multiboot_load_elf64): Likewise.
41026
16e641b6 410272008-07-31 Bean <bean123ch@gmail.com>
41028
41029 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41030 GRUB_KERNEL_MACHINE_DATA_END.
41031
59198b72 410322008-07-30 Robert Millan <rmh@aybabtu.com>
41033
41034 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41035 Increase from 0x50 to 0x60.
41036 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41037 use UUIDs to identify the root drive for them. If that's not
41038 possible, abort.
41039 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41040 check, for cross-disk installs.
41041
ae88bca3 410422008-07-30 Robert Millan <rmh@aybabtu.com>
41043
41044 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41045 is non-empty, use it to set the `prefix' environment variable instead
41046 of the usual approach.
41047 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41048 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41049 environment variable instead of dummy make_install_device().
41050
41051 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41052 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41053 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41054
41055 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41056 New variable reference.
41057 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41058 New macro. Defines offset of `grub_prefix' within startup.S (relative
41059 to `start').
41060 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41061 section within startup.S (relative to `start').
41062 * include/grub/i386/coreboot/kernel.h: Likewise.
41063
41064 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41065 Overwrite grub_prefix with its contents, at the beginning of the
41066 first segment.
41067 (main): Understand -p|--prefix.
41068
14f41dd1 410692008-07-30 Robert Millan <rmh@aybabtu.com>
41070
41071 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41072
4ca049a3 410732008-07-30 Robert Millan <rmh@aybabtu.com>
41074
41075 * term/i386/pc/vga_text.c (grub_console_cls): Use
41076 grub_console_gotoxy() to go back to beginning of the screen.
41077 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41078
2921d337 410792008-07-29 Christian Franke <franke@computer.org>
41080
41081 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41082 Add conversion of emulated mount points on Cygwin.
41083
b609876d 410842008-07-29 Christian Franke <franke@computer.org>
41085
41086 * util/update-grub.in: Add a check for admin
41087 group on Cygwin.
41088 Remove old `grub.cfg.new' before creation.
41089 Add `-f' to `mv' to handle the different filesystem
41090 semantics of Windows.
41091
e93e4679 410922008-07-29 Bean <bean123ch@gmail.com>
41093
41094 * normal/main.c (get_line): Fix buffer overflow bug.
41095
41694fd0 410962008-07-28 Robert Millan <rmh@aybabtu.com>
41097
41098 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41099 (struct grub_apple_header): New struct. Describes the layout of
41100 the partmap header.
41101 (apple_partition_map_iterate): Check the header magic as well as the
41102 partition magic (which was already being checked).
41103
cfd0b4e6 411042008-07-28 Pavel Roskin <proski@gnu.org>
41105
41106 * genmk.rb: Add a warning to the beginning of the output that
41107 it's a generated file and should not be edited.
41108
93cce016 411092008-07-28 Robert Millan <rmh@aybabtu.com>
41110
41111 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41112 with the same number are found, just use issue a warning with
41113 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41114
cd1df915 411152008-07-27 Robert Millan <rmh@aybabtu.com>
41116
41117 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41118 information.
41119
b70a8427 411202008-07-27 Bean <bean123ch@gmail.com>
41121
41122 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41123 (grub_fat_find_dir): Ignore case when comparing filename.
41124
8f5e379f 411252008-07-27 Bean <bean123ch@gmail.com>
41126
41127 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41128 smallino, as it's more descriptive, and i8count can be confused with
41129 the other field count.
41130 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41131 inode type.
41132
a85cd5a0 411332008-07-27 Bean <bean123ch@gmail.com>
41134
41135 * commands/crc.c: New file.
41136
41137 * lib/crc.c: Likewise.
41138
41139 * include/grub/lib/crc.h: Likewise.
41140
41141 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41142
41143 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41144 (hexdump): Move this function to ...
41145
41146 * lib/hexdump.c: ... here.
41147
41148 * include/grub/hexdump.h: Renamed to ...
41149
41150 * include/grub/lib/hexdump.h: ... this.
41151
41152 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41153
41154 * util/grub-editenv.c: Likewise.
41155
41156 * include/envblk.h: Renamed to ...
41157
41158 * include/lib/envblk.h: ... this.
41159
41160 * util/envblk.c: Renamed to ...
41161
41162 * lib/envblk.c: ... this.
41163
41164 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41165 lib/hexdump.c.
41166 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41167 (pkglib_MODULES): Add crc.mod.
41168 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41169 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41170 (crc_mod_SOURCES): New macro.
41171 (crc_mod_CFLAGS): Likewise.
41172 (crc_mod_LDFLAGS): Likewise.
41173
41174 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41175
41176 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41177
41178 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41179
41180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41181
41182 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41183
c298def0 411842008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41185
41186 * commands/help.c: Include <grub/term.h>.
41187 (TERM_WIDTH): Removed. Updated all users.
41188
cc349fb3 411892008-07-27 Pavel Roskin <proski@gnu.org>
41190
41191 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41192 spurious warnings about a comment within a comment.
41193
9051607e 411942008-07-25 Robert Millan <rmh@aybabtu.com>
41195
41196 * util/getroot.c (find_root_device): Skip devices that match
41197 /dev/dm-[0-9]. This lets the real device be found for any type of
41198 abstraction (LVM, EVMS, RAID..).
41199 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41200 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41201 device is found first, find_root_device() will now skip it.
41202
01453bfc 412032008-07-24 Pavel Roskin <proski@gnu.org>
41204
41205 * include/grub/types.h: Use __builtin_bswap32() and
41206 __builtin_bswap64() with gcc 4.3 and newer.
41207
6af9849f 412082008-07-24 Christian Franke <franke@computer.org>
41209
3a0fa256 41210 * util/i386/pc/grub-install.in: If `--debug' is specified,
41211 pass `--verbose' to grub-setup.
41212 Abort script if make_system_path_relative_to_its_root() fails.
41213
7810e747 412142008-07-24 Bean <bean123ch@gmail.com>
41215
41216 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41217 variable `target_platform' should be `platform'.
41218
42290e17 412192008-07-24 Bean <bean123ch@gmail.com>
41220
51cc5193 41221 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41222 (grub_png_init_fixed_block): New function.
41223 (grub_png_decode_image_data): Handle fixed huffman code compression.
41224
2a8a80e4 412252008-07-24 Bean <bean123ch@gmail.com>
41226
41227 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41228 (grub_pe2elf_SOURCES): New macro.
41229 (CLEANFILES): Add grub-pe2elf.
41230
41231 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41232 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41233 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41234 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41235 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41236 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41237 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41238 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41239 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41240 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41241 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41242 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41243 (GRUB_PE32_DT_FUNCTION): Likewise.
41244 (GRUB_PE32_REL_I386_DIR32): Likewise.
41245 (GRUB_PE32_REL_I386_REL32): Likewise.
41246 (grub_pe32_symbol): New structure.
41247 (grub_pe32_reloc): Likewise.
41248
41249 * util/grub-pe2elf.c: New file.
41250
41251 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41252 start symbol in non pc platform.
41253
41254 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41255
41256 The following patches are from Christian Franke.
41257
41258 * include/grub/dl.h: Remove .previous, gas supports this only
41259 for ELF format.
41260
41261 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41262 Remove .type, gas supports this only for ELF format.
41263
41264 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41265 nullbytes in symbol table. This fixes an infinite loop if table is
41266 zero filled.
41267
41268 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41269 TARGET_IMG_LDFLAGS and EXEEXT.
41270
41271 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41272 TARGET_IMG_LDFLAGS_AC.
41273 (grub_CHECK_STACK_ARG_PROBE): New function.
41274
41275 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41276
41277 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41278
41279 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41280 to set TARGET_IMG_LD* accordingly.
41281 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41282 Add call to grub_CHECK_STACK_ARG_PROBE.
41283 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41284
41285 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41286
41287 * genmk.rb: Add EXEEXT to CLEANFILES.
41288
12ccdb75 412892008-07-23 Robert Millan <rmh@aybabtu.com>
41290
41291 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41292 define the codes for arrows and lines used for the menu).
41293 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41294 as well.
41295
41296 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41297 fonts, because the latter are too slow.
41298
18eeaf04 412992008-07-21 Bean <bean123ch@gmail.com>
41300
41301 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41302 a20. Run keyboard test last, as it will cause macbook to halt.
41303
b095e2ad 413042008-07-18 Pavel Roskin <proski@gnu.org>
41305
41306 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41307 load foreign architecture modules correctly anyway. Keep
41308 support for loading host architecture modules, whether we
41309 compile them or not.
41310
737feb35 413112008-07-17 Pavel Roskin <proski@gnu.org>
41312
3f4ce737 41313 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41314 change target_cpu. The compiler default can mismatch target_cpu
41315 in any case.
41316
4ad2d049 41317 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41318 * kern/efi/efi.c: Likewise.
41319
f6130a12 41320 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41321 target compiler is functional.
41322 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41323 are set up.
41324
58393a2d 41325 * configure.ac: Default to efi platform for x86_64-apple. Allow
41326 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41327 adjustments from the rest, only do them if target is not
41328 explicitly given. Merge other adjustments with the final sanity
41329 check. Remove an extraneous check for supported CPU. Be
41330 specific which CPU and which platform is not supported.
41331
737feb35 41332 * configure.ac: Default to pc platform for x86_64.
41333
546f966a 413342008-07-17 Robert Millan <rmh@aybabtu.com>
41335
41336 Partial LinuxBIOS -> Coreboot rename.
41337
41338 * conf/i386-linuxbios.rmk: Renamed to ...
41339 * conf/i386-coreboot.rmk: ... this.
41340 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41341 * configure.ac: Accept "coreboot" as input platform (but maintain
41342 compatibility with "linuxbios").
41343 * include/grub/i386/linuxbios: Renamed to ...
41344 * include/grub/i386/coreboot: ... this.
41345
20011694 413462008-07-17 Bean <bean123ch@gmail.com>
41347
41348 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41349 (appleldr_mod_SOURCE): New variable.
20011694 41350 (appleldr_mod_CFLAGS): Likewise.
41351 (appleldr_mod_LDFLAGS): Likewise.
41352 (pci_mod_SOURCES): Likewise.
41353 (pci_mod_CFLAGS): Likewise.
41354 (pci_mod_LDFLAGS): Likewise.
41355 (lspci_mod_SOURCES): Likewise.
41356 (lspci_mod_CFLAGS): Likewise.
41357 (lspci_mod_LDFLAGS): Likewise.
41358
41359 * conf/x86_64-efi.rmk: New file.
41360
41361 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41362 macro.
41363 (grub_efidisk_write): Likewise.
41364
41365 * include/efi/api.h (efi_call_0): New macro.
41366 (efi_call_1): Likewise.
41367 (efi_call_2): Likewise.
41368 (efi_call_3): Likewise.
41369 (efi_call_4): Likewise.
41370 (efi_call_5): Likewise.
41371 (efi_call_6): Likewise.
41372
41373 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41374 grub_rescue_cmd_chainloader.
41375
41376 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41377 (grub_pe32_optional_header): Change some fields based on i386 or
41378 x86_64 platform.
41379 (GRUB_PE32_PE32_MAGIC): Likewise.
41380
41381 * include/grub/efi/uga_draw.h: New file.
41382
41383 * include/grub/elf.h (STN_ABS): New constant.
41384 (R_X86_64_NONE): Relocation constant for x86_64.
41385 (R_X86_64_64): Likewise.
41386 (R_X86_64_PC32): Likewise.
41387 (R_X86_64_GOT32): Likewise.
41388 (R_X86_64_PLT32): Likewise.
41389 (R_X86_64_COPY): Likewise.
41390 (R_X86_64_GLOB_DAT): Likewise.
41391 (R_X86_64_JUMP_SLOT): Likewise.
41392 (R_X86_64_RELATIVE): Likewise.
41393 (R_X86_64_GOTPCREL): Likewise.
41394 (R_X86_64_32): Likewise.
41395 (R_X86_64_32S): Likewise.
41396 (R_X86_64_16): Likewise.
41397 (R_X86_64_PC16): Likewise.
41398 (R_X86_64_8): Likewise.
41399 (R_X86_64_PC8): Likewise.
41400
41401 * include/grub/i386/efi/pci.h: New file.
41402
41403 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41404 Change it value based on platform.
41405 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41406 (GRUB_E820_RAM): Likewise.
41407 (GRUB_E820_RESERVED): Likewise.
41408 (GRUB_E820_ACPI): Likewise.
41409 (GRUB_E820_NVS): Likewise.
41410 (GRUB_E820_EXEC_CODE): Likewise.
41411 (GRUB_E820_MAX_ENTRY): Likewise.
41412 (grub_e820_mmap): New structure.
41413 (linux_kernel_header): Change the efi field according to different
41414 kernel version, also field from linux_kernel_header.
41415
41416 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41417
41418 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41419 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41420 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41421 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41422 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41423 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41424 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41425 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41426 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41427 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41428
41429 * include/grub/x86_64/efi/kernel.h: New file.
41430
41431 * include/grub/x86_64/efi/loader.h: Likewise.
41432
41433 * include/grub/x86_64/efi/machine.h: Likewise.
41434
41435 * include/grub/x86_64/efi/pci.h: Likewise.
41436
41437 * include/grub/x86_64/efi/time.h: Likewise.
41438
41439 * include/grub/x86_64/linux.h: Likewise.
41440
41441 * include/grub/x86_64/setjmp.h: Likewise.
41442
41443 * include/grub/x86_64/time.h: Likewise.
41444
41445 * include/grub/x86_64/types.h: Likewise.
41446
41447 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41448 GRUB_TARGET_SIZEOF_VOID_P.
41449
41450 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41451 (grub_efi_locate_handle): Likewise.
41452 (grub_efi_open_protocol): Likewise.
41453 (grub_efi_set_text_mode): Likewise.
41454 (grub_efi_stall): Likewise.
41455 (grub_exit): Likewise.
41456 (grub_reboot): Likewise.
41457 (grub_halt): Likewise.
41458 (grub_efi_exit_boot_services): Likewise.
41459 (grub_get_rtc): Likewise.
41460
41461 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41462 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41463 (grub_efi_allocate_pages): Wrap efi calls.
41464 (grub_efi_free_pages): Wrap efi calls.
41465 (grub_efi_get_memory_map): Wrap efi calls.
41466
41467 * kern/x86_64/dl.c: New file.
41468
41469 * kern/x86_64/efi/callwrap.S: Likewise.
41470
41471 * kern/x86_64/efi/startup.S: Likewise.
41472
41473 * loader/efi/appleloader.c: Likewise.
41474
41475 * loader/efi/chainloader.c (cmdline): New variable.
41476 (grub_chainloader_unload): Wrap efi calls.
41477 (grub_chainloader_boot): Likewise.
41478 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41479 command line.
41480
41481 * loader/efi/chainloader_normal.c (chainloader_command):
41482 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41483 command line.
41484
41485 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41486 method.
41487 (grub_e820_add_region): New function.
41488 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41489 booting.
41490 (grub_find_video_card): New function.
41491 (grub_linux_setup_video): New function.
41492 (grub_rescue_cmd_linux): Probe for video information.
41493
41494 * normal/x86_64/setjmp.S: New file.
41495
41496 * term/efi/console.c (map_char): New function.
41497 (grub_console_putchar): Map unicode char.
41498 (grub_console_checkkey): Wrap efi calls.
41499 (grub_console_getkey): Likewise.
41500 (grub_console_getwh): Likewise.
41501 (grub_console_gotoxy): Likewise.
41502 (grub_console_cls): Likewise.
41503 (grub_console_setcolorstate): Likewise.
41504 (grub_console_setcursor): Likewise.
41505
41506 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41507
59652a20 415082008-07-16 Pavel Roskin <proski@gnu.org>
41509
ef294055 41510 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41511 format strings.
41512
59652a20 41513 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41514 pointer, not an integer. This fixes a warning and prevents
41515 precision loss on 64-bit systems.
41516 (relocate_addresses): Remove unneeded cast.
41517
afc3b5d7 415182008-07-15 Pavel Roskin <proski@gnu.org>
41519
506b2b3e 41520 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41521
62ead89c 41522 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41523
c4cd51d7 41524 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41525 Fix comparison between signed and unsigned.
41526
0d3d8f28 41527 * include/grub/i386/ieee1275/console.h: Declare
41528 grub_console_init() and grub_console_fini().
41529
8804b286 41530 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41531 It's empty and unused.
41532
ee01cf35 41533 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41534 beginning to avoid warnings with some compilers.
41535
afc3b5d7 41536 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41537 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41538
e4e8eaa5 415392008-07-14 Pavel Roskin <proski@gnu.org>
41540
407aceb4 41541 * kern/env.c (grub_register_variable_hook): Don't copy empty
41542 string, it leaks memory. Pass "" to grub_env_set(), it should
41543 handle constant strings.
41544
e4e8eaa5 41545 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41546 * commands/cmp.c (grub_cmd_cmp): Likewise.
41547 * kern/dl.c (grub_dl_flush_cache): Likewise.
41548 (grub_dl_load_core): Likewise.
41549 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41550 (grub_elf64_load_phdrs): Likewise.
41551
d4e2dad3 415522008-07-13 Pavel Roskin <proski@gnu.org>
41553
41554 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41555 between signed and unsigned.
41556 (LzmaEnc_Finish): Fix warning about an unused parameter.
41557
aa24b516 415582008-07-13 Bean <bean123ch@gmail.com>
41559
41560 * Makefile.in (enable_lzo): New rule.
41561
41562 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41563
41564 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41565
41566 * boot/i386/pc/lnxboot.S: #include <config.h>.
41567
41568 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 41569 its value according to the compression algorithm used, lzo or lzma.
aa24b516 41570
41571 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41572 compression algorithm according to configure macro.
41573
41574 * kern/i386/pc/startup.S (codestart): Likewise.
41575
41576 * kern/i386/pc/lzma_decode.S: New file.
41577
41578 * include/grub/lib/LzFind.h: Likewise.
41579
41580 * include/grub/lib/LzHash.h: Likewise.
41581
41582 * include/grub/lib/LzmaDec.h: Likewise.
41583
41584 * include/grub/lib/LzmaEnc.h: Likewise.
41585
41586 * include/grub/lib/LzmaTypes.h: Likewise.
41587
41588 * lib/LzFind.c: Likewise.
41589
41590 * lib/LzmaDec.c: Likewise.
41591
41592 * lib/LzmaEnc.c: Likewise.
41593
4ae821ac 415942008-07-13 Bean <bean123ch@gmail.com>
41595
41596 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41597 (grub_ext4_extent_header): New structure.
41598 (grub_ext4_extent): Likewise.
41599 (grub_ext4_extent_idx): Likewise.
41600 (grub_ext4_find_leaf): New function.
41601 (grub_ext2_read_block): Handle extents.
41602
9a745147 416032008-07-12 Robert Millan <rmh@aybabtu.com>
41604
41605 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41606
d49a4cf6 416072008-07-11 Robert Millan <rmh@aybabtu.com>
41608
41609 * util/grub.d/40_custom.in: New file. Example on how to add custom
41610 entries to /etc/grub.d.
41611 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41612 40_custom (implicitly, by merging all the grub.d rules).
41613
947414b4 416142008-07-11 Pavel Roskin <proski@gnu.org>
41615
0059cf6f 41616 * commands/read.c (grub_getline): Fix invalid memory access.
41617 Don't add newline to the variable value.
41618
947414b4 41619 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41620 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41621 (serial_hw_get_port): Check validity of the port number.
41622 (grub_cmd_serial): Check return value of serial_hw_get_port().
41623
62a02d00 416242008-07-07 Pavel Roskin <proski@gnu.org>
41625
41626 * boot/i386/pc/diskboot.S (notification_string): Replace
41627 "Loading kernel" with just "loading". This is shorter, less
41628 confusing and saves a few bytes for possible future changes.
41629
3e5581b0 416302008-07-05 Pavel Roskin <proski@gnu.org>
41631
ea387a48 41632 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41633 size for ATAPI devices, they are undefined. Output sector
41634 number in decimal form.
41635
3e5581b0 41636 * disk/ata.c: Use named constants for status bits.
41637
fdecb8fd 416382008-07-04 Pavel Roskin <proski@gnu.org>
41639
bcd35b90 41640 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41641 grub_addr_t before casting it to the void pointer to fix a
41642 warning. Non-addressable regions are discarded earlier.
41643 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41644 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41645 (check_signature): Don't shadow table_header.
41646 (grub_linuxbios_table_iterate): Cast numeric constants to
41647 grub_linuxbios_table_header_t.
41648 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41649 grub_stop().
41650
af58ab3d 41651 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41652 prevent warnings.
41653
1759aa57 41654 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41655 pointer, which can cause warnings. Support 64-bit addresses.
41656
fdecb8fd 41657 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41658 of sizeof(long). This fixes PowerPC image generation on x86_64.
41659
8516d2a8 416602008-07-04 Robert Millan <rmh@aybabtu.com>
41661
41662 This fixes a performance issue when pc & gpt partmap iterators
41663 didn't abort iteration even after our hook found what it was
fe987087 41664 looking for (often causing expensive probes of non-existent drives).
8516d2a8 41665
41666 Some callers relied on previous buggy behaviour, since they would
34c44600 41667 raise an error when their own hooks caused early abortion of its
8516d2a8 41668 iteration.
41669
41670 * kern/device.c (grub_device_open): Improve error message.
41671 * disk/lvm.c (grub_lvm_open): Likewise.
41672 * disk/raid.c (grub_raid_open): Likewise.
41673
41674 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41675 when hook requests it, independently of grub_errno.
41676 (pc_partition_map_probe): Do not fail when find_func() caused
41677 early abortion of pc_partition_map_iterate().
41678
41679 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41680 when hook requests it, independently of grub_errno.
41681 (gpt_partition_map_probe): Do not fail when find_func() caused
41682 early abortion of gpt_partition_map_iterate().
41683
41684 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41685 when hook requests it, independently of grub_errno. Do not fail when
41686 part_map_iterate_hook() caused early abortion of p->iterate().
41687
41688 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41689 when grub_partition_iterate() returned with non-zero.
41690
277d0de9 416912008-07-03 Pavel Roskin <proski@gnu.org>
41692
41693 * disk/ata.c (grub_ata_pio_write): Check status before writing,
41694 like we do in grub_ata_pio_read().
41695 (grub_ata_readwrite): Always write individual sectors. Fix the
41696 sector count for the remainder.
41697 (grub_ata_write): Enable writing to ATA devices. Correctly
41698 report error for ATAPI devices.
41699
d4c9b428 417002008-07-02 Pavel Roskin <proski@gnu.org>
41701
e43fc690 41702 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
41703 warning.
41704
f707af42 41705 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
41706 for every read sector, we already increment it for the whole
41707 batch. This fixes reading more than 256 sectors at once.
41708
11e16b15 41709 * util/grub-editenv.c (cmd_info): Cast argument to long
41710 explicitly. ptrdiff_t reduces to int on i386.
41711
cbabfdd4 41712 * util/grub-editenv.c (main): Be specific which parameter is
41713 missing.
41714
b8fbce0a 41715 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
41716 (memdisk): Make memdisk_orig_addr a pointer.
41717
c9c8e606 41718 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
41719 for file offsets, use grub_off_t instead. Fix printf format
41720 warnings.
41721
ca62e598 41722 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
41723 there. Real unexpected warnings should not drown in the noise
41724 about known problems.
41725
ce8d1766 41726 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
41727 grub_disk_addr_t for memory addresses.
41728
00c7a56a 41729 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
41730 explicitly to fix a warning.
41731
08d3ef09 41732 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
41733
cb71ba20 41734 * Makefile.in (MODULE_LDFLAGS): New variable.
41735 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
41736 the linker accepts --build-id=none.
41737 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
41738 MODULE_LDFLAGS.
41739 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
41740
d4c9b428 41741 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
41742 those in Linux XFS code. Provide a way to access 64-bit parent
41743 inode.
41744 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
41745 the end of struct grub_xfs_dir_header.
41746
d4156eee 417472008-07-02 Bean <bean123ch@gmail.com>
41748
41749 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
41750 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41751 and GRUB_IEEE1275_FLAG_NO_ANSI.
41752
41753 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
41754 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41755 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
41756
41757 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
41758 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
41759
41760 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
41761 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
41762
41763 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
41764 esc sequence on non ANSI terminal.
41765 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
41766
41767 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
41768 beginning of file.
41769
2270f77b 417702008-07-02 Bean <bean123ch@gmail.com>
41771
41772 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
41773 (grub_editenv_SOURCES): New variable.
41774 (pkglib_MODULES): Add loadenv.mod.
41775 (loadenv_mod_SOURCES): New variable.
41776 (loadenv_mod_CFLAGS): Likewise.
41777 (loadenv_mod_LDFLAGS): Likewise.
41778
41779 * include/grub/envblk.h: New file.
41780
41781 * util/envblk.c: New file.
41782
41783 * util/grub-editenv.c: New file.
41784
41785 * commands/loadenv.c: New file.
41786
0e9e51ec 417872008-07-01 Pavel Roskin <proski@gnu.org>
41788
d89b7634 41789 * include/multiboot2.h (struct multiboot_tag_module): Use char,
41790 not unsigned char. This fixes warnings and is consistent with
41791 other tags.
41792
bf1835b1 41793 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
41794
8222a04b 41795 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
41796
6a42d99d 41797 * term/tparm.c (analyze): Always set *popcount.
41798
10b159d1 41799 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
41800 cast to fix a warning.
41801
b8789f6c 41802 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
41803 cast to suppress a warning.
41804
29d7e38a 41805 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
41806 grub_fshelp_read_file() expects.
41807
f341f669 41808 * fs/fat.c: Fix UUID calculation on big-endian systems. We
41809 write uuid as a 32-bit value in CPU byte order, so declare and
41810 use it as such.
41811
0e9e51ec 41812 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
41813 long if the format specifier expects it.
41814 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
41815 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41816 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
41817 long to fix a warning.
41818 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
41819 grub_dprintf() arguments to fix warnings.
41820
3aefa857 418212008-06-30 Pavel Roskin <proski@gnu.org>
41822
56c7668b 41823 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
41824 install_bsd_part immediately before core.img is embedded or
41825 modified on disk. This fixes core.img verification if core.img
41826 cannot be embedded.
41827
3aefa857 41828 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
41829 core_path to calculate the blocklist.
41830 Patch from Javier Martín <lordhabbit@gmail.com>
41831
5444088d 418322008-06-29 Robert Millan <rmh@aybabtu.com>
41833
41834 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
41835 block to disk block.
41836 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
41837 Patch from Niels Böhm <bitbucket@arcor.de>
41838
674835c8 418392008-06-29 Robert Millan <rmh@aybabtu.com>
41840
41841 * util/update-grub_lib.in (font_path): Search for fonts in
41842 /boot/grub first, which is more likely to be readable (we aren't
41843 deciding where fonts live, just looking for them).
41844
f527dbc8 418452008-06-26 Pavel Roskin <proski@gnu.org>
41846
6c2d8df6 41847 * util/biosdisk.c (read_device_map): Don't leave dead map
41848 entries for devices failing stat() check.
41849
f527dbc8 41850 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
41851 core_path_dev for the core.img path on the target device.
41852
aebe3d13 418532008-06-26 Robert Millan <rmh@aybabtu.com>
41854
41855 * disk/fs_uuid.c: New file.
41856 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
41857 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
41858 (fs_uuid_mod_LDFLAGS): New variables.
41859 * include/grub/disk.h (grub_disk_dev_id): Add
41860 `GRUB_DISK_DEVICE_UUID_ID'.
41861 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
41862 implement iterate().
41863
37aaf354 418642008-06-26 Robert Millan <rmh@aybabtu.com>
41865
41866 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
41867 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
41868 Linux image includes no initrd.
41869
25ff262a 418702008-06-21 Javier Martín <lordhabbit@gmail.com>
41871
41872 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
41873 call to resolve the core image location that effectively appended the
41874 name twice.
41875
76a2bd44 418762008-06-21 Robert Millan <rmh@aybabtu.com>
41877
41878 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
41879 call from here ...
41880
41881 * util/grub.d/10_hurd.in: ... to here ...
41882 * util/grub.d/10_linux.in: ... and here.
41883
650e1c79 418842008-06-19 Robert Millan <rmh@aybabtu.com>
41885
fe987087 41886 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 41887 after it has been set by grub_machine_set_prefix().
41888
6ce63911 418892008-06-19 Robert Millan <rmh@aybabtu.com>
41890
41891 * commands/search.c (search_label, search_fs_uuid, search_file): Print
41892 search result when not saving to variable, not the other way around.
41893 When saving to variable, abort iteration as soon as a match is found.
41894
73940cec 418952008-06-19 Robert Millan <rmh@aybabtu.com>
41896
41897 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
41898 check for partition that provides /boot/grub. Its logic is flawed,
41899 as it prevents prepare_grub_to_access_device() from being called
41900 multiple times.
41901
3c62a39d 419022008-06-19 Robert Millan <rmh@aybabtu.com>
41903
41904 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
41905 "insmod" command directly when abstraction modules are needed,
fe987087 41906 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 41907 since it had already been processed).
41908
47395a42 419092008-06-19 Pavel Roskin <proski@gnu.org>
41910
41911 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
41912 changed. This is needed in case GRUB_LIBDIR changes.
41913 * conf/i386-ieee1275.rmk: Likewise.
41914 * conf/i386-linuxbios.rmk: Likewise.
41915 * conf/i386-pc.rmk: Likewise.
41916 * conf/powerpc-ieee1275.rmk: Likewise.
41917
a145ac2d 419182008-06-18 Pavel Roskin <proski@gnu.org>
41919
41920 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
41921 kernel_elf_symlist.c to symlist.c for consistency with other
41922 architectures. Update all users.
41923 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41924
7847c51e 419252008-06-18 Robert Millan <rmh@aybabtu.com>
41926
41927 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
41928 it in prefix.
41929
41930 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
41931 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
41932 a RAID device, run setup() for all members independently on whether
41933 LVM abstraction is being used.
41934 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
41935 If grub-mkimage has set `*install_dos_part == -2', don't override this
41936 value.
41937 Perform *install_dos_part adjustments independently on whether
41938 we're embedding or not.
41939 Clarify error message when image is too big for embedding.
41940 Remove duplicate *install_dos_part stanza.
41941
b23e5644 419422008-06-17 Robert Millan <rmh@aybabtu.com>
41943
41944 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
41945 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
41946 variables.
41947 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
41948 values in grub_ofconsole_normal_color and
41949 grub_ofconsole_highlight_color (they're not directly related to
41950 background and foreground).
41951 (grub_ofconsole_setcolorstate): Extract background and foreground
41952 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
41953
0aac2f79 419542008-06-17 Robert Millan <rmh@aybabtu.com>
41955
41956 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
41957 /boot/grub for the check in last commit, not /boot (they could be
41958 different partitions).
41959
3cca7ef3 419602008-06-16 Robert Millan <rmh@aybabtu.com>
41961
41962 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
41963 asked to setup access for the same partition that provides /boot,
41964 don't bother using UUIDs since our root already has the value we
41965 want.
41966
347396d8 419672008-06-16 Robert Millan <rmh@aybabtu.com>
41968
41969 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
41970 I2O devices.
41971 Patch from Sven Mueller <sven@debian.org>.
41972
991477f8 419732008-06-16 Robert Millan <rmh@aybabtu.com>
41974
41975 * util/update-grub.in: Check for $EUID instead of $UID.
41976 Reported by Vincent Zweije.
41977
d31a32a1 419782008-06-16 Bean <bean123ch@gmail.com>
41979
fe987087 41980 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 41981 (grub_ext2_read_block): Likewise.
41982 (grub_ext2_read_inode): Likewise.
41983 (grub_ext2_mount): Likewise.
41984 (grub_ext2_close): Likewise.
41985 (grub_ext3_get_journal): Removed.
41986
fe987087 41987 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 41988 (grub_reiserfs_read_symlink): Likewise.
41989 (grub_reiserfs_mount): Likewise.
41990 (grub_reiserfs_open): Likewise.
41991 (grub_reiserfs_read): Likewise.
41992 (grub_reiserfs_close): Likewise.
41993 (grub_reiserfs_get_journal): Removed.
41994
41995 * fs/fshelp.c (grub_fshelp_read): Removed.
41996 (grub_fshelp_map_block): Likewise.
41997
41998 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
41999 (grub_fshelp_journal): Likewise.
42000 (grub_fshelp_read): Likewise.
42001 (grub_fshelp_map_block): Likewise.
42002
3540a760 420032008-06-16 Pavel Roskin <proski@gnu.org>
42004
42005 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42006 floating point anymore.
42007 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42008
95614c84 420092008-06-15 Pavel Roskin <proski@gnu.org>
42010
42011 * commands/ls.c (grub_ls_list_files): Use integer calculations
42012 for human readable format, avoid floating point use.
42013 * kern/misc.c (grub_ftoa): Remove.
42014 (grub_vsprintf): Remove floating point support.
42015
50465dd6 420162008-06-15 Robert Millan <rmh@aybabtu.com>
42017
fe6b695a 42018 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42019 devices.
42020 Reported by Max Vozeler.
42021
a9207284 420222008-06-15 Robert Millan <rmh@aybabtu.com>
42023
42024 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42025 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42026 skipped later.
42027 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42028 the beginning of the prefix.
42029
42030 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42031 It is assumed that if we have a memdisk, grub-mkimage has set
42032 grub_prefix to include the "(memdisk)" drive in it.
42033
a7cbd45a 420342008-06-15 Robert Millan <rmh@aybabtu.com>
42035
42036 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42037 Initialize keyboard controller after registering the terminal, so that
42038 grub_printf() can be called from grub_keyboard_controller_init().
42039
21cf716a 420402008-06-15 Robert Millan <rmh@aybabtu.com>
42041
42042 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42043 extent-btree which is written as big endian on disk.
42044 Reported by Alain Greppin <al@chilibi.org>.
42045
23a64d8e 420462008-06-14 Robert Millan <rmh@aybabtu.com>
42047
42048 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42049 * util/i386/pc/grub-install.in (modules): Likewise.
42050
d687651c 420512008-06-13 Pavel Roskin <proski@gnu.org>
42052
42053 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42054
dfe9ddd4 420552008-06-13 Bean <bean123ch@gmail.com>
42056
42057 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42058
42059 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42060
42061 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42062 to indicate sparse block.
42063
16ae7781 420642008-06-12 Pavel Roskin <proski@gnu.org>
42065
e6d1a308 42066 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42067 number, grub_fshelp_read() does it for us.
42068
16ae7781 42069 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42070 linear disk read with journal translation.
42071 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42072 * include/grub/fshelp.h: Declare grub_fshelp_read().
42073
40fd3a2b 420742008-06-09 Pavel Roskin <proski@gnu.org>
42075
42076 * fs/minix.c (grub_minix_mount): Handle error reading
42077 superblock.
42078
f5679726 420792008-06-08 Robert Millan <rmh@aybabtu.com>
42080
42081 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42082 don't append the RAID prefix afterwards.
42083 Reported by Clint Adams.
42084
ce525529 420852008-06-08 Robert Millan <rmh@aybabtu.com>
42086
42087 Based on description from Pavel:
42088 * kern/disk.c (grub_disk_check_range): Rename to ...
42089 (grub_disk_adjust_range): ... this. Add a comment explaining the
42090 tasks performed by this function.
42091
ad4936a0 420922008-06-08 Robert Millan <rmh@aybabtu.com>
42093
42094 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42095 `num_serial' (for consistency with other variables).
42096 (struct grub_ntfs_data): Add `uuid' member.
42097 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42098 (grub_ntfs_uuid): New function.
42099 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42100
dc20b0f9 421012008-06-07 Pavel Roskin <proski@gnu.org>
42102
42103 * util/biosdisk.c (open_device): Revert last change to the
42104 function, it broke installation. The sector needs to be
42105 different dependent on which device is opened.
42106
c5e3cfba 421072008-06-06 Robert Millan <rmh@aybabtu.com>
42108
42109 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42110 rest of GRUB, and breakage doesn't happen if its value were modified.
42111
42112 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42113 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42114 a constant (same value).
42115 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42116 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42117
26a1f8c4 421182008-06-06 Robert Millan <rmh@aybabtu.com>
42119
42120 * util/biosdisk.c (open_device): Do not modify sector offset when
42121 accessing a partition. kern/disk.c already handles this for us.
42122
25d6b327 421232008-06-06 Robert Millan <rmh@aybabtu.com>
42124
42125 * util/grub-emu.c (grub_machine_init): Move code in this function from
42126 here ...
42127 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42128 segfault in case grub_printf() is called).
42129
42130 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42131 grub_probe. Update all users not to explicitly add it again.
42132 (grub_device): New variable; contains corresponding device for grubdir.
42133 (fs_module, partmap_module, devabstraction_module): Pass
42134 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42135 every time.
42136
9ece62fb 421372008-06-05 Robert Millan <rmh@aybabtu.com>
42138
42139 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42140 is found, print it (same layout as with labels).
42141
1ad36d37 421422008-06-04 Robert Millan <rmh@aybabtu.com>
42143
42144 * util/biosdisk.c (get_drive): Rename to ...
42145 (find_grub_drive): ... this. Update all users.
42146
42147 (get_os_disk): Rename to ...
42148 (convert_system_partition_to_system_disk): ... this. Update all users.
42149
42150 (find_drive): Rename to ...
42151 (find_system_device): ... this. Update all users.
42152
e6a30859 421532008-06-04 Robert Millan <rmh@aybabtu.com>
42154
42155 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42156 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42157 (make_device_map): Likewise.
42158
00c108a4 421592008-06-01 Robert Millan <rmh@aybabtu.com>
42160
42161 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42162 before dereferencing it.
42163
42164 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42165 union with fat12/fat16-specific ones. Add some new fields, including
42166 `num_serial' for both versions.
42167 (struct grub_fat_data): Add `uuid' member.
42168 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42169 names. Initialize `data->uuid' using `num_serial'.
42170 (grub_fat_uuid): New function.
42171 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42172
42173 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42174 (grub_reiserfs_uuid): New function.
42175 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42176 member.
42177
42178 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42179 (grub_xfs_uuid): New function.
42180 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42181
1385c5bb 421822008-06-01 Robert Millan <rmh@aybabtu.com>
42183
42184 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42185 code that is backward compatible with pre-uuid search command.
42186
c682dfd7 421872008-05-31 Robert Millan <rmh@aybabtu.com>
42188
42189 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42190 floppies after everything else, to ensure floppy drive isn't accessed
42191 unnecessarily (patch from Bean).
42192
b7db5d47 421932008-05-31 Robert Millan <rmh@aybabtu.com>
42194
42195 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42196 not print device names when we were asked to set a variable.
42197
6e037aa9 421982008-05-31 Robert Millan <rmh@aybabtu.com>
42199
42200 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42201 using "cursor-on" and "cursor-off" commands (understood at least by
42202 the Open Firmware flavour on OLPC).
42203
41305bc8 422042008-05-31 Michael Gorven <michael@gorven.za.net>
42205
42206 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42207 on and off sequences.
42208
69ba137e 422092008-05-31 Robert Millan <rmh@aybabtu.com>
42210
42211 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42212 * util/update-grub.in: Likewise.
42213
520ae21b 422142008-05-30 Pavel Roskin <proski@gnu.org>
42215
42216 * util/biosdisk.c (linux_find_partition): Simplify logic and
42217 make the code more universal. Keep special processing for
42218 devfs, but use a simple rule for all other devices. If the
42219 device ends with a number, append 'p' and the partition number.
42220 Otherwise, append only the partition number.
42221
5786569b 422222008-05-30 Robert Millan <rmh@aybabtu.com>
42223
42224 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42225 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42226 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42227 the `root' parameter to Linux.
42228
51500452 422292008-05-30 Robert Millan <rmh@aybabtu.com>
42230
42231 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42232 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42233 --fs_uuid with --fs-uuid.
42234 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42235 all filesystems support them).
42236
811d3878 422372008-05-30 Robert Millan <rmh@aybabtu.com>
42238
42239 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42240 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42241
cab63c95 422422008-05-30 Robert Millan <rmh@aybabtu.com>
42243
42244 * util/grub.d/00_header.in: Remove obsolete comment referencing
42245 convert_system_path_to_grub_path().
42246 * util/update-grub.in: Likewise.
42247 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42248 (convert_system_path_to_grub_path): Add a warning message explaining
42249 that this function is deprecated. Rely on is_path_readable_by_grub()
42250 for the readability checks.
42251 (font_path): Use is_path_readable_by_grub() for the readability
42252 check rather than convert_system_path_to_grub_path().
42253
972e2f7a 422542008-05-30 Robert Millan <rmh@aybabtu.com>
42255
42256 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42257 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42258 converting it first.
42259 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42260 grub.cfg for access to font file, and afterwards call it again to set
42261 the root device.
42262
62191274 422632008-05-30 Robert Millan <rmh@aybabtu.com>
42264
42265 * commands/search.c (options): Add --fs_uuid option.
42266 (search_fs_uuid): New function.
42267 (grub_cmd_search): Fix --set argument passing.
42268 Use search_fs_uuid() when requested via --fs_uuid.
42269 (grub_search_init): Update help message.
42270 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42271 and redeclare it as an array of 16-bit words.
42272 (grub_ext2_uuid): New function.
42273 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42274 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42275 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42276 (GRUB_DEVICE_BOOT_UUID): New variables.
42277 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42278 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42279 whenever possible.
42280 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42281 just assume `root' variable has the right value.
42282 * util/grub.d/10_linux.in: Likewise.
42283 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42284 via PRINT_FS_UUID.
42285 (main): Recognise `-t fs_uuid' argument.
42286
01b73ec8 422872008-05-30 Robert Millan <rmh@aybabtu.com>
42288
42289 * util/biosdisk.c (map): Redefine structure to hold information
42290 about GRUB drive name.
fe6b695a 42291 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42292 drive names.
42293 (call_hook): Remove.
42294 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42295 member. Assume drive has partitions.
42296 (grub_util_biosdisk_open): Access device names via `.device' struct
42297 member.
42298 (open_device): Likewise.
42299 (find_drive): Likewise.
42300 (read_device_map): Adjust map[] usage to match the new struct
42301 definition. Don't check for duplicates (still possible, but not cheap
42302 anymore).
42303 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42304 (make_device_name): Remove assumption of BIOS-like drive names.
42305
22f16596 423062008-05-30 Pavel Roskin <proski@gnu.org>
42307
42308 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42309 compiling execute.c doesn't need grub_script.tab.h anymore.
42310 (normal/command.c_DEPENDENCIES): Likewise.
42311 (normal/function.c_DEPENDENCIES): Likewise.
42312 * conf/i386-ieee1275.rmk: Likewise.
42313 * conf/i386-linuxbios.rmk: Likewise.
42314 * conf/i386-pc.rmk: Likewise.
42315 * conf/powerpc-ieee1275.rmk: Likewise.
42316 * conf/sparc64-ieee1275.rmk: Likewise.
42317
528ad8f2 423182008-05-29 Pavel Roskin <proski@gnu.org>
42319
d1dff95d 42320 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42321 when scanning metadata for volume group name.
42322
528ad8f2 42323 * include/grub/script.h: Don't include grub_script.tab.h. It's
42324 a generated file, which may only be included from the files with
42325 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42326 use union YYSTYPE, as the later allows forward declaration.
42327 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42328
47248e08 423292008-05-29 Robert Millan <rmh@aybabtu.com>
42330
42331 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42332 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42333 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42334 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42335 scan codes.
42336
ee632529 423372008-05-29 Robert Millan <rmh@aybabtu.com>
42338
42339 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42340 control key combinations.
42341
eee96e08 423422008-05-29 Robert Millan <rmh@aybabtu.com>
42343
42344 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42345 * util/ieee1275/grub-install.in: ... to here.
42346 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42347 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42348 (grub_install_SOURCES): Likewise.
42349
da9a6a94 423502008-05-29 Robert Millan <rmh@aybabtu.com>
42351
42352 * fs/affs.c: Update copyright year.
42353 * fs/ext2.c: Likewise.
42354 * fs/fshelp.c: Likewise.
42355 * fs/hfsplus.c: Likewise.
42356 * fs/ntfs.c: Likewise.
42357 * fs/xfs.c: Likewise.
42358 * include/grub/fshelp.h: Likewise.
42359 * util/grub-mkdevicemap.c: Likewise.
42360
12e65f3a 423612008-05-28 Robert Millan <rmh@aybabtu.com>
42362
42363 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42364 might need to be fatfs to support some firmware implementations
42365 (e.g. OFW or EFI).
42366
23023641 423672008-05-28 Robert Millan <rmh@aybabtu.com>
42368
42369 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42370 devices.
42371 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42372 (make_device_map): Likewise.
42373
887d2619 423742008-05-20 Bean <bean123ch@gmail.com>
42375
42376 * fs/fshelp.c (grub_fshelp_map_block): New function.
42377 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42378 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42379
42380 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42381 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42382 (grub_fshelp_journal): New structure.
42383 (grub_fshelp_map_block): New function prototype.
42384 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42385 (grub_fshelp_map_block): Likewise.
42386
42387 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42388 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42389 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42390 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42391 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42392 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42393 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42394 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42395 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42396 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42397 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42398 (grub_ext2_sblock): New members for journal support.
42399 (grub_ext3_journal_header): New structure.
42400 (grub_ext3_journal_revoke_header): Likewise.
42401 (grub_ext3_journal_block_tag): Likewise.
42402 (grub_ext3_journal_sblock): Likewise.
42403 (grub_fshelp_node): New members logfile and journal.
42404 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42405 grub_fshelp_map_block to get real block number.
42406 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42407 number.
42408 (grub_ext2_read_inode): Likewise.
42409 (grub_ext3_get_journal): New function.
42410 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42411 (grub_ext2_close): Release memory used by journal.
42412
42413 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42414 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42415 (grub_reiserfs_transaction_header): Renamed to
42416 grub_reiserfs_description_block, replace field data with real_blocks.
42417 (grub_reiserfs_commit_block): New structure.
42418 (grub_reiserfs_data): New member journal.
42419 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42420 number.
42421 (grub_reiserfs_read_symlink): Likewise.
42422 (grub_reiserfs_iterate_dir): Likewise.
42423 (grub_reiserfs_open): Likewise.
42424 (grub_reiserfs_read): Likewise.
42425 (grub_reiserfs_get_journal): New function.
42426 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42427 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42428 using grub_reiserfs_get_journal.
42429 (grub_reiserfs_close): Release memory used by journal.
42430
42431 * fs/affs.c (grub_affs_read_block): Change block type to
42432 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42433
42434 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42435
42436 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42437
42438 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42439
42440 * fs/udf.c (grub_udf_read_block): Change block type to
42441 grub_disk_addr_t. Use type cast to avoid warning.
42442
42443 * fs/xfs.c (grub_xfs_read_block): Likewise.
42444
b7c6bed5 424452008-05-16 Christian Franke <franke@computer.org>
42446
42447 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42448 to ensure that break with ESC will always work.
42449 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42450 Remove ESC from keyboard queue.
42451
eedf167f 424522008-05-16 Christian Franke <franke@computer.org>
42453
42454 * util/biosdisk.c: [__CYGWIN__] Add includes.
42455 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42456 (get_os_disk): Move variable declarations to OS specific
42457 parts to avoid warning.
42458 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42459 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42460 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42461 Cygwin.
42462 * util/getroot.c: [__CYGWIN__] Add includes.
42463 (strip_extra_slashes): Fix "/" case.
42464 [__CYGWIN__] (get_win32_path): New function.
42465 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42466 [__CYGWIN__] (find_root_device): Disable.
42467 [__CYGWIN__] (get_bootsec_serial): New function.
42468 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42469 [__linux__] (grub_guess_root_device): Add early returns to simplify
42470 structure.
42471 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42472 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42473 check for Linux only.
42474
a079699e 424752008-05-15 Bean <bean123ch@gmail.com>
42476
42477 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42478 keyboard hang problem in apple's intel mac.
42479
1cf4059a 424802008-05-09 Robert Millan <rmh@aybabtu.com>
42481
42482 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42483 devices.
42484 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42485 (make_device_map): Likewise.
42486 Reported by Aurelien Jarno <aurel32@debian.org>
42487
ed759390 424882008-05-07 Ian Campbell <ijc@hellion.org.uk>
42489
42490 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42491 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42492 (make_device_map): Output entries for xvd type disks.
42493
b56c4eaa 424942008-05-07 Robert Millan <rmh@aybabtu.com>
42495
42496 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42497 devices.
42498 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42499 (make_device_map): Likewise.
42500 Reported by Roland Dreier <rdreier@cisco.com>
42501
7f8866ed 425022008-05-07 Robert Millan <rmh@aybabtu.com>
42503
42504 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42505 grub_strstr() call. Correct a few mistakes in failure path handling.
42506
b0346e0f 425072008-05-06 Robert Millan <rmh@aybabtu.com>
42508
42509 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42510 Do not print a trailing slash (therefore, the root directory is an
42511 empty string).
42512 (convert_system_path_to_grub_path): Do not remove trailing slash
42513 from make_system_path_relative_to_its_root() output.
42514
42515 * util/i386/pc/grub-install.in: Add trailing slash to output from
42516 make_system_path_relative_to_its_root().
42517
6cf12cbd 425182008-05-06 Robert Millan <rmh@aybabtu.com>
42519
42520 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42521 ensures that output lines aren't intermangled with those sent to
42522 stderr (via grub_util_info()).
42523 * util/grub-probe.c (grub_refresh): Likewise.
42524 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42525
0fbb3117 425262008-05-05 Christian Franke <franke@computer.org>
42527
42528 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42529 Add Cygwin device names.
42530 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42531 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42532 (check_device): Return error instead of success on empty name.
42533 (make_device_map): Move label inside linux specific code to
42534 prevent compiler warning.
42535
8124cdb7 425362008-04-30 Robert Millan <rmh@aybabtu.com>
42537
42538 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42539 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42540 first boot option.
42541 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42542
094c01d0 425432008-04-29 Robert Millan <rmh@aybabtu.com>
42544
42545 * docs/grub.cfg: New file (example GRUB configuration).
42546
f4b1fc02 425472008-04-26 Robert Millan <rmh@aybabtu.com>
42548
329ce2a5 42549 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42550 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42551 and `disk/ieee1275/nand.c'.
f4b1fc02 42552
25f16ec1 425532008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 42554
25f16ec1 42555 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42556 i386-linuxbios.
42557
42558 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42559 change the buffer size to 4096 for cdrom device.
42560
42561 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42562 and nand.mod.
42563 (_linux_mod_SOURCES): New variable.
42564 (_linux_mod_CFLAGS): Likewise.
42565 (_linux_mod_LDFLAGS): Likewise.
42566 (linux_mod_SOURCES): Likewise.
42567 (linux_mod_CFLAGS): Likewise.
42568 (linux_mod_LDFLAGS): Likewise.
42569 (nand_mod_SOURCES): Likewise.
42570 (nand_mod_CFLAGS): Likewise.
42571 (nand_mod_LDFLAGS): Likewise.
42572
42573 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42574 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42575 type property. (nand device in olpc don't have this property)
42576
42577 * include/grub/disk.h (grub_disk_dev_id): New macro
42578 GRUB_DISK_DEVICE_NAND_ID.
42579
42580 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42581 function prototype.
42582 (grub_rescue_cmd_initrd): Likewise.
42583
42584 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42585 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42586 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 42587
25f16ec1 42588 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42589 GRUB_MACHINE_IEEE1275 is defined.
42590
42591 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42592 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42593
42594 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42595 on nested function heap_init.
42596 (grub_upper_mem): New variable for i386-ieee1275.
42597 (grub_get_extended_memory): New function for i386-ieee1275.
42598 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42599
42600 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42601 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42602 property.
f19dbdb7 42603
25f16ec1 42604 * loader/i386/ieee1275/linux.c: New file.
42605
42606 * loader/i386/ieee1275/linux_normal.c: New file.
42607
42608 * disk/ieee1275/nand.c: New file.
42609
e89d61e9 426102008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42611
42612 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42613 value.
42614 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42615
602566f6 426162008-04-18 Robert Millan <rmh@aybabtu.com>
42617
42618 Restructures early code path on ieee1275 to unify grub_main() as
42619 the first C function that is executed in every platform.
42620
42621 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42622 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42623 cmain().
42624 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42625 * kern/ieee1275/cmain.c (cmain): Rename to ...
42626 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42627 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42628 at the beginning.
42629
57490c2b 426302008-04-18 Robert Millan <rmh@aybabtu.com>
42631
42632 * util/update-grub.in: Fix syntax error when setting
42633 `GRUB_PRELOAD_MODULES'.
42634 Reported by Stephane Chazelas <stephane@artesyncp.com>
42635
1977517d 426362008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42637
42638 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42639 section into account, newer toolchains generate unique build ids
42640 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 42641 we want build ids to be preserved
1977517d 42642 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42643 far from other sections don't cause the raw binary images grow
42644 size
42645
bfb1f1a2 426462008-04-15 Robert Millan <rmh@aybabtu.com>
42647
42648 * disk/lvm.c: Update copyright year.
42649 * kern/misc.c: Likewise.
42650
01979850 426512008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42652
42653 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 42654 there is no memory left for physical volume name.
01979850 42655
0a1150e2 426562008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42657
42658 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42659 volume name mapping to support bigger than 9 character names properly.
42660
82ead3fe 426612008-04-13 Robert Millan <rmh@aybabtu.com>
42662
42663 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42664 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42665
e54a72f5 426662008-04-13 Christian Franke <franke@computer.org>
42667
42668 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42669 to create a floppy emulation boot CD when non emulation mode
42670 does not work.
42671 Enable Joliet CD filesystem extension.
42672
9fe86034 426732008-04-13 Robert Millan <rmh@aybabtu.com>
42674
42675 * kern/misc.c (grub_strncat): Fix off-by-one error.
42676 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42677
42678 * kern/env.c (grub_env_context_close): Clear current context, not
42679 previous one.
42680 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42681
42682 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42683
7ceeee39 426842008-04-13 Robert Millan <rmh@aybabtu.com>
42685
42686 Improve robustness when handling LVM.
42687
42688 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 42689 (and leave `*p' unmodified).
7ceeee39 42690 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42691 through it.
42692 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
42693 iterating through it.
42694 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
42695 through it.
fe6b695a 42696 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 42697 when due) on each grub_lvm_getvalue() or grub_strstr() call.
42698 Don't assume `vg->pvs != NULL' when iterating through it.
42699
58cd3d85 427002008-04-13 Robert Millan <rmh@aybabtu.com>
42701
42702 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
42703 * genmk.rb (partmap): New variable.
42704 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
42705 (#{partmap}): New target rule.
42706 * genpartmaplist.sh: New file.
42707 * Makefile.in (pkglib_DATA): Add partmap.lst.
42708 (partmap.lst): New target rule.
42709 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
42710 modules (including all partition maps), instead of preloading them.
42711
78b51059 427122007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
42713
42714 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
42715 `linux-boot-prober' (if installed) to detect other operating
42716 systems which are installed on the computer and add them to
42717 the boot menu.
42718 * conf/common.rmk: Build and install 30_os-prober.
42719
a91627b4 427202008-04-12 Robert Millan <rmh@aybabtu.com>
42721
42722 * kern/powerpc/ieee1275/init.c: Move from here ...
42723 * kern/ieee1275/init.c: ... to here. Update all users.
42724
42725 * kern/powerpc/ieee1275/cmain.c: Move from here ...
42726 * kern/ieee1275/cmain.c: ... to here. Update all users.
42727
42728 * kern/powerpc/ieee1275/openfw.c: Move from here ...
42729 * kern/ieee1275/openfw.c: ... to here. Update all users.
42730
42731 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
42732 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
42733
322562ea 427342008-04-10 Pavel Roskin <proski@gnu.org>
42735
42736 * configure.ac: Always use "_cv_" in cache variables for
42737 compatibility with Autoconf 2.62.
42738
a02a73c5 427392008-04-07 Robert Millan <rmh@aybabtu.com>
42740
42741 Revert grub/machine/init.h addition by Pavel (since it breaks on
42742 i386-ieee1275 and others):
42743 * util/i386/pc/misc.c: Remove grub/machine/init.h.
42744 * util/powerpc/ieee1275/misc.c: Likewise.
42745
25c024b1 427462008-04-07 Robert Millan <rmh@aybabtu.com>
42747
42748 * util/grub-probe.c (probe): Improve error message.
42749
3cbd2f98 427502008-04-07 Robert Millan <rmh@aybabtu.com>
42751
42752 * util/biosdisk.c (read_device_map): Skip devices that don't exist
42753 (this prevents the presence of a bogus entry from ruining the whole
42754 thing).
42755
87a297bf 427562008-04-06 Pavel Roskin <proski@gnu.org>
42757
36747a62 42758 * util/biosdisk.c: Include grub/util/biosdisk.h.
42759 * util/grub-fstest.c (execute_command): Make static.
42760 * util/grub-mkdevicemap.c (check_device): Likewise.
42761 * util/i386/pc/misc.c: Include grub/machine/init.h.
42762 * util/powerpc/ieee1275/misc.c: Likewise.
42763 * util/lvm.c: Include grub/util/lvm.h.
42764 * util/misc.c: Include grub/kernel.h, grub/misc.h and
42765 grub/cache.h.
42766 * util/raid.c: Include grub/util/raid.h.
42767 (grub_util_getdiskname): Make static.
42768
87a297bf 42769 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
42770 grub_hostfs_fini(), as they are called from grub_init_all() and
42771 grub_fini_all() respectively. This fixes an infinite loop in
42772 grub-fstest due to double registration of hostfs.
42773 Reported by Christian Franke <Christian.Franke@t-online.de>
42774
f6ce7629 427752008-04-05 Pavel Roskin <proski@gnu.org>
42776
42777 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
42778 all 8 functions. Otherwise, probe function 0 only.
42779
070e49e4 427802008-04-04 Pavel Roskin <proski@gnu.org>
42781
8b088a4c 42782 * commands/lspci.c (grub_lspci_iter): Print the bus number
42783 correctly.
42784
4f657021 42785 * commands/lspci.c (grub_pci_classes): Fix typos.
42786 (grub_lspci_iter): Don't print func twice. Print vendor ID
42787 before device ID, as it's normally done.
42788
070e49e4 42789 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42790 Fix signedness warnings.
42791 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
42792 Likewise.
42793 * util/ieee1275/get_disk_name.c: Include config.h so that
42794 _GNU_SOURCE is defined and getline() is declared. Mark an
42795 unused argument as such. Fix a signedness warning.
42796
ba7328dc 427972008-04-02 Pavel Roskin <proski@gnu.org>
42798
26887f22 42799 * genkernsyms.sh.in: Use more robust assignments for CC and
42800 srcdir. Quote srcdir.
42801 * gensymlist.sh.in: Likewise. Assert at the compile time that
42802 the symbol table is not empty.
42803
ba7328dc 42804 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
42805 * fs/cpio.c (grub_cpio_read): Likewise.
42806
0f582c6b 428072008-04-01 Pavel Roskin <proski@gnu.org>
42808
4b6e1995 42809 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
42810 * disk/host.c (grub_host_open): Likewise.
42811 * disk/loopback.c (grub_loopback_open): Likewise.
42812 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
42813 disk->id as in disk/host.c, not a multi-character constant.
42814
828a2768 42815 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
42816 later is obsolete, potentially dangerous and sets a bad example.
42817 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
42818 * util/misc.c (grub_util_get_image_size): Likewise.
42819
2bb4fb47 42820 * disk/loopback.c (options): Improve help for "--partitions".
42821
0f582c6b 42822 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
42823 options to align them with the short options, e.g. "echo -e".
42824
a33224e0 428252008-03-31 Bean <bean123ch@gmail.com>
42826
42827 * video/reader/png.c (grub_png_data): New member is_16bit and
42828 image_data.
42829 (grub_png_decode_image_header): Detect 16 bit png image.
42830 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
42831 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
42832 (grub_video_reader_png): Release memory occupied by image_data.
42833
42834 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
42835 4096 bytes.
42836 (grub_nfs_mount): Skip the test for sector per cluster.
42837
42838 * include/grub/ntfs.h (MAX_SPC): Removed.
42839
86cb4f54 428402008-03-31 Bean <bean123ch@gmail.com>
42841
42842 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
42843 (grub_probe_SOURCES): Add fs/afs.c.
42844 (grub_fstest_SOURCES): Likewise.
42845 (afs_mod_SOURCES): New variable.
42846 (afs_mod_CFLAGS): Likewise.
42847 (afs_mod_LDFLAGS): Likewise.
42848
42849 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
42850 (grub_emu_SOURCES): Likewise.
42851
42852 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42853
42854 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42855
42856 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42857
42858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42859
42860 * fs/afs.c: New file.
42861
17c74c21 428622008-03-30 Pavel Roskin <proski@gnu.org>
42863
4cb68e89 42864 * disk/host.c: Include grub/misc.h to fix a warning.
42865 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
42866 warnings about implicit declarations.
42867
8790bb04 42868 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
42869 variable.
42870 * include/grub/i386/loader.h: Change declaration of
42871 grub_linux_boot() to match what grub_loader_set() expects.
42872 * util/getroot.c (grub_guess_root_device): Return const char* to
42873 fix a warning.
42874 * util/grub-probe.c (probe): Fix a warning about uninitialized
42875 abstraction_name variable.
42876 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
42877 second argument as unused to fix a warning.
42878
9a3f3296 42879 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
42880 missing grub_error() call.
42881
0ecef90d 42882 * util/update-grub_lib.in: Define datarootdir, since Autoconf
42883 2.60 and newer uses it to define datadir.
42884
0bf6d401 42885 * commands/sleep.c: Fix warning about implicit declaration.
42886 * disk/memdisk.c: Likewise.
42887 * loader/aout.c: Likewise.
42888 * loader/i386/bsd_normal.c: Likewise.
42889 * util/grub-probe.c: Likewise.
42890
7cdacf97 42891 * commands/i386/cpuid.c (has_longmode): Make static.
42892 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
42893 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
42894
17c74c21 42895 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
42896 GDT. This is more robust, as %ds can change.
42897 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
42898 calling real_to_prot().
42899 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
42900
80a3e68b 429012008-03-28 Pavel Roskin <proski@gnu.org>
42902
42903 * kern/i386/pc/startup.S: Assert that uncompressed functions
42904 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
42905 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
42906 code, as they push parts of the code (error handlers) beyond
42907 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
42908 code as correctness and size.
42909
77bcd272 429102008-03-28 Pavel Roskin <proski@gnu.org>
42911
42912 * kern/i386/pc/startup.S
42913 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
42914 data block address to the real mode, keep offset minimal. This
42915 works around a bug in AWARD BIOS on old Athlon systems, which
42916 makes CD detection hang.
42917
c5dfd43b 429182008-03-26 Pavel Roskin <proski@gnu.org>
42919
42920 * normal/color.c (grub_parse_color_name_pair): Make `name' a
42921 const.
42922 * include/grub/normal.h: Add grub_parse_color_name_pair()
42923 declaration.
42924
bf962df2 429252008-03-24 Bean <bean123ch@gmail.com>
42926
42927 * disk/i386/pc/biosdisk.c (cd_start): Removed.
42928 (cd_count): Removed.
42929 (cd_drive): New variable.
42930 (grub_biosdisk_get_drive): Don't check for (cdN) device.
42931 (grub_biosdisk_call_hook): Likewise.
42932 (grub_biosdisk_iterate): Change cdrom detection method.
42933 (grub_biosdisk_open): Replace cd_start with cd_drive.
42934 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
42935 detect cdrom device.
42936
42937 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
42938 Removed.
42939 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
42940 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
42941 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
42942 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
42943 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
42944 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
42945 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
42946 (grub_biosdisk_cdrp): New structure.
42947 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
42948
42949 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
42950
42951 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
42952 device.
42953
42954 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
42955 New function.
42956
68e7fc7a 429572008-03-20 Robert Millan <rmh@aybabtu.com>
42958
42959 Remove 2 TiB limit in ata.mod.
42960 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
42961 (grub_ata_dumpinfo): Print sector count with 0x%llx.
42962 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
42963 grub_uint64_t instead of grub_uint32_t.
42964
38ad2cf5 429652008-03-05 Bean <bean123ch@gmail.com>
42966
42967 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
42968 (grub_multiboot): Set boot device.
42969
42970 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
42971
2b89344e 429722008-03-02 Bean <bean123ch@gmail.com>
42973
42974 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
42975 symlink_buffer.
42976
87a95d1f 429772008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
42978
42979 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
42980 texinfo.tex.
42981
42982 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
42983 modified.
42984
42985 * docs/fdl.texi: New file.
f19dbdb7 42986
87a95d1f 42987 * docs/mdate-sh: New file. Copied from gnulib.
42988 * docs/texinfo.tex: Likewise.
42989
42990 * config.guess: Updated from gnulib.
42991 * install-sh: Likewise.
42992
7dc15d8e 429932008-02-28 Robert Millan <rmh@aybabtu.com>
42994
42995 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
42996 (aout_mod_SOURCES): New variable.
42997 (aout_mod_CFLAGS): Likewise.
42998 (aout_mod_LDFLAGS): Likewise.
42999
43000 * conf/i386-ieee1275.rmk: Likewise.
43001
b00ab696 430022008-02-28 Robert Millan <rmh@aybabtu.com>
43003
43004 * util/update-grub.in: Reorganise terminal validity check. Accept
43005 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43006 Based on suggestion by Franklin PIAT.
43007
79ca2d78 430082008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43009
43010 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43011 function.
43012 * util/getroot.c (grub_util_check_block_device): New function that
43013 returns the given argument if it is a block device and returns NULL else.
43014 * util/grub-probe.c (argument_is_device): New variable.
43015 (probe): Promote device_name from a variable to an argument. Receive
43016 device_name from grub_util_check_block_device() if path is NULL and from
43017 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43018 (options): Introduce new parameter '-d, --device'.
79ca2d78 43019 (main): Add description of the new parameter to the help screen.
43020 Rename path variable to argument. Set argument_is_device if the '-d'
43021 option is given. Pass argument to probe() depending on
43022 argument_is_device.
43023
0d16e571 430242008-02-24 Bean <bean123ch@gmail.com>
43025
43026 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43027 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43028 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43029 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43030 (GRUB_ISO9660_VOLDESC_END): Likewise.
43031 (grub_iso9660_primary_voldesc): New member escape.
43032 (grub_iso9660_data): New member joliet.
43033 (grub_iso9660_convert_string): New function.
43034 (grub_iso9660_mount): Detect joliet extension.
43035 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43036 (grub_iso9660_iso9660_label): Likewise.
43037
43038 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43039 (grub_setup_SOURCES): Add fs/udf.c.
43040 (grub_fstest_SOURCES): Likewise.
43041 (udf_mod_SOURCES): New variable.
43042 (udf_mod_CFLAGS): Likewise.
43043 (udf_mod_LDFLAGS): Likewise.
43044
43045 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43046 (grub_emu_SOURCES): Likewise.
43047
43048 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43049
43050 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43051
43052 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43053
43054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43055
43056 * fs/udf.c: New file.
43057
8a594a17 430582008-02-24 Robert Millan <rmh@aybabtu.com>
43059
43060 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43061 (normal/lexer.c_DEPENDENCIES): New variables.
43062 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43063 (normal/lexer.c_DEPENDENCIES): Likewise.
43064 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43065 (normal/lexer.c_DEPENDENCIES): Likewise.
43066 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43067 (normal/lexer.c_DEPENDENCIES): Likewise.
43068 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43069 (normal/lexer.c_DEPENDENCIES): Likewise.
43070 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43071 (normal/lexer.c_DEPENDENCIES): Likewise.
43072
2dc33c03 430732008-02-23 Robert Millan <rmh@aybabtu.com>
43074
43075 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43076 since they were intended to be in hex. This didn't break previously
43077 because of a bug in gpt_partition_map_iterate() (see below).
43078
43079 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43080 when checking the validity of GPT header.
43081 Remove `partno', since it always provides the same information as `i'.
43082
f6f4cfb0 430832008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43084
43085 * include/grub/efi/time.h: Fix a wrong comment.
43086
79ff665f 430872008-02-19 Pavel Roskin <proski@gnu.org>
43088
43089 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43090 message.
43091
d38e24c2 430922008-02-19 Bean <bean123ch@gmail.com>
43093
43094 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43095 (aout_mod_SOURCES): New variable.
43096 (aout_mod_CFLAGS): Likewise.
43097 (aout_mod_LDFLAGS): Likewise.
43098 (_bsd_mod_SOURCES): New variable.
43099 (_bsd_mod_CFLAGS): Likewise.
43100 (_bsd_mod_LDFLAGS): Likewise.
43101 (bsd_mod_SOURCES): New variable.
43102 (bsd_mod_CFLAGS): Likewise.
43103 (bsd_mod_LDFLAGS): Likewise.
43104
43105 * include/grub/aout.h: New file.
43106
43107 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43108
43109 * include/grub/i386/bsd.h: New file.
43110
43111 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43112 to make it public.
43113
43114 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43115 function is called, so that it's possible to change it inside the hook.
43116 (grub_elf64_load): Likewise.
43117 (grub_elf_file): Don't close the file if elf header is not found.
43118 (grub_elf_close): Close the file if grub_elf_file fails (The new
43119 grub_elf_file won't close it).
43120 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43121 (grub_elf64_size): Likewise.
43122
43123 * kern/i386/loader.S (grub_unix_real_boot): New function.
43124
43125 * loader/aout.c: New file.
43126
43127 * loader/i386/bsd.c: New file.
43128
43129 * loader/i386/bsd_normal.c: New file.
43130
43131 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43132
43133 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43134 can test other formats.
d38e24c2 43135
b93bdb0f 431362008-02-19 Robert Millan <rmh@aybabtu.com>
43137
43138 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43139 (grub_gpt_partition_type_empty): Redefine with macro from
43140 `<grub/gpt_partition.h>'.
43141 (gpt_partition_map_iterate): Adjust partition type comparison.
43142
43143 Export `entry' as partmap-specific `part.data' struct.
43144 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43145
43146 * include/grub/gpt_partition.h (grub_gpt_header)
43147 (grub_gpt_partentry): ... to here (new file).
43148
43149 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43150
43151 (grub_gpt_partition_type_bios_boot): New const variable, defined
43152 with macro from `<grub/gpt_partition.h>'.
43153
43154 (setup): Replace `first_start' with `embed_region', which keeps
43155 track of the embed region (and is partmap-agnostic).
43156
43157 Replace find_first_partition_start() with find_usable_region(),
43158 which finds a usable region for embedding using partmap-specific
43159 knowledge (supports PC/MSDOS and GPT).
43160
43161 Fix all assumptions that the embed region start at sector 1, using
43162 `embed_region.start' from now on. Similarly, use `embed_region.end'
43163 rather than `first_start' to calculate available size.
43164
43165 In grub_util_info() message, replace "into after the MBR" with an
43166 indication of the specific sector our embed region starts at.
43167
66cb40f6 431682008-02-19 Robert Millan <rmh@aybabtu.com>
43169
43170 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43171 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43172 `commands/reboot.c'.
43173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43174 (halt_mod_SOURCES): Likewise.
43175 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43176 (halt_mod_SOURCES): Likewise.
43177
b7202015 431782008-02-17 Christian Franke <franke@computer.org>
43179
43180 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43181
32b0fc49 431822008-02-17 Robert Millan <rmh@aybabtu.com>
43183
43184 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43185 set `first_start' to 0 for non-PC/MSDOS partition maps.
43186
aca63502 431872008-02-16 Robert Millan <rmh@aybabtu.com>
43188
43189 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43190 do not assume partition map is PC/MSDOS before performing checks that
43191 are specific to that layout.
43192
0de8be86 431932008-02-13 Robert Millan <rmh@aybabtu.com>
43194
43195 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43196 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43197 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43198
c3db8364 431992008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43200
43201 * configure.ac: Only a cosmetic change on the handling of
43202 -fno-stack-protector.
43203
f714229e 432042008-02-12 Alexandre Boeglin <alex@boeglin.org>
43205
c3db8364 43206 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43207 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43208 reboot.c.
f714229e 43209 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43210 (halt_mod_SOURCES): New variable.
43211 (halt_mod_CFLAGS): Likewise.
43212 (halt_mod_LDFLAGS): Likewise.
43213 (reboot_mod_SOURCES): Likewise.
43214 (reboot_mod_CFLAGS): Likewise.
43215 (reboot_mod_LDFLAGS): Likewise.
43216
c3db8364 43217 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43218 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43219 reboot.c.
f714229e 43220 (halt_mod_SOURCES): Likewise.
43221 (reboot_mod_SOURCES): Likewise.
43222
c3db8364 43223 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43224 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43225 (reboot_mod_SOURCES): Likewise.
43226
43227 * commands/i386/pc/reboot.c: merge this file ...
43228
43229 * commands/ieee1275/reboot.c: ... and this file ...
43230
43231 * commands/reboot.c: ... to this file.
c3db8364 43232 Add some precompiler directive to include the correct header for
43233 each machine.
f714229e 43234
43235 * commands/ieee1275/halt.c: move this file ...
43236
43237 * commands/halt.c: ... to here.
c3db8364 43238 Add some precompiler directive to include the correct header for
43239 each machine.
f714229e 43240
43241 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43242 (grub_halt): Likewise.
43243
43244 * kern/efi/efi.c (grub_reboot): New function.
43245 (grub_halt): Likewise.
43246
c74493e0 432472008-02-12 Robert Millan <rmh@aybabtu.com>
43248
43249 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43250 /dev (like it is done for /dev/mapper). This doesn't provide support
43251 for EVMS, but at least it is now easy to identify the problem when it
43252 arises.
43253
d0db4b04 432542008-02-11 Robert Millan <rmh@aybabtu.com>
43255
43256 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43257 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43258 comparing it with -1, not 0.
43259
bf748642 432602008-02-10 Robert Millan <rmh@aybabtu.com>
43261
43262 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43263 `disk/lvm.c'.
43264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43265 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43266
43267 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43268 `disk/lvm.c' to the end of the list.
43269 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43270 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43271
b5db202a 432722008-02-10 Robert Millan <rmh@aybabtu.com>
43273
43274 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43275 grub_print_error() instead. This will let user know why we're entering
43276 rescue mode.
43277 Based on suggestions from Sam Morris.
43278
83abee31 432792008-02-10 Alexandre Boeglin <alex@boeglin.org>
43280
43281 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43282 on remaining N args, instead of "--" arg N times.
43283
78d5a08b 432842008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43285
43286 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43287 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43288 pattern for unknown glyphs.
43289
68807e5f 432902008-02-09 Robert Millan <rmh@aybabtu.com>
43291
43292 * configure.ac: Probe for `help2man'.
43293 * Makefile.in (builddir): New variable.
43294 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43295 or otherwise add a few flags/options to it.
43296 (install-local): For every executable utility or script that is
43297 installed, invoke $(HELP2MAN) to install a manpage based on --help
43298 output.
43299
43300 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43301 that it doesn't prevent --help from working in build tree.
43302
43303 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43304 with `bug-grub@gnu.org'.
43305 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43306 * util/update-grub.in (usage): New function.
43307 Implement proper argument check, with support for --help and --version
43308 (as well as existing -y).
43309
433102008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43311
43312 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43313 avoid overwriting previous output.
43314 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43315
c1962162 433162008-02-09 Robert Millan <rmh@aybabtu.com>
43317
43318 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43319 drawing the menu.
43320
3dac2e3f 433212008-02-09 Robert Millan <rmh@aybabtu.com>
43322
43323 * commands/sleep.c: New file.
43324 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43325 (sleep_mod_SOURCES): New variable.
43326 (sleep_mod_CFLAGS): Likewise.
43327 (sleep_mod_LDFLAGS): Likewise.
43328
7a634e08 433292008-02-09 Robert Millan <rmh@aybabtu.com>
43330
43331 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43332 situations in which we can deduce the RAID size and the superblock
43333 doesn't match it.
43334
b92f0c18 433352008-02-09 Robert Millan <rmh@aybabtu.com>
43336
43337 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43338 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43339 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43340
43341 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43342 and return a grub_diskmemberlist_t composed of physical array members.
43343 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43344
43345 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43346 prototype.
43347 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43348 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43349 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43350
43351 * util/grub-probe.c (probe): Move partmap probing code from here ...
43352 (probe_partmap): ... to here.
43353 (probe): Use probe_partmap() once for the disk we're probing, and
43354 additionally, when such disk contains a memberlist() struct member,
43355 once for each disk that is contained in the structure returned by
43356 memberlist().
43357
91a4bf68 433582008-02-09 Robert Millan <rmh@aybabtu.com>
43359
43360 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43361 environment variable to 'all' in order to obtain debug output from
43362 non-util/ code.
43363 * util/i386/pc/grub-setup.c (main): Likewise.
43364
a96f9caa 433652008-02-08 Robert Millan <rmh@aybabtu.com>
43366
43367 * disk/raid.c (grub_raid_scan_device): Check for
43368 `array->device[sb.this_disk.number]' rather than for
43369 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43370 guaranteed to be accessible.
a96f9caa 43371
b37a9222 433722008-02-08 Robert Millan <rmh@aybabtu.com>
43373
43374 * disk/raid.c: Update copyright.
43375 * fs/cpio.c: Likewise.
43376 * include/grub/raid.h: Likewise.
43377 * loader/i386/pc/multiboot.c: Likewise.
43378 * util/hostfs.c: Likewise.
43379
5626aee1 433802008-02-08 Robert Millan <rmh@aybabtu.com>
43381
43382 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43383 to a grub_disk_t array.
43384 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43385 `device[x]'.
43386 (grub_raid_scan_device): Replace `device[x].name' accesses with
43387 `device[x]->name'. Simplify initialization of `array->device[x]'.
43388
554f0187 433892008-02-08 Robert Millan <rmh@aybabtu.com>
43390
43391 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43392 grub_dprintf() calls.
43393 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43394 error message.
43395
1ec8425d 433962008-02-07 Christian Franke <franke@computer.org>
43397
43398 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43399 instead of fseek and ftell to support large files.
43400 (grub_hostfs_read): Likewise.
43401
f2156fda 434022008-02-07 Robert Millan <rmh@aybabtu.com>
43403
43404 Patch from Jeroen Dekkers.
43405 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43406 failure, since successfully reading all array members might not be
f2156fda 43407 required.
43408
9216e0e7 434092008-02-06 Robert Millan <rmh@aybabtu.com>
43410
43411 * util/grub-probe.c (probe): Simplify partmap probing (with the
43412 assumption that the first word up to the underscore equals to
43413 the module name).
43414
b0dfd29a 434152008-02-06 Christian Franke <franke@computer.org>
43416
43417 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43418 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43419 last block of a cpio or tar stream.
43420 Check for "TRAILER!!!" instead of any empty data
43421 block to detect last block of a cpio stream.
43422 (grub_cpio_dir): Fix constness of variable np.
43423 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43424 cpio or tar trailer is detected. This fixes a crash
43425 on open of a non existing file.
43426
c32865bf 434272008-02-05 Bean <bean123ch@gmail.com>
43428
43429 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43430 address of entry.
43431 (grub_multiboot_load_elf64): Likewise.
43432 (grub_multiboot): Initialize mbi structure.
43433
43434 * util/grub-fstest.c: Don't include unused header file script.h.
43435
fe6b695a 43436 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43437 of file.
43438 (grub_fstest_SOURCES): Likewise.
43439
409480b7 434402008-02-05 Robert Millan <rmh@aybabtu.com>
43441
43442 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43443 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43444 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43445 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43446
43447 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43448 (translation_table): Replace hardcoded values with macros
43449 provided by `<grub/term.h>'.
43450
43451 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43452 (keyboard_map): Correct/add a few values, with macros provided
43453 by `<grub/term.h>'.
43454 (keyboard_map_shift): Zero values that don't differ from their
43455 `keyboard_map' equivalents.
43456 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43457 Discard the second scan code that is always sent by Caps lock.
43458 Only use `keyboard_map_shift' when it provides a non-zero value,
43459 otherwise fallback to `keyboard_map'.
43460
99fadbaa 434612008-02-04 Bean <bean123ch@gmail.com>
43462
43463 * Makefile.in (enable_grub_fstest): New variable.
43464
43465 * conf/common.rmk (grub_fstest_init.lst): New rule.
43466 (grub_fstest_init.h): Likewise.
43467 (grub_fstest_init.c): Likewise.
43468 (util/grub-fstest.c_DEPENDENCIES): New variable.
43469 (grub_fstest_SOURCES): Likewise.
43470
43471 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43472
43473 * util/grub-fstest.c: New file.
43474
bf567c50 434752008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43476
43477 Make grub-setup handle a separate root device.
f19dbdb7 43478
bf567c50 43479 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43480 so that the root device can be compared with the destination
43481 device.
43482 When embedding the core image, if the root and destination devices
43483 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43484 0xFF.
43485 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43486
9be6b98b 434872008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43488
43489 Add support for having a grub directory in a different drive. This
43490 is still only the data handling part.
f19dbdb7 43491
9be6b98b 43492 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43493 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43494 (grub_root_drive): New variable.
43495
43496 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43497 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43498 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43499 as it was.
43500
43501 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43502
43503 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43504 macro.
43505 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43506
43507 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43508 is bogus, because PXE booting does not specify any drive
43509 correctly.
43510
43511 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43512 am not sure if this is really correct.
43513
43514 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43515 is always identical to the boot drive when booting from a CD.
43516
43517 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43518 longer.
43519 (root_drive): New variable.
43520 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43521 (setup_sectors): Push %dx right after popping it, because %dh will
43522 be modified later.
43523 (copy_buffer): Restore %dx.
43524
e0ca0677 435252008-02-03 Robert Millan <rmh@aybabtu.com>
43526
43527 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43528 use `cdboot.img' for cdrom images.
43529
3b3f6629 435302008-02-03 Robert Millan <rmh@aybabtu.com>
43531
43532 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43533 only setup gfxterm when `font' command has succeeded.
43534
d42b3672 435352008-02-03 Robert Millan <rmh@aybabtu.com>
43536
43537 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43538 (grub_rescue_cmd_multiboot_loader)
43539 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43540
fa370ea6 435412008-02-03 Pavel Roskin <proski@gnu.org>
43542
e0c5dacb 43543 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43544 %edx and %esi from stack only after grub_gate_a20() is called.
43545 grub_gate_a20() clobbers %edx.
43546
f2a76e1d 435472008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43548
43549 * configure.ac (AC_INIT): Bumped to 1.96.
43550
43551 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43552 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43553 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43554 video/readers/png.c.
43555
90fd32d1 435562008-02-03 Bean <bean123ch@gmail.com>
9be665dd 43557
43558 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43559 (cdboot_img_SOURCES): New variable.
43560 (cdboot_img_ASFLAGS): New variable.
43561 (cdboot_img_LDFLAGS): New variable.
43562
43563 * boot/i386/pc/cdboot.S: New file.
43564
43565 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43566 (cd_count): Likewise.
43567 (grub_biosdisk_get_drive): Add support for cd device.
43568 (grub_biosdisk_call_hook): Likewise.
43569 (grub_biosdisk_iterate): Likewise.
43570 (grub_biosdisk_open): Likewise.
43571 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43572 (grub_biosdisk_rw): Support reading from cd device.
43573 (GRUB_MOD_INIT): Iterate cd devices.
43574
43575 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43576 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43577 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43578
43579 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43580
4020aa53 435812008-02-02 Robert Millan <rmh@aybabtu.com>
43582
43583 * commands/read.c: New file.
43584 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43585 (read_mod_SOURCES): New variable.
43586 (read_mod_CFLAGS): Likewise.
43587 (read_mod_LDFLAGS): Likewise.
43588
e03a1132 435892008-02-02 Robert Millan <rmh@aybabtu.com>
43590
43591 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43592 determining whether menu has to be displayed.
43593
58c69220 435942008-02-02 Marco Gerards <marco@gnu.org>
43595
43596 * bus/pci.c: New file.
43597
43598 * include/grub/pci.h: Likewise.
43599
43600 * include/grub/i386/pc/pci.h: Likewise.
43601
43602 * commands/lspci.c: Likewise.
43603
43604 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43605 `lspci.mod'.
43606 (pci_mod_SOURCES): New variable.
43607 (pci_mod_CFLAGS): Likewise.
43608 (pci_mod_LDFLAGS): Likewise.
43609 (lspci_mod_SOURCES): Likewise.
43610 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 43611 (lspci_mod_LDFLAGS): Likewise.
58c69220 43612
c004e1b4 436132008-02-02 Bean <bean123ch@gmail.com>
43614
43615 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43616 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43617
43618 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43619 (grub_xfs_btree_node): New structure.
43620 (grub_xfs_btree_root): New structure.
43621 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43622 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43623 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43624 (GRUB_XFS_EXTENT_SIZE): Likewise.
43625 (grub_xfs_read_block): Support btree format type.
43626 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43627 Use directory block as basic unit.
43628
43629 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43630
43631 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43632 __attribute__ ((__regparm__ (1))).
43633
f95562bf 436342008-02-01 Robert Millan <rmh@aybabtu.com>
43635
43636 Correct a mistake in previous commit.
43637
43638 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43639 top.
43640 (normal/command.c_DEPENDENCIES): New variable.
43641
7d31f41f 436422008-02-01 Robert Millan <rmh@aybabtu.com>
43643
43644 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43645 top.
43646 (normal/command.c_DEPENDENCIES): New variable.
43647 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43648 * conf/i386-ieee1275.rmk: Likewise.
43649 * conf/i386-linuxbios.rmk: Likewise.
43650 * conf/i386-pc.rmk: Likewise.
43651 * conf/sparc64-ieee1275.rmk: Likewise.
43652 * conf/powerpc-ieee1275.rmk: Likewise.
43653 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43654
43655 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43656
60b6be74 436572008-02-01 Robert Millan <rmh@aybabtu.com>
43658
43659 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43660 call at beginning of function.
43661
078522ab 436622008-01-31 Pavel Roskin <proski@gnu.org>
43663
43664 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 43665 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43666 (grub_mkrescue_SOURCES): Likewise.
078522ab 43667 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43668
ccaa8a5f 436692008-01-30 Robert Millan <rmh@aybabtu.com>
43670
43671 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43672 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43673 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43674 (grub_probe_SOURCES): ... to here.
43675
43676 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43677 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43678 * conf/i386-ieee1275.rmk: Likewise.
43679 * conf/i386-linuxbios.rmk: Likewise.
43680 * conf/powerpc-ieee1275.rmk: Likewise.
43681
ae5a9cd7 436822008-01-30 Tristan Gingold <gingold@free.fr>
43683
43684 * kern/rescue.c: Silently accept empty lines.
43685
70bc2ef2 436862008-01-29 Bean <bean123ch@gmail.com>
43687
43688 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43689 (real_code_2): Code cleanup and change comment style.
43690 (move_memory): Avoid using 32-bit address mode.
43691
6a4d50ea 436922008-01-29 Bean <bean123ch@gmail.com>
43693
43694 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
43695 (png_mod_SOURCES): New variable.
43696 (png_mod_CFLAGS): Likewise.
43697 (png_mod_LDFLAGS): Likewise.
43698
43699 * video/readers/png.c: New file.
43700
11cc30ac 437012008-01-28 Robert Millan <rmh@aybabtu.com>
43702
43703 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
43704 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
43705 `ifndef GRUB_MOD_GAP' hack.
43706 * util/elf/grub-mkimage.c (add_segments): Likewise.
43707
3abc589f 437082008-01-27 Robert Millan <rmh@aybabtu.com>
43709
43710 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
43711 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 43712 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 43713
e1907778 437142008-01-27 Robert Millan <rmh@aybabtu.com>
43715
43716 Get grub-emu to build again (including parallel builds).
43717
43718 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
43719 Split into ...
43720 (util/grub-emu.c_DEPENDENCIES): ... this, ...
43721 (normal/execute.c_DEPENDENCIES): ... this, ...
43722 (grub-emu_DEPENDENCIES): ... and this.
43723
43724 * conf/i386-efi.rmk: Likewise.
43725 * conf/i386-linuxbios.rmk: Likewise.
43726 * conf/i386-ieee1275.rmk: Likewise.
43727 * conf/powerpc-ieee1275.rmk: Likewise.
43728 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
43729
2216b101 437302008-01-27 Robert Millan <rmh@aybabtu.com>
43731
43732 * NEWS: Add a few items.
43733
f75172d9 437342008-01-27 Robert Millan <rmh@aybabtu.com>
43735
43736 Fix parallel builds with grub-emu. Based on earlier commit for
43737 grub-probe and grub-setup.
43738
43739 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43740 (util/grub-emu.c_DEPENDENCIES): ... this.
43741 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43742 (util/grub-emu.c_DEPENDENCIES): ... this.
43743 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43744 (util/grub-emu.c_DEPENDENCIES): ... this.
43745 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43746 (util/grub-emu.c_DEPENDENCIES): ... this.
43747 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43748 (util/grub-emu.c_DEPENDENCIES): ... this.
43749
3f51de77 437502008-01-27 Pavel Roskin <proski@gnu.org>
43751
43752 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
43753 to create a gap between _end and the modules added to the image
43754 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
43755 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
43756 * util/elf/grub-mkimage.c (add_segments): Likewise.
43757
2033f53e 437582008-01-26 Pavel Roskin <proski@gnu.org>
43759
43760 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
43761 just return an error.
43762
22da1f6f 437632008-01-26 Bean <bean123ch@gmail.com>
43764
43765 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
43766 (grub_reiserfs_get_item): Save offset of the next item.
43767 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
43768
2a9525e6 437692008-01-25 Robert Millan <rmh@aybabtu.com>
43770
43771 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
43772 make all filesystem sources appear together (possibly fixing omissions
43773 while at it).
43774 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43775 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43776 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43778
43779 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
43780 add `kern/file.c'.
43781 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
43782 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43783 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
43784 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43785
43786 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
43787 (probe): Add a sanity check to make sure of our ability to read
43788 requested files when probing for filesystem type.
43789
43790 * genmk.rb: Update copyright year (2007).
43791
43792 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
43793 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
43794 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
43795 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
43796 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
43797 : Remove function prototypes.
43798
b95f71b5 437992008-01-25 Robert Millan <rmh@aybabtu.com>
43800
43801 Revert my previous commits (based on wrong assumption of how grub_errno
43802 works).
43803
fe6b695a 43804 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 43805 * kern/file.c (grub_file_open): Likewise.
43806
d08bbb49 438072008-01-24 Pavel Roskin <proski@gnu.org>
43808
43809 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
43810 that hang if GRUB tries to setup colors.
43811 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
43812 colors for firmwares that don't support it.
43813 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
43814 Recognize Open Hack'Ware, set flags to work around its
43815 limitations.
43816
605e36ed 438172008-01-24 Robert Millan <rmh@aybabtu.com>
43818
43819 * kern/file.c (grub_file_open): Do not account previous failures of
43820 unrelated functions when grub_errno is checked for.
43821 Reported by Oleg Strikov.
43822
bac332a1 438232008-01-24 Bean <bean123ch@gmail.com>
43824
43825 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
43826 (grub_ufs_sblock): New member volume name.
43827 (grub_ufs_find_file): Fix string copy bug.
43828 (grub_ufs_label): Implement this function properly.
43829
43830 * fs/hfs.c (grub_hfs_cnid_type): New enum.
43831 (grub_hfs_iterate_records): Use the correct file number for extents
43832 and catalog file. Fix problem in next index calculation.
43833 (grub_hfs_find_node): Replace recursive function call with loop.
43834 (grub_hfs_iterate_dir): Replace recursive function call with loop.
43835
15c80c09 438362008-01-23 Robert Millan <rmh@aybabtu.com>
43837
43838 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
43839 `<grub/symbol.h>' and `<grub/multiboot.h>'.
43840 (grub_multiboot2_real_boot): New function prototype.
43841
43842 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
43843 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
43844
43845 * kern/i386/ieee1275/init.c (grub_os_area_addr)
43846 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
43847
305338fd 438482008-01-23 Robert Millan <rmh@aybabtu.com>
43849
43850 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
43851 #ifdef'ed out grub_printf().
43852
3ea52685 438532008-01-23 Robert Millan <rmh@aybabtu.com>
43854
43855 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
43856 grub_dprintf calls, since they make "debug=all" mode unusable.
43857 (grub_console_checkkey): Likewise.
43858
5882ae4b 438592008-01-23 Robert Millan <rmh@aybabtu.com>
43860
43861 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
43862 `term/i386/pc/at_keyboard.c'.
43863 (pkglib_MODULES): Add `serial.mod'.
43864 (serial_mod_SOURCES): New variable.
43865 (serial_mod_CFLAGS): Likewise.
43866 (serial_mod_LDFLAGS): Likewise.
43867
43868 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
43869 `<grub/powerpc/ieee1275/console.h>'.
43870 (grub_keyboard_controller_init): New function prototype.
43871 (grub_console_checkkey): Likewise.
43872 (grub_console_getkey): Likewise.
43873
43874 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
43875 keyboard on i386.
43876
43877 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
43878 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
43879
06ab5303 438802008-01-23 Robert Millan <rmh@aybabtu.com>
43881
43882 * kern/i386/pc/init.c (make_install_device): When memdisk image is
43883 present, "(memdisk)/boot/grub" becomes the default prefix.
43884
43885 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
43886 a memdisk tarball with all the modules. Add --overlay=DIR option that
43887 allows users to overlay additional files into the image.
43888
dbb475a4 438892008-01-23 Robert Millan <rmh@aybabtu.com>
43890
43891 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
43892 and `machine/memory.h'.
43893 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
43894 (_multiboot_mod_SOURCES): New variable.
43895 (_multiboot_mod_CFLAGS): Likewise.
43896 (_multiboot_mod_LDFLAGS): Likewise.
43897 (multiboot_mod_SOURCES): Likewise.
43898 (multiboot_mod_CFLAGS): Likewise.
43899 (multiboot_mod_LDFLAGS): Likewise.
43900
43901 * include/grub/i386/ieee1275/loader.h: New file.
43902
43903 * include/grub/i386/ieee1275/machine.h: Likewise.
43904
43905 * include/grub/i386/ieee1275/memory.h: Likewise.
43906
43907 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
43908 variable declaration.
43909 (grub_os_area_size): Likewise.
43910
43911 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
43912 (grub_lower_mem, grub_upper_mem): New variables.
43913 (grub_stop_floppy): New function (just to make
43914 grub_multiboot2_real_boot() happy).
43915
43916 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
43917 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
43918 (grub_stop): New function.
43919 Include `"../realmode.S"' and `"../loader.S"'.
43920
43921 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
43922 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
43923
43924 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
43925 rely on grub_multiboot2_real_boot() for final boot.
43926
25638629 439272008-01-22 Robert Millan <rmh@aybabtu.com>
43928
43929 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
43930 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
43931 device that doesn't look like an SD card.
43932 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43933 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
43934 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
43935 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
43936 found.
43937
9dad816d 439382008-01-22 Robert Millan <rmh@aybabtu.com>
43939
43940 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
43941 avoid claiming over our own code.
43942
34842f2d 439432008-01-22 Bean <bean123ch@gmail.com>
43944
43945 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
43946 (jpeg_mod_SOURCES): New variable.
43947 (jpeg_mod_CFLAGS): Likewise.
43948 (jpeg_mod_LDFLAGS): Likewise.
43949
43950 * video/readers/jpeg.c : New file.
43951
44023a28 439522008-01-22 Bean <bean123ch@gmail.com>
43953
43954 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
43955 there are no more items.
43956
bc2d8ac6 439572008-01-21 Robert Millan <rmh@aybabtu.com>
43958
43959 * kern/mm.c (grub_mm_init_region): Improve debug message.
43960
261bd4bc 439612008-01-21 Robert Millan <rmh@aybabtu.com>
43962
43963 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
43964 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
43965 address.
43966 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
43967 a C macro.
43968 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
43969 Indicates start of upper memory.
43970 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
43971 (generate_image): Abort when image size is big enough to corrupt
43972 upper memory.
43973
43974 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
43975 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
43976 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43977 instead of hardcoding 0xA0000.
43978 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
43979 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
43980 instead of hardcoding 0xA0000.
43981
f970b55e 439822008-01-21 Robert Millan <rmh@aybabtu.com>
43983
43984 * disk/memdisk.c (memdisk_size): New variable.
43985 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
43986 `memdisk_size'.
43987 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
43988 image to dynamic memory.
43989 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
43990 `memdisk_size'. Free memdisk block.
43991
1a8b0526 439922008-01-21 Robert Millan <rmh@aybabtu.com>
43993
43994 Fix detection of very small filesystems (like tar).
43995
43996 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
43997 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
43998 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
43999 a problem with this disk).
44000
6e9b4aab 440012008-01-21 Robert Millan <rmh@aybabtu.com>
44002
44003 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44004 on grub_biosdisk_rw_standard() error.
44005
0d8837b2 440062008-01-21 Robert Millan <rmh@aybabtu.com>
44007
44008 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44009 recent changes.
44010 * kern/elf.c: Likewise.
44011 * kern/ieee1275/ieee1275.c: Likewise.
44012 * kern/powerpc/ieee1275/openfw.c: Likewise.
44013 * term/ieee1275/ofconsole.c: Likewise.
44014
ffd36e34 440152008-01-21 Robert Millan <rmh@aybabtu.com>
44016
44017 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44018
3f0093d0 44019 * include/grub/kernel.h (grub_arch_memdisk_addr)
44020 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44021
3f0093d0 44022 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44023 (grub_arch_memdisk_size): ... to here.
ffd36e34 44024
6c391b21 440252008-01-21 Robert Millan <rmh@aybabtu.com>
44026
44027 Mostly based on bugfix from Bean.
44028
44029 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44030 attribute with hook() parameter.
44031 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44032 declaration.
44033 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44034 attribute with hook() parameter.
44035 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44036 declaration.
44037
55a581dc 440382008-01-21 Robert Millan <rmh@aybabtu.com>
44039
44040 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44041 (pkglib_MODULES): Add `memdisk.mod'.
44042 (memdisk_mod_SOURCES): New variable.
44043 (memdisk_mod_CFLAGS): Likewise.
44044 (memdisk_mod_LDFLAGS): Likewise.
44045
44046 * disk/memdisk.c: New file.
44047
44048 * include/grub/disk.h (grub_disk_dev_id): Add
44049 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44050
44051 * include/grub/i386/pc/kernel.h
44052 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44053 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44054 (grub_kernel_image_size): New variable declaration.
44055 (grub_total_module_size): Likewise.
44056 (grub_memdisk_image_size): Likewise.
44057
44058 * include/grub/i386/pc/memory.h
44059 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44060
44061 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44062 (grub_arch_memdisk_addr): New variable declaration.
44063 (grub_arch_memdisk_size): Likewise.
44064
44065 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44066 (grub_arch_memdisk_size): Likewise.
44067
44068 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44069 (codestart): Replace hardcoded `0x100000' with
44070 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44071
44072 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44073 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44074 not NULL, append the contents of the file it refers to, at the end of
44075 the compressed kernel image. Initialize `grub_memdisk_image_size'
44076 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44077 (options): Add "memdisk"|'m' option.
44078 (main): Parse --memdisk|-m option, and pass user-provided path as
44079 parameter to generate_image().
44080
3d7f54c9 440812008-01-20 Robert Millan <rmh@aybabtu.com>
44082
44083 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44084 grub_dprintf() calls from here ...
44085 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44086
0bf74728 440872008-01-20 Robert Millan <rmh@aybabtu.com>
44088
44089 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44090
44091 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44092 declaration.
44093 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44094 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44095 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44096 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44097 property).
44098 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44099 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44100
33bf70a7 441012008-01-19 Robert Millan <rmh@aybabtu.com>
44102
fe6b695a 44103 Get rid of confusing function (superseded by
33bf70a7 44104 `grub_ieee1275_get_integer_property')
44105 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44106 prototype.
44107 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44108 function.
44109 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44110 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44111 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44112
e2da7d26 441132008-01-19 Robert Millan <rmh@aybabtu.com>
44114
44115 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44116 command after "shut-down", since implementations differ on which
44117 the command for halt is.
44118
59f1fd8d 441192008-01-19 Robert Millan <rmh@aybabtu.com>
44120
44121 * include/grub/i386/linuxbios/console.h: Add header protection.
44122 (grub_keyboard_controller_init): New function prototype.
44123 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44124 (KEYBOARD_COMMAND_READ): Likewise.
44125 (KEYBOARD_COMMAND_WRITE): Likewise.
44126 (KEYBOARD_SCANCODE_SET1): Likewise.
44127 (grub_keyboard_controller_write): New function.
44128 (grub_keyboard_controller_read): Likewise.
44129 (grub_keyboard_controller_init): Likewise.
44130
44131 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44132 (grub_console_init): On coreboot/LinuxBIOS, call
44133 grub_keyboard_controller_init().
44134
5f5a7c15 441352008-01-19 Robert Millan <rmh@aybabtu.com>
44136
44137 PowerPC changes provided by Pavel Roskin.
44138
44139 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44140 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44141 don't rely on cmain() doing it.
44142 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44143 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44144
1210e168 441452008-01-16 Robert Millan <rmh@aybabtu.com>
44146
44147 * include/grub/i386/linuxbios/memory.h
44148 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44149 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44150 receive `table_header' as argument. Instead, probe for it in the
44151 known memory ranges where it can be present.
44152 (grub_available_iterate): Do not pass a fixed `table_header' address
44153 to grub_linuxbios_table_iterate().
44154
3d04eab8 441552008-01-15 Robert Millan <rmh@aybabtu.com>
44156
44157 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44158 * conf/i386-ieee1275.rmk: New file.
44159 * include/grub/i386/ieee1275/console.h: Likewise.
44160 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44161 * include/grub/i386/ieee1275/kernel.h: Likewise.
44162 * include/grub/i386/ieee1275/time.h: Likewise.
44163 * kern/i386/ieee1275/init.c: Likewise.
44164 * kern/i386/ieee1275/startup.S: Likewise.
44165
d1bc1b73 441662008-01-15 Robert Millan <rmh@aybabtu.com>
44167
44168 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44169 when pointers are 32-bit (but still do set it to one when they are
44170 64-bit).
44171
66a65807 441722008-01-15 Robert Millan <rmh@aybabtu.com>
44173
44174 * include/grub/ieee1275/ieee1275.h
44175 (grub_ieee1275_get_integer_property): New function prototype.
44176
44177 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44178 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44179 grub_ieee1275_get_property() to handle endianness.
66a65807 44180
44181 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44182 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44183 where appropriate.
66a65807 44184 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44185 (grub_map): Likewise.
44186 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44187
a83ccafd 441882008-01-15 Bean <bean123ch@gmail.com>
44189
44190 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44191 (grub_script_execute_cmdline): Reset grub_errno.
44192
44193 * normal/main.c (read_config_file): Reset grub_errno.
44194
44195 * normal/parse.y (script_init): New.
44196 (script): Move function and menuentry here.
44197 (delimiter): New.
44198 (command): Add delimiter at the end of command.
44199 (commands): Adjust to match the new command.
44200 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44201 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44202 (if): Use the new commands.
44203
44204 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44205
df6ecfc6 442062008-01-15 Robert Millan <rmh@aybabtu.com>
44207
44208 * normal/menu.c (run_menu): Move timeout message from here ...
44209 (print_timeout): ... to here.
44210 (run_menu): Use print_timeout() once during initial draw to print
44211 the whole message, and again in every clock tick to update only
44212 the number of seconds.
44213
87ae25eb 442142008-01-15 Robert Millan <rmh@aybabtu.com>
44215
44216 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44217 actual size of `available' from grub_ieee1275_get_property(), and
44218 restrict parsing to that bound.
44219
47bf09a4 442202008-01-15 Christian Franke <franke@computer.org>
44221
44222 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44223 (argp_program_version): Remove variable.
44224 (argp_program_bug_address): Likewise.
44225 (options): Convert from struct argp_option to struct option.
44226 (struct arguments): Remove.
44227 (parse_opt): Remove.
44228 (usage): New function.
44229 (main): Replace struct args members by simple variables.
44230 Replace argp_parse() by getopt_long().
44231 Add switch to evaluate options.
44232 Add missing "(...)" around root_dev in prefix string.
44233
c86f1469 442342008-01-14 Robert Millan <rmh@aybabtu.com>
44235
44236 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44237 for grub_ieee1275_exit(), in order to improve portability.
44238
e622c559 442392008-01-14 Robert Millan <rmh@aybabtu.com>
44240
44241 * util/grub.d/10_linux.in (prefix): Define.
44242 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44243
44cb1ec8 442442008-01-13 Pavel Roskin <proski@gnu.org>
44245
44246 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44247 grub_errno if no errors have been detected.
44248
1eb8c802 442492008-01-12 Robert Millan <rmh@aybabtu.com>
44250
44251 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44252 (grub_util_get_dev_abstraction): New function prototype.
44253
44254 * util/getroot.c: Include `<grub/util/getroot.h>'
44255 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44256 (grub_util_get_dev_abstraction): ... here (new function).
44257
44258 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44259 `PRINT_ABSTRACTION'.
44260 (probe): Probe for abstraction type when requested.
44261 (main): Understand `--target=abstraction'.
44262
44263 * util/i386/efi/grub-install.in: Add abstraction module to core
44264 image when it is found to be necessary.
44265 * util/i386/pc/grub-install.in: Likewise.
44266 * util/powerpc/ieee1275/grub-install.in: Likewise.
44267
44268 * util/update-grub_lib.in (font_path): Return system path without
44269 converting to GRUB path.
44270 * util/update-grub.in: Convert system path returned by font_path()
44271 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44272 abstraction module is needed for loading fonts (if any). Export
44273 that as `GRUB_PRELOAD_MODULES'.
44274 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44275 insmod commands).
44276
52bd3de9 442772008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44278
44279 Remove some unused code from reiserfs.
f19dbdb7 44280
52bd3de9 44281 * fs/reiserfs.c (struct grub_reiserfs_key)
44282 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44283 (struct grub_reiserfs_node_body): Removed.
44284 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44285 Likewise.
44286 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44287 Likewise.
44288 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44289 Likewise.
44290 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44291 Likewise.
44292 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44293 Likewise.
44294 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44295 Likewise.
44296 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44297 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44298 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44299
2f80039d 443002008-01-10 Robert Millan <rmh@aybabtu.com>
44301
44302 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44303 Determines if a file is garbage left by packaging systems, etc.
44304 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44305 for processing /etc/grub.d scripts.
44306 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44307 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44308 as a condition for processing Linux images.
44309
87888032 443102008-01-10 Pavel Roskin <proski@gnu.org>
44311
44312 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44313 to compile reiserfs.c on PowerPC.
44314
7e54fced 443152008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44316
44317 * kern/device.c (grub_device_iterate): Do not abort device iteration
44318 when one of the devices cannot be opened.
44319 * kern/disk.c (grub_disk_open): Do not account previous failures of
44320 unrelated functions when grub_errno is checked for.
44321
5aa541e6 443222008-01-08 Robert Millan <rmh@aybabtu.com>
44323
44324 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44325 `! grub_linux_is_bzimage', change order of address comparison to make
44326 it more intuitive, and improve "too big zImage" error message.
44327
7076340d 443282008-01-08 Robert Millan <rmh@aybabtu.com>
44329
44330 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44331 `$(update-grub_DATA)'.
44332 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44333 targets.
44334
9ca70333 443352008-01-07 Robert Millan <rmh@aybabtu.com>
44336
44337 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44338 which instruction is modified by grub-setup during installation
44339 (since it wasn't obvious by only looking at this file).
44340
38ccf575 443412008-01-07 Robert Millan <rmh@aybabtu.com>
44342
44343 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44344 listing actual TODO items.
44345
f5db4291 443462008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44347
868967cf 44348 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44349 correctly.
44350 (grub_reiserfs_get_key_offset): Likewise.
44351 (grub_reiserfs_set_key_offset): Likewise.
44352 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44353 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44354
44355 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44356 better to remove the bitfield version completely.
f19dbdb7 44357
868967cf 443582008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44359
f5db4291 44360 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44361 allocated from the heap, due to the fshelp implementation.
44362 (grub_reiserfs_dir): Free NODE, due to the same reason.
44363
492e6d9d 443642008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44365
44366 Mostly from Vincent Pelletier:
f19dbdb7 44367
492e6d9d 44368 * fs/reiserfs.c: New file.
f19dbdb7 44369
492e6d9d 44370 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44371 (reiserfs_mod_SOURCES): New variable.
44372 (reiserfs_mod_CFLAGS): Likewise.
44373 (reiserfs_mod_LDFLAGS): Likewise.
44374
44375 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44376 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44377 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44378 normal/color.c.
44379
9ce3e7c1 443802008-01-06 Robert Millan <rmh@aybabtu.com>
44381
44382 * normal/color.c: Remove `<grub/env.h>'.
44383
f3b58148 443842008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44385
44386 * include/grub/normal.h: Include <grub/env.h>.
44387
7ac3bcfa 443882008-01-05 Robert Millan <rmh@aybabtu.com>
44389
44390 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44391 usage example with `(hd0,1)'.
fb358190 44392 Reported by Samuel Thibault.
7ac3bcfa 44393
c8ee99d7 443942008-01-05 Robert Millan <rmh@aybabtu.com>
44395
44396 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44397 (grub_linux_boot_zimage): Rename to ...
44398 (grub_linux_boot): ... this.
44399 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44400 (grub_linux_boot_zimage): Conditionalize zImage copy.
44401
44402 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44403 (grub_linux_boot_bzimage): Remove prototype.
44404 (grub_linux_boot_zimage): Rename to ...
44405 (grub_linux_boot): ... this.
44406
44407 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44408 (grub_linux_boot): Remove function.
44409
0ece25b1 444102008-01-05 Robert Millan <rmh@aybabtu.com>
44411
44412 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44413 (grub_env_write_color_highlight): Likewise.
44414 (grub_wait_after_message): Likewise.
44415
44416 * normal/color.c: New file.
44417
44418 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44419 (normal_mod_DEPENDENCIES): Likewise.
44420
44421 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44422 (normal_mod_DEPENDENCIES): Likewise.
44423
44424 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44425 (normal_mod_DEPENDENCIES): Likewise.
44426
44427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44428 (normal_mod_DEPENDENCIES): Likewise.
44429
44430 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44431 for waiting after a message is printed.
44432 * normal/main.c (read_config_file): Likewise.
44433 (grub_normal_init): Register grub_env_write_color_normal() and
44434 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44435 `color_highlight' variables as global.
44436
44437 * normal/menu.c (grub_wait_after_message): New function.
44438 (grub_color_menu_normal): New variable. Replaces ...
44439 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44440 (grub_color_menu_highlight): New variable. Replaces ...
44441 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44442 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44443 `GRUB_TERM_COLOR_STANDARD'.
44444 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44445 `normal_code' and `highlight_code' to `old_color_normal' and
44446 `old_color_highlight', respectively.
44447 (grub_menu_init_page): Update colors when drawing the menu, based on
44448 `menu_color_normal' and `menu_color_highlight' variables.
44449 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44450 a message is printed.
44451
182dd4e5 444522008-01-05 Robert Millan <rmh@aybabtu.com>
44453
44454 * kern/env.c (grub_env_context_open): Propagate hooks for global
44455 variables to new context.
44456
44457 * kern/main.c (grub_set_root_dev): Export `root' variable.
44458
ddf8f6ad 444592008-01-05 Robert Millan <rmh@aybabtu.com>
44460
44461 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44462 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44463 them.
44464
d8b43d9b 444652008-01-05 Robert Millan <rmh@aybabtu.com>
44466
44467 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44468
2bff2de3 444692008-01-04 Christian Franke <franke@computer.org>
44470
44471 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44472 of eisa_mmap.
44473
97eab917 444742008-01-03 Pavel Roskin <proski@gnu.org>
44475
44476 * kern/i386/linuxbios/init.c: Put "void" to all function
44477 declarations with no arguments.
44478 * kern/powerpc/ieee1275/init.c: Likewise.
44479 * term/i386/pc/at_keyboard.c: Likewise.
44480 * term/i386/pc/vga_text.c: Likewise.
44481 * util/grub-mkdevicemap.c: Likewise.
44482
b9416d00 444832008-01-02 Robert Millan <rmh@aybabtu.com>
44484
44485 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44486 message when loaded image is out of bounds.
44487 (grub_multiboot_load_elf64): Likewise.
44488
92695df9 444892008-01-02 Pavel Roskin <proski@gnu.org>
44490
44491 * util/grub.d/10_linux.in: Try version without ".old" when
44492 looking for initrd. It's better to use initrd from the newer
44493 kernel of the same version than no initrd at all.
44494
d98d9cad 444952008-01-01 Robert Millan <rmh@aybabtu.com>
44496
44497 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44498
dbfdce36 444992008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44500
f19dbdb7 44501 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44502 grub_video_get_active_render_target.
44503 (grub_video_adapter): Added unmap_color and get_active_render_target.
44504
f19dbdb7 44505 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44506 grub_video_get_active_render_target.
44507 (grub_video_get_info): Changed method to accept NULL pointer as an
44508 argument to allow detection of active video adapter.
44509
44510 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44511 grub_video_vbe_unmap_color_int.
44512 Added grub_video_vbe_unmap_color and
44513 grub_video_vbe_get_active_render_target.
44514 (grub_video_vbe_adapter): Added unmap_color and
44515 get_active_render_target.
44516
f19dbdb7 44517 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44518 with grub_video_vbe_unmap_color_int.
44519
44520 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44521 (DEFAULT_NORMAL_COLOR): Likewise.
44522 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44523 (DEFAULT_FG_COLOR): Removed.
44524 (DEFAULT_BG_COLOR): Likewise.
44525 (DEFAULT_CURSOR_COLOR): Changed value.
44526 (grub_virtual_screen): Added standard_color_setting,
44527 normal_color_setting, highlight_color_setting and term_color.
44528 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44529 (bitmap_width): Added.
44530 (bitmap_height): Likewise.
44531 (bitmap): Likewise.
44532 (set_term_color): Likewise.
44533 (grub_virtual_screen_setup): Changed to use new terminal coloring
44534 settings.
44535 (grub_gfxterm_init): Added init for bitmap.
44536 (grub_gfxterm_fini): Added destroy for bitmap.
44537 (redraw_screen_rect): Updated to use background bitmap and new
44538 terminal coloring.
44539 (scroll_up): Added optimization for case when there is no bitmap.
44540 (grub_gfxterm_cls): Fixed to use correct background color.
44541 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44542 coloring.
44543 (grub_virtual_screen_setcolor): Likewise.
44544 (grub_virtual_screen_getcolor): Added.
44545 (grub_gfxterm_background_image_cmd): Likewise.
44546 (grub_video_term): Added setcolor and getcolor.
44547 (MOD_INIT): Added registration of background_image command.
44548 (MOD_TERM): Added unregistration for background_image command.
44549
c3c20931 445502007-12-30 Pavel Roskin <proski@gnu.org>
44551
44552 * loader/multiboot_loader.c: Fix multiboot command
44553 unregistration. Fix all typos in the word "multiboot".
44554
df266716 445552007-12-29 Pavel Roskin <proski@gnu.org>
94239199 44556
44557 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44558 support for initrd names used in Fedora.
44559
fc6e896c 445602007-12-26 Bean <bean123ch@gmail.com>
44561
44562 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44563 (cpio_mod_SOURCES): New variable.
44564 (cpio_mod_CFLAGS): Likewise.
44565 (cpio_mod_LDFLAGS): Likewise.
44566
44567 * fs/cpio.c: New file.
44568
44569 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44570
44571 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44572
44573 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44574
44575 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44576
533110ad 445772007-12-25 Robert Millan <rmh@aybabtu.com>
44578
44579 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44580 (grub_getcolor): New function.
44581
44582 * kern/term.c (grub_getcolor): New function.
44583 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44584 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44585 (print_entry): Set normal and highlight colors to
44586 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44587 respectively, before printing and restore them to old
44588 values afterwards.
44589 (grub_menu_init_page): Likewise. Fill an additional colored space
44590 that would otherwise be left blank.
44591
44592 * term/efi/console.c (grub_console_getcolor): New function.
44593 (struct grub_console_term.getcolor): New variable.
44594 * term/i386/pc/console.c (grub_console_getcolor): New function.
44595 (struct grub_console_term.getcolor): New variable.
44596 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44597 (struct grub_console_term.getcolor): New variable.
44598
44599 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44600 (struct grub_console_term.setcolor): Remove variable.
44601 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44602 (struct grub_console_term.setcolor): Remove variable.
44603 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44604 (struct grub_console_term.setcolor): Remove variable.
44605 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44606 (struct grub_console_term.setcolor): Remove variable.
44607
4931827f 446082007-12-25 Robert Millan <rmh@aybabtu.com>
44609
44610 * configure.ac: Search for possible unifont.hex locations, and
44611 define UNIFONT_HEX if found.
44612
44613 * Makefile.in (UNIFONT_HEX): Define variable.
44614 (DATA): Rename to ...
44615 (PKGLIB): ... this. Update all users.
44616 (PKGDATA): New variable.
44617 (pkgdata_IMAGES): Rename to ...
44618 (pkglib_IMAGES): ... this. Update all users.
44619 (pkgdata_MODULES): Rename to ...
44620 (pkglib_MODULES): ... this. Update all users.
44621 (pkgdata_PROGRAMS): Rename to ...
44622 (pkglib_PROGRAMS): ... this. Update all users.
44623 (pkgdata_DATA): Rename to ...
44624 (pkglib_DATA): ... this. Update all users.
44625 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44626 (unicode.pff, ascii.pff): New rules.
44627 (all-local): Add `$(PKGDATA)' dependency.
44628 (install-local): Process `$(PKGDATA)'.
44629
44630 * util/update-grub_lib.in (font_path): Search for *.pff files in
44631 a few more locations, including `${pkgdata}'.
44632
57e57e31 446332007-12-23 Robert Millan <rmh@aybabtu.com>
44634
44635 Patch from Bean <bean123ch@gmail.com>:
44636 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44637 `size'.
44638
4bc72aa9 446392007-12-21 Bean <bean123ch@gmail.com>
44640
44641 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44642 (ntfscomp_mod_SOURCES): New variable.
44643 (ntfscomp_mod_CFLAGS): Likewise.
44644 (ntfscomp_mod_LDFLAGS): Likewise.
44645
44646 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44647 (grub_probe_SOURCES): Likewise.
44648 (grub_emu_SOURCES): Likewise.
44649
44650 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44651 (grub_emu_SOURCES): Likewise.
44652
44653 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44654 (grub_emu_SOURCES): Likewise.
44655
44656 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44657 (grub_emu_SOURCES): Likewise.
44658
44659 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44660 (read_run_list): Renamed to grub_ntfs_read_run_list.
44661 (decomp_nextvcn): Moved to ntfscomp.c.
44662 (decomp_getch): Likewise.
44663 (decomp_get16): Likewise.
44664 (decomp_block): Likewise.
44665 (read_block): Likewise.
44666 (read_data): Partially moved to ntfscomp.c.
44667 (fixup): Change unsigned to grub_uint16_t.
44668 (read_mft): Change unsigned long to grub_uint32_t.
44669 (read_attr): Likewise.
44670 (read_data): Likewise.
44671 (read_run_data): Likewise.
44672 (read_run_list): Likewise.
44673 (read_mft): Likewise.
44674
44675 * fs/ntfscomp.c: New file.
44676
44677 * include/grub/ntfs.h: New file.
44678
af680a87 446792007-12-16 Robert Millan <rmh@aybabtu.com>
44680
44681 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44682 IDE disk check, since Linux is known to support 20 IDE disks.
44683 Reported by Colin Watson.
44684
84be7599 446852007-12-15 Bean <bean123ch@gmail.com>
44686
44687 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44688 (lnxboot_img_SOURCES): New variable.
44689 (lnxboot_img_ASFLAGS): Likewise.
44690 (lnxboot_img_LDFLAGS): Likewise.
44691
44692 * boot/i386/pc/lnxboot.S: New file.
44693
6af9db01 446942007-11-24 Pavel Roskin <proski@gnu.org>
44695
44696 * configure.ac: Test if '--build-id=none' is supported by the
44697 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
44698 objcopy to generate incorrect binary files (binutils
44699 2.17.50.0.18-1 as shipped by Fedora 8).
44700 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
44701 linking, so that build ID doesn't break the test.
44702
7361cfe6 447032007-11-24 Pavel Roskin <proski@gnu.org>
44704
44705 * include/grub/i386/time.h: use "void" in the argument list
44706 of grub_cpu_idle().
44707 * include/grub/powerpc/time.h: Likewise.
44708 * include/grub/sparc64/time.h: Likewise.
44709
1593e10c 447102007-11-18 Christian Franke <franke@computer.org>
44711
44712 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
44713 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
44714 This fixes the problem that function keys did not work in grub-emu.
44715
3b8db1a8 447162007-11-18 Christian Franke <franke@computer.org>
44717
44718 * disk/host.c (grub_host_open): Remove attribute unused from
44719 name parameter. Add check for "host". This fixes the problem
44720 that grub-emu does not find partitions.
44721
2e29408d 447222007-11-18 Christian Franke <franke@computer.org>
44723
44724 * util/hostfs.c (is_dir): New function.
44725 (grub_hostfs_dir): Handle missing dirent.d_type case.
44726 (grub_hostfs_read): Add missing fseek().
44727 (grub_hostfs_label): Clear label pointer. This fixes a crash
44728 of grub-emu on "ls (host)".
44729
398cd047 447302007-11-18 Christian Franke <franke@computer.org>
44731
44732 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
44733 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
44734 to 64 bit boundary by default.
44735
c405c391 447362007-11-18 Bean <bean123ch@gmail.com>
44737
44738 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
44739 (hexdump_mod_SOURCES): New variable.
44740 (hexdump_mod_CFLAGS): Likewise.
44741 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 44742
c405c391 44743 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44744
44745 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44746
44747 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44748
44749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44750
44751 * include/grub/hexdump.h: New file.
44752
44753 * commands/hexdump.c: New file.
44754
5cced7fd 447552007-11-10 Robert Millan <rmh@aybabtu.com>
44756
44757 * commands/i386/pc/play.c (beep_off): Switch order of arguments
44758 in grub_outb() calls.
44759 (beep_on): Likewise.
44760
8b714eb0 447612007-11-10 Christian Franke <franke@computer.org>
44762
44763 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
44764 (grub_menu_run): Likewise.
44765
ce0f1839 447662007-11-10 Robert Millan <rmh@aybabtu.com>
44767
44768 * include/grub/i386/efi/machine.h: New file.
44769 * include/grub/i386/linuxbios/machine.h: Likewise.
44770 * include/grub/i386/pc/machine.h: Likewise.
44771 * include/grub/powerpc/ieee1275/machine.h: Likewise.
44772 * include/grub/sparc64/ieee1275/machine.h: Likewise.
44773
44774 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
44775 (serial_hw_io_addr): New variable.
44776 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
44777 instead of `(unsigned short *) 0x400'.
44778
270c237d 447792007-11-10 Bean <bean123ch@gmail.com>
44780
44781 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
44782
a87783bf 447832007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44784
44785 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
44786 (vga_mod_SOURCES): Added.
44787 (vga_mod_CFLAGS): Likewise.
44788 (vga_mod_LDFLAGS): Likewise.
44789
44790 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
44791 grub_outb() calls.
44792 (set_map_mask): Likewise.
44793 (set_read_map): Likewise.
44794 (set_read_address): Likewise.
44795 (vga_font): Removed variable.
44796 (get_vga_glyph): Removed function.
44797 (invalidate_char): Likewise.
44798 (write_char): Changed to use grub_font_get_glyph() for font
44799 information.
44800 (grub_vga_putchar): Likewise.
44801 (grub_vga_getcharwidth): Likewise.
44802
6433b448 448032007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44804
44805 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
44806 flags.
44807 (pxeboot_img_LDFLAGS): Likewise.
44808 (diskboot_img_LDFLAGS): Likewise.
44809 (kernel_img_LDFLAGS): Likewise.
44810
49178511 448112007-11-06 Robert Millan <rmh@aybabtu.com>
44812
44813 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
44814 in grub_outb() calls.
44815 (serial_hw_init): Likewise.
44816
53b052de 448172007-11-05 Robert Millan <rmh@aybabtu.com>
44818
44819 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
44820 spaces. Skip non-regular files.
44821
5ab33bba 448222007-11-05 Robert Millan <rmh@aybabtu.com>
44823
44824 * kern/disk.c (grub_disk_firmware_fini)
44825 (grub_disk_firmware_is_tainted): New variables.
44826
44827 * include/grub/disk.h (grub_disk_firmware_fini)
44828 (grub_disk_firmware_is_tainted): Likewise.
44829
44830 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
44831 (grub_disk_biosdisk_fini): ... to here.
44832 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
44833 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
44834 is set. Register grub_disk_biosdisk_fini() in
44835 `grub_disk_firmware_fini'.
44836
44837 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
44838 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
44839 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
44840 to finish existing firmware disk interface.
44841
44842 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
44843 (ata_mod_SOURCES): New variable.
44844 (ata_mod_CFLAGS): Likewise.
44845 (ata_mod_LDFLAGS): Likewise.
44846
0149ab7c 448472007-11-05 Robert Millan <rmh@aybabtu.com>
44848
44849 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
44850 (grub_ata_wait): Reimplement using grub_millisleep().
44851
44852 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
44853 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
44854
be7ac41e 448552007-11-03 Marco Gerards <marco@gnu.org>
44856
44857 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
44858 (CRTC_ADDR_PORT): New macro.
44859 (CRTC_DATA_PORT): Likewise.
44860 (CRTC_CURSOR): Likewise.
44861 (CRTC_CURSOR_ADDR_HIGH): Likewise.
44862 (CRTC_CURSOR_ADDR_LOW): Likewise.
44863 (update_cursor): New function.
44864 (grub_console_real_putchar): Call `update_cursor'.
44865 (grub_console_gotoxy): Likewise.
44866 (grub_console_cls): Set the default color when clearing the
44867 screen.
44868 (grub_console_setcursor): Implemented.
44869
bb06ab2e 448702007-11-03 Marco Gerards <marco@gnu.org>
44871
44872 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
44873 become activate.
44874 (grub_ata_pio_write): Likewise.
44875
44876 (grub_atapi_identify): Wait after issuing an ATA command.
44877 (grub_atapi_packet): Likewise.
44878 (grub_ata_identify): Likewise.
44879 (grub_ata_readwrite): Likewise.
44880
cf8f780b 448812007-11-03 Marco Gerards <marco@gnu.org>
44882
44883 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
44884 (grub_ata_pio_write): Likewise.
44885 (grub_ata_readwrite): Use `grub_error', instead of
44886 returning `grub_errno'.
44887
ed649e54 448882007-11-03 Marco Gerards <marco@gnu.org>
44889
44890 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
44891 grub_ata_pio_write once for every single sector, instead of for
44892 multiple sectors.
44893
ca25d8f0 448942007-10-31 Robert Millan <rmh@aybabtu.com>
44895
44896 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
44897
44898 * conf/i386-linuxbios.rmk: New file.
44899
44900 * kern/i386/pc/hardware.c: Likewise.
44901 * term/i386/pc/at_keyboard.c: Likewise.
44902 * term/i386/pc/vga_text.c: Likewise.
44903
44904 * include/grub/i386/linuxbios/boot.h: Likewise.
44905 * include/grub/i386/linuxbios/console.h: Likewise.
44906 * include/grub/i386/linuxbios/init.h: Likewise.
44907 * include/grub/i386/linuxbios/kernel.h: Likewise.
44908 * include/grub/i386/linuxbios/loader.h: Likewise.
44909 * include/grub/i386/linuxbios/memory.h: Likewise.
44910 * include/grub/i386/linuxbios/serial.h: Likewise.
44911 * include/grub/i386/linuxbios/time.h: Likewise.
44912
44913 * kern/i386/linuxbios/init.c: Likewise.
44914 * kern/i386/linuxbios/startup.S: Likewise.
44915 * kern/i386/linuxbios/table.c: Likewise.
44916
e911ecc1 449172007-10-31 Marco Gerards <marco@gnu.org>
44918
44919 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
44920 (ata_mod_SOURCES): New variable.
44921 (ata_mod_CFLAGS): Likewise.
44922 (ata_mod_LDFLAGS): Likewise.
44923
44924 * disk/ata.c: New file.
44925
44926 * include/grub/disk.h (grub_disk_dev_id): Add
44927 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 44928
7f66d0e0 449292007-10-31 Robert Millan <rmh@aybabtu.com>
44930
44931 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
44932 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
44933
44934 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
44935 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
44936
44937 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
44938 `<grub/types.h>'.
44939
44940 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
44941
5cd7dd46 449422007-10-27 Robert Millan <rmh@aybabtu.com>
44943
3236ca65 44944 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 44945
2ebfc90f 449462007-10-22 Robert Millan <rmh@aybabtu.com>
44947
44948 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
44949 `"../realmode.S"'.
44950 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
44951
73fcb0f3 449522007-10-22 Robert Millan <rmh@aybabtu.com>
44953
44954 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
44955 (pkgdata_MODULES): Add `biosdisk.mod'.
44956 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
44957 variables.
44958
44959 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
44960 (grub_biosdisk_init): Replace with ...
44961 (GRUB_MOD_INIT(biosdisk)): ... this.
44962 (grub_biosdisk_fini): Replace with ...
44963 (GRUB_MOD_FINI(biosdisk)): ... this.
44964
44965 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
44966 (grub_machine_init): Remove call to grub_biosdisk_init().
44967 (grub_machine_fini): Remove call to grub_machine_fini().
44968
44969 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
44970
3381d274 449712007-10-22 Robert Millan <rmh@aybabtu.com>
44972
44973 * include/grub/time.h: New file.
44974 * include/grub/i386/time.h: Likewise.
44975 * include/grub/powerpc/time.h: Likewise.
44976 * include/grub/sparc64/time.h: Likewise.
44977
44978 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
44979 instances to ...
44980 (KERNEL_MACHINE_TIME_HEADER): ... this.
44981 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44982 instances to ...
44983 (KERNEL_MACHINE_TIME_HEADER): ... this.
44984 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
44985 instances to ...
44986 (KERNEL_MACHINE_TIME_HEADER): ... this.
44987
44988 * kern/i386/efi/init.c: Include `<grub/time.h>'.
44989 (grub_millisleep): New function.
44990 * kern/i386/pc/init.c: Include `<grub/time.h>'.
44991 (grub_millisleep): New function.
44992 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
44993 Remove `grub/machine/time.h' include.
44994 (grub_millisleep): New function.
44995 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
44996 Remove `grub/machine/time.h' include.
44997 (grub_millisleep): New function.
44998
44999 * include/grub/misc.h (grub_div_roundup): New function.
45000
45001 * kern/misc.c: Include `<grub/time.h>'.
45002 (grub_millisleep_generic): New function.
45003
45004 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45005 Add `time.h'.
45006 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45007 Add `time.h'.
45008 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45009 `machine/time.h'. Add `time.h'.
45010 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45011
a39a0312 450122007-10-21 Robert Millan <rmh@aybabtu.com>
45013
45014 * include/grub/misc.h (grub_max): New function.
45015
2aad70e2 450162007-10-21 Robert Millan <rmh@aybabtu.com>
45017
45018 * util/misc.c (grub_util_info): Call fflush() before returning.
45019
54b71c4b 450202007-10-20 Robert Millan <rmh@aybabtu.com>
45021
45022 * genmk.rb (Image): Copy `extra_flags' from here ...
45023 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45024
45025 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45026 to `argc' and `args' arguments.
45027
a979f513 450282007-10-17 Robert Millan <rmh@aybabtu.com>
45029
45030 * kern/i386/loader.S: New file.
45031
45032 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45033 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45034 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45035 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45036 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45037 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45038 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45039 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45040 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45041 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45042 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45043 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45044 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45045 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45046
45047 * kern/i386/realmode.S: New file.
45048
45049 * kern/i386/pc/startup.S (protstack): Moved from here ...
45050 * kern/i386/realmode.S (protstack)... to here.
45051 * kern/i386/pc/startup.S (gdt): Moved from here ...
45052 * kern/i386/realmode.S (gdt)... to here.
45053 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45054 * kern/i386/realmode.S (prot_to_real)... to here.
45055
45056 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45057 `kern/i386/realmode.S'.
45058
825fc8fd 450592007-10-17 Robert Millan <rmh@aybabtu.com>
45060
45061 * include/grub/i386/loader.h: New file.
45062
45063 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45064 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45065 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45066 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45067 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45068 * include/grub/i386/loader.h (grub_linux_prot_size)
45069 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45070 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45071 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45072 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45073
45074 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45075
e179b2f4 450762007-10-15 Robert Millan <rmh@aybabtu.com>
45077
45078 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45079 filesystem when dev->disk is unset.
45080 Do probe for filesystem even when dev->disk->has_partitions is set.
45081 In case a filesystem is found, always report it.
45082 In case it isn't, if dev->disk->has_partitions is set, report that
45083 a partition table was found instead of reporting that no filesystem
45084 could be identified.
45085
5db82af6 450862007-10-12 Robert Millan <rmh@aybabtu.com>
45087
45088 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45089 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45090
68f6ac74 45091 * include/grub/types.h (grub_host_to_target16): New macro.
45092 (grub_host_to_target32): Likewise.
45093 (grub_host_to_target64): Likewise.
45094 (grub_target_to_host16): Likewise.
45095 (grub_target_to_host32): Likewise.
45096 (grub_target_to_host64): Likewise.
5db82af6 45097
45098 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45099 Renamed from to ...
45100 (GRUB_MOD_ALIGN): ...this. Update all users.
45101
68f6ac74 45102 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45103 grub_host_to_target32.
45104 Replace grub_be_to_cpu32 with grub_target_to_host32.
45105 (load_modules): Likewise.
45106 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45107 Replace grub_be_to_cpu32 with grub_target_to_host32.
45108 Replace grub_cpu_to_be16 with grub_host_to_target16.
45109 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45110
3cf497cc 451112007-10-12 Robert Millan <rmh@aybabtu.com>
45112
45113 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45114 * util/elf/grub-mkimage.c: ... here.
45115
45116 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45117 `util/powerpc/ieee1275/grub-mkimage.c'.
45118
c8cc3692 451192007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45120
c8cc3692 45121 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45122 and make it easier to figure out.
45123 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45124 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45125 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45126 leave us with less than HEAP_MIN_SIZE total heap.
45127 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45128
5c58b791 451292007-10-03 Robert Millan <rmh@aybabtu.com>
45130
45131 * include/grub/i386/io.h: New file.
45132 * commands/i386/pc/play.c (inb): Removed.
45133 (outb): Removed.
45134 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45135 with grub_outb().
afcd2ef8 45136 * term/i386/pc/serial.c (inb): Removed.
45137 (outb): Removed.
45138 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45139 with grub_outb().
45140 * term/i386/pc/vga.c (inb): Removed.
45141 (outb): Removed.
45142 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45143 with grub_outb().
5c58b791 45144
1a477ed6 451452007-10-02 Robert Millan <rmh@aybabtu.com>
45146
45147 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45148 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45149 Reported by Marcin Kurek.
45150
6b5d80fa 451512007-09-07 Robert Millan <rmh@aybabtu.com>
45152
45153 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45154 SmartFirmware version updates (as released by Sven Luther), and avoid
45155 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45156 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45157 known broken.
45158
5618afbf 451592007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45160
45161 From Hitoshi Ozeki:
45162 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45163 when merging two regions.
45164
6139dcd9 451652007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45166
508e39ee 45167 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45168 * normal/completion.c (grub_normal_do_completion): Likewise.
45169 Reported by Hitoshi Ozeki.
45170
451712007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45172
6139dcd9 45173 Do not use devices at boot in chainloading.
f19dbdb7 45174
6139dcd9 45175 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45176 (boot_part_addr): Likewise.
45177 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45178 with BOOT_DRIVE and BOOT_PART_ADDR.
45179 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45180 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45181
38da6516 451822007-08-29 Robert Millan <rmh@aybabtu.com>
45183
45184 Patch from Simon Peter <dn.tlp@gmx.net>:
45185 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45186 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45187 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45188 util/i386/pc/grub-setup.c_DEPENDENCIES.
45189 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45190 util/grub-probe.c_DEPENDENCIES.
45191 * conf/powerpc-ieee1275.rmk: Likewise.
45192
29d0928c 451932007-08-28 Robert Millan <rmh@aybabtu.com>
45194
45195 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45196 to tell grub-mkdevicemap how to name devices.
45197 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45198 feature).
45199
45200 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45201 util/i386/get_disk_name.c.
45202 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45203 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45204 util/ieee1275/get_disk_name.c.
45205
45206 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45207
45208 * DISTLIST: Add util/i386/get_disk_name.c and
45209 util/ieee1275/get_disk_name.c.
45210
45211 * util/grub-mkdevicemap.c: Replace device naming logic with
45212 grub_util_get_disk_name() calls.
45213
5a0d3cca 452142007-08-20 Robert Millan <rmh@aybabtu.com>
45215
45216 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45217 (so that it works for both plural and singular quantities).
45218
8b72db2f 452192007-08-05 Robert Millan <rmh@aybabtu.com>
45220
45221 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45222 so that [xz] isn't taken into account when determining order.
45223
352466bf 452242007-08-02 Marco Gerards <marco@gnu.org>
45225
45226 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45227 `include/multiboot2.h', `include/grub/elfload.h',
45228 `include/multiboot.h', `include/grub/multiboot.h',
45229 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45230 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45231 `kern/elf.c', `loader/multiboot_loader.c',
45232 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45233 `loader/i386/pc/multiboot2.c',
45234 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45235 `util/i386/pc/grub-mkrescue.in'. Remove
45236 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45237 `include/grub/i386/pc/util/biosdisk.h' and
45238 `include/grub/powerpc/ieee1275/multiboot.h'.
45239
8f096014 452402007-08-02 Bean <bean123ch@gmail.com>
45241
45242 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45243 (ntfs_mod_SOURCES): New variable.
45244 (ntfs_mod_CFLAGS): Likewise.
45245 (ntfs_mod_LDFLAGS): Likewise.
45246
45247 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45248 (grub_probe_SOURCES): Likewise.
45249 (grub_emu_SOURCES): Likewise.
45250
45251 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45252 (grub_emu_SOURCES): Likewise.
45253
45254 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45255 (grub_emu_SOURCES): Likewise.
f19dbdb7 45256
8f096014 45257 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45258
45259 * fs/ntfs.c: New file.
45260
9959f7db 452612007-08-02 Bean <bean123ch@gmail.com>
45262
45263 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45264
45265 * file.h (grub_file): Likewise.
45266
45267 * fshelp.h (grub_fshelp_read_file): Likewise.
45268
45269 * util/i386/pc/grub-setup.c (setup): Likewise.
45270 (save_first_sector): Likewise.
45271 (save_blocklists): Likewise.
f19dbdb7 45272
9959f7db 45273 * fs/affs.c (grub_affs_read_file): Likewise.
45274
45275 * fs/ext2.c (grub_ext2_read_file): Likewise.
45276
45277 * fs/fat.c (grub_fat_read_data): Likewise.
45278
45279 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45280
45281 * fs/hfs.c (grub_hfs_read_file): Likewise.
45282
45283 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45284
45285 * fs/jfs.c (grub_jfs_read_file): Likewise.
45286
45287 * fs/minix.c (grub_minix_read_file): Likewise.
45288
45289 * fs/sfs.c (grub_sfs_read_file): Likewise.
45290
45291 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45292
9959f7db 45293 * fs/xfs.c (grub_xfs_read_file): Likewise.
45294
45295 * command/blocklist.c (read_blocklist): Likewise.
45296 (print_blocklist): Likewise.
45297
0a203f83 452982007-08-02 Marco Gerards <marco@gnu.org>
45299
45300 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45301 `util/hostfs.c'.
45302
45303 * disk/host.c: New file.
45304
45305 * util/hostfs.c: Likewise.
45306
45307 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45308 return `GRUB_ERR_BAD_FS'.
45309 * fs/sfs.c (grub_sfs_mount): Likewise.
45310 * fs/xfs.c (grub_xfs_mount): Likewise.
45311
45312 * include/grub/disk.h (enum grub_disk_dev_id): Add
45313 `GRUB_DISK_DEVICE_HOST_ID'.
45314
45315 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45316
e5dfe777 453172007-07-24 Jerone Young <jerone@gmail.com>
45318
f19dbdb7 45319 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45320 modules for compilation.
45321 * conf/powerpc-ieee1275.rmk: Likewise.
45322
45323 * include/multiboot.h: Move multiboot definitions to one file. Rename
45324 many definitions to not get grub specific.
45325 * include/multiboot2.h: Create header with multiboot 2 definitions.
45326 * include/grub/multiboot.h: Header for grub specific function
45327 prototypes and definitions.
45328 * include/grub/multiboot2.h: Likewise.
45329 * include/grub/multiboot_loader.h: Likewise.
45330 * include/grub/i386/pc/multiboot.h: Removed.
45331 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45332
45333 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45334 and 2 to allow for one multiboot and module commands.
45335 * loader/multiboot2.c: Add multiboot2 functionality.
45336 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45337 and definition names.
45338 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45339 2 functions.
45340 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45341 ieee1275 specific multiboot2 code.
45342
45343 * kern/i386/pc/startup.S: Change headers and definition names for
45344 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45345
daf0f0ba 453462007-07-22 Robert Millan <rmh@aybabtu.com>
45347
45348 * geninitheader.sh: Process file specified in first parameter rather
45349 than hardcoding grub_modules_init.lst.
fe6b695a 45350 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45351 than hardcoding grub_modules_init.h.
45352
45353 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45354 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45355 grub_probe_init.[ch] and grub_setup_init.[ch].
45356
45357 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45358 grub_modules_init.h with grub_emu_init.h.
45359 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45360 grub_probe_init.[ch] files.
45361 * conf/i386-efi.rmk: Likewise.
45362 * conf/i386-pc.rmk: Likewise.
45363 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45364 grub_setup_init.[ch] files.
45365
45366 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45367 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45368 to initialize modules rather than a list of hardcoded functions.
45369 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45370 grub_init_all() to initialize modules rather than a list of hardcoded
45371 functions.
45372
54cdc1cc 453732007-07-22 Robert Millan <rmh@aybabtu.com>
45374
45375 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45376 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45377
ad0686cc 453782007-07-22 Robert Millan <rmh@aybabtu.com>
45379
45380 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45381 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45382 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45383 flag when running on SmartFirmware.
45384 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45385 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45386 was set.
45387
45388 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45389 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45390 rather than decreasing it.
45391
45392 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45393 there's not enough space to do it, fail in the same way as when it
45394 can't be done because there are no partitions.
45395
45396 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45397 when nvsetenv failed.
45398
969c02ec 453992007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45400
45401 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45402 because this rule is automatically generated.
45403 (grub-mkrescue): Removed for the same reason as above.
45404
5a79f472 454052007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45406
45407 Migrate to GNU General Public License Version 3.
f19dbdb7 45408
5a79f472 45409 * COPYING: Replaced with the plain text version of GPLv3.
45410
45411 * config.guess: Updated from gnulib.
45412 * config.sub: Likewise.
45413
45414 * geninit.sh: Output a GPLv3 copyright notice.
45415 * geninitheader.sh: Likewise.
45416 * genmodsrc.sh: Likewise.
45417 * gensymlist.sh.in: Likewise.
45418
45419 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45420 * boot/i386/pc/diskboot.S: Likewise.
45421 * boot/i386/pc/pxeboot.S: Likewise.
45422 * commands/blocklist.c: Likewise.
45423 * commands/boot.c: Likewise.
45424 * commands/cat.c: Likewise.
45425 * commands/cmp.c: Likewise.
45426 * commands/configfile.c: Likewise.
45427 * commands/echo.c: Likewise.
45428 * commands/help.c: Likewise.
45429 * commands/ls.c: Likewise.
45430 * commands/search.c: Likewise.
45431 * commands/terminal.c: Likewise.
45432 * commands/test.c: Likewise.
45433 * commands/videotest.c: Likewise.
45434 * commands/i386/cpuid.c: Likewise.
45435 * commands/i386/pc/halt.c: Likewise.
45436 * commands/i386/pc/play.c: Likewise.
45437 * commands/i386/pc/reboot.c: Likewise.
45438 * commands/i386/pc/vbeinfo.c: Likewise.
45439 * commands/i386/pc/vbetest.c: Likewise.
45440 * commands/ieee1275/halt.c: Likewise.
45441 * commands/ieee1275/reboot.c: Likewise.
45442 * commands/ieee1275/suspend.c: Likewise.
45443 * disk/loopback.c: Likewise.
45444 * disk/lvm.c: Likewise.
45445 * disk/raid.c: Likewise.
45446 * disk/efi/efidisk.c: Likewise.
45447 * disk/i386/pc/biosdisk.c: Likewise.
45448 * disk/ieee1275/ofdisk.c: Likewise.
45449 * font/manager.c: Likewise.
45450 * fs/affs.c: Likewise.
45451 * fs/ext2.c: Likewise.
45452 * fs/fat.c: Likewise.
45453 * fs/fshelp.c: Likewise.
45454 * fs/hfs.c: Likewise.
45455 * fs/hfsplus.c: Likewise.
45456 * fs/iso9660.c: Likewise.
45457 * fs/jfs.c: Likewise.
45458 * fs/minix.c: Likewise.
45459 * fs/sfs.c: Likewise.
45460 * fs/ufs.c: Likewise.
45461 * fs/xfs.c: Likewise.
45462 * hello/hello.c: Likewise.
45463 * include/grub/acorn_filecore.h: Likewise.
45464 * include/grub/arg.h: Likewise.
45465 * include/grub/bitmap.h: Likewise.
45466 * include/grub/boot.h: Likewise.
45467 * include/grub/cache.h: Likewise.
45468 * include/grub/device.h: Likewise.
45469 * include/grub/disk.h: Likewise.
45470 * include/grub/dl.h: Likewise.
45471 * include/grub/elfload.h: Likewise.
45472 * include/grub/env.h: Likewise.
45473 * include/grub/err.h: Likewise.
45474 * include/grub/file.h: Likewise.
45475 * include/grub/font.h: Likewise.
45476 * include/grub/fs.h: Likewise.
45477 * include/grub/fshelp.h: Likewise.
45478 * include/grub/gzio.h: Likewise.
45479 * include/grub/hfs.h: Likewise.
45480 * include/grub/kernel.h: Likewise.
45481 * include/grub/loader.h: Likewise.
45482 * include/grub/lvm.h: Likewise.
45483 * include/grub/misc.h: Likewise.
45484 * include/grub/mm.h: Likewise.
45485 * include/grub/net.h: Likewise.
45486 * include/grub/normal.h: Likewise.
45487 * include/grub/parser.h: Likewise.
45488 * include/grub/partition.h: Likewise.
45489 * include/grub/pc_partition.h: Likewise.
45490 * include/grub/raid.h: Likewise.
45491 * include/grub/rescue.h: Likewise.
45492 * include/grub/script.h: Likewise.
45493 * include/grub/setjmp.h: Likewise.
45494 * include/grub/symbol.h: Likewise.
45495 * include/grub/term.h: Likewise.
45496 * include/grub/terminfo.h: Likewise.
45497 * include/grub/tparm.h: Likewise.
45498 * include/grub/types.h: Likewise.
45499 * include/grub/video.h: Likewise.
45500 * include/grub/efi/api.h: Likewise.
45501 * include/grub/efi/chainloader.h: Likewise.
45502 * include/grub/efi/console.h: Likewise.
45503 * include/grub/efi/console_control.h: Likewise.
45504 * include/grub/efi/disk.h: Likewise.
45505 * include/grub/efi/efi.h: Likewise.
45506 * include/grub/efi/pe32.h: Likewise.
45507 * include/grub/efi/time.h: Likewise.
45508 * include/grub/i386/linux.h: Likewise.
45509 * include/grub/i386/setjmp.h: Likewise.
45510 * include/grub/i386/types.h: Likewise.
45511 * include/grub/i386/efi/kernel.h: Likewise.
45512 * include/grub/i386/efi/loader.h: Likewise.
45513 * include/grub/i386/efi/time.h: Likewise.
45514 * include/grub/i386/pc/biosdisk.h: Likewise.
45515 * include/grub/i386/pc/boot.h: Likewise.
45516 * include/grub/i386/pc/chainloader.h: Likewise.
45517 * include/grub/i386/pc/console.h: Likewise.
45518 * include/grub/i386/pc/init.h: Likewise.
45519 * include/grub/i386/pc/kernel.h: Likewise.
45520 * include/grub/i386/pc/loader.h: Likewise.
45521 * include/grub/i386/pc/memory.h: Likewise.
45522 * include/grub/i386/pc/multiboot.h: Likewise.
45523 * include/grub/i386/pc/serial.h: Likewise.
45524 * include/grub/i386/pc/time.h: Likewise.
45525 * include/grub/i386/pc/vbe.h: Likewise.
45526 * include/grub/i386/pc/vbeblit.h: Likewise.
45527 * include/grub/i386/pc/vbefill.h: Likewise.
45528 * include/grub/i386/pc/vbeutil.h: Likewise.
45529 * include/grub/i386/pc/vga.h: Likewise.
45530 * include/grub/ieee1275/ieee1275.h: Likewise.
45531 * include/grub/ieee1275/ofdisk.h: Likewise.
45532 * include/grub/powerpc/libgcc.h: Likewise.
45533 * include/grub/powerpc/setjmp.h: Likewise.
45534 * include/grub/powerpc/types.h: Likewise.
45535 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45536 * include/grub/powerpc/ieee1275/console.h: Likewise.
45537 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45538 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45539 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45540 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45541 * include/grub/powerpc/ieee1275/time.h: Likewise.
45542 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45543 * include/grub/sparc64/libgcc.h: Likewise.
45544 * include/grub/sparc64/setjmp.h: Likewise.
45545 * include/grub/sparc64/types.h: Likewise.
45546 * include/grub/sparc64/ieee1275/console.h: Likewise.
45547 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45548 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45549 * include/grub/sparc64/ieee1275/time.h: Likewise.
45550 * include/grub/util/biosdisk.h: Likewise.
45551 * include/grub/util/getroot.h: Likewise.
45552 * include/grub/util/lvm.h: Likewise.
45553 * include/grub/util/misc.h: Likewise.
45554 * include/grub/util/raid.h: Likewise.
45555 * include/grub/util/resolve.h: Likewise.
45556 * io/gzio.c: Likewise.
45557 * kern/device.c: Likewise.
45558 * kern/disk.c: Likewise.
45559 * kern/dl.c: Likewise.
45560 * kern/elf.c: Likewise.
45561 * kern/env.c: Likewise.
45562 * kern/err.c: Likewise.
45563 * kern/file.c: Likewise.
45564 * kern/fs.c: Likewise.
45565 * kern/loader.c: Likewise.
45566 * kern/main.c: Likewise.
45567 * kern/misc.c: Likewise.
45568 * kern/mm.c: Likewise.
45569 * kern/parser.c: Likewise.
45570 * kern/partition.c: Likewise.
45571 * kern/rescue.c: Likewise.
45572 * kern/term.c: Likewise.
45573 * kern/efi/efi.c: Likewise.
45574 * kern/efi/init.c: Likewise.
45575 * kern/efi/mm.c: Likewise.
45576 * kern/i386/dl.c: Likewise.
45577 * kern/i386/efi/init.c: Likewise.
45578 * kern/i386/efi/startup.S: Likewise.
45579 * kern/i386/pc/init.c: Likewise.
45580 * kern/i386/pc/lzo1x.S: Likewise.
45581 * kern/i386/pc/startup.S: Likewise.
45582 * kern/ieee1275/ieee1275.c: Likewise.
45583 * kern/powerpc/cache.S: Likewise.
45584 * kern/powerpc/dl.c: Likewise.
45585 * kern/powerpc/ieee1275/cmain.c: Likewise.
45586 * kern/powerpc/ieee1275/crt0.S: Likewise.
45587 * kern/powerpc/ieee1275/init.c: Likewise.
45588 * kern/powerpc/ieee1275/openfw.c: Likewise.
45589 * kern/sparc64/cache.S: Likewise.
45590 * kern/sparc64/dl.c: Likewise.
45591 * kern/sparc64/ieee1275/init.c: Likewise.
45592 * kern/sparc64/ieee1275/openfw.c: Likewise.
45593 * loader/efi/chainloader.c: Likewise.
45594 * loader/efi/chainloader_normal.c: Likewise.
45595 * loader/i386/efi/linux.c: Likewise.
45596 * loader/i386/efi/linux_normal.c: Likewise.
45597 * loader/i386/pc/chainloader.c: Likewise.
45598 * loader/i386/pc/chainloader_normal.c: Likewise.
45599 * loader/i386/pc/linux.c: Likewise.
45600 * loader/i386/pc/linux_normal.c: Likewise.
45601 * loader/i386/pc/multiboot.c: Likewise.
45602 * loader/i386/pc/multiboot_normal.c: Likewise.
45603 * loader/powerpc/ieee1275/linux.c: Likewise.
45604 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45605 * normal/arg.c: Likewise.
45606 * normal/cmdline.c: Likewise.
45607 * normal/command.c: Likewise.
45608 * normal/completion.c: Likewise.
45609 * normal/execute.c: Likewise.
45610 * normal/function.c: Likewise.
45611 * normal/lexer.c: Likewise.
45612 * normal/main.c: Likewise.
45613 * normal/menu.c: Likewise.
45614 * normal/menu_entry.c: Likewise.
45615 * normal/misc.c: Likewise.
45616 * normal/parser.y: Likewise.
45617 * normal/script.c: Likewise.
45618 * normal/i386/setjmp.S: Likewise.
45619 * normal/powerpc/setjmp.S: Likewise.
45620 * normal/sparc64/setjmp.S: Likewise.
45621 * partmap/acorn.c: Likewise.
45622 * partmap/amiga.c: Likewise.
45623 * partmap/apple.c: Likewise.
45624 * partmap/gpt.c: Likewise.
45625 * partmap/pc.c: Likewise.
45626 * partmap/sun.c: Likewise.
45627 * term/gfxterm.c: Likewise.
45628 * term/terminfo.c: Likewise.
45629 * term/efi/console.c: Likewise.
45630 * term/i386/pc/console.c: Likewise.
45631 * term/i386/pc/serial.c: Likewise.
45632 * term/i386/pc/vesafb.c: Likewise.
45633 * term/i386/pc/vga.c: Likewise.
45634 * term/ieee1275/ofconsole.c: Likewise.
45635 * util/biosdisk.c: Likewise.
45636 * util/console.c: Likewise.
45637 * util/genmoddep.c: Likewise.
45638 * util/getroot.c: Likewise.
45639 * util/grub-emu.c: Likewise.
45640 * util/grub-mkdevicemap.c: Likewise.
45641 * util/grub-probe.c: Likewise.
45642 * util/lvm.c: Likewise.
45643 * util/misc.c: Likewise.
45644 * util/raid.c: Likewise.
45645 * util/resolve.c: Likewise.
45646 * util/update-grub.in: Likewise.
45647 * util/update-grub_lib.in: Likewise.
45648 * util/grub.d/00_header.in: Likewise.
45649 * util/grub.d/10_hurd.in: Likewise.
45650 * util/grub.d/10_linux.in: Likewise.
45651 * util/i386/efi/grub-install.in: Likewise.
45652 * util/i386/efi/grub-mkimage.c: Likewise.
45653 * util/i386/pc/grub-install.in: Likewise.
45654 * util/i386/pc/grub-mkimage.c: Likewise.
45655 * util/i386/pc/grub-mkrescue.in: Likewise.
45656 * util/i386/pc/grub-setup.c: Likewise.
45657 * util/i386/pc/misc.c: Likewise.
45658 * util/powerpc/ieee1275/grub-install.in: Likewise.
45659 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45660 * util/powerpc/ieee1275/misc.c: Likewise.
45661 * video/bitmap.c: Likewise.
45662 * video/video.c: Likewise.
45663 * video/i386/pc/vbe.c: Likewise.
45664 * video/i386/pc/vbeblit.c: Likewise.
45665 * video/i386/pc/vbefill.c: Likewise.
45666 * video/i386/pc/vbeutil.c: Likewise.
45667 * video/readers/tga.c: Likewise.
45668
3572d015 456692007-07-02 Robert Millan <rmh@aybabtu.com>
45670
45671 * conf/i386-efi.rmk: Replace obsolete reference to
45672 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45673 with util/getroot.c.
45674 * conf/powerpc-ieee1275.rmk: Likewise.
45675 * conf/sparc64-ieee1275.rmk: Likewise.
45676
45677 * util/grub-emu.c (main): Fix unchecked pointer handling.
45678
2c2a681b 456792007-07-02 Robert Millan <rmh@aybabtu.com>
45680
45681 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45682 invocation to fail, in order to support partition-less media.
45683
45684 * util/i386/pc/grub-install.in: Likewise.
45685
45686 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45687 which fs or partmap modules are needed (akin to its sister scripts).
45688
45689 Also use grub-probe to get rid of unportable /proc/mounts check.
45690
45691 Print the same informational message that the other scripts do, before
fe6b695a 45692 exiting.
2c2a681b 45693
6193defe 456942007-06-23 Robert Millan <rmh@aybabtu.com>
45695
fe6b695a 45696 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 45697 a font file can be found and, if so, echo the GRUB path to it.
45698
45699 * util/update-grub.in: Handle multiple terminals depending on user
45700 input, platform availability and font file presence. Propagate
45701 variables of our findings to /etc/grub.d/ children.
45702
45703 * util/grub.d/00_header.in: Handle multiple terminals, based on
45704 environment setup by update-grub.
45705
eface1dc 457062007-06-23 Robert Millan <rmh@aybabtu.com>
45707
ba50d28f 45708 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 45709
bf697e28 457102007-06-21 Robert Millan <rmh@aybabtu.com>
45711
45712 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
45713 indicate end of data section in kernel image.
45714 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
45715 GRUB_KERNEL_MACHINE_DATA_END.
45716
45717 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
45718 space for it.
45719 * kern/i386/efi/startup.S: Likewise.
45720
45721 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
45722 during image generation. Implement --prefix option to override this
45723 patch.
45724 * util/i386/efi/grub-mkimage.c: Likewise.
45725
45726 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
45727 code to make path relative to its root into a separate function.
45728
45729 * util/i386/pc/grub-install.in: Use newly provided
45730 make_system_path_relative_to_its_root() to convert ${grubdir}, then
45731 pass the result to grub-install --prefix.
45732
baa574b4 457332007-06-13 Robert Millan <rmh@aybabtu.com>
45734
45735 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
45736 DEFAULT_DEVICE_MAP.
45737 * util/grub-emu.c: Use above definitions from misc.h instead of
45738 defining them.
45739 * util/grub-mkdevicemap.c: Likewise.
45740 * util/i386/pc/grub-setup.c: Likewise.
45741 * util/grub-probe.c: Likewise.
45742 (probe): Abort with grub_util_error() when either
45743 grub_guess_root_device or grub_util_get_grub_dev fails.
45744
0215dcbf 457452007-06-12 Robert Millan <rmh@aybabtu.com>
45746
45747 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
45748 "pager" assignment.
45749 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
45750 "pcdata".
45751 * util/grub-probe.c (probe): Likewise for "drive_name".
45752
8af2ab7b 457532007-06-11 Robert Millan <rmh@aybabtu.com>
45754
45755 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
45756 not just the cdrom one.
45757
59d31694 457582007-06-11 Robert Millan <rmh@aybabtu.com>
45759
45760 * util/i386/pc/grub-mkrescue.in: Add "set -e".
45761 Add --pkglibdir=DIR option to override pkglibdir.
45762 Mention --image-type=TYPE in help output.
45763 Fix --grub-mkimage (it was a no-op).
fe6b695a 45764 Abort gracefully when no parameter is given.
59d31694 45765
7ee367e4 457662007-06-11 Robert Millan <rmh@aybabtu.com>
45767
45768 * util/i386/pc/grub-mkrescue.in: New file.
45769 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
45770 * Makefile.in: Handle bin_SCRIPTS.
45771
29b0ed46 457722007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
45773
45774 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
45775 list of video modes.
45776
c0f90770 457772007-06-06 Robert Millan <rmh@aybabtu.com>
45778
45779 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
45780 file doesn't exist, or if it is in a filesystem grub can't read.
45781
45782 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
45783 not abort if GRUB_DRIVE could not be defined. Rearrange generated
45784 header comment to fit in 80 columns when the variables are resolved.
45785
45786 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
45787 could be identified by update-grub. Remove redundant check for
fe6b695a 45788 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 45789 handles that).
45790
fb36dc26 457912007-06-04 Robert Millan <rmh@aybabtu.com>
45792
45793 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
45794
45795 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
45796
45797 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
45798
0c68c93e 457992007-06-04 Robert Millan <rmh@aybabtu.com>
45800
45801 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
45802
45803 * include/grub/partition.h: Declare grub_apple_partition_map_init and
45804 grub_apple_partition_map_fini.
45805
45806 * util/biosdisk.c
45807 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
45808 to access >2 TiB disks).
45809
45810 Print disk->total_sectors with %llu instead of %lu, since this
45811 variable is always 64-bit (prevents wrong disk size from being displayed
45812 on either >2 TiB disk or big-endian CPU).
45813
45814 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
45815 into a generic case that supports all (sane) partition maps.
45816
45817 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
45818 breaks big-endian.
45819
45820 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
45821 and grub_apple_partition_map_fini() after that.
45822
0f23eb74 458232007-06-01 Robert Millan <rmh@aybabtu.com>
45824
45825 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
45826
45827 * util/grub.d/00_header.in: Only enable gfxterm when
45828 convert_system_path_to_grub_path() succeeds.
45829
42c71976 458302007-05-20 Robert Millan <rmh@aybabtu.com>
45831
45832 * util/update-grub_lib.in: New file.
45833 * DISTLIST: Add update-grub_lib.in.
45834 * conf/common.rmk: Generate update-grub_lib and install it in
45835 $(lib_DATA).
45836 * Makefile.in: Add install routine for $(lib_DATA).
45837
45838 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
45839 function provided by update-grub_lib to support arbitrary paths of
45840 unifont.pff.
45841 * util/update-grub.in: Use convert_system_path_to_grub_path() to
45842 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
45843
5beb2291 458442007-05-19 Robert Millan <rmh@aybabtu.com>
45845
45846 * commands/i386/cpuid.c: New module.
45847 * DISTLIST: Add it.
45848 * conf/i386-efi.rmk: Enable cpuid.mod.
45849 * conf/i386-pc.rmk: Likewise.
45850
7262eca1 458512007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45852
45853 * kern/disk.c (grub_disk_read): Check return value of
45854 grub_realloc().
45855
260ba823 458562007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
45857
45858 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
45859 arrays.
45860 * disk/raid.c (grub_raid_open): Likewise.
45861
1ecb6cf2 458622007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
45863
45864 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
45865 stack instead of on the heap.
45866
45867 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
45868 before doing a read on it.
45869
45870 * configure.ac: Only use -fno-stack-protector for the target
45871 environment.
f19dbdb7 45872
21c8cbb1 458732007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
45874
45875 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
45876 __attribute_ ((unused)) to mode_type argument.
45877
45878 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 45879
21c8cbb1 45880 * kern/misc.c (memcmp): Fix prototype.
45881
45882 * include/grub/partition.h [GRUB_UTIL]
45883 (grub_gpt_partition_map_init): Add prototype.
45884 (grub_gpt_partition_map_fini): Likewise.
45885
45886 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
45887 at the right place.
45888
45889 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
45890 (grub_fat_read_data): Likewise.
45891 (grub_fat_find_dir): Likewise.
45892
45893 * font/manager.c (find_glyph): Make table a const.
45894 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 45895
849d55d3 458962007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
45897
45898 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
45899 code, first search for device in /dev/mapper, then in /dev.
45900 (grub_util_get_grub_dev): New function.
45901 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
45902 prototype.
45903 * util/grub-probe.c (probe): Remove check for RAID, call
45904 grub_util_get_grub_dev() instead of
45905 grub_util_biosdisk_get_grub_dev().
45906 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
45907 grub_util_biosdisk_get_grub_dev().
45908 * util/i386/pc/grub-setup.c (main): Likewise.
45909
8fff7c2f 459102007-05-16 Robert Millan <rmh@aybabtu.com>
45911
45912 * DISTLIST: Update for the latest changes.
45913 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
45914 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
45915 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
45916 grub/util/biosdisk.h.
45917 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
45918 grub/util/biosdisk.h.
45919
48e12b52 459202007-05-16 Robert Millan <rmh@aybabtu.com>
45921
45922 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
45923
46b9d128 459242007-05-16 Robert Millan <rmh@aybabtu.com>
45925
45926 * util/i386/efi/grub-install.in: New.
45927 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
45928 newly added grub-install.
45929 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
45930 include.
45931 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
45932 grub/util/biosdisk.h.
45933 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
45934 grub/util/biosdisk.h.
45935
2d1a40a9 459362007-05-16 Robert Millan <rmh@aybabtu.com>
45937
45938 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
45939 * include/grub/util/biosdisk.h: ... here.
45940 * util/i386/pc/biosdisk.c: Moved to ...
45941 * util/biosdisk.c: ... here.
45942 * util/i386/pc/getroot.c: Moved to ...
45943 * util/getroot.c: ... here.
45944 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
45945 * util/grub-mkdevicemap.c: ... here.
45946 * util/i386/pc/grub-probe.c: Moved to ...
45947 * util/grub-probe.c: ... here.
45948
9e26e3bc 459492007-05-15 Robert Millan <rmh@aybabtu.com>
45950
45951 * util/update-grub.in: Remove duplicated line in grub.cfg header
45952 message.
45953
57f96397 459542007-05-13 Robert Millan <rmh@aybabtu.com>
45955
45956 * util/update-grub.in: Fix a few assumptions about the devices holding
45957 /, /boot and /boot/grub being the same.
45958 * util/grub.d/00_header.in: Likewise.
45959 * util/grub.d/10_hurd.in: Likewise.
45960 * util/grub.d/10_linux.in: Likewise.
45961
45962 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
45963 patterns. Use that to define the `.old' suffix as older than `'.
45964
45965 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
45966
45967 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
45968 the grub.cfg header message.
45969
2e610d62 459702007-05-11 Robert Millan <rmh@aybabtu.com>
45971
45972 * util/update-grub.in: Create device.map if it doesn't already exist,
45973 before attempting to run grub-probe.
45974 Check for grub-probe and grub-mkdevicemap with the same code
45975 grub-install is using.
45976 Remove test mode.
45977
3f6a10ef 459782007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
45979
45980 * Makefile.in: Add the datarootdir autoconf variable.
45981
02e7b75e 459822007-05-09 Robert Millan <rmh@aybabtu.com>
45983
45984 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 45985 fail gracefully if dev->disk->partition == NULL.
02e7b75e 45986
75f396cc 459872007-05-07 Robert Millan <rmh@aybabtu.com>
45988
45989 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
45990 determine partition map module.
45991 * util/i386/pc/grub-install.in: Use this feature to decide which
45992 partition module to load, instead of hardcoding pc and gpt.
45993
da65cb36 459942007-05-07 Robert Millan <rmh@aybabtu.com>
45995
45996 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
45997 source directory differs from build directory.
45998
b57d6a91 459992007-05-05 Robert Millan <rmh@aybabtu.com>
46000
46001 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46002 initialisation.
46003
509d00f1 460042007-05-05 Robert Millan <rmh@aybabtu.com>
46005
46006 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46007
c48f23ef 460082007-05-05 Robert Millan <rmh@aybabtu.com>
46009
46010 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46011 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46012
20b97658 460132007-05-05 Robert Millan <rmh@aybabtu.com>
46014
46015 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46016 (grub_probe_SOURCES): Likewise.
46017 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46018 GPT and initialize dos_part and bsd_part accordingly.
46019 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46020 install_bsd_part.
46021 (main): Activate gpt module for use during partition identification,
46022 and deactivate it afterwards.
46023 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46024 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46025 partition identification, and deactivate it afterwards.
46026
99123174 460272007-05-05 Robert Millan <rmh@aybabtu.com>
46028
46029 * term/i386/pc/console.c (grub_console_fini): Call
46030 grub_term_set_current() before grub_term_unregister().
46031
ebd97f6e 460322007-05-04 Robert Millan <rmh@aybabtu.com>
46033
46034 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46035 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46036 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46037 and update-grub_DATA.
46038 * conf/common.rmk: Build and install update-grub components.
46039 * conf/common.mk: Regenerate.
46040 * util/update-grub.in: New. Core of update-grub.
46041 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46042 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46043 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46044 * util/grub.d/README: New. Document grub.d directory layout.
46045
b06a264d 460462007-05-01 Robert Millan <rmh@aybabtu.com>
46047
46048 * util/grub-emu.c: Move initialization functions
46049 grub_util_biosdisk_init() and grub_init_all() before
46050 grub_util_biosdisk_get_grub_dev(), which relies on them.
46051
41f0050e 460522007-04-19 Robert Millan <rmh@aybabtu.com>
46053
46054 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46055 it is used later.
46056
04582bb3 460572007-04-18 Jerone Young <jerone@gmail.com>
46058
f19dbdb7 46059 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46060 stanza.
46061
08db4632 460622007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46063
08db4632 46064 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46065 continue on and look for device node with real device name.
46066
801b76be 460672007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46068
fe6b695a 46069 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46070 ability.
46071 * Makefile.in: Add autoconf package transformation code.
46072 * util/i386/pc/grub-install.in: Likewise.
46073 * util/powerpc/ieee1275/grub-install.in: Likewise.
46074
6795c4e1 460752007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46076
46077 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46078 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46079 (EXT2_REVISION): Likewise.
46080 (EXT2_INODE_SIZE): Likewise.
46081 (struct grub_ext2_block_group): Added a missing member
46082 "used_dirs".
46083 (grub_ext2_read_inode): Divide by the inode size in a superblock
46084 instead of 128 to obtain INODES_PER_BLOCK.
46085 Use the macro EXT2_INODE_SIZE instead of directly using
46086 SBLOCK->INODE_SIZE.
46087
d70af616 460882007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46089
46090 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46091 superblock instead of the structure size to compute an
46092 offset. This fixes the problem that GRUB could not read a
46093 filesystem when inode size is different from 128-byte.
46094
3b801603 460952007-03-05 Marco Gerards <marco@gnu.org>
46096
46097 * normal/main.c (read_config_file): When "menu" is not set, create
46098 an initial context.
46099
4785bfe4 461002007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46101
46102 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46103 (HEAP_LIMIT): New macro.
46104 (grub_claim_heap): Claim memory up to `heaplimit'.
46105
a0cbb023 461062007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46107
46108 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46109 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46110 (_start): Likewise.
46111 (grub_arch_modules_addr): Return address after `_end'.
46112 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46113 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46114 (add_segments): Calculate `_end' from phdr size and location.
46115 (ALIGN_UP): Moved to ...
46116 * include/grub/misc.h: here.
46117 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46118 New macro.
46119 (GRUB_IEEE1275_MODULE_BASE): Removed.
46120
fd7d8eba 461212007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46122
46123 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46124 loop boundary.
46125
9b09e6fc 461262007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46127
46128 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46129 All users updated.
46130 (grub_elf64_load_hook_t): Likewise.
46131 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46132 debug output.
46133
3ce27299 461342007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46135
46136 * kern/mm.c: Update copyright.
46137 (grub_mm_debug): Correct syntax error.
46138 (grub_mm_dump_free): New function.
46139 (grub_debug_free): Call `grub_free'.
46140 * include/grub/mm.h: Update copyright.
46141 (grub_mm_dump_free): Add declaration.
46142
077d5fee 461432007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46144
46145 * include/grub/ieee1275/ieee1275.h: Update copyright.
46146 * kern/powerpc/ieee1275/init.c: Likewise.
46147 * kern/powerpc/ieee1275/openfw.c: Likewise.
46148
46149 * loader/powerpc/ieee1275/linux.c: Likewise.
46150 * include/grub/elfload.h: Likewise.
46151 * kern/elf.c: Likewise.
46152 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46153 callers.
46154 (grub_elf64_load): Likewise.
46155 (grub_elf32_load_segment): Move to a nested function.
46156 (grub_elf64_load_segment): Likewise.
46157
dc946850 461582007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46159
46160 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46161 prototype.
46162 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46163 (grub_heap_len): Likewise.
46164 (HEAP_SIZE): New macro.
46165 (grub_claim_heap): New function.
46166 (grub_machine_init): Don't claim heap directly. Call
46167 `grub_claim_heap'.
46168 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46169 (grub_available_iterate): New function.
46170
baa2a121 461712007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46172
46173 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46174 * configure.ac: Use it for testing the HOST and TARGET compilers.
46175
4fe9862e 461762006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46177
46178 * Makefile.in (enable_grub_emu): New variable.
46179 * configure.ac (--enable-grub-emu): New option.
46180 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46181 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46182 * conf/i386-pc.rmk: Likewise.
46183 * conf/powerpc-ieee1275.rmk: Likewise.
46184 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46185
a8aa5762 461862006-12-12 Marco Gerards <marco@gnu.org>
46187
46188 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46189
46190 * kern/env.c (grub_env_unset): Don't free the member `value' when
46191 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46192 pointer.
46193
46194 * normal/main.c (current_menu): Removed.
46195 (free_menu): Unset the `menu' environment variable.
46196 (grub_normal_menu_addentry): Make use of the environment variable
46197 `menu', instead of using the global `current_menu'. Allocate
46198 memory for the sourcecode of this entry.
46199 (read_config_file): New argument `nested', changed all callers.
46200 Only in the case of a new context, initialize a new menu. Set the
46201 `menu' environment variable.
46202 (grub_normal_execute): Don't set and unset the environment
46203 variable `menu' here anymore. Only free the menu when leaving the
46204 context.
46205
46206 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46207 leak.
46208
957b3a3e 462092006-12-11 Marco Gerards <marco@gnu.org>
46210
46211 * normal/menu_entry.c (run): Fix off by one bug so the last line
46212 is executed. Move the loader check to outside the loop.
46213
ef875714 462142006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46215
46216 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46217
4e739985 462182006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46219
46220 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46221 the number of sectors. Reported by Andrey Shuvikov
46222 <mr_hyro@yahoo.com>.
f19dbdb7 46223
790707f2 462242006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46225
46226 * kern/disk.c (grub_disk_read): When there is a read error, always
46227 try to read only the necessary data.
f19dbdb7 46228
790707f2 46229 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46230 disk/raid.c.
46231 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46232 prototype.
46233 [GRUB_UTIL] (grub_raid_fini): Likewise.
46234 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46235 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46236 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46237 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46238 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46239 and grub_raid_fini().
f19dbdb7 46240
03e58196 462412006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46242
46243 * include/grub/types.h (__unused): Rename to UNUSED.
46244 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46245 (grub_elf64_size): Likewise.
f19dbdb7 46246
ae4f23bf 462472006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46248
46249 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46250 grub_error_push and grub_error_pop in the error-handling path.
46251 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46252 length.
46253
2166cc83 462542006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46255
46256 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46257 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46259 (kernel_elf_SOURCES): Likewise.
46260 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46261 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46262 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46263 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46264 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46265 (elf_mod_SOURCES): New variable.
46266 (elf_mod_CFLAGS): Likewise.
46267 (elf_mod_LDFLAGS): Likewise.
46268 * include/grub/types.h (__unused): New macro.
46269 * include/grub/elfload.h: New file.
46270 * kern/elf.c: Likewise.
46271 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46272 (ELF32_LOADMASK): New macro.
46273 (ELF64_LOADMASK): Likewise.
46274 (vmlinux): Removed.
46275 (grub_linux_load32): New function.
46276 (grub_linux_load64): Likewise.
46277 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46278 Use grub_elf_t instead of grub_file_t.
46279
a09d5aa5 462802006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46281
46282 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46283 `catch_result' to struct set_color_args.
46284
d976fc51 462852006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46286
46287 * normal/menu.c: Include grub/script.h.
46288 * normal/menu_entry.c: Likewise.
46289 * include/grub/normal.h: Do not include grub/script.h.
46290
67507549 462912006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46292
46293 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46294
69203a99 462952006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46296
46297 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46298 disk.
46299 (grub_disk_close): Print debug messages when closing a disk.
46300 (grub_disk_read): Print debug messages when disk read fails.
46301 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46302 filesystem type.
46303 * kern/partition.c: Include misc.h.
46304 (grub_partition_iterate): Print debug messages when detecting
46305 partition type.
46306
e2b8278c 463072006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46308
46309 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46310 is negative.
46311 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46312
97b2f2ff 463132006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46314
46315 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46316 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46317
6555d655 463182006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46319
46320 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46321 instead of sizeof(lv). Patch by Michael Guntsche.
46322
4d42b77f 463232006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46324
46325 * disk/lvm.c: Rename VGS to VG_LIST.
46326 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46327 (grub_lvm_open): Likewise.
46328 Thanks to Michael Guntsche for finding this bug.
46329
5d74d927 463302006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46331
46332 * configure.ac (AC_INIT): Bumped to 1.95.
46333
a1bb27e4 463342006-10-14 Robert Millan <rmh@aybabtu.com>
46335
46336 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46337 with "/dev/.static/dev/md".
46338
e0994b8b 463392006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46340
46341 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46342 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46343 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46344 DRIVE_NAME are always freed.
46345
46346 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46347 DOS_PART, as a DOS partition is counted from one instead of zero
46348 now. Reported by Robert Millan.
46349
ddd5cee9 463502006-10-14 Robert Millan <rmh@aybabtu.com>
46351
46352 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46353 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46354 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46355 string returned by grub_guess_root_device.
46356 * util/i386/pc/grub-setup.c: Likewise.
46357 * util/i386/pc/grub-probefs.c: Likewise.
46358
46359 * util/i386/pc/grub-probefs.c: Rename to ...
46360 * util/i386/pc/grub-probe.c: ... this.
46361 * DISTLIST: Remove grub-probefs, add grub-probe.
46362 * conf/i386-efi.rmk: Likewise.
46363 * conf/i386-pc.rmk: Likewise.
46364 * util/i386/pc/grub-install.in: Likewise.
46365
46366 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46367 choose which information we want to print.
46368
2b002173 463692006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46370
46371 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46372 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46373 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46374 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46375 video/readers/tga.c and video/i386/pc/vbeutil.c.
46376
463772006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46378
46379 Added support for RAID and LVM.
f19dbdb7 46380
2b002173 46381 * disk/lvm.c: New file.
46382 * disk/raid.c: Likewise.
46383 * include/grub/lvm.h: Likewise.
f19dbdb7 46384 * include/grub/raid.h: Likewise.
2b002173 46385 * include/grub/util/lvm.h: Likewise.
46386 * include/grub/util/raid.h: Likewise.
46387 * util/lvm.c: Likewise.
46388 * util/raid.c: Likewise.
46389
46390 * include/grub/disk.h (grub_disk_dev_id): Add
46391 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46392 (grub_disk_get_size): New prototype.
46393 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46394 returns a partition.
46395 (grub_disk_get_size): New function.
f19dbdb7 46396
2b002173 46397 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46398 verbatim if grub_install_dos_part is -2.
46399
46400 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46401 and LVM devices.
46402
46403 * util/i386/pc/grub-setup.c (setup): New argument
46404 MUST_EMBED. Force embedding of GRUB when the argument is
46405 true. Close FILE before returning.
46406 (main): Add support for RAID and LVM.
f19dbdb7 46407
2b002173 46408 * conf/common.rmk: Add RAID and LVM modules.
46409 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46410 util/lvm.c.
46411 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46412
46413 * kern/misc.c (grub_strstr): New function.
46414 * include/grub/misc.h (grub_strstr): New prototype.
46415
050548d0 464162006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46417
46418 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46419
da849d2d 464202006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46421
46422 * kern/misc.c (grub_strtoull): Guess the base only if not
46423 specified.
46424
97b2f2ff 464252006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46426
46427 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46428 PowerMac support.
46429
97b2f2ff 464302006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46431
46432 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46433
46434 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46435 Remove `flags' argument. All callers changed.
46436 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46437 (IEEE1275_IHANDLE_INVALID): New variable.
46438 (IEEE1275_CELL_INVALID): New variable.
46439 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46440 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46441 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46442 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46443 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46444 codes from Open Firmware. All callers updated.
46445 (grub_ieee1275_next_property): Directly return Open Firmware return
46446 code.
46447 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46448 Standardize error checking from `grub_ieee1275_get_property'.
46449 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46450 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46451
97b2f2ff 464522006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46453
46454 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46455 `instance_to_package_args' to `instance_to_path_args'.
46456
46457 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46458 `grub_ieee1275_chosen'.
46459
46460 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46461 `grub_ieee1275_interpret'.
46462
97b2f2ff 464632006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46464
46465 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46466
97b2f2ff 464672006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46468
46469 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46470 (__cmpdi): Likewise.
46471
46472 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46473 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46474 `grub_ssize_t'.
46475
02bb8acc 46476 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46477
46478 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46479 to type `grub_ssize_t'.
46480 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46481
7f9a8531 464822006-09-22 Marco Gerards <marco@gnu.org>
46483
46484 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46485 newlines.
46486
b5ef1102 464872006-09-22 Marco Gerards <marco@gnu.org>
46488
46489 * commands/echo.c: New file.
46490
46491 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46492
46493 * conf/common.rmk (echo_mod_SOURCES): New variable.
46494 (echo_mod_CFLAGS): Likewise.
46495 (echo_mod_LDFLAGS): Likewise.
46496
2cff3677 464972006-09-22 Marco Gerards <marco@gnu.org>
46498
46499 * normal/main.c (get_line): Malloc memory instead of using
46500 preallocated memory. Removed the arguments `cmdline' and
46501 `max_len'. Updated all callers.
46502
6ba4688b 465032006-09-22 Marco Gerards <marco@gnu.org>
46504
46505 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46506 (normal_mod_DEPENDENCIES): Likewise.
46507
46508 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46509 (normal_mod_DEPENDENCIES): Likewise.
46510
46511 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46512
e02ac02c 465132006-09-22 Johan Rydberg <jrydberg@gnu.org>
46514
46515 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46516 programs.
46517 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46518 (normal_mod_DEPENDENCIES): Likewise.
46519 * conf/i386-pc.mk: Regenerate.
46520 * conf/i386-efi.mk: Likewise
46521 * conf/common.mk: Likewise.
46522 * conf/powerpc-ieee1275.mk: Likewise.
46523 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46524
8d252e44 465252006-09-22 Robert Millan <rmh@aybabtu.com>
46526
46527 Sync with i386 version.
46528 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46529 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46530
209bf7ac 465312006-09-21 Robert Millan <rmh@aybabtu.com>
46532
46533 Import from GRUB Legacy (lib/device.c):
46534 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46535 (init_device_map) [__linux__]: Add support for I2O devices.
46536
6b146090 465372006-09-14 Marco Gerards <marco@gnu.org>
46538
46539 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46540 `-melf_i386'.
46541
e38600a8 465422006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46543
46544 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46545 /boot/grub/*.lst.
78fa1790 46546
2952da5d 46547 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 46548
2952da5d 46549 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46550 before adding it to device.map.
46551
01b82a64 465522006-08-15 Johan Rydberg <jrydberg@gnu.org>
46553
fe6b695a 46554 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 46555 compiles a file; using the -MD option.
46556 * conf/common.mk: Regenerate.
46557 * conf/i386-pc.mk: Likewise.
46558 * conf/i386-efi.mk: Likewise.
46559 * conf/powerpc-ieee1275.mk: Likewise.
46560 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46561
1064790d 465622006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46563
46564 Move the prototypes of grub_setjmp and grub_longjmp to
46565 cpu/setjmp.h, so that each architecture may specify different
46566 attributes.
f19dbdb7 46567
1064790d 46568 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46569 (grub_longjmp): Likewise.
46570 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46571 (grub_longjmp): Likewise.
46572 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46573 (grub_longjmp): Likewise.
46574
46575 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46576 [!GRUB_UTIL] (grub_longjmp): Removed.
46577
29dda3ed 465782006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46579
46580 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46581 "color!" method does not return any value.
46582
ad2a06ed 465832006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46584
46585 * include/grub/bitmap.h: New file.
46586
46587 * include/grub/i386/pc/vbeutil.h: Likewise.
46588
46589 * video/bitmap.c: Likewise.
46590
46591 * video/readers/tga.c: Likewise.
46592
46593 * video/i386/pc/vbeutil.c: Likewise.
46594
46595 * commands/videotest.c: Code cleanup and updated to reflect to new
46596 video API.
46597
46598 * term/gfxterm.c: Likewise.
46599
46600 * video/video.c: Likewise.
46601
46602 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46603 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46604 (bitmap_mod_SOURCES): New entry.
46605 (bitmap_mod_CFLAGS): Likewise.
46606 (bitmap_mod_LDFLAGS): Likewise.
46607 (tga_mod_SOURCES): Likewise.
46608 (tga_mod_CFLAGS): Likewise.
46609 (tga_mod_LDFLAGS): Likewise.
46610
46611 * include/grub/video.h (grub_video_blit_operators): New enum type.
46612 (grub_video_render_target): Changed as forward declaration and moved
46613 actual definition to be video driver specific.
46614 (grub_video_adapter.blit_bitmap): Added blitting operator.
46615 (grub_video_adapter.blit_render_target): Likewise.
46616 (grub_video_blit_bitmap): Likewise.
46617 (grub_video_blit_render_target): Likewise.
46618
46619 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46620 driver specific render target definition.
46621 (grub_video_vbe_map_rgba): Added driver internal helper.
46622 (grub_video_vbe_unmap_color): Updated to use
46623 grub_video_i386_vbeblit_info.
46624 (grub_video_vbe_get_video_ptr): Likewise.
46625
46626 * include/grub/i386/pc/vbeblit.h
46627 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46628 grub_video_i386_vbeblit_info.
46629 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46630 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46631 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46632 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46633 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46634 (grub_video_i386_vbeblit_index_index): Likewise.
46635 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46636 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46637 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46638 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46639 operator.
46640 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46641 operator.
46642
46643 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46644 include/grub/i386/pc/vbeblit.h.
46645
46646 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46647 Updated to use grub_video_i386_vbeblit_info.
46648 (grub_video_i386_vbefill_R8G8B8): Likewise.
46649 (grub_video_i386_vbefill_index): Likewise.
46650 (grub_video_i386_vbefill): Added generic filler.
46651
46652 * video/i386/pc/vbefill.c: Updated to reflect changes on
46653 include/grub/i386/pc/vbefill.h.
46654
46655 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46656 grub_video_i386_vbeblit_info.
46657 (grub_video_vbe_unmap_color): Likewise.
46658 (grub_video_vbe_blit_glyph): Likewise.
46659 (grub_video_vbe_scroll): Likewise.
46660 (grub_video_vbe_draw_pixel): Removed function.
46661 (grub_video_vbe_get_pixel): Likewise.
46662 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46663 updated code to use it.
46664 (common_blitter): Added common blitter for render target and bitmap.
46665 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46666 (grub_video_vbe_blit_render_target): Likewise.
46667
bc8c036d 466682006-07-30 Johan Rydberg <jrydberg@gnu.org>
46669
46670 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46671 is in text mode if there is no console control protocol instance
46672 available.
46673
684a8eff 466742006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46675
46676 * include/grub/video.h: Code cleanup.
46677
46678 * include/grub/i386/pc/vbe.h: Likewise.
46679
46680 * video/i386/pc/vbe.c: Likewise.
46681
46682 * video/i386/pc/vbeblit.c: Likewise.
46683
46684 * video/i386/pc/vbefill.c: Likewise.
46685
46686 * video/video.c: Likewise. Also added more comments.
46687
5915059b 466882006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46689
46690 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46691 (struct grub_biosdisk_dap): Likewise.
46692
46693 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
46694 linkage settings for all functions.
46695
90ce5d56 466962006-07-12 Marco Gerards <marco@gnu.org>
46697
46698 * configure.ac (--enable-mm-debug): Fix typo.
46699
46700 * genkernsyms.sh.in: Use proper quoting for `CC'.
46701
43e7f879 467022006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
46703
46704 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
46705 (normal_mod_ASFLAGS): Remove "-m32".
46706
4889bdec 467072006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
46708
46709 * util/misc.c: Include config.h.
46710 [!HAVE_MEMALIGN]: Do not include malloc.h.
46711 (grub_memalign): Use posix_memalign, if present. Then, use
46712 memalign, if present. Otherwise, emit an error.
46713
46714 * util/grub-emu.c: Do not include malloc.h.
46715
46716 * include/grub/util/misc.h: Include unistd.h. This is required for
46717 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
46718 D. Eades III <hde@foobar-qux.org>.
46719
46720 * configure.ac (AC_GNU_SOURCE): Added.
46721 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
46722 type.
46723
fd39d4da 467242006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
46725
46726 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
46727 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
46728
b786f3b5 467292006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
46730
46731 * include/grub/types.h (grub_host_addr_t): Rename to
46732 grub_target_addr_t.
46733 (grub_host_off_t): Rename to grub_target_off_t.
46734 (grub_host_size_t): Rename to grub_target_size_t.
46735 (grub_host_ssize_t): Rename to grub_target_ssize_t.
46736 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
46737
46738 * include/grub/kernel.h (struct grub_module_header): Change type
46739 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
46740 (grub_module_info): Likewise.
f19dbdb7 46741
051988bb 467422006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46743
46744 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
46745 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
46746 Velazquez <jesus.velazquez@gmail.com>.
46747
deae281b 467482006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46749
46750 Count partitions from 1 instead of 0 in the string representation
46751 of partitions. Still use 0-based internally.
f19dbdb7 46752
deae281b 46753 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
46754 (sun_partition_map_iterate): Use grub_partition_t instead of
46755 struct grub_partition *. Cast DESC->START_CYLINDER to
46756 grub_uint64_t after converting the endian.
46757 (sun_partition_map_probe): Subtract 1 for PARTNUM.
46758 (sun_partition_map_get_name): Add 1 to P->INDEX.
46759
46760 * partmap/pc.c (grub_partition_parse): Subtract 1 for
46761 PCDATA->DOS_PART.
46762 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
46763
46764 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
46765 zero instead of one.
46766 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
46767 (gpt_partition_map_get_name): Add 1 into P->INDEX.
46768
46769 * partmap/apple.c (apple_partition_map_iterate): Change the type
46770 of POS to unsigned.
46771 (apple_partition_map_probe): Subtract 1 for PARTNUM.
46772 (apple_partition_map_get_name): Add 1 into P->INDEX.
46773
46774 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
46775 of POS to unsigned.
46776 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
46777 calculate the offset of a partition.
46778 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
46779 (amiga_partition_map_get_name): Add 1 into P->INDEX.
46780
46781 * partmap/acorn.c (acorn_partition_map_find): Change the type of
46782 SECTOR to grub_disk_addr_t.
46783 (acorn_partition_map_iterate): Likewise.
46784 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
46785 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
46786 top.
46787 (acorn_partition_map_get_name): Add 1 into P->INDEX.
46788
46789 * kern/i386/pc/init.c (make_install_device): Add 1 into
46790 GRUB_INSTALL_DOS_PART.
46791
46792 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
46793 conditional.
46794
524a1e6a 467952006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46796
46797 Clean up the code to support 64-bit addressing in disks and
46798 files. This change is not enough for filesystems yet.
f19dbdb7 46799
524a1e6a 46800 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
46801 type of "start" to grub_uint64_t.
46802 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
46803 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
46804 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
46805 convert addresses.
46806
46807 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
46808 to grub_disk_addr_t.
46809
46810 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
46811 string.
46812
46813 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46814
46815 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
46816 to char *.
46817
46818 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
46819
46820 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
46821
46822 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
46823
46824 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
46825 to grub_off_t, to detect an error from grub_file_seek.
46826 (grub_multiboot_load_elf32): Likewise.
46827
46828 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
46829 maximum unsigned long value when an overflow is detected.
46830 (grub_strtoull): New function.
46831 (grub_divmod64): Likewise.
46832 (grub_lltoa): use grub_divmod64.
46833
46834 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
46835 grub_disk_addr_t.
46836 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
46837 the pointer to next character. Use grub_strtoull instead of
46838 grub_strtoul.
46839 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
46840 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
46841 respectively.
46842
fe6b695a 46843 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 46844 return value is signed.
46845 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
46846 test if OFFSET is less than zero, as OFFSET is unsigned now.
46847
46848 * kern/disk.c (struct grub_disk_cache): Change the type of
46849 "sector" to grub_disk_addr_t.
46850 (grub_disk_cache_get_index): Change the type of SECTOR to
46851 grub_disk_addr_t. Calculate the hash with SECTOR casted to
46852 unsigned after shifting.
46853 (grub_disk_cache_invalidate): Change the type of SECTOR to
46854 grub_disk_addr_t.
46855 (grub_disk_cache_unlock): Likewise.
46856 (grub_disk_cache_store): Likewise.
46857 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
46858 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
46859 grub_disk_addr_t and grub_uint64_t, respectively.
46860 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
46861 body, as the value of OFFSET is tweaked by
46862 grub_disk_check_range. Change the types of START_SECTOR, LEN and
46863 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
46864 respectively.
46865 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
46866 body, as the value of OFFSET is tweaked by
46867 grub_disk_check_range. Change the types of LEN and N to
46868 grub_size_t.
46869
46870 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
46871 and "saved_offset" to grub_off_t.
46872 (test_header): Cast BUF to char *.
46873 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
46874 to char *.
46875 (grub_gzio_read): Change the types of OFFSET and SIZE to
46876 grub_off_t and grub_size_t, respectively.
46877
46878 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
46879 Removed.
46880 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
46881 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
46882 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
46883 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
46884 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
46885
46886 * include/grub/types.h (grub_off_t): Unconditionally set to
46887 grub_uint64_t.
46888 (grub_disk_addr_t): Changed to grub_uint64_t.
46889
46890 * include/grub/partition.h (struct grub_partition): Change the
46891 types of "start", "len" and "offset" to grub_disk_addr_t,
46892 grub_uint64_t and grub_disk_addr_t, respectively.
46893 (grub_partition_get_start): Return grub_disk_addr_t.
46894 (grub_partition_get_len): Return grub_uint64_t.
46895
46896 * include/grub/misc.h (grub_strtoull): New prototype.
46897 (grub_divmod64): Likewise.
46898
46899 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
46900 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
46901 grub_off_t, respectively.
46902 All callers and references changed.
46903
46904 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
46905 grub_size_t in "read".
46906 All callers and references changed.
46907
46908 * include/grub/file.h (struct grub_file): Change the types of
46909 "offset" and "size" to grub_off_t and grub_off_t,
46910 respectively. Change the type of SECTOR to grub_disk_addr_t in
46911 "read_hook".
46912 (grub_file_read): Change the type of LEN to grub_size_t.
46913 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
46914 grub_off_t.
46915 (grub_file_size): Return grub_off_t.
46916 (grub_file_tell): Likewise.
46917 All callers and references changed.
46918
46919 * include/grub/disk.h (struct grub_disk_dev): Change the types of
46920 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
46921 "write".
46922 (struct grub_disk): Change the type of "total_sectors" to
46923 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 46924 "read_hook".
524a1e6a 46925 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
46926 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
46927 (grub_disk_write): Likewise.
46928 All callers and references changed.
46929
46930 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
46931 char * for grub_strncmp to silence gcc.
46932 (grub_iso9660_mount): Likewise.
46933 (grub_iso9660_mount): Likewise.
46934 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
46935 return statement.
46936 (grub_iso9660_iterate_dir): Likewise.
46937 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
46938
46939 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
46940 LEN to grub_disk_addr_t and grub_size_t, respectively.
46941
46942 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
46943
46944 * fs/jfs.c (grub_jfs_read_file): Likewise.
46945
46946 * fs/minix.c (grub_jfs_read_file): Likewise.
46947
46948 * fs/sfs.c (grub_jfs_read_file): Likewise.
46949
46950 * fs/ufs.c (grub_jfs_read_file): Likewise.
46951
46952 * fs/xfs.c (grub_jfs_read_file): Likewise.
46953
46954 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
46955 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
46956 respectively.
46957
46958 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
46959 BLKNR to -1 instead of returning GRUB_ERRNO.
46960 (grub_ext2_read_file): Change the types of SECTOR and
46961 LEN to grub_disk_addr_t and grub_size_t, respectively.
46962
46963 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
46964 LEN to grub_disk_addr_t and grub_size_t, respectively.
46965
46966 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
46967 grub_file_read.
46968
46969 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
46970 string. Do not cast SECTOR explicitly.
46971
46972 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
46973 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
46974 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
46975 grub_disk_addr_t and grub_size_t, respectively. If the sector is
46976 over 2TB and LBA mode is not supported, raise an error.
46977 (get_safe_sectors): New function.
46978 (grub_biosdisk_read): Use get_safe_sectors.
46979 (grub_biosdisk_write): Likewise.
46980
46981 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
46982 (grub_efidisk_write): Likewise.
46983
46984 * disk/loopback.c (delete_loopback): Cosmetic changes.
46985 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
46986 correctly.
46987 (grub_loopback_open): Likewise.
46988 (grub_loopback_read): Likewise. Also, change the type of POS to
46989 grub_off_t, and fix the usage of grub_memset.
46990
46991 * commands/i386/pc/play.c: Include grub/machine/time.h.
46992
46993 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
46994 print FILE->SIZE.
46995
46996 * commands/configfile.c: Include grub/env.h.
46997
46998 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
46999 GRUB_ERRNO directly instead. Change the type of POS to
47000 grub_off_t. Follow the coding standard.
47001
47002 * commands/blocklist.c: Include grub/partition.h.
47003 (grub_cmd_blocklist): Return an error if the underlying device is
47004 not a disk. Take the starting sector of a partition into account,
47005 if a partition is used.
47006
47007 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47008 a length field.
47009 (lba_mode): Support 64-bit addresses.
47010 (chs_mode): Likewise.
47011 (copy_buffer): Adapted to the new offsets of a length field and a
47012 segment field.
47013 (blocklist_default_start): Allocate 64-bit space.
47014
47015 * boot/i386/pc/boot.S (force_lba): Removed.
47016 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47017 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47018 space.
47019 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47020 is useless.
47021 (lba_mode): Refactored to support a 64-bit address. More size
47022 optimization.
47023 (setup_sectors): Likewise.
47024
53af98ad 470252006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47026
47027 * DISTLIST: Added include/grub/i386/linux.h. Removed
47028 include/grub/i386/pc/linux.h
47029
47030 * configure.ac (AC_INIT): Bumped to 1.94.
47031
47032 * config.guess: Updated from gnulib.
47033 * config.sub: Likewise.
47034 * install-sh: Likewise.
47035 * mkinstalldirs: Likewise.
47036
b4c1940a 470372006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47038
47039 * conf/common.rmk (grub_modules_init.lst): Depended on
47040 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47041 MODSRCFILES.
47042
47043 * genmk.rb (PModule::rule): Reverted the previous change.
47044
cfca1cfd 470452006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47046
47047 * conf/common.rmk (grub_modules_init.lst): Depends on
47048 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47049 that the target does not exist before producing.
47050 (grub_modules_init.h): Remove the target before generating.
47051 (grub_emu_init.c): Likewise.
47052
47053 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47054
aa6d7826 470552006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47056
47057 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47058 for the target-specific tests. Make sure that we also have the
47059 up-to-date target variables for those tests.
47060
26c607b9 470612006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47062
47063 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47064 (PModule::rule): Likewise.
47065
0162321a 470662006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47067
47068 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47069 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47070 target-specific flags should be prefixed.
47071 (PModule::rule): Likewise.
47072
6c826348 470732006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47074
47075 * configure.ac (CMP): Check if cmp is available explicitly.
47076
b977bf01 470772006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47078
47079 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47080 (target_cpu): New variable.
47081 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47082
b977bf01 47083 * util/i386/pc/grub-install.in (host_cpu): Removed.
47084 (target_cpu): New variable.
47085 (pkglibdir): Use target_cpu instead of host_cpu.
47086
47087 * util/genmoddep.c: Removed.
f19dbdb7 47088
b977bf01 47089 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47090 instead of GRUB_HOST_SIZEOF_VOID_P.
47091 * kern/dl.c: Likewise.
47092
47093 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47094 ...
47095 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47096 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47097 (GRUB_TARGET_SIZEOF_LONG): ... this.
47098 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47099 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47100 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47101 to ...
47102 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47103 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47104 (GRUB_TARGET_SIZEOF_LONG): ... this.
47105 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47106 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47107 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47108 to ...
47109 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47110 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47111 (GRUB_TARGET_SIZEOF_LONG): ... this.
47112 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47113 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47114
47115 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47116 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47117 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47118 instead of GRUB_HOST_SIZEOF_LONG.
47119 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47120 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47121 GRUB_CPU_WORDS_BIGENDIAN.
47122 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47123 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47124 grub_host_ssize_t.
47125
47126 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47127 (genmoddep_SOURCES): Likewise.
47128 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47129 (genmoddep_SOURCES): Likewise.
47130 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47131 (genmoddep_SOURCES): Likewise.
47132 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47133 Likewise.
47134 (genmoddep_SOURCES): Likewise.
47135
47136 * genmoddep.awk: New file.
47137
47138 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47139 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47140 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47141 (PModule::rule): Likewise.
47142 (Program::rule): Likewise.
47143 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47144 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47145 respectively.
47146
47147 * configure.ac: Rewritten intensively to use host and target
47148 instead of build and host, respectively.
47149
47150 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47151 (host_cpu): Removed.
47152 (target_cpu): New variable.
47153 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47154 (BUILD_CC): Removed.
47155 (BUILD_CFLAGS): Likewise.
47156 (BUILD_CPPFLAGS): Likewise.
47157 (TARGET_CC): New variable.
47158 (TARGET_CFLAGS): Likewise.
47159 (TARGET_CPPFLAGS): Likewise.
47160 (TARGET_LDFLAGS): Likewise.
47161 (AWK): Likewise.
47162 (include): Use target_cpu instead of host_cpu.
47163 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47164
b977bf01 47165 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47166
f09771a1 471672006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47168
47169 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47170 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47171 field 'false' to 'exec_on_false'.
47172 (grub_script_create_cmdif): Renamed argument names to reflect above
47173 changes.
47174
47175 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47176
47177 * normal/script.c (grub_script_create_cmdif): Likewise.
47178
118f4fb3 471792006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47180
47181 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47182 top.
47183 (grub_hfsplus_btree_recptr): Likewise.
47184 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47185 FILEBLOCK both to pass a block number and store next block
47186 number.
47187 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47188 overflow file correctly. Specify errors appropriately, because
47189 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47190 grub_hfsplus_btree_recptr to get the pointer to a found key.
47191 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47192 is found.
47193
47194 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47195 linux.mod.
47196 (_linux_mod_SOURCES): New variable.
47197 (_linux_mod_CFLAGS): Likewise.
47198 (_linux_mod_LDFLAGS): Likewise.
47199 (linux_mod_SOURCES): Likewise.
47200 (linux_mod_CFLAGS): Likewise.
47201 (linux_mod_LDFLAGS): Likewise.
47202
47203 * DISTLIST: Added loader/i386/efi/linux.c,
47204 loader/i386/efi/linux_normal.c and
47205 include/grub/i386/efi/loader.h.
47206
47207 * loader/i386/efi/linux.c: New file.
47208 * loader/i386/efi/linux_normal.c: Likewise.
47209 * include/grub/i386/efi/loader.h: Likewise.
47210
89a7d726 472112006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47212
47213 * commands/blocklist.c: New file.
47214
47215 * DISTLIST: Added commands/blocklist.c.
47216
47217 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47218 color for the background, and a darker color for the foreground.
89a7d726 47219 (grub_console_checkkey): Return READ_KEY.
47220 (grub_console_cls): Set the background to
47221 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47222
47223 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47224
47225 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47226 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47227
47228 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47229 prototype.
47230
47231 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47232 BG. The spec is wrong again.
47233
47234 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47235 prototype.
47236 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47237
47238 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47239 commands/blocklist.c.
47240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47241
89a7d726 47242 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47243 (blocklist_mod_SOURCES): New variable.
47244 (blocklist_mod_CFLAGS): Likewise.
47245 (blocklist_mod_LDFLAGS): Likewise.
47246
75c8f258 472472006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47248
47249 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47250 duplication.
47251 (lba_mode): Use %eax more intensively to reduce the code size.
47252
da2eb181 472532006-05-20 Marco Gerards <marco@gnu.org>
47254
47255 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47256
47257 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47258 for `menuentry'.
47259 (script): Accept leading newlines.
47260 (newlines): New rule to describe 0 or more newlines.
47261 (commands): Accept `command' with trailing newline. Fixed the
47262 order in which arguments were passed to `grub_script_add_cmd'.
47263 Accept commands separated by newlines.
47264 (function): Changed to accept newlines.
47265 (menuentry) Rewritten.
47266
47267 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47268 front of the list, instead of to the end.
47269
577b4050 472702006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47271
47272 * util/i386/pc/grub-install.in (bindir): New variable.
47273 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47274 Shaver <lbgwjl@gmail.com>.
47275
0d6e1189 472762006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47277
47278 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47279 grub/machine/linux.h
47280 * loader/i386/pc/linux.c: Likewise.
47281
47282 * include/grub/i386/pc/linux.h: Moved to ...
47283 * include/grub/i386/linux.h: ... here.
47284
47285 * include/grub/i386/linux.h (struct linux_kernel_params): New
47286 struct.
f19dbdb7 47287
31b86e9f 472882006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47289
47290 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47291 checking.
47292 (grub_video_vbe_blit_glyph): Likewise.
47293 (grub_video_vbe_blit_bitmap): Likewise.
47294 (grub_video_vbe_blit_render_target): Likewise.
47295
83b984de 472962006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47297
47298 * configure.ac (--with-platform): Properly quote the square
47299 brackets.
47300
5f0413bd 473012006-05-08 Marco Gerards <marco@gnu.org>
47302
47303 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47304 this...
47305 (kernel_elf_HEADERS): ...to this. Updated all users.
47306 (grubof_symlist.c): Renamed from this...
47307 (kernel_elf_symlist.c): ...to this. Updated all users.
47308 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47309 (grubof_SOURCES): Renamed from this...
47310 (kernel_elf_SOURCES): ...to this.
47311 (grubof_HEADERS): Renamed from this...
47312 (kernel_elf_HEADERS): ...to this.
47313 (grubof_CFLAGS): Renamed from this...
47314 (kernel_elf_CFLAGS): ...to this.
47315 (grubof_ASFLAGS): Renamed from this...
47316 (kernel_elf_ASFLAGS): ...to this.
47317 (grubof_LDFLAGS): Renamed from this...
47318 (kernel_elf_LDFLAGS): ...to this.
47319
47320 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47321 this...
47322 (kernel_elf_HEADERS): ...to this. Updated all users.
47323 (grubof_symlist.c): Renamed from this...
47324 (kernel_elf_symlist.c): ...to this. Updated all users.
47325 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47326 (grubof_SOURCES): Renamed from this...
47327 (kernel_elf_SOURCES): ...to this.
47328 (grubof_HEADERS): Renamed from this...
47329 (kernel_elf_HEADERS): ...to this.
47330 (grubof_CFLAGS): Renamed from this...
47331 (kernel_elf_CFLAGS): ...to this.
47332 (grubof_ASFLAGS): Renamed from this...
47333 (kernel_elf_ASFLAGS): ...to this.
47334 (grubof_LDFLAGS): Renamed from this...
47335 (kernel_elf_LDFLAGS): ...to this.
47336
47337 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47338 `kernel.elf' instead of `grubof'.
47339
05568c2e 473402006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47341
47342 Add --with-platform to configure. Use pkglibdir instead of
47343 pkgdatadir. This is reported by Roger Leigh.
47344
47345 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47346 (host_vendor): Likewise.
47347 (host_os): Likewise.
47348 (pkgdatadir): Likewise.
47349 (platform): New variable.
47350 (pkglibdir): Likewise.
47351 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47352
05568c2e 47353 * util/i386/pc/grub-install.in (datadir): Removed.
47354 (host_vendor): Likewise.
47355 (host_os): Likewise.
47356 (pkgdatadir): Likewise.
47357 (platform): New variable.
47358 (pkglibdir): Likewise.
47359 Use PKGLIBDIR instead of PKGDATADIR.
47360
47361 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47362 instead of GRUB_DATADIR.
47363 (main): Likewise.
47364 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47365 (main): Likewise.
47366 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47367 (main): Likewise.
47368
47369 * configure.ac (--with-platform): New option.
47370 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47371
47372 * Makefile.in: Include a makefile based on PLATFORM instead of
47373 HOST_VENDOR.
47374 (pkgdatadir): Not appended by the machine type.
47375 (pkglibdir): Appended by the machine type.
47376 (host_vendor): Removed.
47377 (platform): New variable.
47378 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47379 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47380 (uninstall): Likewise.
47381
4e93851c 473822006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47383
47384 Use the environment context in the menu. Remove the commands
47385 "default" and "timeout", and use variables instead.
f19dbdb7 47386
4e93851c 47387 * normal/menu.c: Include grub/env.h.
47388 (print_entry): Cast TITLE to silence gcc.
47389 (get_timeout): New function.
47390 (set_timeout): Likewise.
47391 (get_entry_number): Likewise.
47392 (run_menu): Use a default entry, a fallback entry and a timeout
47393 in the environment variables "default", "fallback" and
47394 "timeout". Also, tweak the default entry if it is not within the
47395 current menu entries.
47396 (grub_menu_run): Use a fallback entry in the environment variable
47397 "fallback".
47398
47399 * normal/main.c (read_config_file): Do not initialize
47400 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47401 NEWMENU->TIMEOUT.
47402 (grub_normal_execute): Use a data slot to store the menu.
47403
47404 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47405 fallback_entry and timeout.
47406 (struct grub_menu_list): Removed.
47407 (grub_menu_list_t): Likewise.
47408 (struct grub_context): Likewise.
47409 (grub_context_t): Likewise.
47410 (grub_context_get): Likewise.
47411 (grub_context_get_current_menu): Likewise.
47412 (grub_context_push_menu): Likewise.
47413 (grub_context_pop_menu): Likewise.
47414 (grub_default_init): Likewise.
47415 (grub_default_fini): Likewise.
47416 (grub_timeout_init): Likewise.
47417 (grub_timeout_fini): Likewise.
47418
47419 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47420 and timeout.mod.
47421 (normal_mod_SOURCES): Removed normal/context.c.
47422
47423 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47424 commands/default.c, commands/timeout.c and normal/context.c.
47425 (normal_mod_SOURCES): Removed normal/context.c.
47426
47427 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47428 commands/timeout.c and normal/context.c.
47429 (normal_mod_SOURCES): Removed normal/context.c.
47430
47431 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47432 commands/default.c, commands/timeout.c and normal/context.c.
47433 (normal_mod_SOURCES): Removed normal/context.c.
47434
47435 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47436 timeout.mod.
47437 (default_mod_SOURCES): Removed.
47438 (default_mod_CFLAGS): Likewise.
47439 (default_mod_LDFLAGS): Likewise.
47440 (timeout_mod_SOURCES): Removed.
47441 (timeout_mod_CFLAGS): Likewise.
47442 (timeout_mod_LDFLAGS): Likewise.
47443
47444 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47445 normal/context.c.
47446
47447 * commands/default.c: Removed.
47448 * commands/timeout.c: Likewise.
47449 * normal/context.c: Likewise.
47450
1eb9cc1d 474512006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47452
47453 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47454
385bd9c1 474552006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47456
47457 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47458 "next" to "prev" for readability.
47459 (struct grub_env_sorted_var): New struct.
47460 (grub_env_context): Renamed to ...
47461 (initial_context): ... this.
47462 (grub_env_var_context): Renamed to ...
47463 (current_context): ... this.
47464 (grub_env_find): Look only at CURRENT_CONTEXT.
47465 (grub_env_context_open): Rewritten to copy exported variables from
47466 previous context.
47467 (grub_env_context_close): Rewritten according to the new
47468 scheme. Also, add an assertion to prevent the initial context from
47469 removed.
47470 (grub_env_insert): Removed the code for the sorted list.
47471 (grub_env_remove): Likewise.
47472 (grub_env_export): Simply mark the variable with
47473 GRUB_ENV_VAR_GLOBAL.
47474 (grub_env_set): A cosmetic change for naming consistency.
47475 (grub_env_get): Likewise.
47476 (grub_env_unset): Likewise.
47477 (grub_env_iterate): Rewritten to sort variables within this
47478 function.
47479 (grub_register_variable_hook): Fixed for naming consistency. Call
47480 grub_env_find again, only if NAME is not found at the first time.
47481 (mangle_data_slot_name): New function.
47482 (grub_env_set_data_slot): Likewise.
47483 (grub_env_get_data_slot): Likewise.
47484 (grub_env_unset_data_slot): Likewise.
47485
47486 * include/grub/env.h (grub_env_var_type): New enum.
47487 (GRUB_ENV_VAR_LOCAL): New constant.
47488 (GRUB_ENV_VAR_GLOBAL): Likewise.
47489 (GRUB_ENV_VAR_DATA): Likewise.
47490 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47491 "type".
47492 (grub_env_set): Replace VAR with NAME for consistency.
47493 (grub_register_variable_hook): Likewise.
47494 (grub_env_export): Specify the name of the argument.
47495 (grub_env_set_data_slot): New prototype.
47496 (grub_env_get_data_slot): Likewise.
47497 (grub_env_unset_data_slot): Likewise.
47498
7f362539 474992006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47500
47501 Extend the loader so that GRUB can accept a loader which comes
47502 back to GRUB when a loaded image exits. Also, this change adds
47503 support for a chainloader on EFI.
f19dbdb7 47504
7f362539 47505 * term/efi/console.c: Include grub/misc.h.
47506 (grub_console_checkkey): Display a scan code on the top for
47507 debugging. This will be removed once the EFI port gets stable.
47508 Correct the scan code mapping.
47509
47510 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47511 allocate memory from larger regions, in order to reduce the number
47512 of allocated regions. Otherwise, the MacOSX loader panics.
47513 (filter_memory_map): Avoid less than 1MB for compatibility with
47514 other loaders.
47515 (add_memory_regions): Allocate from the tail of a region, if
47516 possible, to avoid allocating a region near to 1MB, for the MacOSX
47517 loader.
47518
47519 * kern/efi/init.c (grub_efi_set_prefix): Specify
47520 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47521
47522 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47523 argument IMAGE_HANDLE and specify it to get a loaded image.
47524 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47525 grub_efi_get_loaded_image.
fe6b695a 47526 (grub_efi_get_filename): Divide the length by the size of
7f362539 47527 grub_efi_char16_t.
47528 (grub_efi_get_device_path): New function.
47529 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47530 the length by the size of grub_efi_char16_t for a file path device
47531 path node.
47532
47533 * kern/loader.c (grub_loader_noreturn): New variable.
47534 (grub_loader_set): Accept a new argument NORETURN. Set
47535 GRUB_LOADER_NORETURN to NORETURN.
47536 All callers changed.
47537 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47538 grub_machine_fini.
47539
47540 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47541 prototype.
47542 (grub_efi_get_loaded_image): Take an argument to specify an image
47543 handle.
47544
47545 * include/grub/loader.h (grub_loader_set): Added one more argument
47546 NORETURN.
47547
47548 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47549 instead of grub_efi_open_protocol.
47550 (grub_efidisk_get_device_name): Likewise.
47551 (grub_efidisk_close): Print a newline.
47552 (grub_efidisk_get_device_handle): Fixed to use
47553 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47554 GRUB_EFI_DEVICE_PATH_TYPE.
47555
47556 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47557 * kern/efi/efi.c (device_path_guid): ... here.
47558
47559 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47560 chain.mod.
47561 (kernel_mod_HEADERS): Added efi/disk.h.
47562 (_chain_mod_SOURCES): New variable.
47563 (_chain_mod_CFLAGS): Likewise.
47564 (_chain_mod_LDFLAGS): Likewise.
47565 (chain_mod_SOURCES): Likewise.
47566 (chain_mod_CFLAGS): Likewise.
47567 (chain_mod_LDFLAGS): Likewise.
47568
47569 * DISTLIST: Added include/grub/efi/chainloader.h,
47570 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47571
47572 * include/grub/efi/chainloader.h: New file.
47573 * loader/efi/chainloader.c: Likewise.
47574 * loader/efi/chainloader_normal.c: Likewise.
47575
c0111d6e 475762006-04-30 Marco Gerards <marco@gnu.org>
47577
47578 * commands/configfile.c (grub_cmd_source): New function.
47579 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47580 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47581
df5341da 475822006-04-30 Marco Gerards <marco@gnu.org>
47583
47584 * normal/execute.c (grub_script_execute_cmd): Change the return
47585 type to `grub_err_t'. Correctly return the error.
47586 (grub_script_execute_cmdline): In case a command line is not a
47587 command or a function, try to interpret it as an assignment.
47588
f85934bd 475892006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47590
47591 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47592 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47593 skip a node whose name is obviously invalid as UTF-16,
47594 i.e. contains a NUL character. Stop the iteration when the last
47595 directory entry is found. Instead of using the return value of
47596 grub_hfsplus_btree_iterate_node, store the value in RET and use
47597 it, because the iterator can be stopped by the last directory
47598 entry.
47599
8f8a2cf8 476002006-04-30 Marco Gerards <marco@gnu.org>
47601
47602 * include/grub/env.h (grub_env_export): New prototype. Reported
47603 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47604
a27e84ce 476052006-04-30 Marco Gerards <marco@gnu.org>
47606
47607 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47608 size of the extents in a catalog file record.
47609
eaef0553 476102006-04-29 Marco Gerards <marco@gnu.org>
47611
47612 * commands/configfile.c (grub_cmd_configfile): Execute the
47613 configfile within its own context.
47614
47615 * include/grub/env.h (grub_env_context_open): New prototype.
47616 (grub_env_context_close): Likewise.
47617
47618 * kern/env.c (grub_env): Removed.
47619 (grub_env_sorted): Likewise.
47620 (grub_env_context): New variable.
47621 (grub_env_var_context): Likewise.
47622 (grub_env_find): Search both the active context and the global
47623 context.
47624 (grub_env_context_open): New function.
47625 (grub_env_context_close): Likewise.
47626 (grub_env_insert): Likewise.
47627 (grub_env_remove): Likewise.
47628 (grub_env_export): Likewise.
47629 (grub_env_set): Changed to use helper functions to avoid code
47630 duplication.
47631 (grub_env_iterate): Rewritten so both the current context and the
47632 global context are being used.
47633
47634 * normal/command.c (export_command): New function.
47635 (grub_command_init): Register the `export' function.
47636
7b455f4d 476372006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47638
47639 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47640 explicitly to suppress gcc's warnings.
47641 * fs/fat.c (grub_fat_find_dir): Likewise.
47642 (grub_fat_label): Likewise.
47643 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47644 (grub_xfs_mount): Likewise.
47645 (grub_xfs_label): Likewise.
47646 * fs/affs.c (grub_affs_mount): Likewise.
47647 (grub_affs_label): Likewise.
47648 (grub_affs_iterate_dir): Likewise.
47649 * fs/sfs.c (grub_sfs_mount): Likewise.
47650 (grub_sfs_iterate_dir): Likewise.
47651 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47652 * fs/hfs.c (grub_hfs_mount): Likewise.
47653 (grub_hfs_cmp_catkeys): Likewise.
47654 (grub_hfs_find_dir): Likewise.
47655 (grub_hfs_dir): Likewise.
47656 (grub_hfs_label): Likewise.
47657 * fs/jfs.c (grub_jfs_mount): Likewise.
47658 (grub_jfs_opendir): Likewise.
47659 (grub_jfs_getent): Likewise.
47660 (grub_jfs_lookup_symlink): Likewise.
47661 (grub_jfs_label): Likewise.
47662 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47663 (grub_hfsplus_iterate_dir): Likewise.
47664 (grub_hfsplus_btree_iterate_node): Made static.
47665
47666 * util/grub-emu.c (prefix): New variable.
47667 (grub_machine_set_prefix): New function.
47668 (main): Do not set the environment variable "prefix" here. Only
47669 set PREFIX, which is used later by grub_machine_set_prefix.
47670
47671 * include/grub/video.h: Do not include grub/symbol.h.
47672 (grub_video_register): Not exported. This symbol is not defined in
47673 the kernel.
47674 (grub_video_unregister): Likewise.
47675 (grub_video_iterate): Likewise.
47676 (grub_video_setup): Likewise.
47677 (grub_video_restore): Likewise.
47678 (grub_video_get_info): Likewise.
47679 (grub_video_get_blit_format): Likewise.
47680 (grub_video_set_palette): Likewise.
47681 (grub_video_get_palette): Likewise.
47682 (grub_video_set_viewport): Likewise.
47683 (grub_video_get_viewport): Likewise.
47684 (grub_video_map_color): Likewise.
47685 (grub_video_map_rgb): Likewise.
47686 (grub_video_map_rgba): Likewise.
47687 (grub_video_fill_rect): Likewise.
47688 (grub_video_blit_glyph): Likewise.
47689 (grub_video_blit_bitmap): Likewise.
47690 (grub_video_blit_render_target): Likewise.
47691 (grub_video_scroll): Likewise.
47692 (grub_video_swap_buffers): Likewise.
47693 (grub_video_create_render_target): Likewise.
47694 (grub_video_delete_render_target): Likewise.
47695 (grub_video_set_active_render_target): Likewise.
47696
47697 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
47698 Undefined.
47699 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
47700
47701 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
47702 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47703 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47704 instead of $(srcdir)/genkernsyms.sh.
47705
47706 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
47707 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47708 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47709 instead of $(srcdir)/genkernsyms.sh.
47710
47711 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
47712 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47713 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47714 instead of $(srcdir)/genkernsyms.sh.
47715
47716 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
47717 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47718 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47719 instead of $(srcdir)/genkernsyms.sh.
47720
47721 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
47722 genkernsyms.sh.
47723
47724 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
47725 genkernsyms.sh.
47726 (gensymlist.sh): New target.
47727 (genkernsyms.sh): Likewise.
47728
47729 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
47730 genkernsyms.sh.in and gensymlist.sh.in.
47731
47732 * genkernsyms.sh: Removed.
47733 * gensymlist.sh: Likewise.
f19dbdb7 47734
7b455f4d 47735 * genkernsyms.sh.in: New file.
47736 * gensymlist.sh.in: Likewise.
47737
1885bb27 477382006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47739
47740 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
47741 clobber "prefix", since we may have already set it manually.
47742
71538dff 477432006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47744
47745 * kern/misc.c (abort): New alias for grub_abort.
47746
2965c7cc 477472006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
47748
47749 A new machine-specific function "grub_machine_set_prefix" is
47750 defined. This is called after loading modules, so that a prefix
47751 initialization can use modules. Also, this change adds an
47752 intensive debugging feature for the memory manager via the
47753 configure option "--enable-mm-debug".
f19dbdb7 47754
2965c7cc 47755 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
47756 PART.LEN.
47757
47758 * kern/sparc64/ieee1275/init.c (abort): Removed.
47759 (grub_stop): Likewise.
47760 (grub_exit): New function.
47761 (grub_set_prefix): Renamed to ...
47762 (grub_machine_set_prefix): ... this.
47763 (grub_machine_init): Do not call grub_set_prefix.
47764
47765 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
47766 (grub_machine_set_prefix): ... this.
47767 (grub_machine_init): Do not call grub_set_prefix.
47768
47769 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
47770 (grub_machine_init): Do not set the prefix here.
47771
47772 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
47773
47774 * kern/efi/init.c: Include grub/mm.h.
47775 (grub_efi_set_prefix): New function.
47776
47777 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
47778 (grub_efi_get_filename): New function.
47779 (grub_print_device_path): Renamed to ...
47780 (grub_efi_print_device_path): ... this.
47781
47782 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
47783 [MM_DEBUG] (grub_realloc): Likewise.
47784 [MM_DEBUG] (grub_free): Likewise.
47785 [MM_DEBUG] (grub_memalign): Likewise.
47786 [MM_DEBUG] (grub_mm_debug): New variable.
47787 [MM_DEBUG] (grub_debug_malloc): New function.
47788 [MM_DEBUG] (grub_debug_free): New function.
47789 [MM_DEBUG] (grub_debug_realloc): New function.
47790 [MM_DEBUG] (grub_debug_memalign): New function.
47791
47792 * kern/misc.c (grub_abort): Print a newline to distinguish
47793 the message.
47794
47795 * kern/main.c (grub_main): Call grub_machine_set_prefix and
47796 grub_set_root_dev after loading modules. This is necessary when
47797 setting a prefix depends on modules.
47798
47799 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
47800 (grub_efi_print_device_path): ... this.
47801 (grub_efi_get_filename): New prototype.
47802 (grub_efi_set_prefix): Likewise.
47803
47804 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
47805 and grub/disk.h.
47806 (grub_efidisk_get_device_handle): New prototype.
47807 (grub_efidisk_get_device_name): Likewise.
47808
47809 * include/grub/mm.h: Include config.h.
47810 (MM_DEBUG): Removed.
47811 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
47812 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
47813 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
47814 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
47815 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
47816 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
47817 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
47818 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
47819 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
47820
47821 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
47822
47823 * disk/efi/efidisk.c: Include grub/partition.h.
47824 (iterate_child_devices): New function.
47825 (add_device): First, compare only last device path nodes, so that
47826 devices are sorted by the types.
47827 (grub_efidisk_get_device_handle): New function.
47828 (grub_efidisk_get_device_name): Likewise.
47829
47830 * configure.ac (--enable-mm-debug): New option to enable the
47831 memory manager debugging feature. This makes the binary much
47832 bigger, so is disabled by default.
47833
9cacaa17 478342006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
47835
47836 Use grub_abort instead of grub_stop, and grub_exit must be
47837 define in each architecture now. Also, this change adds support
47838 for EFI disks.
f19dbdb7 47839
9cacaa17 47840 * util/i386/pc/grub-probefs.c: Include grub/term.h.
47841 (grub_getkey): New function.
47842 (grub_term_get_current): Likewise.
47843
47844 * util/i386/pc/grub-setup.c: Include grub/term.h.
47845 (grub_getkey): New function.
47846 (grub_term_get_current): Likewise.
47847
47848 * util/misc.c (grub_stop): Renamed to ...
47849 (grub_exit): ... this.
47850
47851 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
47852 (grub_exit): ... this.
47853 (grub_machine_init): Use grub_abort instead of abort.
47854 (grub_stop): Removed.
47855
47856 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
47857 abort.
47858
47859 * kern/i386/pc/startup.S (grub_exit): New function.
47860 (cold_reboot): New label.
47861
47862 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
47863 (grub_efi_init): Call grub_efidisk_init.
47864 (grub_efi_fini): Call grub_efidisk_fini.
47865
47866 * kern/efi/efi.c: Include grub/mm.h.
47867 (grub_efi_console_control_guid): Renamed to ...
47868 (console_control_guid): ... this.
47869 (grub_efi_loaded_image_guid): Renamed to ...
47870 (loaded_image_guid): ... this.
47871 (grub_efi_locate_handle): New function.
47872 (grub_efi_open_protocol): Likewise.
47873 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
47874 GRUB_EFI_CONSOLE_CONTROL_GUID.
47875 (grub_efi_exit): Removed.
47876 (grub_stop): Likewise.
47877 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
47878 (grub_exit): New function.
47879 (grub_print_device_path): Likewise.
47880
47881 * kern/rescue.c (grub_rescue_cmd_exit): New function.
47882 (grub_enter_rescue_mode): Register "exit".
47883
47884 * kern/misc.c (grub_real_dprintf): A cosmetic change.
47885 (grub_abort): New function.
47886
47887 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
47888
47889 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
47890
47891 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
47892
47893 * include/grub/efi/efi.h (grub_efi_exit): Removed.
47894 (grub_print_device_path): New prototype.
47895 (grub_efi_locate_handle): Likewise.
47896 (grub_efi_open_protocol): Likewise.
47897
47898 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
47899 * disk/efi/efidisk.c: Likewise.
47900
47901 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
47902
47903 * include/grub/efi/console_control.h
47904 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
47905
47906 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
47907 last 8 bytes as an array.
47908 (GRUB_EFI_DISK_IO_GUID): New macro.
47909 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
47910 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
47911 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
47912 grub_uint8_t.
47913 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
47914 (struct grub_efi_device_path): Rename the member "sub_type" to
47915 "subtype".
47916 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
47917 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
47918 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
47919 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
47920 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
47921 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
47922 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
47923 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
47924 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
47925 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
47926 (struct grub_efi_pci_device_path): New structure.
47927 (grub_efi_pci_device_path_t): New type.
47928 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
47929 (struct grub_efi_pccard_device_path): New structure.
47930 (grub_efi_pccard_device_path_t): New type.
47931 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
47932 (struct grub_efi_memory_mapped_device_path): New structure.
47933 (grub_efi_memory_mapped_device_path_t): New type.
47934 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
47935 (struct grub_efi_vendor_device_path): New structure.
47936 (grub_efi_vendor_device_path_t): New type.
47937 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
47938 (struct grub_efi_controller_device_path): New structure.
47939 (grub_efi_controller_device_path_t): New type.
47940 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
47941 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
47942 (struct grub_efi_acpi_device_path): New structure.
47943 (grub_efi_acpi_device_path_t): New type.
47944 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
47945 (struct grub_efi_expanded_acpi_device_path): New structure.
47946 (grub_efi_expanded_acpi_device_path_t): New type.
47947 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
47948 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
47949 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
47950 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
47951 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
47952 (struct grub_efi_atapi_device_path): New structure.
47953 (grub_efi_atapi_device_path_t): New type.
47954 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
47955 (struct grub_efi_fibre_channel_device_path): New structure.
47956 (grub_efi_fibre_channel_device_path_t): New type.
47957 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
47958 (struct grub_efi_1394_device_path): New structure.
47959 (grub_efi_1394_device_path_t): New type.
47960 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
47961 (struct grub_efi_usb_device_path): New structure.
47962 (grub_efi_usb_device_path_t): New type.
47963 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
47964 (struct grub_efi_usb_class_device_path): New structure.
47965 (grub_efi_usb_class_device_path_t): New type.
47966 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
47967 (struct grub_efi_i2o_device_path): New structure.
47968 (grub_efi_i2o_device_path_t): New type.
47969 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
47970 (struct grub_efi_mac_address_device_path): New structure.
47971 (grub_efi_mac_address_device_path_t): New type.
47972 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
47973 (struct grub_efi_ipv4_device_path): New structure.
47974 (grub_efi_ipv4_device_path_t): New type.
47975 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
47976 (struct grub_efi_ipv6_device_path): New structure.
47977 (grub_efi_ipv6_device_path_t): New type.
47978 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
47979 (struct grub_efi_infiniband_device_path): New structure.
47980 (grub_efi_infiniband_device_path_t): New type.
47981 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
47982 (struct grub_efi_uart_device_path): New structure.
47983 (grub_efi_uart_device_path_t): New type.
47984 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
47985 (struct grub_efi_vendor_messaging_device_path): New structure.
47986 (grub_efi_vendor_messaging_device_path_t): New type.
47987 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
47988 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
47989 (struct grub_efi_hard_drive_device_path): New structure.
47990 (grub_efi_hard_drive_device_path_t): New type.
47991 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
47992 (struct grub_efi_cdrom_device_path): New structure.
47993 (grub_efi_cdrom_device_path_t): New type.
47994 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
47995 (struct grub_efi_vendor_media_device_path): New structure.
47996 (grub_efi_vendor_media_device_path_t): New type.
47997 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
47998 (struct grub_efi_file_path_device_path): New structure.
47999 (grub_efi_file_path_device_path_t): New type.
48000 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48001 (struct grub_efi_protocol_device_path): New structure.
48002 (grub_efi_protocol_device_path_t): New type.
48003 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48004 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48005 (struct grub_efi_bios_device_path): New structure.
48006 (grub_efi_bios_device_path_t): New type.
48007 (struct grub_efi_disk_io): New structure.
48008 (grub_efi_disk_io_t): New type.
48009 (struct grub_efi_block_io_media): New structure.
48010 (grub_efi_block_io_media_t): New type.
48011 (struct grub_efi_block_io): New structure.
48012 (grub_efi_block_io_t): New type.
48013
48014 * include/grub/misc.h (grub_stop): Removed.
48015 (grub_exit): New prototype.
48016 (grub_abort): Likewise.
48017
48018 * include/grub/disk.h (enum grub_disk_dev_id): Added
48019 GRUB_DISK_DEVICE_EFIDISK_ID.
48020
48021 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48022 disk/efi/efidisk.c.
48023 (kernel_syms.lst): Remove the target if an error occurs.
48024
49986a9f 480252006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48026
48027 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48028 as it was simply too buggy.
48029
970d3b8a 480302006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48031
48032 * kern/misc.c (grub_lltoa): New function.
48033 (grub_vsprintf): Added support for the long long suffix,
48034 i.e. "ll".
48035
ff04ec24 480362006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48037
48038 * Makefile.in (LDFLAGS): Add variable.
48039 (LD): Remove variable.
48040 * configure.ac: Add -m32 to LDFLAGS.
48041 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48042 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48043 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48044 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48045 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48046 variables.
48047 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48048 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48049 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48050
37e5e1a4 480512006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48052
48053 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48054 length for unknown glyph.
48055
c352d8dd 480562006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48057
2eab1c0d 48058 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48059
2eab1c0d 48060 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48061 completely. Accept one more argument DIR. The caller has changed.
48062
48063 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48064
48065 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48066 (grub_efi_loaded_image_guid): New variable.
48067 (grub_efi_get_loaded_image): New function.
48068 (grub_arch_modules_addr): Likewise.
48069
48070 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48071 prototype.
48072
48073 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48074 (struct grub_efi_loaded_image): New structure.
48075 (grub_efi_loaded_image_t): New type.
48076
480772006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48078
c352d8dd 48079 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48080 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48081 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48082
6d01d6b4 480832006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48084
48085 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48086
976a4ea0 480872006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48088
48089 * DISTLIST: Added include/grub/efi/console.h,
48090 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48091 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48092
48093 * include/grub/efi/console.h: New file.
48094 * include/grub/efi/time.h: Likewise.
48095 * include/grub/i386/efi/kernel.h: Likewise.
48096 * kern/efi/init.c: Likewise.
48097 * kern/efi/mm.c: Likewise.
48098 * term/efi/console.c: Likewise.
f19dbdb7 48099
976a4ea0 48100 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48101 (grub_stop): Removed.
48102 (grub_get_rtc): Likewise.
48103 (grub_machine_init): Simply call grub_efi_init.
48104 (grub_machine_fini): Call grub_efi_fini.
48105
48106 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48107 (grub_efi_output_string): Removed.
48108 (grub_efi_stall): New function.
48109 (grub_stop): Likewise.
48110 (grub_get_rtc): Likewise.
48111
48112 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48113 (grub_efi_stall): New prototype.
48114 (grub_efi_allocate_pages): Likewise.
48115 (grub_efi_free_pages): Likewise.
48116 (grub_efi_get_memory_map): Likewise.
48117 (grub_efi_mm_init): Likewise.
48118 (grub_efi_mm_fini): Likewise.
48119 (grub_efi_init): Likewise.
48120 (grub_efi_fini): Likewise.
48121
48122 * include/grub/i386/efi/time.h: Do not include
48123 grub/symbol.h. Include grub/efi/time.h.
48124 (GRUB_TICKS_PER_SECOND): Removed.
48125 (grub_get_rtc): Likewise.
48126
48127 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48128 Added padding. The EFI spec is buggy.
48129 (GRUB_EFI_BLACK): New macro.
48130 (GRUB_EFI_BLUE): Likewise.
48131 (GRUB_EFI_GREEN): Likewise.
48132 (GRUB_EFI_CYAN): Likewise.
48133 (GRUB_EFI_RED): Likewise.
48134 (GRUB_EFI_MAGENTA): Likewise.
48135 (GRUB_EFI_BROWN): Likewise.
48136 (GRUB_EFI_LIGHTGRAY): Likewise.
48137 (GRUB_EFI_BRIGHT): Likewise.
48138 (GRUB_EFI_DARKGRAY): Likewise.
48139 (GRUB_EFI_LIGHTBLUE): Likewise.
48140 (GRUB_EFI_LIGHTGREEN): Likewise.
48141 (GRUB_EFI_LIGHTCYAN): Likewise.
48142 (GRUB_EFI_LIGHTRED): Likewise.
48143 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48144 (GRUB_EFI_YELLOW): Likewise.
48145 (GRUB_EFI_WHITE): Likewise.
48146 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48147 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48148 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48149 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48150 (GRUB_EFI_BACKGROUND_RED): Likewise.
48151 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48152 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48153 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48154 (GRUB_EFI_TEXT_ATTR): Likewise.
48155
48156 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48157 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48158 (kernel_mod_HEADERS): Added efi/time.h.
48159
83709125 481602006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48161
48162 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48163 include/grub/efi/api.h, include/grub/efi/console_control.h,
48164 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48165 include/grub/i386/efi/time.h, kern/efi/efi.c,
48166 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48167 and util/i386/efi/grub-mkimage.c.
48168
48169 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48170
48171 * genmk.rb (PModule#rule): Do not export symbols if
48172 #{prefix}_EXPORTS is set to "no".
48173
48174 * conf/i386-efi.mk: New file.
48175 * conf/i386-efi.rmk: Likewise.
48176 * include/grub/efi/api.h: Likewise.
48177 * include/grub/efi/console_control.h: Likewise.
48178 * include/grub/efi/efi.h: Likewise.
48179 * include/grub/efi/pe32.h: Likewise.
48180 * include/grub/i386/efi/time.h: Likewise.
48181 * kern/efi/efi.c: Likewise.
48182 * kern/i386/efi/init.c: Likewise.
48183 * kern/i386/efi/startup.S: Likewise.
48184 * util/i386/efi/grub-mkimage.c: Likewise.
48185
481862006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48187
48188 * include/grub/script.h: Include <grub/parser.h> and
48189 "grub_script.tab.h".
48190 (struct grub_lexer_param): New struct.
48191 (struct grub_parser_param): Likewise.
48192 (grub_script_create_arglist): Pass the state in an argument.
48193 (grub_script_add_arglist): Likewise.
48194 (grub_script_create_cmdline): Likewise.
48195 (grub_script_create_cmdblock): Likewise.
48196 (grub_script_create_cmdif): Likewise.
48197 (grub_script_create_cmdmenu): Likewise.
48198 (grub_script_add_cmd): Likewise.
48199 (grub_script_arg_add): Likewise.
48200 (grub_script_lexer_ref): Likewise.
48201 (grub_script_lexer_deref): Likewise.
48202 (grub_script_lexer_record_start): Likewise.
48203 (grub_script_lexer_record_stop): Likewise.
48204 (grub_script_mem_record): Likewise.
48205 (grub_script_mem_record_stop): Likewise.
48206 (grub_script_malloc): Likewise.
48207 (grub_script_yylex): Likewise.
48208 (grub_script_yyparse): Likewise.
48209 (grub_script_yyerror): Likewise.
48210 (grub_script_yylex): Likewise.
48211 (grub_script_lexer_init): Return the state.
48212
48213 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48214 (grub_script_lexer_done): Likewise.
48215 (grub_script_lexer_getline): Likewise.
48216 (grub_script_lexer_refs): Likewise.
48217 (script): Likewise.
48218 (newscript): Likewise.
48219 (record): Likewise.
48220 (recording): Likewise.
48221 (recordpos): Likewise.
48222 (recordlen): Likewise.
48223 (grub_script_lexer_init): Return the state instead of setting
48224 global variables.
48225 (grub_script_lexer_ref): Use the newly added argument for state
48226 instead of globals.
48227 (grub_script_lexer_deref): Likewise.
48228 (grub_script_lexer_record_start): Likewise.
48229 (grub_script_lexer_record_stop): Likewise.
48230 (recordchar): Likewise.
48231 (nextchar): Likewise.
48232 (grub_script_yylex2): Likewise.
48233 (grub_script_yylex): Likewise.
48234 (grub_script_yyerror): Likewise.
48235
48236 * normal/parser.y (func_mem): Removed variable.
48237 (menu_entry): Likewise.
48238 (err): Likewise.
48239 (%lex-param): New parser option.
48240 (%parse-param): Likewise.
48241 (script): Always return the AST.
48242 (argument): Pass the state around.
48243 (arguments): Likewise.
48244 (grubcmd): Likewise.
48245 (commands): Likewise.
48246 (function): Likewise.
48247 (menuentry): Likewise.
48248 (if_statement): Likewise.
48249 (if): Likewise.
48250
48251 * normal/script.c (grub_script_memused): Removed variable.
48252 (grub_script_parsed): Likewise.
48253 (grub_script_malloc): Added a state argument. Use that instead of
48254 global variables.
48255 (grub_script_mem_record): Likewise.
48256 (grub_script_mem_record_stop): Likewise.
48257 (grub_script_arg_add): Likewise.
48258 (grub_script_add_arglist): Likewise.
48259 (grub_script_create_cmdline): Likewise.
48260 (grub_script_create_cmdif): Likewise.
48261 (grub_script_create_cmdmenu): Likewise.
48262 (grub_script_add_cmd): Likewise.
48263 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48264
e2a8c904 482652006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48266
48267 * normal/command.c (grub_command_init): Remove the title command.
48268
48269 * normal/lexer.c (grub_script_yylex): Renamed from this...
48270 (grub_script_yylex2): ... to this.
48271 (grub_script_yylex): New function. Temporary
48272 introduced to filter some tokens.
48273 (grub_script_yyerror): Print a newline.
48274
48275 * normal/main.c (read_config_file): Output information about the
48276 lines that contain errors. Wait for a key after all lines have
48277 been processed. Don't return an empty menu.
48278
48279 * normal/parser.y (func_mem): Don't initialize.
48280 (menu_entry): Likewise.
48281 (err): New variable.
48282 (script): Don't return anything when an error was encountered.
48283 (ws, returns): Removed rules.
48284 (argument): Disabled concatenated variable support.
48285 (arguments): Remove explicit separators.
48286 (grubcmd): Likewise.
48287 (function): Likewise.
48288 (menuentry): Likewise.
48289 (if): Likewise.
48290 (commands): Likewise. Add error handling.
48291
48292 * normal/script.c (grub_script_create_cmdline): If
48293 `grub_script_parsed' is 0, assume the parser encountered an error.
48294
c9a86192 482952006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48296
48297 * configure.ac: Add support for EFI. Fix the typo
48298 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48299
70f3b243 483002006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48301
48302 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48303 foreign multibyte characters should be shown correctly.
48304
65f201ad 483052006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48306
48307 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48308 calculation.
48309 (read_config_file): Made it to close file before returning.
48310
b4b93674 483112006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48312
48313 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48314 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48315 video/i386/pc/vbefill.c.
48316
48317 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48318 video/i386/pc/vbefill.c.
48319
48320 * include/grub/video.h (grub_video_blit_format): New enum.
48321 (grub_video_mode_info): Added new member blit_format.
48322 (grub_video_get_blit_format): New function prototype.
48323
48324 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48325 function prototype.
48326 (grub_video_vbe_map_rgb): Likewise.
48327 (grub_video_vbe_unmap_color): Likewise.
48328
48329 * include/grub/i386/pc/vbeblit.h: New file.
48330
48331 * include/grub/i386/pc/vbefill.h: New file.
48332
48333 * video/video.c (grub_video_get_blit_format): New function.
48334 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48335 (grub_video_vbe_map_rgb): Likewise.
48336 (grub_video_vbe_unmap_color): Likewise.
48337
48338 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48339 optimized fills.
48340 (grub_video_vbe_blit_render_target): Changed to use more optimized
48341 blits.
48342 (grub_video_vbe_setup): Added detection for optimized settings.
48343 (grub_video_vbe_create_render_target): Likewise.
48344
48345 * video/i386/pc/vbeblit.c: New file.
48346
48347 * video/i386/pc/vbefill.c: New file.
48348
c2379b9c 483492006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48350
48351 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48352 here...
48353
48354 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48355 parsing to support both hex and dec ranges. If filename was missing
48356 show usage information.
48357
bd0d7896 483582006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48359
48360 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48361 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48362
48363 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48364 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48365 (video_mod_SOURCES): Added.
48366 (video_mod_CFLAGS): Likewise.
48367 (video_mod_LDFLAGS): Likewise.
48368 (gfxterm_mod_SOURCES): Likewise.
48369 (gfxterm_mod_CFLAGS): Likewise.
48370 (gfxterm_mod_LDFLAGS): Likewise.
48371 (videotest_mod_SOURCES): Likewise.
48372 (videotest_mod_CFLAGS): Likewise.
48373 (videotest_mod_LDFLAGS): Likewise.
48374 (vesafb_mod_SOURCES): Removed.
48375 (vesafb_mod_CFLAGS): Likewise.
48376 (vesafb_mod_LDFLAGS): Likewise.
48377 (vga_mod_SOURCES): Likewise.
48378 (vga_mod_CFLAGS): Likewise.
48379 (vga_mod_LDFLAGS): Likewise.
48380
48381 * commands/videotest.c: New file.
48382
48383 * font/manager.c (fill_with_default_glyph): Modified to use
48384 grub_font_glyph.
48385 (grub_font_get_glyph): Likewise.
48386 (fontmanager): Renamed from this...
48387 (font_manager): ... to this.
48388
48389 * include/grub/font.h (grub_font_glyph): Added new structure.
48390 (grub_font_get_glyph): Modified to use grub_font_glyph.
48391
48392 * include/grub/misc.h (grub_abs): Added as inline function.
48393
48394 * include/grub/video.h: New file.
48395
48396 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48397 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48398 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48399 (grub_vbe_get_controller_info): Renamed from this...
48400 (grub_vbe_bios_get_controller_info): ... to this.
48401 (grub_vbe_get_mode_info): Renamed from this...
48402 (grub_vbe_bios_get_mode_info): ... to this.
48403 (grub_vbe_set_mode): Renamed from this...
48404 (grub_vbe_bios_set_mode): ... to this.
48405 (grub_vbe_get_mode): Renamed from this...
48406 (grub_vbe_bios_get_mode): ... to this.
48407 (grub_vbe_set_memory_window): Renamed from this...
48408 (grub_vbe_bios_set_memory_window): ... to this.
48409 (grub_vbe_get_memory_window): Renamed from this...
48410 (grub_vbe_bios_get_memory_window): ... to this.
48411 (grub_vbe_set_scanline_length): Renamed from this...
48412 (grub_vbe_set_scanline_length): ... to this.
48413 (grub_vbe_get_scanline_length): Renamed from this...
48414 (grub_vbe_bios_get_scanline_length): ... to this.
48415 (grub_vbe_set_display_start): Renamed from this...
48416 (grub_vbe_bios_set_display_start): ... to this.
48417 (grub_vbe_get_display_start): Renamed from this...
48418 (grub_vbe_bios_get_display_start): ... to this.
48419 (grub_vbe_set_palette_data): Renamed from this...
48420 (grub_vbe_bios_set_palette_data): ... to this.
48421 (grub_vbe_set_pixel_rgb): Removed.
48422 (grub_vbe_set_pixel_index): Likewise.
48423
48424 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48425 from this...
48426 (grub_vbe_bios_get_controller_info): ... to this.
48427 (grub_vbe_get_mode_info): Renamed from this...
48428 (grub_vbe_bios_get_mode_info): ... to this.
48429 (grub_vbe_set_mode): Renamed from this...
48430 (grub_vbe_bios_set_mode): ... to this.
48431 (grub_vbe_get_mode): Renamed from this...
48432 (grub_vbe_bios_get_mode): ... to this.
48433 (grub_vbe_set_memory_window): Renamed from this...
48434 (grub_vbe_bios_set_memory_window): ... to this.
48435 (grub_vbe_get_memory_window): Renamed from this...
48436 (grub_vbe_bios_get_memory_window): ... to this.
48437 (grub_vbe_set_scanline_length): Renamed from this...
48438 (grub_vbe_set_scanline_length): ... to this.
48439 (grub_vbe_get_scanline_length): Renamed from this...
48440 (grub_vbe_bios_get_scanline_length): ... to this.
48441 (grub_vbe_set_display_start): Renamed from this...
48442 (grub_vbe_bios_set_display_start): ... to this.
48443 (grub_vbe_get_display_start): Renamed from this...
48444 (grub_vbe_bios_get_display_start): ... to this.
48445 (grub_vbe_set_palette_data): Renamed from this...
48446 (grub_vbe_bios_set_palette_data): ... to this.
48447 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48448 getting corrupted after calling it. Added more pushes and pops.
48449 (grub_vbe_bios_set_mode): Likewise.
48450 (grub_vbe_bios_get_mode): Likewise.
48451 (grub_vbe_bios_get_memory_window): Likewise.
48452 (grub_vbe_bios_set_scanline_length): Likewise.
48453 (grub_vbe_bios_get_scanline_length): Likewise.
48454 (grub_vbe_bios_get_display_start): Likewise.
48455 (grub_vbe_bios_set_palette_data): Likewise.
48456
48457 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48458 (cl_insert): Likewise.
48459 (cl_delete): Likewise.
48460
48461 * term/gfxterm.c: New file.
48462
48463 * term/i386/pc/vesafb.c: Removed file.
48464
48465 * video/video.c: New file.
48466
48467 * video/i386/pc/vbe.c (real2pm): Added new function.
48468 (grub_video_vbe_draw_pixel): Likewise.
48469 (grub_video_vbe_get_video_ptr): Likewise.
48470 (grub_video_vbe_get_pixel): Likewise
48471 (grub_video_vbe_init): Likewise.
48472 (grub_video_vbe_fini): Likewise.
48473 (grub_video_vbe_setup): Likewise.
48474 (grub_video_vbe_get_info): Likewise.
48475 (grub_video_vbe_set_palette): Likewise.
48476 (grub_video_vbe_get_palette): Likewise.
48477 (grub_video_vbe_set_viewport): Likewise.
48478 (grub_video_vbe_get_viewport): Likewise.
48479 (grub_video_vbe_map_color): Likewise.
48480 (grub_video_vbe_map_rgb): Likewise.
48481 (grub_video_vbe_map_rgba): Likewise.
48482 (grub_video_vbe_unmap_color): Likewise.
48483 (grub_video_vbe_fill_rect): Likewise.
48484 (grub_video_vbe_blit_glyph): Likewise.
48485 (grub_video_vbe_blit_bitmap): Likewise.
48486 (grub_video_vbe_blit_render_target): Likewise.
48487 (grub_video_vbe_scroll): Likewise.
48488 (grub_video_vbe_swap_buffers): Likewise.
48489 (grub_video_vbe_create_render_target): Likewise.
48490 (grub_video_vbe_delete_render_target): Likewise.
48491 (grub_video_vbe_set_active_render_target): Likewise.
48492 (grub_vbe_set_pixel_rgb): Remove function.
48493 (grub_vbe_set_pixel_index): Likewise.
48494 (index_color_mode): Remove static variable.
48495 (active_mode): Likewise.
48496 (framebuffer): Likewise.
48497 (bytes_per_scan_line): Likewise.
48498 (grub_video_vbe_adapter): Added new static variable.
48499 (framebuffer): Likewise.
48500 (render_target): Likewise.
48501 (initial_mode): Likewise.
48502 (mode_in_use): Likewise.
48503 (mode_list): Likewise.
48504
5f97350b 485052006-03-10 Marco Gerards <marco@gnu.org>
48506
48507 * configure.ac (AC_INIT): Bumped to 1.93.
48508
48509 * DISTLIST: Added `include/grub/hfs.h'.
48510
a3c5c6f8 485112006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48512
48513 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48514 18H, which might help the BIOS falling back to next boot media.
48515
6de53d26 485162006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48517
48518 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48519 Poe Chen <poe.poechen@gmail.com>.
48520
77c4a393 485212006-01-17 Marco Gerards <marco@gnu.org>
48522
48523 * include/grub/normal.h: Include <grub/script.h>.
48524 (grub_command_list): Removed struct.
48525 (grub_command_list_t): Removed type.
48526 (grub_menu_entry): Remove members `num' and `command_list'. Add
48527 members `commands' and `sourcecode'.
48528 * include/grub/script.h: Add inclusion guards.
48529 (grub_script_cmd_menuentry): New struct.
48530 (grub_script_execute_menuentry): New prototype.
48531 (grub_script_lexer_record_start): Likewise.
48532 (grub_script_lexer_record_stop): Likewise.
48533 * normal/execute.c (grub_script_execute_menuentry): New function.
48534 * normal/lexer.c (record, recording, recordpos, recordlen): New
48535 variables.
48536 (grub_script_lexer_record_start): New function.
48537 (grub_script_lexer_record_stop): Likewise.
48538 (recordchar): Likewise.
48539 (nextchar): Likewise.
48540 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48541 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48542 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48543 (current_menu): New variable.
48544 (free_menu): Mainly rewritten.
48545 (grub_normal_menu_addentry): New function.
48546 (read_config_file): Rewritten.
48547 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 48548 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 48549 the menu entry.
48550 (run): Mainly rewritten.
48551 * normal/parser.y (menu_entry): New variable.
48552 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48553 (menuentry): New rule.
48554 (command): Add `menuentry'.
48555 (if_statement): Allow additional returns before `fi'.
48556 * normal/script.c (grub_script_create_cmdmenu): New function.
48557
144f1f98 485582006-01-03 Marco Gerards <marco@gnu.org>
48559
48560 * INSTALL: GNU Bison is required.
48561 * configure.ac: Rewritten the test to detect Bison.
48562 * Makefile.in (YACC): New variable. Reported by Xun Sun
48563 <xun.sun.cn@gmail.com>.
48564
af4b2d89 485652006-01-03 Marco Gerards <marco@gnu.org>
48566
48567 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48568 the HFS+ filesystem to filesystem blocks.
48569 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48570 GCC warning is silenced.
48571
15643b71 485722006-01-03 Marco Gerards <marco@gnu.org>
48573
48574 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48575 read from disk from big endian to host byte order.
48576
00905879 485772006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48578
48579 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48580 documentation.
48581 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48582 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48583 embedded HFS+ filesystem.
48584 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48585 (grub_hfs_sblock): Move from here...
48586 * include/grub/hfs.h: To here... New file.
48587 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48588 documentation.
48589 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48590 New macros.
48591 (grub_hfsplus_volheader): Change type of member `magic' to
48592 `grub_uint16_t'.
48593 (grub_hfsplus_data): Add new member `embedded_offset'.
48594 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48595 returned block.
48596 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48597 Calculate the offset.
48598
8899bc3e 485992005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48600
48601 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48602 Removed.
48603 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48604
ae8c0277 486052005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48606
48607 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48608 ENV->NAME is NULL after allocating ENV->VALUE.
48609
07084456 486102005-12-25 Marco Gerards <marco@gnu.org>
48611
48612 * kern/env.c (grub_env_set): Rewritten the error handling code.
48613
4750f5f1 486142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48615
48616 * geninit.sh: Made more robust, and more portable.
48617
50214199 486182005-12-25 Marco Gerards <marco@gnu.org>
48619
48620 Add support for Apple HFS+ filesystems.
f19dbdb7 48621
50214199 48622 * fs/hfsplus.c: New file.
48623
48624 * DISTLIST: Added `fs/hfsplus.c'.
48625
48626 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48627 (hfsplus_mod_SOURCES): New variable.
48628 (hfsplus_mod_CFLAGS): Likewise.
48629 (hfsplus_mod_LDFLAGS): Likewise.
48630 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48631 (grub_setup_SOURCES): Likewise.
48632 (grub_mkdevicemap_SOURCES): Likewise.
48633 (grub_emu_SOURCES): Likewise.
48634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48635
48636 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48637
48638 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48639
befaed6c 486402005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48641
48642 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48643 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48644 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48645 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48646 normal/lexer.c, normal/parser.y, normal/script.c, and
48647 partmap/gpt.c.
48648 Removed kern/sparc64/cache.c.
48649
48650 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48651 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48652 grub_emu_init.c.
48653
48654 * configure.ac (AC_INIT): Bumped to 1.92.
48655
6a124103 486562005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48657
48658 * kern/err.c (grub_error_push): Added new function to support error
48659 stacks.
48660 (grub_error_pop): Likewise.
48661 (grub_error_stack_items): New local variable to support error stacks.
48662 (grub_error_stack_pos): Likewise.
48663 (grub_error_stack_assert): Likewise.
48664 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48665 stack depth.
48666 (grub_print_error): Added support to print errors from error stack.
48667
48668 * include/grub/err.h (grub_error_push): Added function prototype.
48669 (grub_error_pop): Likewise.
48670
be973c1b 486712005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48672
48673 * configure.ac: Accept `powerpc64' as host_cpu.
48674 (amd64): Rename to `biarch32'.
48675
48676 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48677 non-cacheline-aligned addresses.
48678
48679 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48680 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48681 if `size' is non-zero.
48682
b04216ab 486832005-12-03 Marco Gerards <mgerards@xs4all.nl>
48684
48685 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48686 and `cd' to make sure the filename is not prefixed with a
48687 directory name.
48688 (pkgdata_MODULES): Add `gpt.mod'.
48689 (gpt_mod_SOURCES): New variable.
48690 (gpt_mod_CFLAGS): Likewise.
48691 (gpt_mod_LDFLAGS): Likewise.
48692
48693 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
48694
48695 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
48696 New macro.
48697
48698 * partmap/gpt.c: New file.
48699
48700 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
48701 GPT partition map is detected.
48702
41730ed9 487032005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
48704
48705 * commands/i386/pc/play.c: New file.
48706 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
48707 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
48708 macros.
f19dbdb7 48709
95dc3643 487102005-11-27 Marco Gerards <mgerards@xs4all.nl>
48711
48712 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
48713 ((unused))' to silence gcc warning.
48714
1569ec51 487152005-11-26 Hollis Blanchard <hollis@penguinppc.org>
48716
48717 * configure.ac: Correct `AC_PROG_YACC' test.
48718
9abde152 487192005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48720
48721 * util/powerpc/ieee1275/grub-install.in: Run the mount point
48722 check before installing files.
48723
44b83271 487242005-11-22 Mike Small <smallm@panix.com>
48725
48726 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
48727 number regex so multidigit numbers are recognized correctly.
48728
487292005-11-22 Mike Small <smallm@panix.com>
48730
48731 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
48732 debugging message before attempting to claim memory.
48733 (grub_rescue_cmd_initrd): Add a claim debugging message and try
48734 multiple addresses in case of failure.
48735
9c12956b 487362005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48737
48738 * term/tparm.c (get_space): Remove empty `if' statement.
48739
48740 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
48741
48742 * kern/parser.c (check_varstate): Rename `state' to 's'.
48743
aeaf81d9 487442005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48745
48746 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
48747 variable definitions to the beginning of each function. Sort stack
48748 variables by size.
48749 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
48750 `buf' argument to `char *'.
48751
79bbb63f 487522005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48753
48754 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
48755 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48756 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 48757 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48758 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48759 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48760 configfile.mod, search.mod, gzio.mod and test.mod.
48761 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48762 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48763 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48764 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48765 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48766 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48767 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48768 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48769 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48770 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48771 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48772 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48773 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48774 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48775 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48776 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48777 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48778 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48779 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48780 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48781 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48782 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48783 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
48784
48785 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
48786 `grep --include'.
48787 (pkgdata_MODULES): Add test.mod.
48788
233b1628 487892005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48790
48791 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
48792 appending to variables with "+=".
48793 (PModule): Use full pathname to generate *.lst filenames.
48794
48795 * Makefile.in: Fixed list rules moved from genmk.rb.
48796 (.DELETE_ON_ERROR): New special target.
48797 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
48798
48799 * conf/i386-pc.rmk: Include conf/common.mk.
48800 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48801 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 48802 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48803 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48804 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48805 configfile.mod, search.mod, gzio.mod and test.mod.
48806 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48807 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48808 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48809 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48810 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48811 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48812 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48813 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48814 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48815 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48816 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48817 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48818 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48819 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48820 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48821 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48822 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48823 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48824 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48825 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48826 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48827 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48828 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
48829 here...
48830 * conf/common.rmk: ... to here. New file.
48831
48832 * conf/common.mk: New file.
48833
16f820c8 488342005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
48835
48836 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
48837 (grub_script.tab.c): ... here.
48838
48839 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
48840 (grub_script.tab.c): ... here.
48841
48842 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
48843 (grub_script.tab.c): ... here.
48844
48845 * normal/command.c (grub_command_find): Fixed a memory leak of
48846 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
48847
63ba1554 488482005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48849
48850 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
48851 "@" which marks the start of a comment on ARM.
48852 (VARIABLE): Likewise.
48853
7f67dc13 488542005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48855
79bbb63f 48856 Add support for Linux/ADFS partition tables.
7f67dc13 48857
48858 * partmap/acorn.c: New file.
48859
48860 * include/grub/acorn_filecore.h: Likewise.
48861
48862 * DISTLIST: Added `partmap/acorn.c' and
48863 `include/grub/acorn_filecore.h'.
f19dbdb7 48864
7f67dc13 48865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48866 `partmap/acorn.c'.
48867 (pkgdata_MODULES): Add `acorn.mod'.
48868 (acorn_mod_SOURCES): New variable.
48869 (acorn_mod_CFLAGS): Likewise.
48870
48871 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
48872 `partmap/acorn.c'.
48873 (pkgdata_MODULES): Add `acorn.mod'.
48874 (acorn_mod_SOURCES): New variable.
48875 (acorn_mod_CFLAGS): Likewise.
48876
48877 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
48878 (pkgdata_MODULES): Add `acorn.mod'.
48879 (acorn_mod_SOURCES): New variable.
48880 (acorn_mod_CFLAGS): Likewise.
48881 (acorn_mod_LDFLAGS): Likewise.
48882
48883 * include/types.h (grub_disk_addr_t): New typedef.
48884
6d099807 488852005-11-13 Marco Gerards <mgerards@xs4all.nl>
48886
48887 * geninit.sh: New file.
48888
48889 * geninitheader.sh: Likewise.
48890
48891 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
48892 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
48893 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
48894 * commands/configfile.c (grub_configfile_init)
48895 (grub_configfile_fini): Likewise.
48896 * commands/default.c (grub_default_init, grub_default_fini):
48897 Likewise.
48898 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
48899 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
48900 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
48901 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
48902 Likewise.
48903 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
48904 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
48905 Likewise.
48906 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 48907 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 48908 Likewise.
48909 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
48910 Likewise.
fe6b695a 48911 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 48912 Likewise.
48913 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
48914 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
48915 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
48916 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
48917 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
48918 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
48919 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
48920 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
48921 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
48922 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
48923 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
48924 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
48925 * partmap/amiga.c (grub_amiga_partition_map_init)
48926 (grub_amiga_partition_map_fini): Likewise.
48927 * partmap/apple.c (grub_apple_partition_map_init)
48928 (grub_apple_partition_map_fini): Likewise.
48929 * partmap/pc.c (grub_pc_partition_map_init)
48930 (grub_pc_partition_map_fini): Likewise.
48931 * partmap/sun.c (grub_sun_partition_map_init,
48932 grub_sun_partition_map_fini): Likewise.
48933 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
48934 Likewise.
48935
48936 * util/grub-emu.c: Include <grub_modules_init.h>.
48937 (main): Don't initialize and de-initialize any modules directly,
48938 use `grub_init_all' and `grub_fini_all' instead.
48939
48940 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
48941 `grub_vesafb_mod_init'.
48942 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
48943 all users.
48944 * term/i386/pc/vga.c (grub_vga_init): Renamed to
48945 `grub_vga_mod_init'. Updated all users.
48946 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 48947
6d099807 48948 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
48949 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
48950 rules.
48951
48952 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
48953 Generate a function to initialize the module in utilities.
48954 Updated all callers.
48955 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
48956 initialize the module in utilities. Updated all callers.
48957
9046bcf0 489582005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48959
48960 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
48961 escape sequence and a literal ^L to clear the screen.
48962
48963 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
48964 when returning from Open Firmware.
48965
d13ea639 489662005-11-09 Hollis Blanchard <hollis@penguinppc.org>
48967
48968 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
48969 (grub_ofconsole_height): Likewise.
48970 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
48971 manually insert a '\n'.
48972 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
48973 `grub_ofconsole_height'. Return early if these are already set.
48974
a8fcf206 489752005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
48976
48977 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
48978 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
48979 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
48980 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
48981 and `normal/script.c'.
48982 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48983 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48984 (test_mod_SOURCES): New variable.
48985 (test_mod_CFLAGS): Likewise.
48986 (test_mod_LDFLAGS): Likewise.
48987 (pkgdata_MODULES): Add `test.mod'.
48988 (grub_script.tab.c): New rule.
48989 (grub_script.tab.h): Likewise.
48990
b6b32745 489912005-11-07 Marco Gerards <mgerards@xs4all.nl>
48992
48993 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48994 `commands/test.c', `normal/execute.c', `normal/lexer.c',
48995 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48996 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
48997 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
48998 (test_mod_SOURCES): New variable.
48999 (test_mod_CFLAGS): Likewise.
49000 (pkgdata_MODULES): Add `test.mod'.
49001 (grub_script.tab.c): New rule.
49002 (grub_script.tab.h): Likewise.
49003
daac212a 490042005-11-06 Marco Gerards <mgerards@xs4all.nl>
49005
49006 Add initial scripting support.
49007
49008 * commands/test.c: New file.
49009 * include/grub/script.h: Likewise.
49010 * normal/execute.c: Likewise.
49011 * normal/function.c: Likewise.
49012 * normal/lexer.c: Likewise.
49013 * normal/parser.y: Likewise.
49014 * normal/script.c: Likewise.
49015
49016 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49017
daac212a 49018 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49019 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49020 `normal/function.c' and `normal/script.c'.
49021 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49022 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49023 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49024 variables.
daac212a 49025 (pkgdata_MODULES): Add `test.mod'.
49026 (grub_script.tab.c): New rule.
49027 (grub_script.tab.h): Likewise.
49028
49029 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49030
49031 * include/grub/normal.h (grub_test_init): New prototype.
49032 (grub_test_fini): Likewise.
f19dbdb7 49033
daac212a 49034 * normal/command.c: Include <grub/script.h>.
49035 (grub_command_execute): Rewritten.
f19dbdb7 49036
daac212a 49037 * util/grub-emu.c (main): Call `grub_test_init' and
49038 `grub_test_fini'.
49039
77500b2b 490402005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49041
49042 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49043 to 0.
49044 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49045 there are no pending characters.
49046
e45deb9e 490472005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49048
49049 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49050 `grub_strndup' to drop device arguments. Replace unnecessary
49051 `grub_strndup' with `grub_strdup'.
49052
4ce32619 490532005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49054
49055 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49056 `debug' environment variable has been set.
49057
490582005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49059
4ce32619 49060 * Makefile.in (install-local): Use $(DATA).
49061 (uninstall): Likewise.
49062 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49063 (sbin_UTILITIES): ... to here.
49064 (sbin_SCRIPTS): New variable.
49065 (grub_install_SOURCES): New variable.
49066 * util/powerpc/ieee1275/grub-install.in: New file.
49067 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49068 variable.
49069 (add_segments): Call `grub_util_get_path'.
49070
25fe6f03 490712005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49072
49073 From Timothy Baldwin:
49074 * commands/ls.c (grub_ls_list_files): Close FILE with
49075 grub_file_close.
49076 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49077
04ccf3ec 490782005-10-24 Marco Gerards <mgerards@xs4all.nl>
49079
49080 * include/grub/parser.h: New file.
49081
49082 * kern/parser.c: Likewise.
49083
49084 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49085 (grub_setup_SOURCES): Likewise.
49086 (grub_probefs_SOURCES): Likewise.
49087 (grub_emu_SOURCES): Likewise.
49088 (kernel_img_HEADERS): Add `parser.h'.
49089
49090 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49091 (grub_emu_SOURCES): Add `kern/parser.c'.
49092 (grubof_SOURCES): Likewise.
49093
49094 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49095 (grubof_SOURCES): Add `kern/parser.c'.
49096
49097 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49098
49099 * kern/misc.c (grub_split_cmdline): Removed function.
49100
49101 * kern/rescue.c: Include <grub/parser.h>.
49102 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49103 of `grub_split_cmdline'.
49104
49105 * normal/command.c: Include <grub/parser.h>.
49106 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49107 of `grub_split_cmdline'.
49108
49109 * normal/completion.c: Include <grub/parser.h>.
49110 (cmdline_state): New variable.
49111 (iterate_dir): End the filename with a quote depending on the
49112 command line state.
49113 (get_state): new function.
49114 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49115 split the arguments and determine the current argument. When the
49116 argument string is not quoted, escape all spaces.
49117
6d8f4b0e 491182005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49119
49120 * normal/sparc64/setjmp.S: New file.
49121
15cf03ed 491222005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49123
49124 * include/grub/sparc64/libgcc.h: New file.
49125 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49126 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49127 normal/sparc64/setjmp.c.
49128
03e8661a 491292005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49130
49131 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49132 * kern/sparc64/cache.S: New file.
49133 * kern/sparc64/cache.c: Removed.
49134 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49135 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49136 -mtune=ultrasparc.
49137 (COMMON_LDFLAGS): Add -melf64_sparc.
49138 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49139 (grubof_SOURCES): Use cache.S instead of cache.c.
49140 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49141 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49142 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49143 commented though.
49144 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49145 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49146 (linux_mod_CFLAGS): Commented out.
49147 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49148 out because module isn't built.
49149 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49150 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49151 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49152 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49153 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49154 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49155 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49156 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49157 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49158 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49159 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49160 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49161 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49162 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49163
34eeec8a 491642005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49165
49166 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49167 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49168 longer, because HFS should not be used on PC.
49169
708367a3 491702005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49171
49172 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49173 consistently within the loop.
49174
6fa1251a 491752005-10-15 Marco Gerards <mgerards@xs4all.nl>
49176
49177 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49178 directory can not be read.
49179
4801580b 491802005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49181
49182 * configure.ac (AC_INIT): Increase the version number to 1.91.
49183
49184 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49185 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49186 term/i386/pc/serial.c.
49187
219ad426 491882005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49189
49190 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49191 file size must be permitted.
49192
49193 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49194 between %ah and %al.
49195
688e5699 491962005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49197
49198 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49199 grub_uint64_t.
49200 Call the hook with a NUL-terminated filename.
49201 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49202 grub_cpu_to_be32.
49203
49204 * kern/term.c (cursor_state): New variable.
49205 (grub_term_set_current): Reset the cursor state on a new
49206 terminal.
49207 (grub_setcursor): Rewritten to use CURSOR_STATE.
49208 (grub_getcursor): New function.
49209
49210 * include/grub/term.h (grub_getcursor): New prototype.
49211
49212 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49213 integers on ARM. Reported by Timothy Baldwin
49214 <T.E.Baldwin99@members.leeds.ac.uk>.
49215
bb34586c 492162005-10-11 Marco Gerards <mgerards@xs4all.nl>
49217
49218 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49219 allocated.
49220 (grub_sfs_dir): Likewise.
49221
9a909877 492222005-10-09 Marco Gerards <mgerards@xs4all.nl>
49223
49224 Add support for the SFS filesystem.
49225
49226 * fs/sfs.c: New file.
49227
49228 * DISTLIST: Added `fs/sfs.c'.
49229
49230 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49231 (grub_probefs_SOURCES): Likewise.
49232 (grub_emu_SOURCES): Likewise.
49233 (pkgdata_MODULES): Add `sfs.mod'.
49234 (sfs_mod_SOURCES): New variable.
49235 (sfs_mod_CFLAGS): Likewise.
49236 (sfs_mod_LDFLAGS): Likewise.
49237
49238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49239 (pkgdata_MODULES): Add `sfs.mod'.
49240 (sfs_mod_SOURCES): New variable.
49241 (sfs_mod_CFLAGS): Likewise.
49242
49243 * util/grub-emu.c (main): Call `grub_sfs_init' and
49244 `grub_sfs_fini'.
49245
49246 * include/grub/fs.h (grub_sfs_init): New prototype.
49247 (grub_sfs_fini): Likewise.
49248
57bdbde3 492492005-10-07 Marco Gerards <mgerards@xs4all.nl>
49250
49251 Add support for the AFFS filesystem.
49252
49253 * fs/affs.c: New file.
49254
49255 * DISTLIST: Added `fs/affs.c'.
49256
49257 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49258 (grub_probefs_SOURCES): Likewise.
49259 (grub_emu_SOURCES): Likewise.
49260 (pkgdata_MODULES): Add `affs.mod'.
49261 (affs_mod_SOURCES): New variable.
49262 (affs_mod_CFLAGS): Likewise.
49263 (affs_mod_LDFLAGS): Likewise.
49264
49265 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49266 (pkgdata_MODULES): Add `affs.mod'.
49267 (affs_mod_SOURCES): New variable.
49268 (affs_mod_CFLAGS): Likewise.
49269
49270 * util/grub-emu.c (main): Call `grub_affs_init' and
49271 `grub_affs_fini'.
49272
49273 * include/grub/fs.h (grub_affs_init): New prototype.
49274 (grub_affs_fini): Likewise.
49275
047b67e0 492762005-10-01 Marco Gerards <mgerards@xs4all.nl>
49277
49278 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49279
59b8208a 492802005-10-01 Marco Gerards <mgerards@xs4all.nl>
49281
49282 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49283 `-m32' to CFLAGS.
49284
49285 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49286 linking.
f19dbdb7 49287
59b8208a 49288 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49289 (COMMON_LDFLAGS): New variable.
49290 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49291 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49292 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49293 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49294 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49295 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49296 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49297 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49298 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49299 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49300 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49301 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49302 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49303 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49304 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49305 variables.
49306 (normal_mod_ASFLAGS): Add `-m32'.
49307
49308 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49309 (grub_host_size_t, grub_host_ssize_t): New types.
49310 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49311 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49312 `GRUB_HOST_SIZEOF_VOID_P'.
49313
49314 * include/grub/kernel.h (struct grub_module_header): Type of
49315 member offset changed to `grub_host_off_t'. Type of member size
49316 changed to `grub_host_size_t'.
49317 (struct grub_module_info): Type of member offset changed to
49318 `grub_host_off_t'. Type of member size changed to
49319 `grub_host_size_t'.
49320
b4093103 493212005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49322
49323 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49324
b4093103 49325 * kern/i386/pc/startup.S (multiboot_header): New label.
49326 (multiboot_entry): Likewise.
49327 (multiboot_trampoline): Likewise.
49328
49329 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49330 Increased to 0x4A0.
49331
49332 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49333 put parentheses after a question mark.
49334 [!GRUB_UTIL] (my_mod): New variable.
49335
49336 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49337
b2499b29 493382005-09-28 Marco Gerards <mgerards@xs4all.nl>
49339
49340 Adds support for the XFS filesystem. Btrees are not supported
49341 yet.
49342
49343 * fs/xfs.c: New file.
49344
49345 * DISTLIST: Added `fs/xfs.c'.
49346
49347 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49348 (grub_probefs_SOURCES): Likewise.
49349 (grub_emu_SOURCES): Likewise.
49350 (pkgdata_MODULES): Add `xfs.mod'.
49351 (xfs_mod_SOURCES): New variable.
49352 (xfs_mod_CFLAGS): Likewise.
49353
49354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49355 (pkgdata_MODULES): Add `xfs.mod'.
49356 (xfs_mod_SOURCES): New variable.
49357 (xfs_mod_CFLAGS): Likewise.
49358
49359 * util/grub-emu.c (main): Call `grub_xfs_init' and
49360 `grub_xfs_fini'.
49361
49362 * include/grub/fs.h (grub_xfs_init): New prototype.
49363 (grub_xfs_fini): Likewise.
49364
f19dbdb7 49365
83d37a62 493662005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49367
49368 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49369 color modes, allow greater than 16 colors to be configured as
49370 a default palette.
49371
47d2d65e 493722005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49373
49374 * normal/completion.c (complete_arguments): Add the qualifier
49375 const into OPTIONS.
49376
49377 From Omniflux <omniflux+lists@omniflux.com>:
49378 * include/grub/terminfo.h: New file.
49379 * include/grub/tparm.h: Likewise.
49380 * include/grub/i386/pc/serial.h: Likewise.
49381 * term/terminfo.c: Likewise.
49382 * term/tparm.c: Likewise.
49383 * term/i386/pc/serial.c: Likewise.
49384 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49385 serial.mod.
49386 (terminfo_mod_SOURCES): New variable.
49387 (terminfo_mod_CFLAGS): Likewise.
49388 (serial_mod_SOURCES): Likewise.
49389 (serial_mod_CFLAGS): Likewise.
49390
48b671ff 493912005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49392
49393 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49394 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49395 and kern/powerpc/ieee1275/cmain.c, respectively.
49396
49397 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49398 * kern/powerpc/ieee1275/crt0.S: ... here.
49399
49400 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49401 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49402
48b671ff 49403 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49404 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49405 instead of boot/powerpc/ieee1275/crt0.S and
49406 boot/powerpc/ieee1275/cmain.c, respectively.
49407
49408 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49409 sectors. It was not used anyway.
49410
09fc77a7 494112005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49412
49413 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49414 `unused parameter' warning.
49415
003789c7 494162005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49417
49418 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49419 function.
49420 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49421 getcharwidth.
49422
67f44c86 494232005-08-28 Marco Gerards <metgerards@student.han.nl>
49424
49425 * include/grub/normal.h (enum grub_completion_type): Added
49426 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49427
49428 * normal/cmdline.c (print_completion): Handle
49429 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49430 * normal/menu_entry.c (store_completion): Likewise.
49431
49432 * normal/completion.c (complete_arguments): New function.
49433 (grub_normal_do_completion): Call `complete_arguments' when the
49434 current words start with a dash.
49435
0b5abe02 494362005-08-27 Marco Gerards <metgerards@student.han.nl>
49437
49438 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49439 `gzio.mod' instead of `io.mod').
49440
d9864ee1 494412005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49442
49443 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49444 (DISTDIRS): Added io and video.
49445 Rewrite the search routine to make an output consistently.
49446
49447 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49448 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49449 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49450 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49451 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49452 util/powerpc/ieee1275/misc.c.
f19dbdb7 49453
d9864ee1 49454 * include/grub/gzio.h: New file.
49455 * io/gzio.c: Likewise.
f19dbdb7 49456
d9864ee1 49457 * kern/file.c (grub_file_close): Call grub_device_close only if
49458 FILE->DEVICE is not NULL.
49459
49460 * include/grub/mm.h [!NULL] (NULL): New macro.
49461
49462 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49463
49464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49465 (pkgdata_MODULES): Added gzio.mod.
49466 (gzio_mod_SOURCES): New variable.
49467 (gzio_mod_CFLAGS): Likewise.
49468
49469 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49470 (pkgdata_MODULES): Added gzio.mod.
49471 (gzio_mod_SOURCES): New variable.
49472 (gzio_mod_CFLAGS): Likewise.
49473
49474 * commands/cat.c: Include grub/gzio.h.
49475 (grub_cmd_cat): Use grub_gzfile_open instead of
49476 grub_file_open.
f19dbdb7 49477
d9864ee1 49478 * commands/cmp.c: Include grub/gzio.h.
49479 (grub_cmd_cmp): Use grub_gzfile_open instead of
49480 grub_file_open.
49481
49482 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49483 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49484 grub_file_open.
49485 (grub_rescue_cmd_module): Likewise.
49486
fa46f4b5 494872005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49488
49489 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49490 kern/sparc64/ieee1275/init.c because it contains _start.
49491 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49492
e9211b5d 494932005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49494
49495 * configure.ac: Add support for sparc64 host with ieee1275
49496 firmware.
49497 * configure: Generated from configure.ac.
49498 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49499 instead of int.
49500 (grub_ofdisk_read): Likewise.
49501 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49502 pointers as (void *) to remove a warning.
49503 (grub_ofdisk_close): Likewise.
49504 (grub_ofdisk_read): Likewise.
49505 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49506 returns, so make it return void to remove a warning.
49507 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49508 Corresponding prototype change.
49509 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49510 values, and cast the pointers as (void *) to remove a warning.
49511 (grub_mm_dump): Likewise.
49512 * conf/sparc64-ieee1275.mk: New file.
49513 * conf/sparc64-ieee1275.rmk: Likewise.
49514 * include/grub/sparc64/setjmp.h: Likewise.
49515 * include/grub/sparc64/types.h: Likewise.
49516 * include/grub/sparc64/ieee1275/console.h: Likewise.
49517 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49518 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49519 * include/grub/sparc64/ieee1275/time.h: Likewise.
49520 * kern/sparc64/cache.c: Likewise.
49521 * kern/sparc64/dl.c: Likewise.
49522 * kern/sparc64/ieee1275/init.c: Likewise.
49523 * kern/sparc64/ieee1275/openfw.c: Likewise.
49524
385c6a92 495252005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49526
49527 * util/console.c (grub_ncurses_putchar): If C is greater than
49528 0x7f, set C to a question mark.
49529 (grub_ncurses_getcharwidth): New function.
49530 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49531 getcharwidth.
49532
49533 * normal/menu.c (print_entry): Made aware of Unicode. First,
49534 convert TITLE to UCS-4, and predict the cursor position by
49535 grub_getcharwidth.
49536
49537 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49538 const to SRC.
49539 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49540
16ccb8b1 495412005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49542
49543 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49544 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49545 grub_strcat.
49546
49547 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49548 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49549 grub_strcpy and grub_strlen. Take it into account that a space
49550 character is inserted as a delimiter.
49551
6a85ce79 495522005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49553
49554 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 49555 invalid magic in the error.
6a85ce79 49556
49557 * commands/search.c: New file.
f19dbdb7 49558
6a85ce79 49559 * util/grub-emu.c (main): Call grub_search_init and
49560 grub_search_fini.
49561
49562 * kern/rescue.c (grub_rescue_print_disks): Removed.
49563 (grub_rescue_print_devices): New function.
49564 (grub_rescue_cmd_ls): Use grub_device_iterate with
49565 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49566 grub_rescue_print_disks.
49567
49568 * kern/partition.c (grub_partition_iterate): Return the result of
49569 PARTMAP->ITERATE instead of GRUB_ERRNO.
49570
49571 * kern/device.c: Include grub/partition.h.
49572 (grub_device_iterate): New function.
49573
49574 * include/grub/partition.h (grub_partition_iterate): Return int
49575 instead of grub_err_t.
49576
49577 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49578 prototype.
49579 [GRUB_UTIL] (grub_search_fini): Likewise.
49580
49581 * include/grub/device.h (grub_device_iterate): New prototype.
49582
49583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49584 commands/search.c.
49585 (pkgdata_MODULES): Added search.mod.
49586 (search_mod_SOURCES): New variable.
49587 (search_mod_CFLAGS): Likewise.
49588
49589 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49590 (pkgdata_MODULES): Added search.mod.
49591 (search_mod_SOURCES): New variable.
49592 (search_mod_CFLAGS): Likewise.
49593
49594 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49595 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49596 All callers changed.
49597
49598 * DISTLIST: Added commands/search.c.
49599
ef095434 496002005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49601
49602 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49603 conversion.
49604 (grub_getcharwidth): New function.
49605
49606 * kern/misc.c (grub_utf8_to_ucs4): New function.
49607
49608 * include/grub/term.h (struct grub_term): Added a new member
49609 "getcharwidth".
49610 (grub_getcharwidth): New prototype.
49611
49612 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49613
49614 * term/i386/pc/console.c (map_char): New function. Segregated from
49615 grub_console_putchar.
49616 (grub_console_putchar): Use map_char.
49617 (grub_console_getcharwidth): New function.
49618 (grub_console_term): Specified grub_console_getcharwidth as
49619 getcharwidth.
49620
49621 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49622 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49623
49624 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49625 GRUB_ERRNO.
49626 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49627 on grub_strtoul completely.
49628 (write_char): Declare local variables in the beginning of the
49629 function.
49630 (grub_vesafb_getcharwidth): New function.
49631 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49632 getcharwidth.
49633
1f0a95e4 496342005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49635
49636 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49637 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49638 commands/i386/pc/vbetest.c.
49639
49640 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49641 call grub_vbe_get_controller_info again, because the returned
49642 information is volatile.
49643 (grub_vbe_set_video_mode): Mostly rewritten.
49644 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49645 grub_vbe_status_t correctly.
49646 (grub_vbe_get_video_mode_info): Likewise.
49647 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49648 several if statements.
49649
49650 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49651 * commands/i386/pc/vbeinfo.c: ... this.
49652
49653 * commands/i386/pc/vbe_test.c: Renamed to ...
49654 * commands/i386/pc/vbetest.c: ... this.
49655
49656 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49657 ...
49658 (grub_cmd_vbeinfo): ... this. Save video modes before
49659 iterating. Skip a video mode, if it is not available, not enough
49660 information is given or it is monochrome. Show the memory
49661 model. Leave the interpretation of MODEVAR to grub_strtoul
49662 completely.
49663 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49664 (GRUB_MOD_FINI): Likewise.
49665
49666 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49667 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49668 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49669 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49670 grub_strtoul completely.
49671 (real2pm): Removed.
49672 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49673 (GRUB_MOD_FINI): Likewise.
49674
49675 * normal/misc.c: Include grub/mm.h.
49676
49677 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49678 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49679 (vbe_list_modes_mod_SOURCES): Removed.
49680 (vbe_list_modes_mod_CFLAGS): Likewise.
49681 (vbe_test_mod_SOURCES): Likewise.
49682 (vbe_test_mod_CFLAGS): Likewise.
49683 (vbeinfo_mod_SOURCES): New variable.
49684 (vbeinfo_mod_CFLAGS): Likewise.
49685 (vbetest_mod_SOURCES): Likewise.
49686 (vbetest_mod_CFLAGS): Likewise.
49687
992ffbbe 496882005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49689
49690 * normal/misc.c: New file.
49691
49692 * DISTLIST: Added normal/misc.c.
f19dbdb7 49693
992ffbbe 49694 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
49695 DISK to HOOK. Call HOOK with DISK.
49696 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49697 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49698 * partmap/sun.c (sun_partition_map_iterate): Likewise.
49699
49700 * normal/menu_entry.c (struct screen): Added a new member
49701 "completion_shown".
49702 (completion_buffer): New global variable.
49703 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
49704 (store_completion): New function.
49705 (complete): Likewise.
49706 (clear_completions): Likewise.
49707 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
49708 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
49709 a tab, call complete.
49710
49711 * normal/completion.c (disk_dev): Removed.
49712 (print_simple_completion): Likewise.
49713 (print_partition_completion): Likewise.
49714 (print_func): New global variable.
49715 (add_completion): Do not take the arguments WHAT or PRINT any
49716 longer. Added a new argument TYPE. Instead of printing directly,
49717 call PRINT_FUNC if not NULL.
49718 All callers changed.
49719 (complete_device): Use a local variable DEV instead of
49720 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
49721 (grub_normal_do_completion): Take a new argument HOOK. Do not
49722 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
49723 empty string, return NULL instead.
49724 All callers changed.
49725
49726 * normal/cmdline.c (print_completion): New function.
49727
49728 * kern/partition.c (grub_partition_iterate): Add an argument DISK
49729 to HOOK.
49730 All callers changed.
49731
49732 * kern/disk.c (grub_print_partinfo): Removed.
49733
49734 * include/grub/partition.h (struct grub_partition_map): Add a new
49735 argument DISK into HOOK of ITERATE.
49736 (grub_partition_iterate): Add a new argument DISK to HOOK.
49737
49738 * include/grub/normal.h (enum grub_completion_type): New enum.
49739 (grub_completion_type_t): New type.
49740 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
49741 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
49742 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
49743 (GRUB_COMPLETION_TYPE_FILE): Likewise.
49744 (grub_normal_do_completion): Added a new argument HOOK.
49745 (grub_normal_print_device_info): New prototype.
49746
49747 * include/grub/disk.h (grub_print_partinfo): Removed.
49748
49749 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
49750 (normal_mod_SOURCES): Likewise.
49751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49752 (normal_mod_SOURCES): Likewise.
49753
49754 * commands/ls.c (grub_ls_list_disks): Use
49755 grub_normal_print_device_info instead of grub_print_partinfo. Free
49756 PNAME.
49757 (grub_ls_list_files): Use grub_normal_print_device_info instead of
49758 duplicating the code.
49759
0bd41162 497602005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49761
49762 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 49763 follow GCS more precisely.
49764 * commands/i386/pc/vbe_test.c: Likewise.
49765 * include/grub/i386/pc/vbe.h: Likewise.
49766 * term/i386/pc/vesafb.c: Likewise.
49767 * video/i386/pc/vbe.c: Likewise.
0bd41162 49768
6323696a 497692005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49770
49771 * DISTLIST: Added term/i386/pc/vesafb.c
49772 DISTLIST: Added video/i386/pc/vbe.c
49773 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
49774 DISTLIST: Added commands/i386/pc/vbe_test.c.
49775 * commands/i386/pc/vbe_list_modes.c: New file.
49776 * commands/i386/pc/vbe_test.c: Likewise.
49777 * term/i386/pc/vesafb.c: Likewise.
49778 * video/i386/pc/vbe.c: Likewise.
49779 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
49780 (grub_vbe_probe) Added prototype.
49781 (grub_vbe_set_video_mode) Likewise.
49782 (grub_vbe_get_video_mode) Likewise.
49783 (grub_vbe_get_video_mode_info) Likewise.
49784 (grub_vbe_set_pixel_rgb) Likewise.
49785 (grub_vbe_set_pixel_index) Likewise.
49786 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
49787 (pkgdata_MODULES): Added vesafb.mod.
49788 (pkgdata_MODULES): Added vbe_list_modes.mod.
49789 (pkgdata_MODULES): Added vbe_test.mod.
49790 (vbe_mod_SOURCES): Added.
49791 (vbe_mod_CFLAGS): Likewise.
49792 (vesafb_mod_SOURCES): Likewise.
49793 (vesafb_mod_CFLAGS): Likewise.
49794 (vbe_list_modes_mod_SOURCES): Likewise.
49795 (vbe_list_modes_mod_CFLAGS): Likewise.
49796 (vbe_test_mod_SOURCES): Likewise.
49797 (vbe_test_mod_CFLAGS): Likewise.
49798
0a74e62f 497992005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
49800
0a74e62f 49801 * normal/command.c (grub_command_execute): If INTERACTIVE is
49802 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
49803 CMDLINE. Disable the pager if INTERACTIVE is true.
49804 All callers are changed.
49805
49806 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
49807 before reading a config file.
49808 * normal/main.c (read_config_file): Even if a command is not
49809 found, register it if it is within an entry.
49810
49811 * util/grub-emu.c: Include sys/types.h and unistd.h.
49812 (options): Added --hold.
49813 (struct arguments): Added a new member "hold".
49814 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
49815 missing.
49816 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
49817 cleared by a debugger, if it is not zero.
49818
49819 * include/grub/normal.h (grub_command_execute): Add an argument
49820 INTERACTIVE.
49821
e51f85ae 498222005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
49823
49824 * DISTLIST: Added include/grub/i386/pc/vbe.h.
49825
e9c6f39b 498262005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
49827
49828 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
49829 program with another one, because the old one didn't detect a bug
49830 in gcc-3.4. Always use regparm 2, because the new test is still
49831 not enough for gcc-4.0. Someone must investigate a simple test
49832 case which detects a bug in gcc-4.0.
49833
8de3495c 498342005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
49835
49836 * DISTLIST: Added normal/completion.c.
49837
49838 * normal/completion.c: New file.
f19dbdb7 49839
8de3495c 49840 * term/i386/pc/console.c (grub_console_getwh): New function.
49841 (grub_console_term): Assign grub_console_getwh to getwh.
49842
49843 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
49844 function is defined in normal/completion.c as
49845 grub_normal_do_completion.
49846 (grub_cmdline_get): Use grub_normal_do_completion instead of
49847 grub_tab_complete.
49848
49849 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
49850 returns non-zero, otherwise return 0.
49851 (grub_partition_iterate): First, probe the partition map. Then,
49852 call ITERATE only for this partition map.
49853
49854 * kern/misc.c (grub_strncmp): Rewritten.
49855
49856 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
49857 returns non-zero. Otherwise return 0.
49858
49859 * include/grub/partition.h (grub_partition_map_iterate): Return
49860 int instead of void.
49861
49862 * include/grub/normal.h (grub_normal_do_completion): New prototype.
49863
49864 * include/grub/misc.h (grub_strncmp): Change the type of N to
49865 grub_size_t.
49866
49867 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
49868 of void.
49869
49870 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 49871 unsigned explicitly before comparing it with I.
8de3495c 49872
49873 * kern/main.c (grub_env_write_root): Add the attribute unused into
49874 VAR.
49875
49876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49877 normal/completion.c.
49878 (normal_mod_SOURCES): Likewise.
49879 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
49880 (normal_mod_SOURCES): Likewise.
49881
49882 * normal/command.c (grub_iterate_commands): If ITERATE returns
49883 non-zero, return one immediately.
49884
e85e144b 498852005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
49886
49887 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
49888 * kern/i386/pc/startup.S: Updated Global Descriptor table's
49889 descriptions.
49890 (grub_vbe_get_controller_info): New function.
49891 (grub_vbe_get_mode_info): Likewise.
49892 (grub_vbe_set_mode): Likewise.
49893 (grub_vbe_get_mode): Likewise.
49894 (grub_vbe_set_memory_window): Likewise.
49895 (grub_vbe_get_memory_window): Likewise.
49896 (grub_vbe_set_scanline_length): Likewise.
49897 (grub_vbe_get_scanline_length): Likewise.
49898 (grub_vbe_set_display_start): Likewise.
49899 (grub_vbe_get_display_start): Likewise.
49900 (grub_vbe_set_palette_data): Likewise.
49901 * include/grub/i386/pc/vbe.h: New file.
49902
c46153d2 499032005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49904
49905 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
49906 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
49907 * DISTLIST: Likewise.
49908 * kern/ieee1275/of.c: Moved to ...
49909 * kern/ieee1275/ieee1275.c: ... here.
49910
0cb90c45 499112005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49912
49913 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
49914 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
49915 Pass 0 as `end' parameter to grub_strtoul().
49916
a19fb360 499172005-08-08 Hollis Blanchard <hollis@penguinppc.org>
49918
49919 * include/grub/powerpc/ieee1275/console.h: Do not include
49920 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
49921 ifdef.
49922 (grub_console_cur_color): Remove i386-specific prototype.
49923 (grub_console_real_putchar): Likewise.
49924 (grub_console_checkkey): Likewise.
49925 (grub_console_getkey): Likewise.
49926 (grub_console_getxy): Likewise.
49927 (grub_console_gotoxy): Likewise.
49928 (grub_console_cls): Likewise.
49929 (grub_console_setcursor): Likewise.
49930 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
49931 Include <grub/machine/console.h>.
49932 * term/ieee1275/ofconsole.c: Likewise.
49933
4ac9bd04 499342005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
49935
49936 * Makefile.in (LIBLZO): New variable.
49937
49938 * configure.ac: Check for LZO version 2.
49939
49940 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
49941 lzo/lzo1x.h instead of lzo1x.h.
49942
49943 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
49944 of -llzo.
49945
49946 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
49947 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
49948
49949 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
49950 copying the data from PARTITION to P.
49951
f4917dfd 499522005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49953
49954 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
49955 negative, unload the module.
49956
49957 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
49958 map is "pc_partition_map" but not "pc".
49959 (usage): Fix the description. The options are --boot-image and
49960 --core-image but not --boot-file or --core-file.
49961 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
49962 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
49963 DEFAULT_DIRECTORY.
49964
49965 * util/i386/pc/grub-install.in: Do not specify --boot-file or
49966 --core-file. Specify INSTALL_DEVICE as an argument.
49967
49968 * util/console.c: Include config.h.
49969 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
49970 [HAVE_NCURSES_H]: Include ncurses.h.
49971 [HAVE_CURSES_H]: Include curses.h.
49972 [!A_NORMAL] (A_NORMAL): Defined as zero.
49973 [!A_STANDOUT] (A_STANDOUT): Likewise.
49974
49975 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
49976 -lncurses.
49977 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
49978
49979 * configure.ac: Check for curses libraries and headers.
49980
49981 * Makefile.in (LIBCURSES): New variable.
49982
49983 * genmk.rb (Script::rule): Set the executable bits.
49984
49985 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
49986 name of the PC partition map is "pc_partition_map" but not "pc".
49987
0e143073 499882005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
49989
49990 * util/i386/pc/grub-install.in (grub_probefs): New variable.
49991 (modules): Likewise.
49992 (usage): Added descriptions for --modules and --grub-probefs.
49993 Handle --modules and --grub-probefs. Save the arguments in MODULES
49994 and GRUB_PROBEFS, respectively.
49995 Auto-detect a filesystem module against GRUBDIR. If the result is
49996 empty and modules are not specified explicitly, abort the
49997 installation. Add the result to MODULES.
49998
49999 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50000 disk/powerpc/ieee1275/ofdisk.c,
50001 include/grub/powerpc/ieee1275/init.h and
50002 term/powerpc/ieee1275/ofconsole.c.
50003 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50004 term/ieee1275/ofconsole.c.
50005
50006 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50007
50008 * COPYING: Upgraded to the latest version. Only the address of the
50009 FSF office has changed.
f19dbdb7 50010
efd6e6d5 500112005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50012
50013 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50014 kern/ieee1275.c with kern/ieee1275/of.c.
50015
50016 * kern/ieee1275.c: Moved to ...
50017 * kern/ieee1275/of.c: ... here.
50018
8ceafda2 500192005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50020
50021 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50022 readability.
8ceafda2 50023
50024 * config.guess: Updated to the latest version from gnulib.
50025 * config.sub: Likewise.
50026 * install.sh: Likewise.
50027 * mkinstalldirs: Likewise.
50028
50029 * include/grub/console.h: Removed. This file is arch-specific. Do
50030 not put this in include/grub.
50031
50032 * include/grub/i386/pc/console.h: Resurrected.
50033
50034 * util/console.c: Include grub/machine/console.h instead of
50035 grub/console.h.
50036 * util/grub-emu.c: Likewise.
50037
267f6cd9 500382005-08-04 Marco Gerards <metgerards@student.han.nl>
50039
50040 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50041 hardcoded value.
f19dbdb7 50042
267f6cd9 50043 From Vincent Pelletier <subdino2004@yahoo.fr>
50044 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50045 Redefined to use grub_getwh.
50046 (grub_term): New member named getwh.
50047 (grub_getwh): New prototype.
50048 * kern/term.c (grub_getwh): New function.
50049 * term/i386/pc/console.c (grub_console_getwh): New function.
50050 (grub_console_term): New member `getwh'.
50051 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50052 (grub_vga_term): New member `getwh'.
0b5abe02 50053 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50054 grub_ssize_t.
50055 (grub_ofconsole_getw): New function.
50056 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50057 (grub_ofconsole_term): New field named getwh and new initial
50058 value.
50059
3be7266d 500602005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50061
50062 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50063 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50064 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50065 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50066 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50067 of <grub/machine/ieee1275.h>.
50068 * commands/ieee1275/reboot.c: Likewise.
50069 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50070 * kern/ieee1275.c: ... to here. All users updated. Change all
50071 parameter structs to use new type `grub_ieee1275_cell_t'.
50072 * term/powerpc/ieee1275/ofconsole.c: Move ...
50073 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50074 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50075 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50076 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50077 to return int.
50078 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50079 Remove unused prototypes. All users updated.
50080 * include/grub/powerpc/ieee1275/console.h: Removed.
50081 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50082 `grub_ieee1275_cell_t'.
50083 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50084 Cast comparisons with -1 to the correct type.
50085 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50086 type to match `grub_ieee1275_entry_fn'.
50087
8b5f3938 500882005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50089
50090 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50091
50092 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50093 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50094 partmap/sun.c.
50095 (grub_probefs_SOURCES): New variable.
50096
50097 * util/i386/pc/grub-probefs.c: New file.
50098
50099 * util/i386/pc/grub-setup.c (main): Call
50100 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50101 grub_hfs_init and grub_jfs_init to initialize the system. Call
50102 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50103 grub_pc_partition_map_fini to finish the system.
50104
ea409713 501052005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50106
50107 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50108 function.
50109 (grub_multiboot_load_elf32): Likewise.
50110 (grub_multiboot_is_elf64): Likewise.
50111 (grub_multiboot_load_elf64): Likewise.
50112 (grub_multiboot_load_elf): Likewise.
50113 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50114 an ELF32 or ELF64 file.
50115 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50116
50117 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50118 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50119 NULL before calling FS->LABEL.
50120 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50121 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50122 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50123 before calling FS->LABEL.
50124
141a288b 501252005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50126
50127 * util/i386/pc/grub-install.in (datadir): New variable.
50128 (libdir): Removed.
50129 (pkgdatadir): New variable.
50130 (pkglibdir): Removed.
50131
0d5f8a54 501322005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50133
50134 * DISTLIST: Added util/i386/pc/grub-install.in.
50135
50136 * util/i386/pc/grub-install.in: New file.
50137
50138 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50139 (grub_install_SOURCES): Likewise.
50140
50141 * genmk.rb: Added support for scripts.
50142 (Script): New class.
50143 (scripts): New variable.
50144
50145 * Makefile.in (install-local): Install sbin_SCRIPTS by
50146 INSTALL_SCRIPT.
50147 (uninstall): Remove sbin_SCRIPTS.
50148
50149 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50150 device, try to get a GRUB device by
50151 grub_util_biosdisk_get_grub_dev.
50152 Free DEST_DEV.
50153
50154 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50155 description for --device-map.
50156
5f968e1e 501572005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50158
50159 Change the semantics of variable hooks. They now return strings
50160 instead of error values.
f19dbdb7 50161
5f968e1e 50162 * util/i386/pc/grub-setup.c: Include grub/env.h.
50163 (setup): Use grub_device_set_root instead of grub_env_set.
50164
50165 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50166 grub_env_get instead of grub_device_set_root and
50167 grub_device_get_root, respectively.
50168
50169 * kern/main.c (grub_env_write_root): New function.
50170 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50171 grub_env_set instead of grub_device_set_root.
50172
50173 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50174 many variables.
50175 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50176 rather than calling ENV->WRITE_HOOK afterwards.
50177 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50178 passing a pointer of a pointer.
50179 (grub_register_variable_hook): Change the types of "read_hook" and
50180 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50181 respectively.
50182 Allocate the default empty string on the heap, because this string
50183 may be freed later.
50184
50185 * kern/device.c: Include grub/env.h.
50186 (grub_device_set_root): Removed.
50187 (grub_device_get_root): Likewise.
50188 (grub_device_open): Use grub_env_get instead of
50189 grub_device_get_root.
50190
50191 * include/grub/env.h (grub_env_read_hook_t): New type.
50192 (grub_env_write_hook_t): Likewise.
50193 (grub_env_var): Change the types of "read_hook" and "write_hook"
50194 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50195 (grub_register_variable_hook): Likewise.
50196
50197 * include/grub/device.h (grub_device_set_root): Removed.
50198 (grub_device_set_root): Likewise.
50199
50200 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50201 make sure that DIRNAME terminates with '/', so that
50202 grub_fat_find_dir will fail if PATH is not a directory.
50203
50204 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50205 from DIRNAME.
50206 Use the qualifier auto for print_files and print_files_long.
50207 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50208 as a regular file.
50209 Put a newline only if there is no error.
50210 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50211 used.
50212
896f0afd 502132005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50214
50215 * kern/partition.c (grub_partition_probe): Initialize PART to
50216 NULL. Otherwise, when no partition map is registered, this returns
50217 a garbage.
50218
b28b81b2 502192005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50220
50221 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50222 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50223 valid.
50224
5f3607e0 502252005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50226
50227 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50228 information on each device, if it does not have partitions. Print
50229 "Device" instead of "Disk", because this function is not specific
50230 to disk devices.
50231
50232 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50233 static to ensure that it is put on the memory rather than a
50234 register.
50235
502c87e8 502362005-07-17 Yoshinori Okuji <okuji@enbug.org>
50237
50238 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50239 (grub_cat_init): Likewise.
50240 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50241 (options): Likewise.
50242 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50243 (grub_configfile_init): Likewise.
50244 * font/manager.c (GRUB_MOD_INIT): Likewise.
50245 * commands/help.c (GRUB_MOD_INIT): Likewise.
50246 (grub_help_init): Likewise.
50247 * normal/command.c (grub_command_init): Likewise.
50248 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50249 * disk/loopback.c (grub_loop_init): Likewise.
50250 (GRUB_MOD_INIT): Likewise.
50251 * commands/ls.c (grub_ls_init): Likewise.
50252 (GRUB_MOD_INIT): Likewise.
50253 (options): Likewise.
50254 * commands/boot.c (grub_boot_init): Likewise.
50255 (GRUB_MOD_INIT): Likewise.
50256 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50257 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50258 (GRUB_MOD_INIT): Likewise.
50259 * commands/cmp.c (grub_cmp_init): Likewise.
50260 (GRUB_MOD_INIT): Likewise.
50261
50262 * normal/arg.c: Use <> instead of "" to include header files.
50263 (SHORT_ARG_HELP): New macro.
50264 (SHORT_ARG_USAGE): Likewise.
50265 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50266 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50267 descriptions.
50268 (find_short): Check if C is 'h' or 'u' explicitly.
50269 (grub_arg_show_help): Use space characters instead of tabs. Treat
50270 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50271 are shown with --help and --usage only if they are not used for
50272 the command itself.
50273 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50274 'h' and 'u'.
50275
50276 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50277 const into "longarg". Change the type of "shortarg" to int.
50278
f806d18e 502792005-07-17 Yoshinori Okuji <okuji@enbug.org>
50280
50281 * boot/i386/pc/boot.S (boot_drive_check): New label.
50282
50283 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50284 macro.
50285
50286 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50287 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50288
e293232b 502892005-07-17 Yoshinori Okuji <okuji@enbug.org>
50290
50291 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50292 When turning off Gate A20, skip the check and return immediately,
50293 because this is not fatal usually.
50294
ebedfd00 502952005-07-17 Yoshinori Okuji <okuji@enbug.org>
50296
50297 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50298 be 0x7C00 instead of 0x8000.
50299
50300 * boot/i386/pc/pxeboot.S: Rewritten.
50301
50302 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50303 EXT_C.
50304 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50305 result.
50306
654fc59f 503072005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50308
50309 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50310 robustness. This routine now supports a BIOS call and System
50311 Control Port A to modify the gate A20.
50312
50313 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50314 Increased to 0x440.
50315
09f9923f 503162005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50317
50318 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50319 device path and resulting ihandle.
50320 (grub_ofdisk_close): dprintf the ihandle being closed.
50321 (grub_ofdisk_read): dprintf function parameters.
50322 * kern/mm.c (grub_mm_init_region): Likewise.
50323 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50324 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50325 size, and boot arguments.
50326 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50327 before loading into memory.
50328 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50329 before loading into memory.
50330
7ef504d8 503312005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50332
50333 * kern/mm.c: Added much documentation.
50334 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50335 8, set to 5 instead of 8.
50336
e0f050c2 503372005-07-10 Yoshinori Okuji <okuji@enbug.org>
50338
50339 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50340
50341 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50342 (grub_mkdevicemap_SOURCES): New variable.
50343
50344 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50345 lib/device.c of GRUB Legacy.
50346
7224189a 503472005-07-10 Yoshinori Okuji <okuji@enbug.org>
50348
50349 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50350 instead of PATH is NULL.
50351
68c864eb 503522005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50353
50354 * commands/cmp.c (BUFFER_SIZE): New macro.
50355 (grub_cmd_cmp): Close the right file at the right time. Compare
50356 only data just read. Don't report files of different size as
50357 identical. Dynamically allocate buffers. Move variable
50358 declarations at the beginning of function.
50359
e6f3e614 503602005-07-09 Yoshinori Okuji <okuji@enbug.org>
50361
50362 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50363 reverse.
50364
f8f1559a 503652004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50366
50367 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50368 when backspace is pressed at beginning of line.
50369
39c9d41d 503702005-07-03 Yoshinori Okuji <okuji@enbug.org>
50371
50372 * DISTLIST: Added genfslist.sh.
50373
50374 * normal/main.c (fs_module_list): New variable.
50375 (autoload_fs_module): New function.
50376 (read_fs_list): Likewise.
50377 (grub_normal_execute): Call read_fs_list.
50378
50379 * kern/fs.c (grub_fs_autoload_hook): New variable.
50380 (grub_fs_probe): Added support for auto-loading.
50381
50382 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50383 (grub_fs_module_list_t): New type.
50384
50385 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50386 (grub_fs_autoload_hook): New prototype.
50387
50388 * genfslist.sh: New file.
f19dbdb7 50389
39c9d41d 50390 * genmk.rb: Added a rule to generate a filesystem list.
50391
121c1d83 503922005-06-30 Marco Gerards <metgerards@student.han.nl>
50393
50394 * configure.ac: Fix the test for cross-compiling.
50395
50396 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50397 define GRUB_UTIL anymore.
50398
50399 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50400 so this function works on other systems than just big endian.
50401 (load_modules): Likewise.
50402 (add_segments): Likewise.
50403
e75d76e1 504042005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50405
50406 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50407 contains `l' modifier, get a long from va_arg().
50408
50b5a0a7 504092005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50410
50411 * kern/mm.c (grub_free): If the next free block which is being
50412 merged is the first free block, set the first block to the block
50413 being freed.
50414 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50415
89371b20 504162005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50417
50418 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50419 `grub_ieee1275_chosen'.
50420
168d6e58 504212005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50422
50423 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50424 (grub_ieee1275_chosen): New variable.
50425 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50426 `chosen'.
50427 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50428 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50429 Rename first argument to `phandle' for consistency.
50430 (grub_ieee1275_get_property_length): Likewise.
50431 (grub_ieee1275_next_property): Likewise. Change type of first argument
50432 to grub_ieee1275_phandle_t.
50433 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50434 Move export next to declaration.
50435 (grub_ieee1275_chosen): New variable.
50436 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50437 Correct cosmetic typo.
50438 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50439 `grub_ieee1275_chosen'.
50440 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50441 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50442 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50443 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50444 `grub_ieee1275_chosen'.
50445
ca5baa3f 504462005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50447
50448 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50449 /chosen/bootargs.
50450 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50451 /chosen/bootargs as "variable=value" pairs.
50452
708b345f 504532005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50454
50455 * include/grub/misc.h (grub_dprintf): New macro.
50456 (grub_real_dprintf): New prototype.
50457 (grub_strword): Likewise.
50458 (grub_iswordseparator): Likewise.
50459 * kern/misc.c (grub_real_dprintf): New function.
50460 (grub_strword): Likewise.
50461 (grub_iswordseparator): Likewise.
50462
f4c5e67c 504632005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50464
50465 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50466 (roundup): Remove macro.
50467 (grub_ieee1275_flags): Make static.
50468 (grub_ieee1275_realmode): Remove.
50469 (grub_ieee1275_test_flag): New function.
50470 (grub_ieee1275_set_flag): Likewise.
50471 (find_options): Rename to `grub_ieee1275_find_options'; update
50472 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50473 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50474 (cmain): New prototype.
50475 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50476 `grub_ieee1275_flags' directly.
50477 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50478 machine/biosdisk.h.
50479 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50480 Don't include grub/machine/init.h.
50481 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50482 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50483 Remove prototype.
50484 (grub_ieee1275_realmode): Likewise.
50485 (grub_ieee1275_flag): New enum.
50486 (grub_ieee1275_test_flag): New prototype.
50487 (grub_ieee1275_set_flag): New prototype.
50488 * include/grub/powerpc/ieee1275/init.h: Remove file.
50489 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50490 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50491 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50492 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50493 comment.
50494 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50495 `grub_ieee1275_test_flag'.
50496 (grub_ieee1275_encode_devname): Likewise.
50497
ed16607e 504982005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50499
50500 * include/grub/powerpc/ieee1275/ieee1275.h
50501 (grub_ieee1275_encode_devname): New prototype.
50502 (grub_ieee1275_get_filename): Likewise.
50503 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50504 function.
50505 (grub_set_prefix): Likewise.
50506 (grub_machine_init): Call grub_set_prefix.
50507 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50508 (grub_parse_type): New enum.
50509 (grub_ieee1275_get_devargs): New function.
50510 (grub_ieee1275_get_devname): Likewise.
50511 (grub_ieee1275_parse_args): Likewise.
50512 (grub_ieee1275_get_filename): Likewise.
50513 (grub_ieee1275_encode_devname): Likewise.
50514
be369920 505152005-03-30 Marco Gerards <metgerards@student.han.nl>
50516
50517 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50518 `grub_loader_unset'.
50519
a5ce3a4a 505202005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50521
50522 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50523 instead of grub_ieee1275_interpret.
50524 (grub_halt_init): New function.
50525 (grub_halt_fini): Likewise.
50526 (GRUB_MOD_INIT): Correct message grammar.
50527 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50528 instead of grub_ieee1275_interpret.
50529 (grub_reboot_init): New function.
50530 (grub_reboot_fini): Likewise.
50531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50532 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50533 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50534 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50535 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50536 function.
50537 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50538 Add prototype.
50539 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50540 prototype.
50541 (grub_halt): Likewise.
50542 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50543 (cmain): Remove __attribute__((unused)).
50544 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50545 (grub_heap_len): Likewise.
50546 (grub_machine_fini): New function.
50547 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50548 (grub_halt): Likewise.
50549 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50550 function.
50551 * util/powerpc/ieee1275/misc.c: New file.
50552
0058f771 505532005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50554
50555 * DISTLIST: New file.
50556 * gendistlist.sh: Likewise.
f19dbdb7 50557
0058f771 50558 * Makefile.in (COMMON_DISTFILES): Removed.
50559 (BOOT_DISTFILES): Likewise.
50560 (CONF_DISTFILES): Likewise.
50561 (DISK_DISTFILES): Likewise.
50562 (FS_DISTFILES): Likewise.
50563 (INCLUDE_DISTFILES): Likewise.
50564 (KERN_DISTFILES): Likewise.
50565 (LOADER_DISTFILES): Likewise.
50566 (TERM_DISTFILES): Likewise.
50567 (UTIL_DISTFILES): Likewise.
50568 (DISTFILES): Likewise.
50569 (uninstall): Uninstall files in $(pkgdata_DATA).
50570 (DISTLIST): New target.
50571 (distdir): Use the contents of the file DISTLIST to get a list of
50572 distributed files.
50573
46b3b8a5 505742005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50575
50576 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50577 descriptor. This is ported from GRUB Legacy.
50578
50579 * gencmdlist.sh: Added an extra semicolon to make it work with
50580 old sed versions. Reported by Robert Bihlmeyer
50581 <robbe@orcus.priv.at>.
50582
5822ff87 505832005-03-08 Yoshinori Okuji <okuji@enbug.org>
50584
50585 Automatic loading of commands is supported.
f19dbdb7 50586
5822ff87 50587 * normal/main.c (read_command_list): New function.
50588 (grub_normal_execute): Call read_command_list.
50589
50590 * normal/command.c (grub_register_command): Return zero or CMD.
50591 Allocate CMD->NAME from the heap.
50592 Initialize CMD->MODULE_NAME to zero.
50593 Find the same name as well. If the same command is found and it is
50594 a dummy command, overwrite members. If it is not a dummy command,
50595 return zero.
50596 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50597 (grub_command_find): If a dummy command is found, load a module
50598 and retry to find a command only once.
50599
50600 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50601 make sure that each command is loaded.
50602
50603 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50604 macro.
50605 (struct grub_command): Remove const from the member `name'.
50606 Add a new member `module_name'.
50607 (grub_register_command): Return grub_command_t.
50608
50609 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50610 sure that each command is loaded.
50611
50612 * genmk.rb (PModule::rule): Specify a module name without the
50613 suffix ".mod" to gencmdlist.sh.
50614
7b1f4b57 506152005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50616
50617 * gencmdlist.sh: New file.
f19dbdb7 50618
7b1f4b57 50619 * genmk.rb (PModule::rule): Generate a rule for a command list.
50620 Clean command.lst.
50621 Generate command.lst from $(COMMANDFILES).
50622
50623 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50624 (DATA): Added $(pkgdata_DATA).
50625 (install-local): Install files in $(pkgdata_DATA).
50626
062aaf39 506272005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50628
50629 * term/i386/pc/vga.c (debug_command): Removed.
50630 (GRUB_MOD_INIT): Do not register the command "debug".
50631
50632 From Hollis Blanchard:
50633 * commands/configfile.c: New file.
50634 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50635 commands/configfile.c.
50636 (pkgdata_MODULES): Added configfile.mod.
50637 (configfile_mod_SOURCES): New variable.
50638 (configfile_mod_CFLAGS): Likewise.
50639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50640 commands/configfile.c.
50641 (pkgdata_MODULES): Added configfile.mod.
50642 (configfile_mod_SOURCES): New variable.
50643 (configfile_mod_CFLAGS): Likewise.
50644 * util/grub-emu.c (main): Call grub_configfile_init and
50645 grub_configfile_fini.
50646 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50647 prototype.
50648 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 50649
cee01aa6 506502005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50651
50652 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50653 address.
50654
50655 * commands/help.c (grub_cmd_help): Do not print newlines after
50656 the last command in print_command_help.
50657
93f3a1d8 506582005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50659
50660 * commands/default.h: New file.
50661 * commands/timeout.h: Likewise.
50662 * normal/context.c: Likewise.
f19dbdb7 50663
93f3a1d8 50664 * util/misc.c: Do not include sys/times.h.
50665 Include sys/time.h and grub/machine/time.h.
50666 (grub_get_rtc): Rewritten with gettimeofday.
50667
50668 * util/grub-emu.c (main): Call grub_default_init and
50669 grub_timeout_init before grub_normal_init, and call
50670 grub_timeout_fini and grub_default_fini after grub_main.
50671
50672 * util/console.c (grub_ncurses_checkkey): Return the read
50673 character or -1.
50674
50675 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50676 timeouts.
50677
50678 * normal/main.c (read_config_file): Push MENU. If this fails,
50679 print an error and wait for a user input.
50680 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50681 If a menu is empty or an error occurs, pop MENU.
50682 (grub_normal_execute): Pop and free MENU after grub_menu_run
50683 returns.
50684
50685 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50686
50687 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50688 include time.h.
50689 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50690 without GRUB_UTIL.
50691 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
50692 time.h.
50693 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50694 without GRUB_UTIL.
50695
50696 * include/grub/normal.h (struct grub_menu_list): New struct.
50697 (grub_menu_list_t): New type.
50698 (struct grub_context): New struct.
50699 (grub_context_t): New type.
50700 (grub_register_command): Got rid of EXPORT_FUNC.
50701 (grub_unregister_command): Likewise.
50702 (grub_context_get): New prototype.
50703 (grub_context_get_current_menu): Likewise.
50704 (grub_context_push_menu): Likewise.
50705 (grub_context_pop_menu): Likewise.
50706 [GRUB_UTIL] (grub_default_init): Likewise.
50707 [GRUB_UTIL] (grub_default_fini): Likewise.
50708 [GRUB_UTIL] (grub_timeout_init): Likewise.
50709 [GRUB_UTIL] (grub_timeout_fini): Likewise.
50710
50711 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
50712 commands/timeout.c and normal/context.c.
50713 (pkgdata_MODULES): Added default.mod and timeout.mod.
50714 (normal_mod_SOURCES): Added normal/context.c.
50715 (default_mod_SOURCES): New variable.
50716 (default_mod_CFLAGS): Likewise.
50717 (timeout_mod_SOURCES): Likewise.
50718 (timeout_mod_CFLAGS): Likewise.
50719 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
50720 conf/i386-pc.rmk.
50721 (pkgdata_MODULES): Added default.mod and timeout.mod.
50722 (normal_mod_SOURCES): Added normal/context.c.
50723 (default_mod_SOURCES): New variable.
50724 (default_mod_CFLAGS): Likewise.
50725 (timeout_mod_SOURCES): Likewise.
50726 (timeout_mod_CFLAGS): Likewise.
50727
50728 * Makefile.in (all-local): Added $(MKFILES).
50729
4ed2e1dd 507302005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
50731
50732 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
50733 (grub_emu_SOURCES): Likewise.
50734 (pkgdata_MODULES): Add `sun.mod'.
50735 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50737 `partmap/sun.c'.
50738 (pkgdata_MODULES): Add `sun.mod'.
50739 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50740 * include/grub/partition.h (grub_sun_partition_map_init): New
50741 prototype.
50742 (grub_sun_partition_map_fini): Likewise.
50743 * partmap/sun.c: New file.
50744 * util/grub-emu.c (main): Initialize and de-initialize the sun
50745 partitionmap support.
50746
4d4e372e 507472005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
50748
50749 This implements an Emacs-like menu entry editor.
f19dbdb7 50750
4d4e372e 50751 * normal/menu_entry.c: New file.
f19dbdb7 50752
4d4e372e 50753 * util/console.c (grub_ncurses_putchar): Translate some Unicode
50754 characters to ASCII.
50755 (saved_char): New variable.
50756 (grub_ncurses_checkkey): Rewritten completely.
50757 (grub_ncurses_getkey): Likewise.
50758 (grub_ncurses_init): Call raw instead of cbreak.
50759
50760 * normal/menu.c (print_entry): Do not put a space.
50761 (init_page): Renamed to ...
50762 (grub_menu_init_page): ... this. All callers changed.
50763 (edit_menu_entry): Removed.
50764 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
50765
50766 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
50767
50768 * kern/misc.c (grub_vprintf): Call grub_refresh.
50769
50770 * normal/menu.c (DISP_LEFT): Renamed to ...
50771 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
50772 * normal/menu.c (DISP_UP): Renamed to ...
50773 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
50774 * normal/menu.c (DISP_RIGHT): Renamed to ...
50775 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
50776 * normal/menu.c (DISP_DOWN): Renamed to ...
50777 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
50778 * normal/menu.c (DISP_HLINE): Renamed to ...
50779 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
50780 * normal/menu.c (DISP_VLINE): Renamed to ...
50781 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
50782 * normal/menu.c (DISP_UL): Renamed to ...
50783 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
50784 * normal/menu.c (DISP_UR): Renamed to ...
50785 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
50786 * normal/menu.c (DISP_LL): Renamed to ...
50787 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
50788 * normal/menu.c (DISP_LR): Renamed to ...
50789 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
50790 * normal/menu.c (TERM_WIDTH): Renamed to ...
50791 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
50792 * normal/menu.c (TERM_HEIGHT): Renamed to ...
50793 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
50794 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
50795 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
50796 * normal/menu.c (TERM_MARGIN): Renamed to ...
50797 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
50798 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
50799 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
50800 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
50801 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
50802 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
50803 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
50804 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
50805 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
50806 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
50807 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
50808 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
50809 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
50810 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
50811 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
50812 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
50813 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
50814 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
50815 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
50816 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
50817 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
50818 All callers changed.
50819
50820 * include/grub/normal.h: New prototype.
50821
50822 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50823 normal/menu_entry.c.
50824 (normal_mod_SOURCES): Likewise.
50825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50826 (normal_mod_SOURCES): Likewise.
50827
e6b92c8a 508282005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
50829
50830 * include/grub/normal.h (grub_halt_init): New prototype.
50831 (grub_halt_fini): Likewise.
50832 (grub_reboot_init): Likewise.
50833 (grub_reboot_fini): Likewise.
50834
50835 * util/grub-emu.c: Include signal.h.
50836 (main_env): New global variable.
50837 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
50838 catch C-c.
50839 (grub_machine_fini): New function.
50840 (main): Call grub_halt_init and grub_reboot_init before
50841 grub_main, and grub_reboot_fini and grub_halt_fini after it.
50842 Call setjmp with MAIN_ENV to go back afterwards.
50843 Call grub_machine_fini right before return.
50844
50845 * include/grub/util/misc.h: Include setjmp.h.
50846 (main_env): New prototype.
50847
50848 * include/grub/kernel.h (grub_machine_fini): New prototype.
50849 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
50850 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
50851
50852 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
50853 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
50854 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 50855
e6b92c8a 50856 * util/i386/pc/misc.c: New file.
f19dbdb7 50857
e6b92c8a 50858 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50859 util/i386/pc/misc.c, commands/i386/pc/halt.c and
50860 commands/i386/pc/reboot.c.
50861
c642636f 508622005-02-14 Guillem Jover <guillem@hadrons.org>
50863
50864 * include/grub/dl.h (grub_dl_check_header): New prototype.
50865 (grub_arch_dl_check_header): Change return type to grub_err_t,
50866 remove size parameter and export function. Update all callers.
50867 * kern/dl.c (grub_dl_check_header): New function.
50868 (grub_dl_load_core): Use `grub_dl_check_header' instead of
50869 `grub_arch_dl_check_header'. Check ELF type. Check if sections
50870 are inside the core.
50871 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
50872 independent ELF header checks.
50873 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
50874 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
50875 `grub_dl_check_header' instead of explicit checks. Check for the
50876 ELF type.
50877 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
50878 `grub_dl_check_header' instead of explicit checks. Remove arch
50879 specific ELF header checks.
50880
e6b92c8a 50881 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
50882 argument SIZE.
50883
5eabe94b 508842005-02-13 Hollis Blanchard <hollis@penguinppc.org>
50885
50886 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
50887 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
50888
1b14a681 508892005-02-12 Hollis Blanchard <hollis@penguinppc.org>
50890
50891 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 50892 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 50893 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 50894 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 50895 * partmap/amiga.c (amiga_partition_map_iterate): Return
50896 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
50897 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50898
aca108aa 508992005-02-01 Guillem Jover <guillem@hadrons.org>
50900
50901 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
50902 help info.
50903
c9f9c556 509042005-01-31 Marco Gerards <metgerards@student.han.nl>
50905
50906 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
50907 Removed prototype.
50908 (grub_rescue_cmd_linux): New prototype.
50909 (grub_rescue_cmd_initrd): Likewise.
50910 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
50911 `bi_rec'.
50912 (grub_linux_release_mem): Release the memory for the initrd.
50913 (grub_load_linux): Renamed from this...
50914 (grub_rescue_cmd_linux): ...To this. Changed all callers.
50915 Changed `entry' not to be static. Loop over memory regions to
50916 find another one when the default fails.
50917 (grub_rescue_cmd_initrd): New function.
50918 (grub_linux_init): Remove function.
50919 (grub_linux_fini): Likewise.
50920 (GRUB_MOD_INIT): Register `initrd'.
50921 (GRUB_MOD_FINI): Unregister `initrd'.
50922 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
50923 Function removed.
50924 (grub_linux_normal_fini): Likewise.
50925 (GRUB_MOD_INIT): Register `initrd'.
50926 (GRUB_MOD_FINI): Unregister `initrd'.
50927
990cf3aa 509282005-01-31 Marco Gerards <metgerards@student.han.nl>
50929
50930 * commands/help.c: New file.
50931 * normal/arg.c (show_help): Renamed to...
50932 (grub_arg_show_help): ... this.
50933 * commands/i386/pc/halt.c: New file.
50934 * commands/i386/pc/reboot.c: Likewise.
50935 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
50936 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
50937 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
50938 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
50939 variables.
50940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50941 `commands/help.c'.
50942 (pkgdata_MODULES): Add `help.mod'.
50943 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
50944 * grub/i386/pc/init.h (grub_reboot): New prototype.
50945 (grub_halt): Likewise.
50946 * include/grub/normal.h (grub_arg_show_help): New prototype.
50947 (grub_help_init): Likewise.
50948 (grub_help_fini): Likewise.
50949 * util/grub-emu.c (main): Initialize and deinitialize the help
50950 command.
50951
50952 * normal/cmdline.c (grub_cmdline_get): Doc fix.
50953
50954 * normal/command.c (grub_command_init): Fixed the description of
50955 the `set' and `unset' commands.
50956
509572005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 50958
50959 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
50960 function.
50961 * commands/ieee1275/halt.c: New file.
50962 * commands/ieee1275/reboot.c: Likewise.
50963 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
50964 `__attribute__ ((unused))'. Some GCS related fixed.
50965 (grub_suspend_init) [GRUB_UTIL]: Function removed.
50966 (grub_suspend_fini): Likewise.
50967 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
50968 and `halt.mod'.
50969 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
50970 (halt_mod_CFLAGS): New variables.
50971 * include/grub/powerpc/ieee1275/ieee1275.h
50972 (grub_ieee1275_interpret): New prototype.
50973
1ab09cc7 509742005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
50975
50976 * include/grub/misc.h (memmove): New prototype.
50977 (memcpy): Likewise.
50978
8b8cbdb2 509792005-01-22 Hollis Blanchard <hollis@penguinppc.org>
50980
50981 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
50982 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
50983
e3741a27 509842005-01-22 Marco Gerards <metgerards@student.han.nl>
50985
50986 * kern/misc.c (grub_strndup): Function rewritten.
50987
776bd780 509882005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
50989
50990 * normal/menu.c (TERM_WIDTH): Macro redefined.
50991 (TERM_TOP_BORDER_Y): Likewise.
50992 (draw_border): Replaced while-loop by a for-loop. Make the number
50993 of lines consistent with the number of lines displayed in
50994 print_entries. Added a margin below the rectangle.
50995 (print_entry): Make the entry fit in the rectangle.
50996 (print_entries): Display the scroll arrows next to the right
50997 border.
50998
78026bce 509992005-01-21 Marco Gerards <metgerards@student.han.nl>
51000
51001 * fs/minix.c (grub_minix_find_file): Reserve more space for
51002 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51003 `grub_strncpy' to copy `path' into it.
51004
67bbaf0f 510052005-01-21 Marco Gerards <metgerards@student.han.nl>
51006
51007 Add the loopback device, a device via which files can be accessed
51008 as devices.
f19dbdb7 51009
67bbaf0f 51010 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51011 (pkgdata_MODULES): Add loopback.mod.
51012 (loopback_mod_SOURCES): New variable.
51013 (loopback_mod_CFLAGS): Likewise.
51014 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51015 `disk/loopback.c'.
51016 (pkgdata_MODULES): Add loopback.mod.
51017 (loopback_mod_SOURCES): New variable.
51018 (loopback_mod_CFLAGS): Likewise.
51019 * disk/loopback.c: new file.
51020 * include/grub/normal.h (grub_loop_init): New prototype.
51021 (grub_loop_fini): New prototype.
51022 * util/grub-emu.c (main): Initialize and de-initialize loopback
51023 support.
51024 * include/grub/disk.h (grub_disk_dev_id): Add
51025 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51026
6f1c18bd 510272005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51028
51029 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51030 function.
51031 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51032 (suspend_mod_SOURCES): New variable.
51033 (suspend_mod_CFLAGS): Likewise.
51034 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51035 New prototype.
51036 * commands/ieee1275/suspend.c: New file.
51037
b38551da 510382005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51039
51040 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51041 ((unused))' to `__attribute__ ((used))'.
b38551da 51042 (GRUB_MOD_FINI): Likewise.
51043 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51044 * genmk.rb (PModule): Assign space to common symbols when linking
51045 modules.
51046
777aff39 510472005-01-20 Marco Gerards <metgerards@student.han.nl>
51048
51049 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51050 `unsigned' arguments to `grub_size_t'.
51051 (grub_malloc): Likewise.
51052 (grub_realloc): Likewise.
51053 (grub_memalign): Likewise.
51054 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51055 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51056 * util/misc.c (grub_malloc): Likewise.
51057 (grub_realloc): Likewise.
51058 * kern/mm.c (get_header_from_pointer): Change the casts to
51059 `unsigned' into a cast to `grub_size_t'.
51060
51061 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51062 point to `currnode' when `currnode' is changed.
51063
51064 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51065 Schottelius <nico-linux@schottelius.org>.
51066
d0ff18e1 510672005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51068
51069 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51070 (note_path): Remove variable.
51071 (GRUB_IEEE1275_NOTE_NAME): New macro.
51072 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51073 (grub_ieee1275_note_hdr): New structure.
51074 (grub_ieee1275_note_desc): Likewise.
51075 (grub_ieee1275_note): Likewise.
51076 (load_note): Remove `dir' argument. All callers updated. Remove
51077 `note_img' and `path'. Do not load a file from `note_path'.
51078 Initialize a struct grub_ieee1275_note and write that to `out'.
51079 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51080
4ca7004c 510812005-01-05 Marco Gerards <metgerards@student.han.nl>
51082
51083 * util/misc.c (grub_util_read_image): Revert last change. It
51084 called `grub_util_read_at', which seeks from the beginning of the
51085 file.
51086
0b412211 510872005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51088
51089 * TODO: Add note about endianness in grub-mkimage.
51090 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51091 section.
51092 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51093 (grub_mkimage_SOURCES): New target.
51094 * include/grub/kernel.h (grub_start_addr): Remove variable.
51095 (grub_end_addr): Likewise.
51096 (grub_total_module_size): Likewise.
51097 (grub_kernel_image_size): Likewise.
51098 (GRUB_MODULE_MAGIC): New constant.
51099 (grub_module_info): New structure.
51100 (grub_arch_modules_addr): New prototype.
51101 (grub_get_end_addr): Remove prototype.
51102 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51103 * include/grub/powerpc/ieee1275/kernel.h: New file.
51104 * include/grub/util/misc.h (grub_util_get_fp_size): New
51105 prototype.
51106 (grub_util_read_at): Likewise.
51107 (grub_util_write_image_at): Likewise.
51108 * kern/main.c (grub_get_end_addr): Remove function.
51109 (grub_load_modules): Call grub_arch_modules_addr instead of using
51110 grub_end_addr. Look for a grub_module_info struct in memory. Use
51111 the grub_module_info fields instead of calling grub_get_end_addr
51112 as loop conditions. Move grub_add_unused_region code here.
51113 (grub_add_unused_region): Remove function.
51114 * kern/i386/pc/init.c: Include grub/cache.h.
51115 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51116 one call to add_mem_region.
51117 (grub_arch_modules_addr): New function.
51118 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51119 (grub_total_module_size): Likewise.
51120 Include grub/machine/kernel.h.
51121 (grub_arch_modules_addr): New function.
51122 * util/grub-emu.c (grub_end_addr): Remove variable.
51123 (grub_total_module_size): Likewise.
51124 (grub_arch_modules_addr): New function.
51125 * util/misc.c: Include unistd.h.
51126 (grub_util_get_fp_size): New function.
51127 (grub_util_read_at): Likewise.
51128 (grub_util_write_image_at): Likewise.
51129 (grub_util_read_image): Call grub_util_read_at.
51130 (grub_util_write_image): Call grub_util_write_image_at.
51131 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51132 additional memory in kernel_img for a struct grub_module_info.
51133 Fill in that grub_module_info.
51134 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51135
458786f8 511362005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51137
51138 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51139 New function.
51140 * include/grub/powerpc/ieee1275/ieee1275.h
51141 (grub_ieee1275_milliseconds): New prototype.
51142 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51143 Change to 1000.
51144 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51145 grub_ieee1275_milliseconds.
51146
ac507d1b 511472005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51148
51149 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51150 variable.
51151 (find_options): New function.
51152 (cmain): Call find_options.
51153 * include/grub/powerpc/ieee1275/ieee1275.h
51154 (grub_ieee1275_realmode): New extern variable.
51155 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51156 grub_map if grub_ieee1275_realmode is false.
51157
6b8fd1c4 511582004-12-29 Marco Gerards <metgerards@student.han.nl>
51159
51160 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51161 lines are inserted and make it work like readline. Reported by
51162 Vincent Pelletier <subdino2004@yahoo.fr>.
51163
8514a1e0 511642004-12-28 Marco Gerards <metgerards@student.han.nl>
51165
51166 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51167
51168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51169 `kern/powerpc/cache.S'.
51170
924b6140 511712004-12-27 Marco Gerards <metgerards@student.han.nl>
51172
51173 * genmk.rb: Handle the `Program' class in the main loop. Written
51174 by Johan Rydberg <jrydberg@gnu.org>.
51175 (Program): New class.
51176 (programs): New variable.
51177 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51178 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51179 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51180 (help_arch): Function removed.
51181 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51182 `powerpc/libgcc.h' and `loader.h'.
51183 (pkgdata_PROGRAMS): New variable.
51184 (sbin_UTILITIES): Variable removed.
51185 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51186 (grubof_SOURCES): Variable re-defined so it only includes the
51187 core functionality.
51188 (grubof_CFLAGS): Remove `-DGRUBOF'.
51189 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51190 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51191 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51192 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51193 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51194 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51195 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51196 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51197 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51198 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51199 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51200 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51201 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51202 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51203 (pc_mod_CFLAGS): New variables.
51204 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51205 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51206 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51207 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51208 Moved from here...
51209 * include/grub/i386/pc/init.h (grub_os_area_addr)
51210 (rub_os_area_size): ... to here.
51211 * include/grub/powerpc/ieee1275/ieee1275.h
51212 (grub_ieee1275_entry_fn): Export symbol.
51213 * include/grub/powerpc/ieee1275/init.h: New file.
51214 * include/grub/powerpc/libgcc.h: Likewise.
51215 * include/grub/cache.h: Likewise.
51216 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51217 <hollis@penguinppc.org>.
51218 * kern/dl.c: Include <grub/cache.h>.
51219 (grub_dl_flush_cache): New function.
51220 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51221 for this module.
51222 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51223 (grub_console_init): Removed prototypes.
51224 (grub_machine_init): Don't initialize the modules anymore.
51225 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51226 static.
51227 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51228 Macro undef removed.
51229 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51230 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51231 relocation `R_PPC_REL32'. Return an error when the relocation is
51232 unknown.
51233 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51234 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51235 * util/misc.c (grub_arch_sync_caches): Likewise.
51236
e4b47e0c 512372004-12-19 Marco Gerards <metgerards@student.han.nl>
51238
51239 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51240 `symlist.c', add `grubof_symlist.c'.
51241 (symlist.c): Variable removed.
51242 (grubof_HEADERS): Variable added.
51243 (grubof_symlist.c): New target.
51244 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51245 `kernel_img_HEADERS'.
51246 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51247 * kern/powerpc/dl.c: New file.
51248 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51249 Function removed.
51250 (grub_arch_dl_relocate_symbols): Likewise.
51251 (grub_register_exported_symbols): Likewise.
51252
4ceb3636 512532004-12-13 Marco Gerards <metgerards@student.han.nl>
51254
51255 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51256 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51257 to fail instead. Reported by Vincent Pelletier
51258 <subdino2004@yahoo.fr>.
51259
51260 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51261 it is not allocated. Reported by Vincent Pelletier
51262 <subdino2004@yahoo.fr>.
51263
51264 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51265 output so the output looks better.
f19dbdb7 51266
3f1578fe 512672004-12-04 Marco Gerards <metgerards@student.han.nl>
51268
51269 Modulize the partition map support and add support for the amiga
51270 partition map.
f19dbdb7 51271
3f1578fe 51272 * commands/ls.c: Include <grub/partition.h> instead of
51273 <grub/machine/partition.h>.
51274 * kern/disk.c: Likewise.
51275 * kern/rescue.c: Likewise.
51276 * loader/i386/pc/chainloader.c: Likewise.
51277 * normal/cmdline.c: Likewise.
51278 * kern/powerpc/ieee1275/init.c: Likewise.
51279 (grub_machine_init): Call `grub_pc_partition_map_init',
51280 `grub_amiga_partition_map_init' and
51281 `grub_apple_partition_map_init'.
51282 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51283 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51284 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51285 `partition.h' and `pc_partition.h'.
51286 (grub_setup_SOURCES): Remove
51287 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51288 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51289 (grub_emu_SOURCES): Likewise.
51290 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51291 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51292 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51294 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51295 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51296 (grubof_SOURCES): Likewise.
51297 * disk/i386/pc/partition.c: File removed.
51298 * disk/powerpc/ieee1275/partition.c: Likewise.
51299 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51300 * include/grub/i386/pc/partition.h: Likewise.
51301 * kern/partition.c: New file.
51302 * partmap/amiga.c: Likewise.
51303 * partmap/apple.c: Likewise.
51304 * partmap/pc.c: Likewise.
51305 * include/grub/partition.h: Likewise..
51306 * include/grub/pc_partition.h: Likewise.
51307 * util/grub-emu.c: Include <grub/partition.h> instead of
51308 <grub/machine/partition.h>.
51309 (main): Call `grub_pc_partition_map_init',
51310 `grub_amiga_partition_map_init' and
51311 `grub_apple_partition_map_init' and deinitialize afterwards.
51312 * util/i386/pc/biosdisk.c: Include `#include
51313 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51314 `<grub/machine/partition.h>'.
51315 * util/i386/pc/grub-setup.c: Likewise.
51316 * util/i386/pc/biosdisk.c: Likewise.
51317 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51318 partition information in case of a PC partition.
51319 * util/i386/pc/grub-setup.c: Include `#include
51320 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51321 `<grub/machine/partition.h>'.
51322 (setup): Only access the PC specific partition information in case
51323 of a PC partition.
51324
0ef4ced9 513252004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51326
0ef4ced9 51327 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51328 (grub_longjmp): Likewise.
51329 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51330 20.
51331 * normal/powerpc/setjmp.S: New file.
51332 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51333 `normal/powerpc/setjmp.S'.
51334 (grubof_CFLAGS): Add `-DGRUBOF'.
51335 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51336 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51337
19950e29 513382004-11-16 Marco Gerards <metgerards@student.han.nl>
51339
51340 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51341 property named `name'. Correctly handle the error returned by
51342 `grub_ieee1275_finddevice' if a device can not be opened.
51343
a2fea427 513442004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51345
51346 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51347 `actual' for negativity.
51348 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51349 kern/fshelp.c.
51350
41ea0ea3 513512004-11-01 Marco Gerards <metgerards@student.han.nl>
51352
51353 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51354 (PAGE_OFFSET): New macro.
51355 (CRTC_ADDR_PORT): Likewise.
51356 (CRTC_DATA_PORT): Likewise.
51357 (START_ADDR_HIGH_REGISTER): Likewise.
51358 (START_ADDR_LOW_REGISTER): Likewise.
51359 (GRAPHICS_ADDR_PORT): Likewise.
51360 (GRAPHICS_DATA_PORT): Likewise.
51361 (READ_MAP_REGISTER): Likewise.
51362 (INPUT_STATUS1_REGISTER): Likewise.
51363 (INPUT_STATUS1_VERTR_BIT): Likewise.
51364 (page): New variable.
51365 (wait_vretrace): New function.
51366 (set_read_map): Likewise.
51367 (set_start_address): Likewise.
51368 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51369 the right page.
51370 (check_vga_mem): Take the page into account.
51371 (write_char): Likewise.
51372 (write_cursor): Likewise.
51373 (scroll_up): Likewise. Copy the page to the page that is not
51374 shown and switch between both pages.
51375 (grub_vga_putchar): Fix off by one error.
51376 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51377 account.
51378
ad0bd20b 513792004-11-01 Marco Gerards <metgerards@student.han.nl>
51380
51381 Add support for iso9660 (including rockridge).
f19dbdb7 51382
ad0bd20b 51383 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51384 (iso9660_mod_SOURCES): New variable.
51385 (iso9660_mod_CFLAGS): Likewise.
51386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51387 * include/grub/fs.h (grub_iso9660_init): New prototype.
51388 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51389 * fs/iso9660.c: New file.
51390
51391 * include/grub/misc.h (grub_strncat): New prototype.
51392 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51393
ad0bd20b 51394 * fs/hfs.c (grub_hfs_mount): Translate the error
51395 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51396 * fs/jfs.c (grub_jfs_mount): Likewise.
51397 * fs/ufs.c (grub_ufs_mount): Likewise.
51398
a5477a59 513992004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51400
51401 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51402 which initialized BAT registers.
51403 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51404 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51405 Move from here...
51406 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51407 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51408 ... to here.
51409 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51410 (grub_mapclaim): Likewise.
51411 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51412 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51413 hand.
51414
9304c1f8 514152004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51416
51417 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51418 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51419 -ffreestanding and -msoft-float.
51420
86f4ae25 514212004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51422
51423 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51424 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51425 set in grub_ieee1275_flags.
51426
38912228 514272004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51428
51429 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51430 prototype.
51431 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51432 grub_console_init first.
51433 Change the memory range used for grub_ieee1275_claim and
51434 grub_mm_init_region.
51435 Print an error message if the claim fails.
51436 Include <grub/misc.h>.
51437
d1923dc8 514382004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51439
51440 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51441 Call grub_children_iterate for device nodes of type `scsi',
51442 `ide', or `ata'.
51443 (grub_ofdisk_open): Remove manual device alias resolution.
51444 Fix memory leak when device cannot be opened.
f19dbdb7 51445 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51446 (grub_children_iterate): New prototype.
51447 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51448 New function.
51449 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51450 Return -1 if args.size was -1.
51451
4512e4f3 514522004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51453
51454 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51455 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51456 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51457 Open Firmware's memory for it; claim memory from _start to _end.
51458 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51459 (_end): New extern.
51460 (_start): Zero BSS from __bss_start to _end.
51461 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51462 New extern.
51463 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51464
4d61feb0 514652004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51466
ad0bd20b 51467 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51468 -1 if args.base was -1.
4d61feb0 51469
026fa2f9 514702004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51471
51472 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51473 escape sequence instead of a literal ^L. Also call
51474 grub_ofconsole_gotoxy.
51475
9f2220ef 514762004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51477
51478 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51479 void * arguments to grub_addr_t. All callers updated. Also make
51480 the `result' argument optional.
51481 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51482 All callers updated.
51483
8a572cd7 514842004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51485
51486 * commands/ls.c (grub_ls_list_files): Use the string following the
51487 initial ')', if present, as the filesystem path.
51488 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51489
51490 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51491
18aa81f2 514922004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51493
51494 Make the source code of the menu interface more readable.
f19dbdb7 51495
18aa81f2 51496 * normal/menu.c: Include grub/mm.h.
51497 (TERM_WIDTH): New macro.
51498 (TERM_HEIGHT): Likewise.
51499 (TERM_INFO_HEIGHT): Likewise.
51500 (TERM_MARGIN): Likewise.
51501 (TERM_SCROLL_WIDTH): Likewise.
51502 (TERM_TOP_BORDER_Y): Likewise.
51503 (TERM_LEFT_BORDER_X): Likewise.
51504 (TERM_BORDER_WIDTH): Likewise.
51505 (TERM_MESSAGE_HEIGHT): Likewise.
51506 (TERM_BORDER_HEIGHT): Likewise.
51507 (TERM_NUM_ENTRIES): Likewise.
51508 (TERM_FIRST_ENTRY_Y): Likewise.
51509 (TERM_ENTRY_WIDTH): Likewise.
51510 (TERM_CURSOR_X): Likewise.
51511 (draw_border): Use macros instead of magic numbers.
51512 (print_entry): Likewise.
51513 (print_entries): Likewise.
51514 (run_menu): Likewise. Also, handle the key 'e'.
51515 (run_menu_entry): Ignore empty command lines.
51516 (print_message): Added a new argument EDIT. If EDIT is true,
51517 print a different message.
51518 (init_page): Likewise.
51519 (edit_menu_entry): New function. Not implemented yet.
51520
b47efe30 515212004-09-17 Marco Gerards <metgerards@student.han.nl>
51522
51523 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51524 can be loaded from normal mode.
f19dbdb7 51525
b47efe30 51526 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51527 `multiboot.mod'.
51528 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51529 (multiboot_mod_CFLAGS): New variables.
51530 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51531 * loader/i386/pc/multiboot_normal.c: Likewise.
51532
b47efe30 51533 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51534 attribute `unused'.
f19dbdb7 51535
b47efe30 51536 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51537 `fdiro' to read the mode information from instead of `diro'.
51538
51539 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51540 looking up a symlink.
51541
51542 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51543 macro.
51544 * normal/command.c (grub_command_execute): Don't parse the
51545 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51546 flags of the command.
51547
51548 * normal/menu.c (grub_menu_run): Fix typo.
51549
da75ac71 515502004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51551
51552 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51553
51554 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51555 `y + 1' instead of `y - 1'.
51556
51557 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 51558
062b24c2 515592004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51560
51561 From Hollis Blanchard <hollis@penguinppc.org>:
51562 * kern/misc.c (memmove): New alias for grub_memmove.
51563 (memcmp): New alias for grub_memcmp.
51564 (memset): New alias for grub_memset.
f19dbdb7 51565 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 51566 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 51567 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 51568 (grub_ieee1275_get_property): Likewise.
f19dbdb7 51569
8ddad845 515702004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51571
51572 Added normal mode command `chainloader' as module chain.mod, which
51573 depends on normal.mod and _chain.mod.
f19dbdb7 51574
8ddad845 51575 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51576 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51577 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51578 Deleted prototype.
51579 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51580 but arguments parsing moved to ...
51581 (grub_chainloader_cmd): ... here. New function.
51582 * include/grub/i386/pc/chainloader.h: New file.
51583 * loader/i386/pc/chainloader_normal.c: Likewise.
51584
2c1f4ce3 515852004-09-11 Marco Gerards <metgerards@student.han.nl>
51586
51587 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51588 (grub_mkimage_LDFLAGS): Likewise.
51589 (grub_emu_SOURCES): Likewise.
51590 (kernel_img_HEADERS): Added fshelp.h.
51591 * fs/ext2.c: Include <grub/fshelp.h>.
51592 (FILETYPE_REG): New macro.
51593 (FILETYPE_INO_REG): Likewise.
51594 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51595 Changed all users.
51596 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51597 all users.
51598 (grub_fshelp_node): New struct.
51599 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51600 to a pointer.
51601 (grub_ext2_get_file_block): Removed function.
51602 (grub_ext2_read_block): New function.
51603 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51604 This function was written.
51605 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51606 (grub_ext2_find_file): Removed function.
51607 (grub_ext2_read_symlink): New function.
51608 (grub_ext2_iterate_dir): Likewise.
51609 (grub_ext2_open): Rewritten.
51610 (grub_ext2_dir): Rewritten.
51611 * include/grub/fshelp.h: New file.
51612 * fs/fshelp.c: Likewise.
51613
3c52136a 516142004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51615
51616 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51617 (print_message): Add a missing newline.
51618 (run_menu): Added timeout support.
51619 (run_menu_entry): New local function.
51620 (grub_menu_run): Added support for booting.
51621
51622 * kern/loader.c (grub_loader_is_loaded): New function.
51623
51624 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51625 (grub_get_rtc): Exported.
51626
51627 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51628 (grub_get_rtc): Exported.
51629
51630 * include/grub/normal.h (struct grub_command_list): Remove
51631 constant from the member `command'.
51632
51633 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51634
51635 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51636
51637 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51638
aa033560 516392004-08-28 Marco Gerards <metgerards@student.han.nl>
51640
51641 Add support for the JFS filesystem.
51642
51643 * fs/jfs.c: New file.
51644 * include/grub/fs.h (grub_jfs_init): New prototype.
51645 (grub_jfs_fini): New prototype.
51646 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51647 (grub_emu_SOURCES): Likewise.
51648 (pkgdata_MODULES): Add jfs.mod.
51649 (jfs_mod_SOURCES): New variable.
51650 (jfs_mod_CFLAGS): Likewise.
51651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51652 (grubof_SOURCES): Likewise.
51653 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51654
51655 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51656 endian to the host endian.
51657 (grub_fat_utf16_to_utf8): Move function from there...
51658 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 51659 the endianness of the source string anymore.
aa033560 51660 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51661
94bc45af 516622004-08-24 Marco Gerards <metgerards@student.han.nl>
51663
51664 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51665 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51666 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51667 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 51668
94bc45af 51669 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51670 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51671 for `node_found' and `it_dir'.
51672 (grub_hfs_dir): Add prototype for `dir_hook'.
51673
51674 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51675 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51676 and `indir32' to silence a gcc warning.
51677
51678 * include/grub/fs.h (grub_hfs_init): New prototype.
51679 (grub_hfs_fini): Likewise.
f19dbdb7 51680
51681
97543f08 516822004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51683
51684 Each disk device has its own id now. This is useful to make use
51685 of multiple disk devices.
f19dbdb7 51686
97543f08 51687 * include/grub/disk.h (grub_disk_dev_id): New enum.
51688 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51689 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51690
51691 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
51692 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51693
51694 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
51695 GRUB_DISK_DEVICE_OFDISK_ID as an id.
51696
51697 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
51698 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51699
51700 * include/grub/disk.h (struct grub_disk_dev): Added a new member
51701 "id" which is used by the cache manager.
51702
51703 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
51704 of just "GRUB".
51705
64372eb4 517062004-08-18 Marco Gerards <metgerards@student.han.nl>
51707
51708 * fs/hfs.c: New file.
51709 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
51710 (grub_emu_SOURCES): Likewise.
51711 (pkgdata_MODULES): Add hfs.mod.
51712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
51713 (grubof_SOURCES): Likewise.
51714 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
51715
51716 * include/grub/misc.h (grub_strncasecmp): Add prototype.
51717 * kern/misc.c (grub_strncasecmp): Add function.
51718
cc61b58f 517192004-08-14 Marco Gerards <metgerards@student.han.nl>
51720
51721 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
51722 with parentheses.
51723
51724 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
51725 (grub_ext2_dir): In case the directory entry type is unknown, read
51726 it from the inode.
51727
0ef123f6 517282004-08-02 Peter Bruin <pjbruin@dds.nl>
51729
51730 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
51731 grub_load_linux instead of grub_rescue_cmd_linux as second
51732 argument of grub_rescue_register_command.
51733
51734 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
51735
a447c5df 517362004-07-27 Marco Gerards <metgerards@student.han.nl>
51737
51738 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
51739 function.
51740 * commands/boot.c: Remove the check for `GRUB_UTIL'.
51741 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51742 `loader/powerpc/ieee1275/linux.c',
51743 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
51744 * include/grub/powerpc/ieee1275/ieee1275.h
51745 (grub_ieee1275_release): New prototype.
51746 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
51747 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
51748 normal, boot, linux and linux_normal.
51749 * loader/powerpc/ieee1275/linux.c: New file.
51750 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
51751
5a9e3546 517522004-07-12 Marco Gerards <metgerards@student.han.nl>
51753
51754 * normal/arg.c (grub_arg_parse): Correct error handling after
51755 reallocating the argumentlist (check if `argl' is not null instead
51756 of checking if `args' is not null).
51757 * kern/mm.c (grub_realloc): Return the same pointer when using the
51758 same region, instead of returning the header address.
51759
e15199cb 517602004-07-11 Marco Gerards <metgerards@student.han.nl>
51761
51762 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
51763 one block instead of two when looking for the initial partition.
51764 (grub_partition_probe): Initialize the local variable `p' with 0.
51765 Use base 10 for the grub_strtoul call.
51766 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
51767 need for one local variable.
51768 (grub_strtoul): Don't add the new value to `num', instead of that
51769 just assign it.
51770
020616c2 517712004-07-11 Marco Gerards <metgerards@student.han.nl>
51772
51773 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
51774 (pxeboot_img_SOURCES): New variable.
51775 (pxeboot_img_ASFLAGS): Likewise.
51776 (pxeboot_img_LDFLAGS): Likewise.
51777 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
51778 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
51779 <lode_leroy@hotmail.com>.
51780
6c51eb64 517812004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51782
51783 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
51784 there was no input.
51785
cfb12aff 517862004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51787
51788 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
51789 the history buffer logic.
51790
6eabba74 517912004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51792
51793 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
51794 (FILETYPE_INO_SYMLINK): New macros.
51795 (grub_ext2_find_file): Check if the node is a directory using the
51796 inode stat information instead of using the filetype in the
51797 dirent. Exclude the first character of an absolute symlink.
51798 (grub_ext2_dir): Mask out the filetype part of the mode member of
51799 the inode.
51800
66e19ef8 518012004-05-24 Marco Gerards <metgerards@student.han.nl>
51802
51803 Add support for UFS version 1 and 2. Add support for the minix
51804 filesystem version 1 and 2, both the variants with 14 and 30 long
51805 filenames.
f19dbdb7 51806
66e19ef8 51807 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
51808 fs/minix.c.
51809 (grub_emu_SOURCES): Likewise.
51810 (pkgdata_MODULES): Add ufs.mod and minix.mod.
51811 (ufs_mod_SOURCES): New variable.
51812 (ufs_mod_CFLAGS): Likewise.
51813 (minix_mod_SOURCES): Likewise.
51814 (minix_mod_CFLAGS): Likewise.
51815 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
51816 fs/minix.c.
51817 (grubof_SOURCES): Likewise.
51818 * fs/ufs.c: New file.
51819 * fs/minix.c: New file.
51820 * include/grub/fs.h (grub_ufs_init): New prototype.
51821 (grub_ufs_fini): Likewise.
51822 (grub_minix_init): Likewise.
51823 (grub_minix_fini): Likewise.
51824 * util/grub-emu.c (main): Initialize and deinitialize UFS and
51825 minix fs.
51826
cc2e748a 518272004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
51828
51829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
51830 commands/ls.c, commands/terminal.c, commands/boot.c,
51831 commands/cmp.c and commands/cat.c.
51832 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
51833
51834 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
51835 "env.h"
51836
4b13b216 518372004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51838
51839 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
51840 and grub_, respectively. Because the conversion is trivial and
51841 mechanical, I omit the details here. Please refer to the CVS
51842 if you need more information.
51843
6a142551 518442004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
51845
51846 * include/pupa: Renamed to ...
51847 * include/grub: ... this.
51848 * util/i386/pc/pupa-mkimage.c: Renamed to ...
51849 * util/i386/pc/grub-mkimage.c: ... this.
51850 * util/i386/pc/pupa-setup.c: Renamed to ...
51851 * util/i386/pc/grub-setup.c: ... this.
51852 * util/pupa-emu.c: Renamed to ...
51853 * util/grub-emu.c: ... this.
51854
e56cdf21 518552004-03-29 Marco Gerards <metgerards@student.han.nl>
51856
51857 Add support for the newworld apple macintosh (PPC). This has been
51858 tested on the powerbook 2000 only. It only adds support for
51859 generic ieee1275 functions, console and disk support. This should
51860 be easy to port to other architectures with support for Open
51861 Firmware.
f19dbdb7 51862
e56cdf21 51863 * configure.ac: Accept the powerpc as host_cpu. In the case of
51864 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
51865 specific tests are only executed while building for the i386.
51866 Inverse test for crosscompile.
51867 * genmk.rb (Utility): Allow assembler files.
51868 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
51869 * conf/powerpc-ieee1275.rmk: New file.
51870 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
51871 * disk/powerpc/ieee1275/partition.c: Likewise.
51872 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
51873 * include/pupa/powerpc/ieee1275/console.h: Likewise.
51874 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
51875 * include/pupa/powerpc/ieee1275/time.h: Likewise.
51876 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
51877 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
51878 * include/pupa/powerpc/ieee1275/loader.h
51879 * include/pupa/powerpc/setjmp.h: Likewise.
51880 * include/pupa/powerpc/types.h: Likewise.
51881 * kern/powerpc/ieee1275/init.c: Likewise.
51882 * kern/powerpc/ieee1275/openfw.c: Likewise.
51883 * term/powerpc/ieee1275/ofconsole.c: Likewise.
51884
51885 These files were written by Johan Rydberg
51886 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 51887
e56cdf21 51888 * boot/powerpc/ieee1275/cmain.c: New file.
51889 * boot/powerpc/ieee1275/crt0.S: Likewise.
51890 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
51891 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
51892
8c8cc205 518932004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
51894
51895 * Makefile.in: Update copyright.
51896 * genmodsrc.sh: Likewise.
51897 * gensymlist.sh: Likewise.
51898 * term/i386/pc/vga.c: Indent correctly.
51899
51900 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
51901 bugreporting address.
51902 * util/i386/pc/pupa-setup.c (usage): Likewise,
51903 (main): Call pupa_ext2_init and pupa_ext2_fini.
51904
f19dbdb7 51905 * fs/fat.c (log2): Renamed to ...
8c8cc205 51906 (fat_log2): ... this.
51907 All callers changed.
51908 * kern/misc.c (memcpy): Alias to pupa_memmove.
51909 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
51910 lvalue cast.
51911 * util/console.c (pupa_ncurses_fini): Return 0.
51912
51913 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
51914 Move fail label here.
51915 [__GNU__]: Don't warn when using stat.
51916 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
51917 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
51918 long int. Use strtol instead of strtoul.
f19dbdb7 51919
db1771cf 519202004-03-14 Marco Gerards <metgerards@student.han.nl>
51921
51922 * commands/boot.c: New file.
51923 * commands/cat.c: Likewise.
51924 * commands/cmp.c: Likewise.
51925 * commands/ls.c: Likewise.
51926 * commands/terminal.c: Likewise.
51927 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
51928 (pupa_register_command): Changed interface to match the new
51929 argument parser.
51930 (pupa_command_execute): Changed (almost rewritten) so it uses
51931 pupa_split_command. Added support for setting variables using the
51932 syntax `foo=bar'.
51933 (rescue_command): Changed to work with the new argument parser.
51934 (terminal_command): Moved from here to commands/terminal.c.
51935 (set_command): New function.
51936 (unset_command): New function.
51937 (insmod_command): New function.
51938 (rmmod_command): New function.
51939 (lsmod_command): New function.
51940 (pupa_command_init): Don't initialize the command terminal
51941 anymore. Initialize the commands set, unset, insmod, rmmod and
51942 lsmod.
51943 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
51944 (kernel_img_HEADERS): Add arg.h and env.h.
51945 (pupa_mkimage_LDFLAGS): Add kern/env.c.
51946 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
51947 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
51948 normal/arg.c.
51949 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
51950 terminal.mod.
51951 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
51952 (boot_mod_SOURCES): New variable.
51953 (terminal_mod_SOURCES): Likewise.
51954 (ls_mod_SOURCES): Likewise.
51955 (cmp_mod_SOURCES): Likewise.
51956 (cat_mod_SOURCES): Likewise.
51957
51958 * normal/arg.c: New file.
51959 * kern/env.c: Likewise.
51960 * include/pupa/arg.h: Likewise.
51961 * include/pupa/env.h: Likewise.
51962 * font/manager.c (font_command): Changed to match argument parsing
51963 interface changes.
51964 (PUPA_MOD_INIT): Likewise.
51965 * hello/hello.c (pupa_cmd_hello): Likewise.
51966 (PUPA_MOD_INIT): Likewise.
51967 * include/pupa/disk.h: Include <pupa/device.h>.
51968 (pupa_print_partinfo): New prototype.
51969 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
51970 (pupa_dl_get_prefix): Likewise.
51971 * include/pupa/misc.h: Include <pupa/err.h>.
51972 (pupa_isgraph): New prototype.
51973 (pupa_isdigit): Likewise.
51974 (pupa_split_cmdline): Likewise.
51975 * include/pupa/normal.h: Include <pupa/arg.h>.
51976 (pupa_command): Changed the prototype of the member `func' to
51977 match the argument parsing interface. Added member `options'.
51978 (pupa_register_command): Updated to match function.
51979 (pupa_arg_parse): New prototype.
51980 (pupa_hello_init) [PUPA_UTIL]: New prototype.
51981 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
51982 (pupa_ls_init) [PUPA_UTIL]: Likewise.
51983 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
51984 (pupa_cat_init) [PUPA_UTIL]: Likewise.
51985 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
51986 (pupa_boot_init) [PUPA_UTIL]: Likewise.
51987 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
51988 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
51989 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
51990 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
51991 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
51992 * kern/disk.c: Include <pupa/file.h>.
51993 (pupa_print_partinfo): New function.
51994 * kern/dl.c: Include <pupa/env.h>.
51995 (pupa_dl_dir): Variable removed.
51996 (pupa_dl_load): Use the environment variable `prefix' instead of
51997 the variable pupa_dl_dir.
51998 (pupa_dl_set_prefix): Function removed.
51999 (pupa_dl_get_prefix): Likewise.
52000 * kern/i386/pc/init.c: Include <pupa/env.h>.
52001 (pupa_machine_init): Use the environment variable `prefix' instead of
52002 using pupa_dl_set_prefix to set the prefix.
52003 * kern/main.c: Include <pupa/env.h>.
52004 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52005 using pupa_dl_get_prefix to get the prefix.
52006 * kern/misc.c: Include <pupa/env.h>.
52007 (pupa_isdigit): New function.
52008 (pupa_isgraph): Likewise.
52009 (pupa_ftoa): Likewise.
52010 (pupa_vsprintf): Added support for printing values of the type
52011 `double'. Make it possible to format variable output when using
52012 formatting like `%1.2%f'.
52013 (pupa_split_cmdline): New function.
52014 * kern/rescue.c: Include <pupa/env.h>.
52015 (next_word): Removed function.
52016 (pupa_rescue_cmd_prefix): Likewise.
52017 (pupa_rescue_cmd_set): New function.
52018 (pupa_rescue_cmd_unset): New function.
52019 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52020 split the command line instead of splitting it here. Added
52021 support for setting variables using the syntax `foo=bar'. Don't
52022 initialize the prefix command anymore. Initialized the set and
52023 unset commands.
52024 * normal/cmdline.c: Include <pupa/env.h>.
52025 (pupa_tab_complete): Added prototypes for print_simple_completion,
52026 print_partition_completion, add_completion, iterate_commands,
52027 iterate_dev, iterate_part and iterate_dir. Moved code to print
52028 partition information from here to kern/disk.c.
fe6b695a 52029 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52030 * normal/main.c: Include <pupa/env.h>.
52031 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52032 instead of using pupa_dl_get_prefix to get the prefix.
52033 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52034 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52035 warning.
52036 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52037 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52038 ((unused))' to silence a gcc warning.
52039 (pupa_vga_setcolor): Likewise.
52040 (debug_command): Changed to match argument parsing
52041 interface changes.
52042 * util/pupa-emu.c: Include <pupa/env.h>.
52043 (options): Added 0's for unused fields to silence a gcc warning.
52044 (argp): Likewise.
52045 (main): Use the environment variable `prefix' instead of using
52046 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52047 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52048 and terminal.
52049
52050 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52051 * util/misc.c: Include <malloc.h>.
52052 (pupa_malloc): Rewritten so errors are correctly reported.
52053 (pupa_realloc): Likewise.
52054 (pupa_memalign): Likewise.
52055 (pupa_mm_init_region): Declare unused variables with
52056 `__attribute__ ((unused))' to silence a gcc warning.
52057 * normal/i386/setjmp.S: Remove tab at the end of the file to
52058 silence a gcc warning.
52059 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52060 variables with `__attribute__ ((unused))' to silence a gcc
52061 warning.
52062 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52063 local variable i unsigned to silence a gcc warning.
52064
52065 * kern/term.c: Include <pupa/misc.h>.
52066 (pupa_more_lines): New variable.
52067 (pupa_more): Likewise.
52068 (pupa_putcode): When the pager is active pause at the end of every
52069 screen.
52070 (pupa_set_more): New function.
52071 * include/pupa/term.h (pupa_set_more): New prototype.
52072
52073
3b1139cb 520742004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52075
52076 Now this project is GRUB 2 rather than PUPA. The location of
52077 the CVS repository was moved to GRUB's.
f19dbdb7 52078
3b1139cb 52079 * configure.ac: Use bug-grub as the reporting address.
52080 Use GRUB instead of PUPA.
52081 Change the version number to 1.90.
52082
8367695c 520832004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52084
52085 * genkernsyms.sh: Updated copyright information.
52086 * genmk.rb: Likewise.
52087 * genmodsrc.sh: Likewise.
52088 * gensymlist.sh: Likewise.
52089 * boot/i386/pc/boot.S: Likewise.
52090 * boot/i386/pc/diskboot.S: Likewise.
52091 * disk/i386/pc/biosdisk.c: Likewise.
52092 * disk/i386/pc/partition.c: Likewise.
52093 * font/manager.c: Likewise.
52094 * fs/ext2.c: Likewise.
52095 * fs/fat.c: Likewise.
52096 * include/pupa/boot.h: Likewise.
52097 * include/pupa/device.h: Likewise.
52098 * include/pupa/disk.h: Likewise.
52099 * include/pupa/dl.h: Likewise.
52100 * include/pupa/elf.h: Likewise.
52101 * include/pupa/err.h: Likewise.
52102 * include/pupa/file.h: Likewise.
52103 * include/pupa/font.h: Likewise.
52104 * include/pupa/fs.h: Likewise.
52105 * include/pupa/kernel.h: Likewise.
52106 * include/pupa/loader.h: Likewise.
52107 * include/pupa/misc.h: Likewise.
52108 * include/pupa/mm.h: Likewise.
52109 * include/pupa/net.h: Likewise.
52110 * include/pupa/normal.h: Likewise.
52111 * include/pupa/rescue.h: Likewise.
52112 * include/pupa/setjmp.h: Likewise.
52113 * include/pupa/symbol.h: Likewise.
52114 * include/pupa/term.h: Likewise.
52115 * include/pupa/types.h: Likewise.
52116 * include/pupa/i386/setjmp.h: Likewise.
52117 * include/pupa/i386/types.h: Likewise.
52118 * include/pupa/i386/pc/biosdisk.h: Likewise.
52119 * include/pupa/i386/pc/boot.h: Likewise.
52120 * include/pupa/i386/pc/console.h: Likewise.
52121 * include/pupa/i386/pc/init.h: Likewise.
52122 * include/pupa/i386/pc/kernel.h: Likewise.
52123 * include/pupa/i386/pc/linux.h: Likewise.
52124 * include/pupa/i386/pc/loader.h: Likewise.
52125 * include/pupa/i386/pc/memory.h: Likewise.
52126 * include/pupa/i386/pc/multiboot.h: Likewise.
52127 * include/pupa/i386/pc/partition.h: Likewise.
52128 * include/pupa/i386/pc/time.h: Likewise.
52129 * include/pupa/i386/pc/vga.h: Likewise.
52130 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52131 * include/pupa/util/getroot.h: Likewise.
52132 * include/pupa/util/misc.h: Likewise.
52133 * include/pupa/util/resolve.h: Likewise.
52134 * kern/device.c: Likewise.
52135 * kern/disk.c: Likewise.
52136 * kern/dl.c: Likewise.
52137 * kern/err.c: Likewise.
52138 * kern/file.c: Likewise.
52139 * kern/fs.c: Likewise.
52140 * kern/loader.c: Likewise.
52141 * kern/main.c: Likewise.
52142 * kern/misc.c: Likewise.
52143 * kern/mm.c: Likewise.
52144 * kern/rescue.c: Likewise.
52145 * kern/term.c: Likewise.
52146 * kern/i386/dl.c: Likewise.
52147 * kern/i386/pc/init.c: Likewise.
52148 * kern/i386/pc/lzo1x.S: Likewise.
52149 * kern/i386/pc/startup.S: Likewise.
52150 * loader/i386/pc/chainloader.c: Likewise.
52151 * loader/i386/pc/linux.c: Likewise.
52152 * loader/i386/pc/multiboot.c: Likewise.
52153 * normal/cmdline.c: Likewise.
52154 * normal/command.c: Likewise.
52155 * normal/main.c: Likewise.
52156 * normal/menu.c: Likewise.
52157 * normal/i386/setjmp.S: Likewise.
52158 * term/i386/pc/console.c: Likewise.
52159 * term/i386/pc/vga.c: Likewise.
52160 * util/console.c: Likewise.
52161 * util/genmoddep.c: Likewise.
52162 * util/misc.c: Likewise.
52163 * util/pupa-emu.c: Likewise.
52164 * util/resolve.c: Likewise.
52165 * util/unifont2pff.rb: Likewise.
52166 * util/i386/pc/biosdisk.c: Likewise.
52167 * util/i386/pc/getroot.c: Likewise.
52168 * util/i386/pc/pupa-mkimage.c: Likewise.
52169 * util/i386/pc/pupa-setup.c: Likewise.
52170
e6eced71 521712004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52172
52173 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52174 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52175 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52176 reading and reset it after reading.
52177 (pupa_ext2_close): Return PUPA_ERR_NONE.
52178
52179 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52180 Correct value.
52181 (struct linux_kernel_header): Add kernel_version and
52182 initrd_addr_max.
52183 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52184 pupa_file_read succeeds.
52185 (pupa_rescue_cmd_initrd): Implement.
52186
5aded270 521872003-12-03 Marco Gerards <metgerards@student.han.nl>
52188
52189 * fs/ext2.c (pupa_ext2_label): New function.
52190 (pupa_ext2_fs): Added label.
52191 * fs/fat.c (pupa_fat_label): New function.
52192 (pupa_fat_fs): Added label.
52193 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52194
52195 * kern/misc.c (pupa_strndup): New function.
52196 * include/pupa/misc.h (pupa_strndup): New prototype.
52197
52198 * include/pupa/normal.h: Include <pupa/err.h>.
52199 (pupa_set_history): New prototype.
52200 (pupa_iterate_commands): New prototype.
52201 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52202 <pupa/disk.h>, <pupa/file.h>.
52203 (hist_size): New variable.
52204 (hist_lines): Likewise.
52205 (hist_end): Likewise.
52206 (hist_used): Likewise.
52207 (pupa_set_history): New function.
52208 (pupa_history_get): Likewise.
52209 (pupa_history_add): Likewise.
52210 (pupa_history_replace): Likewise.
52211 (pupa_tab_complete): Likewise.
52212 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52213 completion shows partitionnames while completing partitions, this
52214 feature was suggested by Jeff Bailey.
52215 * normal/command.c (pupa_iterate_commands): New function.
52216 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52217 (pupa_normal_init): Initialize history buffer.
52218 (PUPA_MOD_INIT): Likewise.
52219 (pupa_normal_fini): Free the history buffer.
52220 (PUPA_MOD_FINI): Likewise.
52221
52222 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52223 key.
52224
52225 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52226 * configure.ac [i386]: Check for regparam bug.
52227 (NESTED_FUNC_ATTR) [! i386]: Defined.
52228
1f7315a3 522292003-11-17 Marco Gerards <metgerards@student.han.nl>
52230
52231 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52232 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52233 (pupa_emu_SOURCES): New variable.
52234 (pupa_emu_LDFLAGS): Likewise.
52235 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52236 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52237 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52238 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52239 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52240 (pupa_jmp_buf): New typedef.
52241 (pupa_setjmp) [PUPA_UTIL]: New macro.
52242 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52243 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52244 (pupa_refresh): New prototype.
52245 * include/pupa/util/getroot.h: New file.
52246 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52247 it.
52248 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52249 (pupa_rescue_cmd_cat): Likewise.
52250 (pupa_rescue_cmd_ls): Likewise.
52251 (pupa_rescue_cmd_testload): Likewise.
52252 (pupa_rescue_cmd_lsmod): Likewise.
52253 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52254 * normal/menu.c (run_menu): Likewise.
52255 * kern/term.c (pupa_cls): Likewise.
52256 (pupa_refresh): New function.
52257 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52258 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52259 * util/console.c: New file.
f19dbdb7 52260
1f7315a3 52261 * util/i386/pc/getroot.c: New file.
52262 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52263 (pupa_putchar): New function.
52264 (pupa_refresh): Likewise.
52265 (xgetcwd): Function moved to ...
52266 (strip_extra_slashes): Likewise.
52267 (get_prefix): Likewise.
f19dbdb7 52268 * util/i386/pc/getroot.c: ... here.
1f7315a3 52269 (find_root_device): Function moved and renamed to...
52270 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52271 Changed all callers.
52272 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52273 and renamed to...
52274 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52275 Changed all callers.
52276 * util/misc.c (pupa_memalign): New function.
52277 (pupa_mm_init_region): Likewise.
52278 (pupa_register_exported_symbols): Likewise.
52279 (pupa_putchar): Function removed.
52280 * util/pupa-emu.c: New file.
52281
9a5c1ade 522822003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52283
52284 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52285 (_multiboot_mod_SOURCES): New variable.
52286 (_multiboot_mod_CFLAGS): Likewise.
52287 * loader/i386/pc/multiboot.c: New file.
52288 * include/pupa/i386/pc/multiboot.h: Likewise.
52289 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52290 (pupa_multiboot_real_boot): New function.
52291 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52292 (pupa_multiboot_real_boot): New prototype.
52293 (pupa_rescue_cmd_multiboot): Likewise
52294 (pupa_rescue_cmd_module): Likewise.
52295
52296 * kern/loader.c (pupa_loader_set): Continue when
52297 pupa_loader_unload_func() fails.
52298 (pupa_loader_unset): New function.
52299 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52300
52301 * kern/misc.c (pupa_stpcpy): New function.
52302 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52303
8e72a9c0 523042003-11-12 Marco Gerards <metgerards@student.han.nl>
52305
52306 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52307 for available extensions.
52308
52309 * include/pupa/i386/pc/time.h: New file.
52310 * kern/disk.c: Include <pupa/machine/time.h>.
52311 (PUPA_CACHE_TIMEOUT): New macro.
52312 (pupa_last_time): New variable.
52313 (pupa_disk_open): Flush the cache when there was a timeout.
52314 (pupa_disk_close): Reset the timer.
52315 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52316 pupa_currticks.
52317 * util/misc.c: Include <sys/times.h>
52318 (pupa_get_rtc): New function.
52319
c4adbd32 523202003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52321
52322 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52323 as blocks.
52324 (pupa_ext2_get_file_block): Use blocks member.
52325
52326 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52327 first block. Return -1 instead of pupa_errno on error.
52328
bfd30f06 523292003-10-27 Marco Gerards <metgerards@student.han.nl>
52330
52331 * README: In the pupa-mkimage example use _chain instead of chain
52332 and ext2 instead of fat.
52333 * TODO: Replace ext2fs with jfs as an example. Add an item for
52334 adding journal playback for ext2fs.
52335 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52336 (pkgdata_MODULES): Added ext2.mod.
52337 (ext2_mod_SOURCES): New variable.
52338 (ext2_mod_CFLAGS): Likewise.
52339 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52340 * include/pupa/misc.h (pupa_strncpy): New prototype.
52341 (pupa_strcat): Likewise.
52342 (pupa_strncmp): Likewise.
52343 * kern/misc.c (pupa_strcat): Enable function.
52344 (pupa_strncpy): New function.
52345 (pupa_strncmp): Likewise.
52346 * fs/ext2.c: New file.
f19dbdb7 52347
bfd30f06 52348 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52349 when the read failed before retrying.
52350 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52351 (_FILE_OFFSET_BITS): Likewise.
52352 * configure.ac: Added AC_SYS_LARGEFILE.
52353
98d15063 523542003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52355
52356 * genmk.rb (PModule#rule): Make sure to get only symbol names
52357 from the output of nm.
59cad637 52358 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52359
18d9c7cd 523602003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52361
52362 I forgot to check in these changes for a long time. This adds
52363 incomplete support for VGA console, and this is still very
52364 buggy. Also, a lot of consideration is required for I18N,
52365 UNICODE, and VGA font issues. Therefore, assume that this is
52366 such that "better than nothing".
f19dbdb7 52367
18d9c7cd 52368 * font/manager.c: New file.
52369 * include/pupa/font.h: Likewise.
52370 * include/pupa/i386/pc/vga.h: Likewise.
52371 * term/i386/pc/vga.c: Likewise.
52372 * util/unifont2pff.rb: Likewise.
52373
52374 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52375 (pkgdata_MODULES): Added vga.mod and font.mod.
52376 (vga_mod_SOURCES): New variables.
52377 (vga_mod_CFLAGS): Likewise.
52378 (font_mod_SOURCES): Likewise.
52379 (font_mod_CFLAGS): Likewise.
52380
52381 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52382
52383 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52384 (struct pupa_term): Added init and fini.
18d9c7cd 52385 Changed the argument of putchar to pupa_uint32_t.
52386
52387 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52388 (pupa_console_real_putchar): New prototype.
52389 (pupa_console_putchar): Removed.
52390 (pupa_console_checkkey): Exported.
52391 (pupa_console_getkey): Likewise.
52392
52393 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52394 characters.
52395
52396 * kern/term.c (pupa_term_set_current): Rewritten.
52397 (pupa_putchar): Likewise.
52398 (pupa_putcode): New function.
52399
52400 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52401 (pupa_console_real_putchar): ... this.
52402 (pupa_vga_set_mode): New function.
52403 (pupa_vga_get_font): Likewise.
52404
52405 * normal/command.c: Include pupa/term.h.
52406 (terminal_command): New function.
52407 (pupa_command_init): Register the command "terminal".
52408
52409 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52410 (DISP_UP): Likewise.
52411 (DISP_RIGHT): Likewise.
52412 (DISP_DOWN): Likewise.
52413 (DISP_HLINE): Likewise.
52414 (DISP_VLINE): Likewise.
52415 (DISP_UL): Likewise.
52416 (DISP_UR): Likewise.
52417 (DISP_LL): Likewise.
52418 (DISP_LR): Likewise.
52419
52420 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52421
977329f5 524222003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52423
52424 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52425 FIX. Reverse the path_list.
52426
52427 * include/pupa/normal.h: Export pupa_register_command and
52428 pupa_unregister_command.
52429
52430 * hello/hello.c (pupa_cmd_hello): New module.
52431 * conf/i386-pc.rmk: Added hello.mod.
52432
1f5ab428 524332003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52434
52435 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52436
1f5ab428 52437 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52438 (compress_kernel): New variable.
52439 (generate_image): Heavily modified to support compressing a
52440 large part of the core image.
52441
52442 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52443 leak.
52444 (pupa_util_load_image): New function.
52445
52446 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52447 (pupa_compressed_size): New variable.
52448 (codestart): Enable Gate A20 here.
52449 Decompress the compressed part of the core image.
52450 Rearrange the code to put functions and variables which are
52451 required for initialization in the non-compressed part.
52452 Include lzo1x.S.
52453
52454 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52455 here.
52456
52457 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52458
f19dbdb7 52459 * include/pupa/i386/pc/kernel.h
1f5ab428 52460 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52461 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52462 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52463 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52464 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52465
52466 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52467
52468 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52469 (Utility#rule): Likewise.
52470
52471 * configure.ac: Check if LZO is available.
52472
ce5bf700 524732003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52474
52475 * include/pupa/normal.h: New file.
52476 * include/pupa/setjmp.h: Likewise.
52477 * include/pupa/i386/setjmp.h: Likewise.
52478 * normal/cmdline.c: Likewise.
52479 * normal/command.c: Likewise.
52480 * normal/main.c: Likewise.
52481 * normal/menu.c: Likewise.
52482 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52483
ce5bf700 52484 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52485 (pupa_rescue_cmd_initrd): Likewise.
52486
52487 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52488 Likewise.
52489
52490 * kern/i386/pc/startup.S (translation_table): New variable.
52491 (translate_keycode): New function.
52492 (pupa_console_getkey): Call translate_keycode.
52493
52494 * kern/rescue.c (attempt_normal_mode): New function.
52495 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52496 it failed, print a message.
52497
52498 * kern/mm.c (pupa_real_malloc): Print more information when a
52499 free magic is broken.
52500 (pupa_free): If the first free header is not free actually, set
52501 it to P.
52502
52503 * kern/main.c (pupa_load_normal_mode): Just load the module
52504 "normal".
52505 (pupa_main): Don't print the message
52506 "Entering into rescue mode..." here.
52507
52508 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52509 Declared.
52510 (pupa_rescue_cmd_initrd): Likewise.
52511 (pupa_rescue_cmd_initrd): Likewise.
52512
52513 * include/pupa/symbol.h (FUNCTION): Specify the type.
52514 (VARIABLE): Likewise.
52515
52516 * include/pupa/err.h (pupa_err_t): Added
52517 PUPA_ERR_UNKNOWN_COMMAND.
52518
52519 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52520 (pupa_dl_get_prefix): Likewise.
52521
52522 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52523 Added _chain.mod and _linux.mod instead of chain.mod and
52524 linux.mod.
52525 (chain_mod_SOURCES): Renamed to ...
52526 (_chain_mod_SOURCES): ... this.
52527 (chain_mod_CFLAGS): Renamed to ...
52528 (_chain_mod_CFLAGS): ... this.
52529 (linux_mod_SOURCES): Renamed to ...
52530 (_linux_mod_SOURCES): ... this.
52531 (linux_mod_CFLAGS): Renamed to ...
52532 (_linux_mod_CFLAGS): ... this.
52533 (normal_mod_SOURCES): New variable.
52534 (normal_mod_CFLAGS): Likewise.
52535 (normal_mod_ASFLAGS): Likewise.
52536
525372003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52538
52539 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52540 possible.
52541
fe6b695a 52542 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52543 recursively.
52544 (pupa_dl_unref): Unrefer depending modules recursively.
52545 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52546 a module is unloaded before one depending on that module is
52547 unloaded.
52548 (pupa_dl_unload): Unload depending modules explicitly,
52549 if possible.
52550
c04da074 525512003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52552
52553 * include/pupa/i386/pc/linux.h: New file.
52554 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 52555
c04da074 52556 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52557 Removed.
52558 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52559 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52560 of PUPA_CHAINLOADER_BOOT_SECTOR.
52561
52562 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52563 (pupa_linux_prot_size): New variable.
52564 (pupa_linux_tmp_addr): Likewise.
52565 (pupa_linux_real_addr): Likewise.
52566 (pupa_linux_boot_zimage): New function.
52567 (pupa_linux_boot_bzimage): Likewise.
52568
52569 * kern/i386/pc/init.c (struct mem_region): New structure.
52570 (MAX_REGIONS): New macro.
52571 (mem_regions): New variable.
52572 (num_regions): Likewise.
52573 (pupa_os_area_addr): Likewise.
52574 (pupa_os_area_size): Likewise.
52575 (pupa_lower_mem): Likewise.
52576 (pupa_upper_mem): Likewise.
52577 (add_mem_region): New function.
52578 (compact_mem_regions): Likewise.
52579 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52580 the size of the conventional memory and that of so-called upper
52581 memory (before the first memory hole).
52582 Instead of adding each found region to free memory, use
52583 add_mem_region and add them after removing overlaps.
52584 Also, add only 1/4 of the upper memory to free memory. The rest
52585 is used for loading OS images. Maybe this is ad hoc, but this
52586 makes it much easier to relocate OS images when booting.
52587
52588 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52589 (pupa_enter_rescue_mode): Don't register initrd and module.
52590
52591 * kern/mm.c: Include pupa/dl.h.
52592
52593 * kern/main.c: Include pupa/file.h and pupa/device.h.
52594
52595 * kern/loader.c (pupa_loader_load_module_func): Removed.
52596 (pupa_loader_load_module): Likewise.
52597
52598 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52599 ``.o''.
52600
52601 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52602 (pupa_linux_tmp_addr): Likewise.
52603 (pupa_linux_real_addr): Likewise.
52604 (pupa_linux_boot_zimage): Likewise.
52605 (pupa_linux_boot_bzimage): Likewise.
52606
52607 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52608 (pupa_upper_mem): Likewise.
52609 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52610 module is too dangerous.
52611
52612 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52613 (pupa_os_area_size): Likewise.
52614 (pupa_loader_set): Remove the first argument. Loader doesn't
52615 manage modules or initrd any longer.
52616 (pupa_loader_load_module): Removed.
52617
52618 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52619 (linux_mod_SOURCES): New variable.
52620 (linux_mod_CFLAGS): Likewise.
52621
a13f9237 526222003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52623
52624 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52625 the length of a blocklist correctly.
52626
52627 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52628 Use ioctl only if the OS file is a block device.
52629 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52630 not very useful for normal files.
52631
52632 * kern/main.c (pupa_set_root_dev): New function.
52633 (pupa_load_normal_mode): Likewise.
52634 (pupa_main): Call those above.
52635
52636 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52637 pupa_uint16_t.
52638
52639 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52640
a5ffe966 526412003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52642
52643 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52644 (setup): Configure the installed partition information and the
52645 dl prefix.
52646
52647 * loader/i386/pc/chainloader.c (my_mod): New variable.
52648 (pupa_chainloader_unload): New function.
52649 (pupa_rescue_cmd_chainloader): Refer itself.
52650 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52651
52652 * kern/i386/pc/startup.S (install_partition): Removed.
52653 (version_string): Likewise.
52654 (config_file): Likewise.
52655 (pupa_install_dos_part): New variable.
52656 (pupa_install_bsd_part): Likewise.
52657 (pupa_prefix): Likewise.
52658 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52659
52660 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52661 and pupa/misc.h.
52662 (make_install_device): New function.
52663 (pupa_machine_init): Set the dl prefix.
52664
52665 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52666 (buf): Renamed to ...
52667 (linebuf): ... this.
52668 (pupa_rescue_cmd_prefix): New function.
52669 (pupa_rescue_cmd_insmod): Likewise.
52670 (pupa_rescue_cmd_rmmod): Likewise.
52671 (pupa_rescue_cmd_lsmod): Likewise.
52672 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52673 rmmod and lsmod.
52674
52675 * kern/mm.c (pupa_memalign): If failed even after invalidating
52676 disk caches, unload unneeded modules and retry.
52677
52678 * kern/misc.c (pupa_memmove): New function.
52679 (pupa_memcpy): Removed.
52680 (pupa_strcpy): New function.
52681 (pupa_itoa): Made static.
52682
52683 * kern/dl.c (pupa_dl_iterate): New function.
52684 (pupa_dl_ref): Likewise.
52685 (pupa_dl_unref): Likewise.
52686 (pupa_dl_unload): Return if succeeded or not.
52687 (pupa_dl_unload_unneeded): New function.
52688 (pupa_dl_unload_all): Likewise.
52689 (pupa_dl_init): Renamed to ...
52690 (pupa_dl_set_prefix): ... this.
52691 (pupa_dl_get_prefix): New function.
52692
52693 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
52694 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
52695 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52696 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52697 (pupa_install_dos_part): Declared.
52698 (pupa_install_bsd_part): Likewise.
52699 (pupa_prefix): Likewise.
52700 (pupa_boot_drive): Likewise.
52701
52702 * include/pupa/types.h: Fix a typo.
52703
52704 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
52705 pupa_memmove.
52706 (pupa_memmove): Declared.
52707 (pupa_strcpy): Likewise.
52708
52709 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
52710 pupa_mod_init takes one argument, its own module.
52711 (pupa_dl_unload_unneeded): Declared.
52712 (pupa_dl_unload_all): Likewise.
52713 (pupa_dl_ref): Likewise.
52714 (pupa_dl_unref): Likewise.
52715 (pupa_dl_iterate): Likewise.
52716 (pupa_dl_init): Renamed to ...
52717 (pupa_dl_set_prefix): ... this.
52718 (pupa_dl_get_prefix): Declared.
52719
52720 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 52721 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 52722 unloaded.
52723 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
52724 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
52725
52726 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
52727 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
52728
012d7999 527292003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52730
52731 * util/i386/pc/pupa-setup.c (setup): Define the internal
52732 function find_first_partition_start at the top level, because GCC
52733 3.0.x cannot compile internal functions in deeper scopes
52734 correctly.
52735 (find_root_device): Use lstat instead of stat.
52736 Don't follow symbolic links.
52737 Fix the path-constructing code.
52738
52739 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
52740 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
52741 by a BLKGETSIZE ioctl first, because block devices don't fill
52742 the member st_mode of the structure stat on Linux.
52743 [__linux__] (linux_find_partition): Use a temporary buffer
52744 REAL_DEV for the working space. Copy it to DEV before returning.
52745 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
52746 buffer cache consistent.
52747 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
52748 strncmp. The previous value was merely wrong.
52749 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
52750
52751 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
52752 FAT size is 12. The previous value was merely wrong.
52753
52754 * kern/main.c (pupa_main): Don't split the starting message from
52755 newlines.
52756
52757 * kern/term.c (pupa_putchar): Put CR after LF instead of before
52758 LF, because BIOS goes crazy about character attributes in this
52759 case.
52760
1cc73a62 527612003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52762
52763 * include/i386/pc/util/biosdisk.h: New file.
52764 * util/i386/pc/biosdisk.c: Likewise.
52765 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 52766
1cc73a62 52767 * Makefile.in (INCLUDE_DISTFILES): Added
52768 include/pupa/i386/pc/util/biosdisk.h.
52769 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
52770 directory util/i386/pc.
52771 (install-local): Added a rule for sbin_UTILITIES.
52772 (uninstall): Likewise.
52773
52774 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
52775
52776 * util/misc.c (xrealloc): New function.
52777 (pupa_malloc): Likewise.
52778 (pupa_free): Likewise.
52779 (pupa_realloc): Likewise.
52780 (pupa_stop): Likewise.
52781 (pupa_putchar): Likewise.
52782
52783 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
52784
52785 * include/pupa/util/misc.h (xrealloc): Declared.
52786
52787 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
52788 macro.
52789 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
52790 (PUPA_BOOT_MACHINE_BPB_END): ... this.
52791
52792 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
52793 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52794
52795 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
52796 way should be implemented.
52797 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52798
52799 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
52800 the size of NAME for safety.
52801 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
52802 0x88.
52803
52804 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
52805 (pupa_setup_SOURCES): Likewise.
52806
52807 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
52808
08b70fe8 528092002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52810
52811 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
52812 bunch of pushl's from pusha, because this destroys the return
52813 value.
52814
62ddcc8f 528152002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52816
52817 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
52818 This means that any missing prototypes could be fatal. Also, you
52819 must take care when writing assembly code. See the comments at
52820 the beginning of startup.S, for more details.
f19dbdb7 52821
62ddcc8f 52822 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
52823 compilation mechanism.
52824 (pupa_chainloader_real_boot): Likewise.
52825 (pupa_biosdisk_rw_int13_extensions): Likewise.
52826 (pupa_biosdisk_rw_standard): Likewise.
52827 (pupa_biosdisk_check_int13_extensions): Likewise.
52828 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
52829 (pupa_biosdisk_get_diskinfo_standard): Likewise.
52830 (pupa_get_memsize): Likewise.
52831 (pupa_get_mmap_entry): Likewise.
52832 (pupa_console_putchar): Likewise.
52833 (pupa_console_setcursor): Likewise.
52834 (pupa_getrtsecs): Use pushl instead of push.
52835
52836 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
52837 memory instead of the stack for a mmap entry, because some
52838 BIOSes may ignore the maximum size and overflow.
52839
52840 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
52841
52842 * genmk.rb (PModule#rule): Compile automatically generated
52843 sources with module-specific CFLAGS as well as other sources.
52844
9962ed99 528452002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52846
52847 * configure.ac: Check ld.
52848 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
52849 respectively, before checking endianness and sizes.
52850
52851 * Makefile.in (LD): New variable.
f19dbdb7 52852
abdfc3c5 528532002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52854
52855 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
52856
6a161fa9 528572002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
52858
52859 * Changelog: New file.
52860