]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/garbage-gen.c: Add missing include of sys/time.h.
[grub2.git] / ChangeLog
CommitLineData
e67566ce
VS
12013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/garbage-gen.c: Add missing include of sys/time.h.
4
f93ddcfd
VS
52013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Don't add -mflush-func if it's not supported by compiler.
8
1bba40f5
VS
92013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
10
11 Move common BIOS/coreboot memory map declarations to
12 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
13
f65e14dc
AB
142013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
15
16 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
17
14a94bba
VS
182013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * INSTALL: Document why older clang versions aren't appropriate.
21
8109c5d4
VS
222013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * INSTALL: Document about clang for mips.
25
a92b5cb8
VS
262013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
29 clang.
30
4a23e2fe
VS
312013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
32
33 Add *-xen to the list of grub-install-common platforms.
34
a3ba7410
VS
352013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
38 3 last commits.
39
e1c22419
VS
402013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
43
189090ce
VS
442013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
47 with -mcmodel=large.
48
1a5b7b40
VS
492013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
52 range-checking for 32-bit quantities.
53
9cf12b20
VS
542013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * configure.ac: Compile with -fPIC when compiling with clang on
57 mips.
58
63a45330
VS
592013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
62 when compiling with clang.
63
4a0aaad0
VS
642013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
65
66 clang emits calls to abort () under some unknown conditions.
67 Export abort () when compiling with clang.
68
095bb1bf
VS
692013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * docs/grub-dev.texi: Document stack and heap sizes.
72
3937bd96
VS
732013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * include/grub/i386/pc/memory.h: Decrease
76 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
77 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
78 The binary doesn't change (checked). It's more to better reflect actual
79 usage.
80
ddb3efc9
VS
812013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
84 at compile time that enough of scratch size is available.
85
4e42521d
VS
862013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
89 Previously we misaligned stack by 8 in startup.S and compensated
90 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
91 right behaviour is to align stack in startup.S and keep it aligned
92 in callwrap.S. startup.S part was committed few commits before. This
93 takes care of callwrap.S.
94 Reported by: Gary Lin.
95
054efe54
VS
962013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
99 .data and .bss. May happen if compiler and assembly use different
100 alignment.
101
a0e1befb
VS
1022013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
103
104 On MIPS handle got16 relocations to local symbols in an ABI-compliant
105 way.
106
c36c73f6
VS
1072013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
108
109 Add support for a new magic symbol _gp_disp on mips to handle PIC
110 binaries.
111
6f4a19f5
VS
1122013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
113
114 Use $t9 for indirect calls from asm to C as PIC ABI requires.
115
0d8f04cd
VS
1162013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
117
118 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
119 when rest of GRUB is compiled for hisher stepping. Instead use
120 .set mips3/.set mips1 around cache and sync opcodes.
121
49060520
VS
1222013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
123
124 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
125 do essentially the same thing, do it in similar way.
126
c6a823e2
CW
1272013-11-21 Colin Watson <cjwatson@ubuntu.com>
128
129 * util/grub-mkrescue.c (main): If a source directory is not
130 specified, read platform-specific files from subdirectories of
131 pkglibdir, not pkgdatadir.
132
b7f9aedf
CW
1332013-11-21 Colin Watson <cjwatson@ubuntu.com>
134
135 * grub-core/normal/progress.c: Remove unused file.
136
7dd0a303
VS
1372013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
140 array.
141
ca120e31
VS
1422013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
145 than grub.cfg.
146
48eb35cd
VS
1472013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * coreboot.cfg: Add missing file.
150
7f20dbbc
VS
1512013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * Makefile.am: Allow STRIP to be empty when creating windowszip.
154
55e706c9
AK
1552013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
156
157 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
158 selectively skipping systems.
159
4e7d433d
CW
1602013-11-19 Colin Watson <cjwatson@ubuntu.com>
161
162 * Makefile.util.def (grub-mkimage): Add
163 grub-core/osdep/aros/config.c to extra_dist.
164 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
165 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
166 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
167 grub-core/gnulib-no-gets.diff.
168
7d44ff7d
VS
1692013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
170
171 Add automated filesystem checking based on scripts I've used now for
172 quite some time locally. Most of the test require root so they are
173 skipped when run without necessarry privelegies.
174
a8c3e5e3
CW
1752013-11-19 Colin Watson <cjwatson@ubuntu.com>
176
177 * util/grub-install.c (main): Adjust info messages to match
178 installed paths of grub-bios-setup and grub-sparc64-setup.
179
4402db3e
CW
1802013-11-19 Colin Watson <cjwatson@ubuntu.com>
181
182 * util/grub-install-common.c (copy_locales): Consistently use
183 grub_util_get_localedir () rather than LOCALEDIR.
184 (grub_install_copy_files): Likewise.
185
7960d3e1
JT
1862013-11-19 Josh Triplett <josh@joshtriplett.org>
187
188 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
189 16-byte boundary, as required by the x86-64 ABI, before calling
190 grub_main. In some cases, GCC emits code that assumes this
191 alignment, which crashes if not aligned. The EFI firmware is also
192 entitled to assume that stack alignment without checking.
193
d53f4900
JT
1942013-11-18 Josh Triplett <josh@joshtriplett.org>
195
196 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
197 4k page boundaries as expected by firmware rather than 1k
198 boundaries.
199 (grub_mmap_malign_and_register): Likewise.
200
bb2b275b
VS
2012013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
204 fragmentation 512M is enough.
205
45bf8b3a
VS
2062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
209 pointer to 32K. This is the size of cache element which is the most
210 common allocation >1K. This way the pointer is always around blocks
211 of 32K and so we keep performance while decreasing fragmentation.
212
39ff43c5
VS
2132013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
216 current memory when allocating large chunks. This significantly
217 decreases memory fragmentation.
218
60870be8
CW
2192013-11-18 Colin Watson <cjwatson@ubuntu.com>
220
221 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
222 but for symmetry).
223 * tests/lzocompress_test.in: Skip if lzop is not installed.
224 * tests/xzcompress_test.in: Skip if xz is not installed.
225
a1f00cc5
CW
2262013-11-18 Colin Watson <cjwatson@ubuntu.com>
227
228 * util/grub-mkrescue.c (main): Fix typo.
229
74e632fe
VS
2302013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
233 clock frequency to 200 MHz,
234
efb8de49
VS
2352013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * tests/util/grub-shell.in: Increase console size to 1024x1024.
238
b7526e78
VS
2392013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * Makefile.am (default_payload.elf): Add pata to loaded modules.
242 Load config file from (cbfsdisk)/etc/grub.cfg.
243
b40ce651
VS
2442013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * util/grub-install-common.c (grub_install_copy_files): Fix module
247 destination directory.
248
1e8e2e78
CW
2492013-11-18 Colin Watson <cjwatson@ubuntu.com>
250
251 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
252 files have not been built.
253
3bf4088b
CW
2542013-11-18 Colin Watson <cjwatson@ubuntu.com>
255
256 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
257 Handle errors from mkstemp.
258 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
259
35c2851c
VS
2602013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
263 on primary master on pseries.
264
ea7c1a7d
VS
2652013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
268 already loaded. This saves memory needed for tests,
269
96adefdb
VS
2702013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
273 work again.
274
5e3cb8a7
VS
2752013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
278 work again.
279
256ee7ac
VS
2802013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
283 master since with some combinations of qemu and firmware only primary
284 IDE channel is available.
285
f8b4c3b6
VS
2862013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
289 low-memory platforms where we don't have enough memory for them.
290 * grub-core/tests/videotest_checksum.c: Likewise.
291
4bf70320
VS
2922013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
295 already loaded. This saves memory needed for tests,
296
a284320e
VS
2972013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
298
299 Fix handling of install lists.
300
2df8f43d
VS
3012013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
304
6f1bc8bc
VS
3052013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
306
307 On i386-ieee1275 we run in paged mode. So we need to explicitly map
308 the devices before accessing them.
309
04f39f6d
VS
3102013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
313 as file argument.
314
35d4761c
VS
3152013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
318
33d02a42
VS
3192013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
322 (grub_file_close): Free file->name.
323
7bbb60cf
VS
3242013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/commands/verify.c (free_pk): Plug memory leak.
327 (grub_load_public_key): Likewise.
328 (grub_verify_signature_real): Likewise.
329 (grub_cmd_verify_signature): Likewise.
330
da93d675
VS
3312013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
334 memory leak.
335
59c943ec
VS
3362013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
339 (grub_longjmp): Restore r31.
340 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
341
4336b5d8
VS
3422013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
345 modules to be in line with make_image_abs.
346
44ce3a93
VS
3472013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
350
351 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
352
7d400406
IC
3532013-11-17 Ian Campbell <ijc@hellion.org.uk>
354
355 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
356
77dae919
VS
3572013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
360 to leave some memory to firmware.
361
0ab8e025
VS
3622013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
365 of loading gfxterm as gfxterm is embed in kernel on some platforms.
366 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
367 Load gfxmenu.
368
b80c2d6d
VS
3692013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
372 now needs full arguments.
373
6aa6077b
VS
3742013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * util/grub-mkrescue.c (main): Add trailing \n in
377 .disk_label.contentDetails to be in line with previous shell script.
378
66c00cb1
VS
3792013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
382
3a129dba
VS
3832013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * util/grub-install-common.c (grub_install_parse): Recognize
386 --compress=none like shell script did.
387
8df6eff6
VS
3882013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * include/grub/misc.h: Replace check for __sparc64__ with one for
391 __sparc__ as __sparc64__ isn't actually defined.
392
889ebe92
VS
3932013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
396 counterpart of fixing the naming of escc ports.
397
d4d55b29
VS
3982013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * util/grub-install-common.c (platforms): Fix the order of entries and
401 remove useless field val.
402
55e2c84f
VS
4032013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * util/grub-install.c: Add new option --no-bootsector to skip
406 installing of bootsector. Accept --grub-setup=/bin/true as
407 backwards-compatible synonym.
408
cd46aa6c
VS
4092013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
410
411 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
412 order of qsort arguments (number of elements vs. element size).
413
4142013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
415
416 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
417 the function of these files exceeds what can be sanely handled in shell
418 in posix-comaptible way. Also writing it in C extends the functionality
419 to non-UNIX-like OS and minimal environments.
420
9ef81064
VS
4212013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
424 compiling to thumb2.
425 * grub-core/kern/arm/cache_armv7.S: Likewise.
426 * grub-core/lib/arm/setjmp.S: Likewise.
427
11a77932
LL
4282013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
429
430 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
431 in grub_uboot_syscall
432
080603f0
VS
4332013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
434
435 Decrease stack usage in lexer.
436
437 We have only 92K of stack and using over 4K per frame is wasteful
438
439 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
440 as macros so that compiler would remove useless structure on stack.
441 Better solution would be to fix flex not to put this structure on
442 the stack but flex is external program.
443
4f84ae0e
VS
4442013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
445
446 Decrease stack usage in signature verification.
447
448 We have only 92K of stack and using over 4K per frame is wasteful
449
450 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
451 rather than stack.
452 (grub_verify_signature_real): Likewise.
453
e6a6182d
VS
4542013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
455
456 Decrease stack usage in mdraid 0.9x.
457
458 We have only 92K of stack and using over 4K per frame is wasteful
459
460 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
461 rather than stack.
462
1a454efe
VS
4632013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
464
465 Decrease stack usage in BtrFS.
466
467 We have only 92K of stack and using over 4K per frame is wasteful
468
469 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
470 rather than stack.
471
7b5d51d8
VS
4722013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
473
474 Decrease stack usage in JFS.
475
476 We have only 92K of stack and using over 4K per frame is wasteful
477
478 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
479 stack. Note: this function is recursive.
480 (grub_jfs_read_inode): Read only part we care about.
481
593865b9
LL
4822013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
483
484 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
485 handling
7b5d51d8 486
31c0cd43
AB
4872013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
488
489 * configure.ac: Restore -nostdlib for libgcc symbols tests.
490
c2fdb331
AB
4912013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
492
493 * docs/grub.texi (Environment): Document cmdpath.
494
9e18dfe2
AB
4952013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
496
497 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
498 Remove "unused" attribute from arguments, they are used.
499
59ba9d14
CW
5002013-11-15 Colin Watson <cjwatson@debian.org>
501
502 * .gitignore: Only ignore grub-mk* at the top level.
503
23012db9
CW
5042013-11-15 Colin Watson <cjwatson@ubuntu.com>
505
506 * util/grub-reboot.in (usage): Fix a typo.
507
6fcec439
VS
5082013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
509
510 Replace libgcc version of ctz with our own.
511
512 On upcoming arm64 port libgcc ctz* are not usable in standalone
513 environment. Since we need ctz* for this case and implementation is
514 in C we may as well use it on all concerned platforms.
515
a9f25a08
VS
5162013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * configure.ac: Probe for linking format rather than guessing it based
519 on target_os.
520
c7995256
VS
5212013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
524 "1" prior to handoff.
525
526 Reported by: M A Young.
527
e1aa5b66
VS
5282013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
531 \0 to all files.
532
533 Reported by: M A Young.
534
da5ed5cf
VS
5352013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
538 compilation on NetBSD.
539
5757a93e
VS
5402013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * acinclude.m4: Don't add -P on initial nm test.
543
544 Note: even though this patch postdates Andrey's it bears 14 Nov as
545 date due to timezone difference.
546
a5986276
AB
5472013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
548
549 * grub-core/Makefile.core.def (signature_test): Add missing
550 tests/signatures.h.
551
0de172a0
CW
5522013-11-14 Colin Watson <cjwatson@ubuntu.com>
553
554 * util/grub-install_header: Set localedir here, since this file is
555 where it's used.
556 * util/grub-install.in: Remove setting of localedir.
557 * util/grub-mkrescue.in: Likewise.
558
da45f43c
VS
5592013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
562
20aea949
VS
5632013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * configure.ac: Move nm checks to the end.
566 Call grub_PROG_NM_WORKS.
567 * acinclude.m4: New check grub_PROG_NM_WORKS.
568 Use $TARGET_CFLAGS -c when compiling test binary.
569
1326b9ae
CW
5702013-11-14 Colin Watson <cjwatson@ubuntu.com>
571
572 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
573 unused variables.
574
1fe26ab4
MG
5752013-11-14 Matthew Garrett <mjg@redhat.com>
576
577 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
578 cmdpath to firmware directory.
579
83e9c273
VS
5802013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
583 at the start of second iteration.
584
ec525c18
VS
5852013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
588
93fcc7ad
VS
5892013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * Makefile.am (default_payload.elf): New target for easier coreboot
592 build.
593
57ffe934
VS
5942013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
597 clang (not necessarry with -no-integrated-as).
598 * include/grub/symbol.h [__arm__]: Likewise.
599
2312f06c
VS
6002013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * configure.ac: Use -no-integrated-as on arm with clang.
603 * INSTALL: Mention ARM compilation with clang.
604
2416415c
VS
6052013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
608 -mthumb-interwork.
609
5da55172
CW
6102013-11-14 Colin Watson <cjwatson@ubuntu.com>
611
612 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
613 code for indirect block handling.
614
615 Saves 185 bytes on compressed image.
616
da770328
PFS
6172013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
618
619 Fix make clean.
620
621 * Makefile.am: Remove build-grub-* in make clean.
622
f02e6b56
PFS
6232013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
624
625 New files to gitignore.
626
627 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
628 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
629
035a26c1
LL
6302013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
631
632 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
633
bc8a6137
LL
6342013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
635
636 * .gitignore: fix rules for .dep* and add *.a post git migration
637
6fe506b0
CW
6382013-11-13 Colin Watson <cjwatson@ubuntu.com>
639
640 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
641 to match INSTALL.
642
81a2e438
CW
6432013-11-13 Colin Watson <cjwatson@ubuntu.com>
644
645 * grub-core/kern/misc.c: Don't redirect divisions in the
646 GRUB_UTIL case.
647 * include/grub/misc.h: Likewise.
648
9b45c073
CW
6492013-11-13 Colin Watson <cjwatson@ubuntu.com>
650
651 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
652 systems that require checking the return value of write.
653
11b2a9b7
CW
6542013-11-13 Colin Watson <cjwatson@ubuntu.com>
655
656 * util/grub-install.in (efi_quiet): Fix inverted logic: make
657 efibootmgr quiet when --debug is not used, rather than when it is.
658
d743d22d
CW
6592013-11-13 Colin Watson <cjwatson@ubuntu.com>
660
661 * gentpl.py (define_macro_for_platform_dependencies): Remove
662 first (and thus unused) of two definitions for this function.
663 (platform_dependencies): Likewise.
664
11da14b5
CW
6652013-11-13 Colin Watson <cjwatson@ubuntu.com>
666
667 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
668 functions, we only need to check this for the target, not the host.
669 * configure.ac (grub_apple_cc): Likewise.
670
2bdd0719
VS
6712013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
674 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
675 asm to stay in arm even if surrounding is thumb.
676
5e77d9cf
VS
6772013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
680 helper functions are needed for thumb.
681
7d511625
VS
6822013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
685 level / 3 division explicitly unsigned. Saves few bytes.
686
81023dbd
VS
6872013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
690
b2e9294f
VS
6912013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
694 division.
695
16a22c38
VS
6962013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
699 grub_uboot_boot_data to asm part.
700
c9cd02c9
VS
7012013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
704 literal load.
705 (grub_uboot_syscall): Save/restore r9 and align stack.
706
81498615
VS
7072013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
710
ea57de18
VS
7112013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
714 occurencies with END.
715
d0d1e3da
CW
7162013-11-13 Colin Watson <cjwatson@ubuntu.com>
717
718 * util/grub-editenv.c (help_filter, argp): Document how to delete
719 the whole environment block.
720 Reported by Dan Jacobson. Fixes Debian bug #726265.
721
3809f016
CW
7222013-11-13 Colin Watson <cjwatson@ubuntu.com>
723
724 * docs/grub.texi (Internationalisation, Supported kernels): Fix
725 sectioning.
726
46d8a203
JT
7272013-11-13 Josh Triplett <josh@joshtriplett.org>
728
729 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
730 increment/decrement.
731
513eeb61
VS
7322013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
735 compiling with clang.
736
bc379c1a
VS
7372013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
740 ".".
741
7422013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 743
16057d6b
VS
744 Redirect all divisions to grub_divmod64.
745
f649a6a8
VS
7462013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
749
ef28ee8b
VS
7502013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
751
752 Add missing includes of loader.h.
753
300f48c5
VS
7542013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * configure.ac: Allow disabling themes.
757
2d357558
LS
7582013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
759
760 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
761
0c62a5b2
VS
7622013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
765 until it becomes operational.
766
b0720b49
VS
7672013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * grub-core/Makefile.core.def (legacy_password_test): Disable
770 on platforms where no legacycfg is compiled.
771 * grub-core/tests/lib/functional_test.c: Tolerate failure to
772 load legacy_password_test.
773
d5bab2c0
VS
7742013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
777
3ea0ccb3
VS
7782013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * grub-core/efiemu/prepare.c: Remove variable length arrays.
781
08772054
VS
7822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
785 strict-aliasing warning.
786 (fsync): Silence cast warning.
787
1dcb2715
VS
7882013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/commands/verify.c: Remove variable length arrays.
791 Load gcry_dsa/gcry_rsa automatically.
792
61c22fdf
VS
7932013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/tests/signature_test.c: New test.
796
431e57a7
VS
7972013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
800 API.
801
b521bb81
VS
8022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/tests/legacy_password_test.c (vectors): Make static.
805 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
806
7d06b24e
VS
8072013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
810
3bbeade4
VS
8112013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/fs/proc.c: Allow \0 in proc files.
814
ba82db7a
VS
8152013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
818
801564c8
VS
8192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
822
ac8cac1d
VS
8232013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/fs/ext2.c: Remove variable length arrays.
826
4b85f122
VS
8272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
830 length arrays.
831
c35fcdc0
VS
8322013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
835 * grub-core/disk/cryptodisk.c: Likewise.
836 * grub-core/disk/geli.c: Likewise.
837 * grub-core/disk/luks.c: Likewise.
838
15decd26
VS
8392013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * grub-core/tests/legacy_password_test.c: New test.
842 * grub-core/commands/legacycfg.c: Remove variable length arrays.
843
9c6482b8
VS
8442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
847
41f26e0e
VS
8482013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/tests/pbkdf2_test.c: New test.
851
2def6616
VS
8522013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
855
9e34a34e
VS
8562013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/io/lzopio.c: Remove variable length arrays.
859
5ccaf904
VS
8602013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * include/grub/crypto.h: Add maximums on hash size and cipher block
863 size.
864
44a387e0
VS
8652013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
868
a388e255
VS
8692013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * grub-core/tests/xnu_uuid_test.c: New test.
872
a1ef7718
VS
8732013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
876 covers it).
877
65ddb300
VS
8782013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/commands/hashsum.c: Remove variable length arrays.
881
31747dd5
VS
8822013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
885 condition.
886 * tests/grub_func_test.in: Increase memory allocation.
887
6a74c4df
VS
8882013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
891 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
892 sys/mount.h.
893
394c3e0a
VS
8942013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
897 (grub_util_get_fd_size_os): ...this.
898 (grub_hostdisk_flush_initial_buffer): New empty function.
899
60d31116
VS
9002013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * grub-core/gensyminfo.sh.in: Handle the case of portable output
903 without --defined-only.
904
8445b011
VS
9052013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
908 rip-relative addressing in prologue.
909
8506a641
VS
9102013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
913 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
914
66acd9d6
VS
9152013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
918 Add missing semicolon.
919
348d0535
VS
9202013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
923
0d2d30bb
VS
9242013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * configure.ac: Check for lzma.h for enabling liblzma and allow
927 manual disabling.
928
631187be
VS
9292013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
930
931 Add missing includes of loader.h.
932
e756ec82
FZ
9332013-11-11 Fam Zheng <famcool@gmail.com>
934
935 * util/grub.d/30_os-prober.in: Add minix entry.
936
87d62d7d
VS
9372013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
940 right buffer for temporary load.
941
5460cfeb
VS
9422013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
945
89977306
VS
9462013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
949 payload.
950
3617c59b
VS
9512013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
954 not Types.h.
955 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
956 environment.
957 (LzmaDec_InitDicAndState): Make static.
958
881c6a10
VS
9592013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
962
2024ade2
VS
9632013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
966
967 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
968
674ad4f6
VS
9692013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * docs/grub-dev.texi: Replace bzr references with git ones.
972
5b99970e
AB
9732013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
974
975 * docs/grub.texi (Simple configuration): Remove reference to
976 grub-reboot from saved default entry description - grub-default
977 does not use it anymore.
978
3c2304d5
VS
9792013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * configure.ac: Make efiemu test cflags match the cflags efiemu is
982 compiled with.
983
80cfd940
AB
9842013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
985
986 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
987
33690255
VS
9882013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
989
990 Fix grub_machine_fini bitrot.
991
992 Reported by: Glenn Washburn.
993
c61471fc
VS
9942013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
997
54da019f
VS
9982013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1001 -DELF.
1002 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1003 instead of ELF*.
1004
10052013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
1006
1007 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1008 Add -march=core2 when testing compile of efiemu64.
1009
1010 Thanks Andrey Borzenkov for spotting this.
1011
9612ebc0
VS
10122013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1015 XEN PV environment and load kernels.
1016
1a46a3a4
VS
10172013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1020 * grub-core/loader/multiboot_mbi2.c: Likewise.
1021
2df12551
VS
10222013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1025 handling.
1026
3c980381
VS
10272013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1030
1031 Tested by: Denis 'GNUtoo' Carikli.
1032
800f63d3
VS
10332013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1036
9f8acdaa
VS
10372013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1038
5620eb53
VS
1039 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1040 Use to get rounded angle rather than truncated.
1041
10422013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
1045 RTS/CTS flow control.
1046
2dc1eb6c
VS
10472013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1050 divisions.
1051
b9563c94
VS
10522013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1055 Use grub_fatal rather than divide by zero.
1056 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1057
d6d8e9a9
VS
10582013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1061 truncate.
1062 (grub_fixed_fsf_divide): Likewise.
1063
d06de6c8
VS
10642013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1067 division by-zero and senseless negative divisions.
1068
6af7d49b
VS
10692013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1072 division by-zero and senseless negative divisions.
1073 (circprog_set_property): Don't accept negative num_ticks.
1074
bcfa6d72
VS
10752013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1078 division by-zero and senseless negative divisions.
1079
dd7f792c
VS
10802013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * configure.ac: Use elf_*_fbsd on kfreebsd.
1083
d061fda7
VS
10842013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/tests/div_test.c: New test.
1087
4db22500
VT
10882013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1089
1090 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1091 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1092 * grub-core/gfxmenu/view.c: Likewise.
1093 * grub-core/video/fb/video_fb.c: Introduce new functions:
1094 grub_video_set_area_status, grub_video_get_area_status,
1095 grub_video_set_region, grub_video_get_region.
1096 * grub-core/video/bochs.c: Likewise.
1097 * grub-core/video/capture.c: Likewise.
1098 * grub-core/video/video.c: Likewise.
1099 * grub-core/video/cirrus.c: Likewise.
1100 * grub-core/video/efi_gop.c: Likewise.
1101 * grub-core/video/efi_uga.c: Likewise.
1102 * grub-core/video/emu/sdl.c: Likewise.
1103 * grub-core/video/radeon_fuloong2e.c: Likewise.
1104 * grub-core/video/sis315pro.c: Likewise.
1105 * grub-core/video/sm712.c: Likewise.
1106 * grub-core/video/i386/pc/vbe.c: Likewise.
1107 * grub-core/video/i386/pc/vga.c: Likewise.
1108 * grub-core/video/ieee1275.c: Likewise.
1109 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1110 * include/grub/video.h: Likewise.
1111 * include/grub/video_fb.h: Likewise.
1112 * include/grub/fbfill.h: Updated render_target structure.
1113 grub_video_rect_t viewport, region, area
1114 int area_offset_x, area_offset_y, area_enabled
1115 * include/grub/gui.h: New helper function
1116 grub_video_bounds_inside_region.
1117 * docs/grub-dev.texi: Added information about new functions.
1118
c6b755df
VS
11192013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1122 for alignment.
1123
e2a68100
VS
11242013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1127 missing attribute.
1128 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1129
c4f11a2a
VS
11302013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1133 simple division on arm and ia64.
1134
e0a7bffa
VS
11352013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1138 link with libgcc.
1139
38b864ea
VS
11402013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1143
12359faf
VS
11442013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1147 prefix symbol, not @.
1148
9fdc64a9
VS
11492013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * INSTALL: Add note about older gcc and clang.
1152
665c575b
VS
11532013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1156
47dcf7b1
VS
11572013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1160 NULL pointer dereference.
1161
d59849b2
VS
11622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1165 clang.
1166
7a3f4a18
VS
11672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1170 warnings.
1171
7f084087
VS
11722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1175 function.
1176 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1177 * grub-core/disk/geli.c (ascii2hex): Likewise.
1178
d5524ca8
VS
11792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * configure.ac: Run linker tests without -Werror.
1182 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1183 Change all occurences of -static-libgcc resp -lgcc to
1184 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1185
390cd7ca
VS
11862013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1189
60375a88
VS
11902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 Allow compiling with clang (not really supported though).
1193
1194 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1195 unconditionally.
1196 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1197 Add -mrtd -mregparm=3 on i386 when not using clang.
1198 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1199
dd07e0c4
VS
12002013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1203 bindings.
1204 * grub-core/lib/reed_solomon.c: Likewise.
1205 * include/grub/i386/gdb.h: Likewise.
1206 * include/grub/i386/pc/int.h: Likewise.
1207 * include/grub/i386/pc/pxe.h: Likewise.
1208 * include/grub/ieee1275/ieee1275.h: Likewise.
1209
9d3ae8ec
VS
12102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 Import libgcrypt 1.5.3.
1213
c12936c5
VS
12142013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * configure.ac: Don't add -Wcast-align on x86.
1217
cdc17f60
VS
12182013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * configure.ac: Add -freg-struct-return on all platforms that
1221 support it.
1222
b35ec299
VS
12232013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * acinclude.m4: Use -Werror on parameter tests.
1226 * configure.ac: Likewise.
1227
05f3a0d7
VS
12282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1231
c966a489
VS
12322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * configure.ac: Check that -malign-loops works rather than assuming that
1235 either -falign-loops or -malign-loops work.
1236
bb0c57ec
VS
12372013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1240
24f4e57c
VS
12412013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * configure.ac: Prevent cflags leaking to subsequent tests by always
1244 resetting cflags to target_cflags in target tests.
1245
ac319fbc
VS
12462013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1249 function.
1250
4bfe934c
VS
12512013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1254
40a5bfde
VS
12552013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1258
a67c755e
VS
12592013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/normal/cmdline.c (grub_cmdline_get):
1262 Remove nested functions.
1263
87a04a2d
VS
12642013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * tests/test_sha512sum.in: Make it work on emu.
1267
c03995d2
VS
12682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1271 functions.
1272 (grub_bidi_line_logical_to_visual): Likewise.
1273
ec0ebb3f
VS
12742013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 Remove vestiges of -Wunsafe-loop-optimisations.
1277
1278 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1279 -Wno-unsafe-loop-optimisations.
1280 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1281 pragma.
1282 * grub-core/io/gzio.c: Likewise.
1283 * grub-core/script/parser.y: Likewise.
1284 * grub-core/script/yylex.l: Likewise.
1285 * util/grub-mkfont.c: Likewise.
1286
6ab537e3
VS
12872013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * util/grub-mkfont.c (process_cursive): Remove nested function.
1290
e6c368d4
VS
12912013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1294 (grub_boot_time): Likewise.
1295
4f1cfd22
VS
12962013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * include/grub/symbol.h (FUNCTION): Use @function rather than
1299 "function".
1300 (VARIABLE): Likewise.
1301
6d5a4cee
VS
13022013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1305
f06c2172
VS
13062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1309 (parse_dhcp_vendor): Likewise.
1310
7cb24eb5
VS
13112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1314
f30c692c
VS
13152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1318 Define after defining type and not before.
1319
8b66bb5d
VS
13202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1323 type.
1324 (grub_gcm_decrypt): Likewise.
1325 (algo_decrypt): Likewise.
1326 (grub_zfs_decrypt_real): Transform error type.
1327
5d17fd0f
VS
13282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1331
ac35a0f7
VS
13322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1335 (grub_usbms_cbi_reset): Likewise.
1336 (grub_usbms_bo_reset): Likewise.
1337 (grub_usbms_reset): Likewise.
1338 (grub_usbms_attach): Likewise.
1339 (grub_usbms_transfer_cbi): Likewise.
1340
3ee08697
VS
13412013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1344 "checksum = checksum;".
1345
70bb6c85
VS
13462013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1349 entry_type.
1350
c7f34744
VS
13512013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1354 BIOS disk check.
1355
3f63b4d8
VS
13562013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1359 type.
1360 (grub_ehci_fini_hw): Likewise.
1361 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1362
dac6ce73
VS
13632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1366 return grub_usb_err_t for cosistency. All users updated.
1367
5701750c
VS
13682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1371 assigning to itself.
1372
9e236169
GLD
13732013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
13742013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1375
1376 Issue separate DNS queries for ipv4 and ipv6
1377
1378 Adding multiple questions on a single DNS query is not supportted by
1379 most DNS servers. This patch issues two separate DNS queries
1380 sequentially for ipv4 and then for ipv6.
1381
1382 Fixes: https://savannah.gnu.org/bugs/?39710
1383
1384 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1385 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1386 * (grub_net_dns_lookup): Now using separated dns packages.
1387 * (grub_cmd_nslookup): Add error condition.
1388 * (grub_cmd_list_dns): Print DNS option.
1389 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1390 --prefer-ipv4, and --prefer-ipv6.
1391 * include/grub/net.h (grub_dns_option_t): New enum.
1392 * (grub_net_network_level_address): option added.
1393
339eacce
VT
13942013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1395
1396 * grub-core/video/fb/video_fb.c: Merge two blit functions
1397 into one.
1398
810f991b
VS
13992013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * grub-core/term/terminfo.c: Add sequences for home and end.
1402
386571a2
VS
14032013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1406 graphics console.
1407
3fe63754
VS
14082013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1411 add mode 0x12.
1412
76681e71
VS
14132013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1416 e-mail by Per Öberg.
1417
46522fb7
VS
14182013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1421 name.
1422
e7d09ac4
AB
14232013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1424
1425 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1426 emu platforms.
1427 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1428
67508925
VS
14292013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * docs/grub.texi: Document usage of menuentry id.
1432
0c62124e
VS
14332013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1436
9b5d4eed
PL
14372013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1438
1439 * grub-core/commands/i386/nthibr.c: New command.
1440
79054c1d
VS
14412013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1444
44d47bbe
VS
14452013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1448 coordinate.
1449
323de05b
VS
14502013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 Support GRUB_DISABLE_SUBMENU config.
1453
1454 Inspired by patch from Prarit Bhargava.
1455
5a01722e
VS
14562013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * docs/grub.texi: Mention RSA support.
1459
1106c3f0
VS
14602013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * grub-core/commands/verify.c: Add RSA support.
1463
a1dcc2cb
VS
14642013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1467 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1468 device is known to be ATAPI.
1469
ee7fb780
MF
14702013-11-03 Mike Frysinger <vapier>
1471
1472 * configure.ac: Don't add target-prefix.
1473
5ade4a42
VS
14742013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1477 variables.
1478
6cd66043
VS
14792013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1482 if language is English.
1483
090d7c81
VS
14842013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1487
dd614590
VS
14882013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * configure.ac: Don't add -m32/-m64 on emu.
1491
a8686589 14922013-11-02 neil
1493
1494 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1495 broken linux headers.
1496
fb9f12a0
VS
14972013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1500
e25f8e1f
VS
15012013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1504 Reed-Solomon recovery if more than half of redundancy info is 0.
1505
4685200f
VS
15062013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * util/grub-mount.c: Handle symlinks to directories.
1509
1397f0b5
VS
15102013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1513 find_file recursively for symlink.
1514
8b3e6eb6
VS
15152013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * tests/util/grub-shell.in: Copy themes.
1518
a0c9d5c6
VS
15192013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1522
5cf9459c
VS
15232013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * configure.ac: Use 0x8000 for address instead of 8000.
1526
e7b66a28
VS
15272013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1530 signature.
1531
203f53fb
VS
15322013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1535 variable.
1536
02663ee9
VS
15372013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1540
f169f65e
VS
15412013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1544 file_progress_read_hook.
1545 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1546
2855a0fc
VS
15472013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1550 and double.
1551
bf0f3a8c
VS
15522013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1555
cb72aa18
VS
15562013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 Rewrite blocklist functions in order to get progress when
1559 reading large extents and decrease amount of blocklist hook calls.
1560
896f9135
VS
15612013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1564 of SI suffixes.
1565
89295a06
VS
15662013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 Support --base-clock for serial command to handle weird cards with
1569 non-standard base clock.
1570
eb03ede0
VS
15712013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1574 strncpy.
1575 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1576 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1577 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1578 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1579 + strcpy rather than strncpy.
1580
8fbe5c7d
VS
15812013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1584 (check_pool_label): Likewise. Fixes overflow.
1585 (nvlist_find_value): Fix comparison.
1586
e54b8f53
VS
15872013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1590 more appropriate functions.
1591
fa9b3dca
VS
15922013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1595 realloc.
1596
9a021c55
VS
15972013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1600
80e8b13a
VS
16012013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1604 on core size.
1605
b61599ac
VS
16062013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1609
a602dc54
VS
16102013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1613 (initialize_tables): reset tl and td to NULL after freeing.
1614
93c12075
VS
16152013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1618
1ca4b75e
VS
16192013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1622 of supported tags.
1623
329550c4
VS
16242013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1627
00bfa988
VS
16282013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1631 quirks.
1632
81afc5cc
VS
16332013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1636 a page in protected space.
1637
cb3c4a47
VS
16382013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1641 allocate space for zero-sized modules.
1642
954f7bf5
VS
16432013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1646
526d3d25
FL
16472013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1648
1649 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1650
74124c34
VS
16512013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1654 safeguards. Fixes a crash with i386/pc/console.c.
1655
5177391e
VS
16562013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1659 and grub_hostfs_init.
1660
64db14b0
VS
16612013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1664 windows method on other platforms without good stat as well.
1665
effe2036
VS
16662013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1669
82591fa6 16702013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1671
82591fa6
VS
1672 Make / in btrfs refer to real root, not the default volume.
1673 Modify mkrelpath to work even if device is mounted with subvolid option.
1674
16752013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1676
1677 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1678 extra_dist.
1679 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1680 extra_dist.
1681
30fd7198
VS
16822013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1685 fails.
1686
8d179dae
BC
16872013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1688
1689 * docs/autoiso.cfg: New file.
1690
3bc9c8cf
VS
16912013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1694 COND_GRUB_PE2ELF conditions.
1695
8b46b0ea
VS
16962013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1699 "vnd", "rd" and "fd" disks.
1700
442b86de
VS
17012013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 Move grub_disk_write out of kernel into disk.mod.
1704
04dea7e6
VS
17052013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1708 handling.
1709
17102013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1711
1712 * grub-core/kern/misc.c (grub_abort): Make static
1713
04dea7e6 17142013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1715
1716 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1717 transform invalid unicode codepoints.
1718
04dea7e6 17192013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1720
1721 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1722 \0 checking.
1723
03dcac7f
VS
17242013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1727
c81acb7f
VS
17282013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 Consolidate cpuid code.
1731
c1bee646
VS
17322013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 Move cpuid code to cpuid.h and TSC code to tsc.c.
1735
f37bf9c7
GS
17362013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1737
1738 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1739
4021132b
GS
17402013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1741
1742 * util/grub-mkconfig.in: Replace $0 with $self.
1743 * util/grub-reboot.in: Likewise.
1744 * util/grub-set-default.in: Likewise.
1745
3ace8d75
BC
17462013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1747
1748 * docs/osdetect.cfg: New file.
1749
1e6ad6a6
BC
17502013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1751
1752 * tests/util/grub-shell.in: Add new --debug option.
1753
188929eb
BC
17542013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1755
1756 * tests/test_unset.in: New test.
1757
7994a09a
BC
17582013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1759
1760 * tests/test_sha512sum.in: New test.
1761
2a8a7585
VS
17622013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1765 * include/grub/misc.h: Remove strncat.
1766 * grub-core/lib/posix_wrap/string.h: Likewise.
1767
cf8d6bbd
VS
17682013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1771 Try to handle more than 0xFFFF packets.
1772 Reported by: Bernhard Übelacker <bernhardu>.
1773 He also spotted few overflows in first version of this patch.
1774
6d1fc99a
VS
17752013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * tests/date_unit_test.c: New test.
1778
10bafa1c
VS
17792013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1782 of first three years after start of validity of unixtime.
1783
b1c6d037
VS
17842013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1787 division as the one making more sense.
1788 (update_screen): Likewise.
1789 (complete): Likewise.
1790
5f4028d4
VS
17912013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1794
a2856736
VS
17952013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 Make char and string width grub_size_t rather than grub_ssize_t.
1798
0a7e52b2
VS
17992013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1802 unsigned.
1803 (grub_history_replace): Likewise.
1804
42829573
VS
18052013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1808 appropriate.
1809
3523b8d8
VS
18102013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1813 appropriate.
1814
d43c6489
VS
18152013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1818 Use unsigned divisions rather than signed variants.
1819
f690f8b0
VS
18202013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1823 unsigned arithmetics.
1824 Add missing break.
1825
74ff2c05
VS
18262013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1829
fb56391e
VS
18302013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1833 rather than signed one.
1834 (recovery): Likewise.
1835
40f29060
VS
18362013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1839
c64577a5
VS
18402013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1843 than signed.
1844
c16535a8
JM
18452013-10-25 Jon McCune <jonmccune@google.com>
1846
1847 * docs/grub.texi: Cleanup security documentation around signatures.
1848
6673d8e7
VS
18492013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1852
a105d375
VS
18532013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1856 than int.
1857
af81ed88
VS
18582013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1861 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1862 functions when compiling for kernel.
1863
ea899a57
VS
18642013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1867 unsigned long long when using %llu.
1868
c6dc6fa1
VS
18692013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1872 terminal after updating progress.
1873
ad2dc003
VS
18742013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1877 argument. We don't disable Gate A20 in this code.
1878
b46684ae
VS
18792013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1882 Conceptually based on change in branch "vbe-on-coreboot".
1883
f70d5c07
RM
18842013-10-24 Robert Millan <rmh@gnu.org>
1885
1886 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1887 numeric constants with their symbolic equivalent.
1888 Taken from branch "vbe-on-coreboot".
1889
bca274b4
VS
18902013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1893
238f0489
VS
18942013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1897 divmod64 for offset division.
1898
863c590b
PFS
18992013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1900
1901 Rename .bzrignore to .gitignore. Add "*.o" rule.
1902
1903 * .bzrignore: Renamed to...
1904 * .gitignore: ...this.
1905
84a0e969
PFS
19062013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1907
1908 Add new progress module that displays the load progress of files.
1909
1910 * grub-core/lib/progress.c: New file.
1911 * grub-core/Makefile.core.def (progress): New module.
1912 * grub-core/kern/file.c (grub_file_open): File name added.
1913 * (grub_file_read): Progress hook added.
1914 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1915 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1916 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
1917 * include/grub/file.h (struct grub_file): Add progress module members.
1918 * include/grub/term.h (struct grub_term_output): Likewise.
1919 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
1920 Terminal velocity added.
1921 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
1922 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
1923 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
1924 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
1925 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
1926 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
1927 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
1928 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
1929 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
1930 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
1931 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
1932 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
1933
0d711431
VS
19342013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 Verify signatures of signatures unless --skip-sig is specified.
1937
f8401f76
VS
19382013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1941 \0 checking.
1942
1943 Saves 70 bytes on compressed image.
1944
ac1feb61
VS
19452013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
1948 check.
1949
1950 Saves 10 bytes on compressed image.
1951
00f72e89
VS
19522013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/kern/misc.c (grub_isprint): Move to ...
1955 * include/grub/misc.h (grub_isprint): ... here. Make inline.
1956
1957 Saves 20 bytes on compressed image due to remving exporting.
1958
067e6ae7
VS
19592013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
1962
1963 Saves 5 bytes on compressed image.
1964
64a6c791
VS
19652013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
1968 function get_utf8.
1969
1970 Saves 379 bytes on compressed image.
1971
979d9f52
VS
19722013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
1975
1437da54
VS
19762013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
1979
1980 Saves 40 bytes on compressed image.
1981
d9ee2269
VS
19822013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
1985 mask rather than 64-bit type.
1986
1987 Saves 20 bytes on compressed image.
1988
63efa602
VS
19892013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
1992 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
1993
47601ffe
VS
1994 Saves 273 bytes on compressed image.
1995
2cc679ad
VS
19962013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
1999 variable length arrays.
2000
2001 Saves 50 bytes on compressed image.
2002
2e4659b8
VS
20032013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2006
2a40badf
VS
20072013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/fs/ufs.c: Remove variable length arrays.
2010
1ba6b9b9
VS
20112013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2014
f3e39341
VS
20152013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/fs/zfs.c: Remove variable length arrays.
2018 Reduces zfs.mod by 160 bytes (208 compressed).
2019
71523935
VS
20202013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2023
28153eb8
VS
20242013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * grub-core/net/arp.c: Remove variable length arrays.
2027 * grub-core/net/bootp.c: Likewise.
2028 * grub-core/net/dns.c: Likewise.
2029 * grub-core/net/icmp6.c: Likewise.
2030 * grub-core/net/net.c: Likewise.
2031
88ce4cd7
VS
20322013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * grub-core/fs/ntfs.c: Remove variable length arrays.
2035 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2036 compressed).
2037
66123940
VS
20382013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/fs/hfs.c: Remove variable length arrays.
2041 Reduces hfs.mod by 8 bytes (52 compressed).
2042
0927e5bd
VS
20432013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 2046 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
2047 compressed).
2048
9c12ac97
VS
20492013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 2052 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2053 compressed).
2054
97ec2d71
VS
20552013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2058 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2059 compressed).
2060
156e4ea0
VS
20612013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * grub-core/fs/xfs.c: Remove variable length arrays.
2064 Reduces xfs.mod by 40 bytes (43 compressed).
2065
3b502c29
VS
20662013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/fs/fshelp.c: Remove variable length arrays.
2069 Reduces fshelp.mod by 116 bytes (23 compressed).
2070
c7037f1d
VS
20712013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/normal/completion.c: Remove variable length arrays.
2074 * grub-core/normal/menu_entry.c: Likewise.
2075
2076 Reduces normal.mod by 496 bytes.
2077
a07e6ad0
VS
20782013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2081 by 356 bytes (158 compressed).
2082
2359bf88
VS
20832013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2086 by 364 bytes (169 compressed).
2087
d28e1163
VS
20882013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2091 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2092 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2093
e89c2d48
VS
20942013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2097 bitmasks to small structures of size chosen to fit in registers.
2098
7abdac8e
VS
20992013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * conf/Makefile.common: Use -freg-struct-return on i386. This
2102 decreases code size and improves performance.
2103
518864c0
VS
21042013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2107
bbd2b539
VS
21082013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2111 "(null)" string.
2112 Simplify expressions to save around 256 bytes in kernel.img.
2113 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2114
99519c15
VS
21152013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2118 Use GRUB_UTIL_FD_O_* rather than O_*.
2119
20285765
VS
21202013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 Add haiku-specific functions.
2123
887c0bb6
VS
21242013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2127
cd78a56f
VS
21282013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 Move stat () and device mode checking into OS-dependent files as
2131 long as performance doesn't suffer.
2132
a4012f07
VS
21332013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 Split make_system_path_relative_to_its_root into separate file
2136 relpath.c from getroot.c as it's common between unix and haiku
2137 but otherwise haiku doesn't use any functions from unix getroot.c.
2138
31de274d
VS
21392013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2142 New function.
2143 (grub_util_is_special_file): Likewise.
2144
40346de6
VS
21452013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2148 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2149
d3923ab9
VS
21502013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2153 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2154
663f6eb1
VS
21552013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2158 (load_image): Likewise.
2159
44d1c20a
VS
21602013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * util/grub-render-label.c: Move backend part to ...
2163 * util/render-label.c: ... here.
2164
d0a116ee
VS
21652013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2168 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2169
b47fcae6
VS
21702013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2173
0f7c00c1
VS
21742013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2177 CD-ROM in case when it's declared as having subpartitions.
2178
29013cba
VS
21792013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 Don't add -lm on haiku.
2182
2183 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2184 and empty on haiku.
2185 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2186 -lm.
2187
e8559d24
VS
21882013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * configure.ac: Use -melf_*_haiku as target on haiku.
2191
8104063c
VS
21922013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * Makefile.util.def: Add util/setup.c to extra_dist.
2195
fc3182c7
VS
21962013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2199 unknown types through.
2200
f90a3cc0
VS
22012013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2204 (grub_util_check_char_device): Likewise.
2205 * include/grub/emu/getroot.h: Likewise.
2206
1e3e7419
VS
22072013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2210 memset rather than inline static function.
2211
92c88fc8
VS
22122013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2215 not doing embedded decompressor.
2216
3cd910a2
VS
22172013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2220 shadowing.
2221 * grub-core/kern/disk.c: Likewise.
2222 * grub-core/kern/misc.c: Likewise.
2223 * include/grub/parser.h: Likewise.
2224 * include/grub/script_sh.h: Likewise.
2225 * include/grub/zfs/zfs.h: Likewise.
2226
7b3aca00
VS
22272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2230
97dfe7e4
VS
22312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2234 defined before trying to use it.
2235
bf919aa9
VS
22362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2239 warning.
2240
f4ccf29d
VS
22412013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2244 Use __unused__ rather than __used__ on gcc < 3.2.
2245
0d3a6f85
VS
22462013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2249 gcc < 4.0.
2250 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2251
757e3eb7
VS
22522013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2255
fb320faf
VS
22562013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2259 * include/grub/emu/misc.h: Likewise.
2260
ea73acd2
VS
22612013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2264 cur_color.
2265
71237a6f
VT
22662013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2267
2268 * grub-core/tests/checksums.h: Regenerated due to progress bar
2269 get_minimal_size changes.
2270
3d46c22f
BC
22712013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2272
2273 Added `tr' command support.
2274
2275 * grub-core/commands/tr.c: New file.
2276 * grub-core/Makefile.core.def: Build rules for new module.
2277
2278 * tests/grub_cmd_tr.in: New test.
2279 * Makefile.util.def: Build rules for new test.
2280
47e0a61f
VT
22812013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2282
2283 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2284
946fd073
VT
22852013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2286
2287 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2288 * docs/gurb.texi: Likewise.
2289
9c13c576
VT
22902013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2291
2292 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2293 Pixmap highlighted section with east and west slices was displayed
2294 incorrectly due to negative width of the central slice.
2295
ad543f12
VT
22962013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2297
2298 * docs/grub.texi: Graphical options information update.
2299 Removed outdated. Updated current. Inserted missed.
2300
6176a0cd
VS
23012013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * docs/grub.texi: Mention few new platform-specific commands.
2304
9688cae2
VS
23052013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2308 currently used so this doesn't really have any effect.
2309 Reported by: Douglas Ray <dougray>
2310
f7b69a3f
VS
23112013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2314 compilation but prevents gcc from displaying messages in non-Latin
2315 alphabets.
2316 * conf/Makefile.common: Likewise.
2317
ceca6ddf
HY
23182013-10-16 Hiroyuki YAMAMORI
2319
2320 Handle Japanese special keys.
2321 Reported by: Hiroyuki YAMAMORI.
2322 Codes supplied by: Hiroyuki YAMAMORI.
2323
ac48d334
VT
23242013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2325
2326 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2327
b2b71bff
VT
23282013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2329
2330 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2331 * docs/grub.texi: Likewise.
2332
669fc449
VS
23332013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2336 value in case of incomplete read.
2337 (grub_util_fd_write): Likewise.
2338
59381678
VS
23392013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2342
bacfefbb
VS
23432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * util/grub-editenv.c (create_envblk_file): More from here ...
2346 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2347
f7c49570
VS
23482013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2351 canonicalize file name before doing the rest.
2352
7b83ca44
VS
23532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2356 mingw32.
2357
df1e64c9
VS
23582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 Define grub_util_is_directory/regular/special_file and
2361 use OS-dependent versions rather than to rely on stat().
2362
ec16e026
VS
23632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * util/grub-mkimage.c: Move backend part to ...
2366 * util/mkimage.c: ... here.
2367
4b4eeb3c
VS
23682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 Allow compilation with mingw64 albeit with warnings due to lack of
2371 %llx/%llu.
2372
2373 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2374 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2375 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2376 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2377 on mingw64.
2378 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2379
f4e0adc0
VS
23802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 Remove leftover references to some of the system headers.
2383
e0127364
VS
23842013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2387 read.
2388
20d53541
VS
23892013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2392 of strerror.
2393
5a869940
VS
23942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 Split out blocklist retrieving from setup.c to
2397 grub-core/osdep/blocklist.c and add windows implementation since
2398 generic version doesn't work on NTFS on Windows due to aggressive
2399 unflushable cache.
2400
c06c7520
VS
24012013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2404 files.
2405
8f53bb3f
VS
24062013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2409 Cut tailing newline. Remove arbitrary limitation. Always use
2410 grub_util_tchar_to_utf8.
2411
148f1007
VS
24122013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2415 * tests/printf_unit_test.c (printf_test): Add %% tests.
2416 Reported by: Paulo Flabiano Smorigo.
2417
af3b06be
VS
24182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2421 implement fsync.
2422
27f9d02e
VS
24232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2426 use nvlist_lookup_string and don't use nvlist_print.
2427
f6a81f0a
VS
24282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2431 closedir to handle filename charset translation.
2432
d7750b32
VS
24332013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * include/grub/emu/hostdisk.h: Move file operations to
2436 * include/grub/emu/hostfile.h: ... here.
2437
2859196e
VS
24382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2441 unicode path.
2442
c018c968
VS
24432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2446
7e45abce
VS
24472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2450 and remove export.h.
2451
23934da2
VS
24522013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * grub-core/kern/emu/error.c: Removed.
2455 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2456 explicitly as it's already in libgnu.a.
2457
c11ebcc8
VS
24582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2461 config-util.h include.
2462
70671037
VS
24632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 Split emunet into platform-dependent and GRUB-binding parts. Keep
2466 platform-dependent part in kernel for easy access to OS functions.
2467
25ac643a
VS
24682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2471 open/read/write.
2472
69ca5876
VS
24732013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * grub-core/osdep/windows/emuconsole.c: New file.
2476
d9d68ef0
AB
24772013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2478
2479 * conf/Makefile.extra-dist: Add osdep/*/init.c
2480
58e211cc
VS
24812013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2484
588744d0
VS
24852013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * util/grub-probe.c (probe): Separate different drives in hint-str
2488 by spaces and not newlines.
2489 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2490
44016e52
AB
24912013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2492
2493 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2494 Handle CD-ROMs.
2495
6de9ee86
VS
24962013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 Pass-through unknown E820 types. It required reorganisation of mmap
2499 module.
2500
f8f3f155
AB
25012013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2502
2503 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2504
b73249d2
VS
25052013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2508 fseeko.
2509
dac86b18 25102013-10-14 qwertial <qwertial>
2511
2512 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2513
17614b84
JM
25142013-10-14 Jon McCune <jonmccune@google.com>
2515
2516 * docs/grub.texi: Document new signatures possibility.
2517
6de292cb
VS
25182013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2521
84379b61
VS
25222013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2525 missing prototype.
2526 (grub_util_tchar_to_utf8): Likewise.
2527
21d85db1
VS
25282013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2531 * grub-core/kern/emu/main.c: Add missing include.
2532 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2533 Don't call grub_util_init_nls.
2534 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2535 Likewise.
2536
66a1b3ee
VS
25372013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2540 stat.
2541
e19bec17
VS
25422013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2545
ee8c1b29
VS
25462013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2549
bb338aaf
VS
25502013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 Add a wrapper for fopen. On unix-like systems just pass-through. On
2553 windows use unicode version.
2554
ae5540d3
VS
25552013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 Move set_program_name and init_nls to host_init. On windows
2558 fix in this fuction console and argument charset as well.
2559
4cd3c4fe
AB
25602013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2561
2562 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2563 GRUB_ENABLE_CRYPTODISK.
2564
2565 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2566 GRUB_ENABLE_CRYPTODISK.
2567 * util/grub-mkconfig_lib.in: Likewise.
2568
78170f3e
CCZ
25692013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2570
2571 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2572
3414b6c0
MC
25732013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2574
2575 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2576 error when enabling debug.
2577
6d0740e8
IB
25782013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2579
2580 * configure.ac: Use -melf_*_obsd on openbsd.
2581
ff2d4dc4
VS
25822013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2585
eac6ae82
VS
25862013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * include/grub/misc.h: Use gnu_printf rather than printf as format
2589 template since our functions are independent of libc.
2590
ba9baabe
VS
25912013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * util/grub-setup.c (setup): Move copying of partition table as
2594 futher up as possible to avoid possible overwrite by floppy routines.
2595
25962013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2597
2598 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2599
145e2369
VT
26002013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2601
2602 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2603 * docs/grub.texi: Likewise.
2604
3530bc9d
VS
26052013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2608 it's mostly unused. Move vestiges to the callers.
2609
fb9f59c3
VS
26102013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2613 version of salt and hash. Use grub_snprintf rather than snprintf.
2614
9be1c255
VS
26152013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * docs/grub.texi: Fix problem with braces.
2618
ed8c0887
VS
26192013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * conf/Makefile.extra-dist: Fix extra-dist list.
2622 * grub-core/Makefile.core.def: Likewise.
2623
f72ab14e
VS
26242013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * docs/grub.texi: Document disk names used on Windows and AROS.
2627
2fe53a22
VS
26282013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2631 with AROS devs.
2632 * grub-core/osdep/aros/hostdisk.c: Likewise.
2633
71c1d67a
VS
26342013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 Avoid including hostfile.h when not necessarry as it pulls
2637 in OS-specific headers which may redefine generic names
2638 like "far".
2639
ad297ec7
VT
26402013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2641
2642 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2643 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2644 scrollbar_bottom_pad
2645 * docs/grub.texi: Likewise.
2646
6e9e5dc9
VT
26472013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2648
2649 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2650
761c718b
VS
26512013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2654
37149a2f
VS
26552013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2658 Removed.
2659 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2660 Made static.
2661
3837a151
VS
26622013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2665 leftover.
2666
caca1c70
VS
26672013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 Move OS-specific driver configuration to grub_util_fd_open. This
2670 moves OS-dependent parts from kern/emu/hostdisk.c to
2671 grub-core/osdep/*/hostdisk.c.
2672
f7676b70
VS
26732013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * util/grub-mkimage.c (generate_image): Use size_t instead of
2676 grub_size_t.
2677 * util/grub-mkimagexx.c (locate_sections): Likewise.
2678 (load_image): Likewise.
2679
22f98db2
VS
26802013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2683 size_t.
2684 (grub_util_write_image): Likewise.
2685
b102ce69
VS
26862013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2689 get random when no RNG is available.
2690 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2691
acbbe5cb
VS
26922013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * include/grub/util/lvm.h: Removed.
2695
2112fb3f
VS
26962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2699 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2700
79f78fbf
VS
27012013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2704
c2e6f705
VS
27052013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2708
aabe433a
VS
27092013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * grub-core/net/drivers/emu/emunet.c: Move to ..
2712 * grub-core/osdep/linux/emunet.c: ..here.
2713
9a2c903f
VS
27142013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * util/ieee1275/ofpath.c: Move to ...
2717 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2718 * grub-core/osdep/basic/ofpath.c: ..here.
2719
4a445f58
VS
27202013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 Move password-querying (util-version) routines to grub-core/osdep.
2723
c1ca4244
VS
27242013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 Move sleep routines to grub-core/osdep.
2727
672fa55e
VS
27282013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 Move OS-dependent files to grub-core/osdep and document it.
2731
a5b0365a
VS
27322013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2735 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2736
29072e99
VS
27372013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2740
f8772ea7
VS
27412013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * util/misc.c: Remove leftover inclusion of malloc.h.
2744
a1a315e7
VS
27452013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * include/grub/setjmp.h: Remove leftover GRUBOF.
2748
cef86fef
VS
27492013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * util/raid.c: Fold into ...
2752 * util/getroot_linux.c: ... here. Make all functions static.
2753
c4cf25ee
VS
27542013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2757 macros to GRUB ones.
2758
53a5f5c2
VT
27592013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2760
2761 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2762 occasional bug. If there are too many boot entries or too low
2763 scrollbar height then we need to use another formula to calculate
2764 the position and size of the scrollbar thumb.
2765
de300af2
VS
27662013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2767
c4cf25ee 2768 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2769
c5827364
VT
27702013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2771
2772 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2773 * docs/grub.texi: Likewise.
2774
dd2ed8b0
VT
27752013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2776
2777 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2778 viewport.
2779
7286c384
VT
27802013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2781
ffdfc1f3
VT
2782 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2783 minimal width calculations.
7286c384 2784
ea547e14
VS
27852013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * docs/grub.texi: Update note on colors on emu console.
2788
b726be76
VS
27892013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2792 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2793 it's FS and not GRUB limitation.
2794
a5f6ade6
VS
27952013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2798
3b0f3aa2
VS
27992013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2802
1db38304
ST
28032013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2804
2805 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2806 kernels by version order.
2807
fb295fc0
VS
28082013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2811
47345010
VS
28122013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 Add AROS hostdisk and getroot routines.
2815
bf25f879
VS
28162013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 Make cryptodisk and diskfilter probe data retrievable programmatically
2819 and not just printable.
2820
24ca4512
VS
28212013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 Split random retrieving code into separate files.
2824
c7c177f0
VS
28252013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2828 R_ARM_V4BX.
2829
d71b45ae
VS
28302013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2833 condition.
2834 * grub-core/tests/fake_input.c: Likewise.
2835 * grub-core/tests/cmdline_cat_test.c: Likewise.
2836
e44b9a83
VS
28372013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/video/capture.c: Do not do finalization when .fini
2840 is called as there is explicit capture_end.
2841
4fa60739
VS
28422013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2845 changing windows to avoid crash.
2846
17c8bc37
VS
28472013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2850
9d4d7977
VS
28512013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * po/exclude.pot: Add several strings to exclude.
2854
0caa407c
VS
28552013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2858
9ae393da
VS
28592013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2862 ./util/grub-gen-asciih.c to exclude list.
2863
498d5033
VS
28642013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2867 and don't mark error strings for translation.
2868
7d93298f
VS
28692013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2872 properly in case of missing block size.
2873
b2cae20c
VS
28742013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * grub-core/lib/arm/setjmp.S: Add missing license section.
2877
3896d6b4
VS
28782013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * po/swiss.sed: Add replacement for key names and for term computer.
2881
ebc1da55
VT
28822013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2883
2884 * grub-core/gfxmenu/theme_loader.c: New global options for the
2885 theme background image handling. desktop-image-scale-method,
2886 desktop-image-h-align, desktop-image-v-align.
2887 * grub-core/gfxmenu/view.c: Likewise.
2888 * include/gfxmenu_view.h: Likewise.
2889 * include/bitmap_scale.h: Proportional scale functions introduced.
2890 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2891 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2892 cases of unexpected input variables for scale functions.
2893 * docs/grub.texi: Updated documentation for new options.
2894
c5739143
VS
28952013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2898
be74aeb3
VT
28992013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2900
2901 * grub-core/tests/checksums.h: Corrected due to changes in
2902 bilinear interpolation function.
2903
d999ac72
VT
29042013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2905
2906 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2907 to eliminate artefacts in bilinear interpolation.
2908
2b131610
VS
29092013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/video/readers/tga.c: Support paletted tga.
2912
de6e5ff8
VS
29132013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2916 incorrect cbcr setting when in color mode.
2917
fa31ee9c
VS
29182013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * grub-core/video/readers/png.c: Support paletted images and clean up
2921 greyscale support.
2922
e84f8188
VS
29232013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
2926 usage of wrong table which resulted in mishandling of 4-byte
2927 sequences.
2928
29292013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
2930
2931 * grub-core/term/terminfo.c: Add Home and End key sequences.
2932
d72bff09
VS
29332013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * grub-core/video/readers/png.c (grub_png_decode_image_header):
2936 Fix formula for computing total number of bytes.
2937
29648c5d
VS
29382013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
2941 image processing, fix big-endian and support grayscale.
2942
4a876492
VS
29432013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
2946 Correctly will with maximum transparency when using index color.
2947
3ccf16df
VS
29482013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * grub-core/video/readers/png.c: Support grayscale
2951
29522013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
2953
2954 * grub-core/video/readers/jpeg.c: Support grayscale.
2955
3ccf16df 29562013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
2957
2958 * grub-core/commands/loadenv.c: Support skipping signature check
2959 and variable names filtering.
2960
30b7f58f
VS
29612013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
2964 * grub-core/kern/emu/hostfs.c: Likewise.
2965 * util/getroot_unix.c: Likewise.
2966
bab7b1eb
VS
29672013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
2970 Migrate all explicit defines to this new one.
2971
43b1c99d
VS
29722013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
2975 grub_util_fd_strerror when using grub_util_fd_*.
2976 (grub_util_fd_open_device): Likewise.
2977 (grub_util_biosdisk_read): Likewise.
2978 (grub_util_biosdisk_write): Likewise.
2979 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
2980 (grub_util_fd_strerror): Likewise.
2981 (grub_util_fd_sync): Likewise.
2982 (grub_util_fd_close): Likewise.
2983 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
2984 (grub_util_fd_close): Likewise.
2985 (grub_util_fd_strerror): Likewise.
2986 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
2987 function proto rather than macro.
2988 (grub_util_fd_sync): Likewise.
2989 (grub_util_fd_open): Likewise.
2990 (grub_util_fd_strerror): New proto.
2991
e8fd80bc
VS
29922013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
2995 platforms on which it doesn't work.
2996
bf645fda
VS
29972013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3000 stat immediately to where it's used.
3001
5177ba14
VS
30022013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * util/getroot.c (grub_util_check_block_device): Move to ...
3005 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3006 * util/getroot.c (grub_util_check_char_device): Move to ...
3007 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3008
9db826e1
VS
30092013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3012 disk closing logic.
3013
49120085
AB
30142013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3015
3016 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3017
b3328b68
AB
30182013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3019
3020 * docs/grub.texi (File name syntax): Document ZFS filenames
3021 (/volume@snapshot/...).
3022
3fff48ab
VS
30232013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3026 Always return full path. Fixes a problem with mkrelpath.
3027
39cfdaa9
PFS
30282013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3029
3030 * util/grub-install.in: Add GPT PReP support.
3031 * util/grub-probe.c (probe): Support GPT partition type.
3032 (main): Support -t gpt_parttype.
3033
7c680e1f 30342013-09-23 Aleš Nesrsta <starous@volny.cz>
3035
3036 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3037
890bdabe
MM
30382013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3039
3040 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3041
9c262ff9
TH
30422013-09-23 Tim Hardeck <thardeck>
3043
3044 * util/grub.d/10_hurd.in: Filter out character for the class.
3045 * util/grub.d/10_kfreebsd.in: Likewise.
3046 * util/grub.d/10_linux.in: Likewise.
3047 * util/grub.d/20_linux_xen.in: Likewise.
3048
d755342a
MC
30492013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3050
3051 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3052 "changed".
3053
68b77707
JT
30542013-09-23 Josh Triplett <josh@joshtriplett.org>
3055
3056 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3057 boot partition.
3058
efa68bfa
VS
30592013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3062 doesn't use posix_wrap. Keep literal -fno-builtin however.
3063
d9104204
VS
30642013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3067
c248781a 30682013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30692013-09-23 neil
3070
5830df88 3071 * configure.ac: Do not enable -Wmissing-noreturn as its
3072 usefulness is limited and creates problems on some OS notably with
3073 code generated by bison.
3074
30752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30762013-09-23 neil
3077
3078 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3079 supported by all gcc and when it is, it's already enabled by -Wall.
3080
621bed69
VS
30812013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3084 desactivated use of EDID at all.
3085
71764dc8 30862013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30872013-09-23 neil
3088
3089 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3090 video if no text is available.
3091
affce7d4 30922013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
30932013-09-23 neil
3094
3095 * configure.ac: Substitute TARGET_RANLIB.
3096
30972013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30982013-09-23 neil
affce7d4
VS
3099
3100 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3101
3102 Based on patches from AROS.
3103
0e8daad0 31042013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 31052013-09-23 neil
0e8daad0
VS
3106
3107 * grub-core/Makefile.am: Override STRIP and RANLIB.
3108 * configure.ac: compute TARGET_RANLIB.
3109 * INSTALL: Document TARGET_RANLIB
3110
3111 Based on patches from AROS.
3112
3f7d9c82
VS
31132013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3116 that floppies are unpartitioned.
3117
bca8873a
VS
31182013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3121 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3122
31232013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3126 less nice but more portable.
3127 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3128
a47a78be
VS
31292013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3132 for cheat_fd.
3133 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3134 functions.
3135 (grub_cryptodisk_cheat_insert): Likewise.
3136 (grub_cryptodisk_close): Likewise.
3137
e85a5d5c
VS
31382013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3141 Use windows path for DEFAULT_DIRECTORY.
3142
dad9fa6b
VS
31432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3146 difference was likely just gcc version, not anything mingw-related.
3147
7e518ca8
VS
31482013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Use Winapi on both cygwin and mingw32 to share more code between both.
3151
d68d0157
AB
31522013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3153
3154 * util/grub-install.in: Add --grub-editenv option.
3155 * util/grub-install_header (grub_compress_file): Explicitly check for
3156 plain file to avoid cp error.
3157
775b284d
AB
31582013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3159
3160 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3161 names; fix LVM driver name (lvm, not lv).
3162 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3163 names.
3164
3ff4063d
VS
31652013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3168 files rather than one file with loads of #if's.
3169 * util/getroot.c: Likewise.
3170
287faafe
VS
31712013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3174
d1983764
VS
31752013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3178 GNU/Hurd to the list of checked PRNG.
3179
15ce95c4
VS
31802013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3183
207862dd 31842013-09-21 Ales Nesrsta <starous@volny.cz>
3185
7c680e1f 3186 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3187
63653cfd
VS
31882013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3191 * grub-core/disk/lvm.c: Add LVM UUIDs.
3192 * util/getroot.c: Use LVM UUIDs whenever possible.
3193
f5d3e7ef
AB
31942013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3195
3196 * docs/grub.texi (Networking commands): Add documentation for
3197 network related commands.
3198
53c6b7d6
VS
31992013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3202 to determine if device is handled by devmapper.
3203 (convert_system_partition_to_system_disk): Likewise.
3204 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3205 already done in grub_util_open_dm.
3206
e70d6736
LL
32072013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3208
3209 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3210 Clean up stack manipulation (sync_caches_armv*)
3211
90379808
VS
32122013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * util/lvm.c: Remove since unused. Remove remaining references.
3215
386701a8
VS
32162013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 Handle the case of partitioned LVM properly.
3219
3220 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3221 Stop on meeting LVM, mpath or DMRAID.
3222 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3223 (read_device_map): Likewise.
3224 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3225 device is full disk rather than erroring out on LVM and similar cases.
3226
53070787
VS
32272013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3230
1bc783bd
VS
32312013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3234 4K before the end.
3235 Reported by: Leif Lindholm
3236
436ad5c3
PW
32372013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
32382013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3241 codes.
3242
607319c9
CW
32432013-09-18 Colin Watson <cjwatson@ubuntu.com>
3244
3245 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3246 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3247
d404d154
DR
32482013-09-18 Douglas Ray <dougray@cpan.org>
3249
3250 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3251 as secure.
3252
28851ef6
AN
32532013-09-18 Aleš Nesrsta <starous@volny.cz>
3254
3255 * docs/grub.texi: Fix broken link.
3256
897c3bc6
MC
32572013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3258
3259 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3260 to break endless loop.
3261
f1630459
VS
32622013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * util/grub-fstest.c: Fix several printf formats.
3265 * util/grub-mkimage.c: Likewise.
3266 * util/grub-mkimagexx.c: Likewise.
3267 * util/grub-script-check.c: Likewise.
3268
64463dfd
VS
32692013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3272 error.
3273
48972495
VS
32742013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3277
5dd5e64b
VS
32782013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3281 removed in current versions cygwin_conv_*.
3282
1c1f31e5
VS
32832013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * configure.ac: Disable efiemu runtime on cygwin.
3286
c546a259
VS
32872013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3290 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3291
81690478
VS
32922013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3295 error message.
3296
6b87c10a
VS
32972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3300 windows variant.
3301 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3302 data.
3303
8f0baaac
VS
33042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3307 when on x86 and not cygwin.
3308 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3309 -Wl,-melf_x86_64.
3310
b224c266
VS
33112013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * configure.ac: Set CPP to build one when checkoing for freetype for
3314 build.
3315
506b336b
VS
33162013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3319 [!GRUB_BUILD]: Remove has_argument.
3320
8c8c87b7
VS
33212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3324 Replace with a dummy.
3325
7dc5ca13
VS
33262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * configure.ac: Don't change host_os from mingw to cygwin.
3329
c3302aa5
VS
33302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * configure.ac: Change target_os from windows to cygwin.
3333
7b780018
VS
33342013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3337
3338 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3339 (build-grub-gen-asciih): Likewise.
3340 (build-grub-gen-widthspec): Likewise.
3341 * Makefile.util.def (grub-pe2elf): Remove.
3342 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3343 * configure.ac: Separate tests for build.
3344 Move ./build-grub-pe2elf to grub-core.
3345 Fix typo.
3346 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3347 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3348 defined.
3349 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3350 constants.
3351 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3352 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3353 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3354
984cfd8a
VS
33552013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3358 mingw32 as well based on grub_util_get_disk_size.
3359 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3360 grub_util_get_fd_size.
3361 (sync): Removed.
3362 (fsync): Moved to ...
3363 * grub-core/kern/emu/misc.c (fsync): ... here.
3364
f82d79c9
VS
33652013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3366
3367 * include/grub/mm.h (grub_extend_alloc): Remove.
3368 * grub-core/loader/i386/pc/plan9.c: Use own version of
3369 grub_extend_alloc with appropriate types.
3370
fd7dd66d
VS
33712013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3374
43ffba7c
VS
33752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3378
3c7eac44
VS
33792013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 Fix dependencies on cygwin.
3382
3383 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3384 dependencies when used and defined.
3385 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3386
bdb5ba47
VS
33872013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3390 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3391
ed7fbf43
VS
33922013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3395 implementation available to cause compile-time rather than runtime
3396 error.
3397
fc46e9fc
VS
33982013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * util/grub-fstest.c: Don't check for symlinks on windows.
3401
7f68269a
VS
34022013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * INSTALL: Mention unavailability of man pages when cross-compiling.
3405
8ed358e0
VS
34062013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3409 and gcry_log_bug.
3410 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3411
fc97214f
VS
34122013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * INSTALL: Document cross-compilation.
3415 * acinclude.m4: Determine whether nm support -P and --defined-only.
3416 * configure.ac: Add TARGET_ to all variables pertaining to target
3417 that don't have it yet.
3418 * gentpl.py: Likewise.
3419 * grub-core/Makefile.am: Likewise.
3420 * grub-core/genmod.sh.in: Likewise.
3421 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3422 as well.
3423
ca1fb563
IB
34242013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3425
3426 * configure.ac: Remove -Wempty-body. It's not essential and needs
3427 recent gcc.
3428
0031b229
IB
34292013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3430
3431 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3432 * util/getroot.c: Likewise.
3433
54ea2f44
VS
34342013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * grub-core/disk/ahci.c: Add needed explicit cast.
3437 * grub-core/lib/backtrace.c: Likewise.
3438 * grub-core/net/ip.c: Likewise.
3439 * grub-core/net/tcp.c: Likewise.
3440 * grub-core/net/udp.c: Likewise.
3441
3c601f8c
VS
34422013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3445
1d679dda
VS
34462013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * util/import_gcry.py: Add final newline in visibility.h.
3449
00c28dd9
VS
34502013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * conf/Makefile.common: Fix typo.
3453
32af299a
VS
34542013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3457
e733cf52
VS
34582013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * Makefile.am (widthspec.h): Fix typo.
3461 * util/grub-gen-widthspec.c: Likewise.
3462
c6b066f2
VS
34632013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 Move ascii.h and widthspec.h generation to a separate build-time-only
3466 tool.
3467
ad1fe3f9 34682013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3469
3470 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3471 Always fill bootdisk info and improve check for NetBSD disklabel.
3472
92a52dd4
VS
34732013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * conf/Makefile.extra-dist: Add util/bin2h.c.
3476 Reported by: floppym.
3477
b2e9d276
VS
34782013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3481
7b966834
VS
34822013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * configure.ac: Disable unifont and starfield if no freetype was found.
3485
d5c1eef1
VS
34862013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3489 on NetBSD and OpenBSD.
3490
66345b50 34912013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3492
3493 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3494
66345b50 34952013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3496
3497 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3498 reduced. Inheritant options are processed during the theme loading.
3499
66345b50 35002013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3501
3502 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3503
369508b3
AS
35042013-08-14 Avik Sil <aviksil@in.ibm.com>
3505
3506 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3507
35082013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3509
3510 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3511 using qemu.
3512
6f27a3f6
PFS
35132013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3514
3515 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3516 remove-potcdate.sed.
3517
c6ed362a
AB
35182013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3519
3520 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3521 unused attribute from pull argument.
3522
5e7d9464
AB
35232013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3524
3525 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3526 memory leak.
3527
dea55e2a
AB
35282013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3529
3530 * util/getroot.c (pull_lvm_by_command): add --separator option
3531 to vgs call to disable padding of output to 10 characters.
3532
f0b94ded
VS
35332013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3536 here ...
3537 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3538 here.
3539
b828fb5d
VS
35402013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3543 length.
3544
7c9d0c39
VS
35452013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3548 full Canadian cross. Tested with build=x86_64, host=arm,
3549 target=ppc-ieee1275.
3550
816719c8
VS
35512013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * configure.ac: Error if no $BUILD_CC could be found.
3554 Reported by: DevHC.
3555
2af2353b
VS
35562013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3559 i386-multiboot.
3560
797abd0a
VS
35612013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3564 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3565
36e87d25
CW
35662013-08-13 Colin Watson <cjwatson@ubuntu.com>
3567
3568 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3569 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3570 falling back to the partition device, otherwise a later call to this
3571 function may fail spuriously.
3572 Reported by Axel Beckert. Fixes Debian bug #708614.
3573
273349fe
GS
35742013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3575
3576 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3577
418f86c6
GS
35782013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3579
3580 Prevent shadowing of stdlib's devname(3) on BSD.
3581
3582 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3583 and devlast to diskname and disklast, respectively.
3584
c137aea0
CW
35852013-08-11 Colin Watson <cjwatson@ubuntu.com>
3586
3587 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3588
272dc8df 35892013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3590
3591 * docs/grub.texi: Introduce terminal window position options:
3592 terminal-left: terminal window's left position
3593 terminal-top: terminal window's top position
3594 terminal-width: terminal window's width
3595 terminal-height: terminal window's height
3596 terminal-border: terminal window's border width
3597 * grub-core/gfxmenu/theme-loader.c: Likewise.
3598 * include/grub/gfxmenu_view.h: Likewise.
3599 * po/exlude.pot: Likewise.
3600 * grub-core/gfxmenu/view.c: Likewise.
3601 Also updated minimal window size.
3602 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3603 * grub-core/tests/checksums.h: Update (terminal window height
3604 is adjusted now for low resolution screen)
b4743461 3605
748a4533
VS
36062013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3609 position).
3610
fca5f944
VS
36112013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * po/exclude.pot: Add few recent exceptions.
3614
4f47d809
VS
36152013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * tests/grub_func_test.in: Add unicode.pf2.
3618
a62ae90c
VS
36192013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3622 standard rather than noral color, in line with other terminals.
3623
4ed41392
VS
36242013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3627 analysis.
3628
3719fbc5
VS
36292013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3632
459b1d91
VS
36332013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3636 inappropriate printf.
3637
f4e1ab9d
AB
36382013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3639
3640 * .bzrignore: Remove grub-core/lib/dtc-grub,
3641 grub-core/Makefile.libfdt.def
3642 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3643
fa471bfa
VS
36442013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * include/grub/video.h (grub_video_register): Keep double-linked as
3647 well as single-linked invariants.
3648 Reported by: qwertial.
3649
d65be02b
VS
36502013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/commands/nativedisk.c (get_uuid): Handle
3653 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3654
ba8bc620
VT
36552013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3656
3657 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3658 maximum of NW, N, NE heights instead of N's height and maximum of
3659 NW, W, SW widths instead of W's width. (So the box will be always
3660 correctly drawn)
3661
4f0ad029
GS
36622013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3663
3664 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3665 Fix misuse of variable count.
3666
43d53b72
LL
36672013-07-18 Leif Lindholm <leif.lindholm@arm.com>
36682013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
36692013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3670
43d53b72
LL
3671 New ports to arm-uboot and arm-efi.
3672 Mostly by Leif Lindholm with some additions from
3673 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3674
88f8d146
VS
36752013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3678 and not before.
3679 Reported by: Leon Drugi.
3680
3f42504c
VS
36812013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3684 Reported by: Paulo Flabiano Smorigo.
3685
d110499b
VT
36862013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3687
3688 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3689
a8674ad3
VT
36902013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3691
3692 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3693
286fe4b3
VS
36942013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3697
1bd57aa3
VS
36982013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3701
7a87d69f
AB
37022013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3703
3704 * grub-core/net/bootp.c: Export net_* variables.
3705 * grub-core/net/net.c: Likewise.
3706
b2182299
VS
37072013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3710
795b3dc0
VS
37112013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3714
68714c43
VS
37152013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3718
af211bab
VS
37192013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3722
0036f02d
MM
37232013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3724
3725 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3726 <= 0.
3727
6d0ddff3
MM
37282013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3729
3730 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3731 functions.
3732
038016f4
MM
37332013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3734
3735 * grub-core/fs/zfs/zfs_lz4.c: New file.
3736 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3737
776bdce2
MM
37382013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3739
3740 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3741
c71dbd40
MM
37422013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3743
3744 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3745 (check_pool_label): Likewise.
3746 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3747
37482013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3749
3750 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3751
8e67b50f
AB
37522013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3753
3754 * docs/grub.texi (Commands): Document postition parameters
3755 for menuentry command.
3756
f5ae3717
AB
37572013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3758
3759 * util/grub-mknetdir.in: Remove stray line from help output.
3760
9c28da2a
VS
37612013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 Remove early sm712 init as there is no reason for it (the "watchdog"
3764 effect was due to wrong GPIO map).
3765
139072b8
VS
37662013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * grub-core/commands/pcidump.c: Remove static variables.
3769
c6a61bda
VS
37702013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3773
51369614
VS
37742013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * configure.ac: Move delimiter after the infos.
3777
efa8640a
VS
37782013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3781
6f80a7b2
VS
37822013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3785 not filling whole 8x16 space.
3786
a2371e19
VS
37872013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3790
64fce2d8
VS
37912013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * configure.ac: Indicate which liblzma is used if any.
3794
eb272d84
PW
37952013-06-21 Paul Wise <pabs3@bonedaddy.net>
37962013-06-21 Craig Sanders <savannah@taz.net.au>
3797
3798 * util/grub-reboot.in: Document submenu usage.
3799
a9e5abee
CW
38002013-06-25 Colin Watson <cjwatson@ubuntu.com>
3801
3802 * .bzrignore: Update with a number of new test-related files.
3803
e639c204
CW
38042013-06-25 Colin Watson <cjwatson@ubuntu.com>
3805
3806 * util/grub-script-check.c: Fail on scripts containing no
3807 commands, to guard against corrupted grub-mkconfig setups that
3808 produce no useful output.
3809 * tests/grub_script_no_commands.in: New test.
3810 * Makefile.util.def (grub_script_no_commands): Add.
3811 Reported by Hans Putter. Fixes Debian bug #713886.
3812
a4c89b17
AB
38132013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3814
3815 * grub-core/disk/diskfilter.c: Forgot to remove comment
3816 from previous commit.
3817
5b06b53c
AB
38182013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3819
3820 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3821 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3822
702da5c9
AB
38232013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3824
3825 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3826
aa62a5b7
AB
38272013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3828
3829 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3830 rescan diskfilter devices until nothing new is found.
3831
4aa237c8
VS
38322013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3835
93d8479b
VS
38362013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 Don't try to detect cbfs on *-emu.
3839
837222cc
VS
38402013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3843
99c971af
VS
38442013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 Add support for processed coreboot payload chainloading.
3847
e6930a45
VS
38482013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 Enable coreboot information commands even when not loaded as
3851 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3852
5027af38
VS
38532013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 Support for cbfs. Also factor out the part which is common
3856 for all archives to a separate module. This splits tar from cpio
3857 as they are very different but keeps cpio, cpio_be, odc and newc
3858 together since they're very similar.
3859
a5b55c4b
DM
38602013-06-15 David Michael <fedora.dm0@gmail.com>
3861
3862 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3863 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3864
0301a8b3
VS
38652013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * tests/grub_script_eval.in: Really add the eval test.
3868
3d84cb17
VS
38692013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 Move flavour-specific parts out of common cpio.c file and
3872 rename remaining to cpio_common.c
3873
593e430c
AB
38742013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3875
3876 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3877 off new function grub_script_execute_new_scope. Change callers to use
3878 either of them as appropriate.
3879 * grub-core/commands/eval.c: New command eval.
3880 * docs/grub.texi (Commands): Document it.
3881
63c29849
AB
38822013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3883
3884 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3885 to fetch values when listing.
3886
cc284112
AB
38872013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3888
3889 Fix make dist on non-pc.
3890
38912013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
3892
3893 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3894 without a device name.
3895
69544d1e
VS
38962013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 Remove enable_executable_check as it's not needed anymore.
3899 Reported by: dougray.
3900
96dbe648
VS
39012013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3904 ambigouos RAID before discovering RAIDs on top of it.
3905 Reported by: bodom.
3906
ccfc0bdb
VS
39072013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 Fix typo (failback vs fallback).
3910
f2587088
AB
39112013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3912
3913 * util/grub.d/30_os-prober.in: Add support for probing EFI
3914 System Partition (as of os-prober 1.58).
3915
cec5cf0c
VS
39162013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * configure.ac: Add yet another path to unifont. For parabola.
3919
e40b4596
JT
39202013-05-30 Josh Triplett <josh@joshtriplett.org>
3921
3922 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
3923 handling to copy the killed characters to the kill buffer as
3924 UCS4 stored as grub_uint32_t rather than as 8-bit characters
3925 stored as char. Eliminates UCS4 truncation and corruption
3926 observed when killing characters with Ctrl-u and yanking them
3927 back with Ctrl-y.
3928
fc4c4fdd
VS
39292013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 Detach optional parts of gfxterm and integrate in with coreboot init.
3932
6570b205
VS
39332013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 Move blit and fill dispatcher to appropriate files to decrease export
3936 and relocation overhead.
3937
b8323067
VS
39382013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/font/font.c, include/grub/font.h: Inline simple font
3941 functions.
3942
3cc1878f
VS
39432013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/Makefile.am: Fix compilation problem with some
3946 automake versions.
3947
4b80e43c
VS
39482013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
3951
57e0c20c
VS
39522013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
3955 automake versions.
3956
4fd42c53
VS
39572013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
3960 SSDT.
3961
1e908b34
RS
39622013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
3963
3964 * grub-core/partmap/dfly.c: New partition map.
3965
1359e474
VS
39662013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
3969 checking.
3970 Reported by: Francesco Lavra.
3971
17806392
AB
39722013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
3973
3974 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
3975 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
3976 false conditions.
3977 * conf/Makefile.common: define dist_grubconf_DATA
3978
cdce14fa
VS
39792013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 Progressively skip menu elements on small terminals rather
3982 than crashing.
3983
c8d6cc3c
VS
39842013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3987 to avoid losing last column.
3988
a73b31ce
VS
39892013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * po/exclude.pot: Add missing string "%C".
3992
1202c764
VS
39932013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
3996 after the test.
3997
50268344
VS
39982013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * util/grub-install.in: Gettextize "Not found" message.
4001
62b15edf
VS
40022013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 Fix distfiles list.
4005 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4006
40072013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
4008
4009 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4010 present.
4011 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4012
709ad61b
VS
40132013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4016
d128901a
VS
40172013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4020 attribute since structure is not necessarily aligned.
4021
34b22f5c
AB
40222013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4023
4024 * docs/grub.texi (Device syntax): Clarify description of network
4025 drives.
4026
0f7e980b
VS
40272013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4030 for vasprintf presence.
4031
30b03dc2
VS
40322013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * util/grub-install.in: Handle efibootmgr presence check.
4035 Reported by: Leif Lindholm.
4036
0dc11c08
VS
40372013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4038
4039 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4040 new strings to translate.
4041
f8024c3f
VS
40422013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4045 yet another string (pun intended) to translate.
4046
b4c1da62
VS
40472013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * po/POTFILES-shell.in: Autogenerate it.
4050
0ef7478b
VS
40512013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4054
8200fa15
VS
40552013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4058 misnomer.
4059
091945b2
AB
40602013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4061
4062 * docs/grub.texi (Network): Add description of net_default_interface,
4063 net_default_ip and net_default_mac. Rewrite variables description
4064 to emphasize that they are per-interface.
4065
0e7b2e32
VS
40662013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 New test: cmdline and cat.
4069
16f7c8f6
VS
40702013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 * grub-core/commands/cat.c: Show UTF-8 characters.
4073
3e912fda
VS
40742013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * conf/Makefile.common: Poison float and double on non-emu.
4077
ee0220bc
VS
40782013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * configure.ac: Don't disable extended registers on emu.
4081
89e0240c
VS
40822013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * configure.ac: Don't use extended registers on x86_64.
4085 Reported by: Peter Jones.
4086
e56d9637
VS
40872013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * grub-core/term/efi/console.c: Fix compile error.
4090
8098f655
VS
40912013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 Compressed HFS+ support.
4094
16940e07
VS
40952013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4098 pixel".
4099
c5dbc13d
VS
41002013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 Menu color test.
4103
011f8ae8
VS
41042013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * grub-core/tests/setjmp_test.c: New test.
4107
2aa072d7
VS
41082013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 New variables 'net_default_*' to determine MAC/IP of default interface.
4111
43fe02cb
VS
41122013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * tests/gettext_strings_test.in: A test to check for strings not
4115 marked for translation.
4116
bed06142
VS
41172013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * autogen.sh: Exclude unused libgcrypt files from translation.
4120
fb2666b5
VS
41212013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 Simplify few strings.
4124
d22840ec
VS
41252013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 Mark few forgotten strings for translation.
4128
e34092fd
VS
41292013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4132 rather than printf.
4133
47cf82b4
VS
41342013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4137 rather than printf.
4138 * grub-core/video/readers/tga.c: Likewise.
4139
1eed0e6e
VS
41402013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * tests/priority_queue_unit_test.cc: New test.
4143
c5b7697b
VS
41442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4147 than printf.
4148
5945c2f8
AB
41492013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4150
4151 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4152 variable for one time boot menu entry.
4153
fa292343
B
41542013-05-05 Bean <bean123ch@gmail.com>
4155
4156 * grub-core/commands/testspeed.c: New command testspeed.
4157
310d4214
VS
41582013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 Factor-out human-size printing.
4161
85002bf3
VS
41622013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 Agglomerate more mallocs to speed-up gfxterm.
4165
22b06e96
VS
41662013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 Speed-up gfxterm by slightly agglomerating mallocs.
4169
b7c036bc
VS
41702013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 More video checks.
4173
92323d1f
VS
41742013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 Speed-up gfxterm by saving intermediate results in index+alpha
4177 format.
4178
0fb356a3
VS
41792013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4182 test.
4183
44dea3f9
VS
41842013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4187 line of timeout as it may contain the rest of long line.
4188
14af86e4
VS
41892013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * grub-core/normal/main.c: Fix freed memory dereference.
4192
03f7c8c3
VS
41932013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 Fix several memory leaks.
4196
c686014c
VS
41972013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4200
0788a695
VS
42012013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4204
daf01d61
VS
42052013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 Fix test -a and -o precedence.
4208 Reported by: adrian15.
4209
82ae74d7
VS
42102013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4213
8cec7bd4
AB
42142013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4215
4216 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4217 and add it as source to functional_test module.
4218
aa73d688
VS
42192013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4222
c104b6f9
VS
42232013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 New series of tests for gfxterm and gfxmenu.
4226
7391c4d5
VS
42272013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4230 the theme path relative to $prefix/themes.
4231
cff50118
VS
42322013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4235 Fix order bug.
4236 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4237
7c332bdc
VS
42382013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4241 descriptor.
4242
a4f9a5ff
VS
42432013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4246 grub_gfxmenu_timeout_notifications.
4247 (grub_gfxmenu_view_destroy): Likewise.
4248
b5a2114d
VS
42492013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4252
a8905e8a
VS
42532013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 Several fixes to ieee1275 and big-endian video.
4256
813c1622
VS
42572013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Add missing exports on mips.
4260
3f3e7326
VS
42612013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4264 if no unifont is found.
4265 Restore original keyboard.
4266
095accd1
VS
42672013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4270 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4271
50361660
VS
42722013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 First automated video test (running videotest and comparing results)
4275
cd0f6eec
VS
42762013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4279 instead of 2 to have full RGB/CMY test pattern.
4280
3f9634e5
VS
42812013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 Add few more tests.
4284
583e5b64
VS
42852013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4288 ARCS. All users updated.
4289
aa7bcb99
VS
42902013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4293
95ef1a54
VS
42942013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4297
46546fc5
VS
42982013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4301 Reported by: qwertial.
4302
3476e0ef
VT
43032013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4304
4305 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4306 with syntax "XXX deg"/"XXX °".
4307
96f33fed
VS
43082013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 Make PCI init in i386-qemu port more robust.
4311
43122013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4313
4314 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4315 cached view is reused.
4316 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4317 open boot menus.
4318
c53b4e67
VS
43192013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 Unify more code in grub-install_header.
4322
f7457fb2
VS
43232013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 Add few new tests.
4326
e2f27a8c
VS
43272013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 Enforce disabling of firmware disk drivers when native drivers kick in.
4330
ef9d8cd5
VS
43312013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/commands/nativedisk.c: Customize the list of modules on
4334 platform. Don't try to search for disks already using native drivers.
4335
f7bf6c31
VS
43362013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4339 platforms.
4340
bdc4add8
VS
43412013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4344 handling of variables containing backslash.
4345
e9e46c9a
VS
43462013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4349 dereference.
4350 Reported by: qwertial.
4351
0e90dee8
VS
43522013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4355
e0aacf24
VS
43562013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4359 dereference.
4360 Reported by: qwertial.
4361
3c0003c3
VS
43622013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4365
adb7d667
VS
43662013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4369
7cd0df84
VS
43702013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 New command `nativedisk'.
4373
02adbb93
VS
43742013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4377 * grub-core/loader/i386/bsd.c: Likewise.
4378
9fb0fd4f
VS
43792013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4382
bd69257a
VS
43832013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4386 grub_get_unaligned16 rather than shifts.
4387
178c2764
VS
43882013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * grub-core/kern/file.c: Use const char * rather than casting to
4391 non-const.
4392
eadfad24
VS
43932013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/commands/probe.c: Add missing grub_device_close.
4396
9f73ebd4
VS
43972013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * INSTALL: Document linguas.sh.
4400
965fa829
VS
44012013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 Remove POTFILES.in and regenerate it in autogen.sh.
4404
d417ddc4
VS
44052013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 Move --directory/--override-directorry to grub-install_header and unify.
4408
f97ec546
VS
44092013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/term/morse.c: Macroify dih and dah.
4412
b2d7470c
PFS
44132013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4414
4415 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4416
141e2a78
VS
44172013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * grub-core/term/ns8250.c: Systematically probe ports by writing
4420 to SR before using them.
4421
1dd70ebd
PFS
44222013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4423
4424 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4425 disks.
4426 (check_sas): Get sas_adress info.
4427
c796a107
VS
44282013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4431 ports.
4432
43168646
LD
44332013-04-27 Leon Drugi <eyak>
4434
4435 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4436 BSS clearing.
4437
e7b8fd08
VS
44382013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 Core compression test.
4441
17f9fd29
VS
44422013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 Implement grub_machine_get_bootlocation for ARC.
4445
dc2a6c8b
VS
44462013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 Improve AHCI detection and command issuing.
4449
f25a2ba6
VS
44502013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 Fix pseries test.
4453
a6393224
VS
44542013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 Make 'make check' work on emu.
4457
db99fbe8
VS
44582013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 Replace libcurses with our own vt100 handling for the ease of testing
4461 and decreasing prerequisites.
4462
b24ca7cd
VS
44632013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4466
63314aa4
VS
44672013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4470 compile when not needed.
4471
c1b00fff
VS
44722013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * tests/pseries_test.in: New test.
4475
f93e89ef
VS
44762013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 Add test to check that different boot mediums work.
4479
c4b456d3
VS
44802013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4483 ofw limited ISO support.
4484
5fe67f39
VS
44852013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * configure.ac: Fix loongson conditional.
4488
7f63a64f
VS
44892013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 Enable mipsel-arc.
4492
b04b5990
VS
44932013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 Add serial on ARC platform.
4496
88d2f302
VS
44972013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4500 commit.
4501
86eb23bc
VS
45022013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * tests/partmap_test.in: Add missing double semicolon.
4505
eec3bb75
VS
45062013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * util/grub-mkrescue.in: Fix loongson filename.
4509
e0810df3
VS
45102013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * util/grub-mkrescue.in: Move all files that don't have a location
4513 set in stone under /boot/grub. Use ISO hard links rather than copies
4514 to save some space.
4515
65a6b30b
VS
45162013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4519 bogus SLOF values.
4520
6aff0107
VS
45212013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 Make check work on mips-arc.
4524
5e013e56
VS
45252013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * util/grub-mkrescue.in: Alias sashARCS as sash.
4528
d1989e2e
VS
45292013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4532 it's serial.
4533
1a25e72c
VS
45342013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 * util/grub-install.in: Fix target fo qemu_mips.
4537 Fix extension on EFI.
4538
a59a9826
VS
45392013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4542 in front of chosen entry to mark it even if highlighting is lost.
4543
1a40f80c
VS
45442013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4547 gfxpayload=keep if cbfb is active.
4548
e343549c
VS
45492013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4552
45fbd9a2
VS
45532013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 Add missing video ids to coreboot and ieee1275 video.
4556
ab1440bd
VS
45572013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * util/grub-mkrescue.in: Add mips-arc support.
4560
cdeb8324
VS
45612013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4564
8528c879
VS
45652013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 Move mips-arc link address. Previous link address was chosen
4568 in belief that RAM on SGI platforms grows down while in fact it
4569 grows up from an unusual base.
4570
17fca573
VS
45712013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4574 Fix a type which prevented CD-ROM and floppy boot.
4575
d178788e
VS
45762013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 Support coreboot framebuffer.
4579
4580 * grub-core/video/i386/coreboot/cbfb.c: New file.
4581
fe4c3e7e
VS
45822013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4585 detecting too small regions.
4586
ec2dd179
VS
45872013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4590
872dac83
VS
45912013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4594 Remove dprintf.
4595 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4596
90ec4b7f
VS
45972013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4600 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4601 * grub-core/loader/powerpc/ieee1275/linux.c
4602 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4603
f32555dd
VS
46042013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4607 Look for /boot-rom as well as /rom/boot-rom.
4608
38649799
VS
46092013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4612 handling when creating text_layer failed.
4613 * grub-core/video/video.c (grub_video_create_render_target):
4614 Set result to 0 on error.
4615 (grub_video_delete_render_target): Do not dereference NULL.
4616
aeace7f7
VS
46172013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4620 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4621 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4622 (grub_linux_load64): Mask out 2 high bits.
4623
4eafa175
AB
46242013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4625
4626 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4627 more place.
4628
daaa64bd
VS
46292013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 Add support for pseries and other bootinfo machines to grub-mkrescue.
4632
4633 Tested by: Paulo Flabiano Smorigo.
4634
d0d2daa6
VS
46352013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * util/grub-mkrescue.in: Add GPT for EFI boot.
4638
b193e100
VS
46392013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4642 It improves performance in qemu.
4643
a0f8f3ac
VS
46442013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * build-aux/snippet: Add missing gnulib files.
4647
284df0e2
AB
46482013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4649
4650 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4651
740201f3
AB
46522013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4653
4654 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4655
a7e03923
PJ
46562013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
46572013-04-15 Peter Jones <pjones@redhat.com>
4658
4659 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4660 sectors.
4661 Based on patch by Peter Jones.
4662
25fc51a8
VS
46632013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 Fix DMRAID partition handling.
4666
88017d47
VS
46672013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 * tests/grub_cmd_date.in: Skip on sparc64.
4670
fa7d914e
VS
46712013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4674 firmware error messages.
4675
cbe57a48
VS
46762013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4679 source and destination differ.
4680
21aecce0
VS
46812013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4684 detection.
4685
25092d29
VS
46862013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4689 match config-util.h to avoid warnings and increase compatibility.
4690
79451522 46912013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 46922013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4693
4694 Add option to compress files on install/image creation.
4695
78b7d77b
VS
46962013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * docs/grub-dev.texi: Rearrange menu to match the section order.
4699 Reported by: Bryan Hundven.
4700
cc2fa5ec
VS
47012013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4704
b49fe879
VS
47052013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 Move GRUB out of system area when using xorriso 1.2.9 or later.
4708
5351da81
VS
47092013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * tests/grub_cmd_date.in: Add missing exit 1.
4712
c9d586ea
VS
47132013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * tests/partmap_test.in: Skip on sparc64.
4716
3f729741
VS
47172013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 Support grub-shell on sparc64.
4720
8ca86b3a
VS
47212013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 Support mkrescue on sparc64.
4724
aa1af9bb
VS
47252013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4728 Needed on OpenBIOS due to incomplete device tree.
4729
ac4fea79
VS
47302013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4733 would be otherwise excluded.
4734
47352013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4736
4737 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4738 Inline name defines used only once.
4739
fe22b071
VS
47402013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 Fix memory leaks in ofnet.
4743 Reported by: Francesco Lavra.
4744
9d21381b
VS
47452013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * docs/man/grub-glue-efi.h2m: Add missing file.
4748
07aec23c
VS
47492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4752
67ab8353
VS
47532013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 Better support Apple Intel Macs on CD.
4756
ba44ca6d
VS
47572013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 Replace stpcpy with grub_stpcpy in tools.
4760
bbdd6305
VS
47612013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 Handle Japanese special keys.
4764 Reported by: Hiroyuki YAMAMORI.
4765 Codes supplied by: Hiroyuki YAMAMORI.
4766
8573d302
VS
47672013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * util/grub-mkimage.c: Document memdisk implying --prefix.
4770
d70dbab7
VS
47712013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4774 much we can do about it anyway.
4775
51a4c3e3
AN
47762013-04-12 Aleš Nesrsta <starous@volny.cz>
4777
4778 Fix handling of split transfers.
4779
92c8f58d
VS
47802013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * grub-core/net/http.c: Fix bad free.
4783
b7d17a49
VS
47842013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4787 than buffer size.
4788
a3d566d4
VS
47892013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4792
a936af56
VS
47932013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * tests/util/grub-shell.in: Fix it on powerpc.
4796
51212234
VS
47972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 Turn off QEMU ACPI-way since new releases don't have shutdown port
4800 anymore.
4801
a21eec9e
VS
48022013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * docs/grub.texi: Update coreboot status info.
4805
e3734b84
VS
48062013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * tests/grub_cmd_date.in: New test for datetime.
4809
f9d40055
VS
48102013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * tests/partmap_test.in: Fix missing qemudisk setting.
4813
dbc56d8f
VS
48142013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 Support i386-ieee1275 grub-mkrescue and make check on it.
4817
a79b8a15
VS
48182013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4821 feature for it.
4822
48f39bb4
VS
48232013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4826 GRUB_CMDLINE_XEN_DEFAULT.
4827 Reported by: Marc Warne (GigaTux) <gigatux>
4828
053cfcdd
VS
48292013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 Import new gnulib.
4832
93cd84df
VS
48332013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 Use ACPI shutdown intests as traditional port was removed.
4836
f4b1fa4f
AB
48372013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4838
4839 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4840 distinction.
4841
49818a59
VS
48422013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4845 Fix few warining messages and leaks while on it.
4846
9277a306
AB
48472013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4848
4849 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4850 links under grub-core/lib/libgcrypt-grub/mpi.
4851
d5e2a158
VS
48522013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 Fix ia64-efi image generation on big-endian machines. Deduplicate
4855 some code while on it.
4856 Reported by: Leif Lindholm.
4857
18866643
AB
48582013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4859
4860 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4861 as extra_dist.
4862
ca53deb8
AB
48632013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4864
4865 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4866
d4c4b8e1
BH
48672013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4868
4869 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4870 texinfo-5.1.
4871
47043f95
VS
48722013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * grub-core/normal/term.c: Few more fixes for menu entry editor
4875 rendering.
4876 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4877
a3216068
VS
48782013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 * grub-core/normal/term.c: Few more fixes for menu entry editor
4881 rendering.
4882 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4883
21026747
AB
48842013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4885
4886 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4887 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4888
59624ca8
AB
48892013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4890
4891 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4892 instead of hardcoding grub.mo.
4893
1f44478c
FN
48942013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4895
4896 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4897
eeada7b1
VS
48982013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4901 grub-core/disk/geli.c.
4902
132867de
VS
49032013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * util/grub-mkfont.c: Prefer enum to #define.
4906
de73de17
VS
49072013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4910
1865baa7
VS
49112013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4914
ce7d92a9
VS
49152013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
4918
52eab656
VS
49192013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
4922
98b23b95
VS
49232013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * include/grub/bsdlabel.h: Use enums.
4926
0467a5dd
VS
49272013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 Move GRUB_CHAR_BIT to types.h.
4930
16cc9f03
AB
49312013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4932
4933 * docs/grub.texi: Document more user commands.
4934
3152aecb
AB
49352013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4936
4937 * docs/grub.texi: Document menuentry --id option.
4938
c506fc30
FL
49392013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
4940
4941 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
4942
aa428238
VS
49432013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 Unify file copying setup across different install scripts. Add
4946 options for performing partial install.
4947
efe0cdda
PJ
49482013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
49492013-04-04 Peter Jones <pjones@redhat.com>
4950
4951 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
4952
f75835bd
VS
49532013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 Use TSC as a possible time source on i386-ieee1275.
4956
2cd5ce6c
VS
49572013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
4960 Init err.
4961
c9625630
VS
49622013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * util/grub-setup.c (setup): Handle some corner cases.
4965
be008941
VS
49662013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
4969
1a78d573
VS
49702013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 * grub-core/commands/verify.c: Save verified file to avoid it being
4973 tampered with after verification was done.
4974
db8ff59f
VS
49752013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
4978 reported width by one to compensate for curesor algorithm problem.
4979
91bf46b1
VS
49802013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 Fix screen corruption in menu entry editor and simplify the code
4983 flow while on it.
4984
a7b1d693
AB
49852013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
4986
4987 * util/grub-mount.c (fuse_init): Return error if fuse_main
4988 failed.
4989
31df9ad8
FL
49902013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
4991
4992 * include/grub/elf.h: Add missing ARM relocation codes and fix
4993 existing ones.
4994
07f392eb
VT
49952013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4996
4997 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
4998
9efd73ec 49992013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
50002013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5003 into account when calculating radius.
5004
50052013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
5006
5007 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5008
4985ddaa
VT
50092013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5010
5011 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5012
8c3635ff
RS
50132013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5014
5015 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5016 missing closing bracket.
5017
74a35e69
RS
50182013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5019
5020 * INSTALL: Mention xorriso requirement.
5021
40f1c000
AB
50222013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5023
5024 * grub-core/commands/verify.c: Fix hash algorithms values for
5025 the first three hashes - they start with 1, not with 0.
5026
e75fdee4
VS
50272013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5030 Try terminating EFI services several times due to quirks in some
5031 implementations.
5032
33028f4c
CW
50332013-03-26 Colin Watson <cjwatson@ubuntu.com>
5034
5035 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5036 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5037 BankField extended opcodes.
5038 (get_sleep_type): Add minimal scope handling (just enough to
5039 handle setting the scope to the root path).
5040 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5041 * include/grub/acpi.h: Add enumeration values for Event, Device,
5042 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5043
33871a10
VT
50442013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5045
5046 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5047 memory leak.
5048
8990963a
VS
50492013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * grub-core/disk/ahci.c: Give more time for AHCI request.
5052
daae8f9e
VS
50532013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5056 command.
5057
6a7fb94b
VS
50582013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 Replace the region at 0 from coreboot tables to available in BSD
5061 memory map.
5062
ff99babd
VS
50632013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5066 non-BIOS platforms.
5067
30d6b1b2
VS
50682013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5071 platforms.
5072
6ccd0b31
VS
50732013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5076 handling of multi-device filesystems.
5077
23c9cc04
VS
50782013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5081 platforms.
5082
ce50dbd7
VS
50832013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 Add new 'proc' filesystem framework and put luks_script into it.
5086
d975e8d5
VS
50872013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5090 and qemu.
5091
e73ba5e8
VS
50922013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5095
92750e4c
VS
50962013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 Add ability to generate newc additions on runtime.
5099
0ec45a68
VS
51002013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5103 description.
5104
320abd43
VS
51052013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * po/POTFILES.in: Regenerate.
5108
d7a6506e
VS
51092013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * grub-core/commands/verify.c (hashes): Add several hashes
5112 from the spec.
5113
8fe05def
VS
51142013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 Slight improve in USB-related boot-time checkpoints.
5117
524e2766
VS
51182013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * grub-core/commands/boottime.c: Fix copyright header.
5121
cc19857a
VS
51222013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5125 coreboot tables content. Support for cbmemc.
5126
ef8810e9
VS
51272013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 Fix a conflict between ports structures with 2 controllers of
5130 same kind.
5131
e9dabdfa
VS
51322013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 * include/grub/boottime.h: Add missing file.
5135
f6df57d2
VS
51362013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 Initialize USB ports in parallel to speed-up boot.
5139
d745dda7
VS
51402013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 Fix USB devices not being detected when requested
5143 due to delayed attach.
5144
e5a2dd7b
VS
51452013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5146
e744219b
VS
5147 Implement boot time analysis framework.
5148
51492013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5152 descriptor to just receive it as argument rather than endpoint
5153 address.
5154
5dd6f587
VS
51552013-03-19 Aleš Nesrsta <starous@volny.cz>
5156
5157 Better estimate the maximum USB transfer size.
5158
2f1071d5
VS
51592013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 Resend a packet if we got the wrong buffer in status.
5162
46ecfc49
VS
51632013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5166 multiplication rather than division.
5167
ea811130
VS
51682013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5171 than divisions.
5172
d2789cf0
VS
51732013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5176 operations to have intended shifts and not divisions.
5177
a9c94590
VS
51782013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5181 intended shifts rather than division.
5182
84cfe81b
VS
51832013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5186 computation for some years before epoch. Avode confusing division
5187 while on it.
5188
21344ef6
VS
51892013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/video/i386/pc/vbe.c
5192 (grub_video_vbe_print_adapter_specific_info): Replace division by
5193 shifts.
5194
3f2b4d1a
VS
51952013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 Adjust types in gdb module to have intended unsigned shifts rather than
5198 signed divisions.
5199
3dac5878
VS
52002013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5203 maximum size is 4G - 1 on hfs
5204
5341c0fb
VS
52052013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5208
fc3ff2a2
VS
52092013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5212 function.
5213
81455e8e
AB
52142013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5215
5216 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5217 causing gcc error with gcc 4.7.1.
5218
efd4f117
NZ
52192013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5220
5221 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5222 dereference null pointer. While the code is technically correct, gcc
5223 may eliminate a null check if pointer is already dereferenced.
5224
e11645f4
NZ
52252013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5226
5227 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5228 OOM check.
5229 * grub-core/normal/term.c (read_terminal_list): Likewise.
5230
77468368
VS
52312013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 Lift up core size limits on some platforms. Fix potential memory
5234 corruption with big core on small memory systems. Document remaining
5235 limits.
5236
f6b58fe5
VS
52372013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5240 gotoxy to 0,0.
5241
19ce697d
VS
52422013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 Remove all trampoline support. Add -Wtrampolines when
5245 present. Remove symbols used for trampolines to make
5246 link fail if trampolines are present.
5247
73b5d90f
VS
52482013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5251 append out of its parent.
5252
cb758e96
VS
52532013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5256 parent.
5257
3188131f
VS
52582013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5261 all vars to a macro. All users updated.
5262
e42b2514
VS
52632013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5266 i386-ieee1275.
5267
83e1a1a1
VS
52682013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5271
1d5a880f
VS
52722013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5275
6e4146c4
VS
52762013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 Move to more hookless approach in IEEE1275 devices handling.
5279
99fcda8a
VS
52802013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * grub-core/kern/term.c (grub_term_normal_color),
5283 (grub_term_highlight_color): Add back lost defaults.
5284
73bf57e2
VS
52852013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 Make elfload not use hooks. Opt for flags and iterators instead.
5288
7f8c105f
VS
52892013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5292 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5293
396d4091
VS
52942013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5297
52982013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5301 hook pass-through parameter. All users updated and unnested.
5302
74a27421
VS
53032013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5306 out of its parent.
5307
b46d4213
VS
53082013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * grub-core/fs/hfs.c: Remove nested functions.
5311
e114c3cc
VS
53122013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5315 the context through.
5316 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5317
f9b7d780
VS
53182013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * util/grub-editenv.c (list_variables): Move print_var out of its
5321 parent.
5322
ca9c2608
VS
53232013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5326 function.
5327
5d983f5f
VS
53282013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/gentrigtables.c: Make tables const.
5331
3056d3e7
VS
53322013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 Remove nested functions from videoinfo iterators.
5335
e2303774
VS
53362013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5339 for 64-bit platforms.
5340
f42e3a2f
VS
53412013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5344 a FOR_CHILDREN macro.
5345
be174e5e
VS
53462013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5349 platform from firmware path.
5350
0789b672
VS
53512013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 Enable linux16 on non-BIOS systems for i.a. memtest.
5354
5355 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5356 correctly.
5357 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5358
005a9c32
VS
53592013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5362 Fix end of table condition.
5363
ff2b3cd9
VS
53642013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5367 out of its parent.
5368
4fc40ff8
VS
53692013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * grub-core/fs/jfs.c: Remove nested functions.
5372
be42d97a
VS
53732013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * grub-core/fs/minix.c: Remove nested functions.
5376
99373ce4
VS
53772013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/fs/iso9660.c: Remove nested functions.
5380
5aec2afe
VS
53812013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5384 of parent function.
5385
6c69e691
VS
53862013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * util/grub-fstest.c: Remove nested functions.
5389
43c91882
VS
53902013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * grub-core/loader/machoXX.c: Remove nested functions.
5393
4eb8b756
CW
53942013-02-27 Colin Watson <cjwatson@ubuntu.com>
5395
5396 Remove nested functions from disk and file read hooks.
5397
5398 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5399 (struct grub_disk): Add read_hook_data member.
5400 * include/grub/file.h (struct grub_file): Likewise.
5401 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5402 argument.
5403
5404 Update all callers.
5405
df6da5a5
AB
54062012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5407
5408 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5409 Fix off by one error in enumerating extended partitions.
5410
21aecde5
AB
54112013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5412
5413 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5414 memory leak if device name is not found.
5415
f1a19118
AB
54162013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5417
5418 * grub-core/normal/menu_entry.c (update_screen): remove
5419 unused variable `off' which caused scroll down arrow to be always shown.
5420
958bfd20
AB
54212013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5422
5423 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5424 access to unallocated memory.
5425
b7b78edb
AB
54262013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5427
5428 * Makefile.util.def: Add partmap/msdos.c to common library.
5429 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5430 * grub-core/disk/ldm.c: Check for existence of
5431 GRUB_PC_PARTITION_TYPE_LDM.
5432
28d468d6
VS
54332013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5436 sizes and display sector size.
5437
d55ffb02
VS
54382013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 Implement new command cmosdump.
5441
b5ea6ce0
VS
54422013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5443
5444 Support Openfirmware disks with non-512B sectors.
5445
5446 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5447 size of the disk.
5448 * (grub_ofdisk_get_block_size): New function.
5449 * (grub_ofdisk_prepare): Use the correct block size.
5450 * (grub_ofdisk_read): Likewise.
5451 * (grub_ofdisk_write): Likewise.
5452 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5453 New proto.
5454
cc0e476f
VS
54552013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5458
c5dbdc33
VS
54592013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5462 on first error.
5463
3f078c0f
VS
54642013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5467 freeing it.
5468
66a93674
VS
54692013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 Implement USBDebug (full USB stack variant).
5472
c9f0c134
VS
54732013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5476 unless they have unexpected values.
5477
cfe1288b
VS
54782013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5481 grub_print_error.
5482
e42b9969
VS
54832013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5486 zero-out of port structure.
5487
cf94fd62
VS
54882013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5491 of extended attributes.
5492
f81ef4b5
AB
54932013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5494
5495 * util/grub-install.in: change misleading comment about
5496 device.map creation
5497
af18fdb4
VS
54982013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5501 when menu highlight color isn't set.
5502
08bcec50
M
55032013-01-27 C. Masloch <pushbx@38.de>
5504
5505 Improve FreeDOS direct loading support compatibility.
5506
5507 * include/grub/i386/relocator.h (grub_relocator16_state):
5508 New member ebp.
5509 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5510 variable.
5511 (grub_relocator16_boot): Handle %ebp.
5512 * grub-core/lib/i386/relocator16.S: Likewise.
5513 * grub-core/loader/i386/pc/freedos.c:
5514 Load BPB to pass kernel which partition to load from.
5515 Check that kernel file is not too large.
5516 Set register dl to BIOS unit number as well.
5517
7782b8a6
CW
55182013-01-22 Colin Watson <cjwatson@ubuntu.com>
5519
5520 * util/grub-reboot.in (usage): Document the need for
5521 GRUB_DEFAULT=saved.
5522 * util/grub-set-default.in (usage): Likewise.
5523 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5524
e661c180
VS
55252013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5528 than defining WORDS_BIGENDIAN manually.
5529
1c22ca9a
VS
55302013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5533 invariants.
5534
d44892fe
CW
55352013-01-21 Colin Watson <cjwatson@ubuntu.com>
5536
5537 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5538 nested.
5539 (blit_comb: add_device_width): Likewise.
5540
5fdbaed1
CW
55412013-01-21 Colin Watson <cjwatson@ubuntu.com>
5542
5543 Remove nested functions from USB iterators.
5544
5545 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5546 (grub_usb_controller_iterate_hook_t): Likewise.
5547 (grub_usb_iterate): Add hook_data argument.
5548 (grub_usb_controller_iterate): Likewise.
5549 (struct grub_usb_controller_dev.iterate): Likewise.
5550
5551 Update all implementations and callers.
5552
4250985a
VS
55532013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5556 margin when not needed.
5557
7d8848f3
VS
55582013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5559
bc136973 5560 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5561
55622013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5563
bc136973
VS
5564 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5565 asterisk.
7d8848f3 5566
ed12a003
CW
55672013-01-21 Colin Watson <cjwatson@ubuntu.com>
5568
5569 Fix powerpc and sparc64 build failures caused by un-nesting memory
5570 map iterators.
5571
6a0db449
CW
55722013-01-21 Colin Watson <cjwatson@ubuntu.com>
5573
5574 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5575 parameter declarations.
5576
ccd86b21
VS
55772013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5580
822b726b
VS
55812013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 Improve spkmomdem reliability by adding a separator between bytes.
5584
115c2cc1
CW
55852013-01-21 Colin Watson <cjwatson@ubuntu.com>
5586
5587 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5588 an Acer registration utility with several sightings in the wild.
5589 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5590
fc524edf
CW
55912013-01-21 Colin Watson <cjwatson@ubuntu.com>
5592
5593 Remove nested functions from filesystem directory iterators.
5594
5595 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5596 (struct grub_fs.dir): Add hook_data argument.
5597
5598 Update all implementations and callers.
5599
53d3e4e3
CW
56002013-01-21 Colin Watson <cjwatson@ubuntu.com>
5601
5602 * docs/grub.texi (Multi-boot manual config): Fix typo for
5603 "recommended".
5604
c821711f
LL
56052013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5606
5607 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5608 until after its use in generate_image.
5609
6a0debbd
CW
56102013-01-20 Colin Watson <cjwatson@ubuntu.com>
5611
5612 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5613 initrd size to addr_min, since the initrd will be allocated after
5614 this address.
5615
f41e08db
AB
56162013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5617
5618 * conf/Makefile.common: Fix autogen rules to pass definition
5619 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5620
77529e0f
LL
56212013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5622
5623 * include/grub/elf.h: Update ARM definitions based on binutils.
5624
b879aa7b
VS
56252013-01-20 Aleš Nesrsta <starous@volny.cz>
5626
5627 Split long USB transfers into short ones.
5628
8eb8284d
AB
56292013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5630
5631 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5632 is interrupted by ESC.
5633
08dad2dc
VS
56342013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 * util/grub-script-check.c (main): Uniform the error message.
5637
6c724b85
CW
56382013-01-20 Colin Watson <cjwatson@ubuntu.com>
5639
5640 Remove nested functions from ELF iterators.
5641
25239370
CW
56422013-01-20 Colin Watson <cjwatson@ubuntu.com>
5643
5644 Remove nested functions from device iterators.
5645
5646 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5647 (grub_arc_iterate_devs): Add hook_data argument.
5648 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5649 (struct grub_ata_dev.iterate): Add hook_data argument.
5650 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5651 (grub_device_iterate): Add hook_data argument.
5652 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5653 (struct grub_disk_dev.iterate): Add hook_data argument.
5654 (grub_disk_dev_iterate): Likewise.
5655 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5656 Likewise.
5657 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5658 Likewise.
5659 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5660 type.
5661 (struct grub_partition_map.iterate): Add hook_data argument.
5662 (grub_partition_iterate): Likewise.
5663 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5664 (struct grub_scsi_dev.iterate): Add hook_data argument.
5665
5666 Update all callers.
5667
6c0314d6
CW
56682013-01-20 Colin Watson <cjwatson@ubuntu.com>
5669
5670 Fix typos for "developer" and "development".
5671
600dc5f1
VS
56722013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 Add license header to spkmodem-recv.c.
5675
17334a6b
VS
56762013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 Rewrite spkmodem to use PIT for timing. Double the speed.
5679
7d462559
VS
56802013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 Add new command pcidump.
5683
b78d6c32
VS
56842013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 New terminal outputs using serial: morse and spkmodem.
5687
34f71cb8
VS
56882013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 Improve bidi handling in entry editor.
5691
4542e71b
VS
56922013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5695 argument to prevent name collision.
5696
09fd6d82
CW
56972013-01-15 Colin Watson <cjwatson@ubuntu.com>
5698
5699 Remove nested functions from script reading and parsing.
5700
5701 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5702 getline_data argument, passed to getline.
5703 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5704 getline_data argument, passed to grub_parser_split_cmdline.
5705 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5706 lexerstate->getline_data to lexerstate->getline.
5707 (grub_script_lexer_init): Add getline_data argument, saved in
5708 lexerstate->getline_data.
5709 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5710 argument, passed to grub_script_parse.
5711 * grub-core/script/script.c (grub_script_parse): Add getline_data
5712 argument, passed to grub_script_lexer_init.
5713 * include/grub/parser.h (grub_parser_split_cmdline): Update
5714 prototype. Update all callers to pass appropriate getline data.
5715 (struct grub_parser.parse_line): Likewise.
5716 (grub_rescue_parse_line): Likewise.
5717 * include/grub/reader.h (grub_reader_getline_t): Add void *
5718 argument.
5719 * include/grub/script_sh.h (struct grub_lexer_param): Add
5720 getline_data member.
5721 (grub_script_parse): Update prototype. Update all callers to pass
5722 appropriate getline data.
5723 (grub_script_lexer_init): Likewise.
5724 (grub_normal_parse_line): Likewise.
5725
5726 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5727 data argument.
5728 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5729 static instead of nested. Rename to ...
5730 (grub_parser_execute_getline): ... this.
5731 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5732 data argument.
5733 * grub-core/normal/main.c (read_config_file: getline): Make static
5734 instead of nested. Rename to ...
5735 (read_config_file_getline): ... this.
5736 (grub_normal_read_line): Add unused data argument.
5737 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5738 getline): Make static instead of nested. Rename to ...
5739 (grub_script_execute_sourcecode_getline): ... this.
5740 * util/grub-script-check.c (main: get_config_line): Make static
5741 instead of nested.
5742
d0d4b8a0
CW
57432013-01-15 Colin Watson <cjwatson@ubuntu.com>
5744
5745 Remove nested functions from memory map iterators.
5746
5747 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5748 argument, passed to hook.
5749 * grub-core/kern/i386/coreboot/mmap.c
5750 (grub_linuxbios_table_iterate): Likewise.
5751 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5752 instead of nested.
5753 (grub_machine_mmap_iterate): Add hook_data argument.
5754 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5755 Add hook_data argument, passed to hook.
5756 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5757 Likewise.
5758 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5759 Likewise.
5760 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5761 Likewise.
5762 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5763 Likewise.
5764 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5765 Likewise.
5766 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5767 Likewise.
5768 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5769 (grub_machine_mmap_iterate): Likewise.
5770 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5771 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5772 prototype.
5773 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5774 Remove NESTED_FUNC_ATTR from here and from all users.
5775 (grub_mmap_iterate): Update prototype.
5776 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5777 pass appropriate hook data.
5778 (grub_machine_mmap_iterate): Likewise.
5779
5780 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5781 static instead of nested.
5782 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5783 Rename to ...
5784 (lsmmap_hook): ... this.
5785 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5786 Likewise.
5787 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5788 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5789 heap_init): Likewise.
5790 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5791 Rename to ...
5792 (mmap_iterate_hook): ... this.
5793 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5794 Likewise.
5795 * grub-core/lib/ieee1275/relocator.c
5796 (grub_relocator_firmware_get_max_events: count): Likewise.
5797 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5798 to ...
5799 (grub_relocator_firmware_fill_events_iter): ... this.
5800 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5801 hook): Likewise. Rename to ...
5802 (grub_relocator_alloc_chunk_align_iter): ... this.
5803 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5804 Rename to ...
5805 (generate_e820_mmap_iter): ... this.
5806 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5807 Rename to ...
5808 (count_hook): ... this.
5809 (grub_linux_boot: hook): Likewise. Rename to ...
5810 (grub_linux_boot_mmap_find): ... this.
5811 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5812 (grub_linux_boot_mmap_fill): ... this.
5813 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5814 hook): Likewise. Rename to ...
5815 (grub_fill_multiboot_mmap_iter): ... this.
5816 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5817 hook): Likewise. Rename to ...
5818 (count_hook): ... this.
5819 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5820 hook): Likewise. Rename to ...
5821 (grub_fill_multiboot_mmap_iter): ... this.
5822 * grub-core/loader/powerpc/ieee1275/linux.c
5823 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5824 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5825 Likewise. Rename to ...
5826 (alloc_phys_choose): ... this.
5827 (determine_phys_base: get_physbase): Likewise.
5828 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5829 find_hook): Likewise.
5830 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5831 (malloc_hook: count_hook): Likewise.
5832 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5833 Likewise. Rename to ...
5834 (lower_hook): ... this.
5835 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5836 (upper_hook): ... this.
5837 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5838 (post64_hook): ... this.
5839 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5840 Likewise. Rename to ...
5841 (lower_hook): ... this.
5842 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5843 (upper_hook): ... this.
5844 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5845 (grub_mmap_iterate: fill_hook): Likewise.
5846 (fill_mask): Pass addr and mask within a single struct.
5847 (grub_cmd_badram: hook): Make static instead of nested. Rename
5848 to ...
5849 (badram_iter): ... this.
5850 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5851 (cutmem_iter): ... this.
5852
22099030
VS
58532013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5856 delimit path in strings using quotes.
5857 * util/getroot.c (grub_guess_root_devices): Likewise.
5858 (grub_make_system_path_relative_to_its_root): Likewise.
5859 * util/grub-probe.c (probe): Likewise.
5860 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5861 (xrealpath): Likewise.
5862
4a9950ec
VS
58632013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 Fix compilation with older compilers.
5866
5867 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5868 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5869 declarations.
5870 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5871 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5872 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5873 identifier with b.
5874 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5875 * include/grub/crypto.h: Add type defines.
5876 * util/import_gcrypth.sed: Remove duplicate type defines.
5877
adcc6020
VS
58782013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 New command list_trusted.
5881
5882 * grub-core/commands/verify.c (grub_cmd_list): New function.
5883
a4528937
CW
58842013-01-13 Colin Watson <cjwatson@ubuntu.com>
5885
5886 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5887 info message.
5888
ca3a7446
CW
58892013-01-13 Colin Watson <cjwatson@ubuntu.com>
5890
5891 Remove nested functions from PCI iterators.
5892
5893 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5894 passed to hook. Update all callers to pass appropriate hook data.
5895 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5896 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5897 Remove NESTED_FUNC_ATTR from here and from all users.
5898 (grub_pci_iterate): Update prototype.
5899 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5900 instead of nested. Rename to ...
5901 (grub_cs5536_find_iter): ... this.
5902 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5903 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5904 Likewise.
5905 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5906 Likewise.
5907 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5908 Likewise.
5909 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5910 Likewise.
5911 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5912 * grub-core/video/radeon_fuloong2e.c
5913 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5914 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5915 find_card): Likewise.
5916 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
5917 Likewise.
5918
f8e98fee
VS
59192013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/commands/verify.c: Mark messages for translating.
5922
055b36b6
VS
59232013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
5926 fatal.
5927
f7ff879b
VS
59282013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
5931 fatal.
5932
59332013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
5934
5935 * autogen.sh: Do not try to delete nonexistant files.
5936 * util/import_gcrypth.sed: Add some missing header removals.
5937
01323d49
CW
59382013-01-12 Colin Watson <cjwatson@ubuntu.com>
5939
5940 Clean up dangling references to grub-setup.
5941 Fixes Ubuntu bug #1082045.
5942
5943 * docs/grub.texi (Images): Refer generally to grub-install rather
5944 than directly to grub-setup.
5945 (Installing GRUB using grub-install): Remove direct reference to
5946 grub-setup.
5947 (Device map) Likewise.
5948 (Invoking grub-install): Likewise.
5949 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5950 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5951 * util/grub-install.in (usage): Likewise.
5952
5953 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
5954 Apply to grub-bios-setup and grub-sparc64-setup rather than to
5955 grub-setup.
5956 * configure.ac: Remove grub_setup output variable.
5957
5958 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
5959 to grub-bios-setup.
5960 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
5961 grub-setup to grub-sparc64-setup.
5962
5e3b8dcb
VS
59632013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 Import gcrypt public-key cryptography and implement signature checking.
5966
535714bd
VS
59672013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * grub-core/fs/ntfs.c: Ue more appropriate types.
5970 * grub-core/fs/ntfscomp.c: Likewise.
5971 * include/grub/ntfs.h: Likewise.
5972
3e4f3566
VS
59732013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 Support Apple FAT binaries on non-Apple platforms.
5976
5977 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
5978 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
5979 Likewise.
5980 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
5981 Apple FAT binaries.
5982
4dedb13f
VS
59832013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
5986 sector devices.
5987
f8861eaf
CW
59882013-01-07 Colin Watson <cjwatson@ubuntu.com>
5989
5990 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
5991 explicitly zeroing elements.
5992 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
5993 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
5994 of elements in a structure already allocated using grub_zalloc.
5995 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5996
86065b0a
CW
59972013-01-07 Colin Watson <cjwatson@ubuntu.com>
5998
5999 * docs/grub.texi (grub_cpu): New subsection.
6000 (grub_platform): Likewise.
6001
c6f1e92f
VS
60022013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6005
f797ec85
VS
60062013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6009 divisions.
6010
033d0b4b
VS
60112013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6014 * grub-core/fs/ntfscomp.c: Likewise.
6015 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6016 (grub_ntfs_comp): Likewise.
6017
21d1b9a0
VS
60182013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6021 Rename to ...
6022 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6023 of groups_per_block. All users updated.
6024
10ca8645
VS
60252013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6028 grub_error properly.
6029 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6030 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6031
a4c3ed4c
VS
60322013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6035 always in /boot/zfs.
6036 Reported by: Yuta Satoh.
6037
0b716507
YS
60382013-01-03 Yuta Satoh <nigoro>
6039
6040 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6041 ${grub_probe}
6042
00c05e22
VS
60432013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * configure.ac: Extend -Wno-trampolines to host.
6046
dadddb76
VS
60472013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6050 entry->len = 0.
6051
54ce53ca
CW
60522013-01-03 Colin Watson <cjwatson@ubuntu.com>
6053
6054 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6055 (Invoking grub-script-check): Likewise.
6056
8912efca
CW
60572013-01-03 Colin Watson <cjwatson@ubuntu.com>
6058
6059 * docs/grub.texi (Invoking grub-mount): New section.
6060 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6061
c3fc8394
CW
60622013-01-02 Colin Watson <cjwatson@ubuntu.com>
6063
6064 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6065 test failures, so that a failing unit test correctly causes 'make
6066 check' to fail.
6067
45d26abb
CW
60682013-01-02 Colin Watson <cjwatson@ubuntu.com>
6069
6070 Fix failing printf test.
6071
6072 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6073 '$' in the correct order when collecting type information.
6074
971dd2c6
CW
60752013-01-02 Colin Watson <cjwatson@ubuntu.com>
6076
6077 * docs/grub.texi (configfile): Explain environment variable
6078 handling.
6079 (source): New section.
6080 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6081
5c67ea6c
CW
60822012-12-31 Colin Watson <cjwatson@ubuntu.com>
6083
6084 Remove several trivially-unnecessary uses of nested functions.
6085
6086 * grub-core/commands/i386/pc/sendkey.c
6087 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6088 instead of nested.
6089 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6090 Rename to ...
6091 (legacy_file_getline): ... this.
6092 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6093 Likewise.
6094 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6095 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6096 to ...
6097 (probe_dummy_iter): ... this.
6098 * grub-core/kern/i386/coreboot/mmap.c
6099 (grub_linuxbios_table_iterate: check_signature): Likewise.
6100 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6101 check_varstate): Likewise. Mark inline.
6102 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6103 an additional parameter.
6104 (find_long: fnd_long): Likewise. Pass two additional parameters.
6105 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6106 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6107 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6108 Likewise. Rename to ...
6109 (grub_cmos_find_port_iter): ... this.
6110 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6111 Rename to ...
6112 (find_rtc_iter): ... this.
6113
6114 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6115 function directly into the function body, since it is only called
6116 once.
6117
33a68ac6
CW
61182012-12-30 Colin Watson <cjwatson@ubuntu.com>
6119
6120 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6121 __attribute__ ((unused)).
6122 * grub-core/video/bochs.c (find_card): Likewise.
6123 * grub-core/video/cirrus.c (find_card): Likewise.
6124 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6125 * grub-core/video/sis315pro.c (find_card): Likewise.
6126 * grub-core/video/sm712.c (find_card): Likewise.
6127
608b647a
CW
61282012-12-28 Colin Watson <cjwatson@ubuntu.com>
6129
6130 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6131 Fixes Savannah bug #37821.
6132
fd49ceb3
CW
61332012-12-28 Colin Watson <cjwatson@ubuntu.com>
6134
6135 Apply program name transformations at build-time rather than at
6136 run-time. Fixes Debian bug #696465.
6137
6138 * acinclude.m4 (grub_TRANSFORM): New macro.
6139 * configure.ac: Create output variables with transformed names for
6140 most programs.
6141 * util/bash-completion.d/grub-completion.bash.in: Use
6142 pre-transformed variables for program names.
6143 * util/grub-install.in: Likewise.
6144 * util/grub-kbdcomp.in: Likewise.
6145 * util/grub-mkconfig.in: Likewise.
6146 * util/grub-mkconfig_lib.in: Likewise.
6147 * util/grub-mknetdir.in: Likewise.
6148 * util/grub-mkrescue.in: Likewise.
6149 * util/grub-mkstandalone.in: Likewise.
6150 * util/grub-reboot.in: Likewise.
6151 * util/grub-set-default.in: Likewise.
6152 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6153 * tests/util/grub-shell-tester.in: Remove unused assignment.
6154 * tests/util/grub-shell.in: Likewise.
6155 * util/grub.d/00_header.in: Likewise.
6156
7024b3c0
CW
61572012-12-28 Colin Watson <cjwatson@ubuntu.com>
6158
6159 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6160
6161 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6162 HAVE_RAW_DECL_GETS.
6163 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6164
e3501b13
VS
61652012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6168 Reported by: Eriks Latosheks <foresterlv>.
6169
b40c88a9
VS
61702012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 * docs/grub.texi (Network): Update instructions on generating netboot
6173 image.
6174
ce96d01c
VS
61752012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6178 around device name if necessarry.
6179
0f596201
PFS
61802012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6181
6182 * util/grub-install.in: Follow the symbolic link parameter added
6183 to the file command.
6184
600d5bdb
AB
61852012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6186
6187 * util/grub-install.in: Remove stale TODO.
6188
64ebd2f4
PFS
61892012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6190
6191 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6192 dynamic allocation for the bootpath buffer.
6193
74b2fe3e
DTB
61942012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6195
6196 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6197 window too small.
6198
969b804f
VS
61992012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6202 argument rather than font name. All users updated.
6203 (grub_gfxterm_set_window): Likewise.
6204
b9f5ebd6
VT
62052012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6206
6207 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6208 from working.
6209
258f43b7
VS
62102012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * util/getroot.c (convert_system_partition_to_system_disk): Support
6213 nbd disks.
6214
cc1ce5f9
VS
62152012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6218 infinite loop on corrupted FS.
6219
e77a16ca
VS
62202012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 Fix big-endian mtime.
6223
6224 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6225 together sec and usec.
6226 (grub_ufs_dir): Use correct byteswapping for UFS time.
6227
d9c48c7b
VS
62282012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 Support big-endian UFS1.
6231
6232 * Makefile.util.def (libgrubmods): Add ufs_be.c
6233 * grub-core/Makefile.core.def (ufs1_be): New module.
6234 * grub-core/fs/ufs_be.c: New file.
6235 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6236 the file.
6237
2f9f40ba
LL
62382012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6239
6240 * include/grub/types.h: Fix functionality unaffecting typo in
6241 GRUB_TARGET_WORDSIZE conditional macro.
6242
48ff0889
PFS
62432012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6244
6245 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6246
03711240
GS
62472012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6248
6249 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6250 that /netbsd appears first (when it exists).
6251
a31b11bd
CJ
62522012-10-12 Christoph Junghans <ottxor@gentoo.org>
6253
6254 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6255 Fixes Savannah bug #37558.
6256
e8a5d5d4
CW
62572012-10-12 Colin Watson <cjwatson@ubuntu.com>
6258
6259 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6260 description of extract_entries_configfile.
6261
62622012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6263
6264 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6265 preferred_address.
6266 (grub_cmd_linux): Likewise.
6267 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6268 preferred_lifetime. Update all users.
6269
288c757d
CW
62702012-09-26 Colin Watson <cjwatson@ubuntu.com>
6271
6272 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6273 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6274
0d35da3f
CW
62752012-09-26 Colin Watson <cjwatson@ubuntu.com>
6276
6277 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6278 errors from grub-probe to /dev/null, not stdout.
6279
b78c3127
VS
62802012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6283 sector 1.
6284
473959f0
CW
62852012-09-24 Colin Watson <cjwatson@ubuntu.com>
6286
6287 * util/grub-install.in: Make the error message if $source_dir
6288 doesn't exist more useful.
6289
794c8c33
CW
62902012-09-22 Colin Watson <cjwatson@ubuntu.com>
6291
6292 Fix grub-emu build on FreeBSD.
6293
6294 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6295 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6296 headers on Linux.
6297 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6298 implementation is currently Linux-specific.
6299 * util/getroot.c (exec_pipe): Define only on Linux or when either
6300 libzfs or libnvpair is unavailable.
6301 (find_root_devices_from_poolname): Remove unused path variable.
6302
86d08fdb
CW
63032012-09-19 Colin Watson <cjwatson@ubuntu.com>
6304
6305 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6306 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6307 should fit before end == 63.
6308
735abf54
CW
63092012-09-19 Colin Watson <cjwatson@ubuntu.com>
6310
6311 * util/grub-setup.c (write_rootdev): Remove unused core_img
6312 parameter. Update all callers.
6313 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6314 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6315 GRUB_SETUP_BIOS.
6316
140acd3c
VS
63172012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6320 (grub_add_tab): New function.
6321 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6322 * util/grub.d/10_illumos.in: Likewise.
6323 * util/grub.d/10_kfreebsd.in: Likewise.
6324 * util/grub.d/10_linux.in: Likewise.
6325 * util/grub.d/10_netbsd.in: Likewise.
6326 * util/grub.d/10_windows.in: Likewise.
6327 * util/grub.d/10_xnu.in: Likewise.
6328 * util/grub.d/20_linux_xen.in: Likewise.
6329 * util/grub.d/30_os-prober.in: Likewise.
6330
7ddffdad
VS
63312012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6334 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6335 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6336 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6337 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6338 ieee1275-nocursor.
6339 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6340 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6341
4e092454
VS
63422012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6345 le-conversion.
6346 Reported by: BURETTE, Bernard.
6347
735abf54 63482012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6349
6350 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6351 from comment.
6352
dfd39dbd
CW
63532012-09-14 Colin Watson <cjwatson@ubuntu.com>
6354
6355 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6356 IEEE1275 machines. Fixes powerpc-emu compilation.
6357 * include/grub/terminfo.h: Likewise.
6358
3bfa763c
VS
63592012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6362 a const pointer.
6363 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6364 const pointer.
6365 (efiemu_set_variable): Make vendor_guid a const pointer.
6366
250e475b
VS
63672012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 Don't require grub-mkconfig_lib to generate manpages for programs.
6370
6371 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6372 dependencies, don't add grub-mkconfig_lib.
6373 (program): Pass empty adddeps.
6374 (script): Pass grub-mkconfig_lib as adddeps.
6375
592fd0e4
VS
63762012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6379 * util/getroot.c (grub_find_device): Likewise.
6380 (get_mdadm_uuid): Likewise.
6381 (grub_util_is_imsm): Likewise.
6382 (grub_util_pull_device): Likewise.
6383 * util/grub-probe.c (probe): Likewise.
6384
801a3027
BG
63852012-09-10 Benoit Gschwind <gschwind>
6386
6387 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6388 (devs): Add devpath_8.
6389
c5052c81
PJ
63902012-09-08 Peter Jones <pjones@redhat.com>
6391
6392 * grub-core/Makefile.core.def (efifwsetup): New module.
6393 * grub-core/commands/efi/efifwsetup.c: New file.
6394 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6395 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6396 New define.
6397 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6398
8e832f71
JS
63992012-09-05 Jiri Slaby <jslaby@suse.cz>
6400
6401 * configure.ac: Add SuSe path.
6402
f0f55752
CW
64032012-09-05 Colin Watson <cjwatson@ubuntu.com>
6404
6405 * NEWS: Fix typo.
6406
ecadc4c2
CW
64072012-09-05 Colin Watson <cjwatson@ubuntu.com>
6408
6409 * util/import_gcry.py: Sort cipher_files, to make build system
6410 generation more deterministic.
6411
64498f25
VS
64122012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6413
6414 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6415 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6416 (grub_set_datetime): Likewise.
6417
9cc836a2
VS
64182012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6421 warnings.
6422
bcfcea01
VS
64232012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6426
a4099485
VS
64272012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6430
265c162a
CW
64312012-09-04 Colin Watson <cjwatson@ubuntu.com>
6432
6433 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6434 required for checkouts from bzr, but it may be useful for users or
6435 distributors wishing to update translations against a tarball
6436 distribution, and it can be helpful for the tarball to be a superset
6437 of what's in bzr.
6438
3d171e95
CW
64392012-09-04 Colin Watson <cjwatson@ubuntu.com>
6440
6441 * Makefile.am (EXTRA_DIST): Add
6442 grub-core/tests/boot/linux.init-mips.S,
6443 grub-core/tests/boot/linux.init-ppc.S, and
6444 grub-core/tests/boot/linux-ppc.cfg.
6445
f2c2503e
CW
64462012-09-04 Colin Watson <cjwatson@ubuntu.com>
6447
6448 * grub-core/mmap/mips/loongson: Remove empty directory.
6449
64502012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6451
6452 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6453 gone.
6454
ab2163d5
CW
64552012-09-04 Colin Watson <cjwatson@ubuntu.com>
6456
6457 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6458 grub-sparc64-setup.
6459
ce938140
GS
64602012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6461
6462 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6463
529f58a5
GS
64642012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6465
6466 * po/POTFILES.in: Regenerated.
6467
16cf79e9
GS
64682012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6469
6470 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6471 (NetBSD): New subsection.
6472
39b27f1e 64732012-07-22 Ales Nesrsta <starous@volny.cz>
6474
6475 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6476 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6477
a885261b
VS
64782012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6481 * util/grub.d/10_hurd.in: Add missing quoting.
6482 * util/grub.d/10_illumos.in: Likewise.
6483 * util/grub.d/10_kfreebsd.in: Likewise.
6484 * util/grub.d/10_linux.in: Likewise.
6485 * util/grub.d/20_linux_xen.in: Likewise.
6486
7bd29c01
VS
64872012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 New command `lsefi'.
6490
6491 * grub-core/Makefile.core.def (lsefi): New module.
6492 * grub-core/commands/efi/lsefi.c: New file.
6493 * include/grub/efi/api.h: Add more GUIDs.
6494
ac625d8f
VS
64952012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6498 (grub_bsd_elf32_hook): Likewise.
6499 (grub_bsd_elf64_size_hook): Likewise.
6500 (grub_bsd_elf64_hook): Likewise.
6501 (grub_bsd_load_elf): Likewise.
6502
e73bb801
VS
65032012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6506 if hash function is unavailable.
6507 (dec_stream_header): Likewise.
6508
e81db8b5
VS
65092012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6512 filter state.
6513
d187a1c3
VS
65142012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 Fix coreboot compilation.
6517
6518 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6519 (grub_vga_text_init_real): ... this.
6520 (grub_vga_text_fini): Rename to ...
6521 (grub_vga_text_fini_real): ... this.
6522
91a05f64
VS
65232012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6526
6af96df7
VS
65272012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * grub-core/lib/legacy_parse.c: Support clear and testload.
6530
4d569e12
VS
65312012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6534
073b57bb
VS
65352012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6538
a706f4cc
VS
65392012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * grub-core/net/tftp.c (ack): Fix endianness problem.
6542 (tftp_receive): Likewise.
6543 Reported by: Michael Davidsaver.
6544
e7850aa9
VS
65452012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6548
65492012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6552 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6553 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6554
35692881
VS
65552012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6558 efi_mmap_size.
6559 Reported by: Stuart Hayes.
6560
c35fc5bd
VS
65612012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6564
6565 * grub-core/Makefile.core.def (mda_text): New module.
6566 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6567 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6568 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6569 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6570 here.
6571 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6572 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6573 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6574 here.
6575 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6576 to ..
6577 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6578 ... here
6579 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6580 here.
6581 * grub-core/term/i386/vga_common.c: Removed.
6582 * include/grub/i386/vga_common.h: Likewise.
6583 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6584 (grub_vga_cr_bw_read): Likewise.
6585 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6586 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6587 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6588 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6589 grub_vga_cr_read/grub_vga_cr_write.
6590 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6591
5f91f701
VS
65922012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * configure.ac: Bump version to 2.00.
6595 * grub-core/normal/main.c (features): Add feature_200_final.
6596
0c4f85f6
VS
65972012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
65982012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6599
6600 * NEWS: Fix unclarity and language mistakes.
6601
f923ad22
VS
66022012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6605 additional size to 3 pages.
6606 Reported by: Stuart Hayes.
6607
d22029ba
VS
66082012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * NEWS: Add 2.00 entry.
6611
58eee08f
VS
66122012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6615 put explicit "/" for empty path.
6616 (wildcard_expand): Improve dprintf.
6617
c59bdff7
VS
66182012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6621 it's equal to currnode. This can happen with "" symlink.
6622
5e6a440a
YB
66232012-06-27 Yves Blusseau <blusseau@zetam.org>
6624
6625 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6626 echo shell command by printf command.
6627
73a68bcb
VS
66282012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6631 the value returned by firmware is the maximal position, not diumension.
6632 (grub_terminfo_output_state): Use a more sane fallback.
6633
392a603b
VS
66342012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6637
42d0867f
VS
66382012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6641 frequency to 150 MHz.
6642
489509f4
VS
66432012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 Apple fixes.
6646
6647 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6648 __APPLE_
6649 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6650 definition.
6651 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6652
9f3fc883
VS
66532012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 Handle slash in HFS label.
6656
6657 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6658 (grub_hfs_dir): Tanslate slash.
6659 (grub_hfs_label): Don't translate slash.
6660
54853fd7
VS
66612012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6664 network protocol listing since it introduces problematic dependency on
6665 net module.
6666
4dc02ddf
VS
66672012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6670
c50c867d
VS
66712012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 Init video early on yeeloong to avoid being rebooted by watchdog.
6674
6675 * grub-core/Makefile.am (gensm712): New target.
6676 (sm712_start.S): Likewise.
6677 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6678 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6679 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6680 description.
6681 * include/grub/vga.h: Move registry definitions to...
6682 * include/grub/vgaregs.h: ... here.
6683
5f92c8a1
VS
66842012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6687 signedness.
6688
e9e6f111
VS
66892012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6690
6691 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6692 platforms with firmware disk drivers in the core.
6693
754ad9eb
VS
66942012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6697 informative verbose message.
6698 (read_lv): Handle 64-bit segment size.
6699
315654c2
VS
67002012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6703
fb022c79
VS
67042012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6707 character but still remove trainling spaces.
6708 (grub_fat_label): Ignore archive flag.
6709
8645f72c
VS
67102012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6713 cast between linux_kernel_header and linux_kernel_params.
6714
36498496
VS
67152012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6718 type for size.
6719 (grub_raid6_recover_func_t): Likewise.
6720 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6721 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6722
0b5ea6b8
VS
67232012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6726
650cfcfe
GS
67272012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6728
6729 Fix overflow.
6730
6731 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6732 [__NetBSD__]: Add explicit cast before bitshift.
6733
8a4d6a44
VS
67342012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * configure.ac: Bump to 2.00~rc1.
6737
2fb97ed3
VS
67382012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6741 half of $a0.
6742
1fa097dc
VS
67432012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
67442012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6745
6746 * docs/grub.texi: Fix search syntax.
6747 (Multi-boot manual config): Put msdos rather than GPT example.
6748 Grammar corrections.
6749
c890ba78
VS
67502012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6753
0f92dca7
VS
67542012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6757
3988c4a0
VS
67582012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6761 message on double free. Put the value of magic in case of mismatch.
6762
9e86d4c5
VS
67632012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 Speed-up video on yeeloong.
6766
6767 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6768 add cached_ptr.
6769 (grub_video_sm712_video_fini): Unmap cached_ptr.
6770 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6771 (grub_video_sm712_set_active_render_target): Removed.
6772 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6773 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6774 sync caches.
6775
ed24c312
VS
67762012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 Avoid flushing the same line multiple times on loongson.
6779
6780 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6781 Step in 32 bytes and not 1 byte.
6782 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6783 Likewise.
6784
d1718e7d
VS
67852012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6788 subvolumes.
6789
982f1909
VS
67902012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 Implement flow control for http.
6793
6794 * grub-core/net/http.c (parse_line): Handle response 206.
6795 (http_receive): Stall if too many packets are in the queue.
6796 (http_establish): Fix range header.
6797 (http_seek): Fix double free.
6798 (http_close): Likewise.
6799 (http_packets_pulled): New function.
6800 (grub_http_protocol): Set http_seek
6801 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6802 (ack_real): Set window depending on i_stall.
6803 (grub_net_send_tcp_packet): Likewise.
6804 (grub_net_tcp_stall): New function.
6805 (grub_net_tcp_unstall): Likewise.
6806 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6807 (grub_net_tcp_unstall): Likewise.
6808
bd407d6e
VS
68092012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6812
c7564b8e
VS
68132012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6816
a3706162
VS
68172012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * tests/util/grub-shell.in: Fix a typo.
6820
b27069e0
VS
68212012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 Implement flow control for tftp.
6824
6825 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6826 packets but stop only if stop condition is satisfied.
6827 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6828 `stall' instead of `eof' as stop condition.
6829 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6830 (http_err): Likewise.
6831 * grub-core/net/tftp.c (ack): Replace the first argument with data
6832 instead of socket.
6833 (tftp_receive): Stall if too many packets are in wait queue.
6834 (tftp_packets_pulled): New function.
6835 (grub_tftp_protocol): Set packets_pulled.
6836 * include/grub/net.h (grub_net_packets): New field count.
6837 (grub_net_put_packet): Increment count.
6838 (grub_net_remove_packet): Likewise.
6839 (grub_net_app_protocol): New field `packets_pulled'.
6840 (grub_net): New field `stall'.
6841
6b9cfac6
VS
68422012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6845 sync part to handle them.
6846
f35abd81
VS
68472012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6850 * grub-core/net/drivers/ieee1275/ofnet.c
6851 (grub_ieee1275_net_config_real): Likewise.
6852
0e7ec820
VS
68532012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6856 the direct route for server/gateway.
6857
9d611a31
VS
68582012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6861 IP address to server name since we may not hame the DNS.
6862
418f45ab
VS
68632012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6866 freeing random buffer on failure.
6867 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6868
44a0efc1
VS
68692012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6872
531e2241
VS
68732012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6876 reserved bytes.
6877 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6878 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6879 Handle malloc error correctly.
6880
cde393c9
VS
68812012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6884 blocks.
6885
538478d0
VS
68862012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6889 increment.
6890
9b55efe0
VS
68912012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6894 none is explicitly specified.
6895
9eb832c3
VS
68962012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6899 while reallocating.
6900
d6b7c7c9
VS
69012012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 Respect netmask from bootp/dhcp.
6904
6905 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6906 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6907 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6908 into ...
6909 (grub_net_add_ipv4_local): ... this.
6910 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6911 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6912 (grub_net_add_ipv4_local): New proto.
6913
67caf9eb
VS
69142012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
6917 determining EFI memory map size.
6918
43657558
VS
69192012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
6922
eb6d0dd3
VS
69232012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
6926 when looking for partition separator.
6927
31230544
VS
69282012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6931 Escape commas.
6932
918a2517
VS
69332012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 Restructure FAT driver to avoid hook in label reading as it hits a
6936 GCC bug.
6937
6938 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
6939 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
6940 (grub_fat_iterate_dir): Split into ...
6941 (grub_fat_iterate_init): ... this, ...
6942 (grub_fat_iterate_fini): ... this, ...
6943 (grub_fat_iterate_dir_next): ... and this. All users updated.
6944
9f1d654e
VS
69452012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6948 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
6949 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6950 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
6951 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
6952 New fields last_key and last_key_time.
6953 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
6954 extended key-esc into extended key-extended key.
6955
52f0f643
VS
69562012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 Avoid unnecessary memcpy of whole video buffer.
6959
6960 * grub-core/video/fb/video_fb.c (dirty): New struct.
6961 (framebuffer): Add members current_dirty and previous_dirty.
6962 (dirty): New function.
6963 (grub_video_fb_fill_rect): Update dirty.
6964 (common_blitter): Likewise.
6965 (grub_video_fb_scroll): Likewise.
6966 (doublebuf_blit_update_screen): Copy only dirty part.
6967 (doublebuf_pageflipping_update_screen): Likewise.
6968 (grub_video_fb_doublebuf_blit_init): Init dirty.
6969 (doublebuf_pageflipping_init): Likewise.
6970 (grub_video_fb_setup): Likewise.
6971
e169a180
VS
69722012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
6975 poll rate.
6976
48556879
VS
69772012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 Fix wildcard regexp dot and other special characters handling.
6980 Reported by: Robert Mabee.
6981
6982 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
6983 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
6984 (split_path): Trigger expansion on '?'.
6985 (unescape): New function.
6986 (wildcard_expand): Unescape parts copied without globbing.
6987 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
6988 (grub_script_arglist_to_argv): Don't unescape expansions.
6989
0494408e
VS
69902012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * include/grub/net.h (grub_net_card): New member txbufsize.
6993 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
6994 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6995 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
6996 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
6997 txbufsize.
6998 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
6999 compatible property to check for macs. Set
7000 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7001 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7002 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7003 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7004 (send_card_buffer): Use txbuf.
7005 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7006 nested function out of the parent while on it.
7007
cc35fe8f
VS
70082012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7011 presence check.
7012 (grub_ieee1275_net_config_real): Fix config pointer.
7013
970a0a09
VS
70142012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7017 filename parsing to non-block devices.
7018
3e19bf87
VS
70192012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7020
7021 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7022
c62d1a0c
VS
70232012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7026 All users updated.
7027
ef76bec3
VS
70282012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7031 UUID search command even if hints probing failed.
7032
70332012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
7034
7035 * po/POTFILES.in: Regenerated.
7036
70aaf305
VS
70372012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 Speed-up video on fuloong.
7040
7041 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7042 New function.
7043 (grub_pci_device_unmap_range): Handle non-cached address.
7044 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7045 add direct_ptr.
7046 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7047 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7048 (grub_video_sis315pro_set_active_render_target): Removed.
7049 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7050 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7051 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7052 sync caches.
7053 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7054 New proto.
7055
10400f0b
VS
70562012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * docs/grub.texi (Multi-boot manual config): New section.
7059
ba67e2c6
VS
70602012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 Avoid slow read-back from VRAM.
7063
7064 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7065 Move from here ...
7066 * grub-core/video/fb/video_fb.c
7067 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7068 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7069 (front_target): Remove front_target. Add pages.
7070 (grub_video_fb_init): Skip setting front_pages.
7071 (grub_video_fb_fini): Likewise.
7072 (doublebuf_blit_update_screen): Use pages.
7073 (grub_video_fb_doublebuf_blit_init): Likewise.
7074 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7075 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7076 (grub_video_fb_setup): Prefer doublebuffing.
7077
377c98cb
VS
70782012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7081 gzio.
7082
eac49cff
VS
70832012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 Add loongson tests.
7086
7087 * tests/util/grub-shell.in: Handle loongson.
7088 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7089 drivers.
7090 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7091 Reboot instead of shutdown if REBOOT is defined.
7092
0321415e
VS
70932012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7096 sized ports since unlike on real hardware qemu supports only 32-bit
7097 regs.
7098
3f2bdd8f
VS
70992012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7102 * util/grub-mkrescue.in: Handle loongson.
7103
29a049c9
VS
71042012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7107 Set is_part appropriately.
7108 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7109 names. Canonicalize partition without full disk.
7110
4abde346
VS
71112012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 Revert usb-quiesce since it's wrong.
7114
7115 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7116 (grub_ofdisk_init): Don't do quiesce.
7117
61f1d93b
VS
71182012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7121 PowerMac workaround to Xserves as well.
7122 Information supplied by: Benjamin Herrenschmidt.
7123
a09eb541
VS
71242012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 Don't assume that beginning address is also the entry point on ppc.
7127
7128 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7129 (grub_linux_boot): Use linux_entry.
7130 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7131 (grub_linux_load64): Likewise.
7132
505b3c9b
VS
71332012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7136
cbe0b4ef
VS
71372012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7140 needlessly lose the console.
7141
3006e981
VS
71422012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7145 space.
7146
4e5a96b0
VS
71472012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7148
7da036bb
VS
7149 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7150 than current grub_get_rtc() not implemented when booted with
7151 coreboot without TSC.
7152
7153 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7154 Add machine/time.h to kernel headers on loongson.
7155 * grub-core/Makefile.core.def (kernel): Remove
7156 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7157 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7158 (grub_get_rtc): Likewise.
7159 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7160 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7161 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7162 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7163 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7164 rather than installing known non-working time source.
7165 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7166 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7167 * include/grub/time.h: Don't include machine/time.h.
7168 * include/grub/efi/time.h: Removed.
7169 * include/grub/i386/efi/time.h: Likewise.
7170 * include/grub/i386/ieee1275/time.h: Likewise.
7171 * include/grub/powerpc/ieee1275/time.h: Likewise.
7172 * include/grub/sparc64/ieee1275/time.h: Likewise.
7173 * include/grub/x86_64/efi/time.h: Likewise.
7174
71752012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7178
7179 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7180 value.
7181 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7182 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7183 with dotless variants when any combining above is present.
7184
5561c22d
VS
71852012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7188 text and not binary.
7189
96f7e60e
VS
71902012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 Stop polling as soon as we have the packet we were waiting for.
7193
7194 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7195 All users updated.
7196 * grub-core/net/arp.c (have_pending): New var.
7197 (pending_req): Likewise.
7198 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7199 stop indicator.
7200 (grub_net_arp_receive): Set have_pending.
7201 * grub-core/net/dns.c (recv_data): New field stop.
7202 (recv_hook): Set stop.
7203 (grub_net_dns_lookup): Init stop and use as stop condition.
7204 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7205 condition.
7206 * grub-core/net/net.c (grub_net_poll_cards): New argument
7207 stop_condition. Stop when it goes true.
7208 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7209 indicator.
7210 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7211
3e747239
VS
72122012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 Keep TX and RX buffers on EFI rather than always allocate new ones.
7215
7216 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7217 card. All users updated.
7218 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7219 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7220 (get_card_packet): Likewise.
7221 (grub_efinet_findcards): Init new fields.
7222
f695e99a
VS
72232012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7226 compilation error on sparc64.
7227
9e5e66d1
VS
72282012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 Use ITC on IA64 rather than broken routine based on daytime.
7231
7232 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7233 ia64.
7234 (grub_get_rtc) [__ia64__]: Likewise.
7235 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7236 (get_itc): New function.
7237 (grub_rtc_get_time_ms): Likewise.
7238 (grub_machine_init): Calibrate ITC.
7239 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7240 Keep only on non-ia64. Don't export since it's broken and used only
7241 if TSC is unavailable.
7242
a1767404
VS
72432012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7246 even if it's used.
7247 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7248 Skip if parent is unused.
7249
34b2bced
VS
72502012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7253
5e619f40
VS
72542012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 Fix wildcard escaping.
7257
7258 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7259 * grub-core/script/execute.c (wildcard_escape): .. to here.
7260 Don't escape dot.
7261 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7262 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7263 Don't escape dot.
7264 * grub-core/script/execute.c (gettext_append): Always escape.
7265 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7266 * grub-core/script/yylex.l: Don't cut away the escaping.
7267 * tests/grub_script_echo1.in: Add tests with wildcard.
7268
c8ca5855
VS
72692012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7272 (ftdi_hw_configure): Likewise.
7273 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7274 define.
7275 (real_config): Handle 1.5 stop bits.
7276 (pl2303_hw_configure): Likewise.
7277
7183452c
VS
72782012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * Makefile.am: Add ppc linux bootcheck.
7281 * grub-core/tests/boot/linux-ppc.cfg: New file.
7282 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7283
f57c84cd
VS
72842012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * tests/grub_script_expansion.in: Skip network protocols.
7287
ecfc6207
VS
72882012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7291
8d03d284
VS
72922012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7295 --rom-directory.
7296 Add -graft-points.
7297
61c42af0
VS
72982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 ESCC serial driver for conducting sautomated tests in qemu.
7301 Not tested on real hardware.
7302
7303 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7304 * grub-core/term/ieee1275/escc.c: New file.
7305 * grub-core/Makefile.core.def (escc): New module.
7306
08fd1291
VS
73072012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7310 invalid on error.
7311 (serial_hw_fetch): Don't read invalid handle.
7312 (serial_hw_put): Don't write into invalid handle.
7313
08dafeea
VS
73142012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 Add a 1.5 stop bits value.
7317
7318 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7319 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7320 GRUB_SERIAL_STOP_BITS_1_5.
7321
9068fdcf
VS
73222012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7325 value rather than let it uninited.
7326
f4d5820f
VS
73272012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * grub-core/commands/wildcard.c (+check_file): New function.
7330 (wildcard_expand): Don't expand to non-existing files, expand with
7331 suffix and not attempt to expand if not needed.
7332
3d2de9a7
VS
73332012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7336 out of partitions containing other partitions.
7337
c5c81ff9
VS
73382012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7341 on some qemu versions with GRUB.
7342
7343 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7344 define.
7345 (grub_openbsd_bootarg_pcibios): New struct.
7346 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7347 Add PCIINFO.
7348
08a14e0b
VS
73492012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * tests/util/grub-shell.in: Trim firmware output on EFI.
7352
cede3ca3
VS
73532012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7356 and coreboot since it's already in kernel.
7357
558d3a60
VS
73582012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7361 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7362 to here. New return value start. All users updated.
7363 Recursively scan linear mappings.
7364 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7365 proto.
7366 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7367 Use grub_util_get_dm_node_linear_info.
7368 * util/getroot.c (convert_system_partition_to_system_disk): Use
7369 grub_util_info rather than grub_dprintf.
7370 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7371
60fde14d
VS
73722012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7375
7376 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7377 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7378
24bd8838
VS
73792012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 * include/grub/types.h (grub_set_unaligned64): New function.
7382 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7383 (setup): Likewise.
7384
7bc06a49
VS
73852012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7388 (grub_ofdisk_fini): Quiesce USB devices.
7389
49cea015
VS
73902012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7393 caches.
7394
8dcbe03b
VS
73952012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7398
5b258735
VS
73992012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * grub-core/disk/pata.c (grub_pata_pio_read)
7402 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7403 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7404
37ba07eb
VS
74052012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 Extend automated tests to qemu-mips.
7408
7409 * Makefile.am: reorganise tests and enable qemu-mips.
7410 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7411 * grub-core/tests/boot/linux.init-mips.S: New file.
7412 * tests/partmap_test.in: Handle ata0 disks.
7413 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7414 non-pc i386.
7415
070038f8
VS
74162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7419 ia64.
7420 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7421 quotes while on it.
7422
004be2cd
VS
74232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7426 (grub_halt): Likewise.
7427 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7428
b1622487
VS
74292012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * grub-core/term/serial.c (grub_serial_register)
7432 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7433 the behaviour in line with x86 platforms.
7434
b7b4ab33
VS
74352012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7438 (grub_ata_strncpy): Likewise.
7439 (grub_ata_identify): Add missing byteswaps.
7440
5e3535ae
VS
74412012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7444 byte-swap.
7445 (screen_read_char): Likewise.
7446 (grub_vga_text_cls): Likewise.
7447
c21b17e6
VS
74482012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7451 filenames.
7452 (make_file_path): Likewise.
7453
bf293dec
VS
74542012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7457 machines.
7458 Tested by: Paulo Flabiano Smorigo.
7459 Crucial information about API supplied by: Coleen <Last name unknown>.
7460 Reviewed by: Coleen <Last name unknown>.
7461
81f6ef0e
VS
74622012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 * util/grub-mkimage.c: Disable -Wcast-align.
7465
7284143a
VS
74662012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7469 as they are fatal.
7470
b99f3e00
VS
74712012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7474
944f752d
VS
74752012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * util/grub-probe.c (escape_of_path): Fix double free.
7478
6cce6f38
VS
74792012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * grub-core/commands/videoinfo.c (hook): Show pitch.
7482
1e1eb50e
VS
74832012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7486
1c715b5a
VS
74872012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7490 (probe): Add ieee1275 to OFW devices.
7491
007ae52d
VS
74922012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7495
4557a36d
VS
74962012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 Handle IBM OFW path.
7499
7500 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7501 available.
7502 (of_path_of_scsi): Handle vdevice.
7503
efbeefe9
VS
75042012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7507 Allocate in multiples of 16 to avoid adding a few bytes free region the
7508 windows bugs upon.
7509
15a940bb
VS
75102012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7513 Allocate in multiples of 16 to avoid adding a few bytes free region the
7514 windows bugs upon.
7515 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7516
6e5efd60
VS
75172012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7520 resolutions.
7521 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7522 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7523
0d3d137e
IS
75242012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7525
7526 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7527
45dbe300
VS
75282012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7531 resulted in \\ at the end of the line.
7532
6d8db947
VS
75332012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7536 (grub_parser_cmdline_state): Likewise.
7537 (grub_parser_split_cmdline): Likewise.
7538
de89d338
VS
75392012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7542 /dev/root and /dev/dm-*.
7543
00d41dee
VS
75442012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7547 fix partially stale display.
7548
f95d1f11
VS
75492012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7552 substraction.
7553
6297e197
VS
75542012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7557 Fix MBR remapping workaround.
7558 (grub_util_biosdisk_read) [__linux__]: Likewise.
7559
8a7ecad3
VS
75602012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7563
2b34f944
VS
75642012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 * configure.ac: Bump to beta6.
7567
684aef11
CW
75682012-05-31 Christer Weinigel <christer@weinigel.se>
7569
7570 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7571
05b0bb91
VS
75722012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7575 (grub_cmd_linux): Likewise.
7576
bda36bfa
CW
75772012-05-31 Christer Weinigel <christer@weinigel.se>
7578
7579 Fix EHCI low-speed.
7580
7581 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7582 (GRUB_EHCI_MULT_TWO): Likewise.
7583 (GRUB_EHCI_MULT_THREE): Likewise.
7584 (GRUB_EHCI_CMASK_MASK): New enum value.
7585 (GRUB_EHCI_SMASK_MASK): Likewise.
7586 (GRUB_EHCI_CMASK_OFF): Likewise.
7587 (GRUB_EHCI_SMASK_OFF): Likewise.
7588 (grub_ehci_pci_iter): Enable periodic schedule.
7589 (grub_ehci_parse_notrun): Likewise.
7590 (grub_ehci_restore_hw): Likewise.
7591 (grub_ehci_setup_qh): Set flags for low speed transfers.
7592 (grub_ehci_find_qh): Use periodic list for low speed.
7593 (grub_ehci_setup_transfer): Check periodic queue as well.
7594 (grub_ehci_check_transfer): Likewise.
7595 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7596
e12bcb1c
PFS
75972012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7598
7599 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7600 parameter is used.
7601
bcc75fb3
PJ
76022012-05-31 Peter Jones <pjones@redhat.com>
7603
7604 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7605 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7606 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7607
f19cb95e
VS
76082012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7611 uninited variable. Allocate at least setup_sects.
7612
a4e5ca80
VS
76132012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 Fix handling of EFI with big memory maps.
7616
7617 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7618 (real_mode_mem): Likewise.
7619 (real_mode_target): Likewise.
7620 (real_mode_pages): Likewise.
7621 (prot_mode_pages): Likewise.
7622 (linux_params): New var.
7623 (linux_cmdline): Likewise.
7624 (free_pages): Don't set real mode variables.
7625 (allocate_pages): Don't allocate real mode memory.
7626 (grub_e820_add_region): Remove the limit.
7627 (grub_linux_boot): Allocate and copy real mode memory.
7628 (grub_linux_unload): Free linux_cmdline.
7629 (grub_cmd_linux): Use temporary storage for parameters.
7630 (grub_cmd_initrd): Likewise.
7631 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7632 (linux_kernel_params): Make it 1K big.
7633
ddb73558
VS
76342012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * Makefile.util.def: Remove -Wno-format.
7637 * grub-core/Makefile.core.def: Likewise.
7638
1c4afb60
VS
76392012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * tests/cmp_unit_test.c: Add missing failure message.
7642 * tests/example_unit_test.c: Likewise.
7643 * tests/printf_unit_test.c: Likewise.
7644
941e3a6d
VS
76452012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7648 relaxation of protective MBR requirements.
7649
b105df76
VS
76502012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * configure.ac: Add condition for COND_HOST_XNU.
7653 * Makefile.util.def (10_xnu): New script.
7654 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7655
84e1569e
VS
76562012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7659 objconv bug.
7660
130c0f77
VS
76612012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7664 Binary on other platforms stays identical.
7665
6fd0b143
VS
76662012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7669 Apple.
7670
0af1751d
VS
76712012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7674
176d5f7d
VS
76752012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7678 rather than defining size_t ourselves to avoid conflict.
7679
7de5e20a
VS
76802012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7681
7682 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7683 initialisation to avoid __bzero reference.
7684
f7143efe
VS
76852012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7688 version.
7689 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7690 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7691 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7692 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7693 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7694
e6ad0555
VS
76952012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7698 * grub-core/kern/misc.c: Likewise.
7699 * grub-core/loader/i386/xnu.c: Likewise.
7700 * include/grub/i386/tsc.h: Likewise.
7701 * include/grub/symbol.h: Likewise.
7702
4a5a3c4a
VS
77032012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7706 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7707 on older compiler.
7708
037f6d90
VS
77092012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7712 Implement Apple flavour.
7713 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7714
f7194551
VS
77152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7718 (memmove) [__APPLE__]: Likewise.
7719 (memcpy) [__APPLE__]: Likewise.
7720 (memset) [__APPLE__]: Likewise.
7721 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7722 (memmove) [__APPLE__]: Likewise.
7723 (memcpy) [__APPLE__]: Likewise.
7724 (memset) [__APPLE__]: Likewise.
7725
85a730ca
VS
77262012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7729 dependency discard.
7730
40e80b94
VS
77312012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * grub-core/normal/main.c (read_config_file): Provide config_file and
7734 config_directory.
7735 * util/grub.d/41_custom.in: Use config_directoy when available.
7736
9da59c32
VS
77372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7740 (grub_bfs_dir): Likewise.
7741
2787ae53
PJ
77422012-05-27 Peter Jones <pjones@redhat.com>
7743
7744 The old code gives arguments to a printf function which can't work
7745 correctly, and the compiler complains.
7746
7747 * grub-core/tests/example_functional_test.c (example_test): Add
7748 missing text.
7749 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7750 * include/grub/test.h (grub_test_assert_helper): New declaration.
7751 (grub_test_assert): Use grub_test_assert_helper.
7752
526ef13d
VS
77532012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7756 (exfctest): ... this to avoid overlong filenames.
7757 All users updated.
7758
20dd511c
VS
77592012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 Handle "." and ".." on squashfs.
7762
7763 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7764 Make inode numbers into stack.
7765 (grub_squash_read_symlink): Use stack.
7766 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7767 (make_root_node): Fill stack.
7768 (grub_squash_open): Use stack.
7769
1d80c62a
VS
77702012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7773 freeing.
7774
d336f652
VS
77752012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7778 stderr on test calls.
7779
8b43f587
VS
77802012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7781
7782 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7783
80a3dc3f
VS
77842012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7787
47e297d4
VS
77882012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7791 "..".
7792
df042ccb
VS
77932012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7794
7795 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7796 (grub_hfsplus_iterate_dir): Add "." and "..".
7797
fc977f48
VS
77982012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7801 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7802
f3250e5f
VS
78032012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7806 (find_path): Handle "." and "..".
7807
fd8ed4c5
VS
78082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7809
7810 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7811 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7812 (grub_affs_iterate_dir): Handle hardlinks.
7813
4ce776d2
MG
78142012-05-26 Matthew Garrett <mjg@redhat.com>
7815
7816 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7817 (grub_efi_console_fini): Likewise.
7818 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7819 (grub_video_gop_fill_mode_info): Rename to ...
7820 (grub_video_gop_fill_real_mode_info): ... this.
7821 (grub_video_gop_fill_mode_info): New function.
7822 (grub_video_gop_setup): Setup double framebuffer.
7823 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7824 Free offscreen.
7825 (grub_video_gop_swap_buffers): Copy framebuffer.
7826 (grub_video_gop_fini): Free offscreen buffer.
7827 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7828 New enum.
7829 (grub_efi_gop_blt_pixel): New struct.
7830
683031ba
VS
78312012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * gentpl.py: Remove error disabling for objconv.
7834
c2deb798
VS
78352012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 * configure.ac: Remove -Wunitialized as it's not available on older
7838 compilers.
7839
78402012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
7841
7842 Fix extent overflow comparator.
7843
7844 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7845 (grub_hfsplus_read_block): Set type.
7846 (grub_hfsplus_cmp_extkey): Compare type.
7847
d6b1fd36
VS
78482012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7851
0a9aa0f6
VS
78522012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7855 than 0.
7856
8360e159
VS
78572012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7860 (dejavu_bold_14.pf2): New target.
7861
501b9e4b
VS
78622012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * configure.ac: Fix djvu font detection.
7865
7026b0e2
VS
78662012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7869 ext* instead of ext2.
7870
c2a51ade
VS
78712012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7874 name with \0.
7875
8f803a5d
JU
78762012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7877
7878 * docs/grub-dev.texi: Remove dot from .png.
7879
13c6353f
VS
78802012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7883 protective entry in any slot.
7884 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7885 if protective entry is found in any slot.
7886
7887 Protective entry in non-first slot make no sense but is a widespread
7888 brain damage.
7889
4cf6be1b
VS
78902012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7893
937d1c44
VS
78942012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7897 with old reiserfs.
7898 (grub_reiserfs_open): Don't free root.
7899
021d90ec
VS
79002012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7903 after freeing for safety.
7904
967b2b64
VS
79052012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7906
7907 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7908 Reported by: Jordan Uggla.
7909
34274d02
JU
79102012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7911
967b2b64
VS
7912 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7913 actual implementation. Specifically, clarify that the grub menu will
7914 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7915 passed.
34274d02 7916
dcaaae9d
BH
79172012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
7918
7919 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
7920 of r0.
7921
7086ad52
VS
79222012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 Remove unjustified hard dependency of normal.mod on gfxterm.
7925
7926 * include/grub/term.h (grub_term_output): New member fullscreen.
7927 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
7928 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
7929 (grub_gfxterm): Set .fullscreen.
7930 * grub-core/normal/menu.c (menu_init): Use fullscreen.
7931 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
7932
37ed2c9b
VS
79332012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
7936 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 7937 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 7938
a4469c88
VS
79392012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
7942
4e461486
VS
79432012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7946 a bad FS.
7947
aa78f5c4
VS
79482012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
7951 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
7952
197626b5
VS
79532012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
7956 (grub_jfs_mount): Fill caseins.
7957 (grub_jfs_find_file): Respect caseins.
7958
8ad3f28c
VS
79592012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
7962 through UTF-16.
7963
0c6c324e
VS
79642012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
7967 New argument origpath. All users updated.
7968
c6666ba6
VS
79692012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
7972 (read_attr): Ensure that we read start of possibly compressed block.
7973
e28e5fe5
VS
79742012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
7977 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
7978 All users updated.
7979
5fc23ab2
VS
79802012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
7983 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
7984 (dejavu.pf2): Replace with ...
7985 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
7986 this.
7987
79dbc21c
VS
79882012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * util/grub.d/20_linux_xen.in: Add missing line.
7991
d2fcfb0c
VS
79922012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
7995 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
7996 (grub_utf16_to_utf8): Likewise.
7997
5560e9d6
VS
79982012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8001 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8002 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8003 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8004 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8005 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8006
80072012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
8008
8009 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8010 a bad FS.
8011
5560e9d6 80122012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
8013
8014 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8015 (grub_udf_read_symlink): Handle read_string failure.
8016
5eae3175
VS
80172012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8020 comment.
8021
c1ad82db
VS
80222012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 Fix handling of UDF symlinks.
8025
8026 * grub-core/fs/udf.c (read_string): New argument outbuf.
8027 All users updated.
8028 (grub_ufs_read_symlink): Rename to ...
8029 (grub_udf_read_symlink): ... this. All users updated.
8030 Handle symlinks with more than one component.
8031
33eca6e0
VS
80322012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8035 symlinks. Replace leading colon with a slash.
8036
57f4a70b
VS
80372012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8040 filename.
8041
38c8ee20
VS
80422012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8045 match in inner node.
8046
2e57f28f
VS
80472012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8050 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8051 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8052 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8053 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8054 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8055 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8056 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8057 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8058
fe8c2f11
VS
80592012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 Use grub-probe and not cmp to check that disk is empty.
8062
8063 * util/grub-install.in: Use grub-probe for zero-check.
8064 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8065 (probe): Handle PRINT_ZERO_CHECK.
8066 (argp_parser): Handle -t zero_check.
8067
80682012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8069
8070 Flush block cache on adding disk to device map.
8071
8072 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8073 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8074 adding.
8075 (read_device_map): Likewise.
8076 (open_device): Flush on opening.
8077
690434e8
VS
80782012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8079
8080 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8081 (handle_symlink): Fix off-by-one error.
8082 Canonicalize the target.
8083 (grub_cpio_dir): Canonicalize the name.
8084 Fix memory leak.
8085 Set directory.
8086 (grub_cpio_open): Canonicalize the name.
8087
742d2be6
VS
80882012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8091 handling.
8092
3244fe96
VS
80932012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8096 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8097
8aeb1837
VS
80982012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8101 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8102 All users updated.
8aeb1837 8103
9133fd05
VS
81042012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8107 counterpart.
8108
6d521c5b
VS
81092012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 Fix UFS1 big file support.
8112
8113 * grub-core/fs/ufs.c (INODE): Removed.
8114 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8115 64-bit.
8116 (INODE_MODE): Simplify.
8117 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8118 (grub_ufs_lookup_symlink): Don't use INODE.
8119
21b82e17
VS
81202012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8123
8124 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8125 (grub_minix_data): Replace log_block_size with block_size.
8126 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8127 (grub_minix_mount): Fill block_size.
8128
81292012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8130
8131 * configure.ac: Bump to beta5.
8132
f417ed04
VS
81332012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 Fix wrapped HFS+ handling.
8136
8137 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8138 blocks_start. All users updated.
8139 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8140 wrapping offset.
8141 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8142
607d282b
VS
81432012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 Fix long symlinks on reiserfs.
8146
8147 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8148 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8149 (grub_reiserfs_iterate_dir): Save size for non-directories.
8150 (grub_reiserfs_open): Don't reread stat block as we already know the
8151 size.
8152 (grub_reiserfs_read): Split into...
8153 (grub_reiserfs_read_real): ... and ...
8154 (grub_reiserfs_read): ...this.
8155
ae16024d
VS
81562012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 Fix non-indexed JFS.
8159
8160 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8161 (grub_jfs_data): New field namecomponentlen.
8162 (grub_jfs_mount): Fill namecomponentlen.
8163 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8164
eea1e26e
VS
81652012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8168 * tests/grub_script_echo1.in: Add tests.
8169
df760f77
VS
81702012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * util/grub-install.in: Ignore empty devicetree directory.
8173
5efb817d
B
81742012-05-08 Bean <bean123ch@gmail.com>
8175
8176 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8177 All users updated.
8178 (free_rsm): Free header as well.
8179 (free_old_fragments): Fix memory leak.
8180 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8181 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8182 (destroy_pq): Likewise.
8183 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8184
668ea6d2
VS
81852012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8188 resulting hash as a precaution.
8189
1739b1fe
VS
81902012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8193 '_' in variable names.
8194 * grub-core/net/net.c (grub_net_network_level_interface_register):
8195 Likewise.
8196
6ae485aa
VS
81972012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 Fix AFFS with non-512B blocks.
8200
8201 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8202 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8203 (grub_affs_data): Replace blocksize with log_blocksize.
8204 (grub_affs_read_block): Fix non-512B blocks.
8205 (grub_affs_read_symlink): Likewise.
8206 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8207 (grub_affs_read): Fix non-512B blocks.
8208 (grub_affs_label): Likewise.
8209 (grub_affs_mtime): Likewise.
8210 (grub_affs_mount): Fix block detection routine.
8211
d20fab84
VS
82122012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 Add filesystem mtime to AFFS.
8215
8216 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8217 (aftime2ctime): New function.
8218 (grub_affs_dir): Use aftime2ctime.
8219 (grub_affs_label): Fix return value.
8220 (grub_affs_mtime): New function.
8221 (grub_affs_fs): Add mtime.
8222
e87b10f5
VS
82232012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8226 UTF-8.
8227
7dceec9b
VS
82282012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8231 UTF-8.
8232
2f48221f
VS
82332012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8236
dacd85cf
VS
82372012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8240 flags.
8241 (FLAGS_CASE_SENSITIVE): New enum value.
8242 (cache_entry): New struct.
8243 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8244 cache_size and cache.
8245 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8246 Add log_blocksize and fshelp_flags.
8247 (grub_sfs_read_extent): Handle non-512 blocks.
8248 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8249 (grub_sfs_read_file): Handle non-512 blocks.
8250 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8251 fshelp_flags.
8252 (grub_sfs_read_symlink): Handle non-512 blocks.
8253 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8254 (grub_sfs_dir): Free cache.
8255 (grub_sfs_close): Likewise.
8256
24e9a854
VS
82572012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8260 filesystems.
8261
62ace64d
VS
82622012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8265
83b2e89c
VS
82662012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8269
75ccaea3
VS
82702012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8273 (grub_sfs_read_extent): Likewise.
8274 (grub_sfs_read_block): Likewise.
8275 (grub_sfs_mount): Likewise.
8276 (grub_sfs_iterate_dir): Likewise.
8277 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8278 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8279
1b8463f2
VS
82802012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 Fix errors on compressed NTFS with 512B clusters.
8283
8284 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8285 types.
8286 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8287 not 0.
8288 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8289 Relax check for inline extents.
8290 (ntfscomp): Return correct -1 on error and not 0.
8291
4f8e368f
VS
82922012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 * util/grub-install.in: Fix handling of prefix containing spaces.
8295
6f5d5ee8
VS
82962012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8299 (grub_squash_read_data): Fix offset byte-swapping.
8300
ce41ab7a
VS
83012012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8304 per common usage and preffered in several parts of code.
8305 (grub_memcmp): Likewise.
8306 (grub_strncmp): Likewise.
8307 * include/grub/misc.h (grub_strcasecmp): Likewise.
8308 (grub_strncasecmp): Likewise.
8309 * Makefile.util.def (cmp_test): New test.
8310 (grub_script_strcmp): Likewise.
8311 * tests/cmp_unit_test.c: New file.
8312 * tests/grub_script_strcmp.in: Likewise.
8313 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8314
49717bf4
VS
83152012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * include/grub/pci.h: Move enums into no-asm part.
8318
0a308f64
VS
83192012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8322
1796965f
ST
83232012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8324
8325 * util/getroot.c (find_hurd_root_device): Try to make error message
8326 and comments to translators clearer.
8327
4e9b2819
VS
83282012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8331
076aeb50
VS
83322012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8335 btrfs.
8336
19424d94
VS
83372012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 * docs/grub.cfg: Update.
8340
ebb73076
VS
83412012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * docs/grub.texi (PXE): Remove not present variables.
8344
9a1b669c
VS
83452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8346
8347 * grub-core/net/net.c (defserver_set_env): New function.
8348 (defserver_get_env): Likewise.
8349 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8350
d38bf7d3
VS
83512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8354 entries.
8355
83562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8357
8358 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8359 * grub-core/kern/emu/hostdisk.c: Likewise.
8360
e5e4ca48
ST
83612012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8362
8363 Handle hurd userspace partitions.
8364
8365 * util/getroot.c (find_hurd_root_device): New function.
8366 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8367
56bb5dd5
VS
83682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8371 names.
8372 Reported by: Bastian Blank.
8373
9e8bc27a
VS
83742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8377 crossing page boundary.
8378
aa01499d
VS
83792012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 Fix B-tree search in BFS, especially in presence of non-ASCII
8382 characters.
8383
8384 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8385 (find_in_b_tree): Use standard bsearch + btree algorithm.
8386
57006035
VS
83872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8390 and so on.
8391
9d34bb85
MG
83922012-05-03 Matthew Garrett <mjg@redhat.com>
83932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 Suspend broadcom cards in order to stop their DMA.
8396
8397 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8398 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8399 (pci): Don't build on x86 EFI.
8400 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8401 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8402 New function.
8403 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8404 stop_broadcom if running on EFI.
8405 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8406 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8407 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8408 (grub_pci_find_capability): New proto.
8409
01aab997
VS
84102012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 * docs/grub.texi: Remove dot from the extension as it apparently
8413 doesn't work with some makeinfo versions.
8414
fbd8dca6
VS
84152012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8418 with GRUB expectance.
8419
dab797f4
VS
84202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8423
1516bfb4
VS
84242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8427 zero after directory block since last entry may be not 0-terminated if
8428 it ends on block boundary. Use continue instead of if spanning whole
8429 loop.
8430
a3a0eace
VS
84312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 Support 4K sectors UDF inline files.
8434
8435 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8436 (grub_udf_extended_file_entry): Likewise.
8437 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8438 All users updated.
8439 (get_fshelp_size): New function.
8440 (grub_udf_read_icb): Read whole block.
8441 (grub_udf_iterate_dir): Likewise.
8442 (grub_udf_dir): Likewise.
8443 (grub_udf_open): Likewise.
8444
c82f16c1
VS
84452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8448
59fd2aac
VS
84492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8452 inline symlinks in addition to workaround.
8453
3b4afb4d
VS
84542012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8457
f45c794a
VS
84582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8461
f25cecbd
VS
84622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8465
bb9a34e8
VS
84662012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 Fix reiserfs big seek times.
8469
8470 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8471 exact. All users updated.
8472 (grub_reiserfs_read): Use nearest btree search for seeking.
8473 Fix return value on error.
8474
dc478aea
VS
84752012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8476
8477 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8478 entries.
8479 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8480 * docs/grub.texi: Update menuentry description.
8481
8db10f47
VS
84822012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8485 crash when embedding onto filesystem.
8486
bcb288ed
VS
84872012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8490 name.
8491
a626fdd7
VS
84922012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8495
b2f68477
VS
84962012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8499 commit.
8500
ba15b2af
B
85012012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
85022012-05-01 Bean <bean123ch@gmail.com>
8503
8504 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8505
a188012e
VS
85062012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8509 Special behaviour for len = 0 to read whole file isn't used anywhere and
8510 can cause buffer ovewrflows in several places.
8511
f0a53ed2
VS
85122012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8515
5ed554f0
VS
85162012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 Handle RAIDZ on non-512B sectors.
8519
8520 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8521 max_children_ashift.
8522 (fill_vdev_info_real): Fill max_children_ashift.
8523 (read_device): Use max_children_ashift.
8524
ddc58357
VS
85252012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8528
e3282399
VS
85292012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8532 disk names.
8533 * docs/grub.texi: Update device.map parts.
8534
ee618bd4
VS
85352012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 Don't scan into non-diskfilter devices having diskfilter names.
8538
8539 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8540 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8541 handling.
8542 (scan_disk_hook): New function.
8543
bdf88864
B
85442012-04-29 Bean <bean123ch@gmail.com>
8545
8546 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8547 allocation.
8548
32745f51
MK
85492012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8550
8551 * configure.ac: Detect starfield theme font path
8552 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8553
bc95c8c0
VS
85542012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8557 geometry on serial consoles.
8558
147fbcab
VS
85592012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8562 because of network consoles.
8563
0f42c889
VS
85642012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8567 handling.
8568
4a3594c9
VS
85692012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8570
8571 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8572 falls on Q syndrom.
8573
5cb53879
VS
85742012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8577 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8578
b282dfe5
VS
85792012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8582 Allocate at lest 8192 for temporary buffer as required for lzo.
8583
daa59f47
VS
85842012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8587 to cluster_bits, since it's already added in.
8588 (grub_fat_read_data): Likewise.
8589
986748ce
VS
85902012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8593 as long as cluster size is multiple of 512 bytes.
8594
a20f6ad0
VS
85952012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * util/grub-mkrescue.in: Fix locale directory.
8598
385f9abb
VS
85992012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * grub-core/kern/emu/hostdisk.c (map): Make static.
8602
1c557d30
B
86032012-04-23 Bean <bean123ch@gmail.com>
8604
8605 * util/grub-fstest.c (fstest): Add missing break.
8606
524b5d3a
ST
86072012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8608
8609 Fix hurd build.
8610
8611 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8612 not define nr variable.
fe4824e9 8613 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8614 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8615 grub_find_device): Do not define.
524b5d3a 8616
9a06490c
VS
86172012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8618
8619 Fix kfreebsd compile and behaviour.
8620
8621 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8622 format-security.
8623 * util/getroot.c: Fix wait.h include.
8624 (grub_guess_root_devices): Error if grub_find_device fails.
8625 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8626 (grub_util_get_dev_abstraction): Likewise.
8627 (grub_util_pull_device): Likewise.
8628 (grub_util_get_grub_dev): Likewise.
8629 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8630
48143d96
VS
86312012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 Fix and unify wholedisk detection.
8634
8635 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8636 is_part. All users updated.
8637 (device_is_wholedisk): Removed.
8638 (grub_util_biosdisk_get_grub_dev): Use is_part.
8639
ebbd24f3
VS
86402012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8643 mode.
8644
56f7aa1e
VS
86452012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * configure.ac: Bump to beta4.
8648
9c815e01
VS
86492012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8652 --fs-uuid --set UUID syntax.
8653
59e2651a
VS
86542012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8657 disunification.
8658
54e03cfc
VS
86592012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8660
8661 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8662
81092a75
MK
86632012-04-18 Mads Kiilerich <mads@kiilerich.com>
8664
8665 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8666
f8315e14
MG
86672012-04-18 Mike Gilbert <floppym@gentoo.org>
8668
8669 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8670
1501ac21
B
86712012-04-18 Bean <bean123ch@gmail.com>
8672
8673 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8674 place.
8675
cb7f944e
VS
86762012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8679 users updated.
8680 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8681 corresponding to GRUB partitions.
8682 (grub_util_biosdisk_write): Likewise.
8683
b72d44a1
VS
86842012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 Scan mdraid before LVM.
8687
8688 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8689 (grub_diskfilter_register_front): ... this.
8690 (grub_diskfilter_register_back): New function.
8691 All users of grub_diskfilter_register updated.
8692
33d918b8
VS
86932012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * util/grub-install.in: Fix an automatic target detection bug.
8696
c6ca973d
VS
86972012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * util/grub-install.in: New option --efi-directory.
8700
b41be562
VS
87012012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8704 boot services if we have no other choice.
8705
87062012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8709 document it.
8710 * tests/util/grub-shell.in: Update to --directory.
8711
e0595a73
VS
87122012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8715
4ed80652
VS
87162012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8719 (grub_minix_read_file): Likewise.
8720 (grub_minix_read_inode): Likewise.
8721 (grub_minix_find_file): Likewise.
8722 (grub_minix_dir): Likewise.
8723
56008077
VS
87242012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * util/grub-setup.c (setup): Fix partition handling and blocklist
8727 check.
8728
ee520775
VS
87292012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8732 redundant buggy overlap check.
8733
16fc9293
VS
87342012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8737 and grub-mknetdir.
8738
9bab65c4
VS
87392012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8742 kh.loadflags on pre-2.00 kernels.
8743
3c491b47
VS
87442012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 Terminate UNDI and PXE before launching the payload to avoid problems
8747 with DMA.
8748
8749 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8750 (grub_loader_flags): ... this. All users updated.
8751 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8752 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8753 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8754 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8755 function.
8756 (grub_pxe_restore): Likewise.
8757 (fini_hnd): New var.
8758 (GRUB_MOD_INIT): Register shutdown hook.
8759 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8760 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8761 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8762 (grub_loader_set): Rename second argument to flags.
8763
851ffada
VS
87642012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8767 written bytes.
8768 (grub_get_num_of_utf8_bytes): New function.
8769 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8770 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8771 executing it.
8772 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8773 (grub_ucs4_to_utf8): Change return type.
8774
491c57a8
VS
87752012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8778 warning.
851ffada
VS
8779 * grub-core/fs/bfs.c (hop_level): Likewise.
8780 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 8781
756773df
VS
87822012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * grub-core/lib/adler32.c: Recode due to license unclearness.
8785
fd556a96
VS
87862012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8789 (test_header): Likewise.
8790
9f9d3f69
VS
87912012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 Fix --help formatting.
8794
8795 * util/grub-mkconfig_lib.in (print_option_help): New function.
8796 (grub_fmt): Likewise.
8797 * util/grub-install.in: Use print_option_help and grub_fmt.
8798 * util/grub-kbdcomp.in: Likewise.
8799 * util/grub-mkconfig.in: Likewise.
8800 * util/grub-mknetdir.in: Likewise.
8801 * util/grub-mkrescue.in: Likewise.
8802 * util/grub-mkstandalone.in: Likewise.
8803 * util/grub-reboot.in: Likewise.
8804 * util/grub-set-default.in: Likewise.
8805 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8806
561ec77e
VS
88072012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * linguas.sh: Remove autogenerated *.po.
8810
7ec2b021
VS
88112012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 * po/README: Move language fetcing to ...
8814 * linguas.sh: ... here.
8815 * po/README: Point to linguas.sh.
8816
a88f3270
VS
88172012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * po/README: Exclude ko.po due to disclaimer problems.
8820
d61357ce
VS
88212012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8824 len = 0.
8825 (grub_gettext_translate_real): Handle 0th string.
8826 (grub_gettext_translate): Ensure that "" isn't translated.
8827
505e41dc
VS
88282012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8831 TRANSLATORS comment.
8832 (grub_diskfilter_print_partmap): Propagate changing of error into
8833 warning.
8834
e44092db
VS
88352012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8838 to uint64_t to prevent overflow.
8839 (grub_diskfilter_lv): Increase start_extent and extent_count
8840 to uint64_t to prevent overflow.
8841
9b83956a
VS
88422012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 * configure.ac: Increase version.
8845
da0d5b3f
VS
88462012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8849
8850 * po/Rules-translit: New file.
8851 * po/arabic.sed: Likewise.
8852 * po/cyrillic.sed: Likewise.
8853 * po/greek.sed: Likewise.
8854 * po/hebrew.sed: Likewise.
8855 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8856 * po/Makefile.in.in: Add extra_dist4.
8857
ac66b453
VS
88582012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8861
8862 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8863 modify names. Introduce MODE_BIGENDIAN.
8864 * grub-core/fs/minix_be.c: New file.
8865 * grub-core/fs/minix2_be.c: Likewise
8866 * grub-core/fs/minix3_be.c: Likewise.
8867 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8868 minix3_be.
8869 * grub-core/Makefile.core.def (minix_be): New module.
8870 (minix2_be): Likewise.
8871 (minix3_be): Likewise.
8872
88732012-04-01 Felix <email@hamburg.de>
8874
8875 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8876 (devs): Add MBP 2011.
8877
0a2d5a82
VS
88782012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8881
d1625889
VS
88822012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * grub-core/normal/cmdline.c (print_completion): New field
8885 prompt_len.
8886 (grub_cmdline_get): Handle width properly.
8887
6d36a236
VS
88882012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8891
9576977e
VS
88922012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8893
8894 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8895 after 29th of February.
9576977e 8896
d73ff15d
VS
88972012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8898
8899 Fix exfat endianness handling.
8900
8901 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8902 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8903 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8904 Byte-swap utf16 when necessary.
8905 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8906
bbb39a45
AB
89072012-03-31 Anton Blanchard <anton@samba.org>
89082012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 Fix btrfs endianness handling.
8911
8912 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8913 (lower_bound): Make root uint64_t. Use root in le.
8914 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8915 (find_path): Fix template key init.
8916 (grub_btrfs_dir): Fix mtime byteswap.
8917 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
8918
354e0af7
VS
89192012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
8922 recursion_depth. Break infinite resursions. All users updated.
8923
4e75f21c
VS
89242012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
8927 after free.
8928 Reported by: Peter Jones.
8929
25581802
AB
89302012-03-31 Anton Blanchard <anton@samba.org>
8931
8932 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8933 8 bit values.
8934
08fbf92e
VS
89352012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * util/grub-install.in: Fix nvram call for PreP.
8938
5d1182a6
VS
89392012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
8942 the error when some elements are missing into a warning.
8943
3f8cdd90
VS
89442012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
8947
51006716
CW
89482012-03-28 Colin Watson <cjwatson@ubuntu.com>
8949
8950 * docs/grub.texi (Invoking grub-probe): New section.
8951 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
8952
e1bd676b
VS
89532012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 Fix tab and wide character handling in editor and menu.
8956
8957 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
8958 agglomerate control characters with combining marks.
8959 (bidi_line_wrap): Allow break on tab.
8960 (grub_unicode_get_comb_start): New function.
8961 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
8962 and tab correctly.
8963 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
8964 with a space.
8965 * grub-core/normal/term.c (print_ucs4_terminal): New argument
8966 fixed_tab_size. All users updated.
8967 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
8968 (grub_term_getcharwidth): Handle \t.
8969 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
8970 and copy.
8971
22e6a774
VS
89722012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 Handle big-endian mdraid.
8975
8976 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
8977 * grub-core/Makefile.core.def (mdraid09_be): New module.
8978 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
8979 rather than grub_le_to_cpu* and grub_cpu_to_le*.
8980 * grub-core/disk/mdraid_linux_be.c: New file.
8981
3c0eae66
VS
89822012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
8985
b6cf74c9
VS
89862012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8989 missing quotes which caused confusion among translators.
8990
83c93b9c
VS
89912012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 * util/grub-mkconfig_lib.in: Fix typo.
8994
ac6fd218
VS
89952012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
8998 spaces.
8999 * tests/grub_script_leading_whitespace.in: New file.
9000 * Makefile.util.def (grub_script_leading_whitespace): New test.
9001
ba287dd8
VS
90022012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9005 to work.
9006
d2d58d0a
VS
90072012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9010 starts with control character.
9011
0382d9bb
VS
90122012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9015 overflow.
9016 (grub_gdb_outbuf): Likewise.
9017
d83ff9f9
VS
90182012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9021 zero terminator. Fixes a crash.
9022
2282da4a
VS
90232012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9026 beyond 4 GiB.
9027 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9028 images independently of preffered adderss field.
9029
0ae4f0bd
VS
90302012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9033 * grub-core/commands/regexp.c: Likewise.
9034 * grub-core/loader/i386/linux.c: Likewise.
9035 * grub-core/partmap/msdos.c: Likewise.
9036 * grub-core/script/execute.c: Likewise.
9037 * grub-core/term/gfxterm.c: Likewise.
9038
546fbe9b
VS
90392012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 Add variable parsing in $"..." and fix several mismatches with bash.
9042
9043 * Makefile.util.def (grub_script_gettext): New test.
9044 * grub-core/script/execute.c (parse_string): New function.
9045 (gettext_append): Likewise.
9046 (grub_script_arglist_to_argv): Use gettext_append.
9047 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9048 * tests/grub_script_gettext.in: New file.
9049
9fdb2d7b
VS
90502012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9051
9052 Fix handling of leading spaces in scripts.
9053
9054 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9055 spaces.
9056 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9057 other than skipping \r. All users updated.
9058 * tests/grub_script_echo1.in: Add space-related tests.
9059 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9060
1a1ac4f6
VS
90612012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9064
b63d89b6
VS
90652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * configure.ac: Bump up the version to beta2.
9068
17f38c0f
VS
90692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 Fix gettext reload bugs (e.g. inability to disable gettext
9072 once enabled).
9073
9074 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9075 main_context and secondary_context. All functions updated.
9076 (grub_gettext_translate): Rename to ...
9077 (grub_gettext_translate_real): ... this. Return NULL on failed
9078 translate.
9079 (grub_gettext_translate): Handle secondary context.
9080 (grub_gettext_delete_list): Close file and zero-out the context.
9081 (grub_mofile_open): Don't call grub_gettext_delete_list.
9082 Don't close file.
9083 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9084 if locale="" to avoid pointless error message.
9085 (grub_gettext_env_write_lang): Update lang even if load fails.
9086 Handle secondary context.
9087 (grub_gettext_reread_prefix): New function.
9088 (read_main): Likewise.
9089 (read_secondary): Likewise.
9090 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9091 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9092 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9093 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9094
8e56f870
VS
90952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * configure.ac: Decrease warning level to avoid spurious warnings and
9098 to be able to compile with GCC 4.2.
9099 * Makefile.util.def: Remove -Wno-error=logical-op.
9100
82f6d455
WB
91012012-03-10 William Bittner <william.bittner@gmail.com>
9102
9103 * util/import_unicode.py: Add missing brackets around string for
9104 python 3 support.
9105
1ecd61a4
VS
91062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 Fix efi chainloader on network root.
9109
9110 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9111 network devices.
9112 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9113 New function.
9114
14361ee8
VS
91152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9118 unused show_text member.
9119 * docs/grub.texi: Document "text" property.
9120
922aabf3
VS
91212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9124 in dprintf.
9125
ec316771
VS
91262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 Fix IMSM handling on Fedora.
9129
9130 * util/getroot.c (grub_util_is_imsm): New function.
9131 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9132
0f021838
VS
91332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * Makefile.am: Strip gold section.
9136 * conf/Makefile.common: Likewise.
9137 * gentpl.py: Likewise.
9138 * grub-core/Makefile.core.def: Likewise.
9139 * grub-core/genmod.sh.in: Likewise.
9140
1039c8eb
VS
91412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9144 * util/grub.d/20_linux_xen.in: Likewise.
9145 Based on Debian patch.
9146
6dd412cd
VS
91472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * util/grub.d/10_linux.in: Fix syntax error resulting in
9150 Richard Laager's patch.
9151 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9152
3fd8bae5
VS
91532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9156 dependencies.
9157
7eea1671
RL
91582012-03-10 Richard Laager <rlaager@wiktel.com>
9159
9160 * util/grub.d/10_linux.in: Fix ZFS root passing.
9161
e8e0566b
VS
91622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9165 * grub-core/commands/xnu_uuid.c: Likewise.
9166 * grub-core/loader/efi/appleloader.c: Likewise.
9167 * grub-core/script/execute.c: Likewise.
9168 * grub-core/script/main.c: Likewise.
9169 * util/grub-mkfont.c: Likewise.
9170
1acc5b1f
VS
91712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 * util/grub-mkfont.c (options): Use more appropriate "select" that
9174 "set" for face index.
9175
35d70620
VS
91762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * util/grub-editenv.c (options): Gettextize command summaries.
9179
c9eb96b5
VS
91802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9183 "out of memory" error messagge.
9184
1f493136
VS
91852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9188 of diskfilter for diskfilter on diskfilter support.
9189
6d790129
VS
91902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9193
005f46c9
VS
91942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9197 themes/starfield.
9198
c8f778a0
VS
91992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9202
de1e64eb
VS
92032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9204
9205 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9206
c6d54211
VS
92072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9210 of error message.
9211
dd390777
VS
92122012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9213
9214 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9215
5fd1c522
VS
92162012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9219 message.
c6d54211 9220 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9221
fae01f6c
VS
92222012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9225 Gettextize.
9226 * util/grub-mount.c (options): Likewise.
9227
292fdaff
VS
92282012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9231 gettextize.
9232 * grub-core/commands/search_wrap.c (options): Likewise.
9233
ecdbae77
VS
92342012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9237
52bfedfa
VS
92382012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9239
9240 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9241 size calculation.
9242 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9243 none is known.
9244
55b20e58
VS
92452012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9248 "temporary" since it's used in identifier and is limited in space.
9249
fda9d101
VS
92502012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9251
9252 * po/POTFILES.in: Regenerate. Include *.h since they contain
9253 translatable strings as well.
9254
6a0295e2
VS
92552012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9258 byte-swap on big-endian.
9259 Reported by: Lennart Sorensen
9260
807fb77c
VS
92612012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9264 (allocate_pages): Improve dprintf.
9265 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9266 code32_start. Fill code32_start and kernel_alignment in params.
9267 (grub_cmd_initrd): Use prot_init_space.
9268
61ac50ba
VS
92692012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9272
abdd26dd
VS
92732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * util/grub-install.in: Add missing dot at the end of sentence.
9276
6e69da9c
VS
92772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9280 * grub-core/commands/videotest.c: Likewise.
9281 * grub-core/loader/i386/linux.c: Likewise.
9282
4a929343
VS
92832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9286 sentence.
9287 Reported by: Milo Casagrande.
9288
bb51c6c6
VS
92892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9292 * grub-core/commands/gptsync.c: Likewise.
9293 * grub-core/commands/hashsum.c: Likewise.
9294 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9295 * grub-core/commands/legacycfg.c: Likewise.
9296 * grub-core/io/gzio.c: Likewise.
9297 * grub-core/net/net.c: Likewise.
9298 * grub-core/term/gfxterm.c: Likewise.
9299 * grub-core/term/terminfo.c: Likewise.
9300 * grub-core/tests/test_blockarg.c: Likewise.
9301 * grub-core/video/video.c: Likewise.
9302 * util/grub-install.in: Likewise.
9303 * util/grub-mkfont.c: Likewise.
9304
b2b149cb
VS
93052012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9308
c7c080ad
VS
93092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9312 Reported by: David Prévot.
c7c080ad 9313
f2e243c0
VS
93142012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9317 description.
9318
09963c76
VS
93192012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * util/grub-script-check.c (main): Fix a syntax error message which was
9322 unclear.
9323
a50514a8
VS
93242012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9327
4650daec
VS
93282012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9331 messages.
9332
93332012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9334
9335 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9336 without argument.
9337 * util/grub-mount.c (options): Likewise.
9338
bbc5a342
VS
93392012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9342
ef292a87
VS
93432012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * grub-core/net/http.c: Add TRANSLATORS comments.
9346 * grub-core/normal/cmdline.c: Likewise.
9347 * grub-core/normal/misc.c: Likewise.
9348 * grub-core/partmap/msdos.c: Likewise.
9349 * grub-core/parttool/msdospart.c: Likewise.
9350 * grub-core/script/execute.c: Likewise.
9351 * grub-core/script/main.c: Likewise.
9352 * grub-core/term/terminfo.c: Likewise.
9353 * grub-core/video/bitmap.c: Likewise.
9354 * util/grub-install.in: Likewise.
9355 * util/grub-mkimage.c: Likewise.
9356 * util/grub-mklayout.c: Likewise.
9357 * util/grub-setup.c: Likewise.
9358
0fc19bd0
VS
93592012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9362 with similar messages in grub-fstest.
9363
d95862ef
VS
93642012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 * util/grub-install.in: Unify "option requires an argument" message
9367 with similar messages in other files.
9368 * util/grub-mkconfig.in: Likewise.
9369
b7308f90
VS
93702012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * util/grub-set-default.in: Replace printf with gettext_printf (the
9373 string in in question is already translated from grub-reboot)
9374
559dc587
VS
93752012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * configure.ac: Bump up the version to beta1.
9378
1a11761f
VS
93792012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9382 case when min_align = 0.
9383
24539abd
VS
93842012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9387 and fix a case when line_start overflows.
9388
32bd735b
VS
93892012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 * util/grub-reboot.in (usage): Mention id posibility.
9392 * util/grub-set-default.in (usage): Likewise.
9393
1a2fd1e6
VS
93942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9397 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9398 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9399 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9400 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9401 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9402 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9403
90eeab76
VS
94042012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * grub-core/commands/menuentry.c (options): Remove
9407 GRUB_ARG_OPTION_REPEATABLE.
9408 Reported by: Andreas Vogel
9409
5ad1be82
AV
94102012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9411
9412 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9413
cb055286
HE
94142012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9415
9416 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9417 error.
9418
93b1cd79
VS
94192012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 Use sort -V by the idea of Georgi Georgiev.
9422
9423 * util/grub-mkconfig_lib.in (version_sort): New function.
9424 (version_test_numeric): Use version_sort.
9425
0cdc126c
VS
94262012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 Use submenus in grub-mkconfig.
9429
9430 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9431 * util/grub-mkconfig_lib.in (grub_quote): New function.
9432 (gettext_printf): Use gettext and not gettext_quoted to fix several
9433 messages.
9434 * util/grub.d/10_hurd.in: Use submenus.
9435 * util/grub.d/10_kfreebsd.in: Likewise.
9436 * util/grub.d/10_linux.in: Likewise.
9437 * util/grub.d/10_netbsd.in: Likewise.
9438 * util/grub.d/20_linux_xen.in: Likewise.
9439 * util/grub.d/30_os-prober.in: Likewise.
9440 * util/grub.d/10_illumos.in: Add missing quoting.
9441 * util/grub.d/10_windows.in: Likewise.
9442
d9bef9bc
VS
94432012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 Fix menu title instability bug.
9446
9447 * grub-core/commands/menuentry.c (options): New option --id.
9448 (grub_normal_add_menu_entry): New argument id. All users updated.
9449 (grub_cmd_menuentry): Handle --id.
9450 (grub_menu_init): Accept unknown arguments.
9451 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9452 feature_menuentry_options.
9453 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9454 saved_entry.
9455 (get_entry_number): Match with id as well.
9456 * include/grub/menu.h (grub_menu_entry): New member id.
9457 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9458 * util/grub.d/00_header.in: Define menuentry_id_option.
9459 * util/grub.d/10_hurd.in: Define id.
9460 * util/grub.d/10_illumos.in: Likewise.
9461 * util/grub.d/10_kfreebsd.in: Likewise.
9462 * util/grub.d/10_linux.in: Likewise.
9463 * util/grub.d/10_netbsd.in: Likewise.
9464 * util/grub.d/10_windows.in: Likewise.
9465 * util/grub.d/20_linux_xen.in: Likewise.
9466 * util/grub.d/30_os-prober.in: Likewise.
9467
94682012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9469
9470 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9471 "scope" with "body".
9472
7c8d0ce7
VS
94732012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9476 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9477 prot_size and prot_file_size.
9478
49de079b
VS
94792012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9482 All users updated. If easily=1 require raid-5/-6 to be full.
9483 (is_node_readable): Likewise.
9484 (scan_devices): Scan incomplete but readable LVs at the end.
9485 (grub_diskfilter_memberlist): Pull missing devices.
9486 (insert_array): Skip scanning until device is complete or scan is
9487 done otherwise.
9488 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9489 check.
9490 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9491 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9492
aff05d45
MG
94932012-03-03 Matthew Garrett <mjg@redhat.com>
94942012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 Avoid EFI boot services when loading Linux.
9497
9498 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9499 avoid_efi_bootservices. All users updated.
9500 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9501 argument avoid_efi_bootservices. All users updated.
9502 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9503 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9504 align, min_align, relocatable, prefered_address. All users updated.
9505 Allocate avoiding boot services if kernel is relocatable.
9506 (grub_cmd_linux): Check if kernel is relocatable.
9507 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9508 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9509 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9510 avoid_efi_boot_services.
9511 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9512 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9513 (linux_kernel_params): Likewise.
9514
3935dde2
MG
95152012-03-03 Matthew Garrett <mjg@redhat.com>
95162012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 Use EDID on EFI.
9519
9520 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9521 datasize_out.
9522 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9523 modes. Set gop_handle.
9524 (grub_video_gop_get_edid): New function.
9525 (grub_gop_get_preferred_mode): Likewise.
9526 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9527 (grub_video_efi_gop_adapter): Set .get_edid.
9528 * include/grub/efi/edid.h: New file.
9529 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9530
32107ec0
VS
95312012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * util/grub-install.in: Load efivars unconditionally.
9534
e70a2c50
VS
95352012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * po/Rules-piglatin: Change suffix from .po-update-en to
9538 .po-update-en-piglatin.
9539
8f9cace1
VS
95402012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 Add a pig farm.
9543
9544 * po/piglatin.sed: New file.
9545 * po/en@piglatin.header: Likewise.
9546 * po/Rules-piglatin: Likewise.
9547 * po/README: Add en@piglatin to autogenerated languages.
9548
8f95d002
VS
95492012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9552 "Command for ...".
9553 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9554 "Check" since we don't check anything.
9555 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9556 is 64-bit one.
9557 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9558 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9559 (grub_md_sha512_real): Likewise.
9560
805a8dcc
VS
95612012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * grub-core/commands/gptsync.c: Fix typographic quoting.
9564 * grub-core/commands/ieee1275/suspend.c: Likewise.
9565 * grub-core/commands/parttool.c: Likewise.
9566 * grub-core/commands/search_wrap.c: Likewise.
9567 * grub-core/commands/videoinfo.c: Likewise.
9568 * grub-core/gfxmenu/gui_label.c: Likewise.
9569 * grub-core/hello/hello.c: Likewise.
9570 * grub-core/kern/emu/main.c: Likewise.
9571 * grub-core/net/net.c: Likewise.
9572 * grub-core/normal/menu.c: Likewise.
9573 * grub-core/normal/menu_text.c: Likewise.
9574 * grub-core/normal/misc.c: Likewise.
9575 * util/grub-editenv.c: Likewise.
9576 * util/grub-install.in: Likewise.
9577 * util/grub-kbdcomp.in: Likewise.
9578 * util/grub-mkconfig.in: Likewise.
9579 * util/grub-mknetdir.in: Likewise.
9580 * util/grub-mkrescue.in: Likewise.
9581 * util/grub-mkstandalone.in: Likewise.
9582 * util/grub-reboot.in: Likewise.
9583 * util/grub-set-default.in: Likewise.
9584 * util/grub-setup.c: Likewise.
9585 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9586
40211ab8
VS
95872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9590 * grub-core/commands/keystatus.c: Likewise.
9591 * grub-core/commands/loadenv.c: Likewise.
9592 * grub-core/commands/probe.c: Likewise.
9593 * grub-core/commands/regexp.c: Likewise.
9594 * grub-core/commands/true.c: Likewise.
9595 * grub-core/commands/videoinfo.c: Likewise.
9596 * grub-core/disk/cryptodisk.c: Likewise.
9597 * grub-core/disk/ldm.c: Likewise.
9598 * grub-core/disk/loopback.c: Likewise.
9599 * grub-core/disk/luks.c: Likewise.
9600 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9601 * grub-core/kern/disk.c: Likewise.
9602 * grub-core/kern/emu/hostdisk.c: Likewise.
9603
0c7d99c7
VS
96042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9605
9606 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9607 * util/grub-install.in: Add missing quote in the comment.
9608
e7d2559b
VS
96092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9610
9611 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9612 * grub-core/commands/lsmmap.c: Likewise.
9613 * grub-core/commands/minicmd.c: Likewise.
9614 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9615 * grub-core/commands/regexp.c: Likewise.
9616 * grub-core/gdb/gdb.c: Likewise.
9617 * grub-core/term/gfxterm.c: Likewise.
9618 * util/grub-mkconfig.in: Likewise.
9619 * util/grub-mkfont.c: Likewise.
9620 * util/grub-mklayout.c: Likewise.
9621 * util/grub-mknetdir.in: Likewise.
9622 * util/grub-mkrescue.in: Likewise.
9623 * util/grub.d/30_os-prober.in: Likewise.
9624
49ce9e50
VS
96252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9628 with "Direct color" and "Packed" with "Packed pixel".
9629 (grub_cmd_videoinfo): Simplify legend.
9630
e4b791fa
VS
96312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9632
9633 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9634 absolutely unclear error message.
9635
fd1265cb
VS
96362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 * util/grub-mkstandalone.in: Remove confusing leftover print.
9639
8822a8a0
VS
96402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9643 comments.
9644 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9645 (GRUB_MOD_INIT): Likewise.
9646 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9647 VGA mode.
9648 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9649 comments.
9650 * util/grub-install.in (usage): Likewise.
9651 Spell ID in whole letters.
9652 Add missing ending dot.
9653 Quote variables.
9654 * util/grub-reboot.in: Fix capitalisation.
9655 * util/grub-set-default.in: Likewise.
9656
937fd0cc
VS
96572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9660 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9661 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9662 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9663 Disable -Werror for -Wdeprecated-declarations.
9664 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9665 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9666 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9667 (grub_util_get_grub_dev): Make luks handling dependent on
9668 HAVE_DEVICE_MAPPER and not __linux__.
9669 (get_win32_path): Fix format security.
9670 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9671 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9672 Don't try grub_find_zpool_from_dir.
9673 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9674 #ifdef-out paresdir.
9675
1bab1ae3
VS
96762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 * util/grub-pe2elf.c (usage): Add missing noreturn.
9679 (write_section_data): Rename name to shname to avoid shadowing.
9680 (write_symbol_table): Rename name to symname to avoid shadowing.
9681 Fix write_reloc_section call.
9682
ef023e42
VS
96832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9686 to ensure that it's after the last byte of .text.
9687
48afcb75
VS
96882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * util/ieee1275/ofpath.c (my_isdigit): New function.
9691 (trailing_digits): Use my_isdigit.
9692 (strip_trailing_digits): Likewise.
9693
88d51eff
VS
96942012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9697 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9698
17edc2ba
VS
96992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * grub-core/kern/i386/pc/startup.S: Define __start.
9702
ad5518d7
VS
97032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9706 strip already transforms he format.
9707
9e95e1bf
VS
97082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9711
9cc3ee5c
VS
97122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * util/grub-install.in: Add missing gettext init.
9715 * util/grub-kbdcomp.in: Likewise.
9716 * util/grub-mkconfig.in: Likewise.
9717 * util/grub-mknetdir.in: Likewise.
9718 * util/grub-mkrescue.in: Likewise.
9719 * util/grub-mkstandalone.in: Likewise.
9720 * util/grub-reboot.in: Likewise.
9721 * util/grub-set-default.in: Likewise.
9722 * util/grub.d/00_header.in: Likewise.
9723 * util/grub.d/10_hurd.in: Likewise.
9724 * util/grub.d/10_windows.in: Likewise.
9725 * util/grub.d/30_os-prober.in: Likewise.
9726 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9727
49e08a06
VS
97282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * po/Rules-swiss: Fix header comment.
9731
3809cb41
AV
97322012-02-29 Andreas Vogel <anvoit>
9733
9734 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9735 resulted in leak of arguments.
9736
fa6ec573
VS
97372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9740 reed_solomon_size const definition instead of computing it since
9741 Apple assembler doesn't support the later.
9742
22899b9c
VS
97432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * gentpl.py (kernel): Rewrite Apple part.
9746
a132afc3
VS
97472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9750
9d742bd4
VS
97512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9754 ELF section gap.
9755 (load_image): Likewise.
9756
f04a9a21
VS
97572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * configure.ac: Fix a typo in previous commit.
9760
46cf439c
VS
97612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 Don't add -Wl,-N on Apple platform.
9764
9765 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9766 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9767
c4c48c54
VS
97682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * grub-core/Makefile.core.def (lzma_decompress): Use
9771 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9772
31a12124
VS
97732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * grub-core/genmod.sh.in: Rewrite the Apple part.
9776
4f3aa1af
VS
97772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9780 comparison.
9781
7bd8b0c7
VS
97822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * acinclude.m4 (grub_CHECK_PIC): New test.
9785 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9786
97304d7c
VS
97872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9788
9789 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9790 to avoid the warning.
9791
fb883812
VS
97922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9795 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9796 after. All users updated.
9797
a121c964
VS
97982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 Use the common size routine in hostfs so we can read disks as well.
9801
9802 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9803 (grub_util_get_fd_size): ... this. Return size in bytes.
9804 All users updated.
9805 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9806 grub_util_get_fd_size.
9807
c66d6410
VS
98082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9811 Add blocksize retrieval.
9812
dfc8aeb0
VS
98132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * configure.ac: Restore CFLAGS after efiemu check.
9816
403e25a5
VS
98172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9820 Apple bug.
9821
382775d1
VS
98222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9825
6fd4e6e4
VS
98262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9829 (grub_cmd_halt): Likewise.
9830
bea359d6
VS
98312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9834 for local arithmetics.
9835 Break %sp init into 2 instructions.
9836 Add 0 byte at the end.
9837
32eb6ee1
VS
98382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9841 before loops.
9842
e8377389
VS
98432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9846 for context.
9847
8cb17de7
VS
98482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * grub-core/disk/ldm.c (make_vg): Init part.name.
9851 (grub_ldm_detect): Silence spurious warning.
9852 (grub_util_is_ldm): Likewise.
9853
595717e6
VS
98542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9855
9856 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9857 sane value to avoid a spurious warning.
9858
c4b7e588
VS
98592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9860
9861 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9862 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9863
59824957
VS
98642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9867 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9868
70115b99
VS
98692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9872 hardcoding the relevant info.
9873
56733740
VS
98742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9877 missing const qualifiers.
9878 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9879
43481481
VS
98802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 * util/getroot.c [__APPLE__]: Add missing includes.
9883 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9884
3cb38f01
VS
98852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9888
d9dbf11e
VS
98892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9892 avoid conflicts.
9893
0c42a45d
VS
98942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9897
46c34eb0
VS
98982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9901 and grub_file_close call.
9902
99ce1597
VS
99032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 Add LZSS Mach-O support (needed for new xnu kernelcache).
9906
9907 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9908 * grub-core/loader/lzss.c: New file.
9909 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9910 on Mach-O open failure.
9911 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9912 Don't free cmdsXX in uncompressedXX is set.
9913 (grub_macho_file): Init new fields.
9914 New argument is_64bit. All users updated.
9915 Handle compressed. Error out if no suitable architecture is found.
9916 Don't close file.
9917 (grub_macho_open): New argument is_64bit. All users updated.
9918 * grub-core/loader/macho32.c: Add defines for new fields.
9919 * grub-core/loader/macho64.c: Likewise.
9920 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
9921 (grub_macho_parse): Handle compressed.
9922 Defer actual processing if compressed.
9923 (grub_macho_cmds_iterate): Decompress if compressed. New argument
9924 "filename". All users updated.
9925 (grub_macho_size): New argument "filename". All users updated.
9926 (grub_macho_get_entry_point): Likewise.
9927 (grub_macho_load): Handle compressed.
9928 * include/grub/macho.h (grub_macho_lzss_header): New struct.
9929 (GRUB_MACHO_LZSS_OFFSET): New define.
9930 (grub_decompress_lzss): New proto.
9931 * include/grub/machoload.h (grub_macho_file): New fields to handle
9932 compressed.
9933 (grub_macho_contains_macho64): Remove proto.
9934 (grub_macho_contains_macho32): Likewise.
9935 * util/grub.d/30_os-prober.in: Use kernel cache if available.
9936
ebd17d6f
VS
99372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
9940
2702b4e4
VS
99412012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 Fix make dist.
9944
9945 * Makefile.am (starfield_theme_files): New var.
9946 (starfield_DATA): Use starfield_theme_files.
9947 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
9948 Add bootcheck-related files.
9949 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
9950 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
9951 and font_char_metrics.txt.
9952 * grub-core/Makefile.core.def (kernel): Update extra_dist.
9953 (setjmp): Add lib/ia64/longjmp.S.
9954 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
9955 * po/POTFILES.in: Regenerate.
9956 * po/Rules-swiss: use DISTFILES.common.extra2 and not
9957 DISTFILES.common.extra1.
9958 * util/devicemap.c: Removed.
9959 * grub-core/lib/i386/relocator_backward.S: Likewise.
9960 * util/import_gcry.py: Remove unused files. Add extra_dist for
9961 ChangeLog.
9962
cf1adfdf
VS
99632012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * grub-core/gettext/gettext.c (grub_mofile_open): Call
9966 grub_gettext_delete_list before changing grub_gettext_max to avoid
9967 running out of array bounds.
9968
99692012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
9970
9971 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
9972 grub_vga_text_init/grub_vga_text_fini.
9973
cf1adfdf 99742012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
9975
9976 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
9977
541d92e9
VS
99782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * configure.ac: Bump to 2.00~beta0.
9981
7931dddf
VS
99822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
9985 missing initialisation.
9986
f1b16fa3
VS
99872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
9990
83ddae23
VS
99912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 Support v2 xnu boot arguments.
9994
9995 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
9996 New argument fsbfreq_out.
9997 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
9998 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
9999 be used.
10000 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10001 darwin_version.
10002 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10003 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10004 (grub_xnu_boot_params): Rename to ...
10005 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10006 (grub_xnu_boot_params_v2): New struct.
10007
dc693fe6
VS
100082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10011 zeroing of CRC field before computing CRC.
10012
5a6e39c2
VS
100132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10016 Change order of allocations to decrease fragmentation.
10017
6c21f5d7
VS
100182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10021
cfe456dc
CW
100222012-02-27 Colin Watson <cjwatson@ubuntu.com>
10023
10024 Use write-combining MTRR to speed up video with buggy BIOSes.
10025
10026 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10027 (cpuid): New define.
10028 (rdmsr): Likewise.
10029 (wrmsr): Likewise.
10030 (mtrr_base): Likewise.
10031 (mtrr_mask): Likewise.
10032 (grub_vbe_enable_mtrr_entry): New function.
10033 (grub_vbe_enable_mtrr): Likewise.
10034 (grub_vbe_disable_mtrr): Likewise.
10035 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10036 control off to BIOS.
10037 (grub_video_vbe_init): Fill mtrr.
10038 (grub_video_vbe_fini): Disable mtrr.
10039 (grub_video_vbe_get_info_and_fini): Likewise.
10040 (grub_video_vbe_setup): Enable mtrr.
10041
e3c78337
CW
100422012-02-27 Colin Watson <cjwatson@ubuntu.com>
10043
10044 * include/grub/partition.h (grub_partition_map): Change prototype of
10045 embed to take a maximum value for nsectors.
10046 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10047 * include/grub/fs.h (grub_fs): Likewise.
10048 * grub-core/partmap/msdos.c (embed_signatures): New array.
10049 (pc_partition_map_embed): Check for and avoid sectors matching any
10050 of the signatures in embed_signatures, up to max_nsectors.
10051 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10052 returned sector map to max_nsectors.
10053 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10054 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10055 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10056 * util/grub-setup.c (setup): Allow for the embedding area being
10057 split into multiple blocklists. Tell dest_partmap->embed the
10058 maximum number of sectors we care about.
10059
100602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10063 Specify blocklist_install and reserver_first_sector for all fs.
10064 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10065 blocklists.
10066
984b973f
VS
100672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * util/grub-install.in: Clarify strings.
10070 Fix source dir check.
10071
f122e0d6
RL
100722012-02-27 Richard Laager <rlaager@wiktel.com>
10073
10074 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10075 "zfs" and "fuse.zfs" as synonyms.
10076
071114bb
VS
100772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * configure.ac: Put platform and target_cpu substitutions back since
10080 they are used for directories.
10081
817e6abc
RL
100822012-02-27 Richard Laager <rlaager@wiktel.com>
100832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10086 * util/grub.d/20_linux_xen.in: Likewise.
10087
897b7419
RL
100882012-02-27 Richard Laager <rlaager@wiktel.com>
10089
10090 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10091 with full paths.
10092
a414bd15
RL
100932012-02-27 Richard Laager <rlaager@wiktel.com>
10094
10095 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10096 unescape.
10097
30ac48c4
VS
100982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 Don't use insecure popen in getroot.
10101
10102 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10103 (exec_pipe): ... here.
10104 (find_root_devices_from_poolname): Use exec_pipe.
10105
53f13848
VS
101062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 Remove platform and target_cpu replacement.
10109
10110 * configure.ac: Remove platform and target_cpu substitutions.
10111 * tests/util/grub-shell.in: Use modinfo.
10112 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10113 explicitly.
10114
90cb2803
VS
101152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 Autodetect platform in grub-install but allow override.
10118
10119 * util/grub-install.in: Autodetect platform. Support --target and
10120 --directory. Read platform from modinfo.sh.
10121
b9136427
VS
101222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 Support btrfs multi-volume probe.
10125
10126 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10127 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10128 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10129 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10130 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10131 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10132 grub_find_root_devices_from_btrfs if on btrfs.
10133
c36e5cd1
VS
101342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 Remove any awareness of *.c util files about target.
10137
10138 * Makefile.util.def (grub-setup): Split to ...
10139 (grub-bios-setup): ... and this.
10140 (grub-sparc64-setup): ... and this.
10141 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10142 * docs/man/grub-setup.h2m: Split into ...
10143 * docs/man/grub-sparc64-setup.h2m: ... this.
10144 * docs/man/grub-bios-setup.h2m: ... and this.
10145 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10146 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10147 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10148 (grub_target_addr_t): Remove.
10149 (grub_target_size_t): Remove.
10150 (grub_target_ssize_t): Remove.
10151 * util/grub-install.in: Use new grub-*-setup.
10152 * util/grub-mkimagexx.c (Elf_Word): New define.
10153 (Elf_Half): Likewise.
10154 (Elf_Section): Likewise.
10155 (ELF_ST_TYPE): Likewise.
10156 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10157 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10158
584b2f8a
VS
101592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 Replace grub_target_addr with more appropriate types.
10162
10163 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10164 grub_target_addr with grub_addr.
10165 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10166 grub_target_addr with grub_port.
10167 (grub_cmd_write): Likewise.
10168 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10169 grub_target_addr with grub_addr.
10170 (grub_cmd_write): Likewise.
10171 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10172
5a0dc6fb
VS
101732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10176 const qualifier for vendor_guid.
10177
786aff6e
VS
101782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10181 const qualifier.
10182 (efiemu_memequal): Likewise.
10183 (find_variable): Likewise.
10184
49017b17
VS
101852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 Fix missing console prototype on qemu-mips.
10188
10189 * include/grub/mips/qemu_mips/console.h: New file.
10190
c5988629
MG
101912012-02-27 Matthew Garrett <mjg@redhat.com>
101922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10195 * include/grub/efi/efi.h: Likewise.
10196 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10197 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10198 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10199 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10200 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10201 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10202
e33f8d69
MG
102032012-02-27 Matthew Garrett <mjg@redhat.com>
10204
10205 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10206
fb312cd9
VS
102072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10210 error.
10211
7134247c
VS
102122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * configure.ac: Remove inappropriate use of program_transform_name
10215 on grubdir and bootdir but allow explicit specification of those
10216 variables.
10217
6a313124
VS
102182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * util/grub-mknetdir.in (grub_prefix): Removed.
10221 (subdir): Use @bootdirname@ and @grubdirname@.
10222
2311c5ca
VS
102232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10226
7d5d60f7
VS
102272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 * po/POTFILES.in: Regenerated.
10230
8151bc82
VS
102312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 Remove improper use of program_transform_name on pkglibrootdir.
10234
10235 * configure.ac (pkglibrootdir): Removed.
10236 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10237 * util/grub-mkimage.c: Likewise.
10238
b4a6a533
VS
102392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10242 warning.
10243
668f304f
VS
102442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * util/grub-install.in: Use file identifier if no UUID is available
10247 or user explicitly prompted for it.
10248
665f2341
NP
102492012-02-27 Navdeep Parhar <nparhar@gmail.com>
10250
10251 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10252 (freebsd_get_zfs): New function.
10253 (grub_freebsd_boot): Pass zfs UUID.
10254 (grub_cmd_freebsd): Set zfs UUID.
10255
8151bc82 102562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10257
10258 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10259 pkglibrootdir.
10260
e4c498a1
MG
102612012-02-27 Mike Gilbert <floppym@gentoo.org>
10262
10263 Add configure flag to control libzfs integration.
10264
10265 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10266
1e9a9a3f
VS
102672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10268
10269 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10270 device.
10271 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10272 small devices.
10273
036985b8
VS
102742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10275
10276 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10277 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10278 be used on non-modules.
10279
10280 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10281 Rename to grub_boot_init.
10282 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10283 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10284 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10285 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10286 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10287 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10288 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10289 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10290 includes.
10291 (grub_machine_init): Remove empty inits.
10292 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10293 includes.
10294 (grub_machine_init): Remove empty inits.
10295 * grub-core/term/arc/console.c: Remove explicit proto.
10296 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10297 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10298 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10299 grub_at_keyboard_fini.
10300 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10301 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10302 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10303 grub_gfxterm_fini.
10304 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10305 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10306 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10307 grub_vgatext_fini.
10308 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10309 * grub-core/term/serial.c (GRUB_MOD_INIT)
10310 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10311 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10312 grub_serial_fini.
10313 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10314 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10315 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10316 grub_terminfo_fini.
10317 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10318 (GRUB_MOD_FINI): Likewise.
10319 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10320 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10321 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10322 grub_video_radeon_fuloong2e_fini.
10323 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10324 [LOONGSON]: Rename to grub_video_sis315pro_init.
10325 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10326 grub_video_sis315pro_fini.
10327 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10328 [LOONGSON]: Rename to grub_video_sm712_init.
10329 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10330 grub_video_sm712_fini.
10331 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10332 (grub_at_keyboard_fini): Likewise.
10333 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10334 Don't declare grub_{modname}_init.
10335 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10336 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10337 New proto.
10338 (grub_keylayouts_fini) [!EMU]: Likewise.
10339 * include/grub/serial.h (grub_serial_init) [!EMU]:
10340 New proto.
10341 (grub_serial_fini) [!EMU]: Likewise.
10342 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10343 New proto.
10344 (grub_terminfo_fini) [!EMU]: Likewise.
10345 * include/grub/video.h (grub_font_init) [!EMU]:
10346 New proto.
10347 (grub_font_fini) [!EMU]: Likewise.
10348 (grub_gfxterm_init) [!EMU]: Likewise.
10349 (grub_gfxterm_fini) [!EMU]: Likewise.
10350 (grub_video_sm712_init) [!EMU]: Likewise.
10351 (grub_video_sm712_fini) [!EMU]: Likewise.
10352 (grub_video_sis315pro_init) [!EMU]: Likewise.
10353 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10354 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10355 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10356
d5534665
VS
103572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 Make nand a prefix for nand devices.
10360
10361 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10362
10133b5f
VS
103632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10366 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10367
8e307a62
VS
103682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * include/grub/env.h (grub_env_find): Remove prototype.
10371 * grub-core/kern/env.c (grub_env_find): Make static.
10372 (grub_env_set): Remove useless set.
10373
a4c65f34
VS
103742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10375
10376 * grub-core/kern/i386/realmode.S: Remove useless align.
10377
d87893d5
VS
103782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 * include/grub/dl.h (grub_dl_load_file): Don't export.
10381
50159add
VS
103822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10385 grub_dprintf.
10386
b2582b84
VS
103872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10390 grub_errors.
10391 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10392 not reloading whole superblock but only the part which is really needed.
10393 Remove useless grub_errors.
10394 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10395 grub_errors.
10396
e2a83395
VS
103972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 Don't export grub_get_rtc.
10400
10401 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10402 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10403
e7d2a906
VS
104042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10407
6cf1363b
VS
104082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10411 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10412
eece3349
VS
104132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 Remove prio_list.
10416
10417 * include/grub/list.h (grub_prio_list): Removed.
10418 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10419 GRUB_COMMAND_PRIO_MASK.
10420 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10421 GRUB_COMMAND_FLAG_ACTIVE.
10422 (grub_prio_list_insert): Removed.
10423 (grub_prio_list_remove): Likewise.
10424 (GRUB_AS_PRIO_LIST): Likewise.
10425 (GRUB_AS_PRIO_LIST_P): Likewise.
10426 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10427 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10428 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10429 * grub-core/kern/command.c (grub_register_command_prio): Inline
10430 the prio_list code.
10431 (grub_unregister_command): Likewise.
10432
94f064b4
VS
104332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 Fix interrupt mixup from previous commit.
10436
10437 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10438 (grub_realidt): New var.
10439 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10440 Load idt.
10441 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10442 New declaration.
10443 (grub_relocator16_boot): Set grub_relocator16_idt.
10444 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10445 (LOCAL(realidt)): ... this.
10446 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10447 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10448 (grub_realidt): New variable.
10449
27317084
VS
104502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10453 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10454 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10455 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10456 Gettextize.
10457 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10458 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10459 * po/POTFILES.in: Regenerate.
10460
47b40053
VS
104612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10464 errors.
10465
2b343101
VS
104662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10469 \0.
10470 (add_length): Likewise.
10471
ff27c3dd
LK
104722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
104732012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10474
10475 GDB serial and backtrace support.
10476
10477 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10478 (prot_to_real): Likewise.
10479 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10480 * grub-core/Makefile.core.def (backtrace): New module.
10481 (gdb): Likewise.
10482 * grub-core/gdb/cstub.c: New file.
10483 * grub-core/gdb/gdb.c: Likewise.
10484 * grub-core/gdb/i386/idt.c: Likewise.
10485 * grub-core/gdb/i386/machdep.S: Likewise.
10486 * grub-core/gdb/i386/signal.c: Likewise.
10487 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10488 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10489 * include/grub/backtrace.h: Likewise.
10490 * include/grub/gdb.h: Likewise.
10491 * include/grub/i386/gdb.h: Likewise.
10492
104932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10494
10495 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10496 New function.
10497 (add_length): Likewise.
10498 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10499 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10500 proto.
10501 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10502 __argp_get_display_len.
10503
ff27c3dd 105042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10505
10506 $"..." support in scripts.
10507
10508 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10509 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10510 * grub-core/script/yylex.l: Likewise.
10511 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10512 value.
10513
ff27c3dd 105142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10515
10516 * gentpl.py: Remove obsolete pkglib_DATA handling.
10517
ff27c3dd 105182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10519
10520 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10521 mailing list.
10522
10523 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10524 * util/grub-kbdcomp.in: Likewise.
10525 * util/grub-mkconfig.in: Likewise.
10526 * util/grub-mkconfig_lib.in: Likewise.
10527 * util/grub-mknetdir.in: Likewise.
10528 * util/grub-mkrescue.in: Likewise.
10529 * util/grub-mkstandalone.in: Likewise.
10530 * util/grub-reboot.in: Likewise.
10531 * util/grub-set-default.in: Likewise.
10532 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10533
ff27c3dd 105342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10535
10536 Remove GRUB_PREFIX.
10537
10538 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10539 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10540 used for backward compatibility.
10541
ff27c3dd 105422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10543
10544 Add new all_video module.
10545
10546 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10547 * grub-core/Makefile.core.def (all_video): New module.
10548 * grub-core/genmoddep.awk: Generate dependency of all_video from
10549 video.lst.
10550 * grub-core/lib/fake_module.c: New file.
10551 * grub-core/normal/main.c (features): Add feature_all_video_module.
10552 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10553 don't do explicit search again.
47454da5 10554 insmod all_video in load_video if available.
22c7ce85 10555
ff27c3dd 105562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10557
10558 Another round of string clarification and adding TRANSLATORS comments.
10559
ff27c3dd 105602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10561
10562 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10563
ff27c3dd 105642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10565
10566 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10567 to grub_ssize_t.
10568 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10569 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10570
ff27c3dd 105712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10572
10573 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10574 trailing newline implicitly. All users updated.
10575
ff27c3dd 105762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10577
10578 Implement serial on IEEE1275 and EFI.
10579
10580 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10581 on emu. Mention arc and emu as the only platforms without serial
10582 support.
10583 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10584 ieee1275 platforms.
10585 * grub-core/term/efi/serial.c: New file.
10586 * grub-core/term/ieee1275/serial.c: Likewise.
10587 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10588 specification if no ns8250 driver is available.
10589 (grub_cmd_serial): Likewise.
10590 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10591 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10592 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10593 (grub_efi_parity_type_t): New type.
10594 (grub_efi_stop_bits_t): Likewise.
10595 (grub_efi_serial_io_interface): New struct.
10596 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10597 available for all interfaces.
10598 Add EFI and IEEE1275 fields.
10599 (grub_ofserial_init): New proto.
10600 (grub_efiserial_init): Likeiwse.
10601 * util/grub.d/00_header.in: Don't check for the presence of serial
10602 module.
10603
ff27c3dd 106042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10605
10606 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10607 name as if it was an alias.
10608
114076ef
VS
106092012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/commands/lsacpi.c (options): Fix typo.
10612
6a656b0e
VS
106132012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 Convert grub-emu to argp.
10616
10617 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10618 emu.
10619 * util/argp_common.c: Rename to ...
10620 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10621 Add missing includes.
10622 * grub-core/kern/emu/main.c: Convert to argp.
10623 * po/POTFILES.in: Regenerate.
10624 * util/grub-install.in (usage): Make first letter lowcase in messages
10625 for uniformity.
10626 * util/grub-setup.c (options): Likewise.
10627
1e3f8ae8
VS
106282012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10631 Put back accidently commented-out code.
10632
ed167a80
VS
106332012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10636 loop check using Brent algorithm.
10637 (grub_hfsplus_btree_search): Likewise.
10638
6753c0ec
VS
106392012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * util/grub-install.in: Fix usage of wrong device for PreP install.
10642
4e27343f
VS
106432012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * conf/Makefile.common (CFLAGS_GNULIB): Add
10646 -Wno-unsafe-loop-optimizations.
10647 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10648 on tools.
10649 * grub-core/commands/legacycfg.c: Add pragma to skip
10650 -Wunsafe-loop-optimizations.
10651 (check_password_md5_real): Fix loop counter type.
10652 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10653 reading.
10654 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10655 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10656 loop condition.
10657 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10658 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10659 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10660 condition.
10661 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10662 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10663 avoid possible infinite loops.
10664 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10665 and -Wunsafe-loop-optimizations.
10666 * grub-core/script/yylex.l: Likewise.
10667 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10668 (print_glyphs): Avoid infinite loops.
10669 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10670
697f18b0
GS
106712012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10672
10673 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10674 to avoid infinite loop.
10675 (disp_acpi_rsdt_table): Likewise.
10676
274416e8
VS
106772012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * grub-core/font/font.c (grub_font_load): Add support for default
10680 path for fonts ($prefix/fonts).
10681 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10682 for checking if string is a path.
10683 * grub-core/normal/main.c (features): Add feature_default_font_path.
10684 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10685 * util/grub.d/00_header.in: Use default directory if possible.
10686 * util/grub-install.in: Install unicode.pf2.
10687
b3e08622
VS
106882012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10691 * po/Rules-swiss: New file.
10692 * po/swiss.sed: Likewise.
10693
fe42ce09
VS
106942012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * grub-core/fs/btrfs.c (find_device): Fix typos.
10697 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10698 * util/grub-mkrelpath.c (argp_parser): Likewise.
10699 Reported by: Yuri Chornoivan.
10700
72f1d065
DO
107012012-02-23 Dalet Omega <daletomega@gmail.com>
10702
10703 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10704 for usual informative messages.
10705
c5884973
DO
107062012-02-23 Dalet Omega <daletomega@gmail.com>
10707
10708 Starfield theme.
10709
10710 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10711 * conf/Makefile.common: Define starfielddir.
10712 * configure.ac: Configure starfield.
10713 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10714 * themes/starfield/README: Likewise.
10715 * themes/starfield/blob_w.png: Likewise.
10716 * themes/starfield/boot_menu_c.png: Likewise.
10717 * themes/starfield/boot_menu_e.png: Likewise.
10718 * themes/starfield/boot_menu_n.png: Likewise.
10719 * themes/starfield/boot_menu_ne.png: Likewise.
10720 * themes/starfield/boot_menu_nw.png: Likewise.
10721 * themes/starfield/boot_menu_s.png: Likewise.
10722 * themes/starfield/boot_menu_se.png: Likewise.
10723 * themes/starfield/boot_menu_sw.png: Likewise.
10724 * themes/starfield/boot_menu_w.png: Likewise.
10725 * themes/starfield/slider_c.png: Likewise.
10726 * themes/starfield/slider_n.png: Likewise.
10727 * themes/starfield/slider_s.png: Likewise.
10728 * themes/starfield/src/blob_nw.xcf: Likewise.
10729 * themes/starfield/src/bootmenu/: Likewise.
10730 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10731 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10732 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10733 * themes/starfield/src/slider_c.xcf: Likewise.
10734 * themes/starfield/src/slider_n.xcf: Likewise.
10735 * themes/starfield/src/slider_s.xcf: Likewise.
10736 * themes/starfield/src/terminalbox/: Likewise.
10737 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10738 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10739 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10740 * themes/starfield/starfield.png: Likewise.
10741 * themes/starfield/terminal_box_c.png: Likewise.
10742 * themes/starfield/terminal_box_e.png: Likewise.
10743 * themes/starfield/terminal_box_n.png: Likewise.
10744 * themes/starfield/terminal_box_ne.png: Likewise.
10745 * themes/starfield/terminal_box_nw.png: Likewise.
10746 * themes/starfield/terminal_box_s.png: Likewise.
10747 * themes/starfield/terminal_box_se.png: Likewise.
10748 * themes/starfield/terminal_box_sw.png: Likewise.
10749 * themes/starfield/terminal_box_w.png: Likewise.
10750 * themes/starfield/theme.txt: Likewise.
10751
17d73325
VS
107522012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * util/grub.d/00_header.in: Add missing export theme.
10755
dbebaf92
VS
107562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10759 already included.
10760 Reported by: Eren D.
10761
3d68bffb
VS
107622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 * conf/Makefile.common (grubdatadir): Removed.
10765 (Makefile.am): Move eveything grubdata to pkgdata.
10766
4b59234d
VS
107672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * grub-core/commands/acpihalt.c (get_sleep_type):
10770 Remove unused variable.
10771
463dcadc
VS
107722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10775 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10776 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10777 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10778 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10779 i18n with gettext no-op.
10780 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10781 GRUB_ACPI_OPCODE_STRING_CONST.
10782 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10783 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10784
e5b90c82
VS
107852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * po/POTFILES.in: Regenerate.
10788
2a704ca9
VS
107892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10792 -Wno-error=missing-noreturn.
10793
84f9d341
VS
107942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10797 condition to avoid possibly infinite loops.
10798 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10799 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10800
d46683f9
VS
108012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10804 condition to avoid possibly infinite loops.
10805
c44866b2
VS
108062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10809 on show_error.
10810
96790539
VS
108112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10812
10813 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10814
1ba7e295
VS
108152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10818
21ffe8f1
VS
108192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 * util/bin2h.c (usage): Add missing attribute noreturn.
10822
0ccb6b3c
VS
108232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10826 if the size isn't divisible by 512.
10827
b00d7fb6
VS
108282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 Make list_push and list_remove functions rather than inline functions
10831 to decrease size and avoid aliasing violations.
10832
10833 * include/grub/list.h (grub_list_push): Move to ...
10834 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10835 * include/grub/list.h (grub_list_remove): Move to ...
10836 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10837
9d369087
VS
108382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10841 and -Wunused-result.
10842
af0250d9
VS
108432012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10844
10845 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10846 Reported by: Seth Goldberg
10847
aad32b14
VS
108482012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10851
ac96441c
ST
108522012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10853
10854 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10855 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10856 command line.
10857 * docs/grub.texi (Simple configuration): Document
10858 GRUB_CMDLINE_GNUMACH.
10859
108602012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10861
10862 * conf/Makefile.common (platform_SCRIPTS): New variable.
10863 (platform_PROGRAMS): Likewise.
10864 * gentpl.py: Mark *,module and *.image for install.
10865 * grub-core/gdb_grub.in: Add a notice of expected environment.
10866 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10867 (gmodule.pl): Likewise.
10868
ac96441c 108692012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
10870
10871 Replace grub_checkkey with grub_getkey_noblock.
10872
10873 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10874 (grub_getkey_noblock): ... this. All users updated.
10875
ac96441c 108762012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
10877
10878 * grub-core/kern/emu/console.c: Move to ...
10879 * grub-core/term/emu/console.c: ...here.
10880 (grub_ncurses_getkey): Fix return value if no key is detected.
10881
e51b5666
VS
108822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10885 (grub_unit_test_fini): Likewise.
10886 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10887
108882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * include/grub/test.h (GRUB_UNIT_TEST)
10891
d9a62292
VS
108922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10895 Better error handling.
10896 (grub_script_return): Likewise.
10897 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10898
77c9182f
VS
108992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10900
10901 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10902 rimplicit redifinition.
10903
edb13cf9
VS
109042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10907 GRUB.
10908
a9e9dc7c
VS
109092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10912 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10913 prompt here.
10914
b4ba8e02
VS
109152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
10918 as GRUB_ERR_BUG. Don't malloc if no device is available.
10919
dded5540
VS
109202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
10923 Mark calling with invalid term as GRUB_ERR_BUG.
10924
0cf69874
VS
109252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
10928 packets rather than raising an error.
10929
59bfe502
VS
109302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
10933 in if.
10934
db5fc596
VS
109352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
10938 diagnostic to dprintf.
10939 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10940
e4b7f404
VS
109412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10942
10943 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
10944 device name.
10945
e7b02f9e
VS
109462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10947
10948 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
10949 (grub_ntfs_iterate_dir): Likewise.
10950
0331e102
VS
109512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 Efiemu stylistic fixes and gettext.
10954
10955 * grub-core/efiemu/i386/loadcore32.c
10956 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
10957 * grub-core/efiemu/i386/loadcore64.c
10958 (grub_arch_efiemu_relocate_symbols64): Likewise.
10959 * grub-core/efiemu/i386/pc/cfgtables.c
10960 (grub_machine_efiemu_init_tables): Likewise.
10961 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
10962 (grub_efiemu_loadcore_initXX): Add a filename argument.
10963 All users updated.
10964 Improved error message.
10965 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
10966 Add a filename argument.
10967 All users updated.
10968 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
10969 Reclassify double relocation as GRUB_ERR_BUG.
10970
306fc074
VS
109712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
10974 handling.
10975
794d8ef2
VS
109762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10977
10978 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
10979 on partition.
10980
109812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
10982
10983 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
10984
794d8ef2 109852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
10986
10987 Improve string. Gettextize.
10988
78dde88e
VS
109892012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
10992 utils.
10993 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
10994
4786a90f
VS
109952012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
10998 [GRUB_UTIL]: New function.
10999 (insert_array) [GRUB_UTIL]: Store partmaps.
11000 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11001 partmaps.
11002 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11003 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11004 (probe_abstraction): Print diskfilter and not raid.
11005 Reported by: Lennart Sorensen
11006
0b6225bd
VS
110072012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11010 * util/grub-mkimagexx.c (MASK3): New define.
11011 (add_value_to_slot_20b): Use MASK3.
11012 (add_value_to_slot_21): Likewise.
11013 (relocate_addresses): Fix format specification.
11014 (load_image): Explicitly init symtab_section.
11015
b055f8f6
VS
110162012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11017
11018 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11019 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11020
b77c2fb7
VS
110212012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11024 on powerpc.
11025 Reported by: Lennart Sorensen
11026
e3ec28ab
VS
110272012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11028
11029 * gentpl.py: Add missing license header.
11030 * docs/grub.texi: Update copyright year.
11031
c8d9ead6
GS
110322012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11033
11034 Source grub-mkconfig_lib from the build directory at build time.
11035 Suggested by: Vladimir Serbinenko.
11036
11037 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11038 * util/grub-install.in: Define pkgdatadir if not already set, and source
11039 grub-mkconfig_lib from there.
11040 * util/grub-kbdcomp.in: Likewise.
11041 * util/grub-mkconfig.in: Likewise.
11042 * util/grub-mknetdir.in: Likewise.
11043 * util/grub-mkrescue.in: Likewise.
11044 * util/grub-mkstandalone.in: Likewise.
11045 * util/grub-reboot.in: Likewise.
11046 * util/grub-set-default.in: Likewise.
11047 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11048
ebcecdf1
VS
110492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 Increase warning level.
11052
11053 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11054 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11055 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11056 (TARGET_CFLAGS): Likewise.
11057 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11058 * grub-core/Makefile.core.def (decompressor_xz): Add
11059 -Wno-unreachable-code.
11060 (normal): Add -Wno-redundant-decls.
11061 (xzio): Add -Wno-unreachable-code.
11062 (lzopio): Add -Wno-redundant-decls -Wno-error.
11063 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11064 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11065 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11066 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11067 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11068 * grub-core/kern/i386/coreboot/init.c: Add exception to
11069 -Wsuggest-attribute=noreturn.
11070 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11071 * grub-core/kern/ia64/dl_helper.c: Likewise.
11072 * grub-core/kern/mips/dl.c: Likewise.
11073 * grub-core/kern/sparc64/dl.c: Likewise.
11074 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11075 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11076 (memcmp): Likewise.
11077 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11078 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11079 * grub-core/loader/mips/linux.c: Likewise.
11080 * grub-core/loader/multiboot_elfxx.c: Likewise.
11081 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11082 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11083 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11084 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11085 fixme.
11086 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11087 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11088 Fix prototype.
11089
37bb97fe
VS
110902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11093 address.
11094
29a3550b
VS
110952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11096
11097 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11098 Avoid improper use of strings.
11099 (grub_cmd_legacy_initrdnounzip): Likewise.
11100
dfdffd0d
VS
111012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11104 attribute.
11105 (grub_util_info): Likewise.
11106 (grub_util_error): Likewise.
11107
102fae4a
VS
111082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11111 * util/grub-fstest.c (fstest): Likewise.
11112
7e94d044
VS
111132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11114
11115 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11116 (grub_md_sha512_real): Likewise.
11117 (grub_util_get_geli_uuid): Likewise.
11118 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11119 (grub_util_biosdisk_open): Fix format specification.
11120 Respect format security.
11121 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11122 (xrealloc): Likewise.
11123 (xasprintf): Likewise.
11124
5ebd9769
VS
111252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 * util/import_gcry.py: Include grub/crypto.h in init.c.
11128
495fc8c1
VS
111292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11132 (generate_image): Make prefix a const char *.
11133 Fix format specifications. Respect format security.
11134 Avoid void * arithmetics.
11135 Avoid shadowing.
11136 (argp_parser): Remove unused variable. Respect format security.
11137 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11138 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11139 (count_funcs): Remove unused variable.
11140 (relocate_addresses): Fix format specification.
11141 Disable x86-64 with elf32. Remove unused variables.
11142 (add_fixup_entry): Avoid shadowing.
11143 (make_reloc_section): Fix format specification.
11144 Use assert.
11145 (locate_sections): Fix format specifications.
11146 (load_image): Avoid shadowing.
11147
043c2ea3
VS
111482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11149
11150 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11151 Fix format specifications. Respect format security.
11152 Don't translate already translated grub_errmsg.
11153 (argp_parser): Remove unused variable
11154
3ec65a81
VS
111552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11158
a4d9fe4a
VS
111592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11162 (main): Likewise. Use xmalloc. Respect format security.
11163
15b81d49
VS
111642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11167 a const char *.
11168 (argp_parser): Remove unused variable.
11169
31731fc0
VS
111702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11173 (add_pixel): Make static.
11174 (add_font): Likewise.
11175 (write_string_section): Make name and str a const char *.
11176 (write_be16_section): Make name a const char *.
11177 (print_glyphs): Make static.
11178 (write_font_ascii_bitmap): Likewise.
11179 (write_font_width_spec): Likewise.
11180 (write_font_pf2): Likewise.
11181 (argp_parser): Remove unused variable.
11182 Respect format security.
11183 (main): Avoid shadowing. Respect format security.
11184
0809527b
VS
111852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * util/grub-editenv.c (argp_parser): Make static.
11188 (create_envblk_file): Use xmalloc.
11189 (open_envblk_file): Likewise.
11190 Resepect format security.
11191 (set_variables): Respect format security.
11192
45b0c8b7
VS
111932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 * util/getroot.c (grub_find_device): Respect format security.
11196 (get_mdadm_uuid): Remove unused variable.
11197 (grub_util_pull_device): Dont call gettext on already translated
11198 grub_errmsg.
11199 (find_system_device): Remove unused variable.
11200 (grub_util_get_grub_dev): Likewise.
11201 (grub_make_system_path_relative_to_its_root): Respect format security.
11202
1b024b4e
VS
112032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * util/grub-fstest.c (execute_command): Make first argument
11206 a const char *.
11207 (read_file): Avoid shadowing.
11208 Reuse underlying error message if device open fails.
11209 (cmd_cmp): Respect format security.
11210 (root): Make const char *.
11211 (fstest): Remove args argument and use global copy.
11212 Respect format security.
11213 (argp_parser): Make static.
11214 (main): Make default_root const char *.
11215
5d1d4e28
VS
112162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * util/grub-mount.c (root): Make const char *.
11219 (execute_command): Make first argument a const char *.
11220 (fuse_init): Respect format security.
11221 (argp_parser): Make static. Remove unused variable.
11222 (main): Make default_root a const char *.
11223 Respect format security.
11224
36eb7379
VS
112252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 * util/grub-probe.c (probe): Don't call gettext on already translated
11228 grub_errmsg.
11229 Remove unused variables.
11230 (argp_parser): Remove unused variable.
11231
76fb2ea9
VS
112322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * util/grub-script-check.c (argp_parser): Remove unused variable.
11235 (main): Rename read to curread to avoid shadowing.
11236
56c98584
VS
112372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 * util/misc.c (grub_util_write_image_at): Fix format specification.
11240 (grub_util_write_image): Likewise.
11241 (grub_script_execute_argument_to_string): Removed (unused).
11242 (grub_script_execute_menuentry): Likewise.
11243 (grub_putchar): Likewise.
11244
164ebb48
VS
112452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11248 (FUNCTION) [GRUB_UTIL]: Likewise.
11249 (VARIABLE) [GRUB_UTIL]: Likewise.
11250
44318d61
VS
112512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11254 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11255
31a26002
VS
112562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11259 buffer.
11260
112612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11264 (LzmaEnc_SaveState): Removed (unused).
11265 (LzmaEnc_RestoreState): Likewise.
11266 (LzmaEnc_InitPriceTables): Made static.
11267 (LzmaEnc_Construct): Likewise.
11268 (LzmaEnc_FreeLits): Likewise.
11269 (LzmaEnc_Destruct): Likewise.
11270 (LzmaEnc_Init): Likewise.
11271 (LzmaEnc_InitPrices): Likewise.
11272 (LzmaEnc_Finish): Likewise.
11273 (LzmaEnc_PrepareForLzma2): Removed (unused).
11274 (LzmaEnc_MemPrepare): Likewise.
11275 (LzmaEnc_GetNumAvailableBytes): Likewise.
11276 (LzmaEnc_GetCurBuf): Likewise.
11277 (LzmaEnc_CodeOneMemBlock): Likewise.
11278
6fa67967
VS
112792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11282 (grub_util_ldm_embed): Likewise.
11283
9a7428e6
VS
112842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * util/grub-editenv.c (print_var): Rename name to varname to
11287 avoid shadowing.
11288 (main): Rename index to curindex to avoid shadowing.
31a26002 11289 Make filename a const char *.
9a7428e6 11290
4f96abd1
VS
112912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11294 to arg_getline to avoid shadowing.
11295
44d10dad
VS
112962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11299 disk_ to avoid shadowing.
11300
340ba63e
VS
113012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11304 curindex to avoid shadowing.
11305 Make static.
11306 (MatchFinder_GetNumAvailableBytes): Make static.
11307
22965bce
VS
113082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11311 avoid shadowing.
11312
7b5784d4
VS
113132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11316 argument from encrypt to do_encrypt to avoid shadowing.
11317
6f48ca01
VS
113182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11319
11320 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11321 incorrect nesting of #if's.
11322
a4ea2dff
VS
113232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11324
11325 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11326 checks which are always false on some platforms.
11327 (grub_cmd_lsacpi): Likewise.
11328 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11329 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11330 Likewise.
11331
def9fc1b
VS
113322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11335 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11336
a67b2a04
VS
113372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11340 re_dfa_t to avoid breaking alignment invariants.
11341 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11342 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11343
44c6828d
VS
113442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11347 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11348
bebe0dd0
VS
113492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11352 Fix declaration.
11353
a9cdb3cf
VS
113542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11357 conserve alignment invariants.
11358 (grub_ehci_ehcc_read16): Likewise.
11359 (grub_ehci_oper_read32): Likewise.
11360 (grub_ehci_oper_write32): Likewise.
11361 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11362 Conserve alignment invariants.
11363
ccc3b1b8
VS
113642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11367 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11368 declarations.
11369
987fbd95
VS
113702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11373 Remove unused variable.
11374
0df363f3
VS
113752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11378 Remove set in if.
11379
b2c0c4a6
VS
113802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11381
11382 * include/grub/net.h: Remove double declarations.
11383
690c531f
VS
113842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 Remove "payload" command in ia64 Linux loader since I couldn't
11387 find any evidence of it being used for anything.
11388 Replace "relocate" command with an environment variable
11389
11390 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11391 fields.
11392 (ia64_boot_payload): Removed.
11393 (last_payload): Likewise.
11394 (RELOCATE_OFF): Likewise.
11395 (RELOCATE_ON): Likewise.
11396 (RELOCATE_FORCE): Likewise.
11397 (relocate): Likewise.
11398 (free_pages): Don't free payloads.
11399 (grub_load_elf64): Use common error messages.
11400 Use "linux_relocate" variable.
11401 Increase the space after boot_params.
11402 (grub_cmd_payload): Removed.
11403 (grub_cmd_relocate): Likewise.
11404 (grub_cmd_fpswa): Improve messages.
11405 (cmd_payload): Removed.
11406 (cmd_relocate): Likewise.
11407 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11408 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11409
01783768
VS
114102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 Convert UHCI to DMA framework.
11413
11414 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11415 (grub_uhci_pci_iter): Fill new members
11416 (grub_alloc_td): Use P2V and V2P functions.
11417 (grub_free_queue): Likewise.
11418 (grub_alloc_qh): Likewise.
11419 (grub_uhci_setup_transfer): Likewise.
11420 (grub_uhci_check_transfer): Likewise.
11421
43206939
VS
114222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11425 Remove assignment in if while on it.
11426
571e140e
VS
114272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 * util/grub-mkstandalone.in: Fix modules directory.
11430
a9d96eeb
VS
114312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11434 on i386-pc target.
11435 (argp_parser): Accept "auto" as compression specification.
11436
e4e37e8d
VS
114372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 Fix `help' with unloaded modules.
11440
11441 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11442 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11443 (grub_dyncmd_dispatcher): Small stylistic fix.
11444 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11445 explicit help is requested.
11446
e1ea3ade
VS
114472012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11450 Explicitly init restart while on it.
11451
27556881
VS
114522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11455 uninited variable.
11456
d65f6b36
VS
114572012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * util/grub-mknetdir.in: Use . rather than source for POSIX
11460 compatibility.
11461
0a1e473c
VS
114622012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11465
ce6647c8
VS
114662012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11469 variable.
11470
66747894
VS
114712012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11474 without quotes.
11475
71645f6e
VS
114762012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11479
0e1c1f61
VS
114802012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11483 iteration of partitions.
11484
9c4b5c13
VS
114852012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 Improve gettext support. Stylistic fixes and error handling fixes while
11488 on it.
11489
215c90cb
VS
114902012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11493 part. Instead setup the correct stack in RM.
11494 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11495 for stack.
11496 * include/grub/i386/relocator_private.h: New file.
11497
b5c1f9bf
VS
114982012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11501 argument.
11502 * util/grub-fstest.c (options): Add missing DEVICE part.
11503
b525fd83
VS
115042012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 Clarify and unify messages.
11507
11508 * grub-core/commands/hashsum.c (options): Unify messages.
11509 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11510 literal-only message as translatable.
11511 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11512 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11513 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11514 commands.
11515 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11516 key, not the key used to unlock. Clarify what it's used for.
11517 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11518 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11519 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11520 * util/grub-editenv.c (options): Unify "verbose" message.
11521 * util/grub-fstest.c (read_file): Unify error message.
11522 (fstest): Add quotes around commands.
11523 (options): Unify "verbose" message.
11524 * util/grub-install.in: Add quotes around variable name.
11525 * util/grub-kbdcomp.in: Unify error message.
11526 * util/grub-mkfont.c (main): Likewise.
11527 * util/grub-mkrescue.in: Likewise.
11528 * util/grub-mklayout.c (options): Unify "verbose" message.
11529 * util/grub-mkstandalone.in: Unify help and verbose messages.
11530 * util/grub-mount.c (options): Unify "verbose" message.
11531 * util/grub-probe.c (options): Likewise.
11532 * util/grub-script-check.c (options): Likewise.
11533 * util/grub-setup.c (setup): Unify no-terminator message.
11534 (options): Use DEVICE and not DEV.
11535 Unify "verbose" message.
11536 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11537
0ae70393
VS
115382012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 Improve and unify messages.
11541
11542 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11543 name. All users updated.
11544 Print filename in error.
11545 (read_device_map): Print filename in error.
11546 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11547 (grub_util_get_os_disk): Likewise.
11548 (grub_util_biosdisk_get_grub_dev): Likewise.
11549 (grub_util_check_block_device): Likewise.
11550 (grub_util_check_char_device): Likewise.
11551 (grub_make_system_path_relative_to_its_root): Likewise.
11552 * util/grub-editenv.c (create_envblk_file): Likewise.
11553 (open_envblk_file): Likewise.
11554 (write_envblk): Likewise.
11555 * util/grub-fstest.c (cmd_cp): Likewise.
11556 (cmd_cat): Likewise.
11557 (cmd_cmp): Likewise.
11558 * util/grub-menulst2cfg.c (main): Likewise.
11559 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11560 (write_font_width_spec): Likewise.
11561 (write_font_pf2): Likewise.
11562 * util/grub-mkimage.c (generate_image): New argument outname.
11563 All users updated.
11564 Remove unreacheable message.
11565 (options): Unify messages.
11566 (help_filter): Likewise.
11567 * util/grub-mklayout.c (usage): Removed (unused).
11568 (main): Print filename in error.
11569 * util/grub-mkrescue.in: Fix wrong quoting.
11570 * util/grub-setup.c (setup): Print filename in error.
11571 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11572 (check_sas): Likewise.
11573 * util/misc.c (grub_util_get_fp_size): Removed.
11574 (grub_util_get_image_size): Print filename in error.
11575 (grub_util_read_at): Removed.
11576 (grub_util_read_image): Print filename in error.
11577 (grub_util_load_image): Likewise.
11578 (grub_util_write_image_at): New argument filename. All users updated.
11579 Print filename in error.
11580 (grub_util_write_image): New argument filename. All users updated.
11581 Print filename in error.
11582 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11583 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11584
0a96117d
VS
115852012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 * grub-core/Makefile.core.def (pxechain): New module.
11588 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11589 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11590 function.
11591 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11592 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11593
aca002f7
VS
115942012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11597 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11598 * include/grub/err.h (grub_error_saved): New struct.
11599 (grub_errmsg): Make array size explicit.
11600 * include/grub/misc.h (grub_error_save): New function.
11601 (grub_error_load): Likewise.
11602 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11603 (grub_error_push): Update `errno' member name.
11604 (grub_error_pop): Likewise
11605 * grub-core/net/tftp.c (tftp_data): New member save_err.
11606 (tftp_receive): Save error.
11607 (tftp_open): Restore error.
11608
a51dab13
VS
116092012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11612 to real mode down to execute A20-related code in protected mode as
11613 intended.
11614
eb6e6649
GS
116152012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11616
11617 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11618 NULL when the argument `level' has an unexpected value.
11619
92cd0f6e
VS
116202012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11621
11622 Move platform-dependent files from $prefix to $prefix/$platform.
11623
11624 * config.h.in (GRUB_TARGET_CPU): New definition.
11625 (GRUB_PLATFORM): Likewise.
11626 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11627 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11628 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11629 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11630 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11631 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11632 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11633 * grub-core/normal/term.c (read_terminal_list): Likewise.
11634 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11635 $prefix/locale.
11636 (grub_gettext_init_ext): Likewise.
11637 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11638 grub_platform.
11639 * util/grub-install.in: Update directories.
11640 * util/grub-mknetdir.in: Likewise.
11641 * util/grub-mkrescue.in: Likewise.
11642
db606889
VS
116432012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11644
11645 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11646 grub_error framework. All users updated.
11647
c39992a4
VS
116482012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11651 lists (by always binsearching), improve caching (cache strings
11652 used for binsearch, not only results), improve
11653 maintainability (by using more structured binary search) and correct
11654 error handling.
11655
1e5ec32f
VS
116562012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11657
11658 * grub-core/script/execute.c (grub_script_return): Fix warning.
11659
ac576cde
VS
116602012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 * grub-core/script/execute.c (grub_script_return): Fix potential
11663 NULL-dereference.
11664 Reported by: Jim Meyering.
11665
498453f6
VS
116662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * po/POTFILES.in: Regenerate.
11669 * util/grub-install.in: Gettextize the strings missed in first pass.
11670
8be63f2e
VS
116712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * Makefile.util.def (grub-mkdevicemap): Removed.
11674 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11675 * include/grub/util/deviceiter.h: Removed.
11676 * util/deviceiter.c: Likewise.
11677 * util/getroot.c (grub_util_get_os_disk): New function.
11678 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11679 replacement for EFI.
11680 * util/grub-mkdevicemap.c: Removed.
11681 * util/grub-probe.c (probe): Handle PRINT_DISK.
11682 (argp_parser): Handle -t disk.
11683
8e1e4e39
VS
116842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 * util/grub-mkfont.c: Migrate to argp.
11687 * util/grub-mklayout.c: Likewise.
11688 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11689 * util/grub-mkrelpath.c: Likewise.
11690 * util/grub-probe.c: Likewise.
11691 * util/grub-script-check.c: Likewise.
11692
4459819a
VS
116932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 * util/grub-reboot.in: Add missing datarootdir.
11696 Add missing newline.
11697 * util/grub-set-default.in: Add missing datarootdir.
11698 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11699 * util/grub-mkrescue.in: Likewise.
11700
f65741c7
VS
117012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11702
11703 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11704
c1a33466
VS
117052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * util/grub-kbdcomp.in: Add decent help and gettextize.
11708 * docs/man/grub-kbdcomp.h2m: New file.
11709
c76899a0
VS
117102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 Migrate grub-mkimage.c to argp.
11713
11714 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11715 (grub-setup): Likewise.
11716 * util/grub-setup.c (print_version): Move to ...
11717 * util/argp_common.c (print_version): ... here.
11718 * util/grub-setup.c (argp_program_version_hook): Move to ...
11719 * util/argp_common.c (argp_program_version_hook): ... here.
11720 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11721 safety.
11722 * util/grub-mkimage.c (main): Migrate to argp.
11723
57db0757
VS
117242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * util/grub-mkrescue.in: Use same message as
11727 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11728 for better translations.
11729
18534ad9
VS
117302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11731
11732 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11733 options with generic grub-mkrescue.in with the goal of future
11734 merge.
11735
c84ba308
VS
117362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * grub-core/kern/mm.c: Add missing include of i18n.h
11739 * grub-core/lib/relocator.c: Likewise.
11740
347998c2
VS
117412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11744 error.
11745 (allocate_pages): Check return value.
11746 Replace fatal with error.
11747 (grub_linux_boot): Replace printf with dprintf.
11748 Check find_mmap_size return value.
11749 Replace fatal with error.
11750 Don't call grub_machine_fini.
11751 (grub_load_elf64): Replace printf with dprintf.
11752 (grub_cmd_linux): Likewise.
11753 (grub_cmd_initrd): Likewise.
11754 (grub_cmd_payload): Likewise.
11755
c779226e
VS
117562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11759 message.
11760 * grub-core/video/radeon_fuloong2e.c
11761 (grub_video_radeon_fuloong2e_setup): Likewise.
11762 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11763 * grub-core/video/video.c (grub_video_set_mode): Don't override
11764 standard out of memory message.
11765
dc87d45a
GS
117662012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11767
11768 NetBSD disk wedge support.
11769
11770 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11771 [__NetBSD__]: Handle NetBSD disk wedges.
11772 * util/getroot.c (convert_system_partition_to_system_disk)
11773 [__NetBSD__]: Likewise.
11774
055f856f
MW
117752012-02-03 Mark Wooding <mdw@distorted.org.uk>
11776
11777 * util/grub-mkconfig.in: Use umask rather than chmod to create
11778 grub.cfg.new to avoid insecure grub.cfg.
11779
4a9f8346
VS
117802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 * grub-core/commands/ls.c: Gettextize.
11783 * grub-core/commands/setpci.c: Likewise.
11784 * grub-core/commands/videotest.c: Likewise.
11785 * grub-core/disk/geli.c: Likewise.
11786 * grub-core/kern/mm.c: Likewise.
11787 * grub-core/lib/relocator.c: Likewise.
11788 * grub-core/loader/efi/appleloader.c: Likewise.
11789 * grub-core/loader/i386/xnu.c: Likewise.
11790 * grub-core/loader/ia64/efi/linux.c: Likewise.
11791 * grub-core/loader/xnu.c: Likewise.
11792 * grub-core/net/dns.c: Likewise.
11793 * grub-core/net/net.c: Likewise.
11794 * grub-core/script/lexer.c: Likewise.
11795 * grub-core/script/parser.y: Likewise.
11796 * grub-core/script/yylex.l: Likewise.
11797 * util/getroot.c: Likewise.
11798 * util/grub-setup.c: Likewise.
11799
a646a366
VS
118002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11803 number.
11804
54e2be26
VS
118052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11808
f7c71e68
VS
118092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11812 macro.
11813 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11814 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11815
a32d5c71
VS
118162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11817
11818 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11819 * util/grub-install.in: Gettextize.
11820 * util/grub-mkconfig.in: Likewise.
11821 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11822 if not available.
11823 (grub_warn): Gettextize.
11824 * util/grub-mknetdir.in: Gettextize.
11825 * util/grub-mkrescue.in: Likewise.
11826 * util/grub-mkstandalone.in: Likewise.
11827 * util/grub-reboot.in: Likewise.
11828 * util/grub-set-default.in: Likewise.
11829 * util/grub.d/00_header.in: Likewise.
11830 * util/grub.d/10_hurd.in: Likewise.
11831 * util/grub.d/10_kfreebsd.in: Likewise.
11832 * util/grub.d/10_linux.in: Likewise.
11833 * util/grub.d/10_netbsd.in: Likewise.
11834 * util/grub.d/10_windows.in: Likewise.
11835 * util/grub.d/20_linux_xen.in: Likewise.
11836 * util/grub.d/30_os-prober.in: Likewise.
11837 * po/POTFILES-shell.in: Regenerate.
11838
69edd81a
RL
118392012-02-03 Richard Laager <rlaager@wiktel.com>
11840
11841 * util/grub-mkimage.c (main): Fix format-security warning.
11842 * util/grub-mkrelpath.c (main): Likewise.
11843 * util/grub-probe.c (main): Likewise.
11844
65f08dbf
RL
118452012-02-03 Richard Laager <rlaager@wiktel.com>
11846
11847 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11848 failure.
11849 Put back lost PRINT_DRIVE.
11850
e9084abe
RL
118512012-02-03 Richard Laager <rlaager@wiktel.com>
11852
11853 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11854 (grub_guess_root_devices): Replace strlen with sizeof.
11855 Avoid crash.
11856 (find_root_devices_from_poolname): Remove unused variable.
11857 Handle raidzN.
11858
cf5f7ee7
VS
118592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11860
11861 Support install on multi-device filesystems.
11862
11863 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11864 (grub_guess_root_devices): ...this. Return char **. All users updated.
11865 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11866 Removed.
11867 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11868 (find_root_devices_from_poolname): ... here.
11869 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11870 Support zfs-fuse.
11871 (grub_guess_root_device): Rename to ...
11872 (grub_guess_root_devices): ... this. Return char **. All users updated.
11873 * util/grub-install.in: Handle multi-device filesystems.
11874 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11875 argument. All users updated.
11876 Handle multi-device filesystems.
11877 Use 'delim' as separator.
11878 Remove device check to allow filesystems on file.
11879 (main): Support -0 argument. Handle multi-device.
11880 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11881 Fix a cross-device check while on it.
11882 (arguments): Remove root_dev.
11883 (argp_parser): Remove -r.
11884 (main): Remove root_dev.
11885
2f53a9ed
VS
118862012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11889
17e1d934
VS
118902012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11893 symbol.
11894 Reported by: NODA, Kai <nodakai>.
11895
d3e3fab5
VS
118962012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 Fix ehci on amd64.
11899
11900 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11901 pointers.
11902 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11903 (grub_ehci_setup_qh): Likewise.
11904 (grub_ehci_find_qh): Likewise.
11905 (grub_ehci_transaction): Likewise.
11906 (grub_ehci_setup_transfer): Likewise.
11907 (grub_ehci_check_transfer): Likewise.
11908 (grub_ehci_portstatus): Likewise.
11909 (grub_ehci_detect_dev): Likewise.
11910 (grub_ehci_transfer_controller_data): New field td_last_phys.
11911 (grub_ehci_setup_transfer): Fill td_last_phys.
11912 (grub_ehci_check_transfer): Use td_last_phys.
11913
3008675b
SG
119142012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11915
11916 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
11917 if no submenu is present.
11918
fc9b5652
AN
119192012-02-01 Aleš Nesrsta <starous@volny.cz>
11920
11921 CBI support.
11922
11923 * include/grub/usb.h (grub_usbms_protocol_t): New values
11924 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
11925 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
11926 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
11927 (grub_usbms_dev): Add subclass, protocol and intrpt.
11928 Remove in_maxsz and out_maxsz.
11929 (grub_usbms_reset): Rename to ...
11930 (grub_usbms_bo_reset): .. this.
11931 (grub_usbms_cbi_cmd): New function.
11932 (grub_usbms_cbi_reset): Likewise.
11933 (grub_usbms_reset): Likewise.
11934 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
11935 (grub_usbms_transfer): Rename to ...
11936 (grub_usbms_transfer_bo): ... this.
11937 (grub_usbms_transfer_cbi): Likewise.
11938 (grub_usbms_transfer): Likewise.
11939
a2b81d53
AN
119402012-02-01 Aleš Nesrsta <starous@volny.cz>
119412012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
11944 the support for the CS5536 modification thereos and few bugfixes.
11945
11946 * grub-core/Makefile.core.def (ehci): New module.
11947 * grub-core/bus/usb/ehci.c: New file.
11948 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
11949 port and hubaddr. All users updated.
11950 Save port and hubaddr into dev structure.
11951 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
11952 define.
11953 * include/grub/pci.h (grub_dma_phys2virt): New function.
11954 (grub_dma_virt2phys): Likewise.
11955 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
11956
b1d51f02
VS
119572012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
11960 check as some mkfs implementations omit it.
11961
fc694106
VS
119622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11963
11964 * docs/grub.texi (Unicode): Mention identifier and space limitations.
11965
6c0920e3
VS
119662012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
11969 Add new member volname2.
11970 (grub_jfs_label): Use volname2 if available.
11971
d1a46f9a
VS
119722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11973
11974 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
11975 over last_mounted as seen in image generated by mkfs.nilfs2.
11976 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
11977
dec8ed14
VS
119782012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11979
11980 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
11981 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
11982 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
11983
7397c69b
VS
119842012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
11987 over the sector.
11988
b3fe42ad
VS
119892012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
11992 subvolume name (by removing a bogus and useless check).
11993
10476bb0
VS
119942012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
11997 sizeof while on it.
11998
9c08ad87
VS
119992012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12002 (grub_scsi_read_capacity10): ... this.
12003 (grub_scsi_read_capacity16): New function.
12004 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12005 0xffffffff.
12006 Fix off-by-one error.
12007 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12008 64-bit unsigned.
12009 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12010 (grub_scsi_read_capacity10): ... this.
12011 (grub_scsi_read_capacity_data): Rename to ...
12012 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12013 (grub_scsi_read_capacity16): New struct.
12014 (grub_scsi_read_capacity16_data): Likewise.
12015 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12016 grub_scsi_cmd_read_capacity10.
12017 New command grub_scsi_cmd_read_capacity16.
12018
bc8d0f45
VS
120192012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 SCSI >2TiB support.
12022
12023 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12024 (grub_scsi_write16): Likewise.
12025 (grub_scsi_read): Use read16 when necessary.
12026 (grub_scsi_write): Likewise.
12027 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12028 (grub_scsi_write16): Likewise.
12029 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12030
cc774926
VS
120312012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 SCSI write support (for usbms mainly).
12034
12035 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12036 a const pointer.
12037 (grub_scsi_write): Implement.
12038 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12039
67639fd7
VS
120402012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12041
12042 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12043 variable.
12044
9079d3ed
VS
120452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12048
c6a6f204
VS
120492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * po/POTFILES.in: Regenerate.
12052
ecbf8cd1
VS
120532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12056 with grub_printf to avoid unnecessary fatal failure.
12057
0b3b3b38
VS
120582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12061 (INT_MAX): Likewise.
12062 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12063 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12064 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12065 (strcpy): Likewise.
12066 (strstr): Likewise.
12067 (strchr): Likewise.
12068 (strncpy): Likewise.
12069 (strcat): Likewise.
12070 (strncat): Likewise.
12071 (strcoll): Likewise.
12072 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12073 (GRUB_INT_MAX): Likewise.
12074
db7337a3
VS
120752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12078 unexpected error.
12079 (optimize_utf8): Likewise.
12080 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12081
f37c87e1
VS
120822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * grub-core/boot/i386/pc/lnxboot.S: Use
12085 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12086 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12087 location.
12088 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12089 definition.
12090 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12091
63fe43f3
VS
120922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12093
12094 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12095 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12096 now to avoid double free.
12097 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12098 hostdisk.
12099 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12100 * util/grub-probe.c (escape_of_path): Always return a new copy.
12101 (print_full_name): Escape path.
12102 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12103 Fix hints on abstractions.
12104
ebe2c961
VS
121052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12108 Don't add "root" line if no compatibility hont is available.
12109 Suggested by: Seth Goldberg.
12110
2b5336a2
VS
121112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12114 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12115 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12116 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12117
74310bd8
VS
121182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12121
c30582ba
VS
121222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 * util/grub-pe2elf.c (ehdr): Make static.
12125 (shdr): Likewise.
12126 (num_sections): Likewise.
12127 (offset): Likewise.
12128
5f47782c
VS
121292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 Eliminate ofpath limits and possible overflows.
12132
12133 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12134 (OF_PATH_MAX): Removed.
12135 (MAX_DISK_CAT): New const.
12136 (find_obppath): Use allocated rather than preallocated buffer.
12137 Return result. Argument of_path removed. All users updated.
12138 Add missing fdstat.
12139 (xrealpath): New function.
12140 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12141 Allocate rather than use preallocated buffer. All users updated.
12142 (__of_path_common): Use allocated rather than preallocatecd buffer.
12143 Return result. Argument of_path removed. All users updated.
12144 (vendor_is_ATA): Read only needed part form the file.
12145 (check_sas): Allocate depending on contents rather than fixed.
12146 (main) [STANDALONE]: Handle NULL result.
12147
f990cbf9
VS
121482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12151
9c6e84b8
VS
121522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 Cryptodisk write support.
12155
12156 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12157 (grub_cryptodisk_decrypt): Moved logic to ...
12158 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12159 (grub_cryptodisk_write): Implement.
12160 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12161 (grub_util_fd_write): ... this. Make global.
12162 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12163
87cf9744
VS
121642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 * include/grub/list.h (grub_list_remove): Don't crash if element is
12167 removed twice.
12168
ca8c0baf
VS
121692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12170
12171 Rename ofconsole to console.
12172
12173 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12174 as sysnonym to console.
12175 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12176 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12177 Rename grub_ofconsole_ to grub_console_. All users updated
12178 (grub_console_term_output): Rename "ofconsole" to "console".
12179 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12180 as "console".
12181
64c8b8f6
VS
121822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12183
12184 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12185 handling.
12186 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12187 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12188 GRUB_DISK_DEVICE_FILE_ID.
12189
f6c434d5
VS
121902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12193 and improve performance.
12194
5858b42d
VS
121952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12198 missing ieee1275/ prefix on whole disk.
12199
4ed3c26b
VS
122002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12203 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12204
df71143e
VS
122052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12208
076e7c0f
VS
122092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12210
12211 Merge common RAID and LVM logic to an abstract diskfilter.
12212 Add LDM support using the same framework.
12213
12214 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12215 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12216 (libgrubmods): Remove grub-core/disk/raid.c and
12217 grub-core/partmap/gpt.c.
12218 * grub-core/Makefile.core.def (ldm): New module.
12219 (raid): Renamed to diskfilter. All users updated.
12220 * grub-core/disk/raid.c: Moved to ...
12221 * grub-core/disk/diskfilter.c: ... here.
12222 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12223 (lv_num): New var.
12224 (find_array): Renamed to ...
12225 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12226 (grub_is_array_readable): Renamed to ...
12227 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12228 (insert_array): New argument id.
12229 (is_node_readable): New function.
12230 (scan_device): Rename to ...
12231 (scan_disk): .. this. Restrict to one disk.
12232 (scan_devices): New function.
12233 (grub_diskfilter_iterate): Support multi-LV.
12234 Skip invisible and nameless LVs.
12235 (grub_diskfilter_memberlist): Support multi-LV.
12236 (grub_diskfilter_read_node): New function.
12237 (grub_raid_read): Most of logic moved to ...
12238 (read_segment): ... here
12239 (read_lv): New function.
12240 (grub_diskfilter_get_vg_by_uuid): New function.
12241 (grub_diskfilter_make_raid): Likewise.
12242 * grub-core/disk/ldm.c: New file.
12243 * grub-core/disk/lvm.c (vg_list): Removed.
12244 (lv_count): Likewise.
12245 (scan_depth): Likewise.
12246 (is_lv_readable): Likewise.
12247 (grub_lvm_getvalue): Advance pointer past the number.
12248 (find_lv): Removed.
12249 (do_lvm_scan): Refactored into ...
12250 (grub_lvm_detect): ... this. Support raid.
12251 (grub_lvm_iterate): Removed.
12252 (grub_lvm_memberlist): Likewise.
12253 (grub_lvm_open): Likewise.
12254 (grub_lvm_close): Likewise.
12255 (read_lv): Likewise.
12256 (read_node): Likewise.
12257 (is_node_readable): Likewise.
12258 (is_lv_readable): Likewise.
12259 (grub_lvm_read): Likewise.
12260 (grub_lvm_write): Likewise.
12261 (grub_lvm_dev): Use diskfilter
12262 (GRUB_MOD_INIT): Likewise.
12263 (GRUB_MOD_FINI): Likewise.
12264 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12265 new interface.
12266 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12267 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12268 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12269 grub_diskfilter_read_node.
12270 Fix a bug with xor.
12271 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12272 grub_diskfilter_read_node.
12273 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12274 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12275 (grub_disk_dev_iterate): Move from here...
12276 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12277 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12278 Make global.
12279 (grub_hostdisk_find_partition_start): Likewise.
12280 (grub_hostdisk_os_dev_to_grub_drive): New function.
12281 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12282 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12283 * util/getroot.c (make_device_name): ... here.
12284 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12285 Move to ...
12286 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12287 * grub-core/kern/emu/hostdisk.c
12288 (convert_system_partition_to_system_disk): Move to ...
12289 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12290 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12291 * util/getroot.c (device_is_wholedisk): ... here.
12292 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12293 * util/getroot.c (find_system_device): ... here.
12294 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12295 Move to ...
12296 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12297 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12298 Move to ...
12299 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12300 Handle LDM.
12301 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12302 Move to ...
12303 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12304 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12305 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12306 DISKFILTER.
12307 * include/grub/raid.h: Renamed to ...
12308 * include/grub/diskfilter.h: ... this.
12309 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12310 (GRUB_RAID_LAYOUT_*): Make into array.
12311 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12312 (grub_diskfilter_vg): New struct.
12313 (grub_diskfilter_pv_id): Likewise.
12314 (grub_raid_member): Removed.
12315 (grub_raid_array): Likewise.
12316 (grub_diskfilter_pv): New struct.
12317 (grub_diskfilter_lv): Likewise.
12318 (grub_diskfilter_segment): Likewise.
12319 (grub_diskfilter_node): Likewise.
12320 (grub_diskfilter_get_vg_by_uuid): New proto.
12321 (grub_raid_register): Inline.
12322 (grub_diskfilter_unregister): Likewise.
12323 (grub_diskfilter_make_raid): New proto.
12324 (grub_diskfilter_vg_register): Likewise.
12325 (grub_diskfilter_read_node): Likewise.
12326 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12327 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12328 (grub_util_is_ldm): Likewise.
12329 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12330 (grub_hostdisk_find_partition_start): Likewise.
12331 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12332 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12333 New definition.
12334 (grub_gpt_partition_map_iterate): New proto.
12335 * include/grub/lvm.h (grub_lvm_vg): Removed.
12336 (grub_lvm_pv): Likewise.
12337 (grub_lvm_lv): Likewise.
12338 (grub_lvm_segment): Likewise.
12339 (grub_lvm_node): Likewise.
12340 * util/getroot.c [...]
12341 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12342 (probe_abstraction): Likewise.
12343 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12344 (main): Remove dead logic.
12345
8a7f9b9c
VS
123462012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 Simplify root device discover and don't fail when trying to open
12349 incorrect devices.
12350
12351 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12352 function.
12353 (get_diskname_from_path): Likewise.
12354 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12355 of iterating.
12356
30545b85
VS
123572012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12360
28ea58cf
VS
123612012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12362
12363 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12364 pastthe end.
12365
692dabca
VS
123662012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12367
12368 * util/grub-install.in: Add missing \.
12369 Reported by: gentoofan
12370
f6e4ea70
VS
123712012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12372
12373 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12374 (direct_read): Use correct compressed size.
12375 (grub_squash_read_data): Likewise.
12376
123772012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12378
12379 * docs/grub.texi (Platform limitations): New section.
12380 (Platform-specific operations): Likewise.
12381 * docs/grub-dev.texi (Porting): Likewise.
12382
76261110
VS
123832012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12384
12385 IEEE1275 disk write support.
12386
12387 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12388 const void *.
12389 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12390 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12391 and seek loginc to ...
12392 (grub_ofdisk_prepare): ... here.
12393 (grub_ofdisk_write): Implement.
12394
fc36d603
VS
123952012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 ARC disk write support.
12398
12399 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12400 (reopen): New argument writable. All users updated.
12401 Handle required access mode.
12402 (grub_arcdisk_write): Implement.
12403 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12404 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12405
e06c2e7a
VS
124062012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12409 (read_sblock): Don't attempt to read superblocks outside the disk size.
12410
ff447958
VS
124112012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12414 first superblock to find the second one when possible.
12415
9e88df39
VS
124162012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 * util/grub-install.in: Fix an ARC bug.
12419 Print a warning if no platform-specific setup is available.
12420
bb26e4ff
VS
124212012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 Use static allocation rather than scratch pointer in reed_solomon.
12424 It decreases its size significantly and avoids a variable in .text.
12425
12426 * grub-core/lib/reed_solomon.c (scratch): Removed.
12427 (chosenstat): New const or static array.
12428 (sigma): Likewise.
12429 (errpot): Likewise.
12430 (errpos): Likewise.
12431 (sy): Likewise.
12432 (mstat): Likewise.
12433 (errvals): Likewise.
12434 (eqstat): Likewise.
12435 (pol_evaluate): Replace x with log_x argument. All users updated.
12436 (syndroms): Removed.
12437 (gauss_solve): Use statically allocated arrays.
12438 (rs_recover): Likewise.
12439 Calculate syndroms directly.
12440 (decode_block): Use statically allocated arrays.
12441 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12442 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12443
2e13ede5
VS
124442012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 Eliminate fixed limit on reed solomon decoder length.
12447
12448 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12449 rather than hardcoding the address.
12450 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12451 no_reed_solomon_length.
12452 Move gate_a20 to no-reed-solomon part.
12453 Don't force a particular size of no reed-solomon part.
12454 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12455 Removed.
12456 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12457 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12458
f8a9ab12
VS
124592012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 * grub-core/commands/wildcard.c (match_files): Handle filenames
12462 without explicit device.
12463 (wildcard_expand): Don't add explicit device if not already present.
12464 * tests/grub_script_echo1.in: Add a new expansion test.
12465
87edb894
VS
124662012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 Replace single-linked with double-linked lists. It results in more
12469 compact and more efficient code.
12470
12471 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12472 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12473 (grub_list_remove): Moved from here ...
12474 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12475 (grub_prio_list_insert): Set prev.
12476 * include/grub/list.h (grub_list): Add prev. All users updated.
12477
48b391e9
VS
124782012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 Handle newer autotools. Add some missing quotes while on it.
12481
12482 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12483 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12484 (pkgdata_DATA): ... here.
12485 * Makefile.util.def (update-grub_lib): Removed.
12486 * conf/Makefile.common (pkglib_DATA): Removed.
12487 (pkglib_SCRIPTS): Likewise.
12488 (pkgdata_DATA): New variable.
12489 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12490 needed.
12491 Add missing quotes.
12492 Remove unused variable while on it.
12493 * tests/util/grub-shell.in: Likewise.
12494 * util/grub-install.in: Likewise.
12495 * util/grub-mkconfig.in: Likewise.
12496 * util/grub-mknetdir.in: Likewise.
12497 * util/grub-mkrescue.in: Likewise.
12498 * util/grub-mkstandalone.in: Likewise.
12499 * util/grub.d/00_header.in: Likewise.
12500 * util/grub.d/10_hurd.in: Likewise.
12501 * util/grub.d/10_illumos.in: Likewise.
12502 * util/grub.d/10_kfreebsd.in: Likewise.
12503 * util/grub.d/10_linux.in: Likewise.
12504 * util/grub.d/10_netbsd.in: Likewise.
12505 * util/grub.d/10_windows.in: Likewise.
12506 * util/grub.d/20_linux_xen.in: Likewise.
12507 * util/grub.d/30_os-prober.in: Likewise.
12508 * util/update-grub_lib.in: Removed.
12509
125102012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12511
12512 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12513 a workaround for intel problem.
12514
66832792
PRP
125152012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
125162012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
125172012-01-23 pfsmorigo
12518
12519 * util/grub-install.in: Support dd'in into PreP partition.
12520 * util/grub-probe.c (probe): Support discovering partition type.
12521 (main): Support -t msdos_parttype.
12522
7816a17e
VS
125232012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12526 infinite recursion using counter.
12527 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12528 init to skip it if the magic check fails.
12529 (dec_stream_header): Init s->crc32.
12530
8f9d3a8c
ZB
125312012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
125322012-01-22 Zachary Bedell <pendorbound@gmail.com>
125332012-01-22 Richard Laager <rlaager@wiktel.com>
12534
12535 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12536 All users updated.
12537 (find_bestub): Determine correct size.
12538 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12539 (scan_disk): Align the size down.
12540 Call check pool before find_bestub to have ashift.
12541
b055dd32
VS
125422012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12545 dprintf in no-malloc zone.
12546
d779e9bd
ML
125472012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12548
12549 * configure.ac: Add back in test for limits.h.
12550
b508af69
VS
125512012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 Support 4K-sector NTFS.
12554
12555 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12556 (grub_ntfs_data): Remove blocksize.
12557 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12558 Remove data argument. All users updated.
12559
dad9c8b5
VS
125602012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12561
12562 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12563 being in .text to avoid dprel references.
12564 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12565 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12566 (grub_arch_highmemsize): Likewise.
12567 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12568 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12569 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12570
d43a777e
VS
125712012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12572
12573 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12574
12575 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12576 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12577
34e4208f
VS
125782012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12581 GRUB_UTIL.
12582 (grub_set_datetime_cmos): Likewise.
12583
3ec0fc1c
VS
125842012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12585
12586 Make XZ compression parameters dependent on target and not host CPU.
12587
12588 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12589 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12590
22489834
VS
125912012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12594 set but not used variable.
12595
8502fbca
VS
125962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12597
12598 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12599 created when no uuid support is compiled into mkfs.reiser.
12600
76df2068
VS
126012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12604 (utf8_to_macroman): Do the opposite.
12605 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12606
64e3f8f6
VS
126072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 * configure.ac: Refise build qemu_mips w/o unifont.
12610
9c271078
VS
126112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 Eliminate grub_min/grub_max prone to overflow usage.
12614
12615 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12616 (poll_nonroot_hub): Likewise.
12617 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12618 (grub_affs_label): Likewise.
12619 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12620 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12621 (grub_hfs_label): Likewise.
12622 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12623 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12624 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12625 (zap_leaf_array_get): Likewise.
12626 (dnode_get_path): Likewise.
12627 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12628 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12629 * grub-core/script/execute.c (grub_script_break): Likewise.
12630 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12631 grub_max.
12632 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12633 * include/grub/misc.h (grub_min): Removed.
12634 (grub_max): Likewise.
12635
80662dbc
VS
126362012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12637
12638 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12639 direct.inode = 0.
12640
e6da1467
VS
126412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12642
12643 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12644
b1ac4cb1
VS
126452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12648
b4bf7c3b
VS
126492012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12652 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12653
8ee1101a
VS
126542012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12657 rather than a hack for grub_strncasemap.
12658
126592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 Support multiple initrds
12662 Note: part of this was accidently committed in r3739.
12663
12664 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12665 initrd.
12666 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12667 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12668 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12669 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12670 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12671
4d1e2bc9
VS
126722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12675 disks with unknown size.
12676 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12677
75b49ebe
VS
126782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12679
12680 Remove defines pertaining to arbitrary limits not affecting GRUB
12681 anymore.
12682
12683 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12684 (EXT2_MAX_SYMLINKCNT): Likewise.
12685 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12686 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12687 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12688 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12689 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12690 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12691 (DN_MAX_OBJECT_SHIFT): Likewise.
12692 (DN_MAX_OFFSET_SHIFT): Likewise.
12693 (DN_MAX_OBJECT): Likewise.
12694 (DNODES_PER_LEVEL_SHIFT): Likewise.
12695 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12696 (SPA_MAXBLOCKSIZE): Likewise.
12697 (SPA_BLOCKSIZES): Likewise.
12698 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12699 (MZAP_MAX_BLKSZ): Likewise.
12700
74a1dce7
VS
127012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12704 handle NULL appropriately.
12705 Remove MIN.
12706
30c7d3ce
VS
127072012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 Fix efiemu.
12710
12711 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12712 cpu/types.h.
12713 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12714 * configure.ac: Fix efiemu check.
12715
3c76ea0c
VS
127162012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12717
12718 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12719 grub_probe.
12720 Reported by: adamwill
12721
7e532280
SG
127222012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12723
12724 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12725
30492374
VS
127262012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12727
12728 Fix handling of wide characters in gfxterm.
12729
12730 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12731 (clear_char): Likewise.
12732 (paint_char): Skip code == NULL chars.
12733 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12734
e70cb72f
VS
127352012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 * grub-core/normal/charset.c: Move comment to right place.
12738
5c827cf9
VS
127392012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12740
12741 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12742 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12743 (grub_affs_mount): Revert the correct version checking.
12744
53603892
VS
127452012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 * docs/grub.texi (Unicode): Mention several other unsupported features.
12748
ff094b9b
VS
127492011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12752 case statements as compile-time one.
12753 (direct_read): Prevent spurious warnings.
12754 (grub_squash_read_data): Likewise.
12755
c029da8a
VS
127562011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12757
12758 Various squash4 fixes and LZO and XZ support.
12759
12760 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12761 Add xzembed source files.
12762 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12763 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12764 (grub_squash_inode): New subtype long_dir.
12765 (SQUASH_TYPE_LONG_DIR): New inode type.
12766 (COMPRESSION): New enum.
12767 (XZBUFSIZ): New const.
12768 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12769 (read_chunk): Use data->decompress.
12770 (zlib_decompress): New function.
12771 (lzo_decompress): Likewise.
12772 (xz_decompress): Likewise.
12773 (squash_mount): Set new data fields.
12774 (grub_squash_iterate_dir): Handle long dir.
12775 (squash_unmount): Free xzdec and xzbuf.
12776 (grub_squash_open): Check ino type.
12777 (direct_read): Stylistic fixes. Use data->decompress.
12778 (grub_squash_read_data): Likewise.
12779 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12780 (get_byte): Likewise.
12781 (grub_zlib_disk_read): Removed.
12782 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12783 (GRUB_POSIX_BOOL_DEFINED): New define.
12784 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12785 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12786 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12787 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12788
7a45a539
VS
127892011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12790
12791 Don't override more informative errors.
12792
12793 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12794 * grub-core/font/font.c (open_section): Likewise.
12795 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12796 filename. Don't override errors.
12797 (grub_cmd_openbsd_ramdisk): Don't override errors.
12798 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12799 (grub_cmd_initrd): Likewise.
12800 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12801 (grub_cmd_initrd): Likewise.
12802 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12803 (grub_cmd_linux): Likewise.
12804 (grub_cmd_initrd): Likewise.
12805 (grub_cmd_payload): Likewise.
12806 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12807 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12808 (grub_cmd_module): Likewise.
12809 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12810 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12811 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12812 (grub_cmd_xnu_mkext): Likewise.
12813 (grub_cmd_xnu_ramdisk): Likewise.
12814 (grub_xnu_check_os_bundle_required): Likewise.
12815 (grub_xnu_load_kext_from_dir): Likewise.
12816 (grub_cmd_xnu_kextdir): Likewise.
12817 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12818
b2d004db
VS
128192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12822 as 1024 in block size field. Found on one of my test images.
12823 Small optimisation while on it.
12824
ec000eac
VS
128252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12828 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12829 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12830 performance fixes while on it.
12831 (grub_sfs_close): Fix memory leak while on it.
12832 (grub_sfs_label): Convert Latin1 to UTF-8.
12833
f50e1165
VS
128342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12837 space to avoid overflows.
12838 (grub_hfs_label): Convert from macroman to UTF-8.
12839
2ae254de
VS
128402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12843
0108f491
VS
128442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12847
f45f5f89
VS
128482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 * unicode: Import Unicode 6.0 data.
12851
4d8c4765
VS
128522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12853
63fa8ef9
VS
12854 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12855 outside of range.
12856
128572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
12860
12861 * include/grub/charset.h (grub_getend): New function.
12862 * grub-core/script/function.c (grub_script_function_find): Use
12863 grub_getend.
12864 * grub-core/normal/completion.c (add_completion): Likewise.
12865
f3cb4a4e
VS
128662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12869 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12870 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12871 (GRUB_UNICODE_TAG_END): Likewise.
12872 (GRUB_UNICODE_LAST_VALID): Likewise.
12873
5da8dbc5
VS
128742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12877 len and make it smaller. All users updated.
12878 * util/import_unicode.py: Put length and not end character.
12879 Check length.
12880
8569f13d
VS
128812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 Make better Unicode-compliant and unify some UTF-8 code pathes.
12884
12885 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12886 valid character.
12887 (grub_is_valid_utf8): Use grub_utf8_process.
12888 Check resulting code range.
12889 (grub_utf8_to_ucs4): Use grub_utf8_process.
12890 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12891 valid character.
12892
cc4fddf5
VS
128932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12894
12895 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12896
bbc47747
VS
128972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12898
12899 * docs/grub.texi (Filesystems): Mention AFS.
12900
f63d6bf4
VS
129012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * docs/grub.texi (Filesystems): Clarify restrictions.
12904 (Regexp): Mention non-Unicode regexp behaviour.
12905 (Other): Mention non-Unicode matching behaviour.
12906
74bbf0db
VS
129072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12908
f63d6bf4 12909 Make HFS implementation use MacRoman.
74bbf0db
VS
12910
12911 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12912 (macroman): New const array.
12913 (macroman_to_utf8): New function.
12914 (utf8_to_macroman): Likewise.
12915 (grub_hfs_find_dir): Use utf8_to_macroman.
12916 (grub_hfs_dir): Use macroman_to_utf8.
12917 Set case_insensitive.
12918
4ea0316e
VS
129192011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12920
12921 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
12922
d3c13cbd
VS
129232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 Integrate hints into autogeneration scripts.
12926
12927 * docs/grub.texi (Filesystems): Add a hostdisk example.
12928 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
12929 (grub-probe): Add ofpath.
12930 * gentpl.py: Remove group nosparc64.
12931 * grub-core/commands/search.c (cache_entry): New struct.
12932 (cache): New var.
12933 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
12934 * grub-core/commands/search_wrap.c (options): Add platform-specific
12935 hint options.
12936 (grub_cmd_search): Handle platform-specific hints.
12937 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
12938 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
12939 (grub_util_biosdisk_data): Likewise.
12940 (grub_util_biosdisk_open): Set device_map.
12941 (read_device_map): Handle "" as indication of no map.
12942 Set device_map.
12943 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
12944 (grub_util_biosdisk_get_compatibility_hint): New function.
12945 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
12946 * include/grub/emu/hostdisk.h
12947 (grub_util_biosdisk_get_compatibility_hint): New proto.
12948 * util/grub-install.in: Don't call grub-mkdevicemap.
12949 Add platform-specific hint to load.cfg.
12950 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
12951 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12952 hints. Set root preliminary to compatibility hint, not to OS name.
12953 * util/grub-probe.c (PRINT_*): Add hints.
12954 (print): Make static.
12955 (escape_of_path): New function.
12956 (guess_bios_drive): Likewise.
12957 (guess_efi_drive): Likewise.
12958 (guess_baremetal_drive): Likewise.
12959 (print_full_name): Likewise.
12960 (probe): Handle hints.
12961 (main): Likewise.
12962 * util/ieee1275/devicemap.c: Removed.
12963 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
12964 updated.
12965 (grub_util_devname_to_ofpath): Return NULL on failure.
12966
12967 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
12968 resource leak.
12969 * util/getroot.c (grub_util_pull_device): Fix memory leak.
12970
12971 * po/POTFILES.in: Regenerated.
12972
12973 Allow purely long options
12974
12975 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
12976 (SHORT_ARG_USAGE): Likewise.
12977 (grub_arg_show_help): Compare opt with help_options.
12978 (parse_option): Receive opt as argument. If makes big simplificatons.
12979 All users updated
12980
00ce2df3
VS
129812011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
12984 Restructure to avoid warning.
12985
e77e325f
VS
129862011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12987
12988 * util/grub-install.in: Account for possible escaped comma in device
12989 name.
12990
165099ea
VS
129912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
12994 channel.
12995
ce4a999d
VS
129962011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
12999 allocation and zero-setting.
13000 (grub_ieee1275_get_devname): Check that alias is complete.
13001
379586ad
VS
130022011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13005 unaligned segments.
13006
9197b0ad
VS
130072011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13008
13009 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13010 prefix.
13011 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13012 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13013 Add ieee1275 prefix.
13014
edddb7f9
VS
130152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 * docs/grub.texi (Filesystems): Update.
13018
a1a8b1b9
VS
130192011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 Support odc, newc and bigendian cpio formats.
13022
13023 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13024 * grub-core/Makefile.core.def (newc): New module.
13025 (odc): Likewise.
13026 (cpio_be): Likewise.
13027 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13028 (MAGIC): Likewise.
13029 (MAGIC2): Likewise.
13030 (head) [MODE_ODC]: Adapt for the format.
13031 (head) [MODE_NEWC]: Likewise.
13032 (head) [!MODE_*]: Write fields of interest as arrays.
13033 (MAGIC_USTAR): Removed.
13034 (read_number) [MODE_NEWC]: Change to hex.
13035 (read_number) [!MODE_*]: Parse binary arrays.
13036 (grub_cpio_find_file): Factor out the code for better structure and
13037 always use read_number.
13038 (grub_cpio_mount): Use MAGIC and MAGIC2.
13039 (grub_cpio_dir): Exit on first hook non-0 return.
13040 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13041 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13042 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13043 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13044 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13045 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13046 * grub-core/fs/newc.c: New file.
13047 * grub-core/fs/odc.c: Likewise.
13048 * grub-core/fs/cpio_be.c: Likewise.
13049
58eba9ee
VS
130502011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 Fix handling of tar numbers occupying the whole field.
13053
13054 * grub-core/fs/cpio.c (read_number): New function.
13055 (grub_cpio_find_file): Use read_number instead of strtoull.
13056
a54a0e12
VS
130572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13058
13059 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13060 occupying the whole field size.
13061
a6120aca
LA
130622011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13063
13064 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13065
a93964ce
VS
130662011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13067
13068 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13069
3ea1ca46
SG
130702011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13071
13072 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13073 TARGET_IMG_LDFLAGS.
13074
b87f7ef2
VS
130752011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13076
13077 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13078 (mountinfo_entry): Increase the field size to take escaping into
13079 account.
13080 (find_root_device_from_libzfs): Add one byte to size of strings for
13081 security.
13082
62092395
VS
130832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13086 an assert.
13087 * util/grub-setup.c (setup): Likewise.
13088
1f0b1a77
VS
130892011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13092 _LzmaDecodeA.
13093
8eba9997
VS
130942011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * docs/grub.texi (Internationalisation): New section.
13097
dd0c91e9
VS
130982011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * docs/grub.texi (Loopback booting): New section.
13101
131022011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13103
13104 * util/grub-mkstandalone.in: Fix minor typo errors.
13105
198e150a
VS
131062011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13107
13108 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13109
13110 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13111 net/icmp.c and net/icmp6.c.
13112 (http): New module.
13113 (priority_queue): Likewise.
13114 * grub-core/io/bufio.c: Rewritten.
13115 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13116 TYPE_WITH_CONFIGFILE_OPTION.
13117 (legacy_commands): Add bootp and dhcp.
13118 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13119 (grub_legacy_parse): Likewise.
13120 * grub-core/lib/priority_queue.c: New file.
13121 * grub-core/net/arp.c: Add missing license header.
13122 (arp_find_entry): Removed.
13123 (arp_find_entry): Likewise.
13124 (grub_net_arp_resolve): Rename to ...
13125 (grub_net_arp_send_request): ...this.
13126 (grub_net_arp_receive): New card argument.
13127 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13128 Set router and DNS server.
13129 (grub_net_configure_by_dhcp_ack): Handle routing information.
13130 (grub_cmd_bootp): Set checksum.
13131 (grub_bootp_init): Remove net_dhcp.
13132 * grub-core/net/dns.c: New file.
13133 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13134 completion.
13135 (get_card_packet): Handle allocation.
13136 (grub_efinet_findcards): Set mtu.
13137 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13138 (get_card_packet): Handle allocation.
13139 (emucard): Set mtu.
13140 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13141 (GRUB_MOD_INIT): Set mtu.
13142 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13143 mtu.
13144 (get_card_packet): Handle allocation.
13145 (grub_ofnet_findcards): Set mtu.
13146 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13147 assert.
13148 (grub_net_recv_ethernet_packet): Handle IPv6.
13149 * grub-core/net/http.c: New file.
13150 * grub-core/net/icmp.c: Likewise.
13151 * grub-core/net/icmp6.c: Likewise.
13152 * grub-core/net/ip.c (ip6addr): New type.
13153 (ip6hdr): Likewise.
13154 (reassemble): Likewise.
13155 (cmp): New function.
13156 (reassembles): New variable.
13157 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13158 (id): New variable.
13159 (send_fragmented): New function.
13160 (grub_net_send_ip_packet): Rename to ...
13161 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13162 Handle non-UDP.
13163 (grub_net_recv_ip_packets): Rename to ...
13164 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13165 (free_rsm): New function.
13166 (free_old_fragments): Likewise.
13167 (grub_net_recv_ip4_packets): New function.
13168 (grub_net_send_ip6_packet): Likewise.
13169 (grub_net_send_ip_packet): Likewise.
13170 (grub_net_recv_ip6_packets): Likewise.
13171 (grub_net_recv_ip_packets): Likewise.
13172 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13173 (LINK_LAYER_CACHE_SIZE): New const.
13174 (link_layer_find_entry): New function.
13175 (grub_net_link_layer_add_address): Likewise.
13176 (grub_net_link_layer_resolve_check): Likewise.
13177 (grub_net_link_layer_resolve): Likewise.
13178 (grub_net_ipv6_get_slaac): Likewise.
13179 (grub_net_ipv6_get_link_local): Likewise.
13180 (grub_cmd_ipv6_autoconf): Likewise.
13181 (parse_ip): Handle one number representation.
13182 (parse_ip6): New functoion.
13183 (match_net): Handle IPv6.
13184 (grub_net_resolve_address): Handle IPv6 and DNS.
13185 (grub_net_resolve_net_address): Handle IPv6.
13186 (route_cmp): New function.
13187 (grub_net_route_address): Find best route.
13188 (grub_net_addr_to_str): Handle IPv6.
13189 (grub_net_addr_cmp): New function.
13190 (grub_net_add_addr): Register local route.
13191 (print_net_address): Handle net address.
13192 (grub_net_poll_cards): Retransmit TCP.
13193 (grub_net_poll_cards_idle_real): Likewise.
13194 (have_ahead): New function.
13195 (grub_net_seek_real): Use underlying seek.
13196 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13197 * grub-core/net/tcp.c: New file.
13198 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13199 (cmp): New function.
13200 (ack): Likewise.
13201 (tftp_receive): Handle unordered input.
13202 (destroy_pq): New function.
13203 (tftp_close): Close pq.
13204 * grub-core/net/udp.c: Put missing license header.
13205 (grub_net_udp_socket): New function.
13206 (udp_socket_register): Likewise.
13207 (grub_net_udp_close): Likewise.
13208 (grub_net_recv_udp_packet): Check checksum.
13209 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13210 * include/grub/misc.h (grub_memchr): New function.
13211 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13212 (grub_net_card_driver): Return buf in recv.
13213 (grub_net_slaac_mac_list): New struct.
13214 (grub_network_level_protocol_id): Add ipv6.
13215 (grub_net_network_level_addr): Likewise.
13216 (grub_net_network_level_net_addr): Likewise.
13217 (grub_net_app_protocol): Add seek.
13218 (grub_net_socket): Removed.
13219 (grub_net_sockets): Likewise.
13220 (grub_net_socket_register): Likewise.
13221 (grub_net_socket_unregister): Likewise.
13222 (FOR_NET_SOCKETS): Likewise.
13223 (grub_net_add_addr): Add const.
13224 (GRUB_NET_BOOTP_*): New enum.
13225 (grub_net_addr_cmp): New proto.
13226 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13227 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13228 (grub_net_hwaddr_to_str): NEw proto.
13229 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13230 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13231 (grub_dns_init): New proto.
13232 (grub_dns_fini): Likewise.
13233 (grub_net_tcp_retransmit): Likewise.
13234 (grub_net_link_layer_add_address): Likewise.
13235 (grub_net_link_layer_resolve_check): Likewise.
13236 (grub_net_link_layer_resolve): Likewise.
13237 (grub_net_dns_lookup): Likewise.
13238 (grub_net_add_dns_server): Likewise.
13239 (grub_net_remove_dns_server): Likewise.
13240 (GRUB_NET_TRIES): New const.
13241 (GRUB_NET_INTERVAL): Likewise.
13242 * include/grub/net/arp.h: Mostly rewritten.
13243 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13244 * include/grub/net/ip.h: Mostly rewritten.
13245 * include/grub/net/netbuff.h: Indent.
13246 * include/grub/net/tcp.h: New file.
13247 * include/grub/net/udp.h: Mostly rewritten.
13248 * include/grub/priority_queue.h: New file.
13249 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13250 (grub_swap_bytes64_compile_time): Likewise.
13251 (grub_cpu_to_be16_compile_time): Likewise.
13252 (grub_cpu_to_be32_compile_time): Likewise.
13253 (grub_cpu_to_be64_compile_time): Likewise.
13254 (grub_be_to_cpu64_compile_time): Likewise.
13255
215c1800
VS
132562011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13259 UINT_TO_PTR with cast.
13260
c17e546c
VS
132612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13264 don't use them.
13265
ff6b18b6
VS
132662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13269 already there.
13270
70ffcc93
VS
132712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13274 confusing ipxe.
13275
e5f4d260
VS
132762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13279 Add missing const attribute.
13280 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13281 Likewise.
13282 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13283 Likewise.
13284
8e54b4b7
VS
132852011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13288 misaligned access.
13289 (serpent_setkey): Likewise.
13290 (serpent_encrypt_internal): Likewise.
13291 (serpent_decrypt_internal): Likewise.
13292 (serpent_encrypt): Don't put an alignment-increasing cast.
13293 (serpent_decrypt): Likewise.
13294 (serpent_test): Likewise.
13295
813c0a2b
VS
132962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13299
f2b60fbd
VS
133002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13301
13302 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13303
13304 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13305 grub_addr_t casts.
13306 (PTR_TO_UINT64): Likewise.
13307 (PTR_TO_UINT32): Likewise.
13308
5ef5c511
VS
133092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13312 because of stack.
13313 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13314 limit.
13315
c476e6df
VS
133162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13317
13318 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13319 text_width > available width a bit more gracefully.
13320
384ad7cc
VS
133212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13324 current address calculation.
13325
96f8caf8
VS
133262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13329 stack.
13330 (encode_block): Likewise.
13331
276b7a8b
VS
133322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13333
13334 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13335 certainety.
13336
e3fd394a
VS
133372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13338
13339 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13340 non-RS part to avoid RS messing with GDT.
13341 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13342 Increase to suit in realmode routines.
13343
133442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 * grub-core/kern/i386/realmode.S: Increase alignment.
13347 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13348
ee9c2e7a
VS
133492011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13352 be deterministic.
13353 (syndroms): Compute 0 syndrom.
13354 (rs_recover): Use 0 syndrom.
13355
7a7f7cc9
VS
133562011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13359
a14b16d1
VS
133602011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13361
13362 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13363 brackets.
13364
9f59e9fc
VS
133652011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13366
ca1b552c
VS
13367 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13368 account.
13369 (get_top_pad): Likewise.
13370 (get_right_pad): Likewise.
13371 (get_bottom_pad): Likewise.
13372
133732011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13374
13375 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13376
e739d698
VS
133772011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13380 attribute as the structure isn't guaranteed to be properly aligned.
13381 (grub_efi_pci_device_path): Likewise.
13382 (grub_efi_pccard_device_path): Likewise.
13383 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13384 specify the size of `memory_type'.
13385 (grub_efi_vendor_device_path): Likewise.
13386 (grub_efi_controller_device_path): Likewise.
13387 (grub_efi_acpi_device_path): Likewise.
13388 (grub_efi_expanded_acpi_device_path): Likewise.
13389 (grub_efi_atapi_device_path): Likewise.
13390 (grub_efi_scsi_device_path): Likewise.
13391 (grub_efi_fibre_channel_device_path): Likewise.
13392 (grub_efi_1394_device_path): Likewise.
13393 (grub_efi_usb_device_path): Likewise.
13394 (grub_efi_usb_class_device_path): Likewise.
13395 (grub_efi_i2o_device_path): Likewise.
13396 (grub_efi_mac_address_device_path): Likewise.
13397 (grub_efi_ipv4_device_path): Likewise.
13398 (grub_efi_ipv6_device_path): Likewise.
13399 (grub_efi_infiniband_device_path): Likewise.
13400 (grub_efi_uart_device_path): Likewise.
13401 (grub_efi_vendor_messaging_device_path): Likewise.
13402 (grub_efi_hard_drive_device_path): Likewise.
13403 (grub_efi_cdrom_device_path): Likewise.
13404 (grub_efi_vendor_media_device_path): Likewise.
13405 (grub_efi_file_path_device_path): Likewise.
13406 (grub_efi_protocol_device_path): Likewise.
13407 (grub_efi_piwg_device_path): Likewise.
13408 (grub_efi_bios_device_path): Likewise.
13409
cb8f88ea
VS
134102011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13413 (grub_ucs4_to_utf8_alloc): Likewise.
13414 (grub_ucs4_to_utf8): Likewise.
13415 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13416 (grub_ucs4_to_utf8_alloc): Likewise.
13417
309e5352
VS
134182011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13419
13420 AFFS never uses unicode.
13421
13422 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13423 (grub_latin1_to_utf8): New inline function.
13424 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13425
e7987e1b
VS
134262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13427
13428 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13429 overflow.
13430
efc2616e
VS
134312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13432
13433 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13434 (grub_squash_dirent_header): Likewise.
13435 (read_chunk): Don't double swap.
13436 (grub_squash_iterate_dir): Fix swap sizes.
13437
3c349f5a
VS
134382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13439
13440 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13441
b453412d
VS
134422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13445 (grub_hfs_iterate_dir): Likewise.
13446
12e9d4d1
VS
134472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13448
13449 Fix video on platforms where unaligned access is forbidden.
13450 Make several optimisations while on it.
13451
13452 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13453 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13454 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13455 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13456 Disable.
13457 (grub_video_fbblit_replace_16bit_1bit):
13458 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13459 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13460 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13461 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13462 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13463 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13464 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13465 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13466 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13467 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13468 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13469 (grub_video_fbblit_replace_index_RGB888): Likewise.
13470 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13471 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13472 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13473 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13474 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13475 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13476 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13477 Disable.
13478 (grub_video_fbblit_blend_XXX565_1bit):
13479 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13480 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13481 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13482 void *.
13483 * grub-core/video/fb/video_fb.c (common_blitter)
13484 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13485 (grub_video_fb_create_render_target_from_pointer)
13486 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13487 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13488 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13489 definition.
13490 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13491
ace96609
VS
134922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13493
13494 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13495 HH22 and HM10 relocations.
13496
fd261d73
VS
134972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13500
e59b7857
VS
135012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13502
13503 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13504 allocation succeeded.
13505
9b4baaa4
VS
135062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13507
13508 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13509 argument a u8 pointer. All users updated.
13510 Handle unaligned buffers.
13511
dc713193
VS
135122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13513
13514 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13515 add_part to workaround compiler bug.
13516
30dd48c2
VS
135172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13518
13519 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13520
0c6087a8
VS
135212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13524 Reserve alignment invariants.
13525 (grub_multiboot_load): Likewise.
13526 (retrieve_video_parameters): Likewise.
13527 (grub_multiboot_make_mbi): Likewise.
13528
c2e77777
VS
135292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13532 incorrect pointer.
13533
b70b6d11
VS
135342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13537 (grub_pata_pio_write): Likewise.
13538
02a2bf83
VS
135392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 Add noreturn attributes and remove unreachable code.
13542
13543 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13544 code.
13545 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13546 code. Mark as noreturn.
13547 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13548 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13549 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13550 unreachable code.
13551 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13552 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13553 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13554 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13555 * include/grub/kernel.h (grub_main): Mark as noreturn.
13556 * include/grub/reader.h (grub_rescue_run): Likewise.
13557
2019d09e
VS
135582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13561 redundant declaration.
13562
d1c501ee
VS
135632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13566 redundant declaration.
13567 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13568
61664420
VS
135692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13572 to ensure alignment.
13573 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13574 alignment. Ensure tmp alignment.
13575 (grub_cmd_hdparm): Ensure buf alignment.
13576 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13577 to ensure alignment.
13578 (grub_ata_dumpinfo): Ensure text alignment.
13579 (grub_atapi_identify): Preserve alignment invariant.
13580 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13581
0d51ee20
VS
135822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13585 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13586 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13587 * include/grub/misc.h (grub_reboot)
13588 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13589 (grub_halt) [__mips__]: Likewise.
13590
753ef8c1
VS
135912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13594 Remove redundant declaration.
13595 (grub_mmap_get_post64): Likewise.
13596 (grub_mmap_get_upper): Likewise.
13597 (grub_mmap_get_lower): Likewise.
13598
85c85365
VS
135992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13602 uint32_t * to ensure alignment.
13603 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13604
a23f2cc4
VS
136052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13606
93018f64
VS
13607 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13608 uint16_t * to ensure alignment.
13609 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13610 alignment.
13611
136122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13615 to ensure alignment.
13616 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13617
58acccd6
VS
136182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13621 Handle unaligned pointers.
13622 (u32at): Likewise.
13623 (u64at): Likewise.
13624 (fixup): Use byte access instead of v16at.
13625 (find_attr): Fix imporper usage of v32at.
13626 (read_data): Likewise.
13627 (list_file): Handle byte-swapping and unaligned strings.
13628 (grub_ntfs_label): Likewise.
13629
9b05cad7
VS
136302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13631
13632 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13633 as it's not necessarily aligned.
13634
b3950b84
VS
136352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13638 redundant declaration.
13639 (grub_serial_init): Likewise.
13640 (grub_terminfo_init): Likewise.
13641
fcd232b7
VS
136422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13645 function.
13646 (ZAP_HASH_IDX): Likewise.
13647 (ZAP_LEAF_HASH_SHIFT): Likewise.
13648 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13649 (LEAF_HASH): Likewise.
13650 (ZAP_LEAF_NUMCHUNKS): Likewise.
13651 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13652 alignment invariants. Return pointer. All users updated.
13653 (ZAP_LEAF_ENTRY): Make into inline function.
13654 (NBBY): Removed.
13655 (xor): LIkewise.
13656 (xor_out): Use grub_crypto_xor.
13657 (dnode_get_path): Use grub_get_unaligned.
13658 (nvlist_find_value): Likewise.
13659 (grub_zfs_nvlist_lookup_uint64): Likewise.
13660 (grub_zfs_nvlist_lookup_string): Likewise.
13661 (get_nvlist_size): Likewise.
13662 (grub_zfs_open): Likewise.
13663 (fill_fs_info): Likewise.
13664 (grub_zfs_dir): Likewise.
13665 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13666 alignment invariants.
13667 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13668 necessarily aligned.
13669
f138623a
VS
136702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13673
564840dc
VS
136742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13677 arithmetic to conserve alignment invariants.
13678
9b40df20
VS
136792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13682 redundant declaration.
13683 (grub_efiemu_mm_obtain_request): Likewise.
13684 (grub_efiemu_prepare): Likewise.
13685
d1c930f9
VS
136862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13689 to match types.
13690
4c5f3056
VS
136912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13694 case of aunaligned recptr.
13695 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13696 alignment.
13697 (grub_hfsplus_btree_search): Handle unaligned index.
13698
728cba91
VS
136992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13702 to get freetag and skip.
13703
eb561f31
VS
137042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13705
13706 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13707 array.
13708 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13709 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13710
20993fbb
VS
137112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13712
13713 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13714 name for checksum and fix allocation algorithm.
13715
1f313b94
VS
137162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 * include/grub/types.h (grub_properly_aligned_t): New type.
13719 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13720 (grub_get_unaligned16): Add explicit casts.
13721 (grub_get_unaligned32): Likewise.
13722 (grub_get_unaligned64): Likewise.
13723 (grub_set_unaligned16): New function.
13724 (grub_set_unaligned32): Likewise.
13725
47ae27ec
VS
137262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13727
13728 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13729
78c2cd1c
VS
137302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13733 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13734 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13735
53072f9b
VS
137362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13739 conditionals.
13740
055dc239
VS
137412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13744 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13745
496bd074
VS
137462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 Unify and improve RAID and crypto xor.
13749
13750 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13751 changed to grub_crypto_xor
13752 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13753 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13754 Use bigger types when possible.
13755
ef6e4335
VS
137562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13757
13758 * grub-core/disk/raid.c (scan_devices): Fix condition.
13759
5d048bf2
VS
137602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13761
13762 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13763 Make name a const ptr.
13764
ee533335
VS
137652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13766
13767 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13768 first argument a const pointer.
13769 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13770 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13771 proto.
13772 (grub_children_iterate): Likewise.
13773 (grub_machine_mmap_iterate): Remove redundant declaration.
13774
cc8f3668
VS
137752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13778 (grub_cmd_acpi) [!x86]: Disable EBDA.
13779
c5fc563a
VS
137802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 Enable UTF8 in gnulib regexp.
13783
13784 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13785 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13786 (isupper): Use grub_isupper.
13787 (isascii): New inline function.
13788 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13789 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13790 * grub-core/normal/charset.c (grub_utf8_process): New function.
13791 (grub_utf8_to_utf16): Use grub_utf8_process.
13792 (grub_encode_utf8_character): New function.
13793 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13794 * include/grub/charset.h (grub_utf8_process): New declaration.
13795 (grub_encode_utf8_character): Likewise.
13796 * include/grub/misc.h (grub_islower): New inline function.
13797 (grub_isupper): Likewise.
13798 (grub_strchrsub): Moved down to fix the definitions.
13799
0af2346f
VS
138002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13801
13802 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13803 specification.
13804
74dbd244
VS
138052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 * include/grub/loader.h (grub_loader_register_preboot_hook):
13808 Use struct preboot * and not void * for handle. All users updated.
13809 (grub_loader_unregister_preboot_hook): Likewise.
13810
1bc8f60d
VS
138112011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13814 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13815 UTF-16-BE. All users updated.
13816 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13817 (grub_hfsplus_iterate_dir): Likewise.
13818 (grub_hfsplus_label): Likewise.
13819
48d6e456
VS
138202011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13823
bf3a3857
VS
138242011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 Add missing const qualifiers.
13827
13828 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13829 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13830 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13831 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13832 (grub_lvm_check_flag): Likewise.
13833 * grub-core/efiemu/i386/coredetect.c
13834 (grub_efiemu_get_default_core_name): Likewise
13835 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13836 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13837 * grub-core/fs/ntfs.c (fixup): Likewise.
13838 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13839 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13840 (fzap_lookup): Likewise.
13841 (zap_lookup): Likewise.
13842 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13843 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13844 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13845 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13846 (grub_freebsd_add_meta_module): Likewise.
13847 (grub_cmd_freebsd_module): Likewise.
13848 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13849 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13850 (grub_xnu_writetree_get_size): Likewise.
13851 (grub_xnu_writetree_toheap_real): Likewise.
13852 (grub_xnu_find_key): Likewise.
13853 (grub_xnu_create_key): Likewise.
13854 (grub_xnu_create_value): Likewise.
13855 (grub_xnu_register_memory): Likewise.
13856 (grub_xnu_check_os_bundle_required): Likewise.
13857 (grub_xnu_scan_dir_for_kexts): Likewise.
13858 (grub_xnu_load_kext_from_dir): Likewise.
13859 * grub-core/normal/color.c (color_list): Likewise.
13860 * grub-core/normal/completion.c (current_word): Likewise.
13861 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13862 * grub-core/term/serial.c (grub_serial_find): Likewise.
13863 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13864 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13865 Likewise.
13866 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13867 (grub_freebsd_add_meta_module): Likewise.
13868 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13869 * include/grub/net.h (grub_net_card_driver): Likewise.
13870 (grub_net_card): Likewise.
13871 (grub_net_app_protocol): Likewise.
13872 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13873 * include/grub/serial.h (grub_serial_find): Likewise.
13874 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13875 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13876 (grub_xnu_create_value): Likewise.
13877 (grub_xnu_find_key): Likewise.
13878 (grub_xnu_scan_dir_for_kexts): Likewise.
13879 (grub_xnu_load_kext_from_dir): Likewise.
13880
13881 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13882 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13883 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13884 Moved from here ...
13885 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13886
112b4837
CW
138872011-11-28 Colin Watson <cjwatson@ubuntu.com>
13888
13889 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13890
49e891ac
VS
138912011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13894 (read_device): Fix size calculation.
13895
fd258e5c
RM
138962011-11-25 Robert Millan <rmh@gnu.org>
13897
13898 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13899 (find_root_device_from_libzfs): Add zpool output parser to be used
13900 as fallback when libzfs isn't available.
13901
78845dc2
SG
139022011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13903
13904 * po/Makefile.in.in: Add missing escape-continuation.
13905
adac5211
VS
139062011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13909
10b64f1c
VS
139102011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13913
bb416954
VS
139142011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
13917
bdfe9eeb
VS
139182011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13919
13920 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
13921
581ffa8a
VS
139222011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13923
13924 * grub-core/lib/adler32.c: Add missing license specification.
13925 * grub-core/lib/crc64.c: Likewise.
13926 * grub-core/loader/i386/pc/plan9.c: Likewise.
13927 * grub-core/partmap/plan.c: Likewise.
13928
2536cf64
LK
139292011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
13930
13931 Add facility to debug GRUB with gdb under qemu.
13932
13933 * grub-core/gdb_grub.in: New file.
13934 * grub-core/gmodule.pl.in: Likewise.
13935 * grub-core/Makefile.core.def (gmodule.pl): New script.
13936 (gdb_grub): Likewise.
13937
bc108a4a
VS
139382011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13939
13940 * util/grub-mount.c (argp_parser): Accept relative pathes.
13941 * util/grub-fstest.c (argp_parser): Likewise.
13942
111c1778
VS
139432011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13944
13945 Plan9 support.
13946
13947 * Makefile.util.def (libgrubmods): Add
13948 grub-core/partmap/plan.c.
13949 * docs/grub.texi: Notice Plan9 support.
13950 * grub-core/Makefile.core.def (plan9): New module.
13951 (part_plan): Likewise.
13952 * grub-core/loader/i386/pc/plan9.c: New file.
13953 * grub-core/partmap/plan.c: Likewise.
13954 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
13955 define.
13956 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
13957 * include/grub/mm.h (grub_extend_alloc): New inline function.
13958
c30be3b6
VS
139592011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 Make Reed-Solomon faster by using power of generator representation of
13962 GF(256)*.
13963
13964 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
13965 (gf_double_t): Likewise.
13966 (gf_invert): Removed.
13967 (gf_powx): New array.
13968 (gf_powx_inv): Likewise.
13969 (scratch): Move higher.
13970 (gf_reduce): Removed.
13971 (gf_mul): Use powx.
13972 (gf_invert): Likewise.
13973 (init_inverts): Replaced with ...
13974 (init_powx): ...this. All users updated.
13975 (pol_evaluate): Replace multiplications with additions.
13976 (rs_encode): Likewise.
13977 (gauss_eliminate): Call gf_invert.
13978 (grub_reed_solomon_add_redundancy): Call init_powx.
13979 (grub_reed_solomon_recover): Call init_powx unconditionally.
13980
fa5aeffc
VS
139812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
13984
a346b81c
VS
139852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
13988 disk->partiton for safety.
13989
d89ee414
VS
139902011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13991
13992 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13993 Fix a memory leak.
13994 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
13995
91ee7b6d
VS
139962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13997
13998 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
13999
91e5a33d
VS
140002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14003
9edd7be2
VS
140042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14005
14006 Fix spaces handling in proc/self/mountinfo.
14007
14008 * util/getroot.c (unescape): New function.
14009 (grub_find_root_device_from_mountinfo): Use unescape.
14010
ba102053
VS
140112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 Support ZFS embedding.
14014
14015 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14016 (grub_zfs_fs): Register grub_zfs_embed.
14017
aa94b870
VS
140182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14019
14020 Fix MIPS compilation.
14021
14022 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14023 * include/grub/offsets.h: Rename decompressor fields from
14024 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14025 * util/grub-mkimage.c (image_targets): Use new names.
14026
5fbdac14
VS
140272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 Defer multiboot device parsing until we're in compressed part.
14030
14031 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14032 bsd_part. setdevice has fallen into disuse.
14033 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14034 (bsd_part): Likewise.
14035 (boot_dev): New variable.
14036 (multiboot_trampoline): Don't parse multiboot device.
14037 Pass multiboot device in %edx.
14038 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14039 grub_boot_device.
14040 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14041 Likewise.
14042 * grub-core/kern/i386/pc/startup.S: Save edx.
14043 (grub_boot_drive): Removed.
14044 (grub_install_dos_part): Likewise.
14045 (grub_install_bsd_part): Likewise.
14046 (grub_boot_device): New variable.
14047 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14048 (grub_install_bsd_part): Likewise.
14049 (grub_boot_drive): Likewise.
14050 (grub_boot_device): New variable.
14051 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14052 Removed.
14053 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14054 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14055 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14056 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14057 * util/grub-install.in: Remove redundant condition.
14058
691cbb58
VS
140592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14060
14061 Fix bug introduced by previous commit.
14062
14063 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14064
60240b8b
VS
140652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 Use decompressors framework on i386-pc. It increases core size
14068 by 46 bytes but improves compatibility and maintainability.
14069
14070 * grub-core/Makefile.core.def (lzma_decompress): New image.
14071 (kernel): Add i386_pc_ldflags.
14072 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14073 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14074 to real_to_prot, prot_to_real and device info.
14075 * include/grub/offsets.h: Renamed decompressor offsets.
14076 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14077 (image_target_desc): Remove raw_size and rename decompressor fields.
14078 (compress_kernel): Handle lzma.
14079 (generate_image): Handle decompressors on i386-pc.
14080
e9d3421c
VS
140812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * configure.ac: Add -fno-asynchronous-unwind-tables.
14084
2b23074a
VS
140852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 Move assembly code to C by using intwrap. It increases core size
14088 by 88 bytes but improves compatibility and maintainability.
14089
14090 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14091 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14092 ... here. Translated to C.
14093 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14094 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14095 ... here. Translated to C.
14096 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14097 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14098 ... here. Translated to C.
14099 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14100 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14101 ... here. Translated to C.
14102 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14103 * grub-core/term/i386/pc/console.c (grub_console_cls):
14104 ... here. Translated to C.
14105 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14106 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14107 ... here. Translated to C.
14108 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14109 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14110 Translated to C.
14111 * grub-core/term/i386/pc/console.c (int10_9): New function.
14112 (grub_console_putchar): Likewise.
14113 * include/grub/i386/pc/console.h: Removed the not anymore shared
14114 functions.
14115
678f4b67
VS
141162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 Move grub_chainloader_real_boot out of the kernel.
14119
14120 * grub-core/Makefile.am: Remove machine/loader.h.
14121 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14122 Removed.
14123 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14124 variable.
14125 (grub_relocator16_keep_a20_enabled): Likewise.
14126 (grub_relocator16_boot): Fill new variables.
14127 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14128 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14129 relocator.
14130 (grub_chainloader_unload): Likewise.
14131 (grub_chainloader_cmd): Likewise.
14132 * include/grub/i386/pc/loader.h: Removed.
14133 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14134 and esi. All initialisers updated.
14135
4626edf6
VS
141362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
141372011-11-12 Colin Watson <cjwatson@ubuntu.com>
14138
14139 * Makefile.util.def (grub-mount): New util.
14140 * .bzrignore: Add grub-mount.
14141 * configure.ac: Check for fuse and enable grub-mount if available.
14142 * docs/man/grub-mount.h2m: New file.
14143 * util/grub-mount.c: Likewise.
14144
10f0117b
VS
141452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 * grub-core/commands/efi/fixvideo.c: Gettextize.
14148 * grub-core/commands/hashsum.c: Likewise.
14149 * grub-core/commands/i386/cmostest.c: Likewise.
14150 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14151 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14152 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14153 * grub-core/commands/lsmmap.c: Likewise.
14154 * grub-core/commands/menuentry.c: Likewise.
14155 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14156 * grub-core/commands/setpci.c: Likewise.
14157 * grub-core/loader/i386/bsd.c: Likewise.
14158 * grub-core/loader/i386/linux.c: Likewise.
14159 * util/getroot.c: Likewise.
14160 * util/grub-editenv.c: Likewise.
14161 * util/grub-fstest.c: Likewise.
14162 * util/grub-mkfont.c: Likewise.
14163 * util/grub-mkimage.c: Likewise.
14164 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14165 * util/grub-pe2elf.c: Likewise.
14166 * util/grub-probe.c: Likewise.
14167 * util/grub-setup.c: Likewise.
14168 * util/ieee1275/ofpath.c: Likewise.
14169 * util/misc.c: Likewise.
14170 * util/raid.c: Likewise.
14171
566f779b
RM
141722011-11-11 Robert Millan <rmh@gnu.org>
14173
14174 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14175 __attribute__((unused)) from `os_dev', which *is* being used.
14176
b50787de
VS
141772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14178
14179 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14180 forgotten define.
14181 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14182 GRUB_IA64_DL_GOT_ALIGN.
14183 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14184 GRUB_IA64_DL_TRAMP_ALIGN.
14185
119d11c8
VS
141862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 Replace grub_fatal with normal errors in i386 linux loader.
14189
14190 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14191 (allocate_pages): Check find_efi_mmap_size return value.
14192 (grub_e820_add_region): Return error.
14193 (grub_linux_boot): Check mmap return value.
14194
6e0632e2
VS
141952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 * grub-core/commands/acpihalt.c: Gettextized.
14198 * grub-core/commands/cacheinfo.c: Likewise.
14199 * grub-core/commands/cmp.c: Likewise.
14200 * grub-core/commands/efi/loadbios.c: Likewise.
14201 * grub-core/commands/gptsync.c: Likewise.
14202 * grub-core/commands/ieee1275/suspend.c: Likewise.
14203 * grub-core/commands/legacycfg.c: Likewise.
14204 * grub-core/commands/memrw.c: Likewise.
14205 * grub-core/commands/minicmd.c: Likewise.
14206 * grub-core/commands/parttool.c: Likewise.
14207 * grub-core/commands/time.c: Likewise.
14208 * grub-core/commands/videoinfo.c: Likewise.
14209 * grub-core/disk/geli.c: Likewise.
14210 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14211 * grub-core/disk/luks.c: Likewise.
14212 * grub-core/disk/lvm.c: Likewise.
14213 * grub-core/font/font_cmd.c: Likewise.
14214 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14215 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14216 * grub-core/gfxmenu/view.c: Likewise.
14217 * grub-core/kern/emu/hostdisk.c: Likewise.
14218 * grub-core/kern/emu/main.c: Likewise.
14219 * grub-core/kern/emu/misc.c: Likewise.
14220 * grub-core/kern/emu/mm.c: Likewise.
14221 * grub-core/kern/mips/arc/init.c: Likewise.
14222 * grub-core/kern/mips/loongson/init.c: Likewise.
14223 * grub-core/kern/partition.c: Likewise.
14224 * grub-core/lib/i386/halt.c: Likewise.
14225 * grub-core/lib/mips/arc/reboot.c: Likewise.
14226 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14227 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14228 * grub-core/loader/i386/xnu.c: Likewise.
14229 * grub-core/loader/multiboot.c: Likewise.
14230 * grub-core/net/bootp.c: Likewise.
14231 * grub-core/net/net.c: Likewise.
14232 * grub-core/normal/term.c: Likewise.
14233 * grub-core/partmap/bsdlabel.c: Likewise.
14234 * grub-core/parttool/msdospart.c: Likewise.
14235 * grub-core/term/gfxterm.c: Likewise.
14236 * grub-core/term/terminfo.c: Likewise.
14237 * grub-core/video/i386/pc/vbe.c: Likewise.
14238 * util/grub-menulst2cfg.c: Likewise.
14239 * util/grub-mkdevicemap.c: Likewise.
14240 * util/grub-mklayout.c: Likewise.
14241 * util/grub-mkrelpath.c: Likewise.
14242 * util/grub-script-check.c: Likewise.
14243 * util/ieee1275/grub-ofpathname.c: Likewise.
14244 * util/resolve.c: Likewise.
14245
073aa7a9
VS
142462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14247
14248 Support %1$d syntax.
14249
14250 * tests/printf_unit_test.c: New file.
14251 * Makefile.util.def (printf_test): New test.
14252 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14253
c76b5417
VS
142542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14257 fix.
14258
df067ad1
VS
142592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14262 dprintf.
14263 * grub-core/font/font.c (grub_font_load): Likewise.
14264
5b289bc5
VS
142652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 * util/grub-macho2img.c: Add comment concerning gettext.
14268 * grub-core/lib/legacy_parse.c: Likewise.
14269
c1860f87
VS
142702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14271
14272 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14273 (grub_xvasprintf): Likewise.
14274
d35d0d37
VS
142752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14276
14277 Add const keyword to grub_env_get and gettextize week days.
14278
14279 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14280 (grub_read_hook_datetime): Return const char *.
14281 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14282 updated.
14283 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14284 Mark for gettext.
14285 (grub_get_weekday_name): Return const char *. Call gettext.
14286 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14287 char * and len as the argument. All users updated.
14288 (grub_script_argv_split_append): Receive const char *.
14289 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14290 * include/grub/env.h (grub_env_get): Likewise.
14291 (grub_env_read_hook_t): Return const char *.
14292 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14293 (grub_script_argv_split_append): Likewise.
14294
9aed8a71
VS
142952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14298
067fdf00
VS
142992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14302 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14303
a8bd9d39
VS
143042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14305
14306 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14307 Fix prototype.
14308
f7ce5baf
VS
143092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 Fix mips compilation.
14312
14313 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14314 normal decoder.
14315 (hashes): Use in embed decoder as well (for sizes).
14316 (dec_stream_header): Fix embed decompressor logic.
14317 (dec_stream_footer): Likewise.
14318
9bb182f3
VS
143192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14320
14321 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14322 an error and not a fatal on unrecognised relocation types.
14323
63a9e6f6
VS
143242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14325
14326 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14327 Issue error rather than printf on unknown arguments.
14328
4c458569
VS
143292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14332 Make buf a const.
14333
e2d22baf
VS
143342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14337 Fix module name.
14338
53dc8590
VS
143392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14342 leftover debug printf.
14343
6c189294
VS
143442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14345
14346 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14347
f7688369
VS
143482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14349
14350 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14351 A stylistic fix.
14352
11a775a3
VS
143532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14356
33f784e8
SL
143572011-11-10 Shea Levy <slevy@tieronedesign.com>
14358
14359 Allow all modules to perform serial IO
14360
14361 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14362 * include/grub/serial.h (grub_serial_port_configure): New inline
14363 function.
14364 (grub_serial_port_fetch): Likewise.
14365 (grub_serial_port_put): Likewise.
14366 (grub_serial_port_fini): Likewise.
14367 (grub_serial_find): New proto.
14368
f6276525
VS
143692011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 Put symlink at the end of the node and fix a potential
14372 memory corruption.
14373
14374 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14375 Make symlink into an array.
14376 (set_rockridge): Set have_symlink and alloc_dirents.
14377 (grub_iso9660_read_symlink): Use new layout.
14378 (grub_iso9660_iterate_dir): Fix memory corruption.
14379 Use new layout.
14380 (grub_iso9660_dir): Set have_symlink.
14381 (grub_iso9660_open): Likewise.
14382
c3591189
VS
143832011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14384
14385 Remove local keyword.
14386
14387 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14388 (version_test_gt): Likewise.
14389 (version_find_latest): Likewise.
14390 (gettext_printf): Likewise.
14391 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14392
cb544caa
VS
143932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14394
14395 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14396
45bd824d
VS
143972011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 Fix ZFS memory and resource leaks.
14400
14401 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14402 All users updated.
14403 Free type on exit.
14404 (fill_vdev_info): New parameter inserted. All users updated.
14405 (check_pool_label): Likewise.
14406 (scan_disk): Likewise.
14407 (scan_devices): Close non-inserted disks.
14408 (fzap_iterate): Free l.
14409 (unmount_device): Free children descripto memory.
14410
ad9a2f44
VS
144112011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14412
14413 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14414 argument (access out of bounds).
14415
6b68db81
VS
144162011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14419 >= 6 drives.
14420
28840fda
VS
144212011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14422
14423 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14424 Fix declaration.
14425
8a5a3a5b
VS
144262011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14427
14428 Fix several memory leaks.
14429
14430 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14431 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14432 (grub_cpio_dir): Likewise.
14433 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14434 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14435 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14436 (grub_romfs_label): Likewise.
14437 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14438 (squash_unmount): New function.
14439 (grub_squash_dir): Fix memory leak.
14440 (grub_squash_open): Likewise.
14441 (grub_squash_read): Likewise.
14442 (grub_squash_mtime): Likewise.
14443 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14444 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14445 * util/grub-fstest.c (fstest): Likewise.
14446
57b01250
VS
144472011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14448
14449 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14450 avoid accessing beyond the array.
14451
19e81ba7
VS
144522011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14455
52b656c0
VS
144562011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14457
14458 Several AFFS fixes.
14459
14460 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14461 (GRUB_AFFS_FLAG_FFS): Removed.
14462 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14463 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14464 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14465 (grub_fshelp_node): Make block 32-bit.
14466 Add block_cache and last_block_cache.
14467 (grub_affs_read_block): Fill and use block cache.
14468 (grub_affs_read_file): Removed.
14469 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14470 boot block.
14471 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14472 safety.
14473 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14474 space.
14475 (grub_affs_close): Free block cache.
14476 (grub_affs_read): Use grub_fshelp_read_file directly.
14477
438a746a
VS
144782011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14481 with no error set.
14482
49a45021
VS
144832011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14486 used variable.
14487 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14488 Likewise.
14489
3ae17eb8
VS
144902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14491
14492 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14493
14494 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14495 byteswap when needed.
14496
27610c38
VS
144972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 Fix FreeBSD compilation.
14500
14501 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14502 to avoid circular dependency.
14503 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14504 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14505 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14506
4a19b601
VS
145072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14508
14509 Fix ZFS crypto error types.
14510
14511 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14512 (grub_gcm_decrypt): Likewise.
14513 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14514 from PBKDF2.
14515
958ee221
VS
145162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 Illumos support.
14519
14520 * Makefile.util.def (10_illumos): New script.
14521 * configure.ac: Set COND_HOST_ILLUMOS.
14522 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14523 Support Illumos calls.
14524 (find_partition_start) [__sun__]: Likewise.
14525 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14526 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14527 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14528 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14529 device.
14530 * util/grub-probe.c (probe) [__sun__]: Do character check.
14531 * util/grub.d/10_illumos.in: New file.
14532
cac14fb6
VS
145332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 Support escaped commas in hostdisk.
14536
14537 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14538 (find_grub_drive): Use unescape_cmp.
14539 (make_device_name): Escape commas.
14540
78e08dc3
VS
145412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14542
14543 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14544
9f421dd1
VS
145452011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14546
14547 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14548 variable.
14549
ed64e9e2
VS
145502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 Support trampoline jumps on powerpc.
14553
14554 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14555 __ia64__ path.
14556 (grub_dl_load_segments): Set mod->sz.
14557 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14558 segments.
14559 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14560 (jump): Likewise.
14561 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14562 function.
14563 (trampoline): New struct.
14564 (trampoline_template): New const.
14565 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14566 * include/grub/dl.h (grub_dl): Add sz element.
14567 [__powerpc__]: Follow __ia64__.
14568 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14569 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14570 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14571 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14572
3084ede4
VS
145732011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14574
14575 ZFS crypto support.
14576
14577 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14578 * grub-core/Makefile.core.def (zfscrypt): New module.
14579 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14580 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14581 it. All users updated.
14582 (grub_zfs_decrypt): New var.
14583 (grub_zfs_load_key): Likewise.
14584 (zio_checksum_functions): Add SHA256+MAC.
14585 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14586 (zio_read): Handle encrypted blocks.
14587 (zap_verify): Remove incorrect check.
14588 (fzap_iterate): Handle non-standard fzap.
14589 (zap_iterate): Likewise.
14590 (zap_iterate_u64): New function.
14591 (dnode_get_fullpath): Load keys.
14592 * grub-core/fs/zfs/zfscrypt.c: New file.
14593 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14594 (grub_crypto_ecb_encrypt): Make input const.
14595 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14596 (grub_crypto_ecb_encrypt): Make input const.
14597 (GRUB_CIPHER_AES): New macro.
14598 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14599 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14600 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14601 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14602 prefix. All users updated.
14603 (grub_zfs_add_key): New proto.
14604 (grub_zfs_decrypt): Likewise.
14605 (grub_zfs_load_key): Likewise.
14606 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14607 * util/grub-fstest.c (options): Add -K option.
14608 (argp_parser): Likewise.
14609
b632b404
VS
146102011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14611
14612 Support zle compression on ZFS.
14613
14614 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14615 (decomp_table): Add zle.
14616 * include/grub/zfs/zio.h (zio_compress): Add zle.
14617
c7ba4f69
VS
146182011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14619
14620 Support BtrFS embedding.
14621
14622 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14623 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14624 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14625 * util/grub-setup.c (setup): Use fs embedding if available.
14626 Add additional sanity check.
14627
455377d9
VS
146282011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 * util/grub-install.in: Fix condition for config_opt.
14631
c2fd16ca
VS
146322011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 Support third redundancy strip on raidz3.
14635
14636 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14637 Return error on singularity. All users updated.
14638 (read_device): Don't stop on 3rd failure on raidz3.
14639
8622923b
VS
146402011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14641
14642 Support case-insensitive ZFS subvolumes.
14643
14644 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14645 All users updated.
14646 (zap_hash): Likewise.
14647 (name_cmp): New function.
14648 (zap_leaf_array_equal): New parameter case_insensitive.
14649 All users updated.
14650 (zap_leaf_lookup): Likewise.
14651 (fzap_lookup): Likewise.
14652 (zap_lookup): Likewise.
14653 (dnode_get_path): New parameter case_insensitive. Retrieve case
14654 sensitiviness of a volume. All users updated.
14655 (dnode_get_fullpath): New parameter case_insensitive.
14656 All users updated.
14657 (grub_zfs_dir): Set info.case_insensitiveness.
14658
95f2e860
VS
146592011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14660
14661 Support second redundancy strip on raidz(2,3).
14662
14663 * grub-core/fs/zfs/zfs.c (powx): New array.
14664 (powx_inv): Likewise.
14665 (poly): New const.
14666 (xor_out): New function.
14667 (gf_mul): Likewise.
14668 (recovery): Likewise.
14669 (read_device): Use second redundancy strip.
14670
11ee4389
VS
146712011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14672
14673 Use a power of generator representation of GF(256) multiplication group
14674 to save space time and complexity.
14675
14676 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14677 (raid6_table2): Likewise.
14678 (powx): New array.
14679 (powx_inv): Likewise.
14680 (poly): New const.
14681 (grub_raid_block_mul): Replace with ...
14682 (grub_raid_block_mulx): ...this.
14683 (grub_raid6_init_table): Rewritten.
14684 (grub_raid6_recover): Use power of generator representation.
14685
09e2763f
VS
146862011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14687
14688 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14689 for the right device.
14690
8bec9a28
VS
146912011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14694 expected by grub-mkimage and it's more clear since there is no implicit
14695 padding.
14696
dbd3a32e
VS
146972011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14698
14699 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14700 disk.
14701 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14702
182c872a
PMH
147032011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14704
14705 * util/grub-mkrescue.in: Fix handling xorriso option.
14706
1e51cabd
VS
147072011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14710 NULL.
14711
9cc3581d 147122011-11-03 crocket <crockabiscuit@gmail.com>
14713
14714 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14715
158dc1ea
VS
147162011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 XZ CRC64 and SHA256 support.
14719
14720 * Makefile.util.def (libgrubmods): Add crc64.c.
14721 * grub-core/Makefile.core.def (crc64): New module.
14722 * grub-core/lib/crc64.c: New file.
14723 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14724 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14725 Fix the type.
14726 (MAX_HASH_SIZE): New define.
14727 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14728 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14729 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14730 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14731 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14732 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14733 Handle non-crc32 hashes.
14734 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14735 (dec_stream_header): Handle non-crc32 hashes.
14736 (dec_stream_footer): Likewise.
14737 (dec_block_header): Likewise.
14738 (dec_main): Likewise.
14739 (xz_dec_init): Likewise.
14740 (xz_dec_reset): Likewise.
14741 (xz_dec_end): Likewise.
14742 * util/import_gcry.py: Add CRC64 line.
14743
9d9b3d2f
VS
147442011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14745
14746 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14747 as well.
14748
7d0ac931
VS
147492011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14750
14751 Make reiserfs label retrieval similar to other *_label functions.
14752
14753 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14754 (REISERFS_MAX_LABEL_LENGTH): Removed.
14755 (REISERFS_LABEL_OFFSET): Likewise.
14756 (grub_reiserfs_label): Rewritten.
14757
147582011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14759
14760 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14761 field.
14762
cf5ba824
VS
147632011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14766
17744004
VS
147672011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14768
14769 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14770 drive failure on both raidz and raidz2.
14771
aca5aefc
VS
147722011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14773
14774 Fix RAIDZ(2) for >= 5 devices.
14775
14776 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14777 asize argument. All users updated.
14778
ce8ca56e
VS
147792011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14780
14781 Fix RAIDZ(2).
14782
14783 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14784 (fill_vdev_info_real): Set ashift.
14785 (read_device): Rewrite RAIDZ part based on reverse engineering.
14786
7c01e783
VS
147872011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14788
14789 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14790 don't report potentially unavialiable fields in debug output.
14791 (find_path): Fix double-free and memory leak.
14792
ce109e84
VS
147932011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 Read label on UFS1.
14796
14797 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14798 (grub_ufs_fs): Always set .label.
14799
87661123
VS
148002011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14801
14802 Use shifts in UFS.
14803
14804 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14805 (grub_ufs_data): New field log2_blksz.
14806 (grub_ufs_read_file): Use shifts.
14807 (grub_ufs_mount): Check block size and logarithm it.
14808
46bc1dc2
VS
148092011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14810
14811 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14812 long symlinks.
14813
19ee2987
VS
148142011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14815
14816 Handle symlinks and long names on tar and cpio.
14817
14818 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14819 (ATTR_FILE): Likewise.
14820 (ATTR_DIR): Likewise.
14821 (ATTR_LNK): Likewise.
14822 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14823 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14824 L and K entries.
14825 (grub_cpio_mount): Zero-fill data.
14826 (handle_symlink): New function.
46bc1dc2
VS
14827 (grub_cpio_dir): Handle symlinks.
14828 (grub_cpio_open): Likewise.
14829 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 14830
c83a08d8
VS
148312011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14832
14833 Fix iso9660 filename limitations and fix memory leaks.
14834
14835 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14836 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14837
45cdd3ea
VS
148382011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14839
14840 Fix JFS file name length limitations.
14841
14842 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14843 (grub_jfs_diropen): Fix maximum filename length.
14844 (grub_jfs_getent): Fix filename length.
14845 (grub_jfs_lookup_symlink): Fix size checks.
14846
94ef05c2
VS
148472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14848
14849 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14850 string.
14851
785ab8c7
VS
148522011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14853
eb0b6b45
VS
14854 Leverage BFS implementation to read AFS.
14855
14856 * Makefile.util.def (libgrubmods): Add afs.c.
14857 * grub-core/Makefile.core.def (afs): New module
14858 * grub-core/fs/afs.c: New file.
14859 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14860
148612011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 14864
c4a1628f
VS
148652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * grub-core/fs/bfs.c: Run indent.
14868
5825b379
VS
148692011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14870
14871 BFS implementation based on the specification.
14872
14873 * grub-core/fs/bfs.c: New file.
14874 * Makefile.util.def (libgrubmods): Add bfs.c.
14875 * grub-core/Makefile.core.def (bfs): New module.
14876
42b2a706
VS
148772011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14878
14879 * util/grub-fstest.c (cmd_cp): Clarify error message.
14880 (cmd_cmp): Likewise.
14881
61b99bfc
YB
148822011-10-30 Yves Blusseau <blusseau@zetam.org>
14883
14884 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14885 and befs_be.
14886
faba3d16
VS
148872011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14888
14889 Remove afs and befs because of copyright problem.
14890
14891 * grub-core/fs/afs.c: Removed.
14892 * grub-core/fs/afs_be.c: Removed.
14893 * grub-core/fs/befs.c: Removed.
14894 * grub-core/fs/befs_be.c: Removed.
14895 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14896 * grub-core/Makefile.core.def (afs): Removed.
14897 (afs_be): Likewise.
14898 (befs): Likewise.
14899 (befs_be): Likewise.
14900
c39224b0
VS
149012011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14902
14903 Prefer rockridge over Joliet.
14904
14905 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14906 to ...
14907 (set_rockridge): ... here.
14908 (grub_iso9660_mount): Check rockridge on the primary label when
14909 discovering. Ignore Joliet if Rockridge is present.
14910
e551115a
VS
149112011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 Use shifts in nilfs2.
14914
14915 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14916 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
14917 (grub_nilfs2_palloc_entries_per_group): Replace with ...
14918 (grub_nilfs2_log_palloc_entries_per_group): ... this.
14919 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
14920 (grub_nilfs2_entries_per_block): Replaced with ...
14921 (grub_nilfs2_log_entries_per_block_log): ... this.
14922 (grub_nilfs2_blocks_per_group): Replaced with ...
14923 (grub_nilfs2_blocks_per_group_log): ... this.
14924 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
14925 (grub_nilfs2_blocks_per_desc_block_log): ... this.
14926 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
14927 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
14928 (grub_nilfs2_palloc_entry_offset): Replaced ...
14929 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
14930 (grub_nilfs2_dat_translate): Use shifts.
14931 (grub_nilfs2_read_inode): Likewise.
14932 (GRUB_MOD_INIT): Ensure that logs are correct.
14933
564dd58c
VS
149342011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14935
14936 Use shifts in minix filesystem.
14937
14938 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
14939 (GRUB_MINIX_ZONE2SECT): Likewise.
14940 (grub_minix_data): Replace block_size with log_block_size.
14941 (grub_minix_read_file): Use shifts.
14942 (grub_minix_mount): Check block size and take a logarithm.
14943
ed9ba06d
VS
149442011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 Use shifts in squash4.
14947
14948 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
14949 (squash_mount): Check block size and take logarithm.
14950 (direct_read): Use shifts.
14951
ad03fe76
VS
149522011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14953
14954 Correct befs block counting logic.
14955
14956 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
14957 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
14958 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
14959 (grub_afs_read_inode): Use block_shift.
14960 (RANGE_SHIFT): New definition.
14961 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
14962 unexpected conditions, use shifts and appropriate types.
14963 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
14964
6563f63d
VS
149652011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14966
14967 * grub-core/disk/raid.c (scan_devices): Check partition.
14968 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14969
5b1ae25f
VS
149702011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 Support BFS (befs) UUID.
14973
14974 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
14975 (grub_afs_small_data_element_header): New struct.
14976 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
14977 (grub_afs_read_attribute) [MODE_BFS]: New function.
14978 (grub_afs_iterate_dir): Allocate for complete inode.
14979 (grub_afs_mount): Likewise.
14980 (grub_afs_uuid) [MODE_BFS]: New function.
14981 (grub_afs_fs) [MODE_BFS]: Add .uuid.
14982
f8d82408
VS
149832011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14984
14985 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
14986 (zfs_unmount): Fix memory leak.
14987
5773fb64
VS
149882011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 Support NTFS reparse points.
14991
14992 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
14993 (symlink_descriptor): New struct.
14994 (grub_ntfs_read_symlink): New function.
14995 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
14996 (grub_ntfs_open): Likewise.
14997
91c3fdde
VS
149982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15001
3be82e10
VS
150022011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 fstest xnu_uuid subcommand.
15005
15006 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15007 grub-core/commands/xnu_uuid.c.
15008 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15009 (fstest): Handle xnu_uuid.
15010 (options): Document xnu_uuid.
15011 (argp_parser): Parse xnu_uuid.
15012
8e32442e
VS
150132011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15016 -l argument. Add newline at the end if printing.
15017 (GRUB_MOD_INIT): Document -l.
15018
52a05075
VS
150192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15022
1869edb5
VS
150232011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 ZFS multi-device and version 33 support.
15026
15027 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15028 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15029 (grub_zfs_data): Add multidev-ice-related fields.
15030 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15031 (dva_get_offset): Make dva const.
15032 (zfs_fetch_nvlist): New function.
15033 (fill_vdev_info_real): Likewise.
15034 (fill_vdev_info): Likewise.
15035 (check_pool_label): Likewise.
15036 (scan_disk): Likewise.
15037 (scan_devices): Likewise.
15038 (read_device): Likewise.
15039 (read_dva): Likewise.
15040 (zio_read_gang): Use read_dva.
15041 (zio_read_data): Likewise.
15042 (zap_leaf_lookup): Add missing endian conversion.
15043 (zap_verify): Add missing endian conversion. All users updated.
15044 (fzap_lookup): Likewise.
15045 (fzap_iterate): Likewise.
15046 (dnode_get_path): Handle SA bonus.
15047 (nvlist_find_value): Make input const. All users updated.
15048 (unmount_device): New function.
15049 (zfs_unmount): Use unmount_device.
15050 (zfs_mount): Use scan_disk.
15051 (zfs_mtime): New function.
15052 (grub_zfs_open): Handle system attributes.
15053 (fill_fs_info): Likewise.
15054 (grub_zfs_dir): Likewise.
15055 (grub_zfs_fs): Add mtime.
15056 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15057 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15058 (SA_MTIME_OFFSET): Likewise.
15059 (SA_SYMLINK_OFFSET): Likewise.
15060 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15061 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15062 (fstest): Support zfsinfo.
15063 (argp_parser): Likewise.
15064
186b4028
VS
150652011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15068 error.
15069
150702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15071
15072 ZFS fixes.
15073
15074 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15075 sharing the same block. Iterate over correct number of indices.
15076 (dnode_get_path): Handle symlinks correctly.
15077
c0584900
VS
150782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15081
67e2bd71
VS
150822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 Read label on HFS+.
15085
15086 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15087 (grub_hfsplus_btree_search): Fix types.
15088 (grub_hfsplus_label): Implement.
15089
e9cc6b7b
VS
150902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15091
15092 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15093
19832ddb
VS
150942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15095
15096 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15097
66b40850
VS
150982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 Fix symlink handling on iso9660.
15101
15102 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15103 All users updated.
15104 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15105 (grub_iso9660_read_symlink): Moved most of code ...
15106 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15107
db821363
VS
151082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15109
15110 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15111 Use union to avoid breaking strict-aliasing rules.
15112
e1211949
VS
151132011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15114
15115 Support multi-extent iso files.
15116
15117 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15118 Add node.
15119 (grub_fshelp_node): Revamp. All users updated.
15120 (FLAG_*): New enum.
15121 (read_node): New function.
15122 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15123 All users updated.
15124 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15125 (get_node_size): New function.
15126 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15127 entries.
15128 Fix memory leak on . and ..
15129 (grub_iso9660_read): Use read_node.
15130 (grub_iso9660_close): Free node.
15131
d4888031
VS
151322011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15133
15134 Fix tar 4G limit and handle paths containing dot.
15135
15136 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15137 (canonicalize): New function.
15138 (grub_cpio_find_file): Use canonicalize. Store offs in
15139 grub_disk_addr_t.
15140 (grub_cpio_dir): Use grub_disk_addr_t.
15141 (grub_cpio_open): Likewise.
15142
9f12e664
VS
151432011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15144
15145 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15146
15147 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15148 unused flags.
15149 (grub_squash_inode): Add long_file and block_size.
15150 (grub_squash_cache_inode): New struct.
15151 (grub_squash_dirent): Make types into enum.
15152 (SQUASH_TYPE_LONG_REGULAR): New type.
15153 (grub_squash_frag_desc): Add field size.
15154 (SQUASH_BLOCK_FLAGS): New enum.
15155 (grub_squash_data): Use grub_squash_cache_inode.
15156 (grub_fshelp_node): Make ino_chunk 64-bit.
15157 (read_chunk): Minor argument change. All users updated.
15158 (squash_mount): Use correct le_to_cpu.
15159 (grub_squash_open): Handle LONG_REGULAR.
15160 (direct_read): New function.
15161 (grub_squash_read_data): Handle blocks correctly.
15162
9f326fba
VS
151632011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15164
15165 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15166
f4d9b64b
VS
151672011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15168
15169 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15170
5bbd28b8
VS
151712011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 Fix 2G limit on ZFS.
15174
15175 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15176 types.
15177 (uberblock_verify): Likewise.
15178 (dmu_read): Likewise.
15179 (grub_zfs_read): Likewise. Remove invalid cast.
15180
68c72069
VS
151812011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15182
15183 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15184 (grub_jfs_blkno): Fix incorrect shift.
15185 (grub_jfs_read_file): Use more appropriate types.
15186
6e536dc8
VS
151872011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15188
15189 Support triple indirect on minix2 and minix3.
15190
15191 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15192 Declare triple_indir_zone.
15193 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15194 indirect.
15195
e0864e7a
VS
151962011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15197
15198 Minix FS fixes.
15199
15200 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15201 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15202 Rename ctime to mtime. All users updated.
15203 (grub_minix_get_file_block): Fix types and double indirect computations.
15204
89481cab
VS
152052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15208 if no label is found.
15209 (grub_fat_iterate_dir): Fix file size type.
15210 (grub_fat_iterate_dir): Likewise.
15211
f646e143
VS
152122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15213
15214 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15215 save some space.
15216 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15217 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15218
534d769e
VS
152192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15222
e084ba18
VS
152232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 * util/import_gcry.py: Accept space between # and include.
15226
3471ecdf
VS
152272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15228
15229 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15230
124df5f6
VS
152312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15234
15235 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15236 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15237 yylex_strncpy.
15238 * grub-core/script/yylex.l: Add fine-grained #pragma.
15239
4defb8d5
VS
152402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15243 New inline function.
15244 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15245 Likewise.
15246 (memset) [GRUB_UTIL]: Likewise.
15247 (memcmp) [GRUB_UTIL]: Likewise.
15248
4e94ae65
VS
152492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15250
15251 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15252 inline function rather than a define.
15253
18c575e5
VS
152542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15255
15256 * util/grub-setup.c: Add missing include.
15257
f8bc22a8
VS
152582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15259
15260 * util/ieee1275/grub-ofpathname.c: Add missing include.
15261
3ce69fc9
VS
152622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15265 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15266 Likewise.
15267
d1e293bb
VS
152682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15269
15270 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15271 grub_memcmp usage.
15272
7a5c54a4
VS
152732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15274
15275 * util/grub-install.in: Add datarootdir as per automake manual
15276 suggestion.
15277 * util/grub-mknetdir.in: Likewise.
15278
152792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15280
15281 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15282 suggestion.
15283 * util/grub.d/10_kfreebsd.in: Likewise.
15284 * util/grub.d/10_linux.in: Likewise.
15285 * util/grub.d/10_netbsd.in: Likewise.
15286 * util/grub.d/10_windows.in: Likewise.
15287 * util/grub.d/20_linux_xen.in: Likewise.
15288
766f7d08
VS
152892011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 Remove redundant grub_kernel_image_size.
15292
15293 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15294 _edata and _start.
15295 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15296 the small code. It moves it only by few bytes but simplifies the code.
15297 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15298 _start.
15299 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15300 (grub_kernel_image_size): Removed.
15301 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15302 (grub_kernel_image_size): Removed.
15303 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15304 compiled with Apple toolchain.
15305 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15306 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15307 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15308 (grub_total_module_size): Likewise.
15309 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15310 Removed.
15311 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15312 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15313 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15314 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15315 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15316 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15317 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15318 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15319 Removed.
15320 (grub_total_module_size): Removed.
15321 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15322 (image_targets): Likewise.
15323 Set .compressed_size to no field on sparc.
15324 (generate_image): Remove kernel_image_size handling.
15325
fcf1d672
SJ
153262011-10-19 Szymon Janc <szymon@janc.net.pl>
15327
15328 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15329 NULL pointer dereference.
15330
de9c615e
VS
153312011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15334 done with a dedicated section.
15335
15336 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15337 Ensure the correct position of boot_path.
15338 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15339 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15340 other fields.
15341 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15342 * include/grub/boot.h: Removed. All references removed.
15343 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15344 Removed.
15345 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15346
e55599dc
VS
153472011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15348
15349 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15350 name.
15351
36dd20ad
VS
153522011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15355
f8f72eb8
VS
153562011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15359 Don't add the bogus brackets.
15360
a374751b
VS
153612011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15362
15363 ExFAT support.
15364
15365 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15366 * grub-core/Makefile.core.def (exfat): New module.
15367 * grub-core/fs/exfat.c: New file.
15368 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15369 (GRUB_FAT_ATTR_*): Make into an enum.
15370 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15371 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15372 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15373 (GRUB_FAT_MAXFILE): Removed.
15374 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15375 (grub_current_fat_bpb_t): New type.
15376 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15377 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15378 (grub_fat_dir_node_t): New type.
15379 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15380 (fat_log2) [MODE_EXFAT]: Removed.
15381 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15382 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15383 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15384 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15385 (grub_fat_label) [MODE_EXFAT]: New function.
15386 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15387 reserved_first_sector to 0.
15388
544c2487
VS
153892011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 Move grub_reboot out of the kernel.
15392
15393 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15394 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15395 * grub-core/lib/efi/reboot.c: ... here.
15396 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15397 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15398 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15399 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15400 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15401 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15402 * grub-core/lib/ieee1275/reboot.c: ... here.
15403 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15404 * grub-core/lib/mips/arc/reboot.c: ... here.
15405 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15406 * grub-core/lib/mips/loongson/reboot.c: ...here.
15407 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15408 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15409 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15410 * include/grub/i386/reboot.h: New file.
15411 * include/grub/mips/loongson/ec.h: Fix includes.
15412 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15413 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15414 * grub-core/lib/i386/reboot.c: New file.
15415
a97501d2
VS
154162011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 Make grub_prefix into module to fix the arbitrary limit and save
15419 some space.
15420
15421 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15422 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15423 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15424 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15425 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15426 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15427 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15428 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15429 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15430 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15431 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15432 * include/grub/ia64/efi/kernel.h: Removed.
15433 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15434 (grub_prefix): Removed.
15435 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15436 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15437 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15438 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15439 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15440 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15441 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15442 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15443 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15444 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15445 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15446 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15447 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15448 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15449 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15450 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15451 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15452 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15453 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15454 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15455 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15456 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15457 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15458 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15459 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15460 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15461 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15462 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15463 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15464 from module.
15465 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15466 prefix_end.
15467 (image_targets): Likewise.
15468 (generate_image): Put prefix as a module.
15469
39705fad
VS
154702011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15471
15472 Replace grub_module_iterate with FOR_MODULES.
15473
15474 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15475 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15476 (grub_efi_modules_addr): ...this.
15477 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15478 (grub_efi_init): Set grub_modbase.
15479 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15480 (grub_modbase): New variable.
15481 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15482 (grub_modbase): New variable.
15483 (grub_machine_init): Set grub_modbase.
15484 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15485 (grub_modbase): New variable.
15486 (grub_machine_init): Set grub_modbase.
15487 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15488 (grub_modbase): New variable.
15489 (grub_machine_init): Set grub_modbase.
15490 * grub-core/kern/main.c (grub_module_iterate): Remove.
15491 (grub_modules_get_end): Use grub_modbase.
15492 (grub_load_modules): Use FOR_MODULES.
15493 (grub_load_config): Likewise.
15494 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15495 (grub_modbase): New variable.
15496 (grub_machine_init): Set grub_modbase.
15497 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15498 (grub_modbase): New variable.
15499 (grub_machine_init): Set grub_modbase.
15500 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15501 Removed.
15502 (grub_modbase): New variable.
15503 (grub_machine_init): Set grub_modbase.
15504 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15505 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15506 (grub_module_iterate): Likewise.
15507 (grub_modbase): New variable declaration.
15508 (FOR_MODULES): New macro.
15509
2afb7f6c
VS
155102011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15511
15512 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15513 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15514
366e34fa
VS
155152011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15516
15517 Fix few obvious type discrepancies.
15518
15519 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15520 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15521 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15522 variable.
15523 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15524 and connected types.
15525 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15526 offset.
15527 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15528 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15529 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15530 and connected types.
15531
177b960e
VS
155322011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 Fix python 3.x incompatibilities.
15535
15536 * gentpl.py: Put brackets around print strings.
15537 * util/import_gcry.py: Open explicitly as utf-8.
15538 Use in instead of has_key.
15539
3b619ae1
VS
155402011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15543 (GRUB_XFS_INO_AGBITS): Make into inline function.
15544 (GRUB_XFS_INO_INOINAG): Likewise.
15545 (GRUB_XFS_INO_AG): Likewise.
15546 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15547 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15548 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15549 (GRUB_XFS_EXTENT_SIZE): Likewise.
15550 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15551 (GRUB_XFS_NEXT_DIRENT): Likewise.
15552 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15553 (grub_xfs_read_file): Fix offset type.
15554
8bcebcb8
RM
155552011-10-15 Robert Millan <rmh@gnu.org>
15556
15557 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15558
0017e5ef
RM
155592011-10-15 Robert Millan <rmh@gnu.org>
15560
15561 Fix build problem on FreeBSD and GNU/kFreeBSD.
15562
15563 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15564
d8919552
VS
155652011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15566
15567 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15568
15569 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15570 types.
15571 (grub_hfsplus_btree_recoffset): Likewise.
15572 (grub_hfsplus_btree_recptr): Likewise.
15573 (grub_hfsplus_find_block): Likewise.
15574 (grub_hfsplus_btree_search): Likewise.
15575 (grub_hfsplus_read_block): Likewise.
15576 (grub_hfsplus_read_file): Likewise.
15577 (grub_hfsplus_mount): Likewise.
15578 (grub_hfsplus_btree_iterate_node): Likewise.
15579 (grub_hfsplus_btree_search): Likewise.
15580 (grub_hfsplus_iterate_dir): Likewise.
15581 (grub_hfsplus_read): A small code simplification.
15582
c81296b6
VS
155832011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15584
15585 * grub-core/kern/emu/hostdisk.c
15586 (convert_system_partition_to_system_disk): Don't assume that children
15587 of mapper nodes are mapper nodes.
15588
0eb8ffb1
VS
155892011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15590
15591 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15592 * include/grub/misc.h (grub_isxdigit): New function.
15593 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15594 switched to grub_isxdigit.
15595 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15596 number starting with a letter.
15597
a98f4a08
RM
155982011-10-09 Robert Millan <rmh@gnu.org>
15599
15600 LVM support for FreeBSD and GNU/kFreeBSD.
15601
15602 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15603 GNU/kFreeBSD.
15604 (LVM_DEV_MAPPER_STRING): Move from here ...
15605 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15606 * util/getroot.c: Include `<grub/util/lvm.h>'.
15607 (grub_util_get_dev_abstraction): Enable
15608 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15609 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15610 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15611 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15612 support it.
15613 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15614 GNU/kFreeBSD.
15615 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15616 when LVM abstraction is required for ${GRUB_DEVICE}.
15617
050e8e90
SJ
156182011-10-06 Szymon Janc <szymon@janc.net.pl>
15619
15620 Add support for LZO compression in GRUB:
15621 - import of minilzo library,
15622 - LZO decompression for btrfs,
15623 - lzop files decompression.
15624
15625 * grub-core/io/lzopio.c: New file.
15626 * grub-core/lib/adler32.c: Likewise.
15627 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15628 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15629 * grub-core/lib/minilzo/minilzo.c: Likewise.
15630 * grub-core/lib/minilzo/minilzo.h: Likewise.
15631 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15632 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15633 grub-core/lib/minilzo/minilzo.c to common.
15634 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15635 cflags in cppflags.
15636 * grub-core/Makefile.core.def (btrfs): Likewise.
15637 * grub-core/Makefile.core.def (lzopio): New module.
15638 (adler32): Likewise.
15639 * grub-core/fs/btrfs.c: Include minilzo.h.
15640 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15641 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15642 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15643 (grub_btrfs_lzo_decompress): New function.
15644 (grub_btrfs_extent_read): Add support for LZO compression type.
15645 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15646 (GRUB_USHRT_MAX): Likewise.
15647 (GRUB_UINT_MAX): Likewise.
15648 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15649 (UINT_MAX): Likewise.
15650 (CHAR_BIT): Likewise.
15651 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15652 grub-core/lib/posix_wrap/limits.h
15653 (UCHAR_MAX): Likewise.
15654 * include/grub/file.h (grub_file_filter_id): New compression filter
15655 GRUB_FILE_FILTER_LZOPIO.
15656 * include/grub/file.h (grub_file_filter_id): Set
15657 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15658 * include/grub/types.h (grub_get_unaligned16): New function.
15659 (grub_get_unaligned32): Likewise.
15660 (grub_get_unaligned64): Likewise.
15661 * util/import_gcry.py (cryptolist): Add adler32.
15662
0eb8ffb1
VS
156632011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15664
15665 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15666 in perspective decreases the complexity of build system and fixes
15667 compilation right now.
15668
ce79cc99 156692011-10-01 Ales Nesrsta <starous@volny.cz>
15670
15671 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15672 (fixed problem related to using UHCI with coreboot).
15673
8667a314
BC
156742011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15675
15676 * gentpl.py: Use Autogen macros so that the output template file
15677 (Makefile.tpl) size is reduced.
15678
fc5efcc0
MK
156792011-09-29 Mads Kiilerich <mads@kiilerich.com>
15680
15681 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15682 extra_dist.
15683
d1ab689d
ML
156842011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15685
15686 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15687 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15688
c05de032
ML
156892011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15690
15691 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15692 _fullpath.
15693
cca7ccd8
ML
156942011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15695
15696 Remove extra declaration of sleep for mingw32.
15697
15698 * util/misc.c (sleep) [__MINGW32__]: Removed.
15699 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15700
e0b0dc83
GS
157012011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15702
15703 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15704 type and packname.
15705 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15706 Resurrected.
15707 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15708 (grub_netbsd_btinfo_bootwedge): New struct.
15709 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15710 New function.
15711 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15712
91a1a164
TH
157132011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15714
15715 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15716 loader.
15717
2ded951e
AB
157182011-09-28 Andreas Born <futur.andy@googlemail.com>
15719
15720 Fix incorrect identifiers in bash-completion.
15721
15722 * util/bash-completion.d/grub-completion.bash.in
15723 (_grub_mkpasswd-pbkdf2): Rename to ...
15724 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15725 (_grub_script-check): Rename to ...
15726 (_grub_script_check): ... this. All users updated.
15727
69915030
VS
157282011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15731 Return 0 if disk isn't biosdisk.
15732
20fd15f9
GS
157332011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15734
15735 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15736 on NetBSD.
15737 * Makefile.util.def (grub-fstest): Likewise.
15738
1a7d7db9
GS
157392011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15740
15741 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15742 Get sector size from disk label.
15743
2221ab6c
CW
157442011-09-05 Colin Watson <cjwatson@ubuntu.com>
15745
15746 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15747 */README* as well as README*.
15748 Reported by: Axel Beckert.
15749
ca51c4a0
VS
157502011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15751
15752 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15753 case of less than 256 MiB of RAM.
15754
ab80f326
VS
157552011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15756
15757 * grub-core/commands/wildcard.c (make_regex): Handle @.
15758
4155e697
VS
157592011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15760
15761 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15762
ab178c08
SJ
157632011-08-21 Szymon Janc <szymon@janc.net.pl>
15764
15765 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15766 AC_LANG_CONFTEST macros.
15767
7dc3c686
SJ
157682011-08-20 Szymon Janc <szymon@janc.net.pl>
15769
15770 Add grub-fstest option to uncompress data for commands.
15771
15772 * util/grub-fstest.c (uncompress): New var.
15773 (options): New option -u.
15774
fe8d4a7b
SJ
157752011-08-20 Szymon Janc <szymon@janc.net.pl>
15776
15777 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15778 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15779
a5219af1
SJ
157802011-08-20 Szymon Janc <szymon@janc.net.pl>
15781
15782 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15783 file type was not recognized correctly (not gzip or corrupted).
15784
f87abff5
VS
157852011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15788 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15789
d94497ea
VS
157902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15793 loongson.
15794 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15795 video_radeon_fuloong2e.
15796 * grub-core/video/radeon_fuloong2e.c: New file.
15797 * include/grub/video.h (grub_video_id_t): Add new ID
15798 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15799
0d1fd011
VS
158002011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15801
15802 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15803 define.
15804 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15805 that PRID matches the detected subplatform and reset the subplatform
15806 if it doesn't.
15807
84beb0ee
VS
158082011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15809
15810 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15811
1227c133
VS
158122011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15813
15814 Fix PCI iterating on functions >= 4.
15815
15816 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15817 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15818 Removed.
15819 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15820 (grub_pci_read): Fix bitmask.
15821 (grub_pci_read_word): Likewise.
15822 (grub_pci_read_byte): Likewise.
15823 (grub_pci_write): Likewise.
15824 (grub_pci_write_word): Likewise.
15825 (grub_pci_write_byte): Likewise.
15826
9594c689
VS
158272011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15830 can still be specified in TARGET_CFLAGS)
15831
14a2562c
VS
158322011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15833
15834 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15835
15836 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15837 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15838 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15839 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15840 (FULOONG): Rename to ...
15841 (FULOONG2F): ... this. All users updated.
15842 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15843 (machtype_fuloong2f_str): ... this.
15844 (machtype_fuloong2e_str): New string.
15845 Check for machtype_fuloong2e_str.
15846 * grub-core/loader/mips/linux.c (loongson_machtypes)
15847 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15848 * grub-core/term/serial.c (loongson_defserial)
15849 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15850 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15851 loongson_defserial.
15852 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15853 Rename to ...
15854 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15855 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15856 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15857 to IMAGE_FULOONG2F_FLASH. All users updated.
15858 (image_targets): Rename images.
15859 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15860
b526cbb6
SJ
158612011-08-19 Szymon Janc <szymon@janc.net.pl>
15862
15863 Make enable of disk cache statistics code configurable.
15864
15865 * configure.ac: --enable-cache-stats added.
15866 * config.h.in (DISK_CACHE_STATS): New define.
15867 * grub-core/Makefile.core.def (cacheinfo): New command.
15868 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15869 * grub-core/commands/cacheinfo.c: New file.
15870 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15871 moved to cacheinfo.c.
15872 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15873 debug code.
15874 * include/grub/disk.h: Likewise.
15875
fb739ccd
SJ
158762011-08-19 Szymon Janc <szymon@janc.net.pl>
15877
15878 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15879 * grub-core/Makefile.am: Likewise.
15880
2bba8cfd
VS
158812011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15882
15883 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15884 non-zero pull.
15885
43526629
VS
158862011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15887
15888 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15889 All users updated.
15890 (grub_jfs_lookup_symlink): Use correct starting inode.
15891
5c144cc8
VS
158922011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * util/grub-setup.c (main): Add missing gcry initialisation.
15895
b1257f65
VS
158962011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 Don't accept text modes on EFI when booting Linux.
15899
15900 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15901 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15902
828bc390
ML
159032011-08-15 Mario Limonciello <mario_limonciello@dell.com>
159042011-08-15 Colin Watson <cjwatson@ubuntu.com>
15905
15906 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15907 use of "/path/.." as in grub-install for EFI as well as handling
15908 symlinks correctly.
15909 Fixes Debian bug #637768.
15910
5f60ccac
CW
159112011-08-15 Colin Watson <cjwatson@ubuntu.com>
15912
15913 * util/grub-probe.c: Remove duplicate #include.
15914
6dc212f9
RM
159152011-08-10 Robert Millan <rmh@gnu.org>
15916
15917 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
15918
15919 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
15920 function.
15921 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
15922 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
15923
66816d85
RM
159242011-08-03 Robert Millan <rmh@gnu.org>
15925
15926 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
15927 la_array as packed.
15928 Reported by: Zachary Bedell
15929
20168fca
CW
159302011-07-26 Colin Watson <cjwatson@ubuntu.com>
15931
15932 * configure.ac: The Loongson port requires grub-mkfont due to its
15933 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
15934 be built.
15935
303b6246
CW
159362011-07-26 Colin Watson <cjwatson@ubuntu.com>
15937
15938 * util/grub-install.in: Don't source grub-mkconfig_lib until after
15939 processing arguments (otherwise help2man fails when GRUB has not yet
15940 been installed).
15941
6795300e
VS
159422011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15943
41aa28ea
VS
15944 New script grub-mkstandalone.
15945
15946 * Makefile.util.def (grub-mkstandalone): New script.
15947 * docs/man/grub-mkstandalone.h2m: New file.
15948 * util/grub-mkstandalone.in: Likewise.
15949
159502011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 Support ATA disks with 4K sectors.
6795300e
VS
15953
15954 * include/grub/ata.h (grub_ata): New member log_sector_size.
15955 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
15956 (grub_ata_identify): Read sector size.
15957 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
15958
92227597
VS
159592011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15960
15961 * util/grub-install.in: Don't use uhci outside of x86.
15962
c77069f5
VS
159632011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15964
15965 * util/grub-mkrescue.in: Add missing quotes.
15966
159672011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
15968
15969 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
15970 dereference.
15971
583168a2
VS
159722011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
15975
6be1c01f
VS
159762011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15977
15978 * include/grub/video.h: add missing EXPORT_FUND on
15979 grub_video_edid_checksum and grub_video_edid_preferred_mode.
15980
a1167439
VS
159812011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15982
15983 * include/grub/mips/kernel.h: Fix define conflict.
15984
bf66054f
VS
159852011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15986
15987 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
15988 all four ways.
15989
8fc4fa45
CW
159902011-07-21 Colin Watson <cjwatson@ubuntu.com>
15991
15992 Preferred resolution detection for VBE.
15993
15994 * grub-core/video/video.c (grub_video_edid_checksum): New function.
15995 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
15996 the Flat Panel extension, in line with the X.org VESA driver.
15997 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
15998 New function.
15999 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16000 (grub_vbe_bios_read_edid): Likewise.
16001 (grub_vbe_get_preferred_mode): Likewise.
16002 (grub_video_vbe_setup): When the mode is "auto", try to get the
16003 preferred mode from VBE, and use the largest mode that is no larger
16004 than the preferred mode (some BIOSes expose a preferred mode that is
16005 not in their mode list!). If this fails, fall back to 640x480 as a
16006 safe conservative choice.
16007 (grub_video_vbe_get_edid): New function.
16008 (grub_video_vbe_adapter): Add get_edid.
16009 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16010 (struct grub_video_adapter): Add get_edid.
16011 (grub_video_edid_checksum): Add prototype.
16012 (grub_video_edid_preferred_mode): Likewise.
16013 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16014 structure.
16015
16016 * grub-core/commands/videoinfo.c (print_edid): New function.
16017 (grub_cmd_videoinfo): Print EDID if available.
16018
16019 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16020 is more appropriate on a wider range of platforms than 640x480.
16021 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16022 documentation.
16023
ca5572a9
VS
160242011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16025
16026 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16027
e4bcf625
VS
160282011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16029
16030 * po/POTFILES.in: Regenerate.
16031
c4edd548
VS
160322011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16033
16034 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16035 incorrect memory usage.
16036
16a2bab0
VS
160372011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 * util/grub-install.in: Source grub-mkconfig_lib.
16040
2e418de6
VS
160412011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 Remove getroot.c from core on emu platform.
16044
16045 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16046 kern/emu/raid.c.
16047 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16048 useless.
16049 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16050 * util/getroot.c (get_win32_path): ... here.
16051 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16052 * util/getroot.c (fini_libzfs): ... here.
16053 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16054 * util/getroot.c (grub_get_libzfs_handle): ... here.
16055 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16056 Moved from here...
16057 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16058 * grub-core/kern/emu/misc.c
16059 (grub_make_system_path_relative_to_its_root): Moved from here...
16060 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16061 * grub-core/kern/emu/getroot.c: Moved from here ...
16062 * util/getroot.c: ... here. All users updated.
16063 * grub-core/kern/emu/raid.c: Moved from here ...
16064 * util/raid.c: ... here. All users updated.
16065
def9832a
VS
160662011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16067
16068 * po/POTFILES.in: Regenerate.
16069
cd8fe79a
VS
160702011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 Fix compilation on GNU/Linux.
16073
16074 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16075 Disable geli.
16076 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16077 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16078 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16079
a251b719
VS
160802011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
160812011-07-07 Michael Gorven <michael@gorven.za.net>
160822011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16083
16084 LUKS and GELI support.
16085
16086 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16087 grub-core/disk/luks.c, grub-core/disk/geli.c,
16088 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16089 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16090 grub-core/lib/arg.c.
16091 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16092 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16093 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16094 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16095 (grub-bin2h): Add libgcry.a.
16096 (grub-mkimage): Likewise.
16097 (grub-mkrelpath): Likewise.
16098 (grub-script-check): Likewise.
16099 (grub-editenv): Likewise.
16100 (grub-mkpasswd-pbkdf2): Likewise.
16101 (grub-pe2elf): Likewise.
16102 (grub-fstest): Likewise.
16103 (grub-mkfont): Likewise.
16104 (grub-mkdevicemap): Likewise.
16105 (grub-probe): Likewise.
16106 (grub-ofpath): Likewise.
16107 (grub-mklayout): Likewise.
16108 (example_unit_test): Likewise.
16109 (grub-menulst2cfg): Likewise.
16110 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16111 * grub-core/Makefile.core.def (cryptodisk): New module.
16112 (luks): Likewise.
16113 (geli): Likewise.
16114 * grub-core/disk/AFSplitter.c: New file.
16115 * grub-core/disk/cryptodisk.c: Likewise.
16116 * grub-core/disk/geli.c: Likewise.
16117 * grub-core/disk/luks.c: Likewise.
16118 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16119 grub_util_is_lvm.
16120 (grub_util_get_dm_abstraction): New function.
16121 (grub_util_follow_gpart_up): Likewise.
16122 (grub_util_get_geom_abstraction): Likewise.
16123 (grub_util_get_dev_abstraction): Use new functions.
16124 (grub_util_pull_device): Pull GELI and LUKS.
16125 (grub_util_get_grub_dev): Handle LUKS and GELI.
16126 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16127 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16128 (follow_geom_up): Removed.
16129 (grub_util_fd_seek): New function.
16130 (open_device): Use grub_util_fd_seek.
16131 (nread): Rename to ..
16132 (grub_util_fd_read): ... this. All users updated.
16133 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16134 (grub_crypto_cbc_decrypt): Likewise.
16135 (grub_crypto_hmac_write): Likewise.
16136 (grub_crypto_hmac_buffer): Likewise.
16137 (grub_password_get): Extend to util.
16138 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16139 New member modname.
16140 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16141 * include/grub/cryptodisk.h: New file.
16142 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16143 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16144 LUKS and GELI.
16145 (grub_util_follow_gpart_up): New proto.
16146 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16147 (grub_util_fd_read): Likewise.
16148 (grub_cryptodisk_cheat_mount): Likewise.
16149 (grub_util_cryptodisk_print_uuid): Likewise.
16150 (grub_util_get_fd_sectors): Likewise.
16151 * util/grub-fstest.c (mount_crypt): New var.
16152 (fstest): Mount crypto if requested.
16153 (options): New option -C.
16154 (argp_parser): Parse -C.
16155 (main): Init and fini gcry.
16156 * util/grub-install.in: Support cryptodisk install.
16157 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16158 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16159 cryptodisk.
16160 (prepare_grub_to_access_device): Likewise.
16161 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16162 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16163 (probe_cryptodisk_uuid): New function.
16164 (probe_abstraction): Likewise.
16165 (probe): Use new functions.
16166 * util/import_gcry.py: Create Makefile.utilgcry.def.
16167 Add modname member.
16168
9bfdcbbc
VS
161692011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 Lazy device scanning.
16172
16173 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16174 (grub-setup): Remove util/raid.c.
16175 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16176 * grub-core/disk/lvm.c (scan_depth): New variable.
16177 (grub_lvm_iterate): Rescan if necessary.
16178 (find_lv): New function based on grub_lvm_open.
16179 (grub_lvm_open): Use find_lv. Rescan on error.
16180 (is_node_readable): New function.
16181 (is_lv_readable): Likewise.
16182 (grub_lvm_scan_device): Skip already found disks.
16183 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16184 Stop if searched device is found and readable.
16185 * grub-core/disk/raid.c (inscnt): New variable.
16186 (scan_depth): Likewise.
16187 (scan_devices): New function based on grub_raid_register. Abort if
16188 looked for device is found.
16189 (grub_raid_iterate): Rescan if needed.
16190 (find_array): NEw function based on -grub_raid_open.
16191 (grub_raid_open): Use find_array and rescan.
16192 (insert_array): Set became_readable_at.
16193 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16194 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16195 New function.
16196 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16197 (grub_util_pull_device): New function.
16198 (grub_util_get_grub_dev): Call grub_util_pull_device.
16199 * util/raid.c: Moved to ..
16200 * grub-core/kern/emu/raid.c: ... here.
16201 (grub_util_raid_getmembers): New parameter "bootable".
16202 All users updated. Support 1.x.
16203 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16204 All users updated.
16205 * include/grub/disk.h (grub_disk_pull_t): New enum.
16206 (grub_disk_dev): Change iterate prototype.
16207 All users updated.
16208 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16209 New proto.
16210 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16211 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16212 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16213 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16214 All users updated.
16215 * include/grub/util/raid.h: Removed.
16216
1c358e59
VS
162172011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16218
16219 * po/POTFILES.in: Regenerate.
16220
abee94ed
VS
162212011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16222
16223 Unify sparc init with other ieee1275.
16224
16225 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16226 instead of kern/sparc64/ieee1275/init.c.
16227 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16228 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16229 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16230 grub/machine/kernel.h.
16231 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16232 (grub_claim_heap) [__sparc__]: Use sparc version.
16233 (grub_machine_init): Moved args parsing to
16234 (grub_parse_cmdline): ...this.
16235 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16236 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16237 New definition.
16238 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16239
16240 Move BOOTP to separate file.
16241
16242 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16243 * grub-core/net/net.c: Move all BOOTP functions to
16244 * grub-core/net/bootp.c: ... here.
16245
16246 Use frame interface on PXE.
16247
16248 * grub-core/Makefile.core.def (pxecmd): Removed.
16249 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16250 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16251 * grub-core/i386/pc/pxe.c: Moved from here ...
16252 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16253 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16254 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16255
16256 EFI network support.
16257
16258 * grub-core/Makefile.core.def (efinet): New module.
16259 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16260 here...
16261 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16262 All users updated.
16263 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16264 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16265 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16266 * grub-core/net/drivers/efi/efinet.c: New file.
16267 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16268 (grub_efi_net_config): New extern var.
16269
16270 Various cleanups and bugfixes.
16271
16272 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16273 error.
16274 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16275 disk declared as partition.
16276 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16277 leak on failure.
16278 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16279 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16280 (grub_debug_zalloc): Likewise.
16281 (grub_debug_realloc): Likewise.
16282 (grub_debug_memalign): Likewise.
16283 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16284 Check that target is IPv4.
16285 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16286 local-mac-address as fallback.
16287 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16288 memory leak.
16289 * grub-core/net/ip.c (ipchksum): Rename to ...
16290 (grub_net_ip_chksum): ... this. All users updated.
16291 (grub_net_recv_ip_packets): Special handling for DHCP.
16292 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16293
16294 Unify prefix handling
16295
16296 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16297 (grub_machine_get_bootlocation): ... this.
16298 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16299 (grub_machine_get_bootlocation): ... this.
16300 (grub_prefix): New variable.
16301 (prefix): Removed.
16302 (root_dev): New variable.
16303 (dir): Likewise.
16304 (main): Use new variables.
16305 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16306 Revamped into ...
16307 (grub_machine_get_bootlocation): ... this.
16308 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16309 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16310 (grub_machine_get_bootlocation): ... this.
16311 (grub_machine_set_prefix): Removed.
16312 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16313 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16314 Revamped into ...
16315 (grub_machine_get_bootlocation): ... this.
16316 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16317 (grub_set_prefix_and_root): ... this. All users updated.
16318 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16319 Revamped into ...
16320 (grub_machine_get_bootlocation): ... this.
16321 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16322 (grub_machine_get_bootlocation): New proto.
16323 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16324
16325 Less intrusive and more reliable seek on network implementation.
16326
16327 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16328 (grub_file_seek): Don't call grub_file_net_seek.
16329 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16330 (grub_net_fs_read_real): .. this.
16331 (grub_net_seek_real): Use net->offset.
16332 (grub_net_fs_read): Seek if necessary.
16333
16334 Unify IEEE1275 netwotk config with the other platforms.
16335
16336 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16337 New variable.
16338 (grub_machine_get_bootlocation): Support network.
16339 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16340 Support type and device parsing.
16341 (grub_ieee1275_get_device_type): New function.
16342 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16343 into ...
16344 (grub_ieee1275_net_config_real): ... this.
16345 (grub_ofnet_probecards): Removed.
16346 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16347 * include/grub/ieee1275/ofnet.h: Removed.
16348 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16349 extern var.
16350 (grub_ieee1275_get_device_type): New function.
16351
16352 Unify network device closing across platforms and make more robust.
16353
16354 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16355 grub_grubnet_fini.
16356 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16357 already.
16358 * grub-core/net/net.c (grub_net_network_level_interface_register):
16359 Update num_ifaces.
16360 (grub_net_card_unregister): Close all interfaces.
16361 (receive_packets): Don't poll if no iterfaces are registered.
16362 Open if necessary.
16363 (grub_net_fini_hw): New function.
16364 (grub_net_restore_hw): Likewise.
16365 (fini_hnd): New variable.
16366 (GRUB_MOD_INIT): Register preboot hook.
16367 (GRUB_MOD_FINI): Run and unregister preboot hook.
16368
16369 Poll network cards when idle.
16370
16371 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16372 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16373 * grub-core/net/net.c (receive_packets): Save last poll time.
16374 (grub_net_poll_cards_idle_real): New function.
16375 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16376 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16377 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16378
16379 Rename ofnet interfaces.
16380
16381 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16382 (grub_ofnet_findcards): Use ofnet_%s names.
16383
16384 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16385
16386 Cleanup socket opening.
16387
16388 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16389 (grub_net_fs_close): Likewise.
16390 (grub_net_fs_read_real): Use eof member.
16391 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16392 (+grub_net_udp_close): New inline function.
16393
16394 * include/grub/net/tftp.h: Moved to the top of ...
16395 * grub-core/net/tftp.c: ... here.
16396 * include/grub/net/ip.h: Moved mostly to the top of ...
16397 * grub-core/net/ip.c: ... here.
16398 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16399 * grub-core/net/ethernet.c: ... here.
16400
16401 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16402
16403 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16404 FS name.
16405
16406 * include/grub/net/ip.h (ipv4_ini): Removed.
16407 (ipv4_fini): Likewise.
16408
16409 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16410 (grub_net_send_ip_packets): Likewise.
16411
cf1337aa
VS
164122011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16413
16414 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16415 grub_read_cmos prototype.
16416
93c06ff9
VS
164172011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 VGA text support in qemu-mips
16420
16421 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16422 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16423 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16424 text.
16425 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16426 * grub-core/kern/vga_init.c: ... this.
16427 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16428 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16429 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16430 Adjust.
16431 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16432 GRUB_MACHINE_PCI_IO_BASE.
16433
748ccabe
VS
164342011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 MIPS qemu flash support.
16437
16438 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16439 magic.
16440 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16441 (grub_machine_init): Probe memory if its size isn't known.
16442 * util/grub-mkimage.c (image_targets): Add flash targets.
16443 (generate_image): Handle flash targets.
16444
d7345994
VS
164452011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 MIPS qemu at_keyboard support.
16448
16449 * gentpl.py (videoinkernel): Add qemu-mips.
16450 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16451 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16452 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16453 modules.
16454 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16455 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16456 * grub-core/term/serial.c (grub_serial_register)
16457 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16458
a07a81b3
VS
164592011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16460
16461 CMOS support on sparc.
16462
16463 * gentpl.py (cmos): Add powerpc and sparc.
16464 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16465 powerpc and sparc.
16466 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16467 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16468 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16469 grub_set_datetime_cmos.
16470 * grub-core/lib/ieee1275/cmos.c: New file.
16471 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16472 (find_rtc): Set no_ieee1275_rtc on error.
16473 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16474 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16475 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16476 fail. Move value to argument. All users updated
16477 (grub_cmos_write): Likewise.
16478 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16479 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16480 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16481 grub_get_datetime_cmos and grub_set_datetime_cmos.
16482
77546584
GS
164832011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16484
16485 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16486 sourcing grub-mkconfig_lib.
16487 * util/update-grub_lib.in: Likewise.
16488 * util/grub.d/00_header.in: Likewise.
16489 * util/grub.d/10_hurd.in: Likewise.
16490 * util/grub.d/10_kfreebsd.in: Likewise.
16491 * util/grub.d/10_linux.in: Likewise.
16492 * util/grub.d/10_netbsd.in: Likewise.
16493 * util/grub.d/10_windows.in: Likewise.
16494 * util/grub.d/20_linux_xen.in: Likewise.
16495 * util/grub.d/30_os-prober.in: Likewise.
16496
54894791
CW
164972011-06-28 Colin Watson <cjwatson@ubuntu.com>
16498
16499 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16500 default_bg_color rather than black.
16501 (grub_gfxterm_fullscreen): Likewise.
16502 (grub_gfxterm_background_color_cmd): Save new background color in
16503 default_bg_color.
16504
8d5d8444
VS
165052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16506
16507 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16508
5afeb5bd
VS
165092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16510
16511 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16512 mismerge.
16513
ba7df45e
VS
165142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16515
16516 Chainloading on coreboot support.
16517
16518 * grub-core/Makefile.core.def (chain): Add coreboot.
16519 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16520
d0b526b2
VS
165212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16522
16523 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16524 if it happens.
16525
5ff1d945
VS
165262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16527
16528 Implement time command.
16529
16530 * grub-core/Makefile.core.def (time): New module.
16531 * grub-core/commands/time.c: New file.
16532 * grub-core/script/parser.y: Remove "time" keyword.
16533 * grub-core/script/yylex.l: Likewise.
16534
5ebaad7e
VS
165352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16536
16537 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16538
bdea3798
VS
165392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16542 when handling leftovers.
16543
b28c5655
VS
165442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16545
16546 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16547 so that help2man doesn't fail.
16548
b6f945dc
VS
165492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16550
16551 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16552 type in pointers on sparc64.
16553 (get_card_packet): Likewise.
16554
f9b75e8a
CW
165552011-06-27 Colin Watson <cjwatson@ubuntu.com>
16556
16557 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16558 with `*'.
16559 (grub_cmd_videoinfo): Fetch current video mode.
16560
1e3d9b86
VS
165612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16564 because of underlying system restrictions.
16565
efff4b1c
VS
165662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16567
16568 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16569 necessary.
16570
9fc9ce37
VS
165712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16572
16573 Coreboot video support.
16574
16575 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16576 (vbe): Likewise.
16577 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16578 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16579 here ...
16580 * grub-core/kern/i386/int.S: ... here.
16581 * grub-core/video/i386/pc/vbe.c: Updated includes.
16582 * grub-core/video/i386/pc/vga.c: Likewise.
16583 * include/grub/i386/coreboot/memory.h
16584 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16585 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16586 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16587 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16588 Disable interrupts.
16589 * include/grub/i386/pc/vga.h: Removed. All users updated.
16590
41bec7fe
VS
165912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16592
16593 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16594 definitions for dprintf.
16595 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16596
ca80309d
VS
165972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16600 prototype.
16601 (get_card_packet): Likewise.
16602
9e322ce8
YB
166032011-06-26 Yves Blusseau <blusseau@zetam.org>
16604
16605 Display the path of the file when file is not found
16606
16607 * grub-core/fs/fat.c: Display the filename when file is not found.
16608 * grub-core/fs/fshelp.c: Likewise.
16609 * grub-core/fs/hfs.c: Likewise.
16610 * grub-core/fs/jfs.c: Likewise.
16611 * grub-core/fs/minix.c: Likewise.
16612 * grub-core/fs/ufs.c: Likewise.
16613 * grub-core/fs/btrfs.c: Likewise.
16614 * grub-core/commands/i386/pc/play.c: Likewise.
16615
cbf597af
SJ
166162011-06-26 Szymon Janc <szymon@janc.net.pl>
16617
16618 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16619 pointer checks before calling grub_free().
16620 * grub-core/commands/wildcard.c (match_devices): Likewise.
16621 * grub-core/commands/wildcard.c (match_files): Likewise.
16622 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16623 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16624 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16625 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16626 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16627 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16628 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16629 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16630 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16631
6295b32f
P
166322011-06-25 Patrick <p55@mailinator.com>
16633
16634 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16635
77c0840b
VS
166362011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16637
16638 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16639 (grub_pxe_send): Likewise.
16640 (GRUB_MOD_INIT): Fix types.
16641
40ea05de
SJ
166422011-06-24 Szymon Janc <szymon@janc.net.pl>
16643
16644 * grub-core/io/xzio.c: Fix code style issues
16645
90162423
MRA
166462011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
166472011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16648
16649 Network infrastructure.
16650 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16651
16652 * include/grub/net/arp.h: New file.
90162423
MRA
16653 * include/grub/net/device.h: Likewise.
16654 * include/grub/net/ethernet.h: Likewise.
16655 * include/grub/net/ip.h: Likewise.
16656 * include/grub/net/netbuff.h: Likewise.
16657 * include/grub/net/tftp.h: Likewise.
16658 * include/grub/net/udp.h: Likewise.
16659 * include/grub/ieee1275/ofnet.h: Likewise.
16660 * include/grub/emu/export.h: Likewise.
16661 * include/grub/net.h: Likewise.
16662 * grub-core/net/arp.c: Likewise.
16663 * grub-core/net/ethernet.c: Likewise.
16664 * grub-core/net/ip.c: Likewise.
16665 * grub-core/net/udp.c: Likewise.
16666 * grub-core/net/tftp.c: Likewise.
16667 * grub-core/net/netbuff.c: Likewise.
16668 * grub-core/net/net.c: Likewise.
16669 * grub-core/net/drivers/emu/emunet.c: Likewise.
16670 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16671 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16672 export.h.
16673 * grub-core/Makefile.core.def (net): New module.
16674 (tftp): Likewise.
16675 (ofnet): Likewise.
16676 (emunet): Likewise.
16677 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16678 network protocols.
16679 * grub-core/kern/device.c (grub_net_open) : New variable.
16680 (grub_device_open): Handle network device.
16681 (grub_device_close): Likewise.
16682 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16683 (grub_grubnet_fini): Likewise.
16684 (grub_file_seek): Seek in network device.
16685 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16686 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16687 network root.
16688 (grub_machine_fini): Call grub_grubnet_fini.
16689 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16690 network.
16691 (grub_ieee1275_get_aliasdevname): New function.
16692 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16693 Add unofficial Solaris network info.
16694 (grub_multiboot_make_mbi): Likewise.
16695 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16696 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16697 * include/grub/device.h (grub_fs): Removed.
16698 * include/grub/err.h (grub_err_t): Add network-related values.
16699 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16700 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16701 (grub_ieee1275_get_aliasdevname): New proto.
16702 * include/grub/net.h: Rewritten.
423a1849 16703
031f22a0
VS
167042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16707 names.
16708
4388ca72
VS
167092011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16712 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16713 it truncates the output.
16714 Reported by: Ximin Luo.
16715
98e2f506
VS
167162011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16717
16718 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16719
2a5e94d8
VS
167202011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16721
16722 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16723 partmap before abstraction.
16724
535c1910
AK
167252011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16726
16727 * util/grub-mkconfig_lib.in: Add missing quotes.
16728
bc09e1a2
VS
167292011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16730
16731 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16732 old method if mountinfo would return /dev/root and /dev/root doesn't
16733 exist.
16734
290766fb
VS
167352011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16736
16737 ZFS zlib support
16738
16739 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16740 (decomp_table): Add zlib entries.
16741 (zio_read): USe 8 bits for compression function rather than 3.
16742 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16743
167442011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 * grub-core/disk/ahci.c: Add missing license statements.
16747 * grub-core/fs/romfs.c: Likewise.
16748 * grub-core/lib/ia64/setjmp.S: Likewise.
16749 * grub-core/loader/i386/pc/freedos.c: Likewise.
16750 * grub-core/loader/ia64/efi/linux.c: Likewise.
16751 * grub-core/video/colors.c: Likewise.
16752 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16753
5ab3f48a
VS
167542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 AHCI support.
16757
16758 * grub-core/Makefile.core.def (ata_pthru): Removed.
16759 (ahci): New module.
16760 (pata): Likewise.
16761 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16762 on unload.
16763 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16764 readwrite.
16765 (grub_hdparm_do_check_powermode_cmd): Likewise.
16766 (grub_hdparm_do_smart_cmd): Likewise.
16767 (grub_hdparm_set_val_cmd): Likewise.
16768 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16769 * grub-core/disk/ahci.c: New file.
16770 * grub-core/disk/ata.c: Factor out the low-level part into ...
16771 * grub-core/disk/pata.c: ... here.
16772 * grub-core/disk/ata_pthru.c: Contents moved to ...
16773 * grub-core/disk/pata.c: ... here.
16774 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16775 (grub_scsi_iterate): Use grub_scsi_names.
16776 (grub_scsi_open): Likewise.
16777 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16778 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16779 (grub_ata_regs_t): New struct.
16780 (grub_disk_ata_pass_through_parms): Likewise.
16781 (grub_ata_device): Renamed to ...
16782 (grub_ata): ... this.
16783 (grub_ata_dev): New struct.
16784 Removed all low-level inline functions.
16785 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16786 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16787 iterate hooks and open. All users updated.
16788 * util/grub-install.in: Handle AHCI disk module.
16789
c31dc5f5
SJ
167902011-06-23 Szymon Janc <szymon@janc.net.pl>
16791
16792 Add support for DRI and RSTn markers in JPEG files.
16793
16794 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16795 (JPEG_MARKER_RST0): Likewise.
16796 (JPEG_MARKER_RST1): Likewise.
16797 (JPEG_MARKER_RST2): Likewise.
16798 (JPEG_MARKER_RST3): Likewise.
16799 (JPEG_MARKER_RST4): Likewise.
16800 (JPEG_MARKER_RST5): Likewise.
16801 (JPEG_MARKER_RST6): Likewise.
16802 (JPEG_MARKER_RST7): Likewise.
16803 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16804 (grub_jpeg_decode_dri): New function.
16805 (grub_jpeg_decode_sos): Move image data related part into
16806 grub_jpeg_decode_data function.
16807 (grub_jpeg_decode_data): New function.
16808 (grub_jpeg_reset): New function.
16809 (grub_jpeg_decode_jpeg): Handle new markers.
16810
fe12fd5b
VS
168112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16812
16813 * util/ieee1275/ofpath.c (check_sas): Close fd.
16814 (main): Free of_path.
16815 Reported by: David Volgyes <dvolgyes>.
16816
03147f46
VS
168172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16818
16819 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16820 Reported by: David Volgyes <dvolgyes>.
16821
cad3237f
VS
168222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16823
16824 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16825 file after stat.
16826 Reported by: David Volgyes <dvolgyes>.
16827
13548d26
VS
168282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16829
16830 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16831
16832 Reported by: David Volgyes <dvolgyes>.
16833
e061a1b5
VS
168342011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16835
16836 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16837 Prevent memory leak.
16838
1abe47dc
VS
168392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16842 (main): Close file.
e061a1b5 16843 Reported by: David Volgyes <dvolgyes>.
1abe47dc 16844
fbc62666
VS
168452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16846
16847 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16848 to continue if allocation is failed.
16849
16850 Reported by: David Volgyes <dvolgyes>.
16851
e98c83e9
DV
168522011-06-23 David Volgyes <dvolgyes>
16853
16854 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16855 dereference.
16856
a199a8cd
VS
168572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16858
16859 Fix spurious warning.
16860
16861 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16862 (acorn_partition_map_find): Use .bin member.
16863
e2d1dba0
VS
168642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16865
16866 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16867 /dev/root as a valid device.
16868
8a5d6919
JM
168692011-06-23 Jim Meyering <meyering@redhat.com>
16870
e2d1dba0
VS
16871 Avoid NULL deref in grub_device_open.
16872
8a5d6919
JM
16873 * grub-core/kern/device.c (grub_device_open): Don't dereference
16874 a NULL pointer upon failed grub_env_get.
16875
f7db6f4a
VS
168762011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 Support non-512B sectors and agglomerate reads.
16879
16880 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16881 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16882 (disk_io_guid): Removed.
16883 (make_devices): Locate solely by BlockIO.
16884 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16885 (grub_efidisk_read): Use read_blocks.
16886 (grub_efidisk_write): Use write_blocks.
16887 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16888 log_sector_size.
16889 (get_safe_sectors): Handle non-512B sectors.
16890 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16891 sectors.
16892 (grub_biosdisk_write): Handle non-512B sectors.
16893 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16894 (grub_scsi_read): Remove special non-512B block handling (now handled
16895 one level up).
16896 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16897 and do sanity checks.
16898 (grub_disk_adjust_range): Handle non-512B sectors.
16899 (transform_sector): New function.
16900 (grub_disk_read_small): Likewise.
16901 (grub_disk_read): Rewritten.
16902 (grub_disk_write): Handle non-512B sectors.
16903 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16904 log_sector_size.
16905 (open_device): Use log_sector_size.
16906 (grub_util_biosdisk_read): Likewise.
16907 (grub_util_biosdisk_write): Likewise.
16908 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16909 non-512B sectors.
16910 (pc_partition_map_embed): Likewise.
16911 * include/grub/disk.h (grub_disk): New field log_sector_size.
16912 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16913 (GRUB_DISK_CACHE_BITS): Increased to 6.
16914 * util/grub-fstest.c (fstest): New command testload.
16915 (argp_parser): Likewise.
16916
881ac815
RM
169172011-06-16 Robert Millan <rmh@gnu.org>
16918
16919 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
16920 `ata' driver on kernel of FreeBSD 9.
16921
16922 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
16923 (get_ataraid_disk_name): New functions.
16924 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
16925 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
16926 get_ataraid_disk_name() and get_ada_disk_name().
16927
1e9aef7d
CW
169282011-06-13 Colin Watson <cjwatson@ubuntu.com>
16929
16930 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
16931 input format.
16932
351c7c8a
CW
169332011-05-29 Colin Watson <cjwatson@ubuntu.com>
16934
16935 * docs/grub.texi (Obtaining and Building GRUB): Substitute
16936 `ftp.gnu.org' for `alpha.gnu.org'.
16937
6b4e6430
CW
169382011-05-27 Colin Watson <cjwatson@ubuntu.com>
16939
16940 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
16941 partitions under /dev/disk/by-id/.
16942
c64db050
CW
169432011-05-27 Colin Watson <cjwatson@ubuntu.com>
16944
16945 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
16946 after ten consecutive open failures. Scanning all the way up to
16947 10000 is excessive and can cause serious performance problems in
16948 some configurations.
16949 Fixes Ubuntu bug #787461.
16950
245f4aba
VS
169512011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16952
16953 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
16954 opening new one.
16955
f767c929
VS
169562011-05-21 Colin Watson <cjwatson@ubuntu.com>
169572011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16958
16959 Don't stat devices unless we have to.
16960
16961 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
16962 dir == /dev/mapper.
16963 (grub_guess_root_device): Use already known os_dev if possible.
16964 * grub-core/kern/emu/hostdisk.c
16965 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
16966 if device is known to be a dm one.
16967
f35fa3a6
CW
169682011-05-20 Colin Watson <cjwatson@ubuntu.com>
16969
16970 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
16971 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
16972 Reported by: Pawel Tecza.
16973
9a79fcf2
VS
169742011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16975
16976 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
16977 (lsefisystab): Likewise.
16978 (lssal): Likewise.
16979 (lsefimmap): Likewise.
16980 (hdparm): Enable on qemu-mips.
16981 (setjmp): Add ia64 nodist.
16982 (serial): Simplify tags.
16983
63e3eea9
CW
169842011-05-18 Colin Watson <cjwatson@ubuntu.com>
16985
16986 * Makefile.util.def (grub-ofpathname): Install manual page.
16987
09728256
CW
169882011-05-18 Colin Watson <cjwatson@ubuntu.com>
16989
16990 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
16991
8b63a142
CW
169922011-05-18 Colin Watson <cjwatson@ubuntu.com>
16993
16994 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
16995
e775d8ed
VS
169962011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16997
16998 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
16999 into dprintf.
17000
bf947d36
VS
170012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17002
17003 Use full 64-bit division.
17004
17005 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17006 (grub_divmod64): ... this.
17007 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17008 version.
17009
b84f26c5
CW
170102011-05-18 Colin Watson <cjwatson@ubuntu.com>
17011
17012 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17013 `source'.
17014
5626056f
CW
170152011-05-18 Colin Watson <cjwatson@ubuntu.com>
17016
17017 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17018 to avoid accidents when debugging with 'sh -x'.
17019 * grub-core/gensyminfo.sh.in: Likewise.
17020 * tests/example_scripted_test.in: Likewise.
17021 * tests/grub_cmd_regexp.in: Likewise.
17022 * tests/grub_script_blanklines.in: Likewise.
17023 * tests/grub_script_dollar.in: Likewise.
17024 * tests/grub_script_expansion.in: Likewise.
17025 * tests/grub_script_final_semicolon.in: Likewise.
17026 * tests/partmap_test.in: Likewise.
17027 * tests/util/grub-shell-tester.in: Likewise.
17028 * tests/util/grub-shell.in: Likewise.
17029
e2965f4a
CW
170302011-05-18 Colin Watson <cjwatson@ubuntu.com>
17031
17032 Move gfxmenu color handling to video, so that gfxterm can use it
17033 too.
17034
17035 * grub-core/gfxmenu/named_colors.c: Move to ...
17036 * grub-core/video/colors.c: ... here. Rename
17037 grub_gui_get_named_color to grub_video_get_named_color.
17038 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17039 * grub-core/video/colors.c (my_isxdigit): ... here.
17040 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17041 Move to ...
17042 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17043 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17044 to ...
17045 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17046
17047 * include/grub/gui.h (grub_gui_color_t): Move to ...
17048 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17049 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17050 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17051 * include/grub/gui.h (grub_gui_map_color): Move to ...
17052 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17053 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17054 to ...
17055 * include/grub/video.h (grub_video_get_named_color): ... here.
17056 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17057 * include/grub/video.h (grub_video_parse_color): ... here.
17058
17059 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17060 video/colors.c.
17061 (gfxmenu): Remove gfxmenu/named_colors.c.
17062 (video) [videomodules]: Add video/colors.c.
17063
17064 Add a background_color command.
17065
17066 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17067 function.
17068 (GRUB_MOD_INIT): Register background_color command.
17069 (GRUB_MOD_FINI): Unregister background_color command.
17070 (redraw_screen_rect): Allow blend/replace of text layer to be
17071 controlled independently from whether there is a background bitmap.
17072 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17073 changing bitmap.
17074
1e4b4390
VS
170752011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17076
26618ff0
VS
17077 Patch BPB in ntldr and chainloader --bpb.
17078
1e4b4390
VS
17079 * grub-core/fs/fat.c: Include grub/fat.h.
17080 (grub_fat_bpb): Moved to ...
17081 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17082 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17083 grub/ntfs.h.
17084 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17085 Moved from here...
17086 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17087 here.
17088 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17089 New function.
17090 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17091 (GRUB_MOD_INIT): Show --bpb.
17092 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17093 * grub-core/normal/main.c (features): New variable.
17094 (GRUB_MOD_INIT): Set feature_* variables.
17095 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17096 proto.
17097 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17098
cf02731e
VS
170992011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17100
17101 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17102 for cleanness.
17103
e3a1073f
VS
171042011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17105
17106 FreeDOS direct loading support.
17107
17108 * docs/grub.texi (Supported OS): Add FreeDOS.
17109 * grub-core/Makefile.core.def (freedos): New module.
17110 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17111 variable.
17112 (grub_relocator16_boot): Handle %ebx.
17113 * grub-core/lib/i386/relocator16.S: Likewise.
17114 * grub-core/loader/i386/pc/freedos.c: New file.
17115
05caa461
VS
171162011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17117
17118 Long Linux command line support.
17119
17120 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17121 (maximal_cmdline_size): New variable.
17122 (allocate_pages): Use maximal_cmdline_size.
17123 (grub_cmd_linux): Set and use maximal_cmdline_size.
17124 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17125 (allocate_pages): Use maximal_cmdline_size.
17126 (grub_cmd_linux): Set and use maximal_cmdline_size.
17127 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17128 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17129 and cmdline_size.
17130
a2491e23
VS
171312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
171322011-05-18 Colin Watson <cjwatson@ubuntu.com>
17133
17134 Improve devmapper support
17135
17136 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17137 (grub_util_is_lvm): New function.
17138 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17139 than lvm if not dmraid.
17140 Handle mapped md nodes.
17141 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17142 (grub_util_device_is_mapped): ... this. Make always available. All users
17143 updated.
17144 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17145 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17146 dmraid nodes.
17147 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17148
6ad6223e
VS
171492011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17150
17151 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17152
17153 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17154 * grub-core/modinfo.sh.in: New file.
17155 * grub-core/Makefile.core.def (modinfo.sh): New script.
17156 * util/grub-mknetdir.in: Use modinfo.sh.
17157 * util/grub-mkrescue.in: Likewise.
17158
543a8f6e
VS
171592011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17160
17161 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17162 Fix potential usage of Elf32 instead of Elf64 when compiling on
17163 32-bit architecture. Add endianness macros while on it.
17164
4959e111
VS
171652011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 Use mipsel- rather than mips- in directories involving mipsel ports to
17168 allow both endiannesses coexist.
17169
17170 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17171 mips. All conditions adjusted.
17172 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17173 variable.
17174 * util/grub-install.in: Adjust conditions to take renaming into account.
17175 * util/grub-mkimage.c (image_targets): Likewise. New target
17176 mips-qemu_mips-elf for bigendian mips.
17177
35341bbc
VS
171782011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 Avoid unnecessary copying on MIPS.
17181
17182 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17183 early if src == dest.
17184 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17185 compression is none.
17186
b772baed
VS
171872011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 Reduce memory footprint on SGI by putting modules before the kernel
17190 as opposed to after.
17191
17192 * grub-core/Makefile.core.def (kernel): Increase linking address.
17193 (none_decompress): Likewise.
17194 (xz_decompress): Likewise.
17195 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17196 address.
17197 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17198 layout change.
17199 (grub_arch_modules_addr): New function.
17200 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17201 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17202 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17203 here.
17204 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17205 (grub_total_modules_size): ... this. Make global.
17206 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17207 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17208 New definition.
17209 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17210 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17211 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17212 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17213 * util/grub-mkimage.c (image_target_desc): New flag
17214 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17215 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17216 (generate_image): Handle images with modules before kernel.
17217
566a1917
VS
172182011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17219
17220 Prevent potential loss of memory map by overwrite on qemu-mips.
17221
17222 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17223 Save ram size in $s4.
17224 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17225 All users changed to grub_arch_memsize.
17226 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17227 Loongson.
17228 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17229 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17230 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17231 external variable.
17232
5d420cd9
CW
172332011-05-17 Colin Watson <cjwatson@ubuntu.com>
17234
17235 * .bzrignore: Remove grub-dumpbios.
17236
d064b830
CW
172372011-05-17 Colin Watson <cjwatson@ubuntu.com>
17238
17239 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17240 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17241 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17242 existing options which append).
17243 * docs/grub.texi (Simple configuration): Document new options.
17244 Reported by: Ian Jackson. Fixes Debian bug #617538.
17245
3ca2b466
CW
172462011-05-17 Colin Watson <cjwatson@ubuntu.com>
17247
17248 * util/grub-fstest.c (cmd_cat): New function.
17249 (fstest): Handle CMD_CAT.
17250 (options): Add cat.
17251 (argp_parser): Handle cat.
17252
24c9143a
CW
172532011-05-17 Colin Watson <cjwatson@ubuntu.com>
17254
17255 * Makefile.util.def (grub-bin2h): Don't install.
17256 * docs/man/grub-bin2h.h2m: Remove.
17257
90f7ac19
VS
172582011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17259
17260 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17261 place.
17262
8d4a5178
VS
172632011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17264
17265 Reenable qemu-mips port.
17266
17267 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17268 Fix small arc bug while on it.
17269 * gentpl.py: Handle qemu_mips.
17270 * grub-core/Makefile.am: Likewise.
17271 * grub-core/Makefile.core.def: Likewise.
17272 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17273 inappropriate includes.
17274 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17275 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17276 * grub-core/kern/main.c (grub_modules_get_end)
17277 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17278 * grub-core/kern/mips/qemu-mips: Moved to ..
17279 * grub-core/kern/mips/qemu_mips: ... this.
17280 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17281 (grub_machine_init): Call terminfo_init and serial_init.
17282 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17283 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17284 New variable.
17285 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17286 parameter passing.
17287 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17288 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17289 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17290 * include/grub/mips/qemu_mips/cmos.h: New file.
17291 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17292 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17293 Removed.
17294 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17295 Use correct mips-style address.
17296 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17297 (GRUB_TICKS_PER_SECOND): Removed.
17298 (grub_get_rtc): Likewise.
17299 (grub_cpu_idle): Likewise.
17300 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17301 New definition.
17302 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17303 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17304 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17305 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17306 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17307 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17308 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17309 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17310
400b9371
VS
173112011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17312
17313 SGI ARCS port.
17314
17315 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17316 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17317 platforms.
17318 * configure.ac: New target mips-arc.
17319 * gentpl.py: Likewise.
17320 * grub-core/Makefile.am: Likewise.
17321 * grub-core/Makefile.core.def: Likewise.
17322 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17323 (none_decompress): Likewise.
17324 (lsdev): New module.
17325 (datetime): Use lib/arc/datetime.c on ARC.
17326 (part_dvh): New module.
17327 * grub-core/commands/arc/lsdev.c: New file.
17328 * grub-core/disk/arc/arcdisk.c: Likewise.
17329 * grub-core/kern/mips/arc/init.c: Likewise.
17330 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17331 aligned addresses.
17332 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17333 support.
17334 (grub_arch_dl_relocate_symbols): Likewise.
17335 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17336 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17337 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17338 platforms.
17339 * grub-core/lib/arc/datetime.c: New file.
17340 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17341 pci.h on non-loongson.
17342 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17343 (grub_linux_boot): Set unused registers to 0.
17344 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17345 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17346 * grub-core/mmap/mips/uppermem.c: ...here.
17347 * grub-core/partmap/dvh.c: New file.
17348 * grub-core/term/arc/console.c: Likewise.
17349 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17350 (grub_terminfo_set_current): Add terminal "arc".
17351 (grub_terminfo_readkey): Support ARC sequences.
17352 * include/grub/arc/arc.h: New file.
17353 * include/grub/arc/console.h: Likewise.
17354 * include/grub/disk.h (grub_disk_dev_id): Add
17355 GRUB_DISK_DEVICE_ARCDISK_ID.
17356 * include/grub/mips/arc/kernel.h: New file.
17357 * include/grub/mips/arc/memory.h: Likewise.
17358 * include/grub/mips/arc/time.h: Likewise.
17359 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17360 * include/grub/mips/kernel.h (grub_halt): ... here.
17361 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17362 here...
17363 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17364 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17365 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17366 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17367 proto.
17368 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17369 from here ...
17370 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17371 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17372 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17373 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17374 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17375 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17376 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17377 (grub_phys_addr_t): Moved from here ...
17378 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17379 (grub_vtop): Moved from here ...
17380 * include/grub/mips/memory.h (grub_vtop): ... here.
17381 (grub_map_memory): Moved from here ...
17382 * include/grub/mips/memory.h (grub_map_memory): ... here.
17383 (grub_unmap_memory): Moved from here ...
17384 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17385 (grub_machine_mmap_iterate): Moved from here ...
17386 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17387 (grub_mmap_get_lower): Moved from here ...
17388 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17389 (grub_mmap_get_upper): Moved from here ...
17390 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17391 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17392 here ...
17393 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17394 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17395 here ...
17396 * include/grub/mips/time.h (grub_get_rtc): ... here.
17397 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17398 here ...
17399 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17400 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17401 here ...
17402 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17403 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17404 definition.
17405 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17406 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17407 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17408 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17409 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17410 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17411 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17412 (GRUB_MACHINE_LINK_ADDR): Likewise.
17413 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17414 to 6.
17415 * util/grub-install.in: Run dvhtool on ARC.
17416 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17417 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17418
c8ecc840
VS
174192011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17420
17421 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17422 blocks.
17423
153a4b55
VS
174242011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17427 after enabling port.
17428
ff44d107
VS
174292011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17430
17431 Skip incorrect USB devices.
17432
17433 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17434 configcnt == 0.
17435 * include/grub/usb.h (grub_usb_err_t): New enum value
17436 GRUB_USB_ERR_BADDEVICE.
17437
638dbe4f
VS
174382011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17439
17440 Fuloong video init support.
17441
17442 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17443 well.
17444 (grub_vga_read_arx): New function.
17445 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17446 definition.
17447 (framebuffer): New members io, mmioptr and mmiobase.
17448 (read_sis_cmd): New function.
17449 (write_sis_cmd): Likewise.
17450 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17451 rather than 640x400.
17452 * grub-core/video/sis315_init.c: New file.
17453
c3fc520c
VS
174542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17455
17456 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17457 non-loongson.
17458 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17459 to grub_dl_register_symbol.
17460
67b1e5c9
VS
174612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17462
17463 Fix compilation errors.
17464
17465 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17466 potentially unused.
17467 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17468 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17469 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17470 to loongson machines.
17471
b756f75f
VS
174722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17473
17474 Several FS mtime support.
17475
17476 * grub-core/fs/affs.c (grub_affs_time): New struct.
17477 (grub_affs_file): New field mtime.
17478 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17479 type. Removed 'size'. New field 'di'. All users updated.
17480 (grub_affs_mount): Simplify checsum checking.
17481 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17482 (grub_affs_dir): Handle mtime.
17483 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17484 (grub_cpio_dir): Likewise.
17485 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17486 (grub_hfs_filerec): New field mtime.
17487 (grub_hfs_dir): Handle mtime.
17488 (grub_hfs_mtime): New function.
17489 (grub_hfs_fs): Register grub_hfs_mtime.
17490 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17491 (grub_iso9660_dir): New field mtime.
17492 (grub_fshelp_node): New field dirent.
17493 (iso9660_to_unixtime): New function.
17494 (iso9660_to_unixtime2): Likewise.
17495 (grub_iso9660_read_symlink): Use node->dirent.
17496 (grub_iso9660_iterate_dir): Likewise.
17497 (grub_iso9660_dir): Set mtime.
17498 (grub_iso9660_mtime): New function.
17499 (grub_iso9660_fs): Register grub_iso9660_mtime.
17500 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17501 (grub_jfs_inode): New fields atime, ctime and mtime.
17502 (grub_jfs_dir): Set mtime.
17503 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17504 * grub-core/fs/ntfs.c (list_file): Set mtime.
17505 (grub_ntfs_dir): Likewise.
17506 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17507 (grub_reiserfs_iterate_dir): Set mtime.
17508 (grub_reiserfs_dir): Likewise.
17509 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17510 (grub_fshelp_node): Likewise.
17511 (grub_sfs_iterate_dir): Set mtime.
17512 (grub_sfs_dir): Likewise.
17513 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17514 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17515 (grub_xfs_inode): New fields atime, mtime, ctime.
17516 (grub_xfs_dir): Set mtime.
17517 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17518 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17519 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17520
17521 Support UDF symlinks.
17522
17523 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17524 (grub_ufs_read_symlink): New function. All users updated.
17525
17526 Check amiga partmap checksum.
17527
17528 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17529 (grub_amiga_partition): Likewise.
17530 (amiga_partition_map_checksum): New function.
17531 (amiga_partition_map_iterate): Check checksum.
17532
5470225d
VS
175332011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17534
17535 ROMFS support.
17536
17537 * Makefile.util.def (libgrubmods.a): Add romfs.
17538 * grub-core/Makefile.core.def (romfs): New module.
17539 * grub-core/fs/romfs.c: New file.
17540
d4680a35
VS
175412011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17542
17543 Squashfs v4 support.
17544
17545 * Makefile.util.def (libgrubmods.a): Add squash4.
17546 * grub-core/Makefile.core.def (squash4): New module.
17547 * grub-core/fs/squash4.c: New file.
17548 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17549 disk_input_start, disk_input.
17550 (get_byte): Handle disk_input.
17551 (grub_zlib_disk_read): New function.
17552 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17553
bcb18e74
FZ
175542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
175552011-05-15 Feiran Zheng <famcool@gmail.com>
17556
17557 * Makefile.util.def (libgrubmods.a): Add minix3.
17558 * grub-core/Makefile.core.def (minix3): New module.
17559 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17560 (GRUB_MINIX_BSIZE): Removed.
17561 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17562 (grub_minix_ino_t): New type.
17563 (grub_minix_le_to_cpu_ino): New macro.
17564 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17565 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17566 (grub_minix_data): New field block_size.
17567 (grub_minix_read_file): Handle 64-bit correctly.
17568 * grub-core/fs/minix3.c: New file.
17569
32297d5f
TG
175702011-05-15 Tristan Gingold <gingold@free.fr>
175712011-05-15 Robert Millan <rmh.grub@aybabtu.com>
175722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 IA64 support.
17575
17576 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17577 * configure.ac: Add ia64-efi target.
17578 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17579 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17580 * gentpl.py: Add ia64_efi platform.
17581 Rename x86_efi to efi and Add ia64-efi. All users updated.
17582 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17583 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17584 Remove kern/generic/rtc_get_time_ms.c on EFI.
17585 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17586 kern/ia64/dl_helper.c on ia64-efi.
17587 Add kern/emu/cache.c on emu.
17588 (linux): Use on loader/ia64/efi/linux.c on ia64.
17589 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17590 whether symbol is a function.
17591 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17592 (grub_symbol): New field 'isfunc'.
17593 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17594 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17595 (grub_dl_load_segments): Place all sections into the same region.
17596 [__ia64__]: Create trampolines and got.
17597 [GRUB_MACHINE_EMU]: Call mprotect.
17598 (grub_dl_resolve_symbols): Resolve symbol type as well.
17599 [__ia64__]: Create function descriptors.
17600 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17601 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17602 (grub_get_rtc): New function.
17603 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17604 * grub-core/kern/emu/cache.S: Renamed to ...
17605 * grub-core/kern/emu/cache_s.S: ... this.
17606 [__ia64__]: Add a nop.
17607 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17608 [__ia64__]: New function.
17609 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17610 * grub-core/kern/ia64/dl.c: New file.
17611 * grub-core/kern/ia64/dl_helper.c: Likewise.
17612 * grub-core/kern/ia64/efi/init.c: New file.
17613 * grub-core/kern/ia64/efi/startup.S: Likewise.
17614 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17615 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17616 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17617 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17618 * grub-core/loader/ia64/efi/linux.c: New file.
17619 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17620 (GRUB_MOD_DEP): Likewise.
17621 (grub_dl) [__ia64__]: New fields got and tramp.
17622 (grub_dl): New field 'base'.
17623 (grub_dl_register_symbol): New argument isfunc. All users updated.
17624 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17625 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17626 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17627 (grub_ia64_dl_get_tramp_got_size): New proto.
17628 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17629 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17630 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17631 * include/grub/efi/api.h: Skip call wrappers on ia64.
17632 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17633 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17634 * include/grub/elf.h (ELF_ST_INFO): New definition.
17635 * include/grub/ia64/efi/kernel.h: New file.
17636 * include/grub/ia64/efi/memory.h: Likewise.
17637 * include/grub/ia64/efi/time.h: Likewise.
17638 * include/grub/ia64/kernel.h: Likewise.
17639 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17640 * include/grub/ia64/time.h: New file.
17641 * include/grub/ia64/types.h: Likewise.
17642 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17643 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17644 New protos.
17645 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17646 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17647 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17648 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17649 All users updated.
17650 (EFI64_HEADER_SIZE): New definition. All users updated.
17651 (image_targets): Add ia64-efi.
17652 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17653 jumpers_addr. All users updated.
17654 Create function descriptors.
17655 (count_funcs): New function.
17656 (unaligned_uint32): New struct.
17657 (MASK20): New definition.
17658 (MASK19): Likewise.
17659 (MASKF21): Likewise.
17660 (add_value_to_slot_20b): New function.
17661 (add_value_to_slot_21_real): Likewise.
17662 (add_value_to_slot_21): Likewise.
17663 (ia64_kernel_trampoline): New struct.
17664 (nopm): New variable.
17665 (jump): Likewise.
17666 (make_trampoline): New function.
17667 (relocate_addresses): Handle ia64.
17668 (make_reloc_section): Likewise.
17669 (load_image): Likewise.
17670
983b414d
VS
176712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17672
17673 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17674 warning. Move variables before code while on it.
17675
5d063cdc
VS
176762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17677
17678 Fuloong support.
17679
17680 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17681 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17682 * grub-core/boot/mips/loongson/fuloong.S: New file.
17683 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17684 Explicitly init CS5536.
17685 [FULOONG]: Don't use serial until CS5536 is available.
17686 Set GPIO based on dumps.
17687 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17688 [FULOONG]: Handle GPIO and memory controller differences.
17689 Parse machine type in $a2.
17690 * grub-core/boot/mips/startup_raw.S: Determine and save the
17691 architecture.
17692 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17693 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17694 init on architecture type.
17695 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17696 SIS315E. Don't init at_keyboard on fuloong.
17697 (grub_halt): Support Fuloong.
17698 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17699 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17700 (loongson_machtypes): New array.
17701 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17702 type.
17703 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17704 config. All users updated. Handle CS5536 serial.
17705 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17706 default port on machine type. Register serial as inactive.
17707 * grub-core/video/sis315pro.c: New file.
17708 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17709 definition.
17710 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17711 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17712 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17713 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17714 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17715 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17716 to ...
17717 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17718 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17719 definition.
17720 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17721 (grub_arch_machine): New extern var.
17722 * include/grub/mips/loongson/serial.h
17723 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17724 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17725 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17726 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17727 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17728 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17729 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17730 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17731 * include/grub/term.h (grub_term_register_input_inactive): New inline
17732 function.
17733 (grub_term_register_output_inactive): Likewise.
17734 * include/grub/video.h (grub_video_driver_id): New value
17735 GRUB_VIDEO_DRIVER_SIS315PRO.
17736 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17737 New field "names". All users updated.
17738 New field value IMAGE_FULOONG_FLASH.
17739 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17740
6ada82d1
JU
177412011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17742
17743 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17744 and add some clarification.
17745
90c571a4
VS
177462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17747
17748 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17749 platforms if kernel is compressed.
17750
de04eecf
VS
177512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17754 unused modules since currently referrence counter isn't reliable and
17755 there isn't much memory to recover there anyway.
17756
57688121
VS
177572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17758
17759 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17760 rather than resetting it to allow modules to reference themselves
17761 in init.
17762
3d2c7e35
VS
177632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17764
17765 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17766 counter on dependencies since grub_dl_unref already handles this.
17767
b25db218
VS
177682011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17769
17770 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17771 on error if not already done.
17772
25a45338
VS
177732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17774
17775 Fix few potential memory misusage.
17776
17777 * grub-core/font/font.c (load_font_index): Don't free char_index to
17778 avoid double free.
b25db218
VS
17779 (grub_font_load): Zero-fill font at alloc for safety.
17780 Close file on error.
17781 (free_font): Free bmp_idx.
25a45338 17782
0cac83df
VS
177832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17784
17785 * docs/grub.texi (Installation): Fix several outdated claims.
17786
2217a143
VS
177872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17788
17789 Handle module_license on windows.
17790
17791 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17792 sections shifted.
17793 (insert_string): Make argument const char * instead of char *.
17794 (write_section_data): Handle long section names.
17795 Handle module_license.
17796
d4de6b01
VS
177972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17798
17799 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17800 handle class-free menuentries.
17801 (grub_normal_add_menu_entry): Add a check to be sure.
17802
4c2a3b43
VS
178032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17804
17805 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17806 PgUp and PgDown.
17807
85c6210f
VS
178082011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17809
17810 * configure.ac: Bump version to 1.99.
17811
36084912
VS
178122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17813
17814 Give ATA device a bit more time on first try in order to allow disks
17815 to spin up.
17816
17817 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17818 if dev->present is 1. Reset dev->present on failure.
17819 (grub_ata_device_initialize): Set dev->present to 1.
17820 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17821 (grub_ata_device): New member 'present'.
17822
bda0e219
VS
178232011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17824
17825 * util/grub-mkimage.c (generate_image): Update hash.
17826
19e1c41b
VS
178272011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17828
17829 Flush caches on DMA memory.
17830
17831 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17832 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17833 (grub_dma_free): Likewise.
17834 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17835
91bbcc0c
VS
178362011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17837
17838 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17839 to avoid asm treating ld and sd as macros.
17840
60ddfad3
VS
178412011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17842
17843 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17844 decompressor.
17845
a298aa04
VS
178462011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17847
17848 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17849 grub_decompress_core since later would fail if grub_decompress_core
17850 is too far.
17851
9b44feca
VS
178522011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17855 R_MIPS_JALR since it's used by newer compiler.
17856
56dbe7b4
VS
178572011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17858
17859 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17860
52856af2
VS
178612011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17862
17863 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17864 file_path to 0 for surety.
17865 (grub_chainloader_boot): Set exit_data to NULL.
17866 Unset the loader once done.
17867 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17868
9c9bfc6d
VS
178692011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17870
17871 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17872 unknown key into a dprintf.
17873
dd94a3df
VS
178742011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17875
17876 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17877 on first non-existant partition.
17878
fa68d99c
VS
178792011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17880
17881 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17882 openning fails.
17883 Reported by: Mark Korenberg.
17884
157effb7
VS
178852011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17886
17887 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17888 overflow.
17889
ea75312f
VS
178902011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17891
17892 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17893 before closing to ensure that it will be readable by grub-setup.
17894
072b5d31
VS
178952011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17898 (devpath_1): Use MAKE_PIWG_PATH.
17899 (devpath_2): Likewise.
17900 (devpath_3): Likewise.
17901 (devpath_4): Likewise.
17902 (devpath_5): Likewise.
17903 (devpath_6): Likewise.
17904
17905 The appleldr.mod was checked that to be binary identical to previous
17906 version.
17907
7fae0051
Z
179082011-05-05 Zach <mikezackles>
17909
17910 Support 2010 Macbooks.
17911
17912 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17913 (devs): Add devpath_6.
17914
7c515bee
VS
179152011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
17918 /dev/random. /dev/urandom is good enough for our purposes (salting).
17919
ed660bd8
VS
179202011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17921
17922 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
17923
ee5614b7
VS
179242011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17925
17926 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
17927 hexadecimal.
17928
664889a6
VS
179292011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17930
17931 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
17932 and not 0 on failure.
17933
bd405bbc
CW
179342011-05-03 Colin Watson <cjwatson@ubuntu.com>
17935
17936 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
17937 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
17938 disk; otherwise grub_fs_probe will not fall back to the next
17939 filesystem.
17940 (grub_pxefs_open): Likewise, for consistency.
17941 Reported and tested by: Ezekiel Grave.
17942
4ebff753
CW
179432011-05-03 Colin Watson <cjwatson@ubuntu.com>
17944
17945 * tests/partmap_test.in: Don't hardcode path to parted.
17946 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
17947
8f942553
CW
179482011-05-01 Colin Watson <cjwatson@ubuntu.com>
17949
17950 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
17951 of `ls' to find out which devices are available.
17952
3c62402d
VS
179532011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
17956 than source address for efi mmap buffer.
17957
723f63f2
VS
179582011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
17961 wrong action on non-detecting the magic.
17962
68797f92
VS
179632011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
17966 already supplied by another part of the module (fixes compilation on
17967 FreeBSD).
17968
6be8715d
VS
179692011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17970
17971 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
17972 match the one used by mdadm.
17973
e91dba5b
CW
179742011-04-21 Colin Watson <cjwatson@ubuntu.com>
17975
17976 * po/README: Add instructions for creating po/LINGUAS.
17977
c85140b3
CW
179782011-04-21 Colin Watson <cjwatson@ubuntu.com>
17979
17980 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
17981 #551428.
17982
17983 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
17984 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
17985 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
17986 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
17987 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
17988 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
17989 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
17990 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
17991 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
17992 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
17993 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
17994 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
17995 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
17996 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
17997 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
17998 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
17999 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18000 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18001 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18002 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18003 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18004 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18005
92051871
CW
180062011-04-21 Colin Watson <cjwatson@ubuntu.com>
18007
18008 * grub-core/kern/emu/getroot.c
18009 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18010 test that was incorrectly reintroduced in r3214.
18011 Reported by: Ian Dall. Fixes Savannah bug #33133.
18012
b13f79a4
CW
180132011-04-21 Colin Watson <cjwatson@ubuntu.com>
18014
18015 Fix stack pointer handling in 16-bit relocator.
18016
18017 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18018 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18019 Fixes Ubuntu bug #683904.
18020
9b710a88
VS
180212011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 * configure.ac: Bump version to 1.99~rc2.
18024
d97e7b59
VS
180252011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18026
18027 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18028 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18029 * grub-core/lib/x86_64/setjmp.S: Likewise.
18030 * grub-core/lib/mips/setjmp.S: Likewise.
18031 * grub-core/lib/powerpc/setjmp.S: Likewise.
18032 * grub-core/lib/sparc64/setjmp.S: Likewise.
18033
0624551c
VS
180342011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18035
18036 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18037 * grub-core/lib/efi/datetime.c: Likewise.
18038
e8f28d4c
VS
180392011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18040
18041 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18042 New function.
18043 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18044 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18045 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18046
bba79a15
VS
180472011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18048
18049 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18050 bitmap.
18051 (grub_gfxterm_term_init): Likewise.
18052
abc474ef
VS
180532011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18054
18055 Take into account the decorations the computing menu entry width.
18056
18057 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18058 (grub_gfxmenu_create_box): Register get_border_width.
18059 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18060 if available.
18061 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18062 get_border_width.
18063
e74b3947
EP
180642011-04-18 Endres Puschner <code@e7p.de>
18065
18066 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18067 Don't skip first class.
18068
34faa595
VS
180692011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18070
18071 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18072 chunks.
18073 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18074
93a777e3
VS
180752011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18076
18077 Complete 64-bit division support.
18078
18079 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18080 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18081 * include/grub/misc.h (grub_divmod64): Rename to ...
18082 (grub_divmod64_full): ... this.
18083 (grub_divmod64): New inline function.
18084
a5102d94
VS
180852011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18086
18087 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18088
f3fb7b36
VS
180892011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18090
18091 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18092 performing the necessary test.
18093
9ac718b0
VS
180942011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18095
18096 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18097 (kfreebsd.elf): Likewise.
18098 (pc-chainloader.elf): Likewise.
18099 (ntldr.elf): Likewise.
18100
50d2cc5a
VS
181012011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18102
18103 Identify RAID by its UUID rather than (guessed) name.
18104
18105 * grub-core/disk/raid.c (ascii2hex): New function.
18106 (grub_raid_open): Accept mduuid/%s specification.
18107 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18108 (get_mdadm_uuid): ... this.
18109 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18110
e03f7bea
VS
181112011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18112
18113 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18114 to negative size.
18115
e74c3112
CW
181162011-04-13 Colin Watson <cjwatson@ubuntu.com>
18117
18118 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18119 btrfs subvolume.
18120 * util/grub.d/20_linux_xen.in: Likewise.
18121
78fa584f
CW
181222011-04-13 Colin Watson <cjwatson@ubuntu.com>
18123
18124 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18125 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18126
18127 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18128 Build a list of relevant visible mounts using the mnt_id and
18129 parent_mnt_id fields, and then scan that list at the end.
18130
9d5f8162
CW
181312011-04-12 Colin Watson <cjwatson@ubuntu.com>
18132
18133 * docs/grub.texi (normal): New section.
18134 (normal_exit): New section.
18135 (Embedded configuration): Add reference to normal.
18136 (GRUB only offers a rescue shell): Likewise.
18137 * docs/grub-dev.texi (Error Handling): Fix typo.
18138
09a9d66f
CW
181392011-04-12 Colin Watson <cjwatson@ubuntu.com>
18140
18141 * NEWS: Drop obsolete entry about probe-only btrfs support.
18142
0c676933
CW
181432011-04-12 Colin Watson <cjwatson@ubuntu.com>
18144
18145 * util/import_gcry.py: Fix typo.
18146
ec9f5e0d
VS
181472011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18148
18149 * NEWS: Add btrfs support.
18150
fe6b2cba
VS
181512011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
181522011-04-11 Colin Watson <cjwatson@ubuntu.com>
18153
18154 BtrFS support. Written by me (Vladimir) with important bugfixes and
18155 even more important testing by Colin.
18156
18157 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18158 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18159 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18160 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18161 mem_input_off and mem_input. All users updated to accept in-RAM input.
18162 (gzio_seek): New function.
18163 (test_zlib_header): Likewise.
18164 (grub_gzio_read): Likewise.
18165 (grub_zlib_decompress): Likewise.
18166 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18167 Accept partial and non-virtual mounts.
18168 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18169 avoid receiving /dev/dm-X as device.
18170 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18171 Handle bind and partial mounts.
18172 * grub-core/lib/crc.c: New file.
18173 * include/grub/deflate.h: Likewise.
18174 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18175 proto.
18176 * include/grub/lib/crc.h: New file.
18177
e745cf0c
VS
181782011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18179
18180 Implement automatic module license checking according to new GNU
18181 guidelines.
18182
18183 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18184 (grub_dl_load_core): Use grub_dl_check_license.
18185 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18186 (GRUB_MOD_LICENSE): Likewise.
18187 (GRUB_MOD_DUAL_LICENSE): Likewise.
18188 All modules updated.
18189
2a9bc016
CW
181902011-04-11 Colin Watson <cjwatson@ubuntu.com>
18191
18192 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18193 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18194 loaders.
18195 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18196
8a3bc88e
VS
181972011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18198
18199 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18200
af869a4a
VS
182012011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18202
18203 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18204 failed.
18205
9ee8d94f
VS
182062011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18209 parenthesis in the middle of the filename.
18210
b01abe3e
VS
182112011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18214 rather than trying to put initrd way too high.
18215 Reported by: Ryan Lortie <desrt@desrt.ca>
18216
335bda1e
VS
182172011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18218
18219 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18220 improperly removed string.
18221
5ca1a64d
VS
182222011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18225 is_disk.
18226 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18227 (open_device) Likewise.
18228 (grub_util_biosdisk_close): Likewise.
d8ce9995 18229 Reported by: Mark Korenberg.
5ca1a64d 18230
cbac5b1e
AK
182312011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18232
18233 * util/grub-mkconfig_lib.in: Add missing quotes.
18234
088cdb65
CW
182352011-04-10 Colin Watson <cjwatson@ubuntu.com>
18236
18237 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18238 is NULL.
18239
8b8a81fa
VS
182402011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18241
18242 Dynamically count the number of lines for the lower banner.
18243
18244 * grub-core/normal/menu_entry.c (per_term_screen): New member
18245 num_entries.
18246 (print_down): Use num_entries.
18247 (update_screen): Likewise.
18248 (grub_menu_entry_run): Set num_entries.
18249 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18250 num_entries.
18251 (grub_print_message_indented): Move real part to ...
18252 (grub_print_message_indented_real): ... here. Additional argument
18253 dry_run.
18254 (draw_border): Additional argument num_entries.
18255 (print_message): Additional argument dry_run.
18256 (print_entries): Receive menu viewer data.
18257 (grub_menu_init_page): New argment num_entries.
18258 (menu_text_set_chosen_entry): Use num_entries.
18259 (grub_menu_try_text): Likewise.
18260 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18261 All users updated.
18262 (grub_ucs4_count_lines): New function.
18263 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18264 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18265 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18266 (grub_term_border_height): Likewise.
18267 (grub_term_num_entries): Likewise.
18268
277f955b
VS
182692011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18272 Remove now unused string.
18273
536ce85a
CW
182742011-04-09 Colin Watson <cjwatson@ubuntu.com>
18275
18276 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18277 build system.
18278 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18279
18280 (Comment): Fix typo.
18281 (Getting started): General copy-editing.
18282 (Typical Development Experience): Likewise.
18283 (Error Handling): Likewise.
18284 (Video API): Likewise.
18285
2cf09e32
CW
182862011-04-09 Colin Watson <cjwatson@ubuntu.com>
18287
18288 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18289 throughout.
18290
1ec652f4
VS
182912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18292
18293 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18294 directory.
18295
2c583728
CW
182962011-04-08 Colin Watson <cjwatson@ubuntu.com>
18297
18298 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18299 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18300 "development".
18301
d7a565e9
VS
183022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18303
18304 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18305 grub_strcpy since the lines aren't necessarily 0-terminated.
18306
7c2e4909
VS
183072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18308
18309 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18310 root on legacy.
18311
34c09785
VS
183122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18313
18314 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18315 (GRUB_MOD_INIT): DEVICE isn't optional.
18316
6a6f8058
VS
183172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18318
18319 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18320 word on new line if it's too long anyway. Fixes a hang.
18321
2e335e90
VS
183222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18323
18324 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18325 const.
18326 * util/grub-setup.c (main): Reuse md device name if available.
18327 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18328 not GRUB name as argument.
18329 Based on patch by: Florian Wagner <fwagner>.
18330
10a7a867
VS
183312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18334 Place mbi on low memory for better compatibility.
18335
7a3d6cd9
VS
183362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18339
18dd6b47
VS
183402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
183412011-04-08 Colin Watson <cjwatson@ubuntu.com>
18342
18343 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18344 * conf/Makefile.common: Likewise.
18dd6b47 18345
3c0e3f14
VS
183462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18347
f7148863
VS
18348 * grub-core/normal/menu.c: Add missing include.
18349
183502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18351
18352 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18353
6d1fa41f
MZ
183542011-04-08 Martin Zuther <mzuther@mzuther.de>
18355
18356 * util/grub-mkconfig.in: Ignore emacsen backup.
18357
478182a8
VS
183582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18359
18360 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18361 on open.
18362 (grub_util_biosdisk_close): Likewise.
18363
72a89a54
VS
183642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18365
18366 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18367 const attribute and use grub_isdigit.
18368
b5ebecfa
A
183692011-04-06 Andrey <dev_null@ukr.net>
18370
18371 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18372 gcc warning.
18373
7755f66e
VS
183742011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18375
18376 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18377 useful grub_dprintf's.
18378
461121ff
VS
183792011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18380
18381 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18382
2a961775
VS
183832011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18384
18385 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18386
adf594cc
VS
183872011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18388
18389 Output errors if theme loading failed.
18390
18391 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18392 grub_gfxterm_fullscreen on error paths to ...
18393 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18394 theme loading error.
18395
665900a3
VS
183962011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18397
18398 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18399 space for older compilers.
18400 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18401
a562b479
VS
184022011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18405 and report them as not RAID members since they are useless for GRUB.
18406 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18407
850e9373
VS
184082011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18409
18410 Increase LVM implementation robustness in order not to crash on
18411 configurations like pvmove. Previously code assumed that in some places
18412 only lvs or only pvs are used whereas it seems that they are used
18413 interchangeably.
18414
18415 * grub-core/disk/lvm.c (read_node): New function.
18416 (read_lv): Use read_node.
18417 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18418 Match volumes only at the end when all lvs are found. Take both
18419 pvs (first) and lvs (second) into account.
18420 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18421 mirror_* into node_*. All users updated.
18422 (grub_lvm_stripe): Merge this ...
18423 (grub_lvm_mirror): ... and this ...
18424 (grub_lvm_node): ... into this. All users updated.
18425
6f332153
VS
184262011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18427
18428 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18429 of function to allow further scanning for LVMs.
18430
829ea451
VS
184312011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18432
18433 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18434 on failed seek as it breaks open fd reusage.
18435
09ceb9a5
VS
184362011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18437
18438 * util/grub-install.in: Add a recommendation to use --recheck before
18439 reporting bugs.
18440
67e11623
VS
184412011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18444 are obtained.
18445
caee5efd
VS
184462011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18447
18448 GRUB developper manual based on existing Internals section and
18449 contributions by the various authors with active copyright assignment.
18450
18451 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18452 * docs/font_char_metrics.png: New file.
18453 * docs/font_char_metrics.txt: Likewise.
18454 * docs/grub-dev.texi: Likewise.
18455 * docs/grub.texi (Internals): Move from here ...
18456 * docs/grub-dev.texi: ... here.
18457
2cccc747
CW
184582011-04-01 Colin Watson <cjwatson@ubuntu.com>
18459
18460 Store the loopback device as data on loopback grub_disk structures,
18461 rather than the file it points to. This fixes use of freed memory
18462 if an existing loopback device is replaced.
18463
18464 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18465 disk->data, not dev->file.
18466 (grub_loopback_read): Adjust file assignment to match.
18467 Fixes Ubuntu bug #742967.
18468
186ae367
CW
184692011-04-01 Colin Watson <cjwatson@ubuntu.com>
18470
18471 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18472 when replacing an existing device.
18473
cfed2ad0
VS
184742011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18477 memory corruptions.
18478
18479 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18480 unsigned.
18481 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18482 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18483 (grub_jfs_read_inode): Likewise.
18484 (grub_jfs_opendir): Likewise. Remove now useless casts.
18485 (grub_jfs_getent): Likewise.
18486 Make ino a grub_uint32_t rather than int.
18487 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18488 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18489 division and module with bit operations.
18490 (grub_jfs_find_file): Make ino a grub_uint32_t.
18491 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18492
05d2ed32
CW
184932011-04-01 Colin Watson <cjwatson@ubuntu.com>
18494
18495 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18496 warning. (This was in fact always initialised before use, but GCC
18497 wasn't smart enough to prove that.)
18498 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18499
91dc6073
VS
185002011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18501
18502 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18503 stack alignment.
18504 (efi_wrap_1): Likewise.
18505 (efi_wrap_2): Likewise.
18506 (efi_wrap_3): Likewise.
18507 (efi_wrap_4): Likewise.
18508 (efi_wrap_5): Likewise.
18509 (efi_wrap_6): Likewise.
18510 (efi_wrap_10): Likewise.
18511 Based on information by: Red Hat/Peter Jones.
18512
a8afc1d1
CW
185132011-03-31 Colin Watson <cjwatson@ubuntu.com>
18514
18515 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18516 set-but-not-used variable.
18517
a826cc7d
CW
185182011-03-31 Colin Watson <cjwatson@ubuntu.com>
18519
18520 * docs/grub.texi (Simple configuration): Be more explicit about
18521 GRUB_DEFAULT, and add an example.
18522 Reported by: Leslie Rhorer.
18523
875b67ba
CW
185242011-03-30 Colin Watson <cjwatson@ubuntu.com>
18525
18526 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18527 shell".
18528
fd7cd914
AS
185292011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18530
18531 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18532 * util/grub.d/20_linux_xen.in: Likewise.
18533
090b1b6a
VS
185342011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18535
18536 * util/grub.d/10_linux.in: Try alternative config filenames where
18537 we parse config file.
18538 * util/grub.d/20_linux_xen.in: Likewise.
18539
baad885c
AS
185402011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18541
18542 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18543 * util/grub.d/20_linux_xen.in: Likewise.
18544
241e41f5
VS
185452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18546
18547 * grub-core/disk/raid.c (insert_array): Add few potentially
18548 useful grub_util_info.
18549 (grub_raid_register): Likewise.
18550
56445fb2
VS
185512011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18552
18553 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18554 Preserve partition number in mdadm code path.
18555
c871b1c6
VS
185562011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18557
18558 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18559 few potentially useful grub_util_info.
18560
5e631b4f
CW
185612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18564
2d5d0333
CW
185652011-03-30 Colin Watson <cjwatson@ubuntu.com>
18566
18567 * docs/grub.texi (default): Use @example rather than nested
18568 itemized lists to avoid breaking gendocs.
18569
3d7ed04e
CW
185702011-03-30 Colin Watson <cjwatson@ubuntu.com>
18571
18572 * docs/grub.texi (Future): Update.
18573
abf04200 185742011-03-30 Colin Watson <cjwatson@ubuntu.com>
18575
18576 * docs/grub.texi (Environment): New chapter.
18577 (Changes from GRUB Legacy): Link to "Environment block" section for
18578 details of limitations.
18579 (Simple configuration): Likewise. Link to documentation of gfxmode
18580 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18581 respectively.
18582 (Shell-like scripting): Note that normal variables are stored in the
18583 environment.
18584 (gettext): Link to documentation of lang and locale_dir.
18585 (list_env): New section.
18586 (load_env): New section.
18587 (save_env): New section.
18588
18589 (Reporting bugs): Fix typo.
18590
e1ad0edd
VS
185912011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18592
18593 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18594 the example.
18595
5d803174
VS
185962011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18597
18598 * grub-core/term/at_keyboard.c (set_scancodes)
18599 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18600
2a2da1d0
CW
186012011-03-30 Colin Watson <cjwatson@ubuntu.com>
18602
18603 * docs/grub.texi (Menu-specific commands): Remove some semantics
18604 that were true in GRUB Legacy but not in GRUB 2.
18605 (submenu): New section.
18606 (false): New section.
18607 (read): New section.
18608 (true): New section.
18609
a7527639
CW
186102011-03-30 Colin Watson <cjwatson@ubuntu.com>
18611
18612 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18613
186142011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18615
18616 * docs/grub.texi (Simple configuration): Explain some of the
18617 current limitations of grub-mkconfig.
8a748df2 18618 Reported by: Leslie Rhorer.
e30af029 18619
fc858482
VS
186202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 Old macs search for boot.efi rather than for bootia32.efi.
18623
18624 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18625 * util/grub-mkrescue.in: Likewise.
18626 Suggested by: Peter Jones.
18627
e1eb511d
VS
186282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18629
18630 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18631
70e75364
VS
186322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18633
18634 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18635 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18636 (grub_lvm_mirror): New struct.
18637 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18638 (grub_lvm_iterate): Iterate only visible volumes.
18639 (grub_lvm_read): Factor out to ..
18640 (read_lv): ... this. Support mirrors.
18641 (grub_lvm_read): New wrapper function.
18642 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18643 stripped or mirrored.
18644
fc18f6a3
VS
186452011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18646
18647 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18648
5c650f4c
CW
186492011-03-29 Colin Watson <cjwatson@ubuntu.com>
18650
18651 * docs/grub.texi (loopback): New section.
18652
61d7156b
CW
186532011-03-29 Colin Watson <cjwatson@ubuntu.com>
18654
18655 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18656 removed -p option.
18657
994b8264
CW
186582011-03-29 Colin Watson <cjwatson@ubuntu.com>
18659
18660 * docs/grub.texi (BIOS installation): New section, partly based on
18661 previous text in other sections.
18662 (Installing GRUB using grub-install): Replace BIOS discussion with a
18663 cross-reference.
18664 (Images): Likewise.
18665
9e4d19e0
VS
186662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18667
18668 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18669 [HAVE_DIOCGDINFO]: Add safety checks.
18670
a307c0b2
VS
186712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18672
18673 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18674 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18675
b4db4f39
CW
186762011-03-29 Colin Watson <cjwatson@ubuntu.com>
18677
18678 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18679 real_sb->size is zero (e.g. RAID-0), get the disk size from
18680 real_sb->data_size instead.
18681 Fixes Ubuntu bug #743136.
18682
35e5f84c
VS
186832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18684
18685 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18686 printf clauses for printing size and start.
18687
d2e29d81
VS
186882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18689
18690 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18691 Reported and tested by: Timothy Nikkel.
18692
ed5587af
VS
186932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18694
18695 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18696 (dirty_region_add_real): ... this.
18697 (dirty_region_add): Don't discard margin refresh when performing
18698 scheduled repaint.
18699
a1dc717c
VS
187002011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18701
18702 * grub-core/lib/relocator.c (allocate_regstart)
18703 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18704 terminals are capabple of malloc-free operation.
18705 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18706 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18707
9f3677d3
VS
187082011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18709
18710 * util/grub-setup.c: Copy the partition table zone if floppy support
18711 is disabled, even if no partition table is found.
18712
18713 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18714 during POST if an invalid partition table is contained in the PBR
18715 of the active partition when GRUB is installed to a partition.
18716
24148725
CW
187172011-03-28 Colin Watson <cjwatson@debian.org>
18718
18719 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18720 comment.
18721
f329eda7
CW
187222011-03-28 Colin Watson <cjwatson@debian.org>
18723
18724 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18725 to be specific about what kind of RAID device we're scanning for.
18726
c482ad98
SG
187272011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18728
18729 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18730 return freed string.
18731
5ee04984
VS
187322011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18733
18734 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18735
f4727da9
VS
187362011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18737
18738 Use libgeom on FreeBSD to detect partitions.
18739
18740 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18741 (grub-mkrelpath): Likewise.
18742 (grub-script-check): Likewise.
18743 (grub-editenv): Likewise.
18744 (grub-mkpasswd-pbkdf2): Likewise.
18745 (grub-fstest): Likewise.
18746 (grub-mkfont): Likewise.
18747 (grub-mkdevicemap): Likewise.
18748 (grub-probe): Likewise.
18749 (grub-setup): Likewise.
18750 (grub-ofpathname): Likewise.
18751 (grub-mklayout): Likewise.
18752 (example_unit_test): Likewise.
18753 (grub-menulst2cfg): Likewise.
18754 * grub-core/Makefile.core.def (grub-emu): Likewise.
18755 (grub-emu-lite): Likewise.
18756 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18757 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18758 define HAVE_DIOCGDINFO.
18759 (follow_geom_up) [FreeBSD]: New function.
18760 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18761 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18762 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18763 unconditionally of HAVE_DIOCGDINFO.
18764
82fe6c75
VS
187652011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18766
18767 Fix FreeBSD compilation problem.
18768
18769 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18770 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18771
4c6c9431
CW
187722011-03-24 Colin Watson <cjwatson@ubuntu.com>
18773
18774 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18775 Switch back to page zero before loading a kernel, since some kernel
18776 drivers expect that.
18777 Thanks to: Felix Kuehling.
18778
c7064d94
VS
187792011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18780
18781 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18782 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18783 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18784
3f71cded
VS
187852011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18788 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18789
ef6de21a
VS
187902011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18791
18792 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18793 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18794 malloc is disabled.
18795
8bc66a2c
VS
187962011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18799 for modules headers when counting the needed allocation size.
18800
5657722c
VS
188012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18802
18803 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18804 if no ASCII character is found to prevent crash.
18805
41a85f55
AK
188062011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18807
18808 * grub-core/video/bitmap.c (match_extension): Ignore case.
18809
59e1e5f1
VS
188102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18813
bd4d051a
VS
188142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18815
18816 * grub-core/script/parser.y: Declare "time" as valid argument.
18817
bae7fcc1
PJ
188182011-03-23 Peter Jones <pjones@redhat.com>
18819
18820 Fix incorrect assert failure reporting.
18821
18822 * grub-core/tests/example_functional_test.c (example_test): Add
18823 a failure comment.
18824 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18825 (failure_start): ...this. Check that malloc succeeded.
18826 Don't call xvasprintf. Return failure struct.
18827 (failure_append_vtext): New function.
18828 (failure_append_text): Likewise.
18829 (add_failure): Likewise.
18830 (grub_test_assert_helper): Likewise.
18831 * include/grub/test.h (grub_test_assert_helper): New declaration.
18832 (grub_test_assert): Macro rewritten.
18833
537dc9be
VS
188342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18835
18836 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18837
fa3e01bf
VS
188382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18839
18840 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18841
b1d28404
VS
188422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18845 into GRUB-style one.
18846
2e3e2e09
VS
188472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18848
18849 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18850 error and not grub_errno.
18851 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18852
ed57e557
VS
188532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18854
18855 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18856 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18857
d1611f01
VS
188582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18859
18860 * grub-core/efiemu/i386/pc/cfgtables.c
18861 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18862 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18863 (grub_xnu_unlock): Likewise.
18864 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18865
7d4e39d6
VS
188662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18867
18868 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18869 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18870 * grub-core/commands/hashsum.c (aliases): Likewise.
18871 * grub-core/commands/setpci.c (pci_registers): Likewise.
18872 * grub-core/disk/usbms.c (attach_hook): Likewise.
18873 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18874 (zio_checksum_table): Likewise.
18875 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18876 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18877 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18878 * grub-core/lib/relocator.c (leftovers): Likewise.
18879 (extra_blocks): Likewise.
18880 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18881 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18882 (modules_last): Likewise.
18883 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18884 (devices): Likewise.
18885 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18886 (modules_last): Likewise.
18887 * grub-core/normal/auth.c (users): Likewise.
18888 * grub-core/normal/context.c (initial_menu): Likewise.
18889 (current_menu): Likewise.
18890 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18891 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18892 (grub_serial_terminfo_input_template): Likewise.
18893 (grub_serial_terminfo_output_template): Likewise.
18894 (grub_serial_terminfo_input): Likewise.
18895 (grub_serial_terminfo_output): Likewise.
18896 (registered): Likewise.
18897 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18898
40fc4659
VS
188992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18902 grub_video_mode_type_t.
18903 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18904 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18905 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18906
2da48d28
VS
189072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 * util/grub-install.in: Correct the x86-64 name as x86_64.
18910
9b43bf39
CW
189112011-03-11 Colin Watson <cjwatson@ubuntu.com>
18912
18913 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18914 initial chunk read from the kernel always includes GRUB's multiboot
18915 header, which is now outside the first sector.
18916
be1a7ce0
CW
189172011-03-09 Colin Watson <cjwatson@ubuntu.com>
18918
18919 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
18920 cached mmap_size, so that this works correctly when called multiple
18921 times.
18922 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
18923
83a3c48d
CW
189242011-03-09 Colin Watson <cjwatson@ubuntu.com>
18925
18926 * docs/grub.texi (Simple configuration): Tidy up formatting.
18927
57d75699
SJ
189282011-03-07 Szymon Janc <szymon@janc.net.pl>
18929
18930 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
18931 Set-but-not-used variable removed.
18932
028501a0
VS
189332011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 Workaround yet another IEEE1275 bug.
18936
18937 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
18938 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
18939 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
18940 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
18941 is set.
18942 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18943 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
18944
d998657d
VS
189452011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18946
18947 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
18948 error.
18949
fee7cdd4
CW
189502011-02-11 Colin Watson <cjwatson@ubuntu.com>
18951
18952 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
18953 empty, since in that case we can only generate either nothing or a
18954 syntactically invalid configuration file.
18955 Reported by: Michal Suchanek. Fixes Debian bug #612898.
18956
97286eb5
CW
189572011-02-09 Colin Watson <cjwatson@ubuntu.com>
18958
18959 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
18960 (Making a GRUB bootable CD-ROM): Likewise.
18961 (Invoking grub-mkrescue): New section.
18962 Reported by: Yann Dirson. Fixes Debian bug #612585.
18963
22b28eb3
CW
189642011-02-09 Colin Watson <cjwatson@ubuntu.com>
18965
18966 * util/grub-install.in: Remove unnecessary brackets from tr
18967 arguments.
18968 * util/grub.d/10_hurd.in: Likewise.
18969 * util/grub.d/10_kfreebsd.in: Likewise.
18970 * util/grub.d/10_linux.in: Likewise.
18971 * util/grub.d/20_linux_xen.in: Likewise.
18972 Reported by: Jamie Heilman. Fixes Debian bug #612564.
18973
7e735e43
CW
189742011-02-08 Colin Watson <cjwatson@ubuntu.com>
18975
18976 * include/grub/file.h (not_easly_seekable): Rename to ...
18977 (not_easily_seekable): ... this. Update all users.
18978
800f1881
CW
189792011-01-28 Colin Watson <cjwatson@ubuntu.com>
18980
18981 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
18982 grub-mkrescue.
18983
3281d3d6
VS
189842011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
18985
18986 * util/grub-mkimage.c (generate_image): Refuse to create the images
18987 bigger than the actual flash (512K) in Loongson machines. 512K is also
18988 the biggest chip supported by them.
18989
3533413c
VS
189902011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18991
18992 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
18993
73ae4f4f
VS
189942011-01-22 Anthony DeRobertis <anthony@derobert.net>
18995
18996 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
18997 super_offset field.
18998
37f4f608
VS
189992011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19000
19001 * util/grub-install.in: Ignore install device on platforms
19002 where it doesn't make sense. Always use UUIDs except on pc, efi and
19003 sparc64.
19004 Reported by: Daniel Kahn Gillmor.
19005
03a4ccb5
VS
190062011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19007
19008 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19009
ffc8f4d8
VS
190102011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19011
19012 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19013 (iterate_real): Don't rely on partition being non-NULL.
19014
80f23be7
VS
190152011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19016
19017 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19018 supported platforms. Put a compile time assert for this rather than
19019 generate a warning with 32-bit shift.
19020
5d4f4dd5
VS
190212011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19022
19023 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19024 logical expression more readable.
19025
e489601a
VS
190262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19027
19028 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19029 even if some elements have a name.
19030 Reported by: Alexander GQ Gerasiov.
19031
96e0a6ea
CW
190322011-01-22 Colin Watson <cjwatson@ubuntu.com>
19033
19034 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19035 path unreadable if `grub-probe -t abstraction' fails, for example if
19036 memberlist fails on an LVM volume group.
19037 Reported by: Darius Jahandarie.
19038
81431e2b
CW
190392011-01-22 Colin Watson <cjwatson@ubuntu.com>
19040
19041 * docs/grub.texi (Simple configuration): Document
19042 GRUB_PRELOAD_MODULES.
19043
5e79d66a
CW
190442011-01-17 Colin Watson <cjwatson@ubuntu.com>
19045
19046 * .bzrignore: Remove nonexistent grub-pbkdf2.
19047
646ada34
VS
190482011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19049
19050 * configure.ac: Bump version to 1.99~rc1.
19051
04360337
VS
190522011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19053
19054 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19055 for safety.
19056
46c9db88
VS
190572011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19058
19059 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19060 module.
19061
190622011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19063
19064 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19065
4fbf1852
VS
190662011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19067
19068 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19069 diskdevid.
19070
f1632d4d
VS
190712011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19072
19073 Fix compilation on cygwin.
19074
19075 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19076 -R .drectve on cygwin.
19077 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19078 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19079 (COND_CYGWIN): New condition.
19080 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19081 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19082 not @TARGET_OBJ2ELF@.
19083 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19084 type to determine whether aux is to be used.
19085
0b5e127b
VS
190862011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19089 realpath'ed device string.
19090 Handle floppy (somewhat).
19091 Issue error in unknown case rather than garbage.
19092 Reported by: Axel Beckert.
19093
173b71e9
VS
190942011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19095
19096 * util/grub.d/00_header.in (load_video): Handle the case when no video
19097 drivers available.
19098 Thanks to: Axel Beckert.
19099
f8f479db
VS
191002011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19101
19102 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19103 variable. Fixes problem on big endian platforms.
19104
8fc0a245
VS
191052011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19106
19107 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19108 It doesn't work well there.
19109
b8494fbe
VS
191102011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19111
19112 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19113 warning.
19114 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19115 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19116 counter.
19117
b44a558c
VS
191182011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19119
19120 Use alias->path rather than buggy "canon".
19121
19122 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19123 (ofdisk_hash_add): New argument curcan. All users updated.
19124
51fa856c
CW
191252011-01-11 Colin Watson <cjwatson@ubuntu.com>
19126
19127 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19128
9da068a5
VS
191292011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19132 loadmask before doing any calculations. Use correct type for offset.
19133 (grub_linux_load64): Likewise.
19134
86205c94
CW
191352011-01-11 Colin Watson <cjwatson@ubuntu.com>
19136
19137 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19138 with NULL.
19139 (console_grub_equivalences_unshift): Likewise.
19140 Reported by: Daniel Dehennin.
19141
4531a206
VS
191422011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19143
19144 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19145 (set_env_limn_ro): Likewise.
19146 (GRUB_MOD_INIT): Likewise.
19147 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19148 ARRAY_SIZE while on it.
19149 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19150 * grub-core/normal/context.c (grub_env_export): Move from here ...
19151 * grub-core/kern/env.c (grub_env_export): ... here.
19152 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19153 prefix.
19154 * grub-core/kern/main.c (grub_main): Export root and prefix.
19155 * include/grub/env.h (grub_env_export): Export.
19156 Reported by: Seth Goldberg.
19157
45146057
VS
191582011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19159
19160 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19161 Take into account space used by ELF sections and multiboot palette.
19162 Reported by: Grégoire Sutre.
19163
f093110b
VS
191642011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19165
19166 * BUGS: New file.
19167
3395fe52
VS
191682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 Pass more appropriate video id to Linux.
19171
19172 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19173 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19174 fill have_vga.
19175 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19176 shift params->lfb_size.
19177 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19178
c2fa6cbb
VS
191792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19180
19181 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19182
b3ff6ff0
VS
191832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19186 separator and pass bootpath/devid even if only one of them is available.
19187 Reported by: Seth Goldberg.
19188
ae67942e
VS
191892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19190
19191 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19192 implementations bug on them.
19193
19194 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19195 memory.
19196 (filter_memory_map): Likewise.
19197
d570097a
VS
191982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19201 Reported by: nebuchadnezzar.
19202
a508e776
VS
192032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19206 Reported by: nebuchadnezzar.
19207
dcb883b1
VS
192082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19209
19210 Submenu default support.
19211
19212 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19213 auto_boot. All users updated.
19214 Declared static.
19215 Handle chosen and default with submenus.
19216 (grub_menu_execute_with_fallback): Declared static.
19217 Don't notify failure if autobooted. Upper level does it.
19218 (menuentry_eq): New function.
19219 (get_entry_number): Use menuentry_eq.
19220 (show_menu): New parameter "autobooted". All users updated.
19221 (grub_show_menu): Likewise.
19222 * include/grub/normal.h (grub_show_menu): Likewise.
19223 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19224 (grub_menu_execute_with_fallback): Likewise.
19225
6fef99b4
VS
192262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19227
19228 * util/grub-mklayout.c (usage): Update help text.
19229
47a77af5
VS
192302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19231
19232 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19233
ce6bb3ee
VS
192342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 * util/grub-menulst2cfg.c (main): Trim the line.
19237
db87be2a
VS
192382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19239
19240 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19241 (grub_machine_init): Don't check amount of low memory as reportedly
19242 INT 12h can be broken and if low memory is too low we wouldn't have
19243 gotten into grub_machine_init anyway.
19244
c49849cc
VS
192452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19246
19247 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19248 (grub_machine_mmap_iterate): Take low memory into account
19249
b1969b30
VS
192502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19251
19252 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19253 badfs.
19254 Reported by: TiCPU.
19255
cf0eaf13
VS
192562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19257
19258 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19259 members errors.
19260
1f060f39
GS
192612011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19262
19263 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19264 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19265
a21e5672
GS
192662011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19267
19268 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19269 openbsd and netbsd types being in part_bsd module.
19270
c88172fa
VS
192712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19274 (_FILE_OFFSET_BITS): Likewise.
19275 Reported by: Seth Goldberg.
19276
53798c4b
GS
192772011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19278
19279 * configure.ac: Check for libdevmapper header.
19280
e7121b69
VS
192812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19282
19283 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19284 avoid aliasing.
19285 (fzap_lookup): Likewise.
19286 (dnode_get): Likewise.
19287 (make_mdn): Likewise.
19288 (zfs_mount): Likewise.
19289 (fzap_iterate): Use temporary pointer to avoid aliasing.
19290 (grub_zfs_read): Likewise.
19291 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19292 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19293 pointers to avoid aliasing.
19294 (grub_cmd_xnu_kernel64): Likewise.
19295 (grub_xnu_load_driver): Likewise.
19296
fc836af9
VS
192972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19298
19299 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19300 aliasing warning.
19301 (grub_cmd_terminal_output): Likewise.
19302 Reported and tested by: Grégoire Sutre.
19303
f9f37648
VS
193042011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19305
19306 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19307 warning.
19308 Reported and tested by: Grégoire Sutre.
19309
ec1dfd63
VS
193102011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19311
19312 * configure.ac: Do CPU substitution even if it's specified explicitly.
19313 Reported and tested by: Alain Greppin.
19314
9462775a
VS
193152011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19316
19317 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19318 Reported and tested by: Alain Greppin.
19319
0fd48e35
VS
193202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19321
19322 Satisfy some bison versions need for inttypes.h.
19323
19324 * grub-core/lib/posix_wrap/inttypes.h: New file.
19325 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19326 (int16_t): Likewise.
19327 (int32_t): Likewise.
19328 (int64_t): Likewise.
19329 Reported and tested by: Alain Greppin.
19330
43f1bc83
VS
193312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19332
19333 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19334 Silence spurious warning.
19335 Reported and tested by: Alain Greppin.
19336
64d1f041
SJ
193372011-01-07 Szymon Janc <szymon@janc.net.pl>
19338
19339 * docs/grub.texi (Support automatic decompression): Update with xz
19340 decompression support.
19341
25953e10
SJ
193422011-01-07 Szymon Janc <szymon@janc.net.pl>
19343
19344 Improve loaders' kernel command line handling.
19345
19346 * grub-core/lib/cmdline.c: New file.
19347 * include/grub/lib/cmdline.h: Likewise.
19348 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19349 grub_create_loader_cmdline to create kernel command line.
19350 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19351 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19352 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19353 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19354 (linux): Add lib/cmdline.c on common.
19355
e72d259f
VS
193562011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19357
19358 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19359 inopos might be unaligned.
19360
c0cf26da
VS
193612011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19362
19363 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19364 endian transformations.
19365 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19366 Based on report by: Doug Nazar.
19367
0ca09e6c
DN
193682011-01-07 Doug Nazar <nazard.michi@gmail.com>
19369
19370 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19371 array->members[i].start_sector.
19372 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19373
014b6806
VS
193742011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19375
19376 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19377 Reported and tested by: Grégoire Sutre.
19378
415502c2
CW
193792011-01-06 Colin Watson <cjwatson@ubuntu.com>
19380
19381 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19382 avoid causing test failures by clearing the screen.
19383
71b6a2b7
CW
193842011-01-06 Colin Watson <cjwatson@ubuntu.com>
19385
19386 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19387 Fix prefix check to handle the case where dir ends with a slash
19388 (most significantly, "/" itself).
19389 Reported by: Michael Vogt.
19390
b3f8d28a
VS
193912011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19392
19393 Run terminfo_cls on initing terminfo output to clear the screen and
19394 move the cursor to (0,0).
19395
19396 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19397 Call grub_terminfo_output_init.
19398 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19399 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19400 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19401
4c3e4f37
VS
194022011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19403
19404 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19405 only when needed.
19406
488f71f1
VS
194072011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19408
19409 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19410 CTRL.
19411
18a38098
VS
194122011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19413
19414 The E820 type 5 is BADRAM, not EXEC_CODE.
19415
19416 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19417 (GRUB_E820_BADRAM): New define.
19418 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19419 into reserved. Propagate BADRAM.
19420 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19421 (GRUB_E820_BADRAM): New define.
19422
9eae2084
VS
194232011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19424
19425 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19426 Ignore the memory post-4G.
19427 (grub_relocator_firmware_alloc_region): Additional debug statement.
19428
ebc71d28
VS
194292011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19430
19431 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19432 names.
19433 Reported by: David Pravec.
19434
446fa400
VS
194352011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19436
19437 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19438 BIOSes.
19439
a0159f37
VS
194402011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19443 Prevent overflow.
19444 (grub_reed_solomon_recover): Likewise.
19445
e5146ca1
VS
194462011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19447
19448 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19449
194502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19451
19452 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19453 variable.
19454
5b1bdf12
CW
194552011-01-04 Colin Watson <cjwatson@ubuntu.com>
19456
19457 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19458 descriptions of extract_legacy_entries_source and
19459 extract_legacy_entries_configfile.
19460 Reported by: Seung Soo, Ha.
19461
99d925aa
CW
194622011-01-03 Colin Watson <cjwatson@ubuntu.com>
19463
19464 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19465 on devices that do not implement function 0.
19466
4af0504b
DV
194672011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19468
19469 * grub-core/fs/hfsplus.c: Make parent unsigned.
19470 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19471 overflows.
19472 (grub_hfsplus_cmp_extkey): Likewise
19473
469ee10a
VS
194742011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19475
19476 * util/grub-install.in: Correctly use bootloader_id and not
19477 GRUB_DISTRIBUTOR on efibootmgr line.
19478
323a8e9c
VS
194792011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19480
19481 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19482
1b394975
IC
194832010-12-31 Ian Campbell <ijc@hellion.org.uk>
19484
19485 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19486 Xen and reorder menu item wording to make it clearer that this entry
19487 will launch Xen. Print separate messages when loading Xen and
19488 Linux.
19489
275bff5f
VS
194902010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19491
19492 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19493 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19494 loop in case of incorrect amiga partmap.
19495
307806cb
VS
194962010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19497
19498 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19499 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19500 Reported by:EHeM.
19501
b12b923e
VS
195022010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19503
19504 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19505 spurious warning.
19506 Reported by: crocket
19507
14b48a19
VS
195082010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19509
19510 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19511 Preload EFIemu.
19512 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19513
693db2df
VS
195142010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19515
19516 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19517 is loaded
19518 (grub_cmd_xnu_kextdir): Likewise.
19519 (grub_cmd_xnu_splash): Likewise.
19520
c7638645
VS
195212010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19522
19523 Avoid using Reed-Solomon with 0 redundancy.
19524
19525 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19526 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19527 or 0 redundancy.
19528 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19529 (grub_reed_solomon_recover): Likewise.
19530
25dd4780
VS
195312010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19532
19533 Don't use disk subsystem in freebsd_boot.
19534
19535 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19536 (freebsd_biosdev): Likewise.
19537 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19538 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19539
0b2db943
VS
195402010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19541
19542 Handling of files of unknown size is currently limited. They can't be
19543 used e.g. for initrd or modules. Moreover gzip handling of not
19544 easily seekable files is buggy. Disable unknown file size for now. May
19545 be inefficient but works.
19546
19547 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19548 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19549
5c408d0f
MP
195502010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19551
19552 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19553 floppy probe.
19554
190a011a
JD
195552010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19556
19557 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19558
022d01b8
SL
195592010-12-25 Shea Levy <shlevy>
19560
19561 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19562
c4855fdc
VS
195632010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19564
19565 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19566 Windows Server 2008.
19567 Reported by: Devin Giddings.
19568
0354b867
VS
195692010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19570
19571 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19572 writing an error message because of async power management.
19573 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19574 (grub_reboot): Likewise.
19575
ab66c69f
JU
195762010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19577
19578 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19579 keep unit tests from failing when they shouldn't.
19580
1426ef35
CW
195812010-12-21 Colin Watson <cjwatson@ubuntu.com>
19582
19583 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19584 previous patch increased the size of the RS code by 20 bytes (at
19585 least with gcc-4.4), so increase this by 20 bytes to match.
19586 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19587
20641b6b
CW
195882010-12-21 Colin Watson <cjwatson@ubuntu.com>
19589
19590 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19591 scratch area. Make sure to initialise chosen in standalone mode as
19592 well as non-standalone.
19593 Reported by: Robert Hooker and Andy Whitcroft.
19594 Tested by: Andy Whitcroft.
19595
d060ad60
CW
195962010-12-21 Colin Watson <cjwatson@ubuntu.com>
19597
19598 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19599 constructing a new unescaped string and passing it to grub_xputs in
19600 one go, rather than passing characters to grub_printf one at a time.
19601
b889cfad
CW
196022010-12-21 Colin Watson <cjwatson@ubuntu.com>
19603
19604 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19605 initialising utf16.
19606
4e01b6c8
CW
196072010-12-21 Colin Watson <cjwatson@ubuntu.com>
19608
19609 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19610 comment. Add an extra layer of quotation, requiring the output of
19611 this function to be used in a printf format string.
19612 (gettext_printf): New function.
19613 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19614 Extract translatable strings from here-documents and use a temporary
19615 variable instead, so that xgettext can find them.
19616 * util/grub.d/10_kfreebsd.in: Likewise.
19617 * util/grub.d/10_linux.in: Likewise.
19618 * util/grub.d/20_linux_xen.in: Likewise.
19619
19620 * po/grub.d.sed: New file.
19621 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19622 arguments. Set c-format flags on all strings extracted from
19623 util/grub.d/ (xgettext refuses to include these itself for strings
19624 it extracted from a shell file, but these really are c-format).
19625
5318fe98
VS
196262010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19629 Avoid next pointing to nowhere.
19630
6c85b743
VS
196312010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19632
19633 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19634 rather than assuming than rootblock is exactly in the middle.
19635 (grub_affs_label): Likewise.
19636
a2a08a35
VS
196372010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19638
19639 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19640 reserved_first_sector to 0.
19641 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19642 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19643 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19644
7059d1ec
VS
196452010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19646
19647 Fix handling of UTF-16 UDF labels.
19648
19649 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19650 (read_string): .. here.
19651 (grub_udf_label): Use read_string.
19652
30aff4cb
BC
196532010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19654
19655 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19656 editor under argument scope.
19657 Reported by: Jordan Uggla
19658
5cf86f4b
VS
196592010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19660
19661 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19662
32570200
CW
196632010-12-18 Colin Watson <cjwatson@ubuntu.com>
19664
19665 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19666 line, and other keys scroll an entire page (previous handling was
19667 for \r and \n to scroll a page and other keys to scroll two lines).
19668
e1dffcf2
VS
196692010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19670
19671 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19672 Set ptrdest to correct get_physical_target_address rather than
19673 incorrect get_virtual_current_address.
19674
b04298cf 196752010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19676
19677 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19678 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19679
5367ecd3
CW
196802010-12-10 Colin Watson <cjwatson@ubuntu.com>
19681
19682 * .bzrignore: Ignore grub-core/rs_decoder.S.
19683
1fb430f8
CW
196842010-12-10 Colin Watson <cjwatson@ubuntu.com>
19685
19686 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19687 .mo/.mo.gz opening sequence to ...
19688 (grub_mofile_open_lang): ... here.
19689 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19690 * util/grub.d/00_header.in (grub_lang): Include country part of
19691 locale.
19692 Reported by: Mario Limonciello.
19693
a94a6671
RM
196942010-12-09 Robert Millan <rmh@gnu.org>
19695
19696 * NEWS: Document addition of ZFS support.
19697
24b7938b
CW
196982010-12-04 Colin Watson <cjwatson@ubuntu.com>
19699
19700 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19701 rather than `/ 2', as the latter requires -Wa,--divide which would
19702 require bumping our minimum binutils version.
19703
bddc3ef6
BC
197042010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19705
19706 * util/grub-script-check.c (main): Print script line number on
19707 error.
19708
bf78d5b2
RM
197092010-12-01 Robert Millan <rmh@gnu.org>
19710
19711 * grub-core/fs/zfs/zfs.c: New file.
19712 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19713 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19714 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19715 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19716
19717 * include/grub/zfs/dmu.h: Likewise.
19718 * include/grub/zfs/dmu_objset.h: Likewise.
19719 * include/grub/zfs/dnode.h: Likewise.
19720 * include/grub/zfs/dsl_dataset.h: Likewise.
19721 * include/grub/zfs/dsl_dir.h: Likewise.
19722 * include/grub/zfs/sa_impl.h: Likewise.
19723 * include/grub/zfs/spa.h: Likewise.
19724 * include/grub/zfs/uberblock_impl.h: Likewise.
19725 * include/grub/zfs/vdev_impl.h: Likewise.
19726 * include/grub/zfs/zap_impl.h: Likewise.
19727 * include/grub/zfs/zap_leaf.h: Likewise.
19728 * include/grub/zfs/zfs.h: Likewise.
19729 * include/grub/zfs/zfs_acl.h: Likewise.
19730 * include/grub/zfs/zfs_znode.h: Likewise.
19731 * include/grub/zfs/zil.h: Likewise.
19732 * include/grub/zfs/zio.h: Likewise.
19733 * include/grub/zfs/zio_checksum.h: Likewise.
19734
19735 * Makefile.util.def: Build ZFS into libgrubmods.
19736 * grub-core/Makefile.core.def: Build zfs.mod.
19737
3f0f3831
SJ
197382010-11-30 Szymon Janc <szymon@janc.net.pl>
19739
19740 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19741 variable.
19742 * grub-core/commands/wildcard.c (match_files): Likewise.
19743
3a4253b2
RM
197442010-11-30 Robert Millan <rmh@gnu.org>
19745
19746 * grub-core/loader/i386/bsd.c
19747 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19748 whether kernel is loaded using grub_loader_is_loaded(), rather
19749 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19750 certain error conditions.
19751
8c317b27
RM
197522010-11-30 Robert Millan <rmh@gnu.org>
19753
c5c9cd3e
RM
19754 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19755 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19756
49d3ab46
VS
197572010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19758
19759 Avoid using tricks for initialising endian variables.
19760
19761 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19762 Make const.
19763 (GRUB_MOD_INIT): Don't byte-swap.
19764 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19765 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19766 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19767 (grub_swap_bytes32_compile_time): Likewise.
19768 (grub_cpu_to_le32_compile_time): Likewise.
19769 (grub_cpu_to_le16_compile_time): Likewise.
19770
f420a804
VS
197712010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 * util/grub-setup.c (setup): Stop recommending --force. People who
19774 understand the dangers of blocklists are able to find this option
19775 anyway and the ones who don't shouldn't use it anyway.
19776
4e7db17b
RM
197772010-11-26 Robert Millan <rmh@gnu.org>
19778
19779 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19780 Update all users.
19781
9be57a0d
CW
197822010-11-26 Colin Watson <cjwatson@ubuntu.com>
19783
19784 Fix LVM-on-RAID probing.
19785
19786 * util/grub-probe.c (probe): Remember which disk was detected as
19787 RAID (perhaps an LVM physical volume). Use that disk's raidname
19788 rather than that of the top-level disk.
19789
2c7859b3 197902010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 19791
d7647bb6
BC
19792 Fix cmdline argument quotes for setparams command of menuentry
19793 definitions.
7e623b0d
BC
19794
19795 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19796 quotes for arguments.
f866fe80 19797 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 19798 grub_strchrsub function instead.
f866fe80 19799
7955bea0 19800 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 19801
74f72a64
CW
198022010-11-24 Colin Watson <cjwatson@ubuntu.com>
19803
19804 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19805 effort by skipping "." and ".." entries up-front.
19806 Suggested by: Michael Lazarev.
19807
5a407278
CW
198082010-11-24 Colin Watson <cjwatson@ubuntu.com>
19809
19810 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19811 ldflags to ldadd, to fix link line ordering.
19812 (none_decompress): Likewise.
19813
3030d8ec
CW
198142010-11-24 Colin Watson <cjwatson@ubuntu.com>
19815
19816 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19817 platforms.
19818 (grub-emu-lite): Remove kern/emu/cache.S.
19819
b7fbac12
CW
198202010-11-23 Colin Watson <cjwatson@ubuntu.com>
19821
19822 * util/deviceiter.c (compare_devices): If the by-id link for a
19823 device couldn't be resolved, fall back to sorting by the by-id link
19824 rather than segfaulting.
19825 Reported and tested by: Daniel Mierswa.
19826
5225f328
CW
198272010-11-23 Colin Watson <cjwatson@ubuntu.com>
19828
19829 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19830 ldflags, to fix link line ordering.
19831
038b3ce8
CW
198322010-11-23 Colin Watson <cjwatson@ubuntu.com>
19833
19834 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19835 linkers are picky about this.
19836
bf16e98e
CW
198372010-11-23 Colin Watson <cjwatson@ubuntu.com>
19838
19839 * grub-core/Makefile.am (command.lst): Adjust sed expression
19840 ordering so that extended and priority commands aren't treated as
19841 ordinary commands.
19842
7242bab6
CW
198432010-11-23 Colin Watson <cjwatson@ubuntu.com>
19844
19845 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19846 Remove byte-swapping function calls, which are not valid in
19847 structure initialisers.
19848 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19849 non-const.
19850 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19851 grub_gpt_partition_type_bios_boot.
19852
14e8b279
CW
198532010-11-22 Colin Watson <cjwatson@ubuntu.com>
19854
19855 Fix test program build on GNU/kFreeBSD.
19856
19857 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19858 $(LIBNVPAIR)' library dependencies.
19859
e6f63338 198602010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
19861
19862 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19863
cf8ffc38
CW
198642010-11-22 Colin Watson <cjwatson@ubuntu.com>
19865
19866 * util/grub-install.in: Remove excessive quoting that broke
19867 installations to RAID devices.
19868
7f8b0fd7
VS
198692010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19870
19871 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19872 bootloader version instead of 0.
19873
dfd240b1
VS
198742010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19877 warning.
19878
7b61e609
VS
198792010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19880
19881 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19882 retrieve the metadat sector if size isn't known.
19883 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19884
9dfe92d0
RM
198852010-11-18 Robert Millan <rmh@gnu.org>
19886
19887 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19888 with grub_memcmp().
19889
41cc919e
VS
198902010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19891
19892 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19893 arrow.
19894 Reported by: Jordan Uggla.
19895
1afcc914
VS
198962010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19897
19898 Make better UTF compliant.
19899
19900 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19901 sequences as incorrect.
19902 (grub_is_valid_utf8): Likewise.
19903 (grub_utf8_to_ucs4): Likewise.
19904 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19905 (grub_ucs4_to_utf8_alloc): Likewise.
19906 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19907
f1808884
VS
199082010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19909
19910 Make legacy_source behave like source.
19911
19912 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19913 grub_show_menu.
19914 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19915
24ec575b
CW
199162010-11-16 Colin Watson <cjwatson@debian.org>
19917
19918 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
19919 (-Wunused implies -Wunused-parameter, but not vice versa).
19920
72b7c7aa
CW
199212010-11-16 Colin Watson <cjwatson@ubuntu.com>
19922
19923 * configure.ac: Make error messages less confusing by testing for
19924 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
19925 accepted, but produces a diagnostic if something else is wrong).
19926
e98937aa
VS
199272010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19928
19929 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
19930 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
19931 (now unused).
19932 (grub_keyboard_controller_init)
19933 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
19934 read the initial state since controller isn't inited yet.
19935
f6bbabc3
VS
199362010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19937
19938 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
19939 allocate_regbeg may need to create new chunk header.
19940
22e7dbb2
VS
199412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19942
19943 Fix quoting in legacy parser.
19944
19945 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
19946 single quotes.
19947 (grub_legacy_parse): Likewise.
19948 Reported by: Jordan Uggla.
19949 Tested by: Jordan Uggla.
19950
03f80960
VS
199512010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 Don't add -lgcc on i386 and x86_64.
19954
19955 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
19956 * conf/Makefile.common (LDADD_KERNEL): Likewise.
19957 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
19958
779dc15b
VS
199592010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19960
19961 * configure.ac: Add -Wno-trampolines when supported.
19962
d20a3b37
MV
199632010-11-14 Modestas Vainius <modax@debian.org>
19964
19965 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
19966 fakeraid.
19967
e5360933
GC
199682010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19969
19970 Add generic logical block size support for UDF.
19971
19972 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
19973 (GRUB_UDF_BLKSZ): Removed.
19974 (struct grub_udf_data): New field "lbshift" to hold the logical block
19975 size of the file system in log2 format. All users updated.
19976 (sblocklist): Change type to unsigned.
19977 (grub_udf_mount): Change type of "sblklist" to unsigned.
19978 Move AVDP search before VRS recognition, because the latter requires
19979 knowledge of the logical block size, which is detected during the
19980 former.
19981 Detect and validate logical block size during AVDP search, adding
19982 support for block sizes 512, 1024 and 4096.
19983 Make VRS recognition independent of block size.
19984
cb0229c5
GC
199852010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19986
19987 Properly handle deleted files on UDF.
19988
19989 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
19990 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
19991 set.
19992
406858a8
GC
199932010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19994
19995 Support reading files larger than 2 GiB.
19996
19997 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
19998 "offset" to grub_off_t.
19999 (grub_udf_read_file): Likewise for parameter "pos".
20000
130da6a7
VS
200012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20002
20003 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20004 unavailable.
20005 (Simple configuration): Refer to Changes from GRUB Legacy about
20006 save_env availability.
20007
65e93f6b
VS
200082010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20009
20010 * util/grub-install.in: Ignore empty partition table detection
20011 instead of trying to include part_ module.
20012
1fd08bf1
VS
200132010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20014
20015 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20016 LVM on RAID support.
20017
de1a024f
VS
200182010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20019
20020 Properly define WORDS_BIGENDIAN in wrapped environments.
20021
20022 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20023 definition.
20024 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20025
20026 Reported by: Manoel Rebelo Abranches.
20027 Tested by: Manoel Rebelo Abranches.
20028
bc5dd0b9
VS
200292010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20030
20031 * util/grub-mkconfig.in: Fix quoting.
20032
58c184be
VS
200332010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20034
20035 Support big ext2 files.
20036
20037 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20038 (grub_ext2_read_block): Support triple indirect blocks.
20039 (grub_ext2_read_file): Use 64-bit types and read size_high.
20040 (grub_ext2_open): Read size_high.
20041 Reported by: Ximin Luo.
20042 Tested by: Manoel Rebelo Abranches.
20043
5f0c02b3
VS
200442010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20045
20046 * util/grub-install.in: Handle filenames containing spaces.
20047 Reported by: Jordan Uggla.
20048 Tested by: Jordan Uggla.
20049
4417aae6
VS
200502010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20051
20052 * util/grub-mkconfig.in (grub_script_check): New variable.
20053 Use grub_script_check instead of grub-script-check.
20054 Reported by: Barry Jackson.
20055
7625a68e
VS
200562010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20057
20058 * docs/grub.texi (menu): Correct the order.
20059 Reported by: D. Hugh Redelmeier.
20060
10001ac5
VS
200612010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20062
20063 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20064 jump.
20065
9c4cf53b
MRA
200662010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20067
10001ac5
VS
20068 * include/grub/elfload.h (grub_elf32_size): New parameter.
20069 All users updated.
9c4cf53b
MRA
20070 Return maximum segments alignment.
20071 (grub_elf64_size): Likewise.
20072 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20073 Return maximum segments alignment.
20074 (grub_elf64_size): Likewise.
20075 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20076 (grub_linux_claimmap_iterate): New function. Uses the
20077 "available" property in the "memory" node for memory allocation
20078 for kernel in the PowerPC loader.
9c4cf53b
MRA
20079 (grub_linux_load32): Correctly find linux entry point offset.
20080 (grub_linux_load64): Likewise.
20081
d2bf06bf
RM
200822010-11-07 Robert Millan <rmh@gnu.org>
20083
20084 On mips-yeeloong, build with -march=loongson2f when this flag is
20085 available (GCC >= 4.4).
20086 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20087 `-march=mips3'.
20088 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20089 or otherwise add -march=mips3.
20090
898c99a2
BC
200912010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20092
87220a68
BC
20093 Suppress shell expansion on echo '*' and echo "*" like cases.
20094 Reported by: Jordan Uggla.
898c99a2
BC
20095
20096 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20097 string arguments before shell expansion.
20098 * tests/grub_cmd_echo.in: New testcases.
20099
4f9b406a
RM
201002010-11-07 Robert Millan <rmh@gnu.org>
20101
20102 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20103 transition.
20104
80c6d25e
VS
201052010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20106
20107 * grub-core/kern/emu/hostdisk.c
20108 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20109
4a1a0153
VS
201102010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20111
20112 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20113 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20114 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20115
34706ddc
VS
201162010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20119
6972dea9
VS
201202010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 * util/grub-install.in: Replace useless recomendation to pass
20123 --modules with a recomendation to report a bug.
20124
9c693bd6
VS
201252010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20126
20127 Properly register serial terminfo.
20128 Reported by: Jordan Uggla
20129
20130 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20131 const.
20132 (grub_serial_terminfo_output_template): Likewise.
20133 (grub_cmd_serial): Register "serial" with terminfo.
20134 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20135 grub_serial_terminfo_output.
20136
6c9e4c0c
RM
201372010-11-05 Robert Millan <rmh@gnu.org>
20138
20139 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20140 needed).
20141
b9b3839f
RM
201422010-11-05 Robert Millan <rmh@gnu.org>
20143
20144 On Yeeloong, pass machine type information to Linux.
20145
20146 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20147 (LOONGSON_MACHTYPE): New macro, set to
20148 "machtype=lemote-yeeloong-2f-8.9inches".
20149 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20150 additional argument to Linux.
20151
1a3aaff4
RM
201522010-11-04 Robert Millan <rmh@gnu.org>
20153
20154 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20155 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20156 (its SATA disks are detected as slaveless IDE master drives on
20157 kFreeBSD).
20158 Reported by Carsten Aulbert.
20159
a75f4f62
CW
201602010-11-02 Colin Watson <cjwatson@ubuntu.com>
20161
20162 * util/bin2h.c (main): Fix spelling error in generated output.
20163
33b4b0c6
GS
201642010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20165
20166 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20167
2b36fbf4
VS
201682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20169
20170 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20171 vga= option is supplied.
20172
74aaf558
VS
201732010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20174
20175 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20176 * util/grub.d/10_kfreebsd.in: Likewise.
20177 * util/grub.d/10_linux.in: Likewise.
20178 * util/grub.d/20_linux_xen.in: Likewise.
20179
6428dec3
VS
201802010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20181
20182 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20183 argument as an argument to no-argument option.
20184
f8729d98
VS
201852010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20186
20187 * util/grub.d/10_linux.in: Add missing load_video with explicit
20188 GRUB_GFXPAYLOAD_LINUX.
20189
89d68fa6
VS
201902010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20191
20192 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20193
3a1197cd
VS
201942010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20195
20196 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20197 elements with invlid index.
20198 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20199 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20200 members.
20201 * include/grub/raid.h (grub_raid_member): New struct.
20202 (grub_raid_array): Transform devices and start_sector into usage of
20203 grub_raid_member. All users updated
20204 (allocated_devs): New member.
20205
71574288
VS
202062010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20207
20208 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20209 is modified
20210
8d40ec65
BC
202112010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20212
20213 NetBSD build fix for getline function conflict from gnulib.
20214
20215 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20216 components that depend on gnulib headers.
20217 (libgrubmods.a): Renamed from earlier libgrub.a.
20218 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20219
95b9257e
VS
202202010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20221
20222 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20223 install rather than creating a broken install.
20224
26c53dc6
VS
202252010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20226
20227 * util/grub-setup.c (argp): Remove misleading example of installing to
20228 a partition.
20229
4171b3c5
VS
202302010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20231
20232 * util/grub-setup.c (setup): Clarify the error message.
20233
18568d18
VS
202342010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20237
4f6a2e21
VS
202382010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20239
20240 * grub-core/kern/emu/misc.c
20241 (grub_make_system_path_relative_to_its_root)
20242 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20243
202442010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20245
20246 * grub-core/kern/emu/misc.c
20247 (grub_make_system_path_relative_to_its_root): Revert r2882.
20248
e138c458
VS
202492010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20252 useless field head. All users updated.
20253 (free_subchunk): Correct handling of IN_REGION subchunk.
20254
0cbcdf0e
CW
202552010-10-22 Colin Watson <cjwatson@ubuntu.com>
20256
20257 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20258 (Supported kernels): Likewise.
20259
b65ea155
GS
202602010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20261
20262 Make mktemp invocations portable.
20263
20264 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20265 exit if mktemp fails.
20266 * tests/grub_script_blockarg.in: Likewise.
20267 * tests/partmap_test.in: Likewise.
20268 * tests/util/grub-shell-tester.in: Likewise.
20269 * tests/util/grub-shell.in: Likewise.
20270 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20271 * Makefile.am: Likewise, and chain shell commands with `&&'
20272 instead of ';'.
20273 * util/grub-mkrescue.in: Use the same explicit template as above, and
20274 exit if mktemp fails.
20275
05f43cdd
BC
202762010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20277
20278 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20279 Linux kernel, reported by Dennis Schridde.
20280
800e6a9b
SJ
202812010-10-17 Szymon Janc <szymon@janc.net.pl>
20282
20283 * grub-core/normal/auth.c (grub_auth_check_authentication):
20284 Set-but-not-used variable removed.
20285
d82df574
VS
202862010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20287
20288 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20289 32-bit linux protocol.
20290
7bced458
VS
202912010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20292
20293 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20294 cursor shape for sanity.
20295
5b027690
VS
202962010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20297
20298 * docs/grub.texi (Installation): Document buggy BIOS install.
20299
ba5f65cf
VS
203002010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20301
20302 * docs/grub.texi (Installation): Indent.
20303
fdf2ec9c
VS
203042010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 * util/grub-setup.c (setup): New parameter allow_floppy.
20307 (arguments): New member allow_floppy.
20308 (argp_parser): Handle --allow-floppy.
20309 (main): Pass allow_floppy.
20310 * util/grub-install.in: New option --allow-floppy passed though to
20311 grub-setup.
20312
861dfd4c
VS
203132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 * util/grub-install.in: Handle partitionless disks.
20316
f77a8c24
VS
203172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20318
20319 * util/grub-setup.c (setup): Don't clean blocklists before readability
20320 verfification.
20321
27d9ee32
VS
203222010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20323
20324 * docs/grub.texi (Installation): Document embedding zone. Remove
20325 obsolete grub-install example.
20326
6bdda8f8
SJ
203272010-10-16 Szymon Janc <szymon@janc.net.pl>
20328
20329 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20330 Set-but-not-used variable ifdef'ed.
20331 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20332 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20333 variable removed.
20334 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20335 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20336 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20337 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20338 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20339 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20340 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20341 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20342 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20343 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20344 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20345 Likewise.
20346
e19b016b
VS
203472010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20348
20349 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20350 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20351 enum value.
20352
6c8d3002
VS
203532010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20354
20355 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20356 synonym to _S5_. Needed for some DSDTs.
20357
c32b51c9
VS
203582010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20359
20360 Userspace ACPI parser debugging.
20361
20362 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20363 headers and add relevant defines. Don't include standard headers.
20364 (main) [GRUB_DSDT_TEST]: New function.
20365 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20366 Don't declare functions.
20367
fbfbeb39
VS
203682010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20369
20370 Remove dead grub_efi_mm_fini.
20371
20372 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20373 (ALLOCATED_PAGES_SIZE): Likewise.
20374 (MAX_ALLOCATED_PAGES): Likewise.
20375 (allocated_pages): Likewise.
20376 (grub_efi_allocate_pages): Don't record allocated pages.
20377 (grub_efi_free_pages): Likewise.
20378 (grub_efi_mm_init): Likewise.
20379 (grub_efi_mm_fini): Removed.
20380
65f7ed7c
VS
203812010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20384 (grub_efi_mm_init): Take into account the memory map size increase.
20385
24977b44
VS
203862010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20387
20388 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20389 (serial_hw_put): Wait based on real time rather than port reads. Don't
20390 roken ports.
20391 * include/grub/serial.h (grub_serial_port): New field broken.
20392
1eb01cd2
RM
203932010-10-16 Robert Millan <rmh@gnu.org>
20394
20395 * grub-core/kern/emu/misc.c
20396 (grub_make_system_path_relative_to_its_root): Fix premature return
20397 when processing non-root ZFS filesystems.
5f8b440b 20398 Reported by Sergio Talens-Oliag.
1eb01cd2 20399
2d5fed60
RM
204002010-10-15 Robert Millan <rmh@gnu.org>
20401
20402 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20403 guarantee compressed ones are processed first.
20404
d0f4c1ea
VS
204052010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20406
20407 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20408 grub_efiemu_autocore.
20409
d87c681f
VS
204102010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20411
20412 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20413 rather than 0x1b.
20414 (grub_console_getkey): Use correct jae opcode rather than ja.
20415
219b3564
RM
204162010-10-12 Robert Millan <rmh@gnu.org>
20417
20418 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20419 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20420 variable. All references updated.
20421
20422 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20423
20c6bb7e
VS
204242010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20425
20426 Correctly distinguish mdraid flavours.
20427
20428 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20429 (insert_array): New argument raid.
20430 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20431 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20432 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20433
74baff84
VS
204342010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20435
20436 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20437 handling of special keys.
20438
3ef068df 204392010-10-02 Aleš Nesrsta <starous@volny.cz>
20440
c7980ad9
VS
20441 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20442 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20443
a9455194 204442010-10-02 Aleš Nesrsta <starous@volny.cz>
20445
c7980ad9
VS
20446 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20447 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20448 users updated.
a9455194 20449 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20450 Use right endpoint when querying descriptor.
a9455194 20451
441cfe65
VS
204522010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20453
20454 Clear out 0x80 color bit on EFI.
20455 Tested by: decoder
20456 Reported by: decoder and meta tech.
20457
20458 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20459 (grub_console_setcolorstate): Clear out 0x80 bit.
20460 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20461 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20462 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20463
bf26bcc4
VS
204642010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20465
20466 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20467 Set to "auto".
20468
6e3c515d
VS
204692010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20470
20471 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20472 mo_file after freeing.
20473
e6d983ba
VS
204742010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20475
20476 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20477
74ccb5b5
VS
204782010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20479
20480 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20481 flags.
20482
17821956
VS
204832010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20484
20485 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20486 usage.
20487
ee74fa48
VS
204882010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20489
20490 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20491
20492 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20493 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20494 and terminfo.h when needed.
20495 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20496 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20497 (terminfo): Enable only on terminfokernel.
20498 (extcmd): Likewise.
20499 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20500 * include/grub/lib/arg.h: Likewise.
20501 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20502 incorrect usage of ->.
20503
aa438e68
VS
205042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20505
20506 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20507 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20508
57994012
VS
205092010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20510
20511 Fix coreboot compilation.
20512
20513 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20514 Take VBE info into account even if only text is supported.
20515 (fill_vbe_info): Take into account the case when only VGA text
20516 is supported.
20517 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20518 on coreboot, multiboot and qemu.
20519
2a406611
VS
205202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20521
20522 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20523 debug messages.
20524 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20525
d33613fc
VS
205262010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20527
20528 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20529 parameters.
20530
44a1b432
VS
205312010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20532
20533 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20534 if they were BSD-style.
20535
edde54e6
VS
205362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20537
20538 * grub-core/boot/i386/pc/lnxboot.S: Replace
20539 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20540 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20541
b65830fa
VS
205422010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20543
20544 Write embedding zone using Reed-Solomon.
20545
20546 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20547 * grub-core/Makefile.am (rs_decoder.S): New target.
20548 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20549 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20550 (multiboot): Move to RS part.
20551 (post_reed_solomon): New label.
20552 (grub_boot_drive): Move to non-RS part since it's modified in memory
20553 on boot.
20554 Include rs_decoder.S.
20555 * grub-core/lib/reed_solomon.c: New file.
20556 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20557 New definition.
20558 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20559 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20560 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20561 * include/grub/partition.h (grub_partition_map): Change prototype of
20562 embed to allow returning additional sectors.
20563 * include/grub/reed_solomon.h: New file.
20564 * util/grub-setup.c (setup): Handle Reed-Solomon.
20565
0b4b227f
CW
205662010-09-28 Colin Watson <cjwatson@ubuntu.com>
20567
20568 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20569 i386 and x86-64 definedness tests.
20570
f772623b
YB
205712010-09-27 Yves Blusseau <blusseau@zetam.org>
20572
20573 Fix generation of kernel_syms.lst
20574
20575 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20576 ASM_PREFIX
20577
8e57a6ca
RM
205782010-09-26 Robert Millan <rmh@gnu.org>
20579
20580 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20581
20582 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20583 the pool is an array of devices, iterate through it and return the
20584 first device that passes a stat() test (instead of blindly returning
20585 the first one).
20586
f9130836
RM
205872010-09-26 Robert Millan <rmh@gnu.org>
20588
20589 Build fixes for GNU/kFreeBSD.
20590
20591 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20592 to programs that require ZFS conversion.
20593 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20594 kernels that don't have FLOPPY_MAJOR.
20595
96510faf
BC
205962010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20597
20598 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20599
449333eb
BC
206002010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20601
20602 Fix grub-emu build.
20603
20604 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20605 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20606 mdraid09 and mdraid1x.
20607
e1fd1939
CW
206082010-09-24 Colin Watson <cjwatson@ubuntu.com>
20609
20610 Re-enable grub-extras.
20611
20612 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20613 avoid confusing Automake. Run autogen only twice, once for the top
20614 level and once for grub-core. Add Makefile.util.def and
20615 Makefile.core.def from extra modules to the appropriate autogen
20616 invocations. If Makefile.common exists in an extra module, include
20617 it in both Makefile.util.am and grub-core/Makefile.core.am;
20618 similarly, include any Makefile.util.common file in Makefile.util.am
20619 and any Makefile.core.common file in grub-core/Makefile.core.am.
20620 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20621 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20622 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20623 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20624
20625 * gentpl.py (gvar_add): Turn GVARS into a set.
20626 (global_variable_initializers): Sort global variables on output.
20627 (vars_init): New function.
20628 (first_time): Likewise.
20629 (library): Ensure that non-global variable initialisations are
20630 emitted before the first time we emit code for a library block.
20631 Append to variables rather than setting them. Only emit
20632 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20633 each conditional path.
20634 (program): installdir() emits an Autogen macro, so must be passed to
20635 var_add rather than gvar_add.
20636 (data): Likewise.
20637 (script): Likewise.
20638 (rules): New function, centralising handling for different target
20639 types. Set up Guile association lists for first_time and vars_init,
20640 and send most output to a diversion so that variable initialisations
20641 can be emitted first.
20642 (module_rules): Use new rules function.
20643 (kernel_rules): Likewise.
20644 (image_rules): Likewise.
20645 (library_rules): Likewise.
20646 (program_rules): Likewise.
20647 (script_rules): Likewise.
20648 (data_rules): Likewise.
20649
20650 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20651
20652 * .bzrignore: Add contrib and grub-core/contrib. Remove
20653 grub-core/Makefile.gcry.am.
20654
1d12cf29
YB
206552010-09-24 Yves Blusseau <blusseau@zetam.org>
20656
20657 * grub-core/lib/LzFind.c: Add missing include.
20658 * grub-core/lib/LzmaEnc.c: Likewise.
20659 * grub-core/script/lexer.c: Likewise.
20660 * grub-core/script/yylex.l: Likewise.
20661 * util/grub-macho2img.c: Likewise.
20662 * util/grub-menulst2cfg.c: Likewise.
20663 * util/grub-mklayout.c: Likewise.
20664 * util/grub-mkpasswd-pbkdf2.c
20665 * util/grub-mkrelpath.c: Likewise.
20666 * util/resolve.c: Likewise.
20667
dd363028
BC
206682010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20669
20670 * Makefile.util.def (example_unit_test): Add
20671 grub-core/gnulib/libgnu.a.
20672
f5a109e2
GS
206732010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20674
20675 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20676
6d0fa83c
VS
206772010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20678
20679 Support xz compression on yeeloong.
20680
20681 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20682 * configure.ac: Check for LZMA.
20683 * grub-core/Makefile.core.def (xz_decompress): New target.
20684 (none_decompress): Likewise.
20685 * grub-core/boot/decompressor/minilib.c: New file.
20686 * grub-core/boot/decompressor/none.c: Likewise.
20687 * grub-core/boot/decompressor/xz.c: Likewise.
20688 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20689 * grub-core/kern/mips/cache_flush.S: Likewise.
20690 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20691 * grub-core/kern/mips/startup.S: Move first stage to ...
20692 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20693 nomacro.
20694 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20695 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20696 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20697 Allocate statically.
20698 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20699 Allocate statically or use scratch. Don't check CRC32.
20700 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20701 Allocate statically. Don't check CRC32.
20702 * include/grub/decompressor.h: New file.
20703 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20704 Removed.
20705 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20706 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20707 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20708 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20709 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20710 * util/grub-mkimage.c (grub_compression_t): New type.
20711 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20712 (image_target_desc): New field default_compression.
20713 (image_targets): Adjust yeeloong targets.
20714 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20715 (compress_kernel): New parameter comp.
20716 (generate_image): Likewise. Handle new compression case.
20717 (options): New option --compression
20718 (help): Likewise.
20719 (main): Handle new option.
20720
1b655af6
GS
207212010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20722
20723 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20724
8f03f0b5
CW
207252010-09-22 Colin Watson <cjwatson@ubuntu.com>
20726
20727 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20728 typo in __i386__ conditional.
20729
7835dfd3
VS
207302010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20731
20732 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20733 include.
20734
e255597e
VS
207352010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20736
6d0fa83c 20737 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20738
20739 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20740 new tags as supported.
20741 (acpiv2_size): New function.
20742 (grub_multiboot_get_mbi_size): Take new tags into account.
20743 (grub_multiboot_make_mbi): Add new tags.
20744 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20745
6cc14051 207462010-09-21 Aleš Nesrsta <starous@volny.cz>
20747
20748 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20749 Added missing configuration of USB device.
20750
df7769d8
CW
207512010-09-21 Colin Watson <cjwatson@ubuntu.com>
20752
20753 * grub-core/normal/menu_entry.c (run): Make sure we always return
20754 a value.
20755
b031012d
CW
207562010-09-21 Colin Watson <cjwatson@ubuntu.com>
20757
20758 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20759 NumberOfPages is UINT64 according to the UEFI specification, not
20760 UINTN. Fix printf format.
20761
174de8f3
CW
207622010-09-21 Colin Watson <cjwatson@ubuntu.com>
20763
20764 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20765 `err' to grub_usb_err_t.
20766 Reported and tested by: KESHAV P.R.
20767
d7dbe923
CW
207682010-09-21 Colin Watson <cjwatson@ubuntu.com>
20769
20770 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20771 tpart non-const, so that we can assign to it. (Since this is a
20772 typedef, the constness refers to the pointer rather than what it
20773 points to.)
20774
8d5e2af3
CW
207752010-09-21 Colin Watson <cjwatson@ubuntu.com>
20776
20777 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20778 $(top_srcdir)/grub-core/gnulib as well as
20779 $(top_builddir)/grub-core/gnulib.
20780 Reported by: KESHAV P.R.
20781
5c527783
CW
207822010-09-21 Colin Watson <cjwatson@ubuntu.com>
20783
20784 * util/grub-install.in: Fix the bootloader ID option to be
20785 consistently --bootloader-id, not --bootloader_id.
20786 Reported by: KESHAV P.R.
20787
d309a16e
CW
207882010-09-21 Colin Watson <cjwatson@ubuntu.com>
20789
20790 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20791 check hash checksum." consistently translatable.
20792
b830cd16
YB
207932010-09-21 Yves Blusseau <blusseau@zetam.org>
20794
20795 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20796 $(top_builddir).
20797
c4fe27a8
CW
207982010-09-21 Colin Watson <cjwatson@ubuntu.com>
20799
20800 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20801 (GRUB_MOD_INIT): Register sha1sum command.
20802 (GRUB_MOD_FINI): Unregister sha1sum command.
20803
a4c1d277
YB
208042010-09-21 Yves Blusseau <blusseau@zetam.org>
20805
20806 Keep boot and grub directory names in sync with utils scripts
20807
20808 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20809 * config.h.in: Add previous macros.
20810 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20811 * util/grub-install.in: Use $bootdir and $grubdir variables.
20812
4eff79d2
CW
208132010-09-21 Colin Watson <cjwatson@ubuntu.com>
20814
20815 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20816 convert partition names to disk names if the new `convert' parameter
20817 is set.
20818 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20819 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20820 disk in its own right. This can happen with Xen disk images.
20821
934d7e44
YB
208222010-09-21 Yves Blusseau <blusseau@zetam.org>
20823
20824 * util/grub-editenv.c: Update strings to avoid warnings when generating
20825 grub.pot file.
20826 * util/grub-setup.c: Likewise.
934d7e44 20827
df3367cc
VS
208282010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20829
20830 * configure.ac: Change version to 1.99~beta0.
20831
77a94e98
VS
208322010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20833
20834 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20835 Add BADRAM.
20836 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20837 Likewise.
20838 * include/multiboot.h: Resynced with specification.
20839 * include/multiboot2.h: Likewise.
20840
269004c1
CW
208412010-09-21 Colin Watson <cjwatson@ubuntu.com>
20842
20843 Fix po directory handling.
20844
20845 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20846 * grub-core/gnulib/Makefile.am: Import gettext module.
20847 * m4/gnulib-cache.m4: Likewise.
20848 * m4/gnulib-comp.m4: Likewise.
20849 * m4/gettext.m4: New file, from gnulib.
20850 * m4/glibc2.m4: Likewise.
20851 * m4/iconv.m4: Likewise.
20852 * m4/intdiv0.m4: Likewise.
20853 * m4/intl.m4: Likewise.
20854 * m4/intldir.m4: Likewise.
20855 * m4/intlmacosx.m4: Likewise.
20856 * m4/intmax.m4: Likewise.
20857 * m4/inttypes-pri.m4: Likewise.
20858 * m4/lcmessage.m4: Likewise.
20859 * m4/lib-ld.m4: Likewise.
20860 * m4/lib-link.m4: Likewise.
20861 * m4/lib-prefix.m4: Likewise.
20862 * m4/lock.m4: Likewise.
20863 * m4/nls.m4: Likewise.
20864 * m4/po.m4: Likewise.
20865 * m4/printf-posix.m4: Likewise.
20866 * m4/progtest.m4: Likewise.
20867 * m4/threadlib.m4: Likewise.
20868 * m4/uintmax_t.m4: Likewise.
20869 * m4/visibility.m4: Likewise.
20870 * po/Makefile.am: Remove.
20871 * po/Makefile.in.in: New file, from gettext.
20872 ($(DOMAIN).pot-update): Support POTFILES-shell.
20873 * po/Makevars: New file.
20874 * po/POTFILES-shell: Rename to ...
20875 * po/POTFILES-shell.in: ... this. Update.
20876 * po/POTFILES: Rename to ...
20877 * po/POTFILES.in: ... this. Update.
20878 * po/Rules-quot: New file, from gettext.
20879 * po/boldquot.sed: Likewise.
20880 * po/en@boldquot.header: Likewise.
20881 * po/en@quot.header: Likewise.
20882 * po/insert-header.sin: Likewise.
20883 * po/quot.sed: Likewise.
20884 * po/remove-potcdate.sin: Likewise.
20885
3e0fa5d0
VS
208862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20887
20888 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20889
ade9bd66
VS
208902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20891
20892 * util/grub.d/20_linux_xen.in: Use submenus.
20893
fc55cc4c
VS
208942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20895
20896 Support submenus.
20897
20898 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20899 parameter submenu. All users updated.
20900 * grub-core/normal/main.c (free_menu): Rename to ...
20901 (grub_normal_free_menu): ... this. Made global.
20902 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20903 if requested.
20904 * grub-core/normal/menu_entry.c (screen): New field submenu.
20905 (make_screen): Set submenu.
20906 (run): Open new context if requested.
20907 * include/grub/menu.h (grub_menu_entry): New field submenu.
20908 * include/grub/normal.h (grub_normal_free_menu): New proto.
20909
600cedf7
VS
209102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20911
20912 Menu entries extractor.
20913
20914 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20915 variants.
20916 (GRUB_MOD_INIT): Register new variants.
20917 (GRUB_MOD_FINI): Unregister new variants.
20918 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
20919 into grub_cmd_legacy_source.
20920 (grub_cmd_legacy_source): Implement extractor variants.
20921 (GRUB_MOD_INIT): Register new variants.
20922 (GRUB_MOD_FINI): Unregister new variants.
20923 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
20924 as an extractor.
20925 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
20926 search as an extractor.
20927 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
20928 test as an extractor.
20929 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
20930 as an extractor.
20931 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
20932 (grub_env_new_context): New function.
20933 (grub_env_context_open): Likewise.
20934 (grub_env_extractor_open): Likewise.
20935 (grub_env_extractor_close): Likewise.
20936 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20937 grub_extractor_level.
20938 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
20939 * include/grub/env.h (grub_env_extractor_open): New proto.
20940 (grub_env_extractor_close): Likewise.
20941 * include/grub/normal.h (grub_extractor_level): New external variable.
20942
7bda3a87
VS
209432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20944
20945 Make cutmem accept a region specification.
20946 Suggested by: Samuel Thibault
20947
20948 * grub-core/mmap/mmap.c (parsemem): New function.
20949 (grub_cmd_cutmem): Handle new arguments.
20950
2ea57f88
VS
209512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20952
20953 New command cutmem.
20954
20955 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
20956 (GRUB_MOD_INIT): Register new command.
20957 (GRUB_MOD_FINI): Unregister new command.
20958
74342e31
VS
209592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20960
20961 Support some annoying BSD and Minix subpartitions.
20962
20963 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
20964 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
20965 Properly handle concatenation.
20966 * grub-core/kern/device.c (grub_device_iterate): Likewise.
20967 * grub-core/normal/completion.c (iterate_partition): Likewise.
20968 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
20969 contain partition. All users updated.
20970 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
20971 struct.
20972 (grub_openbsdlabel_partition_map): Likewise.
20973 (bsdlabel_partition_map_iterate): Rename to ..
20974 (iterate_real): ... this. New arguments sector, freebsd and pmap.
20975 (bsdlabel_partition_map_iterate): New function.
20976 (netopenbsdlabel_partition_map_iterate): Likewise.
20977 (netbsdlabel_partition_map_iterate): Likewise.
20978 (openbsdlabel_partition_map_iterate): Likewise.
20979 (GRUB_MOD_INIT): Register new partmaps.
20980 (GRUB_MOD_FINI): Unregister new partmaps.
20981 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
20982 (grub_partition_msdos_iterate): ... this. All users updated.
20983 Don't support embedding other than in a minix partition.
20984 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
20985 proto.
20986 * include/grub/partition.h (grub_partition): New field msdostype.
20987 * util/grub-install.in: Handle openbsd and netbsd types being in
20988 part_bsd module.
20989
1e8d555b
VS
209902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20991
20992 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
20993
20994 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
20995 * grub-core/Makefile.core.def (mdraid): Renamed to ...
20996 (mdraid09): ... this.
20997 (mdraid1x): New module.
20998 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
20999 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21000
899d8af4
VS
210012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21002
21003 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21004 vsprintf.
21005
40901acd
CW
210062010-09-20 Colin Watson <cjwatson@ubuntu.com>
21007
21008 * grub-core/commands/efi/lsefimmap.c: Correct header.
21009 * NEWS: Update.
21010
dfe3b247
CW
210112010-09-20 Colin Watson <cjwatson@ubuntu.com>
21012
21013 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21014 as printf format strings; the translations might contain '%' which
21015 could cause a crash.
21016 (main): Likewise.
21017 * util/grub-fstest.c (argp_parser): Likewise.
21018 * util/grub-setup.c (argp_parser): Likewise.
21019 (main): Likewise.
21020
3286a4b4
VS
210212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21022
21023 Use argp in grub-fstest.
21024
21025 * util/grub-fstest.c: Don't include getopt.h.
21026 Include argp.h.
21027 (root): New variable.
21028 (args_count): Likewise.
21029 (nparm): Likewise.
21030 (num_disks): Likewise.
21031 (images): Likewise.
21032 (cmd): Likewise.
21033 (debug_str): Likewise.
21034 (args): Likewise.
21035 (options): Transformed to argp.
21036 (usage): Removed.
21037 (main): Split argument parsing into ...
21038 (argp_parser): ... this. Changed to argp format.
21039 (argp): New variable.
21040 (main): Use argp_parse.
21041
3dccbe4b
TG
210422010-09-20 Tristan Gingold <gingold@free.fr>
210432010-09-20 Robert Millan <rmh.grub@aybabtu.com>
210442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21045
21046 * grub-core/commands/efi/lsefimmap.c: New file.
21047 * grub-core/Makefile.core.def (lsefimmap): New module.
21048 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21049
38c259a7
VS
210502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21051
21052 Pause the execution (10s max) if any errors are displayed so the user
21053 has a chance to see them.
21054
21055 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21056 (grub_print_error): Increment grub_err_printed_errors.
21057 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21058 execution if any errors were displayed.
21059 (show_menu): Remove old code for pause.
21060 * grub-core/normal/menu_entry.c (run): Likewise.
21061 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21062 users updated.
21063 (grub_normal_get_char_counter): Likewise.
21064 * include/grub/err.h (grub_err_printed_errors): New external variable.
21065 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21066
f218b09c
VS
210672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21068
21069 Support multiboot VBE info.
21070
21071 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21072 Take VBE info into account.
21073 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21074 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21075 Call fill_vbe_info when appropriate.
21076 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21077 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21078 as supported.
21079 (grub_multiboot_get_mbi_size): Take new tags into account.
21080 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21081 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21082 Call fill_vbe_tag when appropriate.
21083 (grub_multiboot_make_mbi): Properly align tags.
21084 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21085 function.
21086 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21087 proto.
21088 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21089
a9cc5438
VS
210902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21091
21092 Suport manual terminal geometry specification.
21093
21094 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21095 Save state in grub_ofconsole_terminfo_output.
21096 (grub_ofconsole_term): Use grub_terminfo_getwh.
21097 (grub_ofconsole_getwh): Removed.
21098 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21099 (grub_serial_term): Use grub_terminfo_getwh.
21100 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21101 (options): New struct.
21102 (OPTION_*): New enum.
21103 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21104 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21105 width and height.
21106 (grub_terminfo_getwh): New proto.
21107 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21108
1a8fed20
VS
211092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 Handle legacy "terminal" command.
21112
21113 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21114 and FLAG_TERMINAL.
21115 (legacy_commands): Add terminal and title.
21116 (grub_legacy_parse): Handle terminal. Simplify title handling.
21117
41e9c57d
VS
211182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21119
21120 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21121 parameters overflow.
21122
61c874c5
CW
211232010-09-20 Colin Watson <cjwatson@ubuntu.com>
21124
21125 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21126 widthspec.h.
21127
21128 * docs/grub.texi (Shell-like scripting): Document `!'.
21129 (Network): Simplify using new i386-pc-pxe format. Mention
21130 grub-mknetdir.
21131
21132 * NEWS: Update.
21133
943682b4
CW
211342010-09-20 Colin Watson <cjwatson@ubuntu.com>
21135
21136 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21137 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21138 when needed.
21139
6d3d698d
CW
211402010-09-20 Colin Watson <cjwatson@ubuntu.com>
21141
21142 * grub-core/commands/efi/lsefisystab.c: Correct header.
21143 * grub-core/commands/efi/lssal.c: Likewise.
21144 * grub-core/commands/testload.c: Likewise.
21145
c982589f
CW
211462010-09-20 Colin Watson <cjwatson@ubuntu.com>
21147
21148 * util/grub-mkrescue.in: Add explicit root argument to --set to
21149 prevent the UUID being interpreted as an argument to --set (matches
21150 previous change to prepare_grub_to_access_device).
21151
a63c31b6
CW
211522010-09-20 Colin Watson <cjwatson@ubuntu.com>
21153
21154 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21155 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21156 the verbosity of later #ifs.
21157 (find_partition_start): Define this function on FreeBSD too.
21158 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21159 function.
21160 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21161 on FreeBSD.
21162
6439b8ee
YB
211632010-09-20 Yves Blusseau <blusseau@zetam.org>
21164
21165 * util/grub-editenv.c: Use argp instead of getopt.
21166
c5930ec8
YB
211672010-09-20 Yves Blusseau <blusseau@zetam.org>
21168
21169 * util/grub-setup.c: Use argp instead of getopt.
21170
15c69261
YB
211712010-09-20 Yves Blusseau <blusseau@zetam.org>
21172
21173 Use gnulib-tool to create gnulib source files.
21174
21175 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21176 grub-core/gnulib directories
21177 * .bzignore: Add **/.deps and autogenerated gnulib files
21178 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21179 of gnulib macros, add grub-core/gnulib/Makefile
21180 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21181 include m4 directory to aclocal.
21182 * Makefile.util.def: Remove direct compilation of gnulib source files
21183 and use the new grub-core/gnulib/libgnu.a.
21184 * build-aux/config.rpath: move config.rpath from top directory to
21185 build-aux
21186 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21187 in gnulib headers
21188 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21189 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21190 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21191 header.
21192 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21193 string.
21194
e511c9f5
YB
211952010-09-20 Yves Blusseau <blusseau@zetam.org>
21196
21197 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21198 grub-core/genmod.sh and grub-core/gensyminfo.sh
21199
c2dede05
BC
212002010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21201
21202 Add a test for echo command options.
21203
21204 * tests/grub_cmd_echo.in: New test.
21205 * Makefile.util.def: Rules for new test.
21206
c55f5018
SJ
212072010-09-20 Szymon Janc <szymon@janc.net.pl>
21208
21209 Remove crc.mod and move crc command to hashsum.mod.
21210 Remove lib/crc.c - users updated to use gcrypt implementation.
21211
21212 * grub-core/commands/crc.c: Removed.
21213 * grub-core/Makefile.core.def (crc): Module removed.
21214 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21215 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21216 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21217 * grub-core/lib/crc.c: Removed.
21218 * include/grub/lib/crc.h: Removed.
21219 * Makefile.util.def (crc): Remove lib/crc.c
21220 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21221 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21222 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21223 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21224 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21225 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21226
e0337366
VS
212272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21228
21229 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21230
742f9232
VS
212312010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 Split config.h for util and core.
21234
21235 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21236 (ADDR32): Likewise.
21237 (DATA32): Likewise.
21238 (BSS_START_SYMBOL): Likewise.
21239 (END_SYMBOL): Likewise.
21240 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21241 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21242 * config.h.in: New file.
21243 * configure.ac: Use config-util.h as config define file.
21244 Rename MACHINE into GRUB_MACHINE. All users updated.
21245 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21246 updated.
21247 (NESTED_FUNC_ATTR): Likewise.
21248 Substitue new variables.
21249 (COND_HAVE_ASM_USCORE): New conditional.
21250 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21251 (kernel_syms.lst): Use ASM_PREFIX.
21252 * grub-core/kern/emu/console.c: Include config-util.h.
21253 * grub-core/kern/emu/misc.c: Likewise.
21254 * grub-core/kern/emu/mm.c: Likewise.
21255 * include/grub/emu/misc.h: Likewise.
21256 * include/grub/libgcc.h: Likewise.
21257
39feb0e8
VS
212582010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21259
21260 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21261 constants usage.
21262 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21263 Fix GRUB_TERM_KEY_* constants usage.
21264 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21265
9af6dac3
VS
212662010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21267
21268 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21269 print pointer.
21270 * grub-core/bus/usb/uhci.c: Remove empty define.
21271 (grub_uhci_check_transfer): Add missing cast.
21272 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21273 print pointer.
21274 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21275 PRIuGRUB_SIZE.
21276 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21277
d6d94820
VS
212782010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21279
21280 * grub-core/Makefile.core.def (legacycfg): Add
21281 lib/i386/pc/vesa_modes_table.c on emu.
21282
3572f2b6
BC
212832010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21284
21285 Reduce number of temporary files generated by build system.
21286
21287 * grub-core/gencmdlist.sh: Removed.
21288 * grub-core/genfslist.sh: Removed.
21289 * grub-core/genhandlerlist.sh: Removed.
21290 * grub-core/genmodsrc.sh: Removed.
21291 * grub-core/genpartmaplist.sh: Removed.
21292 * grub-core/genparttoollist.sh: Removed.
21293 * grub-core/gentermiinallist.sh: Removed.
21294 * grub-core/genvideolist.sh: Removed.
21295
21296 * grub-core/genmod.sh.in: New file.
21297 * grub-core/gensyminfo.sh.in: New file.
21298
21299 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21300 * conf/Makefile.extra-dist: Update with new files.
21301 * gentpl.py: Remove rules related to unnecessary temporary files.
21302 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21303 and und-* files.
21304 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21305 genmod.sh scripts.
21306 * grub-core/bus/usb/uhci.c: Remove empty #define.
21307 * grub-core/genmoddep.awk: Updated with new syminfo format.
21308 * util/bash-completion.d/Makefile.am: Add config.log to
21309 CLEANFILES.
21310
c836b030
YB
213112010-09-19 Yves Blusseau <blusseau@zetam.org>
21312
21313 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21314
2f4e8053
BC
213152010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21316
21317 * util/grub-mkconfig.in: Check the config script for syntax errors
21318 before saving.
21319
75831c34
CW
213202010-09-19 Colin Watson <cjwatson@ubuntu.com>
213212010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21324 platforms.
21325 * util/grub-install.in: Add EFI and IEEE1275 support.
21326 * util/i386/efi/grub-install.in: Removed.
21327 * util/ieee1275/grub-install.in: Likewise.
21328
eaf41b25
VS
213292010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21330
21331 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21332 (grub_cmd_cmosclean): Likewise.
21333 (GRUB_MOD_INIT): Register command cmosclean.
21334 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21335 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21336
1a9130dd
CPE
213372010-09-18 Carles Pina i Estany <carles@pina.cat>
213382010-09-18 Aleš Nesrsta <starous@volny.cz>
213392010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21340
21341 Add keyboard layouts support.
21342
21343 * Makefile.util.def (grub-mklayout): New file.
21344 (grub-kbdcomp): New script.
21345 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21346 Add keyboard_layouts.h.
21347 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21348 commands/boot.c on yeeloong.
21349 (keylayouts): New module.
21350 * grub-core/bus/usb/ohci.c
21351 * grub-core/bus/usb/uhci.c
21352 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21353 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21354 (attach_root_port): Likewise.
21355 (poll_nonroot_hub): Likewise.
21356 (grub_usb_poll_devices): Likewise.
21357 (detach_device): Close transfer.
21358 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21359 function.
21360 (grub_usb_bulk_setup_readwrite): Likewise.
21361 (grub_usb_bulk_finish_readwrite): Likewise.
21362 * grub-core/commands/keylayouts.c: New file.
21363 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21364 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21365 aliases.
21366 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21367 support scancode 2.
21368 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21369 * include/grub/keyboard_layouts.h: New file.
21370 * util/grub-mklayout.c: New file.
21371 * util/grub-kbdcomp.in: Likewise.
21372
a1d84a5e
VS
213732010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21374
21375 Unify memory types.
21376
21377 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21378 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21379 types.
21380 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21381 (grub_upper_mem): Likewise.
21382 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21383 * include/grub/memory.h (grub_memory_type_t): New enum.
21384 All users updated.
21385
9696382e
VS
213862010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21387
21388 * grub-core/Makefile.core.def (lsapm): New module.
21389 * grub-core/commands/i386/pc/lsapm.c: New file.
21390 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21391 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21392 Likewise.
21393 * include/grub/i386/pc/apm.h: New file.
21394 * include/multiboot.h (multiboot_apm_info): New struct.
21395
213962010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21397
21398 GRUB-legacy configuration file support.
21399
21400 * Makefile.util.def (grub-menulst2cfg): New util.
21401 * docs/man/grub-menulst2cfg.h2m: New file.
21402 * grub-core/Makefile.core.def (legacycfg): New module.
21403 * grub-core/commands/legacycfg.c: New file.
21404 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21405 (grub_normal_add_menu_entry): ... this.
21406 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21407 (grub_normal_set_password): ...this.
21408 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21409 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21410 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21411 * grub-core/lib/legacy_parse.c: New file.
21412 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21413 * include/grub/i386/pc/vesa_modes_table.h: New file.
21414 * include/grub/legacy_parse.h: Likewise.
21415 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21416 * util/grub-menulst2cfg.c: New file.
21417
bf8d1338
CW
214182010-09-17 Colin Watson <cjwatson@ubuntu.com>
21419
21420 * grub-core/kern/emu/hostdisk.c
21421 (convert_system_partition_to_system_disk): Initialise node.
21422
9c0bad2e
CW
214232010-09-17 Colin Watson <cjwatson@ubuntu.com>
21424
21425 * grub-core/kern/emu/hostdisk.c
21426 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21427 leak.
21428 Reported and based on patch by: Modestas Vainius.
21429
a939d135
CW
214302010-09-17 Colin Watson <cjwatson@ubuntu.com>
21431
21432 Fix DM-RAID probing with recent versions of device-mapper udev
21433 rules.
21434
21435 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21436 canonicalise device paths under /dev/mapper/.
21437 (convert_system_partition_to_system_disk): Compare the
21438 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21439 path, since device nodes under /dev/mapper/ are often symlinks.
21440
0f7ee3c9
YB
214412010-09-17 Yves Blusseau <blusseau@zetam.org>
21442
21443 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21444
10854d0d
YB
214452010-09-16 Yves Blusseau <blusseau@zetam.org>
21446
21447 * configure.ac: Avoid some annoying error messages if freetype-config
21448 program is not found.
21449
108538d8
CW
214502010-09-16 Colin Watson <cjwatson@ubuntu.com>
21451
21452 Support RAID on virtio devices, and others.
21453
21454 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21455 Rename to ...
21456 [__MINGW32__] (grub_find_device): ... this.
21457 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21458 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21459 reasonable default if dir is NULL.
21460 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21461 ...
21462 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21463 (grub_guess_root_device): Update callers.
21464 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21465
21466 * util/raid.c (grub_util_getdiskname): Remove.
21467 (grub_util_raid_getmembers): Use grub_find_device rather than
21468 grub_util_getdiskname.
21469
e5bfc130
CW
214702010-09-16 Colin Watson <cjwatson@ubuntu.com>
21471
21472 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21473 needing to be compiled with serial support.
21474 (ls): Indicate that multiple files are accepted.
21475 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21476 indicate that multiple files are accepted.
21477
be458ae2
CW
214782010-09-16 Colin Watson <cjwatson@ubuntu.com>
21479
21480 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21481 libgrub_a_init.c, and util/bash-completion.d/grub.
21482
cb731b5e
VS
214832010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21484
21485 * util/grub-setup.c (setup): Fix incorrect container semantics.
21486
35139e8a
VS
214872010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21488
21489 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21490 misusage.
21491 Reported by: J. Nick Terry
21492
e50fca4a
VS
214932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21494
21495 Move embedding routines to partmap sources files.
21496
21497 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21498 [GRUB_UTIL]: New variable.
21499 (gpt_partition_map_iterate): Set part.parent.
21500 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21501 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21502 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21503 New function.
21504 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21505 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21506 (grub_partition_map) [GRUB_UTIL]: New field embed.
21507 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21508 (setup): Use ->embed.
21509
f00478b7
VS
215102010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21511
21512 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21513 function.
21514 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21515 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21516
2b94e3ff
YB
215172010-09-15 Yves Blusseau <blusseau@zetam.org>
21518
21519 Add function to get completions from usage.
21520
21521 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21522 completions from usage. Use LC_ALL=C to get options properly.
21523
2e04a006
VS
215242010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21525
21526 * grub-core/gnulib/basename-lgpl.c: Imported.
21527 * grub-core/gnulib/basename.c: Likewise.
21528 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21529 * grub-core/gnulib/dirname.c: Likewise.
21530 * grub-core/gnulib/dirname.h: Likewise.
21531 * grub-core/gnulib/stripslash.c: Likewise.
21532
5dcdf93a
VS
215332010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21534
21535 * grub-core/gnulib/error.c: Resynced.
21536 * grub-core/gnulib/getopt.c: Likewise.
21537 * grub-core/gnulib/getopt_int.h: Likewise.
21538 * grub-core/gnulib/regex.h: Likewise.
21539 * grub-core/gnulib/regex_internal.c: Likewise.
21540 * grub-core/gnulib/regex_internal.h: Likewise.
21541
014f47b7
SJ
215422010-09-15 Szymon Janc <szymon@janc.net.pl>
21543
21544 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21545 CRC calculations and validity checks.
21546 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21547 calculations.
21548
dd521a4a
SJ
215492010-09-15 Szymon Janc <szymon@janc.net.pl>
21550
21551 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21552
79c4eeb9
VS
215532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21554
21555 Fix incorrect echo options handling.
21556 Reported by: Yves Blusseau.
21557
21558 * include/grub/command.h (grub_command_flags_t): New flags
21559 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21560 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21561 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21562
ed80f7d5
VS
215632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21564
21565 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21566 users updated.
21567 (GRUB_COMMAND_FLAG_MENU): Likewise.
21568 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21569 (GRUB_COMMAND_FLAG_TITLE): Removed.
21570 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21571 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21572 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21573 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21574 (grub_command_flags_t): New enum. All users updated.
21575
5fe7620a
SG
215762010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21577
21578 Fix solaris compilation.
21579
21580 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21581 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21582 (grub-emu-list): Likewise.
21583
545b752f
VS
215842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21585
21586 Remove deprecated root command.
21587
21588 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21589 updated.
21590
6c1a338c
VS
215912010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21592
21593 * util/i386/pc/grub-setup.c: Merge this ...
21594 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21595 * util/grub-setup.c: ... into this.
21596 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21597 New struct.
21598
215992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21600
21601 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21602 possible.
21603
d2ea4551
VS
216042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21605
21606 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21607 allocate p.
21608
3c3b5040
VS
216092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21610
21611 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21612 explicit root argument to set to prevent UUID to be interpreted as
21613 argument to set.
21614
b71c3fae
VS
216152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21616
21617 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21618
275433e6
VS
216192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21620
21621 Don't export grub_gate_a20.
21622
21623 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21624 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21625 to ...
21626 (grub_gate_a20): ... this. All users updated.
21627 * include/grub/i386/pc/init.h: Removed. All users updated.
21628
a5dbb1f1
VS
216292010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21630
21631 Create euro.pf2 which supports most European languages.
21632
21633 * Makefile.am (grubdata_DATA): Add euro.pf2.
21634 (euro.pf2): New target.
21635 (CLEANFILES): Add euro.pf2.
21636
62a747cb
VS
216372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21638
21639 * configure.ac: Disable emu-usb by default to prevent inadvertent
21640 device takeover.
21641
608e43b1
VS
216422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21643
21644 Disable usbserial on grub-emu since our libusb code isn't good enough
21645 yet.
21646
21647 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21648 (usbserial_pl2303): Likewise.
21649 (usbserial_ftdi): Likewise.
21650
94564f81
VS
216512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21652
21653 * include/grub/disk.h (grub_disk): Remove has_partitions.
21654 All users updated.
21655 * disk/loopback.c (grub_loopback): Remove has_partitions.
21656 All users updated.
21657 (options): Remove partitions. All users updated.
21658 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21659 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21660 actual partition table is found.
21661
3352800b
VS
216622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21663
21664 Remove readability checks (too many false negatives).
21665
21666 * util/grub-install.in: Remove readability checks.
21667 * util/grub-mkconfig.in: Likewise.
21668 * util/grub.d/10_hurd.in: Likewise.
21669 * util/grub.d/10_kfreebsd.in: Likewise.
21670 * util/grub.d/10_linux.in: Likewise.
21671 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21672 way.
21673
2419f17a
VS
216742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21675
21676 Enable acpi shutdown on all ACPI platforms.
21677
21678 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21679 on coreboo, multiboot and EFI.
21680 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21681 (grub_acpi_halt): Likewise.
21682 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21683 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21684 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21685 * grub-core/lib/i386/halt.c (grub_halt)
21686 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21687
0575c7c3
VS
216882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21689
21690 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21691 context.
21692
54ac3cd1
VS
216932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21696 * grub-core/video/efi_uga.c: Likewise.
21697
b2a30ac5
VS
216982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21699
21700 Filter devaliases and never open same device twice.
21701
21702 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21703 (last_ihandle): Likewise.
21704 (ofdisk_hash_ent): New member shortest.
21705 (ofdisk_hash_add): Add canonical path too.
21706 (scan): New function.
21707 (grub_ofdisk_iterate): Iterate over hashed entries.
21708 (compute_dev_path): Don't add :0.
21709 (grub_ofdisk_open): Don't really open the disk.
21710 (grub_ofdisk_close): Avoid closing unrelated disk.
21711 (grub_ofdisk_read): Implement reopen logic.
21712 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21713 New function.
21714 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21715 New proto.
21716
fb53b340
VS
217172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21718
21719 Fix sparc64.
21720
21721 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21722 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21723 right address. Add sparc64_ieee1275_ldflags.
21724 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21725 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21726 to grub_host_to_target_addr
21727 (load_image): Likewise.
21728
f452b040
VS
217292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21730
21731 * grub-core/normal/completion.c (complete_file): Handle device
21732 containing slash.
21733 Fix based on patch by Doug Nazar.
21734
9b5b2541
VS
217352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21736
21737 grub-mknetdir script.
21738
21739 * Makefile.util.def (grub-mknetdir): New module.
21740 * tests/util/grub-shell.in: Support boot=net
21741 * util/grub-mknetdir.in: New file.
21742
9d2be652
VS
217432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21744
21745 videoinfo on non-vbe.
21746
21747 * grub-core/Makefile.core.def (vbeinfo): Removed.
21748 (vbetest): Removed.
21749 (videoinfo): New module.
21750 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21751 * grub-core/commands/i386/pc/vbetest.c: Removed.
21752 * grub-core/commands/videoinfo.c: New file.
21753 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21754 specification.
21755 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21756 as vbetest.
21757 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21758 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21759 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21760 mode_number. New parameter mode. All users updated.
21761 (grub_video_gop_iterate): New function.
21762 (grub_video_efi_gop): New member iterate.
21763 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21764 (grub_vbe_set_video_mode): Remove setting useless fields.
21765 (vbe2videoinfo): New function.
21766 (grub_video_vbe_iterate): Likewise.
21767 (grub_video_vbe_setup): Use vbe2videoinfo.
21768 (grub_video_vbe_print_adapter_specific_info): New function.
21769 (grub_video_vbe_adapter): New fields iterate and
21770 print_adapter_specific_info.
21771 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21772 All users updated.
21773 (grub_video_mode_info): New field mode_number.
21774 (grub_video_adapter): New fields iterate and
21775 print_adapter_specific_info.
21776
179503f5
TG
217772010-09-13 Tristan Gingold <gingold@free.fr>
217782010-09-13 Robert Millan <rmh.grub@aybabtu.com>
217792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21780
21781 * grub-core/commands/efi/lsefisystab.c: New file.
21782 * grub-core/commands/efi/lssal.c: Likewise.
21783 * grub-core/Makefile.core.def (lsacpi): New module.
21784 (lsefisystab): Likewise.
21785 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21786 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21787 (grub_efi_sal_system_table): New struct.
21788 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21789 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21790 (grub_efi_sal_system_table_platform_features): Likewise.
21791 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21792 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21793 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21794 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21795
cf9827de
VS
217962010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21797
21798 Support explicit user claim that a device is BIOS-visible.
21799
21800 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21801 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21802 * grub-core/kern/emu/hostdisk.c
21803 (convert_system_partition_to_system_disk): Support mdX.
21804 (find_system_device): New parameter add. All users updated.
21805 (grub_util_biosdisk_is_present): New function.
21806 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21807 proto.
21808
53f0eb1f
VS
218092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21810
21811 Search hints support.
21812
21813 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21814 All users updated.
21815
b23ffd70
YB
218162010-09-13 Yves Blusseau <blusseau@zetam.org>
21817
21818 Bash completion script for util commands
21819
21820 * Makefile.am: Add util/bash-completion.d directory
21821 * configure.ac: Likewise.
21822 * util/bash-completion.d/Makefile.am: New file.
21823 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21824
d547dc28
VS
218252010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21828 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21829 Reported by: Yves Blusseau.
21830
2fc8ccb9
VS
218312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21832
21833 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21834 partition size and offset.
21835
d8a84076
VS
218362010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21837
21838 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21839
84fb3b3d
VS
218402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21841
21842 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21843
768ec2e2
VS
218442010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21845
21846 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21847 (grub_xvasprintf): Likewise.
21848
4870900f
VS
218492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21850
21851 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21852
faca6bec
VS
218532010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21856 args ending with NULL.
21857
218582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
21859
21860 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21861 pointer.
21862
3c70f225
SJ
218632010-09-11 Szymon Janc <szymon@janc.net.pl>
21864
21865 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21866
4df7996d
VS
218672010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21868
21869 Shutdown using ACPI.
21870
21871 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21872 * grub-core/commands/acpihalt.c: New file.
21873 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21874 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21875 (grub_acpi_halt): New proto.
21876 (GRUB_ACPI_SLP_EN): New const.
21877 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21878 (GRUB_ACPI_OPCODE_*): New enum.
21879 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21880
126b4c32
TG
218812010-09-11 Tristan Gingold <gingold@free.fr>
218822010-09-11 Robert Millan <rmh.grub@aybabtu.com>
218832010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21884
21885 * commands/lsacpi.c: New file.
21886 * grub-core/Makefile.core.def (lsacpi): New module.
21887 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21888 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21889 (grub_acpi_madt_entry_header): New struct.
21890 (grub_acpi_madt): Likewise.
21891 (grub_acpi_madt_entry_interrupt_override): Likewise.
21892 (grub_acpi_madt_entry_sapic): Likewise.
21893 (grub_acpi_madt_entry_lsapic): Likewise.
21894 (grub_acpi_madt_entry_platform_int_source): Likewise.
21895 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21896 (PRIuGRUB_UINT32_T): Likewise.
21897 (PRIxGRUB_UINT64_T): Likewise.
21898
1aa4fe88
VS
218992010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21900
21901 Implement loading palette on ieee1275_fb.
21902
21903 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21904 (have_setcolors): Likewise.
21905 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21906 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21907 (grub_video_ieee1275_set_palette): Implement.
21908
25761e13
VS
219092010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
219102010-09-11 Colin Watson <cjwatson@ubuntu.com>
21911
21912 * util/grub-install.in (grub_partition): New variable.
21913 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21914 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21915 Fixes a bug reported by Yves Blusseau.
21916
050abaea
VS
219172010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21918
21919 Fix emu on mipsel.
21920
21921 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
21922 =grub_cpu_flush_cache on all mips and not only yeeloong.
21923 * configure.ac (COND_mips): New conditional.
21924 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
21925 platforms.
21926 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
21927 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
21928 [GRUB_LINKER_HAVE_INIT]: New function.
21929 (grub_emu_post_init): Likewise.
21930 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
21931 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
21932 * include/grub/cache.h (_mips): Include mips/cache.h.
21933 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
21934 LVM and RAID prototypes.
21935 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
21936 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
21937 function.
21938
5ed7d816
CW
219392010-09-10 Colin Watson <cjwatson@ubuntu.com>
21940
21941 * util/grub-install.in: Don't try to verify core.img until after
21942 running grub-mkimage to create it.
21943
90367e04
RM
219442010-09-10 Robert Millan <rmh@gnu.org>
21945
21946 * util/grub.d/10_hurd.in: Add misc readability checks.
21947 * util/grub.d/10_kfreebsd.in: Likewise.
21948 * util/grub.d/10_linux.in: Likewise.
21949
c452fa66
CW
219502010-09-10 Colin Watson <cjwatson@ubuntu.com>
21951
21952 * util/grub-install.in: ${imgext} won't be defined here until the
21953 install branch is merged. For the meantime, only verify core.img on
21954 i386-pc and sparc64-ieee1275 platforms.
21955
c38fe9f4
RM
219562010-09-10 Robert Millan <rmh@gnu.org>
21957
21958 Solaris support in grub_find_zpool_from_dir(). Thanks
21959 Seth Goldberg for referring to getextmntent() facility.
21960
21961 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
21962 `sys/mkdev.h'.
21963 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
21964 `<sys/mnttab.h>'.
21965 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
21966 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
21967 method for finding zpool name.
21968
905f7773
CW
219692010-09-10 Colin Watson <cjwatson@ubuntu.com>
21970
21971 grub-fstest needs the host and hostfs modules while other utilities
21972 actively require those modules to be absent, so grub-fstest needs
21973 its own initialisation and finalisation code.
21974
21975 * Makefile.am (grub_fstest.pp): New target.
21976 (grub_fstest_init.lst): Likewise.
21977 (grub_fstest_init.c): Likewise.
21978 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
21979
fb90b546
RM
219802010-09-10 Robert Millan <rmh@gnu.org>
21981
21982 * configure.ac: Check for `struct statfs.f_fstypename' and
21983 `struct statfs.f_mntfromname'.
21984
21985 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
21986 kFreeBSD-specific code.
21987
66d4bea5
RM
219882010-09-10 Robert Millan <rmh@gnu.org>
21989
21990 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
21991 on ZFS. Now non-main filesystems are supported as / too.
21992
b6a690ee
CW
219932010-09-09 Colin Watson <cjwatson@ubuntu.com>
21994
21995 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
21996 and grub-core/disk/host.c to ...
21997 (grub-fstest): ... here. Having the host disk implementation
21998 present confuses grub-probe and other utility programs.
21999
22000 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22001 when writing to a file, not when writing to stdout.
22002
8901b00c 220032010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22004
22005 * tests/partmap_test.in: New test for partitions.
22006 * Makefile.util.def: Rules for new test.
22007
7bf45fdd
RM
220082010-09-09 Robert Millan <rmh@gnu.org>
22009
22010 * util/grub-probe.c (probe): Fix a pair of unhandled error
22011 conditions.
22012
4dfbc574
RM
220132010-09-09 Robert Millan <rmh@gnu.org>
22014
22015 Basic Btrfs support (detection and UUID).
22016
22017 * grub-core/fs/btrfs.c: New file.
22018 * Makefile.util.def (library): Register btrfs.c.
22019 * grub-core/Makefile.core.def: Likewise.
22020
6b8e78ae
RM
220212010-09-08 Robert Millan <rmh@gnu.org>
22022
22023 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22024 with (optional) parameters to specify device and relative path.
22025 * util/grub-install.in: Use is_path_readable_by_grub() to
22026 verify readability of a few critical files.
22027 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22028 verify readability of grub.cfg.new.
22029
27f21a8b
VS
220302010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22031
22032 Split minix.mod into minix.mod and minix2.mod.
22033
22034 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22035 * grub-core/Makefile.core.def (minix2): New module.
22036 * grub-core/fs/minix.c: Use definitions instead of runtime version
22037 checking.
22038 * grub-core/fs/minix2.c: New file.
22039
c0e53ea5
YB
220402010-09-08 Yves Blusseau <blusseau@zetam.org>
22041
22042 Add new --boot-directory option to replace --root-directory
22043
22044 * util/grub-install.in: Add new --boot-directory option
22045 * util/grub-reboot.in: Likewise.
22046 * util/grub-set-default.in: Likewise.
22047
b9fe6ea2
YB
220482010-09-08 Yves Blusseau <blusseau@zetam.org>
22049
22050 * util/grub-mkconfig.in: Use new variable.
22051
d87aedff
YB
220522010-09-08 Yves Blusseau <blusseau@zetam.org>
22053
22054 * configure.ac: Define some useful variables.
22055
e55e8495
VS
220562010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22057
22058 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22059 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22060 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22061 Use terminfo and don't use cursor-on/cursor-off unless it's known
22062 to work.
22063 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22064 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22065
6fa6d675
CW
220662010-09-08 Colin Watson <cjwatson@ubuntu.com>
22067
22068 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22069 starts with "(,", fill the drive containing the loaded image in
22070 between those two characters, but expect that a full partition
22071 specification including partition map names will follow.
22072
92f2aef0
RM
220732010-09-08 Robert Millan <rmh@gnu.org>
22074
22075 * configure.ac: Remove `--enable-grub-fstest' option.
22076 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22077
22078 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22079 `grub-fstest' instead of `grub-probe' for readability verification.
22080 * util/grub-probe.c (probe): Remove readability verification kludge.
22081
99fd620d
RM
220822010-09-08 Robert Millan <rmh@gnu.org>
22083
22084 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22085 initializing `GRUB_FS'.
22086
058e30ac 220872010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22088
22089 Not command (!) support to GRUB script.
22090
22091 * tests/grub_script_not.in: New test.
22092 * Makefile.util.def: Rules for new test.
22093
22094 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22095 ! command as a special case.
22096 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22097
b61d05ed 220982010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22099
058e30ac 22100 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22101 grub_free.
b61d05ed 22102
4d69c786 221032010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22104
22105 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22106
aa3119c4 221072010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22108
22109 * docs/grub.texi (Shell-like scripting): Documentation for break,
22110 continue, shift and return commands.
22111
db0f7e3d
VS
221122010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22113
22114 Rename CD-ROM to cd on BIOS.
22115
22116 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22117 "cd".
22118 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22119
88b87c93
VS
221202010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22123 * util/grub-probe.c (main): Likewise.
22124 * util/i386/pc/grub-setup.c (main): Likewise.
22125 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22126 Reported and debugged by: alexxy
22127
294f324d
VS
221282010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22129
22130 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22131 diagnostic info.
22132
d7ee3441
JS
221332010-09-05 Jo Shields <directhex@apebox.org>
22134
22135 * util/grub.d/30_os-prober.in: Add missing classes.
22136
d7e06c1f
VS
221372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22138
22139 * docs/grub.texi (Theme file format): Document new position format.
22140
fc157e53
VS
221412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22142
22143 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22144 a table. Use @code instead of @verbatim.
22145
506e9a1c
CB
221462010-09-05 Colin D Bennett <colin@gibibit.com>
22147
22148 Gfxmenu documentation.
22149
22150 * docs/grub.texi (Theme file format): New chapter.
22151
f0aff67c
SJ
221522010-09-05 Szymon Janc <szymon@janc.net.pl>
22153
22154 * grub-core/Makefile.core.def (xzio): New module.
22155 * grub-core/io/xzio.c: New file.
22156 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22157 * grub-core/lib/xzembed/xz_config.h: Likewise.
22158 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22159 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22160 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22161 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22162 * grub-core/lib/xzembed/xz_private.h: Likewise.
22163 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22164 * include/grub/file.h (grub_file_filter_id): New compression filter
22165 GRUB_FILE_FILTER_XZIO.
22166
82a85062
VS
221672010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22168
22169 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22170 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22171 size.
22172
3579415d
VS
221732010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22174
22175 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22176 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22177
5124ae6d
VS
221782010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22179
22180 Uncompressed checksum support.
22181
22182 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22183 (check_list): New parameter uncompress.
22184 (grub_cmd_hashsum): Handle --uncompress.
22185
9aadb3d1
VS
221862010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22187
22188 Reintroduce testload.
22189
22190 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22191 from here ...
22192 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22193 (GRUB_MOD_INIT): New function.
22194 (GRUB_MOD_FINI): Likewise.
22195 * grub-core/Makefile.core.def (testload): New module.
22196
a17792c3
SJ
221972010-09-05 Szymon Janc <szymon@janc.net.pl>
22198
22199 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22200 (uint8_t): New type.
22201 (uint16_t): Likewise.
22202 (uint32_t): Likewise.
22203 (uint64_t): Likewise.
22204
b81e40a3
SJ
222052010-09-05 Szymon Janc <szymon@janc.net.pl>
22206
22207 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22208
fc2ef117
VS
222092010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22210
22211 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22212 Made static.
22213 (grub_gzfile_open): Removed. All users updated.
22214 (GRUB_MOD_INIT): New function.
22215 (GRUB_MOD_FINI): Likewise.
22216 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22217 (grub_file_filters_enabled): Likewise.
22218 (grub_file_open): Handle filters.
22219 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22220 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22221 * include/grub/file.h (grub_file_filter_id_t): New type.
22222 (grub_file_filter_t): Likewise.
22223 (grub_file_filters_all): New extern variable.
22224 (grub_file_filters_enabled): Likewise.
22225 (grub_file_filter_register): New inline function.
22226 (grub_file_filter_unregister): Likewise.
22227 (grub_file_filter_disable): Likewise.
22228 (grub_file_filter_disable_compression): Likewise.
22229 * include/grub/gzio.h: Removed.
22230
35ee15e0
BC
222312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22232
22233 Filename expansion support for wildcards in GRUB script.
22234
22235 * tests/grub_script_expansion.in: New test.
22236 * Makefile.util.def: Rule for new test.
22237
22238 * grub-core/commands/wildcard.c: New file, implements filename
22239 expansion support for GRUB script.
22240 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22241 * grub-core/script/argv.c: Cosmetic changes.
22242 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22243 Refactored to perform wildcard expansion on arguments.
22244 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22245 struct.
22246
22247 * tests/util/grub-shell.in: Fix quoting for read input.
22248
5f0c4aca
BC
222492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22250
22251 Support for updating environment variables with matched substrings
22252 of regexp.
22253
22254 * tests/grub_cmd_regexp.in: New test.
22255 * Makefile.util.def: Rule for new test.
22256
22257 * grub-core/commands/regexp.c: New option -s to update environment
22258 variables with regexp matches.
22259
3759a35f
SJ
222602010-09-04 Szymon Janc <szymon@janc.net.pl>
22261
22262 * include/grub/file.h (grub_file): New member not_easly_seekable.
22263 (grub_file_seekable): New inline function.
22264 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22265 easily seekable.
22266 (grub_gzio_open): Set not_easly_seekable.
22267 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22268 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22269
ed8c6dec
BC
222702010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22271
22272 Support for options to appear multiple times on cmdline.
22273
22274 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22275 * grub-core/commands/extcmd.c: Support for repeatable option.
22276 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22277 repeatable option support.
22278
22279 Refactor menuentry into a regular command.
22280
22281 * grub-core/commands/menuentry.c: New file, menuentry command
22282 implementation.
22283 * grub-core/Makefile.core.def: Rule update for normal.mod.
22284 * grub-core/normal/main.c: Moved menuentry creation to
22285 grub-core/commands/menuentry.c.
22286 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22287 (grub_menu_execute_entry_real): Removed.
22288 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22289 function.
22290 (grub_script_execute_menuentry): Removed.
22291 * grub-core/script/parser.y (menuentry): Removed.
22292 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22293 * grub-core/script/yylex.l (menuentry): Removed.
22294 * include/grub/menu.h (grub_menu_init): New prototype.
22295 (grub_menu_fini): New prototype.
22296 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22297 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22298 (grub_script_execute_sourcecode): New prototype.
22299
dacd0cf0
BC
223002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22301
22302 "return" command for GRUB script functions.
22303
22304 * tests/grub_script_return.in: New test.
22305 * Makefile.util.def: Rules for new test.
22306
22307 * grub-core/script/execute.c (grub_script_return): New function.
22308 * grub-core/script/main.c: Register/unregister return commaond.
22309 * include/grub/script_sh.h (grub_script_return): New prototype.
22310
52e72f9d
BC
223112010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22312
22313 "setparams" command to update positional parameters.
22314
22315 * tests/grub_script_setparams.in: New test.
22316 * Makefile.util.def: Rules for new test.
22317
22318 * grub-core/script/argv.c (grub_script_argv_make): New function.
22319 * grub-core/script/execute.c (replace_scope): New function.
22320 (grub_script_setparams): New function.
22321 * grub-core/script/lexer.c: Remove unused variables.
22322 * grub-core/script/main.c: Register/unregister setparams command.
22323 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22324 (grub_script_setparams): New prototype.
22325
25b60c91
BC
223262010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22327
22328 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22329 grub_free order.
22330
37e7bf68
BC
223312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22332
22333 Support for passing block of commands as an argument to extcmds.
22334
22335 * Makefile.util.def: Rules for new test.
22336 * tests/grub_script_blockarg.in: New test.
22337 * grub-core/tests/test_blockarg.c: New file, block argument
22338 command used in the test.
22339
22340 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22341 (grub_register_extcmd_prio): New function prototype.
22342 (grub_extcmd_dispatcher): New function prototype.
22343 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22344 type.
22345 * include/grub/script_sh.h (struct grub_script): New members
22346 `children', `next_siblings' and `refcnt' for block arguments and
22347 reference counting.
22348 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22349 (grub_script_arg): New member `script' for block argument.
22350 (grub_script_argv): New member `script' for block argument.
22351 (grub_parser_param): New member `scripts' for block argument.
22352 (grub_script_mem_free): New extern function prototype.
22353 (grub_script_ref): New function prototype.
22354 (grub_script_unref): New function prototype.
22355
22356 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22357 extcmd form to support block arguments.
22358 * grub-core/script/argv.c: Block arguments support.
22359 * grub-core/script/execute.c: Likewise.
22360 * grub-core/script/lexer.c: Likewise.
22361 * grub-core/script/main.c: Likewise.
22362 * grub-core/script/script.c: Likewise.
22363 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22364 non-terminals.
22365
22366 * grub-core/commands/acpi.c: Update extcmd implementations with
22367 grub_extcmd_context_t.
22368 * grub-core/commands/cat.c: Likewise.
22369 * grub-core/commands/echo.c: Likewise.
22370 * grub-core/commands/extcmd.c: Likewise.
22371 * grub-core/commands/hashsum.c: Likewise.
22372 * grub-core/commands/hdparm.c: Likewise.
22373 * grub-core/commands/help.c: Likewise.
22374 * grub-core/commands/hexdump.c: Likewise.
22375 * grub-core/commands/i386/cpuid.c: Likewise.
22376 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22377 * grub-core/commands/i386/pc/halt.c: Likewise.
22378 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22379 * grub-core/commands/iorw.c: Likewise.
22380 * grub-core/commands/keystatus.c: Likewise.
22381 * grub-core/commands/loadenv.c: Likewise.
22382 * grub-core/commands/ls.c: Likewise.
22383 * grub-core/commands/lspci.c: Likewise.
22384 * grub-core/commands/memrw.c: Likewise.
22385 * grub-core/commands/probe.c: Likewise.
22386 * grub-core/commands/search_wrap.c: Likewise.
22387 * grub-core/commands/setpci.c: Likewise.
22388 * grub-core/commands/sleep.c: Likewise.
22389 * grub-core/disk/loopback.c: Likewise.
22390 * grub-core/hello/hello.c: Likewise.
22391 * grub-core/loader/i386/bsd.c: Likewise.
22392 * grub-core/loader/xnu.c: Likewise.
22393 * grub-core/term/gfxterm.c: Likewise.
22394 * grub-core/term/serial.c: Likewise.
22395 * grub-core/tests/lib/functional_test.c: Likewise.
22396
888d1500
BC
223972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22398
22399 Multi-line quoted strings support.
22400
22401 * grub-core/script/lexer.c (append_newline): Removed.
22402 (grub_script_lexer_yywrap): Refactored.
22403 (grub_script_lexer_init): Refactored.
22404 * grub-core/script/yylex.l (yywrap): New function.
22405 (grub_lexer_resplit): New function.
22406 (grub_lexer_unput): New function.
22407 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22408 and resplit.
22409 * tests/grub_script_echo1.in: Added few more testcases.
22410
dda060dd
VS
224112010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22412
22413 * grub-core/kern/misc.c: Don't add abort alias in utils.
22414 Reported by: echoline.
22415
6556eba9
BC
224162010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22417
22418 Add missing files into "make dist" tarball for other platforms.
22419
22420 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22421 * conf/Makefile.common (dist_noinst_DATA): New variable.
22422 * conf/Makefile.extra-dist: Added missing make dist files.
22423 * grub-core/Makefile.core.def: Likewise.
22424
c8e7bf5f
VS
224252010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22426
22427 Compress grub_prefix.
22428
22429 * grub-core/boot/i386/pc/lnxboot.S: Use
22430 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22431 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22432 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22433 GRUB_MACHINE_PREFIX_END. All users updated.
22434 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22435 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22436 + 0x40.
22437 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22438 * util/grub-mkimage.c (image_target_desc): Change data_end to
22439 prefix_end. All users updated.
22440
a7c00cdb
VS
224412010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22442
22443 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22444 value.
22445 (grub_openbsd_boot): Likewise.
22446 (grub_netbsd_boot): Likewise.
22447 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22448 (grub_xnu_boot): Likewise.
22449
9f915872
VS
224502010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22451
22452 * configure.ac: Clean LIBS variable after tests.
22453
efa1bee7
CW
224542010-09-02 Colin Watson <cjwatson@ubuntu.com>
22455
22456 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22457
61d720e5
VS
224582010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22459
22460 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22461 echo if libdevmapper will be used.
22462
ef8e0ec8
IT
224632010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22464
22465 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22466 constant for the same file.
22467
03e261d8
VS
224682010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22469
22470 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22471
c2a4eba6
CW
224722010-09-02 Colin Watson <cjwatson@ubuntu.com>
22473
22474 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22475 grub-core/*.pp.
22476
9056cbf3
CW
224772010-09-02 Colin Watson <cjwatson@ubuntu.com>
22478
22479 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22480 required by the boot protocol.
22481
22482 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22483 ebp and edi members.
22484 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22485 state.ebp and state.edi.
22486 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22487 %ebp and %edi according to grub_relocator32_ebp and
22488 grub_relocator32_edi respectively.
22489 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22490 and state.edi.
22491
529cc99a
VS
224922010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22493
22494 Add i386-pc-pxe image target.
22495
22496 * util/grub-mkimage.c (image_target_desc): New enum value
22497 IMAGE_I386_PC_PXE.
22498 (image_targets): New target i386-pc-pxe.
22499 (generate_image): Handle i386-pc-pxe image.
22500
9a093920
VS
225012010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22502
22503 Fix grub_pxe_scan.
22504
22505 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22506 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22507 All users updated.
22508 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22509 (grub_pxe_pxenv): Correct type.
22510
f9cefc4e
CW
225112010-09-01 Colin Watson <cjwatson@ubuntu.com>
22512
22513 * NEWS: Document most of the important changes since 1.98.
22514
4066f57f
CW
225152010-09-01 Colin Watson <cjwatson@ubuntu.com>
22516
22517 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22518 generated manual page) a little.
22519
da2891f9
CW
225202010-09-01 Colin Watson <cjwatson@ubuntu.com>
22521
22522 * docs/grub.texi: Add myself as an author.
22523
ad717fae
VS
225242010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22525
22526 * Makefile.util.def (libgrub.a): Add missing sunpc.
22527 Reported by: Seth Goldberg.
22528
eefe8abd
VS
225292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22530
22531 Interrupt wrapping and code simplifications.
22532
9494ef9a
VS
22533 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22534 x86_noieee1275 which are functionaly equivalent in this case.
22535 (grub-install): Make source on each platform explicit. Enable on
22536 all noemu.
22537 * gentpl.py (x86_efi_pc): Removed group.
22538 (x86_noefi): Likewise.
22539 (i386_noefi): Likewise.
22540 (x86_noieee1275): Likewise.
22541 (i386_noieee1275): Likewise.
22542 (i386_noefi_noieee1275): Likewise.
22543 (i386_pc_qemu_coreboot): Likewise.
22544 (i386_coreboot_multiboot): Likewise.
22545 (i386_pc_coreboot_multiboot_qemu): Likewise.
22546 (x86_noefi_mips): Likewise.
22547 (noieee1275): Likewise.
22548 (ieee1275_mips): Likewise.
22549 (noemu_noieee1275): Likewise.
22550 (cmos): New group.
22551 (usb): Likewise.
22552 (videoinkernel): Likewise.
22553 (videomodules): Likewise.
eefe8abd 22554 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22555 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22556 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22557 include/grub/loader.h, include/grub/msdos_partition.h,
22558 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22559 include/grub/machine/console.h, include/grub/machine/vga.h,
22560 include/grub/machine/vbe.h, include/grub/machine/init.h,
22561 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22562 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22563 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22564 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22565 * grub-core/Makefile.core.def (kernel): Explicit the source for
22566 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22567 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22568 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22569 Use videoinkernel tag.
22570 (usb): Enable on all usb.
22571 (usbserial_common): Likewise.
22572 (usbserial_pl2303): Likewise.
22573 (usbserial_ftdi): Likewise.
22574 (uhci): Enable on all x86.
22575 (ohci): Enable on all pci.
22576 (cmostest): Enable on all CMOS.
22577 (acpi): Include commands/acpi.c on all platforms.
22578 (halt): Add relevant lib/*/halt.c.
22579 (hdparm): Enable on all pci.
22580 (lspci): Likewise.
22581 (usbtest): Enable on all usb.
22582 (ata): Enable on all pci.
22583 (ata_pthru): Likewise.
22584 (usbms): Enable on all usb.
22585 (usb_keyboard): Likewise.
22586 (font): Use tag videomodules.
22587 (bufio): Likewise.
22588 (datetime): Use tag cmos. Enable on all noemu.
22589 (mmap): Use tags common and x86.
22590 (gfxterm): Use tag videomodules.
22591 (bitmap): Likewise.
22592 (bitmap_scale): Likewise.
22593 (video_fb): Likewise.
22594 (video): Likewise.
22595 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22596 adjust padding accordingly. All users updated.
22597 (grub_ohci_transaction): Fix bad format specification.
22598 (GRUB_MOD_INIT): Add asserts for struct size.
22599 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22600 (grub_alloc_td): Likewise.
22601 (grub_free_queue): Likewise.
22602 (grub_uhci_transfer): Likewise.
22603 (grub_uhci_transaction): Fix bad format specification.
22604 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22605 (grub_usb_bulk_readwrite): Likewise.
22606 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22607 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22608 Made static.
22609 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22610 Made static.
22611 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22612 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22613 Transformed into C.
22614 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22615 Moved from here ...
22616 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22617 ... here. Transformed into C. Made static.
22618 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22619 Moved from here ...
22620 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22621 ... here. Transformed into C. Made static.
22622 * grub-core/kern/i386/pc/startup.S
22623 (grub_biosdisk_check_int13_extensions): Moved from here ...
22624 * grub-core/disk/i386/pc/biosdisk.c
22625 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22626 Made static.
22627 * grub-core/kern/i386/pc/startup.S
22628 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22629 * grub-core/disk/i386/pc/biosdisk.c
22630 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22631 Transformed into C. Made static.
22632 * grub-core/kern/i386/pc/startup.S
22633 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22634 * grub-core/disk/i386/pc/biosdisk.c
22635 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22636 Transformed into C. Made static.
22637 * grub-core/kern/i386/pc/startup.S
22638 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22639 * grub-core/disk/i386/pc/biosdisk.c
22640 (grub_biosdisk_get_diskinfo_standard): ... here.
22641 Transformed into C. Made static.
22642 * grub-core/kern/i386/pc/startup.S
22643 (grub_biosdisk_get_num_floppies): Moved from here ...
22644 * grub-core/disk/i386/pc/biosdisk.c
22645 (grub_biosdisk_get_num_floppies): ... here.
22646 Transformed into C. Made static.
22647 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22648 New function.
22649 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22650 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22651 Transformed into C. Made static.
22652 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22653 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22654 Transformed into C. Made static.
22655 * grub-core/kern/i386/ieee1275/init.c: Removed.
22656 * grub-core/kern/i386/misc.S: Likewise.
22657 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22658 Splitted from here ...
22659 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22660 Transformed into C. Made static. All users updated.
22661 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22662 Transformed into C. Made static. All users updated.
22663 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22664 Moved from here...
22665 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22666 Transformed into C. Made static. All users updated.
22667 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22668 Moved from here...
22669 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22670 Transformed into C. Made static. All users updated.
22671 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22672 Removed (replaced by C version).
22673 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22674 Moved from here...
22675 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22676 Transformed into C. Made static.
22677 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22678 Moved from here...
22679 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22680 ... here. Transformed into C.
22681 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22682 Moved from here...
22683 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22684 ... here. Transformed into C.
22685 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22686 Moved from here...
22687 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22688 ... here. Transformed into C. Made static.
22689 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22690 Moved from here...
22691 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22692 ... here. Transformed into C.
21ed554b
VS
22693 * grub-core/kern/i386/pc/startup.S
22694 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22695 * grub-core/video/i386/pc/vbe.c
22696 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22697 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22698 Moved from here...
22699 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22700 ... here. Transformed into C.
22701 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22702 Moved from here...
22703 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22704 ... here. Transformed into C.
22705 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22706 Moved from here...
22707 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22708 ... here. Transformed into C.
22709 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22710 Moved from here...
22711 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22712 ... here. Transformed into C.
22713 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22714 Moved from here...
22715 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22716 ... here. Transformed into C. Made static.
22717 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22718 Moved from here...
22719 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22720 ... here. Transformed into C. Made static.
22721 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22722 Moved from here...
22723 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22724 ... here. Transformed into C. Made static.
22725 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22726 pxe_rm_entry as third argument.
22727 (grub_bios_interrupt): New function.
22728 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22729 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22730 of calling grub_stop.
22731 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22732 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22733 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22734 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22735 * grub-core/lib/i386/halt.c: Moved from here ...
22736 * grub-core/lib/i386/halt.c: ... here.
22737 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22738 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22739 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22740 grub_stop_floppy.
22741 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22742 * include/grub/i386/coreboot/init.h: Removed.
22743 * include/grub/i386/multiboot/init.h: Likewise.
22744 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22745 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22746 * include/grub/i386/pc/int.h: New file.
22747 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22748 (grub_pxe_scan): Removed.
22749 (grub_pxe_call): Update prototype.
22750 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22751 prototypes.
22752 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22753 * include/grub/i386/qemu/init.h: Removed.
22754 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22755 noreturn.
22756 (grub_halt): Likewise.
22757 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22758 (grub_reboot): Likewise.
22759 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22760 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22761 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22762
215dd471
RM
227632010-08-30 Robert Millan <rmh@gnu.org>
22764
22765 * NEWS: Document addition of ZFS support in `grub-install' and
22766 `grub-mkconfig'.
22767
ebd65b82
BC
227682010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22769
22770 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22771 dprintf output.
22772
11721d19
VS
227732010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22774
22775 Remove leftover embedding of font objects.
22776
22777 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22778 * util/grub-install.in (font): Removed.
22779 * util/grub-mkimage.c (generate_image): Remove font support. All users
22780 updated.
22781
37837d4e
VS
227822010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22783
22784 Remove leftover embedding of font objects.
22785
22786 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22787 * util/grub-install.in (font): Removed.
22788 * util/grub-mkimage.c (generate_image): Remove font support. All users
22789 updated.
22790
b4c1aae0
VS
227912010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22792
22793 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 22794 Reported by: Ian Turner
b4c1aae0 22795
8920a08d
VS
227962010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22797
22798 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22799 timeout to avoid indefinite boot stalling.
22800
f21db033
VS
228012010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22802
22803 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22804 (grub_env_write_color_highlight): Likewise.
22805
9a9de209
VS
228062010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22807
22808 * grub-core/normal/term.c (print_more): Return to normal and not
22809 to standard state after printing "---MORE---".
22810
3dca01d7
VS
228112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22812
22813 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22814 Mask out the bit 0x80 since it has other meaning that specifiing color.
22815
0b986c40
VS
228162010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22817
22818 New relocator. Allows for more kernel support and more straightforward
22819 loader writing.
22820
22821 * Makefile.am (BOOTTARGET): New variable.
22822 (QEMU32): Likewise.
22823 (linux.init.x86_64): New target.
22824 (linux.init.i386): Likewise.
22825 (multiboot.elf): Likewise.
22826 (kfreebsd.elf): Likewise.
22827 (kfreebsd.aout): Likewise.
22828 (pc-chainloader.elf): Likewise.
22829 (pc-chainloader.bin): Likewise.
22830 (ntldr.elf): Likewise.
22831 (ntldr.bin): Likewise.
22832 (multiboot2.elf): Likewise.
22833 (kfreebsd.init.x86_64): Likewise.
22834 (kfreebsd.init.i386): Likewise.
22835 (knetbsd.init.i386): Likewise.
22836 (kopenbsd.init.i386): Likewise.
22837 (knetbsd.init.x86_64): Likewise.
22838 (kopenbsd.init.x86_64): Likewise.
22839 (linux-initramfs.i386): Likewise.
22840 (linux-initramfs.x86_64): Likewise.
22841 (kfreebsd-mfsroot.i386.img): Likewise.
22842 (knetbsd.image.i386): Likewise.
22843 (kopenbsd.image.i386): Likewise.
22844 (kopenbsd.image.x86_64): Likewise.
22845 (knetbsd.miniroot-image.i386.img): Likewise.
22846 (kfreebsd-mfsroot.x86_64.img): Likewise.
22847 (knetbsd.image.x86_64): Likewise.
22848 (knetbsd.miniroot-image.x86_64.img): Likewise.
22849 (kfreebsd-mfsroot.i386.gz): Likewise.
22850 (bootcheck-kfreebsd-i386): Likewise.
22851 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22852 (bootcheck-kfreebsd-x86_64): Likewise.
22853 (knetbsd.miniroot-image.i386.gz): Likewise.
22854 (bootcheck-knetbsd-i386): Likewise.
22855 (bootcheck-kopenbsd-i386): Likewise.
22856 (bootcheck-kopenbsd-x86_64): Likewise.
22857 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22858 (bootcheck-knetbsd-x86_64): Likewise.
22859 (bootcheck-linux-i386): Likewise.
22860 (bootcheck-linux-x86_64): Likewise.
22861 (bootcheck-linux16-i386): Likewise.
22862 (bootcheck-linux16-x86_64): Likewise.
22863 (bootcheck-multiboot): Likewise.
22864 (bootcheck-multiboot2): Likewise.
22865 (bootcheck-kfreebsd-aout): Likewise.
22866 (bootcheck-pc-chainloader): Likewise.
22867 (bootcheck-ntldr): Likewise.
22868 (CLEANFILES): Add new targets.
22869 (BOOTCHECKS): New variable.
22870 (.PHONY): Add bootchecks.
22871 (SUCCESSFUL_BOOT_STRING): New variable.
22872 (BOOTCHECK_TIMEOUT): Likewise.
22873 (bootcheck): New target
22874 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22875 * configure.ac: Correct efiemu excuse.
22876 * docs/grub.texi (Supported kernels): New chapter.
22877 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22878 include/grub/mm_private.h. Simplify inclusion of
22879 include/grub/boot.h, include/grub/loader.h
22880 and include/grub/msdos_partition.h
22881 (KERNEL_HEADER_FILES) [i386_coreboot]:
22882 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22883 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22884 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22885 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22886 include/grub/machine/loader.h.
22887 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22888 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22889 extra_dist.
22890 (pci.mod): Enable on i386-multiboot.
22891 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22892 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22893 i386-qemu.
22894 (relocator.mod): Rewritten.
22895 (aout.mod): Enable on all x86.
22896 (bsd.mod): Likewise.
22897 (ntldr.mod): New module.
22898 (linux.mod): Use loader/i386/linux.c on all x86.
22899 (xnu.mod): Enable on all x86.
22900 (vga_text.mod): disable on EFI and QEMU.
22901 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22902 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22903 * grub-core/efiemu/loadcore.c: Likewise.
22904 * grub-core/efiemu/main.c: Likewise.
22905 (grub_efiemu_exit_boot_services): Removed.
22906 (grub_efiemu_finish_boot_services): Likewise.
22907 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22908 function.
22909 * grub-core/efiemu/i386/nocfgtables.c: New file.
22910 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22911 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22912 (grub_efi_finish_boot_services): Moved from here ...
22913 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22914 Fille finish memory map and related data.
22915 (finish_mmap_buf): New variable.
22916 (grub_efi_uintn_t finish_mmap_size): Likewise.
22917 (grub_efi_uintn_t finish_key): Likewise.
22918 (grub_efi_uintn_t finish_desc_size): Likewise.
22919 (grub_efi_uint32_t finish_desc_version): Likewise.
22920 (grub_efi_is_finished): Likewise.
22921 (grub_efi_get_memory_map): Use saved memory map if EFI is already
22922 finished.
22923 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
22924 (grub_elf64_phdr_iterate): Likewise.
22925 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
22926 (grub_os_area_size): Likewise.
22927 (grub_machine_init): Don't reserve os area.
22928 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
22929 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
22930 * grub-core/kern/i386/loader.S: Removed.
22931 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
22932 (grub_os_area_size): Likewise.
22933 (grub_machine_init): Don't reserve os area.
22934 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
22935 Don't call grub_dl_unload_all.
22936 Don't include loader.S.
22937 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
22938 Declare the memory after _end as available.
22939 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 22940 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 22941 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
22942 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
22943 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
22944 * include/grub/mm_private.h (grub_mm_header): ... here.
22945 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
22946 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
22947 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
22948 (grub_mm_region): ..here. Removed addr. Added pre_size.
22949 All users updated.
22950 * grub-core/kern/mm.c (base): Renamed to ...
22951 (grub_mm_base): ... this. Made global.
22952 (grub_real_malloc): Alloc from end of region.
22953 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
22954 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
22955 * grub-core/kern/powerpc/cache_flush.S: ... here.
22956 * grub-core/lib/efi/relocator.c: New file.
22957 * grub-core/lib/i386/relocator.c: Rewritten.
22958 * grub-core/lib/i386/relocator16.S: New file.
22959 * grub-core/lib/i386/relocator32.S: Likewise.
22960 * grub-core/lib/i386/relocator64.S: Likewise.
22961 * grub-core/lib/i386/relocator_asm.S: Rewritten.
22962 * grub-core/lib/i386/relocator_common.S: New file.
22963 * grub-core/lib/ieee1275/relocator.c: Likewise.
22964 * grub-core/lib/mips/relocator.c: Rewritten.
22965 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
22966 stylistic adjustments.
22967 * grub-core/lib/powerpc/relocator.c: New file.
22968 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
22969 * grub-core/lib/relocator.c: Rewritten.
22970 * grub-core/lib/x86_64/relocator_asm.S: New file.
22971 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
22972 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
22973 (bsd_tag): New struct.
22974 (tags): New variable.
22975 (tags_last): Likewise.
22976 (netbsd_module): New struct.
22977 (netbsd_mods): New variable.
22978 (netbsd_mods_last): Likewise.
22979 (openbsd_opts): New parameter "serial".
22980 (OPENBSD_SERIAL_ARG): New definition.
22981 (netbsd_opts): New parameter "serial".
22982 (NETBSD_SERIAL_ARG): New definition.
22983 (grub_freebsd_add_meta): Reorganised into ...
22984 (grub_bsd_add_meta): ...this. All users updated.
22985 (grub_freebsd_add_mmap): Reorganised into ...
22986 (generate_e820_mmap): ...this...
22987 (grub_bsd_add_mmap): ...and this. All users updated.
22988 (grub_freebsd_list_modules): Use tags.
22989 (grub_netbsd_add_meta_module): New function.
22990 (grub_netbsd_list_modules): Likewise.
22991 (grub_freebsd_boot): Use relocator and finish EFI.
22992 (grub_openbsd_boot): Likewise.
22993 (grub_netbsd_setup_video): New function.
22994 (grub_netbsd_add_modules): Likewise.
22995 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
22996 and finish EFI.
22997 (grub_bsd_unload): Unload tags.
22998 (grub_bsd_load_aout): Use relocator.
22999 (grub_bsd_elf32_size_hook): New function.
23000 (grub_bsd_elf32_hook): Use relocator.
23001 (grub_bsd_elf64_size_hook): New function.
23002 (grub_bsd_elf64_hook): Use relocator.
23003 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23004 (grub_bsd_load): Zero-out openbsd_ramdisk.
23005 (grub_bsd_load): Use relocator.
23006 (grub_cmd_openbsd): Support serial.
23007 (grub_cmd_netbsd): Support modules.
23008 (grub_cmd_freebsd_module): Use relocator.
23009 (grub_netbsd_module_load): New function.
23010 (grub_cmd_netbsd_module): Likewise.
23011 (grub_cmd_openbsd_ramdisk): Likewise.
23012 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23013 kopenbsd_ramdisk.
23014 (GRUB_MOD_FINI): Unregister new commands.
23015 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23016 (grub_freebsd_load_elfmodule_obj): Use relocator.
23017 (grub_freebsd_load_elfmodule): Likewise.
23018 (grub_freebsd_load_elf_meta): Likewise.
23019 (grub_netbsd_load_elf_meta): New function.
23020 (grub_openbsd_find_ramdisk): Likewise.
23021 * grub-core/loader/i386/bsd_helper.S: Removed.
23022 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23023 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23024 * grub-core/loader/i386/efi/linux.c: Likewise.
23025 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23026 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23027 (DEFAULT_VIDEO_MODE): Likewise.
23028 (real_mode_target): New variable.
23029 (prot_mode_target): Likewise.
23030 (initrd_mem_target): Likewise.
23031 (relocator): Likewise.
23032 (efi_mmap_buf): Likewise.
23033 (efi_mmap_size): Likewise.
23034 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23035 (free_pages): Use relocator.
23036 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23037 (grub_linux_setup_video): Return error.
23038 (grub_linux_trampoline_start): Removed.
23039 (grub_linux_trampoline_end): Likewise.
23040 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23041 andd video parameters depending on firmware.
23042 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23043 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23044 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23045 (grub_cmd_initrd): Use relocator.
23046 * grub-core/loader/i386/linux_trampoline.S: Removed.
23047 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23048 (elf_sec_entsize): Likewise.
23049 (elf_sec_shstrndx): Likewise.
23050 (elf_sections): Likewise.
23051 (grub_multiboot_load): Use relocator.
23052 (grub_multiboot_get_mbi_size): Account for sections.
23053 (grub_multiboot_make_mbi): Use relocator and support sections.
23054 (grub_multiboot_add_elfsyms): New function.
23055 (grub_multiboot_free_mbi): Free sections.
23056 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23057 (grub_linux_real_target): Likewise.
23058 (grub_linux_real_chunk): Likewise.
23059 (grub_linux16_prot_size): Likewise.
23060 (grub_linux16_boot): Use relocator.
23061 (grub_linux_unload): Unload relocator.
23062 (grub_cmd_linux): Use relocator.
23063 (grub_cmd_initrd): Likewise.
23064 * grub-core/loader/i386/pc/ntldr.c: New file.
23065 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23066 Don't try to guess CPU frequency.
23067 (grub_xnu_set_video): Stretch bitmap.
23068 (grub_xnu_boot): Use relocator.
23069 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23070 (grub_linux_unload): Free relocator.
23071 (grub_linux_load32): Use relocator.
23072 (grub_linux_load64): Likewise.
23073 (grub_cmd_initrd): Likewise.
23074 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23075 (grub_multiboot_unload): Unload relocator.
23076 (grub_cmd_multiboot): Use relocator.
23077 (grub_cmd_module): Likewise.
23078 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23079 Use relocator and support sections.
23080 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23081 (elf_sec_entsize): Likewise.
23082 (elf_sec_shstrndx): Likewise.
23083 (elf_sections): Likewise.
23084 (grub_multiboot_load): Use relocator.
23085 (grub_multiboot_get_mbi_size): Account for sections.
23086 (grub_multiboot_make_mbi): Use relocator and support sections.
23087 (grub_multiboot_add_elfsyms): New function.
23088 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23089 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23090 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23091 Prototype changed. All users updated.
23092 (grub_xnu_align_heap): Simplified.
23093 (grub_xnu_writetree_toheap): Likewise.
23094 (grub_xnu_unload): Unload relocator.
23095 (grub_cmd_xnu_kernel): Use relocator.
23096 (grub_cmd_xnu_kernel64): Likewise.
23097 (grub_xnu_register_memory): Simplified.
23098 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23099 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23100 EFI is finished.
23101 (grub_console_checkkey): Likewise.
23102 (grub_console_getkey): Likewise.
23103 (grub_console_getwh): Likewise.
23104 (grub_console_getxy): Likewise.
23105 (grub_console_gotoxy): Likewise.
23106 (grub_console_cls): Likewise.
23107 (grub_console_setcolorstate): Likewise.
23108 (grub_console_setcursor): Likewise.
23109 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23110 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23111 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23112 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23113 * grub-core/tests/boot/kernel-8086.S: Likewise.
23114 * grub-core/tests/boot/kernel-i386.S: Likewise.
23115 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23116 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23117 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23118 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23119 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23120 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23121 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23122 * grub-core/tests/boot/linux.cfg: Likewise.
23123 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23124 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23125 * grub-core/tests/boot/linux16.cfg: Likewise.
23126 * grub-core/tests/boot/multiboot.cfg: Likewise.
23127 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23128 * grub-core/tests/boot/ntldr.cfg: Likewise.
23129 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23130 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23131 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23132 New definition.
23133 * include/grub/dl.h (grub_dl_unload_all): Removed.
23134 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23135 (grub_efi_finish_boot_services): Change prototype.
23136 (grub_efi_is_finished): New variable.
23137 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23138 Changed prototype.
23139 (grub_efiemu_finish_boot_services): Removed.
23140 (grub_machine_efiemu_init_tables): New prototype.
23141 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23142 (grub_elf64_phdr_iterate): Likewise.
23143 * include/grub/i386/bsd.h: Include relocator.h.
23144 (freebsd_tag_header): New struct.
23145 (grub_openbsd_bios_mmap): Removed.
23146 (grub_unix_real_boot): Removed.
23147 (grub_freebsd_load_elfmodule32): Changed prototype.
23148 (grub_freebsd_load_elfmodule_obj64): Likewise.
23149 (grub_freebsd_load_elf_meta32): Likewise.
23150 (grub_freebsd_load_elf_meta64): Likewise.
23151 (grub_freebsd_add_meta): Removed.
23152 (grub_netbsd_load_elf_meta32): New prototype.
23153 (grub_netbsd_load_elf_meta64): Likewise.
23154 (grub_bsd_add_meta): Likewise.
23155 (grub_openbsd_ramdisk_descriptor): New struct.
23156 (grub_openbsd_find_ramdisk32): New prototype.
23157 (grub_openbsd_find_ramdisk64): Likewise.
23158 * include/grub/i386/coreboot/loader.h: Removed.
23159 * include/grub/i386/efi/loader.h: Likewise.
23160 * include/grub/i386/ieee1275/loader.h: Likewise.
23161 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23162 to grub_uint32_t.
23163 * include/grub/i386/loader.h: Removed.
23164 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23165 value.
23166 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23167 (grub_phys_addr_t): New type.
23168 (grub_vtop): New inline function.
23169 (grub_map_memory): Likewise.
23170 (grub_unmap_memory): Likewise.
23171 * include/grub/i386/multiboot/loader.h: Removed.
23172 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23173 (NETBSD_BTINFO_CONSOLE): New definition.
23174 (NETBSD_BTINFO_SYMTAB): Likewise.
23175 (NETBSD_BTINFO_MODULES): Likewise.
23176 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23177 (grub_netbsd_bootinfo): New struct.
23178 (grub_netbsd_btinfo_common): Use explicit bitsize.
23179 (grub_netbsd_btinfo_mmap_entry): Removed.
23180 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23181 (grub_netbsd_btinfo_bootdisk): New struct.
23182 (grub_netbsd_btinfo_symtab): Likewise.
23183 (grub_netbsd_btinfo_serial): Likewise.
23184 (grub_netbsd_btinfo_modules): Likewise.
23185 (grub_netbsd_btinfo_framebuf): Likewise.
23186 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23187 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23188 Likewise.
23189 (grub_openbsd_bootargs): Use explicit bitsize.
23190 (grub_openbsd_bootarg_console): New struct.
23191 (GRUB_OPENBSD_COM_MAJOR): New definition.
23192 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23193 * include/grub/i386/pc/efiemu.h: Removed.
23194 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23195 * include/grub/i386/qemu/loader.h: Removed.
23196 * include/grub/i386/relocator.h: Rewritten.
23197 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23198 * include/grub/mips/memory.h: New file.
23199 * include/grub/mips/multiboot.h: Rewritten.
23200 * include/grub/mips/relocator.h: Rewritten.
23201 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23202 (grub_vtop): New function.
23203 (grub_map_memory): Likewise.
23204 (grub_unmap_memory): Likewise.
23205 * include/grub/misc.h (ALIGN_DOWN): New definition.
23206 * include/grub/mm.h (grub_mm_check_real): New proto.
23207 (GRUB_MM_CHECK): New definition.
23208 * include/grub/mm_private.h: New file.
23209 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23210 (grub_multiboot_get_mbi_size): Removed.
23211 (grub_multiboot_make_mbi): Change prottype.
23212 (grub_multiboot_set_accepts_video): New proto.
23213 (grub_multiboot_add_elfsyms): Likewise.
23214 (grub_multiboot_payload_eip): New variable.
23215 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23216 New prototype.
23217 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23218 New definition.
23219 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23220 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23221 * include/grub/powerpc/ieee1275/loader.h: Removed.
23222 * include/grub/powerpc/memory.h: New file.
23223 * include/grub/powerpc/relocator.h: Likewise.
23224 * include/grub/relocator.h: Likewise.
23225 * include/grub/relocator_private.h: Likewise.
23226 * include/grub/sparc64/ieee1275/loader.h: Removed.
23227 * include/grub/x86_64/memory.h: New file.
23228 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23229 (grub_xnu_heap_malloc): Likewise.
23230 (grub_xnu_heap_real_start): Removed.
23231 (grub_xnu_heap_start): Likewise.
23232 (grub_xnu_relocator): New variable.
23233 (grub_xnu_heap_target_start): Likewise.
23234 * tests/util/grub-shell.in: Support non-pc.
23235 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23236
5303b85d
VS
232372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23238
23239 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23240 on malloc error.
23241 (grub_bidi_logical_to_visual): Check that malloc succeded.
23242 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23243 puts.
23244 (grub_xputs_normal): Likewise.
23245
d768d159
VS
232462010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23247
23248 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23249 extra_dist.
23250
232512010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23252
23253 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23254
5bf84df4
VS
232552010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23256
23257 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23258
3626810e
VS
232592010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23260
23261 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23262 dprintf.
23263
a7363f53
BC
232642010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23265
23266 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23267
902f75f6
VS
232682010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23269
23270 * grub-core/normal/term.c (print_more): Fix a memory leak.
23271 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23272 (grub_xputs_normal): Likewise.
23273
3c707967
VS
232742010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23275
23276 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23277 the begining of the string
23278
2053cc07
VS
232792010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23280
23281 * grub-core/script/script.c (grub_script_parse): Free parsed on
23282 failure.
23283
46422ebf
VS
232842010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23285
23286 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23287 on failure.
23288
9e0fa3f6
VS
232892010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23290
23291 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23292 return.
23293
3393cf16
VS
232942010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23295
23296 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23297 (scroll_up): Fix a memory leak.
23298
b17540cb
VS
232992010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23300
23301 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23302 errors.
23303
67140446
VS
233042010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23305
23306 Handle USB pendrives exposed as floppies.
23307
23308 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23309 floppy.
23310 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23311 Check for partitions on all devices.
23312
e35e46fc
VS
233132010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23314
23315 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23316 (readkey): Likewise.
23317
d24c6190
BC
233182010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23319
23320 Multiple variable names support to "export" command.
23321
23322 * normal/context.c (grub_cmd_export): "export" command supports
23323 multiple variable names.
23324
04ddcc6a
ST
233252010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23326
23327 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23328 --target=drive output to Mach device name.
23329
0c8b61d8
BC
233302010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23331
23332 New Automake based build system for GRUB.
23333
23334 * ABOUT-NLS: New file.
23335 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23336 in Makefile.util.def file.
23337 * Makefile.util.def: New file. Autogen build definitions file for
23338 GRUB host utils.
23339 * conf/Makefile.common: New file. Common variables for GRUB host
23340 utils and target modules.
23341 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23342 * docs/Makefile.am: New file. Automake file for docs.
23343 * gentpl.py: New file. Python script to generate Autogen
23344 template.
23345 * grub-core/Makefile.am: New file. GRUB target modules' rules
23346 that doesn't fit in Makefile.core.def file.
23347 * grub-core/Makefile.core.def: New file. Autogen build
23348 definitions file for GRUB target modules.
23349 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23350 specific setjmp.S file.
23351 * po/Makefile.am: New file.
23352
23353 * .bzrignore: New ignores.
23354 * INSTALL: New requirements, without Ruby.
23355 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23356 * autogen.sh: Updated to invoke autogen as necessary.
23357 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23358 and defines for Automake conditionals.
23359 * geninit.sh: Refactoring.
23360
23361 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23362 necessary.
23363 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23364 New prototype.
23365
23366 * include/grub/test.h: Fix functional test modules' naming.
23367 * grub-core/tests/example_functional_test.c: Fix test module name.
23368
23369 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23370 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23371 * util/grub-editenv.c: Likewise.
23372 * util/grub-fstest.c: Likewise.
23373 * util/grub-mkdevicemap.c: Likewise.
23374 * util/grub-mkfont.c: Likewise.
23375 * util/grub-mkimage.c: Likewise.
23376 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23377 * util/grub-probe.c: Likewise.
23378 * util/grub-script-check.c: Likewise.
23379 * util/i386/pc/grub-setup.c: Likewise.
23380 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23381
23382 * tests/util/grub-shell.in: Fix override directory path.
23383 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23384 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23385
23386 * util/lvm.c: Update #includes.
23387 * util/raid.c: Likewise.
23388 * util/resolve.c: Likewise.
23389 * grub-core/bus/emu/pci.c: Likewise.
23390 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23391 * grub-core/lib/posix_wrap/string.h: Likewise.
23392 * grub-core/kern/emu/main.c: Likewise.
23393
23394 * grub-core/gensymlist.sh: New file. Script for generating kernel
23395 symbols file.
23396 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23397
23398 * grub-core/gentrigtables.c: Fix unused variable warnings.
23399
23400 * Makefile.in: Removed.
23401 * conf/any-emu.rmk: Removed.
23402 * conf/common.rmk: Removed.
23403 * conf/i386-coreboot.rmk: Removed.
23404 * conf/i386-efi.rmk: Removed.
23405 * conf/i386-ieee1275.rmk: Removed.
23406 * conf/i386-multiboot.rmk: Removed.
23407 * conf/i386-pc.rmk: Removed.
23408 * conf/i386-qemu.rmk: Removed.
23409 * conf/i386.rmk: Removed.
23410 * conf/mips-yeeloong.rmk: Removed.
23411 * conf/mips.rmk: Removed.
23412 * conf/powerpc-ieee1275.rmk: Removed.
23413 * conf/sparc64-ieee1275.rmk: Removed.
23414 * conf/tests.rmk: Removed.
23415 * conf/x86-efi.rmk: Removed.
23416 * conf/x86_64-efi.rmk: Removed.
23417 * gendistlist.sh: Removed.
23418 * geninitheader.sh: Removed.
23419 * genkernsyms.sh.in: Removed.
23420 * genmk.rb: Removed.
23421 * gensymlist.sh.in: Removed.
23422 * mkinstalldirs: Removed.
23423 * boot: Moved ...
23424 * grub-core/boot: ... to here.
23425 * bus: Moved ...
23426 * grub-core/bus: ... to here.
23427 * commands: Moved ...
23428 * grub-core/commands: ... to here.
23429 * disk: Moved ...
23430 * grub-core/disk: ... to here.
23431 * efiemu: Moved ...
23432 * grub-core/efiemu: ... to here.
23433 * font: Moved ...
23434 * grub-core/font: ... to here.
23435 * fs: Moved ...
23436 * grub-core/fs: ... to here.
23437 * gencmdlist.sh: Moved ...
23438 * grub-core/gencmdlist.sh: ... to here.
23439 * genemuinit.sh: Moved ...
23440 * grub-core/genemuinit.sh: ... to here.
23441 * genemuinitheader.sh: Moved ...
23442 * grub-core/genemuinitheader.sh: ... to here.
23443 * genfslist.sh: Moved ...
23444 * grub-core/genfslist.sh: ... to here.
23445 * genhandlerlist.sh: Moved ...
23446 * grub-core/genhandlerlist.sh: ... to here.
23447 * genmoddep.awk: Moved ...
23448 * grub-core/genmoddep.awk: ... to here.
23449 * genmodsrc.sh: Moved ...
23450 * grub-core/genmodsrc.sh: ... to here.
23451 * genpartmaplist.sh: Moved ...
23452 * grub-core/genpartmaplist.sh: ... to here.
23453 * genparttoollist.sh: Moved ...
23454 * grub-core/genparttoollist.sh: ... to here.
23455 * genterminallist.sh: Moved ...
23456 * grub-core/genterminallist.sh: ... to here.
23457 * gentrigtables.c: Moved ...
23458 * grub-core/gentrigtables.c: ... to here.
23459 * genvideolist.sh: Moved ...
23460 * grub-core/genvideolist.sh: ... to here.
23461 * gettext: Moved ...
23462 * grub-core/gettext: ... to here.
23463 * gfxmenu: Moved ...
23464 * grub-core/gfxmenu: ... to here.
23465 * gnulib: Moved ...
23466 * grub-core/gnulib: ... to here.
23467 * hello: Moved ...
23468 * grub-core/hello: ... to here.
23469 * hook: Moved ...
23470 * grub-core/hook: ... to here.
23471 * io: Moved ...
23472 * grub-core/io: ... to here.
23473 * kern: Moved ...
23474 * grub-core/kern: ... to here.
23475 * lib: Moved ...
23476 * grub-core/lib: ... to here.
23477 * loader: Moved ...
23478 * grub-core/loader: ... to here.
23479 * mmap: Moved ...
23480 * grub-core/mmap: ... to here.
23481 * normal: Moved ...
23482 * grub-core/normal: ... to here.
23483 * partmap: Moved ...
23484 * grub-core/partmap: ... to here.
23485 * parttool: Moved ...
23486 * grub-core/parttool: ... to here.
23487 * script: Moved ...
23488 * grub-core/script: ... to here.
23489 * term: Moved ...
23490 * grub-core/term: ... to here
23491 * tests/example_functional_test.c: Moved ...
23492 * grub-core/tests/example_functional_test.c: ... to here.
23493 * tests/lib/functional_test.c: Moved ...
23494 * grub-core/tests/lib/functional_test.c: ... to here.
23495 * tests/lib/test.c: Moved ...
23496 * grub-core/tests/lib/test.c: ... to here.
23497 * video: Moved ...
23498 * grub-core/video: ... to here.
23499
645586e6
BC
235002010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23501
23502 Replace --enable-grub-emu-modules with grub-emu-lite.
23503
23504 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23505 cache.S.
23506
23507 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23508 * kern/emu/full.c: New file. For grub-emu specific initialization.
23509 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23510 * kern/emu/main.c: Call initialization function grub_emu_init.
23511
23512 * Makefile.in: Include grub-emu-lite in install.
23513 * commands/parttool.c: Use grub_no_autoload to differentiate
23514 between grub-emu and grub-emu-lite.
23515 * include/grub/misc.h: New variable grub_no_autoload.
23516
23517 * conf/any-emu.rmk: New rules for grub-emu-lite.
23518 * configure.ac: Remove --enable-grub-emu-modules.
23519 * genmk.rb: Cleanup unnecessary rules.
23520 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23521
23522 * normal/main.c: Don't load list files on grub-emu-lite.
23523 * util/misc.c (grub_arch_sync_caches): Removed.
23524
f86a4030
CW
235252010-08-23 Colin Watson <cjwatson@ubuntu.com>
23526
23527 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23528 grub-mkimage rather than grub-mkelfimage.
23529 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23530
06776944
VS
235312010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23532
23533 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23534 a key after CapsLock or NumLock. It's just a qemu bug.
23535
df262419
VS
235362010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23537
23538 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23539 needed by libusb wrapper.
23540
b40ea81b
ST
235412010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23542
23543 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23544
dee50575
VS
235452010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23546
23547 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23548 --nounzip is passed.
23549
fb1d7b79
VS
235502010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23551
23552 USB hotunplugging and USB serial support.
23553
23554 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23555 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23556 (grub_uhci_transfer): Respect timeout and set *actual.
23557 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23558 non-standard length.
23559 (grub_usb_device_attach): Autoload modules.
23560 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23561 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23562 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23563 users updated.
23564 (grub_usb_add_hub): Fill nports and children.
23565 (attach_root_port): Receive hub instead of controller.
23566 All users updated. Fill hub->devices.
23567 (grub_usb_root_hub): Allocate hub->devices.
23568 (detach_device): New function.
23569 (poll_nonroot_hub): Fill children and detach devices.
23570 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23571 actual arguments. All users updated.
23572 (grub_usb_bulk_read_extended): New function.
23573 * bus/usb/serial/common.c: New file.
23574 * bus/usb/serial/ftdi.c: Likewise.
23575 * bus/usb/serial/pl2303.c: Likewise.
23576 * commands/terminal.c (handle_command): Support wildcard.
23577 * commands/usbtest.c: Output "Unknown" instead of empty string.
23578 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23579 (usbserial_common_mod_SOURCES): New variable.
23580 (usbserial_common_mod_CFLAGS): Likewise.
23581 (usbserial_common_mod_LDFLAGS): Likewise.
23582 (pkglib_MODULES): Add usbserial_pl2303.mod.
23583 (usbserial_pl2303_mod_SOURCES): New variable.
23584 (usbserial_pl2303_mod_CFLAGS): Likewise.
23585 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23586 (pkglib_MODULES): Add usbserial_ftdi.mod.
23587 (usbserial_ftdi_mod_SOURCES): New variable.
23588 (usbserial_ftdi_mod_CFLAGS): Likewise.
23589 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23590 (pkglib_MODULES): Add serial.mod.
23591 (serial_mod_SOURCES): New variable.
23592 (serial_mod_CFLAGS): Likewise.
23593 (serial_mod_LDFLAGS): Likewise.
23594 * conf/i386-pc.rmk: Likewise.
23595 * conf/mips-yeeloong.rmk: Likewise.
23596 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23597 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23598 * disk/usbms.c (first_available_slot): New variable.
23599 (grub_usbms_attach): Don't reuse free slots due to potential cache
23600 problems.
23601 * include/grub/serial.h: Moved to ..
23602 * include/grub/ns8250.h: ...this.
23603 * include/grub/serial.h: New file.
23604 * include/grub/term.h (grub_term_poll_usb): New variable.
23605 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23606 readkey. All users updated.
23607 (grub_terminfo_output_state): Pass term to put.
23608 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23609 (grub_usb_controller_dev): Add timeout and actual arguments to
23610 transfer. All users updated.
23611 (grub_usb_interface): New field detach_data.
23612 (grub_usb_device): New fields children and nports.
23613 (grub_usb_ep_type_t): New type.
23614 (grub_usb_get_ep_type): New function.
23615 (grub_usb_bulk_read_extended): Likewise.
23616 * include/grub/usbdesc.h (grub_usb_desc): New type.
23617 * include/grub/usbserial.h: New file.
23618 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23619 * kern/term.c (grub_term_poll_usb): New variable.
23620 (grub_getkey): Call grub_term_poll_usb if set.
23621 (grub_checkkey): Likewise.
23622 (grub_getkeystatus): Likewise.
23623 * term/serial.c: Moved controller-specific parts to ...
23624 * term/ns8250.c: ... here.
23625 * term/serial.c: Mostly rewritten.
23626 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23627 according to spec.
23628
21a313de
RM
236292010-08-20 Robert Millan <rmh@gnu.org>
23630
23631 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23632 a separate module and maybe other interesting combinations.
23633
23634 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23635 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23636 (kfreebsd_entry): Add generic filesystem module load routine.
23637 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23638
63c734a6
CW
236392010-08-20 Colin Watson <cjwatson@ubuntu.com>
23640
23641 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23642 "numcenter" (I misunderstood the purpose of this entry).
23643 * docs/grub.texi (sendkey): Likewise.
23644
c4d16542
CW
236452010-08-20 Colin Watson <cjwatson@ubuntu.com>
23646
23647 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23648 status flag options; simply omitting the option is equivalent and
23649 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23650 (keysym_table): Rename "num5numlock" to "numlock".
23651 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23652 can uniformly say that only the last of multiple `sendkey'
23653 invocations has any effect.
23654 * docs/grub.texi (sendkey): New section.
23655
93541d66
CW
236562010-08-19 Colin Watson <cjwatson@ubuntu.com>
23657
23658 * commands/i386/pc/sendkey.c (options): Fix three typos.
23659
b4ece5e1
VS
236602010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23661
23662 Implement sendkey support.
23663
23664 * commands/i386/pc/sendkey.c: New file.
23665 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23666 (sendkey_mod_SOURCES): New variable.
23667 (sendkey_mod_CFLAGS): Likewise.
23668 (sendkey_mod_LDFLAGS): Likewise.
23669
51f1f5af
CW
236702010-08-18 Colin Watson <cjwatson@ubuntu.com>
23671
23672 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23673 fix warnings from Autoconf.
23674
9da94e05
CW
236752010-08-18 Colin Watson <cjwatson@ubuntu.com>
23676
23677 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23678 to avoid false positives with some assemblers that output things
23679 like "someprefix_func" as part of their output.
23680
729a0f2e
RM
236812010-08-15 Robert Millan <rmh@gnu.org>
23682
23683 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23684 errors.
23685 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23686 grub_get_libzfs_handle() errors.
23687
f3710e08
RM
236882010-08-14 Robert Millan <rmh@gnu.org>
23689
23690 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23691 filesystem is not ZFS.
23692
7a3c13de
BC
236932010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23694
23695 Fix for misspelled color names defaulting to black/black (bug
23696 reported by Doug Nazar)
23697
23698 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23699 status to prototype.
23700 * normal/color.c (grub_parse_color_name_pair): Return failure
23701 status.
23702 (grub_env_write_color_normal): Ignore bad color names.
23703 (grub_env_write_color_highlight): Likewise.
23704 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23705
ab8ba50d
BC
237062010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23707
23708 "shift" command support to GRUB script.
23709
23710 * include/grub/script_sh.h (grub_script_shift): New prototype.
23711 * script/execute.c (grub_script_shift): New function.
23712 * script/main.c (grub_script_init): Register shift command.
23713 (grub_script_fini): Unregister shift command.
23714 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23715
23716 * tests/grub_script_shift.in: New testcase.
23717 * conf/tests.rmk: Rules for new testcase.
23718
4d61999e
BC
237192010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23720
23721 "continue" command support to GRUB script.
23722
23723 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23724 (grub_script_break): Continue support.
23725 * script/main.c (grub_script_init): Register continue command.
23726 (grub_script_fini): Unregister continue command.
23727
23728 * tests/grub_script_continue.in: New testcase.
23729 * conf/tests.rmk: Rules for new testcase.
23730
4df51e00
BC
237312010-08-12 BVK Chaitanya <bvk@dbook>
23732
23733 "break" command support to GRUB script.
23734
23735 * conf/common.rmk: Rule updates to grub-script-check.
23736 * include/grub/misc.h (grub_min): New function.
23737 * include/grub/script_sh.h (grub_script_init): New prototype.
23738 (grub_script_fini): New prototype.
23739 (grub_script_break): New prototype.
23740 * script/main.c (grub_script_init): New function.
23741 (grub_script_fini): New function.
23742 * script/execute.c (grub_script_break): New function.
23743 * normal/main.c: Calls to grub_script_{init,fini}.
23744 * util/grub-script-check.c (grub_script_break): New function.
23745
23746 * tests/grub_script_break.in: New testcase.
23747 * conf/tests.rmk: Rules for new test case.
23748
f12c8420
BC
237492010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23750
23751 Function parameters support to GRUB script.
23752
23753 * script/yylex.l (VARIABLE): Regular expression update.
23754 * script/function.c (grub_script_function_call): Moved ...
23755 * script/execute.c (grub_script_function_call): ... to here.
23756 (grub_script_execute_arglist_to_argv): Removed.
23757 (grub_script_arglist_to_argv): New function.
23758 * script/argv.c: New file.
23759 (grub_script_argv_free): New function.
23760 (grub_script_argv_next): Likewise.
23761 (grub_script_argv_append): Likewise.
23762 (grub_script_argv_split_append): Likewise.
23763 * include/grub/script_sh.h (grub_script_argv): New struct.
23764 (grub_script_argv_free): New function.
23765 (grub_script_argv_next): Likewise.
23766 (grub_script_argv_append): Likewise.
23767 (grub_script_argv_split_append): Likewise.
23768
23769 * conf/common.rmk (normal.mod): New source script/argv.c.
23770
23771 * tests/grub_script_echo1.in: More tests.
23772 * tests/grub_script_vars1.in: Likewise.
23773 * tests/grub_script_functions.in: New test case.
23774 * conf/tests.rmk: Rules for new testcase.
23775
8022b748
BC
237762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23777
23778 Remove grub_script_cmdblock struct.
23779
23780 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23781 * script/parser.y: Likewise.
23782 * script/execute.c: Rename cmdblock suffix to cmdlist.
23783 * script/script.c: Likewise.
23784 * util/grub-script-check.c: Likewise.
23785
79a6ba61
YB
237862010-08-11 Yves Blusseau <blusseau@zetam.org>
23787
23788 * .bzrignore: add grub-macho2img
23789
d04b9414
VS
237902010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23791
23792 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23793
f947ab49
VS
237942010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23795
23796 Remove the dump of sm712 initialisation sequence.
23797
23798 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23799 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23800 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23801 (GRUB_VGA_CR_*): Added many registers.
23802 (GRUB_VGA_SR_*): Likewise.
23803 (GRUB_VGA_GR_*): Likewise.
23804 (grub_vga_write_arx): New function.
23805 (grub_video_hw_config): New struct.
23806 (grub_vga_set_geometry): New function.
23807 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23808 GRUB_PCI_CLASS_SUBCLASS_VGA.
23809 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23810 * video/sm712.c (grub_sm712_write_reg): New function
23811 (grub_sm712_read_reg): Likewise.
23812 (grub_sm712_sr_write): Likewise.
23813 (grub_sm712_gr_write): Likewise.
23814 (grub_sm712_cr_write): Likewise.
23815 (grub_sm712_write_arx): Likewise.
23816 (grub_sm712_cr_shadow_write): Likewise.
23817 (grub_sm712_write_dda_lookup): Likewise.
23818 (grub_video_sm712_setup): Initialise the video rather then
23819 blindly replay the dump.
23820 (main) [TEST]: Add a routine to be able to compile as standalone for
23821 tests.
23822 * video/sm712_init.c (sm712_init): Removed.
23823 (sm712_sr_seq1): New array.
23824 (sm712_sr_seq2): Likewise.
23825
f0206638
VS
238262010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23827
23828 * include/grub/vga.h: Add missing grub/pci.h include.
23829
2764da3b
YB
238302010-08-10 Yves Blusseau <blusseau@zetam.org>
23831
23832 * util/grub-macho2img.c (main): fix typo
23833
cf0c775e
VS
238342010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23835
23836 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23837 (grub_vga_gr_read): Likewise.
23838 (grub_vga_cr_write): Likewise.
23839 (grub_vga_cr_read): Likewise.
23840 (grub_vga_sr_write): Likewise.
23841 (grub_vga_sr_read): Likewise.
23842 (grub_vga_palette_read): Likewise.
23843 (grub_vga_palette_write): Likewise.
23844 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23845 (grub_sm712_sr_read): New function.
23846 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23847 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23848
07f360e9
RM
238492010-08-09 Robert Millan <rmh@gnu.org>
23850
23851 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23852 out unused variables on non-ZFS build.
23853
346c2072
RM
238542010-08-08 Robert Millan <rmh@gnu.org>
23855
23856 Fix path generation for sub-filesystems in ZFS.
23857
23858 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23859 missing slash.
23860
71175420
RM
238612010-08-08 Robert Millan <rmh@gnu.org>
23862
23863 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23864
0d8286f3
RM
238652010-08-08 Robert Millan <rmh@gnu.org>
23866
23867 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23868 exist, issue a proper error message (rely on `ls' for translated
23869 strings).
23870
55dd2924
RM
238712010-08-08 Robert Millan <rmh@gnu.org>
23872
23873 Fix grub-probe invocation.
23874
23875 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23876
d3dd9e80
RM
238772010-08-04 Robert Millan <rmh@gnu.org>
23878
23879 * configure.ac: Remove checks for getfsstat() and getmntany().
23880 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23881 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23882 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23883 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23884 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23885 function.
23886 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23887 via find_mount_point_from_dir() and getfsstat() / getmntany().
23888
0de22aa9
RM
238892010-08-04 Robert Millan <rmh@gnu.org>
23890
23891 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23892 (grub_find_zpool_from_mount_point): Merge into ...
23893 (grub_find_zpool_from_dir): ... this.
23894 * kern/emu/misc.c: Likewise.
23895
23896 * kern/emu/misc.c
23897 (grub_make_system_path_relative_to_its_root): Replace
23898 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23899 with grub_find_zpool_from_dir().
23900 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23901
62858144
RM
239022010-08-04 Robert Millan <rmh@gnu.org>
23903
23904 Support OpenSolaris in ZFS device resolution.
23905
23906 * configure.ac: Check for getmntany().
23907 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23908 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23909 support.
23910
9dd6fd50
RM
239112010-08-03 Robert Millan <rmh@gnu.org>
23912
23913 Fix grub-emu build.
23914
23915 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23916 * include/grub/emu/misc.h: ... here.
23917
23918 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
23919 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
23920
23921 * util/misc.c: Remove `<grub/util/libzfs.h>'.
23922 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
23923 (grub_get_libzfs_handle): Move to ...
23924 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
23925 (grub_get_libzfs_handle): ... here.
23926
c9f7ff97
BC
239272010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
23928
23929 * script/execute.c (grub_script_execute_cmdline): Check for NULL
23930 as command name case.
23931
a870a783
CW
239322010-08-02 Colin Watson <cjwatson@ubuntu.com>
23933
23934 * disk/raid.c (insert_array): Select unique numbers for named arrays
23935 as well, for use as keys in the disk cache.
23936
c7db243b
RM
239372010-08-01 Robert Millan <rmh@gnu.org>
23938
23939 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
23940 kFreeBSD device name, except on ZFS where the filesystem label is
23941 used.
23942 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
23943 `/boot/zfs/zpool.cache'.
23944 Set mountfrom kernel variable using ${kfreebsd_device}.
23945
f7abdefb
RM
239462010-08-01 Robert Millan <rmh@gnu.org>
23947
23948 Make it even harder to use uninitialized `libzfs_handle' (and
23949 make the interface a bit simpler).
23950
23951 * include/grub/util/misc.h (grub_util_init_libzfs)
23952 (libzfs_handle): Remove.
23953 (grub_get_libzfs_handle): New prototype.
23954
23955 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
23956 attribute.
23957 (grub_util_init_libzfs): Remove.
23958 (grub_get_libzfs_handle): New function.
23959
23960 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
23961 grub_get_libzfs_handle() to obtain a libzfs handle instead of
23962 accessing `libzfs_handle' directly.
23963
c882acc0
RM
239642010-08-01 Robert Millan <rmh@gnu.org>
23965
23966 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23967 (grub_find_zpool_from_mount_point): New function prototypes.
23968
23969 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23970 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23971
23972 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23973 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23974 `static' attribute.
23975
23976 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23977 finding zpool from mount point into ...
23978 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23979
23980 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23981 requested path is part of a ZFS pool, use
23982 grub_find_zpool_from_mount_point() to detect its filesystem name,
23983 and generate a path with `/fsname@path' syntax.
23984
8bfe31d8
CW
239852010-08-01 Colin Watson <cjwatson@ubuntu.com>
23986
23987 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
23988 (void) rather than () so that this is a proper prototype.
23989
553df63d
VS
239902010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23991
23992 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
23993
8687cf07
VS
239942010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23995
23996 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
23997 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
23998
ea9be8ea
CW
239992010-08-01 Colin Watson <cjwatson@ubuntu.com>
24000
24001 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24002
6eea041a
CW
240032010-08-01 Colin Watson <cjwatson@ubuntu.com>
24004
24005 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24006
2cfb45df
CW
240072010-08-01 Colin Watson <cjwatson@ubuntu.com>
24008
24009 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24010 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24011 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24012 disable gfxpayload.
24013 (Shell-like scripting): Add real content.
24014 (Serial terminal): Suggest `terminal_input serial; terminal_output
24015 serial' rather than putting the two commands on separate lines,
24016 since console input will be inoperative after the first command.
24017 (menuentry): Document --class, --users, and --hotkey options.
24018 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24019 Vladimir Serbinenko).
24020
7decd202
VS
240212010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
240222010-08-01 Colin Watson <cjwatson@ubuntu.com>
24023
24024 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24025
c882acc0
RM
240262010-08-01 Robert Millan <rmh@gnu.org>
24027
24028 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24029 (grub_find_zpool_from_mount_point): New function prototypes.
24030
24031 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24032 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24033
24034 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24035 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24036 `static' attribute.
24037
24038 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24039 finding zpool from mount point into ...
24040 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24041
24042 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24043 requested path is part of a ZFS pool, use
24044 grub_find_zpool_from_mount_point() to detect its filesystem name,
24045 and generate a path with `/fsname@path' syntax.
24046
deb0caa3
RM
240472010-08-01 Robert Millan <rmh@gnu.org>
24048
24049 Prevent accidental use of uninitialized libzfs_handle.
24050
24051 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24052 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24053 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24054
ce04ef47
CW
240552010-08-01 Colin Watson <cjwatson@ubuntu.com>
24056
24057 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24058 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24059
ebf53056
RM
240602010-08-01 Robert Millan <rmh@gnu.org>
24061
24062 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24063
3710bb6b
RM
240642010-07-31 Robert Millan <rmh@gnu.org>
24065
24066 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24067
8072efeb
RM
240682010-07-31 Robert Millan <rmh@gnu.org>
24069
24070 * kern/emu/misc.c: Add missing license header.
24071
3169f4c7
RM
240722010-07-31 Robert Millan <rmh@gnu.org>
24073
24074 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24075
24076 * include/grub/util/libnvpair.h: Include `<config.h>'.
24077 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24078 declaring libnvpair prototypes ourselves.
24079 * include/grub/util/libzfs.h: Include `<config.h>'.
24080 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24081 declaring libzfs prototypes ourselves.
24082
24083 (libzfs_handle): Moved to ...
24084 * include/grub/util/misc.h (libzfs_handle): ... here.
24085 Include `<grub/util/libzfs.h>'.
24086
c9a00aee
RM
240872010-07-30 Robert Millan <rmh@gnu.org>
24088
24089 * include/grub/emu/misc.h: Add missing license header.
24090
a184f9c8
RM
240912010-07-30 Robert Millan <rmh@gnu.org>
24092
24093 Enable `grub-probe -t device' resolution on ZFS.
24094
24095 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24096 * include/grub/util/libnvpair.h: New file.
24097 * include/grub/util/libzfs.h: New file.
24098
24099 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24100 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24101 `<grub/util/libnvpair.h>'.
24102 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24103
24104 (find_mount_point_from_dir): New static function.
24105 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24106 function.
24107 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24108 find_root_device_from_libzfs() before ressorting to find_root_device().
24109
24110 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24111 prototype.
24112 * util/misc.c: Include `<grub/util/libzfs.h>'.
24113 (grub_util_init_libzfs): New function.
24114 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24115 [HAVE_LIBZFS] (fini_libzfs): New static function.
24116 (grub_util_init_libzfs): New function.
24117 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24118
f7790cdd
RM
241192010-07-30 Robert Millan <rmh@gnu.org>
24120
24121 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24122 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24123 `warn_unused_result' attribute.
24124 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24125 (grub_xasprintf, grub_xvasprintf): Likewise.
24126 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24127
0806b63c
RM
241282010-07-29 Robert Millan <rmh@gnu.org>
24129
24130 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24131 (probe): Handle `PRINT_FS_LABEL'.
24132 (main): Handle `-t fs_label'.
24133
9f841f5c
RM
241342010-07-29 Robert Millan <rmh@gnu.org>
24135
24136 * configure.ac: Remove grub-mkisofs checks.
24137
46371121
VS
241382010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24139
24140 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24141 Reported by: Lennart Sorensen.
24142
241432010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24144
24145 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24146 prior to terminal_input/terminal_output separation. It's been over 1.5
24147 years and those versions weren't widely deployed.
24148
a9600892
CW
241492010-07-22 Colin Watson <cjwatson@ubuntu.com>
24150
24151 * disk/raid.c (insert_array): Don't count named arrays when looking
24152 for unused array numbers.
697e053c 24153 Reported and tested by: Michael Guntsche.
a9600892 24154
c03507df
CW
241552010-07-20 Colin Watson <cjwatson@ubuntu.com>
24156
24157 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24158 implementation of this so that grub-emu links again, with a note
24159 that this should support hotplugging in the future.
24160
b26f1c11
CW
241612010-07-20 Colin Watson <cjwatson@ubuntu.com>
24162
24163 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24164
efc9d7f1
CW
241652010-07-20 Colin Watson <cjwatson@ubuntu.com>
24166
24167 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24168 handle on failure.
24169 (grub_loopback_close): Remove empty function.
24170 (grub_loopback_dev): Remove close method.
24171
dd8ff5c9
CW
241722010-07-20 Colin Watson <cjwatson@ubuntu.com>
24173
24174 Disable EFI cursor when the EFI console becomes inactive.
24175
24176 * term/efi/console.c (grub_efi_console_init): New function.
24177 (grub_efi_console_fini): New function.
24178 (grub_console_term_output): Register init and fini methods.
24179
5e3bec67
VS
241802010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24181
24182 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24183 sh script.
24184
afaec079
VS
241852010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24186
24187 * disk/loopback.c (grub_loopback): Replace filename with file.
24188 (delete_loopback): Handle new semantics.
24189 (grub_cmd_loopback): Likewise.
24190 (grub_loopback_iterate): Likewise.
24191 (grub_loopback_close): Likewise.
24192
a6a11f3c
VS
241932010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24194
24195 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24196 with -p "".
24197 Reported by: Tito Keitel.
24198
64a638b0
VS
241992010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24200
24201 * docs/grub.texi (Naming convention): Document new naming convention.
24202
ab8ba957
VS
242032010-07-20 Vadim Solomin <vadic052@gmail.com>
242042010-07-20 Colin Watson <cjwatson@ubuntu.com>
24205
24206 Generate device.map in something closer to the old ordering.
24207
24208 * util/deviceiter.c (struct device): New declaration.
24209 (compare_file_names): Rename to ...
24210 (compare_devices): ... this. Sort by kernel name in preference to
24211 the stable by-id name, but keep the latter as a fallback comparison.
24212 Update header comment.
24213 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24214 of `struct device' rather than of plain file names.
24215
a29d6a4b
TF
242162010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24217
24218 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24219 on i386.
24220
39d824e8
VS
242212010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24222
24223 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24224 hardcoding size.
24225 (setv1table): Likewise.
24226
f058276b
FZ
242272010-07-20 Colin Watson <cjwatson@ubuntu.com>
24228
24229 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24230 removing the homehost if present.
24231 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24232 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24233 removing the homehost if present.
24234 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24235 if possible.
24236 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24237
24238 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24239 parameter. Set its pointer target to 0.
24240 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24241 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24242 `data_offset' value from the superblock for 1.x metadata.
24243 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24244 data on the device.
24245 (insert_array): Record the start sector of data on the device.
24246 (grub_raid_register): Pass start_sector parameters to
24247 grub_raid_list->detect and insert_array.
24248 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24249 member.
24250 (struct grub_raid): Add start_sector parameter to `detect'.
24251
24252 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24253 __attribute__ ((packed)), leaving a comment.
24254 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24255 (grub_mdraid_detect_09): ... here and ...
24256 (grub_mdraid_detect_1x): ... here.
24257
242582010-07-20 Peter Henn <peter.henn@web.de>
24259
24260 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24261 chunk size and disk size, which are already given as sector counts
24262 as distinct from the 0.90 units. Fetch the correct device number
24263 from the role table instead of using the table index.
24264
242652010-07-20 Felix Zielcke <fzielcke@z-51.de>
24266
24267 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24268 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24269 (WriteMostly1): New macro.
24270 Set array->name to NULL for metadata format 0.90. Add support for
24271 metadata 1.x. Fix some comments.
24272 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24273 few comments.
24274 * util/getroot.c (grub_util_get_grub_dev): Add support for
24275 /dev/md/name style devices.
24276
4b761da9
CW
242772010-07-20 Colin Watson <cjwatson@ubuntu.com>
24278
24279 * .bzrignore: Ignore 20_linux_xen.
24280
5771289a
CW
242812010-07-17 Colin Watson <cjwatson@ubuntu.com>
24282
24283 * util/import_unicode.py: Remove unnecessary imports.
24284
5dab68df
AN
242852010-07-17 Aleš Nesrsta <starous@volny.cz>
24286
24287 Hotplugging and USB hub support.
24288
24289 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24290 (grub_ohci): Likewise.
24291 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24292 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24293 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24294 (GRUB_OHCI_CTRL_EDS): Likewise.
24295 (GRUB_OHCI_BULK_EDS): Likewise.
24296 (GRUB_OHCI_TDS): Likewise.
24297 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24298 (grub_ohci_ed_phys2virt): New function.
24299 (grub_ohci_virt_to_phys): Likewise.
24300 (grub_ohci_td_phys2virt): Likewise.
24301 (grub_ohci_td_virt2phys): Likewise.
24302 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24303 attachment.
24304 (grub_ohci_find_ed): New function.
24305 (grub_ohci_alloc_td): Likewise.
24306 (grub_ohci_free_td): Likewise.
24307 (grub_ohci_free_tds): Likewise.
24308 (grub_ohci_transfer): Use previously allocated memory.
24309 (grub_ohci_portstatus): Reset status changed bit.
24310 (grub_ohci_detect_dev): Supply status changed.
24311 (grub_ohci_fini_hw): Free memory.
24312 (grub_ohci_restore_hw): Reallocate memory.
24313 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24314 Reset status change.
24315 (grub_uhci_detect_dev): Supply status_change.
24316 * bus/usb/usb.c (attach_hooks): New var.
24317 (grub_usb_device_attach): New function.
24318 (grub_usb_register_attach_hook_class): Likewise.
24319 (grub_usb_unregister_attach_hook_class): Likewise.
24320 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24321 (grub_usb_add_hub): Reset connection changed bit.
24322 (attach_root_port): New function.
24323 (grub_usb_root_hub): Likewise.
24324 (poll_nonroot_hub): Likewise.
24325 (grub_usb_poll_devices): Likewise.
24326 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24327 * disk/usbms.c (grub_usbms_open): Use device hooks.
24328 (grub_usbms_iterate) :Poll devices.
24329 (grub_usbms_finddevs): Split into ...
24330 (grub_usbms_attach): ... this ...
24331 (grub_usbms_attach): ... and this.
24332 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24333 in detect_dev.
24334 (grub_usb_interface): New fields attached and detach_hook.
24335 (grub_usb_attach_hook_class): New type.
24336 (grub_usb_attach_desc): New struct.
24337 (grub_usb_register_attach_hook_class): New function.
24338 (grub_usb_unregister_attach_hook_class): Likewise.
24339 (grub_usb_poll_devices): Likewise.
24340 (grub_usb_device_attach): Likewise.
24341 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24342 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24343
3222efaf
VS
243442010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24345
24346 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24347 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24348 delta determination style. Works with most NetBSD partitions too.
24349
139b714a
VS
243502010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24351
24352 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24353 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24354
986aad56
VS
243552010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24356
24357 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24358
99be513c
AB
243592010-07-14 Anton Blanchard <anton@samba.org>
24360
24361 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24362 ET_DYN files.
24363
18075f62
GS
243642010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24365
24366 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24367
8d9a5b15
GS
243682010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24369
24370 * kern/partition.c (grub_partition_check_containment): New function to
24371 check that a partition is physically contained in a parent. Since
24372 offsets are relative (and non-negative), this reduces to checking that
24373 the partition ends before its parent.
24374 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24375 (grub_partition_iterate): Likewise.
24376 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24377 comments.
24378 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24379 partitions that start before their parent, and add debug printfs.
24380
19563c25
CW
243812010-07-13 Colin Watson <cjwatson@ubuntu.com>
24382
24383 * Makefile.in (.SUFFIX): Spell correctly, as ...
24384 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24385 bare module name without `.mod', e.g. `test') tried to invoke a
24386 Modula-2 compiler.
24387
1a1f1e67
CW
243882010-07-13 Colin Watson <cjwatson@ubuntu.com>
24389
24390 * README: Point to the Info manual.
24391
811b0dca
JS
243922010-07-13 Jiro SEKIBA <jir@unicus.jp>
24393
24394 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24395 2nd superblock position from partition size.
24396
e4f4eafc
CW
243972010-07-10 Colin Watson <cjwatson@ubuntu.com>
24398
24399 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24400 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24401 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24402 outputs.
24403
4274c30f
VS
244042010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24405
24406 Restructure SCSI .id handling.
24407 Reported and tested by: Aleš Nesrsta.
24408
24409 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24410 (grub_atapi_dev): Changed .name to "ata". New field .id.
24411 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24412 (grub_usbms_dev): New field .id.
24413 * disk/scsi.c (grub_scsi_iterate): Generate name.
24414 (grub_scsi_open): Parse name.
24415 * include/grub/scsi.h (grub_make_scsi_id): New function.
24416 (grub_scsi_dev): Change iterate and open to number instead of naming
24417 busses. All users updated.
24418 (grub_scsi): Remove name. Add .bus.
24419
5bc24388
VS
244202010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24421
24422 * commands/help.c (grub_cmd_help): Fix a typo.
24423
249975ba
VS
244242010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24425
24426 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24427 Reported and tested by: Colin Watson.
24428
3eaac1a1
VS
244292010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24430
24431 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24432 in this context.
24433
becce1b1
VS
244342010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24435
24436 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24437
f7bf0918
CW
244382010-07-07 Colin Watson <cjwatson@ubuntu.com>
24439
24440 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24441 indentation.
24442
0b0f9620
CW
244432010-07-06 Colin Watson <cjwatson@ubuntu.com>
24444
24445 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24446 and disk/raid6_recover.c.
24447 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24448 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24449
1e545469
CW
244502010-07-06 Colin Watson <cjwatson@ubuntu.com>
24451
24452 * term/gfxterm.c (repaint_schedulded): Rename to ...
24453 (repaint_scheduled): ... this. Update all callers.
24454 (repaint_was_schedulded): Rename to ...
24455 (repaint_was_scheduled): ... this. Update all callers.
24456
5357687a
CW
244572010-07-06 Colin Watson <cjwatson@ubuntu.com>
24458
24459 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24460 which we expect to be handled by upper layers.
24461
29d7e783
BC
244622010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24463
24464 * bus/usb/usbhub.c: #include time.h header.
24465
37582066
CW
244662010-07-06 Colin Watson <cjwatson@ubuntu.com>
24467
24468 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24469 entry_name also for entries without stat blocks (e.g. ".."); fixes
24470 corruption of the first entry in a directory.
24471
c8c06953
CW
244722010-07-06 Colin Watson <cjwatson@ubuntu.com>
24473
24474 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24475 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24476 doesn't work otherwise.
24477
e75056f1
CW
244782010-07-05 Colin Watson <cjwatson@ubuntu.com>
24479
24480 * docs/grub.texi (Features): Update list of supported file systems.
24481 (GNU/Linux): Update for GRUB 2.
24482 (Serial terminal): Remove mention of --disable-serial, which was a
24483 GRUB Legacy configure option. Update instructions to use
24484 `terminal_input' and `terminal_output' rather than `terminal'.
24485 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24486 configuration' and `Installing GRUB using grub-install'.
24487 (Menu entry editor): Update for GRUB 2.
24488 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24489 Document new -a, -u, and -v options.
24490 (initrd): New section.
24491 (initrd16): New section.
24492 (linux): New section.
24493 (linux16): New section.
24494 (search): The `var' argument to `--set' is optional.
24495 (GRUB only offers a rescue shell): Go into a little more detail on
24496 drive ordering.
24497
5cf69151
CW
244982010-07-05 Colin Watson <cjwatson@ubuntu.com>
24499
24500 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24501
e3f90044
CW
245022010-07-05 Colin Watson <cjwatson@ubuntu.com>
24503
24504 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24505 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24506
38d8f4f3
CW
245072010-07-05 Colin Watson <cjwatson@ubuntu.com>
24508
24509 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24510 install_prefix, in line with install_dos_part and install_bsd_part.
24511 Add new prefix variable, which is copied to install_prefix after
24512 comparing core.img in memory with the one read from disk in the
24513 no-embedding case, and use that rather than overwriting
24514 install_prefix immediately when installing to a partition.
24515 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24516 Bicakci.
24517
57ebd41e
GS
245182010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24519
24520 * configure.ac: Avoid == in test command, it's not portable.
24521 * util/grub.d/30_os-prober.in: Likewise.
24522
cb7f64b2
CW
245232010-07-04 Colin Watson <cjwatson@ubuntu.com>
24524
24525 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24526
6b654bb0
GS
245272010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24528
24529 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24530 multiple (top-level) partmaps.
24531
72a2026d
VS
245322010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24533
24534 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24535 Reported by: Tino Keitel.
72a2026d 24536
df3eb88f
VS
245372010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24538
24539 Bidi and diacritics support.
24540
24541 * Makefile.in (widthspec.bin): New target.
24542 (widthspec.h): Likewise.
24543 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24544 * autogen.sh: Generate unidata.c.
24545 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24546 * commands/ls.c (grub_ls_list_devices): Likewise.
24547 (grub_ls_list_files): Likewise.
24548 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24549 (grub_mini_cmd_lsmod): Likewise.
24550 * commands/read.c: Likewise.
24551 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24552 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24553 * lib/arg.c (grub_arg_show_help): Likewise.
24554 * lib/crypto.c (grub_password_get): Likewise.
24555 * normal/auth.c (grub_username_get): Likewise.
24556 * normal/misc.c (grub_normal_print_device_info): Likewise.
24557 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24558 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24559 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24560 (normal/charset.c_DEPENDENCIES): New variable.
24561 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24562 (pkglib_MODULES): Remove charset.mod.
24563 (charset_mod_SOURCES): Removed.
24564 (charset_mod_CFLAGS): Likewise.
24565 (charset_mod_LDFLAGS): Likewise.
24566 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24567 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24568 and term/tparm.c.
24569 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24570 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24571 (kernel_img_HEADERS): Add terminfo.h.
24572 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24573 Fill ->font. Reverse ascii bitmaps.
24574 (grub_font_get_xheight): New function.
24575 * font/font.c (grub_font_get_string_width): Moved from here ...
24576 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24577 * font/font.c (grub_font_draw_string): Moved from here ...
24578 * gfxmenu/font.c (grub_font_draw_string): ... here.
24579 * font/font.c (grub_font_dup_glyph): New function.
24580 (grub_font_blit_glyph): Likewise.
24581 (grub_font_blit_glyph_mirror): Likewise.
24582 (blit_comb): Likewise.
24583 (grub_font_construct_dry_run): Likewise.
24584 (grub_font_get_constructed_device_width): Likewise.
24585 (grub_font_construct_glyph): Likewise.
24586 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24587 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24588 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24589 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24590 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24591 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24592 (grub_font_get_xheight): New proto.
24593 (grub_font_get_constructed_device_width): Likewise.
24594 (grub_font_construct_glyph): Likewise.
24595 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24596 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24597 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24598 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24599 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24600 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24601 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24602 (grub_console_getcharwidth): Likewise.
24603 * include/grub/misc.h (grub_xputs): New proto.
24604 (grub_puts): Inlined.
24605 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24606 (grub_normal_get_line_counter): Removed.
24607 (grub_install_newline_hook): Likewise.
24608 (grub_normal_get_char_counter): New proto.
24609 (grub_normal_reset_more): Likewise.
24610 (grub_xputs_normal): Likewise.
24611 * include/grub/powerpc/ieee1275/console.h: Removed.
24612 * include/grub/sparc64/ieee1275/console.h: Likewise.
24613 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24614 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24615 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24616 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24617 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24618 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24619 (grub_term_input): Pass reference to self. All users updated.
24620 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24621 Pass reference to self. New fields normal_color, highlight_color and
24622 data. All users updated.
24623 (grub_putchar): Removed.
24624 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24625 (grub_unicode_estimate_width): New function.
24626 (grub_term_getcharwidth): Add defaults.
24627 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24628 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24629 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24630 (grub_cls): Remove EXPORT_FUNC.
24631 (grub_setcolorstate): Inline.
24632 (grub_newline_hook): Removed.
24633 * include/grub/terminfo.h: Rewritten. All users updated.
24634 * include/grub/unicode.h: New file.
24635 * include/grub/video.h (grub_video_signed_rect): New type.
24636 * kern/emu/console.c (grub_console_highlight_color): Removed.
24637 (grub_console_normal_color): Likewise.
24638 (grub_console_standard_color): Made static.
24639 (grub_ncurses_putchar): Remove mapping.
24640 (grub_ncurses_getcharwidth): Removed.
24641 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24642 (grub_ncurses_setcolor): Removed.
24643 (grub_ncurses_getcolor): Likewise.
24644 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24645 (grub_console_putchar): ... this.
24646 (grub_console_putchar): Handle argument difference.
24647 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24648 console_init_early and console_init_lately.
24649 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24650 * kern/misc.c (grub_puts): Removed.
24651 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24652 (grub_vsnprintf_real): Remove str = NULL support.
24653 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24654 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24655 * kern/term.c (grub_putcode): Renamed to ...
24656 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24657 (grub_putchar): Removed.
24658 (grub_xputs_dumb): New function.
24659 (grub_xputs): New variable.
24660 * lib/charset.c: Move from here ...
24661 * normal/charset.c: ... to here.
24662 (grub_ucs4_to_utf8): New function.
24663 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24664 (join_types): New variable.
24665 (unpack_join): New function.
24666 (bidi_types): New variable.
24667 (unpack_bidi): New function.
24668 (get_bidi_type): Likewise.
24669 (get_join_type): Likewise.
24670 (is_mirrored): Likewise.
24671 (grub_unicode_get_comb_type): Likewise.
24672 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24673 (is_type_after): Likewise.
24674 (grub_unicode_aglomerate_comb): Likewise.
24675 (bidi_line_wrap): Likewise.
24676 (grub_bidi_line_logical_to_visual): Likewise.
24677 (grub_bidi_logical_to_visual): Likewise.
24678 (grub_unicode_mirror_code): Likewise.
24679 (grub_unicode_shape_code): Likewise.
24680 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24681 Don't use grub_putchar.
24682 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24683 (grub_normal_reader_init): Likewise.
24684 (grub_xputs_saved): New variable.
24685 (GRUB_MOD_INIT): Set grub_xputs.
24686 (GRUB_MOD_FINI): Restore grub_xputs.
24687 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24688 (menu_init): Avoid printing gfxmenu error.
24689 (show_menu): Use grub_normal_get_char_counter.
24690 * normal/menu_entry.c (update_screen): Fix out-of-array.
24691 (complete): Avoid NULL dereferencing.
24692 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24693 * normal/menu_text.c (print_spaces): Removed.
24694 (grub_print_ucs4): Likewise.
24695 (grub_print_message_indented): Use grub_print_ucs4.
24696 (print_message): Use grub_putcode.
24697 (print_entry): Hanlde diacritics.
24698 * normal/term.c (term_state): New type.
24699 (grub_more_lines): Removed.
24700 (term_states): New variable.
24701 (grub_normal_line_counter): Renamed to ..
24702 (grub_normal_char_counter): ...this. All users updated.
24703 (grub_normal_get_line_counter): Renamed to ...
24704 (grub_normal_get_char_counter): ... this.
24705 (grub_normal_reset_more): New function.
24706 (process_newline): Removed.
24707 (print_more): New function.
24708 (grub_install_newline_hook): Removed.
24709 (map_code): New function.
24710 (grub_puts_terminal): Use grub_print_ucs4.
24711 (putglyph): New function.
24712 (putcode_real): Likewise.
24713 (grub_putcode): Use putcode_real.
24714 (get_maxwidth): New function.
24715 (get_startwidth): Likewise.
24716 (print_ucs4_terminal): Likewise.
24717 (find_term_state): Likewise.
24718 (put_glyphs_terminal): Likewise.
24719 (print_backlog): Likewise.
24720 (print_ucs4_real): Likewise.
24721 (grub_print_ucs4): Likewise.
24722 (grub_xputs_normal): Likewise.
24723 * term/efi/console.c (grub_console_putchar): Output diacritics.
24724 (grub_console_getcharwidth): Removed.
24725 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24726 * term/gfxterm.c (clear_char): Free chars.
24727 (scroll_up): Avoid leaking memory.
24728 (grub_gfxterm_putchar): Support diacritics.
24729 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24730 * term/i386/pc/console.c (grub_console_term_output): Declare as
24731 GRUB_TERM_CODE_TYPE_VGA.
24732 * term/i386/pc/vga.c (grub_vga_term): Declare as
24733 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24734 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24735 GRUB_TERM_CODE_TYPE_VGA.
24736 * term/i386/vga_common.c (map_char): Removed.
24737 (grub_console_putchar): Likewise.
24738 (grub_console_getcharwidth): Likewise.
24739 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24740 (colors): Reordered to match terminfo.
24741 (grub_ofconsole_normal_color): Removed.
24742 (grub_ofconsole_writeesc): Likewise.
24743 (grub_ofconsole_highlight_color): Likewise.
24744 (grub_ofconsole_getcharwidth): Likewise.
24745 (grub_ofconsole_setcolorstate): Likewise.
24746 (grub_ofconsole_setcolor): Likewise.
24747 (grub_ofconsole_getcolor): Likewise.
24748 (grub_ofconsole_readkey): Renamed to ...
24749 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24750 key.
24751 (grub_ofconsole_checkkey): Removed.
24752 (grub_ofconsole_getkey): Likewise.
24753 (grub_ofconsole_getxy): Likewise.
24754 (grub_ofconsole_gotoxy): Likewise.
24755 (grub_ofconsole_cls): Likewise.
24756 (grub_ofconsole_refresh): Likewise.
24757 (grub_ofconsole_terminfo_input): New struct.
24758 (grub_ofconsole_terminfo_output): Likewise.
24759 (grub_ofconsole_term_input): Use terminfo.
24760 (grub_ofconsole_term_output): Likewise.
24761 (grub_console_init): Split into ...
24762 (grub_console_init_early): ...this and ...
24763 (grub_console_init_lately): ...this. Use terminfo.
24764 (grub_ofconsole_putchar): Renamed to ...
24765 (put): ... this. Remove mapping.
24766 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24767 * term/serial.c: Simplify using terminfo.
24768 (xpos): Removed.
24769 (ypos): Likewise.
24770 (keep_track): Likewise.
24771 (registered): Likewise.
24772 (input_buf): Likewise.
24773 (npending): Likewise.
24774 (serial_translate_key_sequence): Likewise.
24775 (fill_input_buf): Likewise.
24776 (grub_serial_checkkey): Likewise.
24777 (grub_serial_getkey): Likewise.
24778 (grub_serial_getxy): Likewise.
24779 (grub_serial_gotoxy): Likewise.
24780 (grub_serial_putchar): Likewise.
24781 (grub_serial_cls): Likewise.
24782 (grub_serial_setcolorstate): Likewise.
24783 (grub_serial_setcursor): Likewise.
24784 (serial_hw_init): Use serial_hw_fetch.
24785 (grub_serial_terminfo_input): New variable.
24786 (grub_serial_terminfo_output): Likewise.
24787 (grub_serial_term_input): Use terminfo.
24788 (grub_serial_term_output): Likewise.
24789 * term/terminfo.c (putstr): Use put.
24790 (grub_terminfo_all_free): New function
24791 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24792 (grub_terminfo_output_register): New function.
24793 (grub_terminfo_output_unregister): Likewise.
24794 (grub_terminfo_getxy): Likewise.
24795 (grub_terminfo_readkey): Likewise.
24796 (grub_terminfo_checkkey): Likewise.
24797 (grub_terminfo_getkey): Likewise.
24798 (grub_terminfo_input_init): Likewise.
24799 (print_terminfo): Likewise.
24800 (grub_cmd_terminfo): Handle encoding.
24801 (grub_terminfo_gotoxy): Track position.
24802 (grub_terminfo_cls): Likewise.
24803 (grub_terminfo_putchar): Likewise.
24804 (grub_terminfo_setcolorstate): Handle colors
24805 (grub_terminfo_cursor_on): This ...
24806 (grub_terminfo_cursor_off): ... and this merged into ...
24807 (grub_terminfo_setcursor): ... this.
24808 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24809 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24810 * unicode/BidiMirroring.txt: Likewise.
24811 * unicode/UnicodeData.txt: Likewise.
24812 * unicode/COPYING: Likewise.
24813 * util/grub-editenv.c (grub_putchar): Removed.
24814 (grub_xputs_real): New function.
24815 (grub_xputs): New variable.
24816 * util/grub-fstest.c (grub_putchar): Removed.
24817 (grub_xputs_real): New function.
24818 (grub_xputs): New variable.
24819 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24820 (grub_xputs_real): New function.
24821 (grub_xputs): New variable.
24822 * util/grub-probe.c (grub_putchar): Removed.
24823 (grub_xputs_real): New function.
24824 (grub_xputs): New variable.
24825 * util/grub-script-check.c (grub_putchar): Removed.
24826 (grub_xputs_real): New function.
24827 (grub_xputs): New variable.
24828 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24829 (grub_xputs_real): New function.
24830 (grub_xputs): New variable.
24831 * util/import_unicode.py: New file.
24832 * util/grub-mkfont.c (ft_errmsgs): New array.
24833 (grub_glyph_info): Make bitmap a pointer.
24834 (file_formats): New type WIDTH_SPEC.
24835 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24836 (options): Add width-spec.
24837 (help): Likewise.
24838 (add_char): Renamed to ...
24839 (add_glyph): ... this.
24840 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24841 (glyph_replace): New type.
24842 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24843 (add_char): New function.
24844 (add_subst): Likewise.
24845 (process_cursive): Likewise.
24846 (add_font): Handle GSUB.
24847 (write_font_width_spec): New function.
24848 (main): Sort glyphs.
24849 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24850 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24851 * kern/term.c (grub_cls): Moved from here...
24852 * normal/term.c (grub_cls): ... here.
24853
50f0bcda
CW
248542010-07-02 Colin Watson <cjwatson@ubuntu.com>
24855
24856 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24857 suitable for using within the format argument of printf when
24858 converting grub_size_t.
24859 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24860 "x" to convert grub_size_t arguments.
24861
40372103
VS
248622010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24863
24864 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24865 too long captions.
24866 (list_get_minimal_size): Take selection box into account.
24867
942a10c7
VS
248682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24869
24870 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24871 NULL font.
24872
2bdb2892
CW
248732010-07-02 Colin Watson <cjwatson@ubuntu.com>
24874
24875 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24876 devices when iterating over /dev/disk/by-id; they will be handled
24877 later if appropriate, which they aren't always (e.g. LVM).
24878
e03ed6c1
CW
248792010-07-02 Colin Watson <cjwatson@ubuntu.com>
24880
24881 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24882 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24883 fails.
24884 (grub_halt): Likewise.
24885 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24886 reset-all fails.
24887 (grub_halt): Don't return, even if all of shut-down, power-off, and
24888 poweroff fail.
24889
47695765
CW
248902010-07-02 Colin Watson <cjwatson@ubuntu.com>
24891
24892 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24893 arguments, not three.
24894
507736c8
CW
248952010-07-02 Colin Watson <cjwatson@ubuntu.com>
24896
24897 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24898 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24899 LVM-on-RAID is handled correctly.
24900
e3c8cd37
CW
249012010-07-02 Colin Watson <cjwatson@ubuntu.com>
24902
24903 * docs/grub.texi (Changes from GRUB Legacy): New section.
24904 (Future): Fix typo.
24905
8d4a2fec
CW
249062010-07-02 Colin Watson <cjwatson@ubuntu.com>
24907
24908 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24909 grub.d/README accidentally ends up executable for one reason or
24910 another. Ignore it.
24911
1c4827be
VS
249122010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24913
24914 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24915 (gpt_partition_map_iterate): Support non-512B sectors.
24916
d9a0c941
VS
249172010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24918
24919 * kern/efi/init.c (grub_efi_init): Disable watchdog.
24920 Tested by: Seth Goldberg.
24921
48f27e87
VS
249222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24923
24924 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
24925 Properly align mbi.
24926 Reported by: Seth Goldberg.
24927
b0c4f956
VS
249282010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24929
24930 * util/grub-mkrescue.in: Avoid module duplication.
24931
105a2e8c
SF
249322010-07-01 Sean Finney <seanius@seanius.net>
24933
24934 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
24935
5944958c
SF
249362010-07-01 Sean Finney <seanius@seanius.net>
24937
24938 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
24939
249402010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24941
24942 * disk/lvm.c (grub_lvm_checkvalue): New function.
24943 (grub_lvm_check_flag): Likewise.
24944
b79889ba
RM
249452010-07-01 Robert Millan <rmh@gnu.org>
24946
24947 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
24948 Support 'p' as partition separator on kernel of FreeBSD (used
24949 with GPT labels).
24950 (grub_util_biosdisk_get_grub_dev): Likewise.
24951
ec1d04f1
VS
249522010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24953
24954 Yeeloong firmware port.
24955
24956 * boot/mips/yeeloong/fwstart.S: New file.
24957 * bus/cs5536.c (gpiodump): New const.
24958 (set_io_space): New function.
24959 (set_iod): Likewise.
24960 (set_p2d): Likewise.
24961 (grub_cs5536_init_geode): Likewise.
24962 * commands/mips/yeeloong/lsspd.c: New file.
24963 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
24964 (serial_mod_SOURCES): New variable.
24965 (serial_mod_CFLAGS): Likewise.
24966 (serial_mod_LDFLAGS): Likewise.
24967 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
24968 term/terminfo.c and term/tparm.c.
24969 (pkglib_IMAGES): Add fwstart.img.
24970 (fwstart_img_SOURCES): New variable.
24971 (fwstart_img_CFLAGS): Likewise.
24972 (fwstart_img_ASFLAGS): Likewise.
24973 (fwstart_img_LDFLAGS): Likewise.
24974 (fwstart_img_FORMAT): Likewise.
24975 (pkglib_MODULES): Add lsspd.mod.
24976 (lsspd_mod_SOURCES): New variable.
24977 (lsspd_mod_CFLAGS): Likewise.
24978 (lsspd_mod_LDFLAGS): Likewise.
24979 (pkglib_MODULES): Add halt.mod.
24980 (halt_mod_SOURCES): New variable.
24981 (halt_mod_CFLAGS): Likewise.
24982 (halt_mod_LDFLAGS): Likewise.
24983 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
24984 (serial_mod_SOURCES): Removed.
24985 (serial_mod_CFLAGS): Likewise.
24986 (serial_mod_LDFLAGS): Likewise.
24987 * disk/ata.c (check_device): New function.
24988 (grub_ata_device_initialize): Use check_device.
24989 (grub_ata_iterate): Recheck devices.
24990 (grub_ata_open): Likewise.
24991 (grub_atapi_iterate): Likewise.
24992 (grub_atapi_open): Likewise.
24993 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
24994 (GRUB_ATA_CH1_PORT1): Likewise.
24995 (GRUB_ATA_CH0_PORT2): Likewise.
24996 (GRUB_ATA_CH1_PORT2): Likewise.
24997 * include/grub/mips/loongson.h: New file.
24998 * include/grub/mips/yeeloong/ec.h: Likewise.
24999 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25000 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25001 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25002 * include/grub/misc.h (grub_halt): Declare as noreturn.
25003 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25004 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25005 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25006 (UART_ENABLE_DTRRTS): Likewise.
25007 (UART_ENABLE_MODEM): Removed.
25008 (UART_ENABLE_OUT2): New const.
25009 * include/grub/term.h (grub_term_register_input_active): New function.
25010 (grub_term_register_output_active): Likewise.
25011 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25012 argument.
25013 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25014 (init_pci): New function.
25015 (grub_machine_init): Execute platform init when firmware. Init serial.
25016 (grub_halt): Implement.
25017 (grub_exit): Likewise.
25018 (grub_reboot): Likewise.
25019 * term/serial.c (serial_hw_init): Update macros.
25020 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25021 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25022 (image_targets): New target mipsel-yeeloong-flash.
25023 (generate_image): Support IMAGE_YEELOONG_FLASH.
25024 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25025 (grub_video_sm712_setup): Init card.
25026 (grub_video_sm712_set_palette): Removed.
25027 * video/sm712_init.c: New file.
25028
ff4a70d2
CW
250292010-06-30 Colin Watson <cjwatson@ubuntu.com>
25030
25031 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25032 PATH when running help2man and then run it on the unadorned
25033 executable names, rather than passing $(builddir)/* paths to
25034 help2man. This avoids the build directory ending up in generated
25035 manual pages.
25036
1246efeb
CW
250372010-06-29 Colin Watson <cjwatson@ubuntu.com>
25038
25039 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25040 to avoid accidents when debugging with 'sh -x'.
25041 * util/grub-mkrescue.in: Likewise.
25042 * util/grub.d/00_header.in: Likewise.
25043 * util/grub.d/10_hurd.in: Likewise.
25044 * util/grub.d/10_kfreebsd.in: Likewise.
25045 * util/grub.d/10_linux.in: Likewise.
25046 * util/grub.d/10_netbsd.in: Likewise.
25047 * util/grub.d/10_windows.in: Likewise.
25048 * util/grub.d/20_linux_xen.in: Likewise.
25049 * util/grub.d/30_os-prober.in: Likewise.
25050 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25051
1ba9b889
CW
250522010-06-29 Colin Watson <cjwatson@ubuntu.com>
25053
25054 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25055 last character in the buffer.
25056 Reported by: Vladimir Serbinenko.
25057
dccaf99d
RM
250582010-06-29 Robert Millan <rmh@gnu.org>
25059
25060 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25061 (Command-line and menu entry commands): Document `badram' command.
25062
d500ed12
RM
250632010-06-28 Robert Millan <rmh@gnu.org>
25064
25065 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25066 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25067 command using ${GRUB_BADRAM} as parameter.
25068
20bc84a6
CW
250692010-06-28 Colin Watson <cjwatson@ubuntu.com>
25070
25071 * docs/grub.texi (Device map): New section.
25072 (Themes): New section (stub).
25073 * Makefile.in (docs/grub.info): The info documentation now builds
25074 without errors. Make sure it stays that way.
25075
4045dee1
VS
250762010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25077
25078 Use normal parser for menu entries.
25079 Reported by: Thomas Frauendorfer
25080
25081 * include/grub/parser.h (grub_parser_execute): Don't export.
25082 * normal/menu.c (grub_menu_execute_entry_real): New function.
25083 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25084
bca58c7b
CW
250852010-06-28 Colin Watson <cjwatson@ubuntu.com>
25086
25087 * docs/grub.texi (Embedded configuration): New section (replacing
25088 old "Preset Menu" stub).
25089 (Images): New section.
25090 (configfile): Note that any menu entries defined in `file' are shown
25091 immediately.
25092
dec53e63
JT
250932010-06-28 Josh Triplett <josh@joshtriplett.org>
25094
25095 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25096
c06e40f7
CW
250972010-06-28 Colin Watson <cjwatson@ubuntu.com>
25098
25099 * util/grub-install.in: Add --debug-image= option.
25100
cb88052b
CW
251012010-06-28 Colin Watson <cjwatson@ubuntu.com>
25102
25103 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25104 possible on Linux.
25105
25106 * util/deviceiter.c (check_device): Rename to ...
25107 (check_device_readable_unique): ... this. Update all callers.
25108 Maintain and check a list of which devices (by canonicalized name)
25109 have already been seen.
25110 (clear_seen_devices): New function.
25111 (compare_file_names) [__linux__]: New function.
25112 (grub_util_iterate_devices): Clear the list of seen devices on exit
25113 and (just in case) on entry.
25114 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25115 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25116 seen-devices list, superseded by general code in check_device.
25117
bbe34652
CW
251182010-06-28 Colin Watson <cjwatson@ubuntu.com>
25119
25120 * commands/cat.c (options): New variable.
25121 (grub_cmd_cat): Parse options. If the --dos option is given, print
25122 DOS-style "\r\n" line endings as simple newlines (Debian bug
25123 #586358).
25124 (GRUB_MOD_INIT): Use extcmd.
25125 (GRUB_MOD_FINI): Likewise.
25126 * docs/grub.texi (cat): Document --dos.
25127
412e09f3
VS
251282010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25129
25130 XEN with Linux grub-mkconfig support.
25131
25132 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25133 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25134 GRUB_CMDLINE_XEN_DEFAULT.
25135 * util/grub.d/20_linux_xen.in: New file.
25136
53f3ef38 251372010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25138
25139 Initialise VGA video on qemu ourselves.
25140
25141 * boot/i386/qemu/boot.S: Don't call 0xc000.
25142 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25143 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25144 (kernel_img_HEADERS): Add pci.h.
25145 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25146 * configure.ac: Force unifont on qemu and yeeloong.
25147 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25148 (grub_vga_palette_write): Use correct register.
25149 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25150 Call grub_qemu_init_cirrus.
25151 * kern/i386/qemu/init.c: New file.
25152 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25153
25154 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25155
c75be4fb
PR
251562010-06-26 Pavel Roskin <proski@gnu.org>
25157
25158 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25159 13.
25160
d8034603
CW
251612010-06-26 Colin Watson <cjwatson@ubuntu.com>
25162
25163 * docs/grub.texi (Simple configuration): Explain that
25164 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25165 set to `true' to disable their respective recovery entries, not
25166 merely set.
25167
3fa06487
CW
251682010-06-26 Colin Watson <cjwatson@ubuntu.com>
25169
25170 Make the `source' command slightly faster.
25171
25172 * normal/main.c (grub_normal_execute): Don't re-read list files when
25173 nested.
25174
e9b29642
CW
251752010-06-23 Colin Watson <cjwatson@ubuntu.com>
25176
25177 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25178 field position and mask size to red fields from mode_info, not
25179 green.
25180 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25181 Remove redundant tag->common.framebuffer_type assignment.
25182 Reported by: Seth Goldberg.
25183
e726542f
CW
251842010-06-23 Colin Watson <cjwatson@ubuntu.com>
25185
25186 Sync up other versions of the Linux loader with Robert Millan's
25187 change of 2010-01-09, "Make loader output a bit more user-friendly".
25188
25189 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25190 grub_dprintf().
25191 (grub_cmd_linux): Likewise.
25192 (grub_cmd_initrd): Likewise.
25193 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25194 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25195
d6e98a17
CW
251962010-06-21 Colin Watson <cjwatson@ubuntu.com>
25197
25198 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25199 larger than MEMORY_MAP_SIZE.
25200
14d3f08e
BC
252012010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25202
25203 Fix parallel build.
25204
25205 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25206 dependency.
25207 * script/parser.y: #include grub_script.tab.h header.
25208
4f9613a3
VS
252092010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25210
25211 Support >3GiB and <16MiB RAM in i386-qemu.
25212
25213 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25214 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25215 (grub_lower_mem): Removed.
25216 (grub_upper_mem): Likewise.
25217 (mem_size): Made static.
25218 (above_4g): New variable.
25219 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25220 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25221 support.
25222
05e51879
VS
252232010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25224
25225 Cirrus 5446 and Bochs video cards support.
25226
25227 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25228 video_bochs.mod
25229 (video_cirrus_mod_SOURCES): New variable.
25230 (video_cirrus_mod_CFLAGS): Likewise.
25231 (video_cirrus_mod_LDFLAGS): Likewise.
25232 (video_bochs_mod_SOURCES): Likewise.
25233 (video_bochs_mod_CFLAGS): Likewise.
25234 (video_bochs_mod_LDFLAGS): Likewise.
25235 * include/grub/vga.h: New file.
25236 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25237 (grub_video_fb_set_page_t): New type.
25238 (grub_video_fb_setup): New prototype.
25239 (grub_video_fb_swap_buffers): Likewise.
25240 (grub_video_fb_get_info_and_fini): Likewise.
25241 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25242 (CRTC_DATA_PORT): Likewise.
25243 (CRTC_CURSOR): Likewise.
25244 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25245 (CRTC_CURSOR_ADDR_LOW): Likewise.
25246 (CRTC_CURSOR_DISABLE): Likewise.
25247 (update_cursor): Use grub_vga_cr_write.
25248 (grub_vga_text_setcursor): Likewise.
25249 * video/bochs.c: New file.
25250 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25251 (palette): Likewise.
25252 (palette_size): Likewise.
25253 (framebuffer): New variable.
25254 (grub_video_fb_init): Use 'framebuffer'.
25255 (grub_video_fb_fini): Likewise.
25256 (grub_video_fb_get_info): Likewise.
25257 (grub_video_fb_get_palette): Likewise.
25258 (grub_video_fb_set_palette): Likewise.
25259 (grub_video_fb_set_viewport): Likewise.
25260 (grub_video_fb_get_viewport): Likewise.
25261 (grub_video_fb_map_color): Likewise.
25262 (grub_video_fb_map_rgb): Likewise.
25263 (grub_video_fb_map_rgba): Likewise.
25264 (grub_video_fb_unmap_color): Likewise.
25265 (grub_video_fb_unmap_color_int): Likewise.
25266 (grub_video_fb_fill_rect): Likewise.
25267 (grub_video_fb_blit_bitmap): Likewise.
25268 (grub_video_fb_blit_render_target): Likewise.
25269 (grub_video_fb_scroll): Likewise.
25270 (grub_video_fb_create_render_target): Likewise.
25271 (grub_video_fb_doublebuf_blit_init): Likewise.
25272 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25273 (doublebuf_pageflipping_update_screen): New function.
25274 (doublebuf_pageflipping_init): Likewise.
25275 (grub_video_fb_setup): Likewise.
25276 (grub_video_fb_swap_buffers): Likewise.
25277 (grub_video_fb_get_info_and_fini): Likewise.
25278 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25279 All users updated.
25280 (doublebuf_pageflipping_commit): Restructured into ...
25281 (doublebuf_pageflipping_set_page): ... this.
25282 (doublebuf_pageflipping_update_screen): Removed.
25283 (doublebuf_pageflipping_init): Likewise.
25284 (double_buffering_init): Likewise.
25285 (grub_video_vbe_setup): Use grub_video_fb_setup.
25286 (grub_video_vbe_swap_buffers): Removed.
25287 (grub_video_vbe_set_active_render_target): Likewise.
25288 (grub_video_vbe_get_active_render_target): Likewise.
25289 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25290 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25291 grub_video_fb_set_active_render_target and
25292 grub_video_fb_get_active_render_target.
25293 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25294 (SEQUENCER_DATA_PORT): Likewise.
25295 (MAP_MASK_REGISTER): Likewise.
25296 (CRTC_ADDR_PORT): Likewise.
25297 (CRTC_DATA_PORT): Likewise.
25298 (START_ADDR_HIGH_REGISTER): Likewise.
25299 (START_ADDR_LOW_REGISTER): Likewise.
25300 (GRAPHICS_ADDR_PORT): Likewise.
25301 (GRAPHICS_DATA_PORT): Likewise.
25302 (READ_MAP_REGISTER): Likewise.
25303 (INPUT_STATUS1_REGISTER): Likewise.
25304 (INPUT_STATUS1_VERTR_BIT): Likewise.
25305 (get_map_mask): Use grub_vga_sr_read.
25306 (set_map_mask): Use grub_vga_sr_write.
25307 (set_read_map): Use grub_vga_gr_write.
25308 (set_start_address): Use grub_vga_cr_write.
25309 * video/sm712.c (framebuffer): Remove leftover fields.
25310
4321c64a
CW
253112010-06-20 Colin Watson <cjwatson@ubuntu.com>
25312
25313 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25314 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25315 instead. Replace the gfxterm backend check with a check that
25316 ${GRUB_PREFIX}/video.lst is non-empty.
25317 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25318 again.
25319 (load_video): New generated function. Call it before loading
25320 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25321 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25322 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25323 * docs/grub.texi (Simple configuration): Document
25324 GRUB_VIDEO_BACKEND.
25325
253262010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25327
25328 Use video functions in linux and xnu loaders.
25329
25330 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25331 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25332 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25333 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25334 loader/i386/pc/linux.c.
25335 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25336 (find_line_len): Removed.
25337 (find_framebuf): Likewise.
25338 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25339 * loader/i386/efi/xnu.c: Removed.
25340 * loader/i386/pc/xnu.c: Moved from here...
25341 * loader/i386/xnu.c: ...here.
25342
25343 Enable priorities in video drivers.
25344
25345 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25346 (grub_video_adapter): New field prio.
25347 (grub_video_register): Respect prio when inserting.
25348 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25349 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25350 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25351 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25352 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25353 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25354 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25355
25356 Fix SDL driver ID.
25357
25358 * include/grub/video.h (grub_video_driver_id_t): New value
25359 GRUB_VIDEO_DRIVER_SDL.
25360 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25361
7d24e434
CW
253622010-06-17 Colin Watson <cjwatson@ubuntu.com>
25363
25364 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25365 argument to printf.
25366 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25367
c88a83f6
CW
253682010-06-17 Colin Watson <cjwatson@ubuntu.com>
25369
25370 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25371 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25372
094dfb69
CW
253732010-06-17 Colin Watson <cjwatson@ubuntu.com>
25374
25375 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25376 directly, and recommend grub-install instead.
25377 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25378
2164da6b
CW
253792010-06-17 Colin Watson <cjwatson@ubuntu.com>
25380
25381 Fix i386-pc prefix handling with nested partitions (Debian bug
25382 #585068). Note that the case where the core image is booted using
25383 multiboot and relocated from its original location still requires
25384 more work.
25385
25386 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25387 with "(,", fill the boot drive in between those two characters, but
25388 expect that a full partition specification including partition map
25389 names will follow.
25390 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25391 specified, write a prefix without the drive name but including a
25392 full partition specification.
25393
044e2e60
CW
253942010-06-16 Colin Watson <cjwatson@ubuntu.com>
25395
25396 * util/grub-mkconfig.in: Ignore non-option arguments, for
25397 compatibility with older versions (before 2010-06-12) which did the
25398 same. In particular, this makes it easier to ship an update-grub
25399 wrapper which is compatible with that used with GRUB Legacy (Debian
25400 bug #586056).
25401
5591324f
GS
254022010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25403
25404 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25405 for manual page generation.
25406
662e24d5
GS
254072010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25408
25409 * po/POTFILES: Remove leftover commands/handler.c.
25410
8d70754e
CW
254112010-06-14 Colin Watson <cjwatson@ubuntu.com>
25412
25413 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25414 left this script non-functional.
25415
41160e2e
CW
254162010-06-14 Colin Watson <cjwatson@ubuntu.com>
25417
25418 * docs/man/grub-emu.h2m: New file.
25419
b5309cc1
CW
254202010-06-13 Colin Watson <cjwatson@ubuntu.com>
25421
25422 * docs/grub.texi (Commands): Document reduced command set in rescue
25423 mode.
25424 (cpuid): New section.
25425
fcb2d090
GS
254262010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25427
25428 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25429 new partition naming style.
25430 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25431
96e5c556
BC
254322010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25433
25434 Add "-o grub.iso" like cmdline options support.
25435
25436 * util/grub-install.in: Improve cmdline option parsing.
25437 * util/grub-mkconfig.in: Likewise.
25438 * util/grub-mkrescue.in: Likewise.
25439 * util/grub-reboot.in: Likewise.
25440 * util/grub-set-default.in: Likewise.
25441 * util/i386/efi/grub-install.in: Likewise.
25442 * util/ieee1275/grub-install.in: Likewise.
25443 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25444
c16be99b
CW
254452010-06-12 Colin Watson <cjwatson@ubuntu.com>
25446
25447 * .bzrignore: Ignore 41_custom.
25448
ce08a9fb
TS
254492010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25450
25451 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25452
7beac90c
CW
254532010-06-12 Colin Watson <cjwatson@ubuntu.com>
25454
25455 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25456 prototype declarations.
25457
25458 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25459 generating fs, partmap, and video lists.
25460 * include/grub/fs.h (grub_fs_register): Omit prototype if
25461 GRUB_LST_GENERATOR is defined.
25462 * include/grub/partition.h (grub_partition_map_register): Likewise.
25463 * include/grub/video.h (grub_video_register): Likewise.
25464
1c8f0f8d
JM
254652010-06-12 Javier Martín <lordhabbit@gmail.com>
25466
25467 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25468
a6085973
TS
254692010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25470
25471 * util/grub-mkrescue.in: Support --xorriso argument.
25472
25c56d29
VS
254732010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25474
25475 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25476 Suggested by: Thomas Schmitt.
25477
e03e4b24
VS
254782010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25479
25480 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25481 Suggested by: Thomas Schmitt.
25482
57711df6
VS
254832010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25484
25485 custom.cfg support.
25486
25487 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25488 * util/grub.d/41_custom.in: New file.
25489
ee62c427
CW
254902010-06-12 Colin Watson <cjwatson@ubuntu.com>
25491
25492 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25493 been merged back into normal.
25494
283af07a
CW
254952010-06-11 Colin Watson <cjwatson@ubuntu.com>
25496
25497 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25498 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25499
56a0d956
CW
255002010-06-11 Colin Watson <cjwatson@ubuntu.com>
25501
25502 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25503 when generating manual pages.
25504 * docs/man/grub-bin2h.h2m: New file.
25505 * docs/man/grub-editenv.h2m: New file.
25506 * docs/man/grub-fstest.h2m: New file.
25507 * docs/man/grub-install.h2m: New file.
25508 * docs/man/grub-macho2img.h2m: New file.
25509 * docs/man/grub-mkconfig.h2m: New file.
25510 * docs/man/grub-mkdevicemap.h2m: New file.
25511 * docs/man/grub-mkfont.h2m: New file.
25512 * docs/man/grub-mkimage.h2m: New file.
25513 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25514 * docs/man/grub-mkrelpath.h2m: New file.
25515 * docs/man/grub-mkrescue.h2m: New file.
25516 * docs/man/grub-ofpathname.h2m: New file.
25517 * docs/man/grub-pe2elf.h2m: New file.
25518 * docs/man/grub-probe.h2m: New file.
25519 * docs/man/grub-reboot.h2m: New file.
25520 * docs/man/grub-script-check.h2m: New file.
25521 * docs/man/grub-set-default.h2m: New file.
25522 * docs/man/grub-setup.h2m: New file.
25523
3a37e322
VS
255242010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25525
25526 Use FOR_* macros instead of *_iterate whenever possible.
25527
25528 * commands/handler.c: Removed.
25529 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25530 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25531 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25532 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25533 (grub_probe_SOURCES): Remove kern/parser.c.
25534 (util/grub-script-check.c_DEPENDENCIES): Removed.
25535 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25536 and grub_script_check_init.c.
25537 (grub_script_check_init.lst): Removed.
25538 (grub_script_check_init.h): Likewise.
25539 (grub_script_check_init.c): Likewise.
25540 (pkglib_MODULES): Remove handler.mod and sh.mod.
25541 (handler_mod_SOURCES): Removed.
25542 (handler_mod_CFLAGS): Likewise.
25543 (handler_mod_LDFLAGS): Likewise.
25544 (normal_mod_SOURCES): Remove normal/handler.c.
25545 Add script/main.c, script/script.c, script/execute.c,
25546 script/function.c, script/lexer.c, grub_script.tab.c
25547 and grub_script.yy.c.
25548 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25549 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25550 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25551 (grub_setup_SOURCES): Remove kern/parser.c.
25552 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25553 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25554 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25555 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25556 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25557 (grub_setup_SOURCES): Remove kern/parser.c.
25558 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25559 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25560 * include/grub/command.h (grub_command_iterate): Removed.
25561 (FOR_COMMANDS): New macro.
25562 * include/grub/dl.h (grub_dl): New member next.
25563 (grub_dl_iterate): Removed.
25564 (grub_dl_head): New variable declaration.
25565 (FOR_DL_MODULES): New macro.
25566 * include/grub/fs.h: Include list.h.
25567 (grub_fs): Make next first element.
25568 (grub_fs_list): New variable declaration.
25569 (grub_fs_register): Make inline.
25570 (grub_fs_unregister): Likewise.
25571 (grub_fs_iterate): Removed.
25572 (FOR_FILESYSTEMS): New macro.
25573 * include/grub/handler.h: Removed.
25574 * include/grub/list.h (grub_list_hook_t): Removed.
25575 (grub_list_test_t): Likewise.
25576 (grub_list_pop): Likewise.
25577 (grub_list_iterate): Likewise.
25578 (grub_list_insert): Likewise.
25579 (FOR_LIST_ELEMENTS): New macro.
25580 * include/grub/parser.h (grub_parser_class): Removed.
25581 (grub_parser_register): Likewise.
25582 (grub_parser_unregister): Likewise.
25583 (grub_parser_get_current): Likewise.
25584 (grub_parser_set_current): Likewise.
25585 (grub_register_rescue_parser): Likewise.
25586 (grub_rescue_parse_line): New function.
25587 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25588 * include/grub/script_sh.h (grub_script_function_list): New variable
25589 declaration.
25590 (FOR_SCRIPT_FUNCTIONS): New macro.
25591 (grub_script_function_iterate): Removed.
25592 (grub_normal_parse_line): New prototype.
25593 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25594 (FOR_DISABLED_TERM_INPUTS): Likewise.
25595 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25596 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25597 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25598 element.
25599 (grub_video_register): Inline.
25600 (grub_video_unregister): Likewise.
25601 (grub_video_adapter_list): New variable declaration.
25602 (grub_video_iterate): Removed.
25603 (FOR_VIDEO_ADAPTERS): New macro.
25604 * kern/dl.c (grub_dl_list): Removed. All users updated.
25605 (grub_dl_iterate): Removed.
25606 * kern/fs.c (grub_fs_list): Make global.
25607 (grub_fs_register): Removed.
25608 (grub_fs_unregister): Likewise.
25609 (grub_fs_iterate): Likewise.
25610 * kern/handler.c: Removed.
25611 * kern/list.c (grub_list_pop): Removed.
25612 (grub_list_iterate): Likewise.
25613 (grub_list_insert): Likewise.
25614 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25615 (grub_prio_list_insert): Don't use grub_list_insert.
25616 * kern/main.c (grub_register_rescue_parser): Don't call
25617 grub_register_rescue_parser.
25618 * kern/parser.c (grub_parser_class): Removed.
25619 (grub_parser_execute): Use grub_rescue_parse_line.
25620 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25621 (grub_rescue_parser): Removed.
25622 (grub_register_rescue_parser): Likewise.
25623 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25624 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25625 (grub_auth_check_authentication): Likewise.
25626 * normal/completion.c (iterate_command): Removed.
25627 (grub_normal_do_completion): Use FOR_COMMANDS.
25628 * normal/handler.c: Removed.
25629 * normal/main.c (read_config_file): Remove parser changing.
25630 (grub_normal_execute): Don't call read_handler_list.
25631 (grub_normal_read_line_real): Statically allocate prompt.
25632 (grub_cmdline_run): Use grub_normal_parse_line.
25633 (GRUB_MOD_FINI): Don't call free_handler_list.
25634 * normal/menu_entry.c (run): Likewise.
25635 * script/function.c (grub_script_function_list): Make global.
25636 (grub_script_function_iterate): Removed.
25637 * script/main.c (grub_normal_parse_line): Make global.
25638 (grub_sh_parser): Removed.
25639 (GRUB_MOD_INIT): Likewise.
25640 (GRUB_MOD_FINI): Likewise.
25641 * tests/lib/functional_test.c (grub_functional_test): Use
25642 FOR_LIST_ELEMENTS.
25643 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25644 (grub_test_run): Use FOR_LIST_ELEMENTS.
25645 * tests/lib/unit_test.c (main): Likewise.
25646 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25647 grub_list_pop.
25648 * util/grub-fstest.c (grub_term_input_class): Removed.
25649 (grub_term_output_class): Likewise.
25650 * util/grub-probe.c: Likewise.
25651 * util/i386/pc/grub-setup.c: Likewise.
25652 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25653 * util/grub-script-check.c (main): Don't call grub_init_all and
25654 grub_fini_all.
25655 * video/video.c (grub_video_adapter_list): Make global.
25656 (grub_video_register): Removed.
25657 (grub_video_unregister): Likewise.
25658 (grub_video_iterate): Likewise.
25659
6289c3a7
VS
256602010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25661
25662 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25663 reported by Henrique Ferreiro.
25664
91460247
RM
256652010-06-09 Robert Millan <rmh@gnu.org>
25666
25667 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25668 ones, when both are available.
25669
0ea7c4f9
GS
256702010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25671
25672 Make --version uniform and avoid hard-coded program name.
25673
25674 * util/grub-mkimage.c (main): Use `program_name' instead of
25675 hard-coded string.
25676 * util/i386/pc/grub-setup.c (main): Likewise.
25677 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25678 * util/grub-install.in: Save the basename of $0 in $self, and use the
25679 latter in informational messages. Use the same format for --version
25680 as the binary programs.
25681 * util/grub-mkconfig.in: Likewise.
25682 * util/grub-mkrescue.in: Likewise.
25683 * util/grub-reboot.in: Likewise.
25684 * util/grub-set-default.in: Likewise.
25685 * util/i386/efi/grub-install.in: Likewise.
25686 * util/ieee1275/grub-install.in: Likewise.
25687 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25688
e8a6f3b6
GS
256892010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25690
25691 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25692 embedding area. Use <= instead of == when checking for non-emptiness.
25693
f4d095d7
GS
256942010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25695
25696 * configure.ac: Add `.' to the directories searched for unifont.
25697
50e532ca
CW
256982010-06-08 Colin Watson <cjwatson@ubuntu.com>
25699
25700 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25701 grub_script.yy.h.
25702
d39f3dec
CW
257032010-06-08 Colin Watson <cjwatson@ubuntu.com>
25704
25705 * docs/grub.texi (History): Expand to cover GRUB 2.
25706 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25707 commands, not `terminal'.
25708 (serial): Likewise.
25709 (terminal_input): New section.
25710 (terminal_output): New section.
25711 (uppermem): New section (stub).
25712 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25713
6ef0ddb4
CW
257142010-06-08 Colin Watson <cjwatson@ubuntu.com>
25715
25716 * docs/grub.texi (Security): Menu entries are unrestricted by
25717 default, not restricted to superusers as I had previously thought.
25718 Reword to account for this.
25719
e0f4c438
CW
257202010-06-07 Colin Watson <cjwatson@ubuntu.com>
25721
25722 * kern/emu/misc.c (device_mapper_null_log): New function.
25723 (grub_device_mapper_supported): New function.
25724 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25725 prototype.
25726 * kern/emu/hostdisk.c (find_partition_start): Check whether
25727 device-mapper is supported before trying to use it.
25728 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25729
da908200
CW
257302010-06-07 Colin Watson <cjwatson@ubuntu.com>
25731
25732 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25733 (File name syntax): Likewise.
25734 (help): --all is no longer supported in GRUB 2. Be more precise
25735 about pattern matching.
25736
fb55c3ac
CW
257372010-06-07 Colin Watson <cjwatson@ubuntu.com>
25738
25739 * normal/completion.c (grub_normal_do_completion): When completing
25740 arguments to "set" and the current word contains an equals sign,
25741 skip to after the equals sign before starting completion.
25742
258c2573
CW
257432010-06-07 Colin Watson <cjwatson@ubuntu.com>
25744
25745 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25746
ee75515e
CW
257472010-06-07 Colin Watson <cjwatson@ubuntu.com>
25748
25749 * docs/grub.texi (Network): New section.
25750 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25751 `(nd)' as in GRUB Legacy.
25752 (pxe_unload): New section.
25753
a6a700aa
CW
257542010-06-07 Colin Watson <cjwatson@ubuntu.com>
25755
25756 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25757 in the rescue shell, so recommend using `set' instead. Thanks,
25758 Jordan Uggla.
25759
4003dd38
CW
257602010-06-07 Colin Watson <cjwatson@ubuntu.com>
25761
25762 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25763 (password): New section.
25764 (password_pbkdf2): New section.
25765 (search): New section.
25766 (Security): New section.
25767 (Troubleshooting): New section, currently very incomplete.
25768 (Invoking grub-mkpasswd-pbkdf2): New section.
25769 (Internals): New section, currently very incomplete.
25770
e1cbcc40
CW
257712010-06-07 Colin Watson <cjwatson@ubuntu.com>
25772
25773 * util/grub.d/00_header.in: Add some more quoting (of
25774 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25775 work again.
25776 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25777
db8fa1ad
CW
257782010-06-07 Colin Watson <cjwatson@ubuntu.com>
25779
25780 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25781 to `count', fixing variable shadowing that broke the -c option.
25782
257832010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
25784
25785 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25786 in case they contain spaces.
25787
f28a9212
CW
257882010-06-04 Colin Watson <cjwatson@ubuntu.com>
25789
25790 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25791 "part_" to partmap module names, in line with grub-install.
25792 Reported by: Jindřich Makovička (Debian bug #584426).
25793
9cdfe32f
CW
257942010-06-04 Colin Watson <cjwatson@ubuntu.com>
25795
25796 * util/grub-mkimage.c: Make target-related error messages slightly
25797 more helpful; -O talks about "format". Explicitly point to the use
25798 of -O if no target is specified.
25799 Reported by: Didier Raboud (Debian bug #584415).
25800
795b593a
CW
258012010-06-03 Colin Watson <cjwatson@ubuntu.com>
25802
25803 * INSTALL: Document several build requirements for optional features
25804 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25805
9d9b5833
GS
258062010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25807
25808 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25809 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25810 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25811
0819fec8
CW
258122010-06-02 Colin Watson <cjwatson@ubuntu.com>
25813
25814 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25815 Thanks to Jordan Uggla for spotting this.
25816
49396b4f
VS
258172010-06-02 Aleš Nesrsta <starous@volny.cz>
25818
25819 Finally make USB usable.
25820
25821 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25822 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25823 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25824 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25825 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25826 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25827 (GRUB_OHCI_FSMPS): Likewise.
25828 (GRUB_OHCI_PERIODIC_START): Likewise.
25829 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25830 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25831 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25832 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25833 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25834 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25835 (grub_ohci_transaction): Likewise.
25836 (grub_ohci_transfer): Improve condition detection algorithms.
25837 Handle toggle property. Program the transactions correctly.
25838 Improve error handling. Various important fixups.
25839 (grub_ohci_portstatus): Put register writes in right order.
25840 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25841 (grub_uhci_transfer): Don't show "failed" message on success.
25842 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25843 array.
25844 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25845 determine its size.
25846 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25847 before initialization is completed. Use IN direction for empty
25848 transfers. Use last_trans and compute toggle.
25849 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25850 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25851 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25852 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25853 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25854 (grub_usb_device): Increase toggle to 256.
25855 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25856 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25857 GRUB_USBMS_SUBCLASS_SFF8070.
25858 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25859 (grub_scsi_inquiry): New member page and alloc_length.
25860 (grub_scsi_request_sense): New structure.
25861 (grub_scsi_request_sense_data): Likewise.
25862 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25863 control.
25864 * disk/scsi.c (grub_scsi_request_sense): New function.
25865 (grub_scsi_test_unit_ready): Likewise.
25866 (grub_scsi_inquiry): Fill new fields.
25867 (grub_scsi_read_capacity): Likewise.
25868 (grub_scsi_read10): Add request sense at the end.
25869 (grub_scsi_read12): Likewise.
25870 (grub_scsi_write10): Likewise.
25871 (grub_scsi_write12): Likewise.
25872 (grub_scsi_open): Add Test Unit Ready.
25873 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25874 Support additional subclasses. Con't clear halt yet. Activate the
25875 proper config. Calculate LUNs correctly.
25876 (grub_usbms_transfer): Various important fixups.
25877
258782010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25879
25880 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25881 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25882 (grub_ohci_fini_hw): New function.
25883 (grub_ohci_restore_hw): Likewise.
25884 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25885 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25886 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25887
258882010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25889
25890 Dedicated DMA allocations.
25891
25892 * bus/pci.c (grub_memalign_dma32): New function
25893 (grub_dma_free): Likewise.
25894 (grub_dma_get_virt): Likewise.
25895 (grub_dma_get_phys): Likewise.
25896 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25897 (grub_ohci_pci_iter): Use dma32_alloc.
25898 (grub_ohci_transfer): Likewise.
25899 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25900 (grub_usb_bulk_readwrite): Likewise.
25901 * include/grub/pci.h: Add declarations.
25902
259032010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25904
25905 CS5536 support.
25906
25907 * bus/cs5536.c: New file.
25908 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25909 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25910 (cs5536_mod_SOURCES): New variable.
25911 (cs5536_mod_CFLAGS): Likewise.
25912 (cs5536_mod_LDFLAGS): Likewise.
25913 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25914 machine/pci.h.
25915 (kernel_img_SOURCES): Add bus/cs5536.c.
25916 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
25917 usb_keyboard.mod.
25918 (usb_mod_SOURCES): New variable.
25919 (usb_mod_CFLAGS): New variable.
25920 (usb_mod_LDFLAGS): New variable.
25921 (usbtest_mod_SOURCES): New variable.
25922 (usbtest_mod_CFLAGS): New variable.
25923 (usbtest_mod_LDFLAGS): New variable.
25924 (ohci_mod_SOURCES): New variable.
25925 (ohci_mod_CFLAGS): New variable.
25926 (ohci_mod_LDFLAGS): New variable.
25927 (usbms_mod_SOURCES): New variable.
25928 (usbms_mod_CFLAGS): New variable.
25929 (usbms_mod_LDFLAGS): New variable.
25930 (usb_keyboard_mod_SOURCES): New variable.
25931 (usb_keyboard_mod_CFLAGS): New variable.
25932 (usb_keyboard_mod_LDFLAGS): New variable.
25933 * include/grub/smbus.h: New file.
25934 * include/grub/cs5536.h: New file.
25935
0b35b2a9
CW
259362010-06-02 Colin Watson <cjwatson@ubuntu.com>
25937
25938 * util/grub.d/00_header.in: Add safety check to make sure that
25939 ${locale_dir} exists before trying to probe it.
25940
ca0afd5b
CW
259412010-06-02 Colin Watson <cjwatson@ubuntu.com>
25942
25943 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
25944 per the GNU Coding Standards; this is now too obscure to be worth
25945 documenting.
25946 (QNX): Likewise.
25947 (chainloader): Remove cross-reference to `SCO UnixWare'.
25948
1c41aa78
CW
259492010-06-02 Colin Watson <cjwatson@ubuntu.com>
25950
25951 * docs/grub.texi (Chain-loading): New section.
25952 (DOS/Windows): New section, borrowed from GRUB Legacy with details
25953 adjusted for GRUB 2.
25954 (SCO UnixWare): Likewise.
25955 (QNX): Likewise.
25956 (chainloader): Add reference to `Block list syntax'.
25957 (drivemap): New section.
25958 (parttool): New section.
25959
bb8ea0f5
CW
259602010-06-02 Colin Watson <cjwatson@ubuntu.com>
25961
25962 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
25963 the grub shell'.
25964 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
25965 (Installing GRUB using grub-install): Remove reference to the grub
25966 shell; mention `grub-mkimage' and `grub-setup' instead.
25967 (Invoking grub-install): Likewise.
25968 (Interface): Add reference to `Menu entry editor'.
25969 (serial): Remove `--device' option.
25970
288dd6ed
CW
259712010-06-02 Colin Watson <cjwatson@ubuntu.com>
25972
25973 * docs/grub.texi (Configuration): New section, documenting
25974 configuration file generation using grub-mkconfig. I've left a slot
25975 for documenting the full shell scripting format but have not yet
25976 started on writing that up.
25977 (Invoking grub-mkconfig): New section.
25978
34c9f0e9
CW
259792010-06-02 Colin Watson <cjwatson@ubuntu.com>
25980
25981 * docs/grub.texi (direntry): Remove grub-terminfo reference.
25982 (GNU GRUB manual): Likewise.
25983 (General commands): Update description of `terminfo' for GRUB 2.
25984
9121567e
CW
259852010-06-02 Colin Watson <cjwatson@ubuntu.com>
25986
25987 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
25988 (GRUB_MOD_INIT): Fix capitalisation.
25989 * docs/grub.texi (Command-line and menu entry commands): Document
25990 gettext and gptsync commands.
25991
ab631611
CW
259922010-06-02 Colin Watson <cjwatson@ubuntu.com>
25993
25994 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
25995 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
25996
bde4a9ac
CW
259972010-06-01 Colin Watson <cjwatson@ubuntu.com>
25998
25999 Add btrfs probing support, currently only in the single-device case.
26000
26001 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26002 function.
26003 (grub_guess_root_device): Call find_root_device_from_mountinfo
26004 before looking in /dev.
26005
b1d17e10
VS
260062010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26007
26008 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26009 GRUB_DISK_SIZE_UNKNOWN.
26010 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26011
dfbfe004
JS
260122010-05-31 Jiro SEKIBA <jir@unicus.jp>
26013
26014 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26015 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26016 corrupted or not synced properly.
26017
c2ffc8e9
VS
260182010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26019
26020 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26021 Reported by: Seth Goldberg.
26022
56293166
VS
260232010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26024
26025 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26026 addition of dest.
26027 Reported by: Seth Goldberg.
26028
7620e7de
VS
260292010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26030
26031 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26032 Reported by: Seth Goldberg.
26033
c837af3f
VS
260342010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26035
26036 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26037 64-bit address as signed on MIPS.
26038
c7c75cf4
CW
260392010-05-28 Colin Watson <cjwatson@ubuntu.com>
26040
26041 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26042 to the empty string.
26043
fa4b8490
BC
260442010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26045
26046 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26047
26048 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26049 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26050 * kern/misc.c (__enable_execute_stack): Disable on
26051 GRUB_MACHINE_EMU.
26052
a33075b9
CW
260532010-05-28 Colin Watson <cjwatson@ubuntu.com>
26054
26055 Make grub-probe work with symbolic links under /dev/mapper as well
26056 as with real block devices. The Linux world seems to be (at best)
26057 in transition here, and GRUB shouldn't get caught in the middle.
26058
26059 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26060 /dev/mapper.
26061
d8708134
CW
260622010-05-27 Colin Watson <cjwatson@ubuntu.com>
26063
26064 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26065 input files (in which case exit zero).
26066
db2102a0
CW
260672010-05-27 Colin Watson <cjwatson@ubuntu.com>
26068
26069 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26070 return NULL for various reasons even if it has a maximum-length
26071 buffer: for example, there might be a symlink loop, or the path
26072 might exceed PATH_MAX. If this happens, return NULL.
26073
5fdba519
RM
260742010-05-27 Robert Millan <rmh@gnu.org>
26075
26076 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26077 partmap module to handle cross-partmap setups.
26078 Reported by Orestes Mas. Gràcies!
26079
d1d368e4
CW
260802010-05-27 Colin Watson <cjwatson@ubuntu.com>
26081
26082 * util/grub-mkrescue.in: Initialise override_dir rather than
26083 assuming that it's unset or empty in the environment.
26084
95ac3c73
GS
260852010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26086
26087 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26088 variable index into p_index to suppress a warning with -Wshadow.
26089
7d8c0213
BC
260902010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26091
26092 * INSTALL: Added flex >= 2.5.35 requirement.
26093
db4d5813
VS
260942010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26095
26096 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26097
f24f4300
VS
260982010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26099
26100 cmostest support.
26101
26102 * commands/i386/cmostest.c: New file.
26103 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26104 (cmostest_mod_SOURCES): New variable.
26105 (cmostest_mod_CFLAGS): Likewise.
26106 (cmostest_mod_LDFLAGS): Likewise.
26107 * conf/i386-pc.rmk: Likewise.
26108 * docs/grub.texi (Vendor power-on keys): New section.
26109 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26110 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26111 and GRUB_BUTTON_CMOS_ADDRESS.
26112 * util/grub.d/00_header.in: Handle powering-on by separate button.
26113
ad603f61
VS
261142010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26115
26116 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26117 Removed drawing_scrollbar argument. All users updated
26118 Fixes #29792.
26119 Reported by Jo Shields
26120
3ecb080a
VS
261212010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26122
26123 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26124 buffer since gfxterm handles double repaint.
26125
5f2316c1
VS
261262010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26127
26128 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26129 * term/gfxterm.c (real_scroll): Likewise.
26130
9a25f885
VS
261312010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26132
26133 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26134 before calling BIOS.
26135
39fbb79a
VS
261362010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26137
26138 * include/grub/i18n.h: Always enable grub_gettext.
26139
228cfa97
VS
261402010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26141
26142 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26143 partition naming style.
26144
21717c8f
CW
261452010-05-21 Colin Watson <cjwatson@ubuntu.com>
26146
26147 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26148 not the first option.
26149
c0f48e65
CW
261502010-05-20 Colin Watson <cjwatson@ubuntu.com>
26151
26152 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26153
96779aec
CW
261542010-05-20 Colin Watson <cjwatson@ubuntu.com>
26155
26156 * util/misc.c: Move inclusion of <limits.h> to ...
26157 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26158
fa9d256e
GS
261592010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26160
26161 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26162 Fix merge error in NetBSD code.
26163 (find_partition_start) [__NetBSD__]: Likewise.
26164
123b7a85
BC
261652010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26166
26167 Fix grub-mkrescue usage unit testing.
26168
26169 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26170
74276c0d
CF
261712010-05-18 Christian Franke <franke@computer.org>
26172
26173 * util/grub.d/10_windows.in: Use path names instead of
26174 drive letters to prevent warning from Cygwin 1.7.
26175 Add drivemap command to menuentry if needed.
26176
c4f7b523
ST
261772010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26178
26179 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26180 gnumach and gnumach.gz.
26181
95b97950
VS
261822010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26183
26184 * include/grub/i18n.h (gettext): Inline instead of using #define.
26185 (grub_gettext): Likewise.
26186 (_): Likewise.
26187
01b8d2d7
VS
261882010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26189
26190 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26191 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26192 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26193 (main): Add a slash after pkglibdirroot.
26194
654e1d1e
VS
261952010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26196
26197 * util/grub-install.in: Add missing "in" keyword.
26198
26966aeb
VS
261992010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26200
26201 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26202 Reported by: Seth Goldberg.
26203
75006747
VS
262042010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26205
26206 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26207
74cbf5bd
CW
262082010-05-18 Colin Watson <cjwatson@ubuntu.com>
26209
26210 * configure.ac: Check for Linux device-mapper support.
26211
26212 * util/hostdisk.c (device_is_mapped): New function.
26213 (find_partition_start): New function, partly broken out from
26214 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26215 device-mapper support added.
26216 (linux_find_partition): Use find_partition_start.
26217 (convert_system_partition_to_system_disk): Add `st' argument.
26218 Support Linux /dev/mapper/* devices if device-mapper support is
26219 available; only DM-RAID devices are understood at present.
26220 (find_system_device): Add `st' argument. Pass it to
26221 convert_system_partition_to_system_disk.
26222 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26223 find_system_device and convert_system_partition_to_system_disk. Use
26224 find_partition_start.
26225
26226 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26227 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26228 * util/deviceiter.c [__linux__]: Define MINOR.
26229 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26230 * util/mkdevicemap.c (grub_putchar): New function.
26231 (grub_getkey): New function.
26232 (grub_refresh): New function.
26233 (main): Set debug=all if -v -v is used.
26234
355b51e9
CW
262352010-05-18 Colin Watson <cjwatson@ubuntu.com>
26236
26237 Fix build with non-GNU libcs.
26238
26239 * util/misc.c (canonicalize_file_name): Move to ...
26240 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26241 grub_make_system_path_relative_to_its_root.
26242
7fb5c25f
CW
262432010-05-18 Colin Watson <cjwatson@ubuntu.com>
26244
26245 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26246 we handle finding grub-mkimage. Default to finding grub-mkimage in
26247 ${bindir} with program_transform_name applied, and provide a
26248 --grub-mkimage option to override this.
26249
1d3293d6
VS
262502010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26251
26252 Remove grub-mkisofs.
26253
26254 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26255 (grub_mkisofs_SOURCES): Removed.
26256 (grub_mkisofs_CFLAGS): Removed.
26257 * util/mkisofs/defaults.h: Removed.
26258 * util/mkisofs/eltorito.c: Likewise.
26259 * util/mkisofs/exclude.h: Likewise.
26260 * util/mkisofs/hash.c: Likewise.
26261 * util/mkisofs/include/: Likewise.
26262 * util/mkisofs/include/fctldefs.h: Likewise.
26263 * util/mkisofs/include/mconfig.h: Likewise.
26264 * util/mkisofs/include/prototyp.h: Likewise.
26265 * util/mkisofs/include/statdefs.h: Likewise.
26266 * util/mkisofs/iso9660.h: Likewise.
26267 * util/mkisofs/joliet.c: Likewise.
26268 * util/mkisofs/match.c: Likewise.
26269 * util/mkisofs/match.h: Likewise.
26270 * util/mkisofs/mkisofs.c: Likewise.
26271 * util/mkisofs/mkisofs.h: Likewise.
26272 * util/mkisofs/msdos_partition.h: Likewise.
26273 * util/mkisofs/multi.c: Likewise.
26274 * util/mkisofs/name.c: Likewise.
26275 * util/mkisofs/rock.c: Likewise.
26276 * util/mkisofs/tree.c: Likewise.
26277 * util/mkisofs/write.c: Likewise.
26278
5dde9afe
VS
262792010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26280
26281 Unify grub-mkimage accross platforms.
26282
26283 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26284 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26285 (grub_mkelfimage_SOURCES): Removed.
26286 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26287 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26288 (bin_UTILITIES): Add grub-mkimage.
26289 (grub_mkimage_SOURCES): New variable.
26290 (kernel_img_HEADERS): Remove machine/kernel.h.
26291 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26292 (pkglib_PROGRAMS): Add kernel.img.
26293 (kernel_img_HEADERS): Add machine/kernel.h.
26294 (kernel_img_FORMAT): Removed.
26295 (bin_UTILITIES): Remove grub-mkimage.
26296 (grub_mkimage_SOURCES): Removed.
26297 (grub_mkimage_CFLAGS): Likewise.
26298 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26299 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26300 (pkglib_PROGRAMS): Add kernel.img.
26301 (bin_UTILITIES): Remove grub-mkimage.
26302 (grub_mkimage_SOURCES): Removed.
26303 (grub_mkimage_CFLAGS): Likewise.
26304 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26305 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26306 (pkglib_PROGRAMS): Add kernel.img.
26307 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26308 (pkglib_PROGRAMS): Add kernel.img.
26309 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26310 (grub_mkimage_SOURCES): Removed.
26311 (grub_mkimage_CFLAGS): Likewise.
26312 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26313 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26314 (pkglib_PROGRAMS): Add kernel.img.
26315 (bin_UTILITIES): Remove grub-mkimage.
26316 (grub_mkimage_SOURCES): Removed.
26317 (grub_mkimage_CFLAGS): Likewise.
26318 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26319 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26320 (grub_mkimage_SOURCES): Removed.
26321 (grub_mkimage_CFLAGS): Likewise.
26322 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26323 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26324 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26325 (grub_pe32_optional_header): ... this.
26326 (grub_pe64_optional_header): ... and this. All users updated.
26327 (GRUB_PE32_PE32_MAGIC): Split into ..
26328 (GRUB_PE32_PE32_MAGIC): .. this.
26329 (GRUB_PE32_PE64_MAGIC): .. and this.
26330 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26331 * include/grub/elf.h (PT_GNU_STACK): New definition.
26332 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26333 * include/grub/i386/efi/kernel.h: Likewise.
26334 * include/grub/i386/kernel.h: Likewise.
26335 * include/grub/i386/pc/kernel.h: Likewise.
26336 * include/grub/i386/qemu/boot.h: Likewise.
26337 * include/grub/mips/kernel.h: Likewise.
26338 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26339 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26340 * include/grub/powerpc/kernel.h: Likewise.
26341 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26342 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26343 * include/grub/sparc64/kernel.h: Likewise.
26344 * include/grub/x86_64/efi/kernel.h: Likewise.
26345 * include/grub/x86_64/kernel.h: Likewise.
26346 * include/grub/offsets.h: New file.
26347 * include/grub/kernel.h (grub_module_info): Split into ...
26348 (grub_module_info32): ... this.
26349 (grub_module_info64): ... and this.
26350 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26351 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26352 (grub_boot_blocklist): Moved from here ...
26353 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26354 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26355 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26356 * include/grub/types.h (grub_target_to_host16): Removed.
26357 (grub_target_to_host32): Likewise.
26358 (grub_target_to_host64): Likewise.
26359 (grub_host_to_target16): Likewise.
26360 (grub_host_to_target32): Likewise.
26361 (grub_host_to_target64): Likewise.
26362 (grub_host_to_target_addr): Likewise.
26363
26364 Support grub-mkrescue for efi, coreboot and qemu.
26365
26366 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26367 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26368 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26369 * util/grub-mkrawimage.c: Moved from here ...
26370 * util/grub-mkimage.c: ... here. All users updated.
26371 (ALIGN_ADDR): Use image_target.
26372 (TARGET_NO_FIELD): New const.
26373 (image_target_desc): New type.
26374 (image_targets): New array.
26375 (grub_target_to_host64): Use image_target.
26376 (grub_target_to_host32): Likewise.
26377 (grub_target_to_host16): Likewise.
26378 (grub_host_to_target64): Likewise.
26379 (grub_host_to_target32): Likewise.
26380 (grub_host_to_target16): Likewise.
26381 (grub_host_to_target_addr): Likewise.
26382 (generate_image): Handle multiimage.
26383 (main): Require -O parameter. All users updated.
26384 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26385 util/efi/grub-mkimage.c
26386 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26387 New option --rom-directory.
26388 Use xorriso.
26389 * util/i386/efi/grub-mkimage.c: Removed.
26390 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26391 (grub_target_to_host32): Likewise.
26392 (grub_target_to_host64): Likewise.
26393 (grub_host_to_target16): Likewise.
26394 (grub_host_to_target32): Likewise.
26395 (grub_host_to_target64): Likewise.
26396 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26397 (grub_target_to_host32): Likewise.
26398 (grub_target_to_host64): Likewise.
26399 (grub_host_to_target16): Likewise.
26400 (grub_host_to_target32): Likewise.
26401 (grub_host_to_target64): Likewise.
26402
f4fc97d0
BC
264032010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26404
26405 Source tree is reorganized for emu build.
26406
26407 * include/grub/util/console.h: Move from here...
26408 * include/grub/emu/console.h: ...to here.
26409 * include/grub/util/getroot.h: Move from here...
26410 * include/grub/emu/getroot.h: ...to here.
26411 * include/grub/util/hostdisk.h: Move from here...
26412 * include/grub/emu/hostdisk.h: ...to here.
26413 * util/console.c: Move from here...
26414 * kern/emu/console.c: ...to here.
26415 * util/getroot.c: Move from here...
26416 * kern/emu/getroot.c: ...to here.
26417 * util/grub-emu.c: Move from here...
26418 * kern/emu/main.c: ...to here.
26419 * util/hostdisk.c: Move from here...
26420 * kern/emu/hostdisk.c: ...to here.
26421 * util/hostfs.c: Move from here...
26422 * kern/emu/hostfs.c: ...to here.
26423 * util/mm.c: Move from here...
26424 * kern/emu/mm.c: ...to here.
26425 * util/pci.c: Move from here...
26426 * bus/emu/pci.c: ...to here.
26427 * util/sdl.c: Move from here...
26428 * video/emu/sdl.c: ...to here.
26429 * util/time.c: Move from here...
26430 * kern/emu/time.c: ...to here.
26431 * util/usb.c: Move from here...
26432 * bus/usb/emu/usb.c: ...to here.
26433
26434 * include/grub/emu/misc.h: New header for grub-emu functions.
26435 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26436
26437 * conf/any-emu.rmk: Rule updates for above renames.
26438 * conf/common.rmk: Likewise.
26439 * conf/i386-pc.rmk: Likewise.
26440 * conf/i386-qemu.rmk: Likewise.
26441 * conf/mips.rmk: Likewise.
26442 * conf/sparc64-ieee1275.rmk: Likewise.
26443 * conf/x86-efi.rmk: Likewise.
26444
26445 * disk/lvm.h: #include updates for above renames.
26446 * util/grub-mkrelpath.c: Likewise.
26447 * util/grub-probe.c: Likewise.
26448 * util/i386/pc/grub-setup.c: Likewise.
26449 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26450 * kern/emu/console.c: Likewise.
26451 * kern/emu/getroot.c: Likewise.
26452 * kern/emu/hostdisk.c: Likewise.
26453 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26454
26455 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26456 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26457 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26458 * util/misc.c: Remove grub-emu functions.
26459
cced9145
VS
264602010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26461
26462 Fix gfxmenu crash.
26463 Reported by: Thorsten Grützmacher.
26464
26465 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26466 timeout hook.
26467 (circprog_set_property): Register and unregister timeout hook.
26468 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26469 (label_destroy): Free template. and unregister hook.
26470 (label_set_state): New function.
26471 (label_set_property): Handle templates and hooks.
26472 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26473 timeout hook.
26474 (progress_bar_set_property): Register and unregister timeout hook.
26475 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26476 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26477 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26478 (update_timeout_visit): Removed.
26479 (update_timeouts): New function.
26480 (redraw_timeouts): Likewise.
26481 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26482 (grub_gfxmenu_clear_timeout): Likewise.
26483 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26484 (grub_gfxmenu_timeout_notify): Likewise.
26485 (grub_gfxmenu_timeout_notifications): New external variable.
26486 (grub_gfxmenu_timeout_register): New function.
26487 (grub_gfxmenu_timeout_unregister): Likewise.
26488
c6e5caab
VS
264892010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26490
26491 Transform (broken) vga terminal into (working) vga video driver.
26492
26493 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26494 video/i386/pc/vga.c.
26495 * include/grub/video.h (grub_video_driver_id):
26496 Add GRUB_VIDEO_DRIVER_VGA.
26497 * term/i386/pc/vga.c: Renamed to ...
26498 * video/i386/pc/vga.c: ...this
26499 (DEBUG_VGA): Removed.
26500 (CHAR_WIDTH): Likewise.
26501 (CHAR_HEIGHT): Likewise.
26502 (TEXT_WIDTH): Likewise.
26503 (TEXT_HEIGHT): Likewise.
26504 (DEFAULT_FG_COLOR): Likewise.
26505 (DEFAULT_BG_COLOR): Likewise.
26506 (colored_char): Likewise.
26507 (xpos): Likewise.
26508 (ypos): Likewise.
26509 (cursor_state): Likewise.
26510 (fg_color): Likewise.
26511 (bg_color): Likewise.
26512 (text_buf): Likewise.
26513 (page): Likewise.
26514 (font): Likewise.
26515 (framebuffer): New variable.
26516 (set_read_map): Disabled.
26517 (setup): New variable.
26518 (is_target): Likewise.
26519 (grub_vga_mod_init): Likewise.
26520 (grub_vga_mod_fini): Likewise.
26521 (check_vga_mem): Likewise.
26522 (write_char): Likewise.
26523 (write_cursor): Likewise.
26524 (scroll_up): Likewise.
26525 (grub_vga_putchar): Likewise.
26526 (grub_vga_getcharwidth): Likewise.
26527 (grub_vga_getwh): Likewise.
26528 (grub_vga_getxy): Likewise.
26529 (grub_vga_gotoxy): Likewise.
26530 (grub_vga_cls): Likewise.
26531 (grub_vga_setcolorstate): Likewise.
26532 (grub_vga_setcursor): Likewise.
26533 (grub_video_vga_init): New function.
26534 (grub_video_vga_setup): Likewise.
26535 (grub_video_vga_fini): Likewise.
26536 (update_target): Likewise.
26537 (grub_video_vga_blit_bitmap): Likewise.
26538 (grub_video_vga_blit_render_target): Likewise.
26539 (grub_video_vga_set_active_render_target): Likewise.
26540 (grub_video_vga_get_active_render_target): Likewise.
26541 (grub_video_vga_swap_buffers): Likewise.
26542 (grub_video_vga_set_palette): Likewise.
26543 (grub_video_vga_get_info_and_fini): Likewise.
26544 (grub_vga_term): Removed.
26545 (grub_video_vga_adapter): New variable.
26546 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26547 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26548
2bf61a98
VS
265492010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26550
26551 * video/readers/jpeg.c: Indented.
26552
09ddcd11
VS
265532010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26554
26555 Various jpeg cleanups.
26556
26557 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26558 (grub_jpeg_decode_quan_table): Use sizeof.
26559 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26560
e5507505
PH
265612010-05-05 Peter Hurley <No e-mail available> (tiny change)
26562
26563 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26564 tables. Ignore non-last ac bit.
26565 (grub_jpeg_decode_quan_table): Likewise.
26566
7e720a9b
VS
265672010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26568
26569 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26570 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26571 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26572 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26573 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26574 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26575
a7fc080b
VS
265762010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26577
26578 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26579 error.
26580
2bf6012d
VS
265812010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26582
26583 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26584
265d68cd
VS
265852010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26586
26587 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26588 condition.
26589
265902010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26591
26592 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26593 part.
26594
265d68cd 265952010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26596
26597 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26598 pointers.
26599
265d68cd 266002010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26601
26602 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26603
d1b61374
CF
266042010-05-01 Christian Franke <franke@computer.org>
26605
26606 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26607 Remove broken Cygwin path conversion.
26608 * util/misc.c: [__CYGWIN__] Add include and define.
26609 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26610 for Cygwin 1.7.
26611 (make_system_path_relative_to_its_root): Simplify loop, replace early
26612 return by break.
26613 [__CYGWIN__] Add conversion to win32 path.
26614 Include "/" case in trailing slash removal.
26615
3558c6e9
VS
266162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26617
26618 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26619 Reported by: Seth Goldberg
26620
f5f3ff93
VS
266212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26622
26623 * commands/help.c (grub_cmd_help): Fix a typo.
26624 Reported by: Seth Goldberg
26625
d8b5cd40
VS
266262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26627
26628 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26629 name and add N_.
26630 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26631 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26632 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26633 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26634 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26635 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26636 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26637 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26638 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26639 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26640 * normal/context.c (GRUB_MOD_INIT): Likewise.
26641 * normal/main.c (GRUB_MOD_INIT): Likewise.
26642 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26643 * term/serial.c (GRUB_MOD_INIT): Likewise.
26644 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26645
88c14915
VS
266462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26647
26648 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26649 extra == 0.
26650
165134bc
VS
266512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26652
26653 * commands/iorw.c: New file.
26654 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26655 (iorw_mod_SOURCES): New variable.
26656 (iorw_mod_CFLAGS): Likewise.
26657 (iorw_mod_LDFLAGS): Likewise.
26658
c5ac9b32
VS
266592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26660
26661 Hotkey support
26662
26663 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26664 * normal/main.c (hotkey_aliases): New variable.
26665 (grub_normal_add_menu_entry): Parse "--hotkey".
26666 * normal/menu_text.c (run_menu): Handle hotkeys.
26667
ce60689c
VS
266682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26669
26670 * kern/i386/coreboot/init.c (grub_machine_init): Call
26671 grub_machine_mmap_init on qemu.
26672
0359d006
VS
266732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26674
26675 * boot/i386/qemu/boot.S: Add a missing .code16.
26676
7819a456
VS
266772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26678
26679 Use LBIO on coreboot.
26680
26681 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26682 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26683 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26684 New declaration.
26685 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26686 grub_machine_mmap_init on coreboot.
26687 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26688 GRUB_LINUXBIOS_MEMBER_LINK.
26689 (grub_machine_mmap_iterate): Fix declaration.
26690 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26691
7210dca9
VS
266922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26693
26694 Split coreboot and multiboot ports.
26695
26696 * conf/i386-multiboot.rmk: New file.
26697 * configure.ac: Add multiboot port.
26698 * include/grub/i386/multiboot/boot.h: New file.
26699 * include/grub/i386/multiboot/console.h: Likewise.
26700 * include/grub/i386/multiboot/init.h: Likewise.
26701 * include/grub/i386/multiboot/kernel.h: Likewise.
26702 * include/grub/i386/multiboot/loader.h: Likewise.
26703 * include/grub/i386/multiboot/memory.h: Likewise.
26704 * include/grub/i386/multiboot/serial.h: Likewise.
26705 * include/grub/i386/multiboot/time.h: Likewise.
26706 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26707 * loader/multiboot.c: Likewise.
26708 * loader/multiboot_mbi2.c: Likewise.
26709 * util/grub-mkrescue.in: Generate multiboot rescue.
26710
6f8aaf68
VS
267112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26712
3080f7a7
VS
26713 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26714
267152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26716
26717 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26718
26719 * commands/terminal.c (abstract_terminal): New struct.
26720 (handle_command): New function. Based on grub_cmd_terminal_input.
26721 (grub_cmd_terminal_input): Use handle_command.
26722 (grub_cmd_terminal_output): Use handle_command.
26723
a8ebb841
BC
267242010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26725
26726 Fix comment handling.
26727
26728 * tests/grub_script_comments.in: New testcase.
26729 * conf/tests.rmk: Rules for new testcase.
26730 * script/yylex.l: Updated flex rules.
26731
bb06ba08
ST
267322010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26733
26734 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26735 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26736 if argc is 1.
bb06ba08 26737
cc9d2425
VS
267382010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26739
26740 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26741 autogen issues.
26742
460d8402
CF
267432010-04-26 Christian Franke <franke@computer.org>
26744
26745 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26746 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26747 (grub_get_prefix): Remove function.
26748 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26749 make_system_path_relative_to_its_root ().
26750 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26751
553c01f9
CF
267522010-04-24 Christian Franke <franke@computer.org>
26753
26754 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26755 (kernel_img_LDFLAGS): Remove -static-libgcc.
26756
2aec1692
CF
267572010-04-24 Christian Franke <franke@computer.org>
26758
26759 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26760 and CHECK_END_SYMBOL if grub-emu is built.
26761 Unset TARGET_OBJ2ELF if grub-emu is built
26762 without module support.
26763
f67dc308
JS
267642010-04-24 Jiro SEKIBA <jir@unicus.jp>
26765
26766 Nilfs2 support.
26767
26768 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26769 (grub_fstest_SOURCES): Likewise.
26770 (pkglib_MODULES): Add nilfs2.mod.
26771 (nilfs2_mod_SOURCES): New variable.
26772 (nilfs2_mod_CFLAGS): Likewise.
26773 (nilfs2_mod_LDFLAGS): Likewise.
26774 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26775 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26776 * fs/nilfs2.c: New file.
26777
4ba8d354
VS
267782010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26779
26780 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26781 is not supported.
26782
0d2c20c6
GS
267832010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26784
26785 Add grub-mkconfig support for NetBSD.
26786
26787 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26788 * util/grub-mkconfig.in: export new NetBSD specific variables.
26789 * po/POTFILES-shell: added 10_netbsd.in.
26790 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26791
bc4a2d83
BC
267922010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26793
26794 Fix emu build with grub-emu-pci and grub-emu-modules.
26795
26796 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26797 functions.
26798 * include/grub/libpciaccess.h: New file.
26799 * conf/any-emu.rmk: Update kernel headers for emu build.
26800
f48c87aa
VS
268012010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26802
26803 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26804
18959385
VS
268052010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26806
26807 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26808
0037de3f
VS
268092010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26810
26811 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26812 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26813 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26814 util/ieee1275/ofpath.c.
26815 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26816 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26817 * include/grub/sparc64/ieee1275/boot.h
26818 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26819 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26820 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26821 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26822 const char *.
26823 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26824 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26825 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26826 install.
26827
38e55e90
GS
268282010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26829
26830 * util/grub-mkconfig.in: Corrected two == equality tests.
26831 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26832 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26833 expect a number appended to it.
26834 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26835 expects a number appended to it.
26836
a9e6ff28
VS
268372010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26838
26839 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26840
0b830b8f
VS
268412010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26842
26843 * util/hostdisk.c (make_device_name): Change to new partition naming.
26844
0973daeb
VS
268452010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26846
26847 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26848
460d8402 268492010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
26850
26851 * Makefile.in: Add missing localedir setting.
26852
0b456309
CW
268532010-04-14 Colin Watson <cjwatson@ubuntu.com>
26854
26855 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26856 mistake in r2156. Noticed by Anthony Fok.
26857
26858 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26859 @localedir@.
26860 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26861
08f46d62
BC
268622010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26863
26864 Fix a spurious, uninitialized variable warning.
26865
26866 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26867 Initialize variable, shdr.
26868 (grub_freebsd_load_elfmodule): Likewise.
26869 (grub_freebsd_load_elf_meta): Likewise.
26870
8c4a72d4
BC
268712010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26872
26873 Fix for escaped dollar in double quoted strings.
26874
26875 * script/yylex.l: Updated flex rules.
26876 * conf/tests.rmk: Rule for new testcase.
26877 * tests/grub_script_dollar.in: New testcase.
26878
ce44826e
CPE
268792010-04-13 Carles Pina i Estany <carles@pina.cat>
268802010-04-13 Colin Watson <cjwatson@ubuntu.com>
26881
26882 Enclose all translated strings in grub.cfg in single quotes, and
26883 escape them appropriately (Ubuntu bug #552921).
26884
26885 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26886 * util/grub.d/10_hurd.in: Use it.
26887 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26888 * util/grub.d/10_linux.in (linux_entry): Likewise.
26889
4b0cd8f8
VS
268902010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26891
26892 Fix cygwin compilation.
26893
26894 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26895 * include/grub/misc.h (__register_frame_info)
26896 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26897 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26898 * kern/misc.c (__register_frame_info)
26899 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26900 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26901
01fcf061
VS
269022010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26903
26904 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26905
5d04b11e
VS
269062010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26907
26908 Unify libgcc processing.
26909
26910 * Makefile.in (kernel_img_LDFLAGS): New variable.
26911 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26912 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26913 overwriting.
26914 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26915 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26916 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
26917 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
26918 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
26919 overwriting. Remove -lgcc and -static-libgcc
26920 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
26921 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26922 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26923 (kernel_img_LDFLAGS): Append instead of overwriting.
26924 Remove -lgcc and -static-libgcc
26925 * conf/sparc64-ieee1275.rmk: Likewise.
26926 * include/grub/powerpc/libgcc.h: Move to ...
26927 * include/grub/libgcc.h: .. this.
26928 * include/grub/libgcc.h: Don't export most of the function on x86.
26929 (__bswapsi2): New export.
26930 (__bswapdi2): Likewise.
26931 * include/grub/mips/libgcc.h: Removed.
26932 * include/grub/sparc64/libgcc.h: Likewise.
26933
b7f3ac29
VS
269342010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26935
26936 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
26937 disk_info_msg (conflicts with gettexting into languages with cases).
26938
2c7031b1
GS
269392010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
26940
26941 Add grub-probe support for NetBSD.
26942
26943 * util/getroot.c (find_root_device): Convert block device to
26944 character device on NetBSD.
26945 * util/probe.c (probe): Require character device on NetBSD.
26946 * util/hostdisk.c: NetBSD specific headers.
26947 (configure_device_driver): new function to tune device driver
26948 parameters (currently only for NetBSD floppy driver).
26949 (grub_util_biosdisk_open): NetBSD specific code (get disk size
26950 via disklabel ioctl).
26951 (open_device): call configure_device_driver on NetBSD.
26952 (convert_system_partition_to_system_disk): NetBSD specific code.
26953 (device_is_wholedisk): Likewise.
26954 (grub_util_biosdisk_get_grub_dev): Likewise.
26955 (make_device_name): Fixed a typo in bsd_part_str.
26956 * configure.ac: check for opendisk() and getrawpartition() on
26957 NetBSD and set LIBUTIL.
26958 * Makefile.in: add LIBUTIL to LIBS.
26959
f516290c
BC
269602010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26961
26962 Documentation fix.
26963
26964 * util/grub-script-check.c: Better help message.
26965
d8dcc0df
BC
269662010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26967
26968 Fix FreeBSD build.
26969
26970 * configure.ac: Flex version check.
26971 * conf/common.rmk: Add -Wno-error to sh.mod.
26972 * script/yylex.l: Remove all #pragma.
26973
6734334a
VS
269742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26975
26976 * include/grub/util/misc.h (canonicalise_file_name): Add missing
26977 prototype.
26978 Reported by: Seth Goldberg.
26979
daea6abd
VS
269802010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26981
26982 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
26983 Rename "module" to "module2".
26984 Reported by: Seth Goldberg.
26985
f2fd9d2b
VS
269862010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26987
26988 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
26989 EXPORT_FUNC.
26990 Reported by: Seth Goldberg.
26991
be124579
VS
269922010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26993
26994 * lib/posix_wrap/locale.h: Add missing file.
26995 Reported by: Seth Goldberg.
26996
ef5da797
VS
269972010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26998
26999 grub-emu module load support.
27000
27001 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27002 NO_DYNAMIC_MODULES switched to this.
27003 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27004 (CFLAGS): Likewise.
27005 * conf/any-emu.rmk: Generate symlist.
27006 (kernel_img_HEADERS): Add util/datetime.h.
27007 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27008 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27009 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27010 kern/$(target_cpu)/cache.S.
27011 * configure.ac (grub-emu-modules): New option.
27012 * genmk.rb: Handle multiple source lists.
27013 * include/grub/sdl.h: New file.
27014 * include/grub/libusb.h: Likewise.
27015 * util/grub-emu.c (main): Hanle (host) root.
27016 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27017 GRUB_ERR_UNKNOWN_DEVICE.
27018 * util/misc.c: Move mm functions to ...
27019 * util/mm.c: ... here. All users updated.
27020
47822096
VS
270212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27022
27023 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27024 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27025 missing files.
27026 (maintainer-clean): Remove libgcrypt-grub.
27027
5d7e7445
VS
270282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27029
27030 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27031
25f4e252
EC
270322010-04-09 EFI Coder <eficoder@hotmail.com>
27033
27034 * normal/menu_text.c (print_message): Clean up the message and show
27035 the Fn information when on EFI
27036 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27037
027de555
VS
270382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27039
27040 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27041 All users updated.
27042 * normal/crypto.c (read_crypto_list): Likewise.
27043 * normal/dyncmd.c (read_command_list): Likewise.
27044 * normal/term.c (read_terminal_list): Likewise.
27045 * normal/main.c (read_lists): Use explicit prefix.
27046 (read_lists_hook): Use read_lists.
27047 (grub_normal_execute): Likewise.
27048
47779711
VS
270492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27050
27051 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27052 Reported by: Thomas Schmitt.
27053 Add -no-emul-boot to grub-mkisofs parameters.
27054
1118c32e
VS
270552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27056
27057 * font/font.c: Indented.
27058
7d652447
BC
270592010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27060
27061 Elif support to GRUB script (by Deepak Vankadaru).
27062
27063 * tests/grub_script_if.in: New testcase.
27064 * conf/tests.rmk: Rule for new testcase.
27065 * script/parser.y: Grammar rules for elif.
27066
34bb22df
BC
270672010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27068
27069 While and until loops support to GRUB script.
27070
27071 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27072 (grub_script_create_cmdwhile): New function prototype.
27073 (grub_script_execute_cmdwhile): New function prototype.
27074 * script/execute.c (grub_script_execute_cmdwhile): New function.
27075 * script/parser.y (command): New commands.
27076 (whilecmd): New grammar rule.
27077 (untilcmd): New grammar rule.
27078 * script/script.c (grub_script_create_cmdwhile): New function.
27079 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27080 function.
27081
27082 * tests/grub_script_while1.in: New testcase.
27083 * conf/tests.rmk: Rule for new testcase.
27084
e215d8e0
VS
270852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27086
27087 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27088 as *.jpg.
27089
d7c43ba1
MV
270902010-04-09 Mario Vazquez <mariovazq@gmail.com>
27091
27092 GRUB_BACKGROUND support.
27093
27094 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27095 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27096
d64795c0
VS
270972010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27098
27099 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27100 Idea by: Mario Vazquez
d64795c0
VS
27101
27102 * util/grub.d/00_header.in: Load pf2 and image modules.
27103
f267f83a
VS
271042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27105
27106 grub-mkconfig multiple terminal support.
27107
27108 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27109 * util/grub.d/00_header.in: Likewise.
27110
b7841ceb
VS
271112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27112
27113 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27114 we use cd $(srcdir).
27115
df60998c
CW
271162010-04-08 Colin Watson <cjwatson@ubuntu.com>
27117
27118 * util/grub.d/10_linux.in: Only use the first word of
27119 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27120 spaces in GRUB_DISTRIBUTOR.
27121 * util/grub.d/10_kfreebsd.in: Likewise.
27122 * util/grub.d/10_hurd.in: Likewise.
27123
fa09c82e
BC
271242010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27125
14e18ae3 27126 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27127
27128 * tests/util/grub-shell.in: Remove -serial stdio option.
27129
daf892b3
BC
271302010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27131
27132 POSIX header file wrappers.
27133
27134 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27135 equivalents.
27136 * lib/posix_wrap/ctype.h: Likewise.
27137 * lib/posix_wrap/errno.h: Likewise.
27138 * lib/posix_wrap/langinfo.h: Likewise.
27139 * lib/posix_wrap/limits.h: Likewise.
27140 * lib/posix_wrap/localcharset.h: Likewise.
27141 * lib/posix_wrap/stdint.h: Likewise.
27142 * lib/posix_wrap/stdio.h: Likewise.
27143 * lib/posix_wrap/stdlib.h: Likewise.
27144 * lib/posix_wrap/string.h: Likewise.
27145 * lib/posix_wrap/sys/types.h: Likewise.
27146 * lib/posix_wrap/unistd.h: Likewise.
27147 * lib/posix_wrap/wchar.h: Likewise.
27148 * lib/posix_wrap/wctype.h: Likewise.
27149 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27150 (grub_script.yy.h): Likewise.
27151 * script/yylex.l: Remove POSIX emulation #defines.
27152 * Makefile.in (POSIX_CFLAGS): New variable.
27153 (GNULIB_UTIL_CFLAGS): Likewise.
27154
27155 Regexp support.
27156
27157 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27158 (regexp_mod_SOURCES): New variable.
27159 (regexp_mod_CFLAGS): Likewise.
27160 (regexp_mod_LDFLAGS): Likewise.
27161 * commands/regexp.c: New file.
27162 * gnulib/regcomp.c: New file. Imported from gnulib.
27163 * gnulib/regex.c: Likewise.
27164 * gnulib/regex_internal.c: Likewise.
27165 * gnulib/regex_internal.h: Likewise.
27166 * gnulib/regexec.c: Likewise.
27167 * gnulib/regex.h: Likewise.
27168
974ac4f7
VS
271692010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27170
27171 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27172 unsupported video mode types.
27173
2622c3ff
VS
271742010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27175
27176 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27177
064cb524
VS
271782010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27179
27180 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27181 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27182
a8c3b552
VS
271832010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27184
27185 Remove unused grub_vga_get_font.
27186
27187 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27188 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27189
187bbe3d
GS
271902010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27191
27192 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27193 * include/grub/misc.h: Likewise.
27194
b9396631
GS
271952010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27196
27197 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27198 for which failure is fatal.
27199
50479feb
GS
272002010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27201
27202 * util/grub-install.in: Use mkdir -p to create grub directory.
27203 * util/i386/efi/grub-install.in: Likewise.
27204 * util/ieee1275/grub-install.in: Likewise.
27205
b1654fdf
GS
272062010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27207
27208 * Makefile.in (LEX): new variable.
27209
bd5a6415
GS
272102010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27211
27212 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27213 `=' and added double quotes on operands of this equality test.
27214
3db3a82b
VS
272152010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27216
27217 * Makefile.in (uninstall): Remove a leftover debug echo.
27218 Reported by: Grégoire Sutre
27219
38023412
VS
272202010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27221
27222 MIPS multiboot2 support.
27223
27224 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27225 (multiboot2_mod_SOURCES): New variable.
27226 (multiboot2_mod_CFLAGS): Likewise.
27227 (multiboot2_mod_LDFLAGS): Likewise.
27228 (multiboot2_mod_ASFLAGS): Likewise.
27229 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27230 definition.
27231 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27232 (MULTIBOOT_MBI_REGISTER): Likewise.
27233 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27234 (MULTIBOOT_ELF32_MACHINE): Likewise.
27235 (MULTIBOOT_ELF64_MACHINE): Likewise.
27236 * include/grub/mips/multiboot.h: New file.
27237 * include/grub/video.h (grub_video_driver_id): New type
27238 GRUB_VIDEO_DRIVER_SM712.
27239 (grub_video_get_info_and_fini): Export.
27240 (grub_video_get_palette): Likewise.
27241 (grub_video_get_driver_id): Likewise.
27242 * include/multiboot2.h: Resynced with spec.
27243 * loader/i386/multiboot.c: Moved from here ...
27244 * loader/multiboot.c: ... here. All users updated.
27245 (grub_multiboot_boot): Use platform-specific macros.
27246 * loader/i386/multiboot_elfxx.c: Moved from here ...
27247 * loader/multiboot_elfxx.c: ... here. All users updated.
27248 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27249 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27250 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27251
47674667
VS
272522010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27253
27254 Import gnulib argp module.
27255
27256 * gnulib/argp-ba.c: New file.
27257 * gnulib/argp-eexst.c: Likewise.
27258 * gnulib/argp-fmtstream.c: Likewise.
27259 * gnulib/argp-fmtstream.h: Likewise.
27260 * gnulib/argp-fs-xinl.c: Likewise.
27261 * gnulib/argp-help.c: Likewise.
27262 * gnulib/argp-namefrob.h: Likewise.
27263 * gnulib/argp-parse.c: Likewise.
27264 * gnulib/argp-pin.c: Likewise.
27265 * gnulib/argp-pv.c: Likewise.
27266 * gnulib/argp-pvh.c: Likewise.
27267 * gnulib/argp-version-etc.c: Likewise.
27268 * gnulib/argp-version-etc.h: Likewise.
27269 * gnulib/argp-xinl.c: Likewise.
27270 * gnulib/argp.h: Likewise.
27271
495442ed
VS
272722010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27273
27274 * kern/device.c (grub_device_iterate): Clear errors after failed
27275 opening device.
27276
f9fd65df
VS
272772010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27278
27279 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27280 returned by firmware.
27281
af09641e
VS
272822010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27283
27284 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27285 compilation on coreboot and qemu
27286
016883a5
VS
272872010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27288
27289 * include/multiboot2.h: Resync with spec.
27290
f97e1f7d
VS
272912010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27292
27293 Multiboot2 tag support
27294
27295 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27296 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27297 Remove loader/multiboot_loader.c.
27298 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27299 (grub_multiboot2_real_boot): Likewise.
27300 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27301 (grub_get_multiboot_mmap_count): New proto.
27302 (grub_fill_multiboot_mmap): Likewise.
27303 (grub_multiboot_set_video_mode): Likewise.
27304 (grub_multiboot_set_console): Likewise.
27305 (grub_multiboot_load): Likewise.
27306 (grub_multiboot_load_elf): Likewise.
27307 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27308 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27309 * include/multiboot.h: Resynced with specification.
27310 * include/multiboot2.h: Resynced with specification.
27311 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27312 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27313 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27314 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27315 users updated.
27316 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27317 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27318 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27319 Removed.
27320 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27321 Moved from here...
27322 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27323 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27324 Moved from here...
27325 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27326 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27327 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27328 All users updated.
27329 * loader/i386/multiboot_mbi2.c: New file.
27330
3506b90b
VS
273312010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27332
27333 Resync with gnulib.
27334
27335 * Makefile.in (GNULIB_CFLAGS): New variable.
27336 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27337 (grub_script_check_CFLAGS): New variable.
27338 * gnulib/alloca.h: Resync with gnulib.
27339 * gnulib/error.c: Likewise.
27340 * gnulib/error.h: Likewise.
27341 * gnulib/fnmatch.c: Likewise.
27342 * gnulib/fnmatch_loop.c: Likewise.
27343 * gnulib/getdelim.c: Likewise.
27344 * gnulib/getline.c: Likewise.
27345 * gnulib/getopt.c: Likewise.
27346 * gnulib/getopt1.c: Likewise.
27347 * gnulib/getopt_int.h: Likewise.
27348 * gnulib/gettext.h: Likewise.
27349 * gnulib/progname.c: Likewise.
27350 * gnulib/progname.h: Likewise.
27351
394a3120
GS
273522010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27353
27354 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27355 which is the case with --disabled-nls.
27356
27357 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27358 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27359 * util/misc.c: Likewise.
27360 * util/mkisofs/mkisofs.c: Likewise.
27361 * util/mkisofs/mkisofs.h: Likewise.
27362
969d1c78
VS
273632010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27364
27365 Simplify Apple CC support.
27366
27367 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27368 Add 0 byte at the end not to have a symbol with empty target.
27369 * mmap/i386/pc/mmap_helper.S: Likewise.
27370 * genmk.rb: Ignore errors 2030 and 2050.
27371 * kern/i386/pc/startup.S: Use LOCAL when possible.
27372
8d2977bb
BC
273732010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27374
27375 Testcase and the fix for final semicolon on cmdline.
27376
27377 * tests/grub_script_final_semicolon.in: New testcase.
27378 * conf/tests.rmk: Rules for the new testcase.
27379 * script/parser.y: Grammar fix.
27380
a7bd6915
BC
273812010-03-26 BVK Chaitanya <bvk@localhost>
27382
27383 Blank lines testcase for GRUB script.
27384
27385 * tests/grub_script_blanklines.in: New testcase.
27386 * conf/tests.rmk: Rules for the new testcase.
27387
e4ff6628
VS
273882010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27389
27390 Don't use __FILE__.
27391
27392 * genmk.rb: Add -DGRUB_FILE to all C targets.
27393 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27394 * include/grub/list.h: Likewise.
27395 * include/grub/misc.h: Likewise.
27396 * include/grub/mm.h: Likewise.
27397 * include/grub/test.h: Likewise.
27398 * kern/mm.c: Likewise.
27399 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27400
6a5cf6b6
VS
274012010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27402
27403 Sunpc partitions support.
27404
27405 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27406 (grub_fstest_SOURCES): Likewise.
27407 (pkglib_MODULES): Add part_sunpc.mod.
27408 (part_sunpc_mod_SOURCES): New variable.
27409 (part_sunpc_mod_CFLAGS): Likewise.
27410 (part_sunpc_mod_LDFLAGS): Likewise.
27411 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27412 * partmap/sunpc.c: New file.
27413
746d9045
BC
274142010-03-26 BVK Chaitanya <bvk@localhost>
27415
27416 For loop support to GRUB script.
27417
27418 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27419 (grub_script_create_cmdfor): New function prototype.
27420 (grub_script_execute_cmdfor): New function prototype.
27421 * script/execute.c (grub_script_execute_cmdfor): New function.
27422 * script/parser.y (command): New for command.
27423 (forcmd): New grammar rule.
27424 * script/script.c (grub_script_create_cmdfor): New function.
27425 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27426 function.
27427 * tests/grub_script_for1.in: New testcase.
27428 * conf/tests.rmk: Rules for new testcase.
27429
18486b18
VS
274302010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27431
27432 Nested partitions
27433
27434 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27435 'partition' is NULL, grub_partition_get_start already does that.
27436 * commands/loadenv.c (check_blocklists): Likewise.
27437 (write_blocklists): Likewise.
27438 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27439 (grub_fstest_SOURCES): Likewise.
27440 (pkglib_MODULES): Add part_bsd.mod.
27441 (part_bsd_mod_SOURCES): New variable.
27442 (part_bsd_mod_CFLAGS): Likewise.
27443 (part_bsd_mod_LDFLAGS): Likewise.
27444 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27445 (grub_emu_SOURCES): Likewise.
27446 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27447 * include/grub/bsdlabel.h: New file.
27448 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27449 'get_name'.
27450 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27451 (grub_partition_map_list): New variable.
27452 (grub_partition_map_register): Inline.
27453 (grub_partition_map_unregister): Likewise.
27454 (FOR_PARTITION_MAPS): New macro.
27455 (grub_partition_map_iterate): Removed.
27456 (grub_partition_get_start): Handle nested partitions.
27457 * include/grub/msdos_partition.h: Remove bsd-related entries.
27458 (grub_pc_partition): Remove.
27459 * kern/disk.c (grub_disk_close): Free partition data.
27460 (grub_disk_adjust_range): Handle nested partitions.
27461 * kern/partition.c (grub_partition_map_probe): New function.
27462 (grub_partition_probe): Parse name to number, handle subpartitions.
27463 (get_partmap): New function.
27464 (grub_partition_iterate): Handle subpartitions.
27465 (grub_partition_get_name): Likewise.
27466 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27467 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27468 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27469 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27470 Set 'number'.
27471 (acorn_partition_map_probe): Remove.
27472 (acorn_partition_map_get_name): Likewise.
27473 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27474 Set 'number'.
27475 Set 'index' to 0 since there can be only one partition entry per sector.
27476 (amiga_partition_map_probe): Remove.
27477 (amiga_partition_map_get_name): Likewise.
27478 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27479 Set 'number'.
27480 Set 'offset' and 'index' to real positions of partitions.
27481 (apple_partition_map_probe): Remove.
27482 (apple_partition_map_get_name): Likewise.
27483 * partmap/bsdlabel.c: New file.
27484 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27485 Set 'number'.
27486 Allocate 'data' so it can be correctly freed.
27487 Set 'index' to offset inside sector.
27488 (gpt_partition_map_probe): Remove.
27489 (gpt_partition_map_get_name): Likewise.
27490 * partmap/msdos.c (grub_partition_parse): Remove.
27491 (pc_partition_map_iterate): Don't force raw access.
27492 Set 'number'.
27493 Make 'ext_offset' a local variable.
27494 (pc_partition_map_probe): Remove.
27495 (pc_partition_map_get_name): Remove.
27496 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27497 Set 'number'.
27498 (sun_partition_map_probe): Remove.
27499 (sun_partition_map_get_name): Likewise.
27500 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27501 (grub_pcpart_type): Likewise.
27502 * util/hostdisk.c (open_device): Handle new numbering scheme.
27503 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27504 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27505 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27506 * util/grub-install.in: Insert all subpartition modules.
27507 * util/ieee1275/grub-install.in: Likewise.
27508
a3940f88
AG
275092010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27510
27511 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27512 grammar.
27513
21b99926 275142010-03-24 Colin Watson <cjwatson@ubuntu.com>
27515
27516 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27517
bed1d352
CW
275182010-03-21 Colin Watson <cjwatson@ubuntu.com>
27519
27520 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27521 match where 'make install' puts them.
27522 * util/i386/efi/grub-install.in: Likewise.
27523
c9f58427
CW
275242010-03-19 Colin Watson <cjwatson@ubuntu.com>
27525
27526 * .bzrignore: Add gentrigtables, grub-script-check,
27527 grub_script_check_init.c, grub_script_check_init.h, and
27528 trigtables.c.
27529
f84afb27
VS
275302010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27531
27532 * kern/parser.c: Indented.
27533
ed0e3d30
VS
275342010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27535
27536 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27537
0ea81d98
VS
275382010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27539
27540 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27541 alpha_mask_size == 0 case.
27542
0cdc2a09
BC
275432010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27544
27545 GRUB shell lexer and parser improvements.
27546
27547 * conf/any-emu.rmk: Build rule updates.
27548 * conf/common.rmk: Likewise.
27549 * conf/i386-coreboot.rmk: Likewise.
27550 * conf/i386-efi.rmk: Likewise.
27551 * conf/i386-ieee1275.rmk: Likewise.
27552 * conf/i386-pc.rmk: Likewise.
27553 * conf/powerpc-ieee1275.rmk: Likewise.
27554 * conf/x86_64-efi.rmk: Likewise.
27555
27556 * configure.ac: Configure check for flex.
27557
27558 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27559 types.
27560 (grub_lexer_param): Struct member updates.
27561 (grub_parser_param): Likewise.
27562 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27563 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27564 (grub_script_lexer_init): Prototype update.
27565 (grub_script_lexer_record_start): Likewise.
27566 (grub_script_lexer_record_stop): Likewise.
27567 (grub_script_lexer_yywrap): New function prototype.
27568 (grub_script_lexer_fini): Likewise.
27569 (grub_script_execute_argument_to_string): Removed by...
27570 (grub_script_execute_argument_to_argv): ...better version.
27571
27572 * script/execute.c (ROUND_UPTO): New macro.
27573 (grub_script_execute_cmdline): Out of memory fixes.
27574 (grub_script_execute_menuentry): Likewise.
27575 (grub_script_execute_argument_to_string): Removed. Update all
27576 users by...
27577 (grub_script_execute_argument_to_argv): ...better version.
27578 * script/function.c (grub_script_function_create): Use
27579 grub_script_execute_argument_to_argv instead of
27580 grub_script_execute_argument_to_string.
27581
27582 * script/lexer.c (check_varstate): Removed.
27583 (check_textstate): Removed.
27584 (grub_script_lexer_record_start): Likewise.
27585 (grub_script_lexer_record_stop): Likewise.
27586 (recordchar): Replaced with...
27587 (grub_script_lexer_record): ...new function.
27588 (nextchar): Removed.
27589 (grub_script_lexer_init): Rewritten.
27590 (grub_script_yylex): Rewritten.
27591 (append_newline): New function.
27592 (grub_script_lexer_yywrap): New function.
27593 (grub_script_lexer_fini): New function.
27594 (grub_script_yyerror): Sets error flag.
27595
27596 * script/yylex.l: New file.
27597 (grub_lexer_yyfree): Wrapper for flex yyffre.
27598 (grub_lexer_yyalloc): Likewise.
27599 (grub_lexer_yyrealloc): Likewise.
27600 * script/parser.y: Refactored.
27601
27602 * script/script.c (grub_script_arg_add): Out of memory fixes.
27603 (grub_script_add_arglist): Likewise.
27604 (grub_script_create_cmdline): Likewise.
27605 (grub_script_create_cmdmenu): Likewise.
27606 (grub_script_add_cmd): Likewise.
27607 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27608 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27609 unnecessary code.
27610
27611 * tests/grub_script_echo1.in: New testcase.
27612 * tests/grub_script_vars1.in: New testcase.
27613 * tests/grub_script_echo_keywords.in: New testcase.
27614
1d63a066
VS
276152010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27616
27617 Remove some redundancy in build system.
27618
27619 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27620 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27621 (TARGET_LDFLAGS): Add -nostdlib.
27622 (TARGET_IMG_LDFLAGS): Likewise.
27623 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27624 anything since mmap isn't available.
27625 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27626 Add util/time.c.
27627 (pkglib_MODULES): Remove reboot.mod.
27628 (reboot_mod_SOURCES): Removed.
27629 (reboot_mod_CFLAGS): Likewise.
27630 (reboot_mod_LDFLAGS): Likewise.
27631 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27632 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27633 (DEFSYMFILES): Add kernel_syms.lst.
27634 (kernel_img_HEADERS): Add common headers.
27635 (symlist.c): New target.
27636 (kernel_syms.lst): Likewise.
27637 (pkglib_MODULES): Add memdisk.mod.
27638 (memdisk_mod_SOURCES): New variable.
27639 (memdisk_mod_CFLAGS): Likewise.
27640 (memdisk_mod_LDFLAGS): Likewise.
27641 (pkglib_MODULES): Add reboot.mod.
27642 (reboot_mod_SOURCES): New variable.
27643 (reboot_mod_CFLAGS): Likewise.
27644 (reboot_mod_LDFLAGS): Likewise.
27645 (pkglib_MODULES): Add date.mod.
27646 (date_mod_SOURCES): New variable.
27647 (date_mod_CFLAGS): Likewise.
27648 (date_mod_LDFLAGS): Likewise.
27649 (pkglib_MODULES): Add datehook.mod.
27650 (datehook_mod_SOURCES): New variable.
27651 (datehook_mod_CFLAGS): Likewise.
27652 (datehook_mod_LDFLAGS): Likewise.
27653 (pkglib_MODULES): Add lsmmap.mod.
27654 (lsmmap_mod_SOURCES): New variable.
27655 (lsmmap_mod_CFLAGS): Likewise.
27656 (lsmmap_mod_LDFLAGS): Likewise.
27657 (pkglib_MODULES): Add boot.mod.
27658 (boot_mod_SOURCES): New variable.
27659 (boot_mod_CFLAGS): Likewise.
27660 (boot_mod_LDFLAGS): Likewise.
27661 * conf/i386-coreboot.rmk: Removed redundant parts.
27662 * conf/i386-ieee1275.rmk: Likewise.
27663 * conf/i386-pc.rmk: Likewise.
27664 * conf/mips-yeeloong.rmk: Likewise.
27665 * conf/mips.rmk: Likewise.
27666 * conf/powerpc-ieee1275.rmk: Likewise.
27667 * conf/sparc64-ieee1275.rmk: Likewise.
27668 * conf/x86_64-efi.rmk: Likewise.
27669 * conf/i386-coreboot.rmk: Moved qemu parts ..
27670 * conf/i386-qemu.rmk: ... here
27671 * conf/i386-efi.rmk: Moved common parts to...
27672 * conf/x86-efi.rmk: ... here.
27673 * conf/i386.rmk: Added modules common to all x86 variants.
27674 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27675 * disk/memdisk.c: Remove grub/machine/kernel.h.
27676 * gensymlist.sh.in: Include symbol.h.
27677 * hook/datehook.c: Correct module name.
27678 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27679 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27680 * include/grub/i386/efi/serial.h: New file.
27681 * include/grub/x86_64/efi/serial.h: Likewise.
27682 * util/time.c: Likewise.
27683 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27684
463ac55f
CK
276852010-03-14 Colin King <colin.king@ubuntu.com>
276862010-03-14 Colin Watson <cjwatson@ubuntu.com>
27687
27688 Shrink the pre-partition-table part of boot.img by eight bytes.
27689
27690 * boot/i386/pc/boot.S (ERR): New macro.
27691 (chs_mode): Use ERR.
27692 (geometry_error): Likewise.
27693 (hd_probe_error): Remove. This is only used once, so we wrwite
27694 it inline instead.
27695 (read_error): Instead of printing read_error_string, just set up
27696 %si and fall through to ...
27697 (error_message): ... this new function, also used by ERR.
27698
08e46ede
CW
276992010-03-14 Colin Watson <cjwatson@ubuntu.com>
27700
27701 Speed up consecutive hostdisk operations on the same device.
27702
27703 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27704 (grub_util_biosdisk_open): Initialise disk->data.
27705 (struct linux_partition_cache): New structure.
27706 (linux_find_partition): Cache partition start positions; these are
27707 expensive to compute on every read and write.
27708 (open_device): Cache open file descriptor in disk->data, so that we
27709 don't have to reopen it and flush the buffer cache for consecutive
27710 operations on the same device.
27711 (grub_util_biosdisk_close): New function.
27712 (grub_util_biosdisk_dev): Set `close' member.
27713
27714 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27715 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27716 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27717 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27718 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27719
4a6d2d06
VS
277202010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27721
27722 Compile parts of grub-emu as modules.
27723
27724 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27725 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27726 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27727 (all-local): Add $(GRUB_EMU).
27728 (install-local): Install $(GRUB_EMU).
27729 (uninstall): Uninstall $(GRUB_EMU).
27730 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27731 * kern/dl.c: Likewise.
27732 * commands/sleep.c: Not include machine/time.h.
27733 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27734 (COMMON_CFLAGS): Likewise.
27735 (sbin_UTILITIES): Remove grub-emu.
27736 (grub_emu_SOURCES): Removed.
27737 (kernel_img_RELOCATABLE): New variable.
27738 (pkglib_PROGRAMS): Add kernel.img.
27739 (kernel_img_SOURCES): New variable
27740 (kernel_img_CFLAGS): Likewise.
27741 (kernel_img_LDFLAGS): Likewise.
27742 (TARGET_NO_STRIP): Likewise.
27743 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27744 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27745 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27746 (grub-emu): New target.
27747 (GRUB_EMU): New variable.
27748 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27749 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27750 * loader/xnu.c: Likewise.
27751 * include/grub/pci.h: Likewise.
27752 * genemuinit.sh: New file.
27753 * genemuinitheader.sh: Likewise.
27754 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27755 Support TARGET_NO_DYNAMIC_MODULES.
27756 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27757 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27758 * disk/loopback.c: Likewise.
27759 * font/font_cmd.c: Likewise.
27760 * partmap/acorn.c: Likewise.
27761 * partmap/amiga.c: Likewise.
27762 * partmap/apple.c: Likewise.
27763 * partmap/gpt.c: Likewise.
27764 * partmap/msdos.c: Likewise.
27765 * partmap/sun.c: Likewise.
27766 * parttool/msdospart.c: Likewise.
27767 * term/gfxterm.c: Likewise.
27768 * video/bitmap.c: Likewise.
27769 * video/readers/jpeg.c: Likewise.
27770 * video/readers/png.c: Likewise.
27771 * video/readers/tga.c: Likewise.
27772 * video/video.c: Likewise.
27773 * util/grub-emu.c (read_command_list): Removed.
27774 (main): Don't call util_init_nls.
27775 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27776 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27777
91fdd2ed
VS
277782010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27779
27780 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27781 date.mod, datehook.mod.
27782 (datetime_mod_SOURCES): New variable.
27783 (datetime_mod_CFLAGS): Likewise.
27784 (datetime_mod_LDFLAGS): Likewise.
27785 (date_mod_SOURCES): Likewise.
27786 (date_mod_CFLAGS): Likewise.
27787 (date_mod_LDFLAGS): Likewise.
27788 (datehook_mod_SOURCES): Likewise.
27789 (datehook_mod_CFLAGS): Likewise.
27790 (datehook_mod_LDFLAGS): Likewise.
27791 * conf/sparc64-ieee1275.rmk: Likewise.
27792 * lib/ieee1275/datetime.c: New file.
27793
873ccae6
VS
277942010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27795
27796 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27797 (ieee1275_fb_mod_SOURCES): New variable.
27798 (ieee1275_fb_mod_CFLAGS): Likewise.
27799 (ieee1275_fb_mod_LDFLAGS): Likewise.
27800 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27801 New proto.
27802 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27803 (HEAP_MAX_ADDR): Likewise.
27804 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27805 type.
27806 Correct stop condition.
27807 (grub_ieee1275_devices_iterate): New function.
27808 * video/ieee1275.c: New file.
27809
601c97c0
VS
278102010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27811
27812 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27813
27814 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27815 as scratch.
27816 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27817 SCRATCH_PAD_DISKBOOT as scratch.
27818 (bootit): Pass Openfirmware pointer in %o4.
27819 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27820 of 0x200000.
27821 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27822 with util/grub-mkrawimage.c.
27823 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27824 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27825 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27826 (grub_aout_load) [GRUB_UTIL]: Likewise.
27827 * include/grub/kernel.h (grub_modules_get_end): New proto.
27828 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27829 (SCRATCH_PAD_BOOT): New definition.
27830 (SCRATCH_PAD_DISKBOOT): Likewise.
27831 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27832 * include/grub/sparc64/ieee1275/ieee1275.h
27833 (grub_ieee1275_original_stack): New variable
27834 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27835 New definition
27836 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27837 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27838 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27839 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27840 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27841 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27842 (grub_platform_image_format_t): New type.
27843 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27844 * kern/main.c (grub_modules_get_end)
27845 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27846 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27847 (codestart): Switch stacks.
27848 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27849 variable.
27850 (grub_heap_init): Use grub_modules_get_end.
27851 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27852 stack.
27853 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27854 (main): Likewise.
27855 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27856
d68b491e
TG
278572010-03-14 Thorsten Glaser <tg@mirbsd.org>
27858
27859 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27860
4e02ed50
MK
278612010-03-08 Matt Kraai <kraai@ftbfs.org>
27862
27863 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27864 bug #559005).
27865
1f15fc1e
VS
278662010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27867
27868 * genmoddep.awk: Output all missing symbols and not only first.
27869
fce5d8ff
VS
278702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27871
27872 * NEWS: Put the date of 1.98 release.
27873
d1e8a02f
VS
278742010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27875
27876 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27877 ft2build.h.
27878
696fd607
VS
278792010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27880
27881 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27882 completition in the middle of string.
27883
33e2e6f3
VS
278842010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27885
27886 * util/grub-mkrescue.in: Use mktemp with explicit template.
27887
b1f6d291
VS
278882010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27889
27890 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27891
2ac227c7
VS
278922010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27893
27894 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27895 right pointer.
27896
8f9a632b
VS
278972010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27898
27899 Fix FreeBSD compilation.
27900
27901 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27902 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27903
60b03859
VS
279042010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27905
27906 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27907
48a5a769
VS
279082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27909
27910 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27911
3ab4bd77
VS
279122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27913
27914 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27915
d116e0d8
RM
279162010-03-04 Robert Millan <rmh.grub@aybabtu.com>
27917
27918 Support relative image path in theme file.
27919
27920 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
27921 (image_set_property): Handle theme_dir and relative path.
27922
c7ef54aa
VS
279232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27924
27925 * configure.ac: Alias amd64 to x86_64.
27926
fcee14ed
VS
279272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27928
27929 * NEWS: mention multiboot on EFI.
27930
d0780363
VS
279312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27932
27933 * kern/main.c (grub_load_modules): Handle errors from init functions of
27934 embeded modules.
27935
41168ea4
VS
279362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27937
27938 * normal/autofs.c (autoload_fs_module): Handle errors.
27939
b54d93ac
VS
279402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27941
27942 Disable linux.mod on qemu-mips since it's not functional and leads
27943 to compilation failure.
27944
27945 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
27946 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
27947 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
27948 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
27949 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
27950 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
27951 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
27952 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
27953 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
27954 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
27955 Reported by: BVK Chaitanya
27956
fc8345da
JU
279572010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
27958
27959 * INSTALL: Add gettext as a dependency and add qemu to a new section
27960 "Prerequisites for make-check".
27961
4760f979
CF
279622010-03-04 Christian Franke <franke@computer.org>
27963
27964 * util/grub-pe2elf.c: Add missing include "progname.h".
27965
f209b5b2
VS
279662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27967
27968 * normal/crypto.c (read_crypto_list): Fix a typo.
27969 Reported by: Seth Goldberg.
27970
b4b7be98
VS
279712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27972
27973 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 27974 Reported by: Seth Goldberg.
b4b7be98 27975
c0ee0385
VS
279762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27977
27978 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
27979 ascii.bitmaps.
27980
a8efbf64
VS
279812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27982
27983 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 27984 Reported by: Seth Goldberg.
a8efbf64 27985
08dcd913
VS
279862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27987
27988 * util/i386/efi/grub-install.in: Copy gettext files.
27989
c4d0b332
VS
279902010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27991
27992 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
27993
c6f2fe52
VS
279942010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27995
27996 Wait for user entry basing on presence of output rather than on errors.
27997
27998 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
27999 (grub_install_newline_hook): Likewise.
28000 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28001 * normal/menu.c (show_menu): Check line_counter to determine presence
28002 of output.
28003 * normal/term.c (grub_normal_line_counter): New variable.
28004 (grub_normal_get_line_counter): New function.
28005 (grub_install_newline_hook): Likewise.
28006
5382b1e4
VS
280072010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28008
28009 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28010
5519963b
VS
280112010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28012
28013 * configure.ac: Update version to 1.98.
28014
72b28631
VS
280152010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28016
28017 * util/grub.d/10_linux.in (linux_entry): Don't default to
28018 gfxpayload=keep if Linux doesn't support video handover.
28019
c140a180
VS
280202010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28021
28022 Don't compile video modules on yeeloong since video subsystem is part
28023 of kernel.
28024
28025 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28026 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28027 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28028 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28029 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28030 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28031 * include/grub/bitmap_scale.h: Likewise.
28032 * include/grub/bufio.h: Likewise.
28033 * include/grub/font.h: Likewise.
28034 * include/grub/gfxterm.h: Likewise.
28035 * include/grub/video.h: Likewise.
28036 * include/grub/vbe.h: Don't include video_fb.h.
28037 * video/i386/pc/vbe.c: Include video_fb.h.
28038 * commands/i386/pc/vbetest.c: Include video.h.
28039
a0ca21c2
CW
280402010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28041
28042 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28043 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28044 default entry if GRUB_SAVEDEFAULT=true. This allows using
28045 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28046 saving a new default on every boot.
28047
4a8a763c
VS
280482010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28049
28050 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28051 * normal/term.c (read_terminal_list): Likewise.
28052 * normal/main.c (grub_normal_init_page): Likewise.
28053 (grub_normal_read_line_real): Likewise.
28054
607ffde2
VS
280552010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28056
28057 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28058 memory leak.
28059 Reported by: Seth Goldberg.
28060
2b8fa975
CW
280612010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28062
28063 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28064 duplicate declaration of `start'.
28065
618307dd
VS
280662010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28067
28068 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28069 filename.
28070 Reported by: Georgy Buranov
28071
7dd05b96 280722010-02-20 Carles Pina i Estany <carles@pina.cat>
28073
28074 * util/grub-mkrawimage.c (usage): Change string formatting to
28075 improve gettext.
28076
d1484a42
MRA
280772010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28078
28079 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28080 backspace keys.
28081
42b1d186
VS
280822010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28083
28084 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28085 Reported by: Michael Suchanek.
28086
280872010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28088
28089 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28090 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28091
d9f31a41
VS
280922010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28093
28094 Remove any reference to non-free fonts.
28095
28096 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28097 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28098 uses non-free components.
28099 * font/font.c (grub_font_get_name): Remove example name.
28100 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28101 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28102 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28103 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28104
2793c71e
GB
281052010-02-16 Georgy Buranov <gburanov@gmail.com>
28106
28107 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28108
402e3779
VS
281092010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28110
28111 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28112 Double divisor.
28113 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28114 features.
28115 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28116
0dd1e0dd
VS
281172010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28118
28119 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28120
6fa7cfce
ST
281212010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28122
28123 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28124 * docs/grub.texi (Command-line and menu entry commands): Document play
28125 command.
28126
37c8483b
ST
281272010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28128
28129 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28130 parse arguments as inline tempo and notes. Move code for playing notes
28131 to...
28132 (play): ... new function.
28133
14da0fb7
ST
281342010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28135
28136 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28137 grub_uint16_t instead of short.
28138 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28139 disk from little endian to cpu endianness.
28140
04459e70
ST
281412010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28142
28143 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28144 GRUB_TICKS_PER_SECOND instead of 120.
28145
a0876943
VS
281462010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28147
28148 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28149 escape sequence after \e.
28150
e29f95dc
VS
281512010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28152
28153 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28154 non-ASCII characters.
28155
d27859b2
VS
281562010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28157
28158 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28159 set root in single quotes to prevent \, from being unescaped.
28160
bc028f2f
VS
281612010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28162
28163 Prevent unknown commands from stopping menuentry execution.
28164
28165 * script/execute.c (grub_script_execute_cmdline): Print error after
28166 unknown command.
28167
095f5f82
VS
281682010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28169
28170 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28171 Reported by: Pavel Pisa.
28172
8c717950
VS
281732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28174
28175 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28176
904935c3
VS
281772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28178
28179 Merge grub_ieee1275_map_physical into grub_map and rename to
28180 grub_ieee1275_map
28181
28182 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28183 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28184 Remove.
28185 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28186 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28187 necessary.
28188 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28189
5b59a4e3
VS
281902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28191
28192 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28193 opening and not after.
28194
69e137e8
VS
281952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28196
28197 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28198 constants.
28199
2c0fcc36
VS
282002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28201
28202 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28203 (alloc_phys): Use ALIGN_UP instead of align_addr.
28204
8c6052ce
VS
282052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28206
28207 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28208
17cec782
VS
282092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28210
28211 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28212
e0128bbd
VS
282132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28214
28215 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28216 verbose dprintf.
28217
ca62070b
VS
282182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28219
28220 Fix over-4GiB seek on sparc64.
28221
28222 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28223 Replace pos_i and pos_lo with pos. All users updated.
28224 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28225 New constant.
28226 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28227 Likewise.
28228 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28229 and pos_lo.
28230
bdca2607
VS
282312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28232
28233 * util/grub-mkrawimage.c (main): Call set_program_name.
28234
da278c4d
VS
282352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28236
28237 Properly align 64-bit targets.
28238
28239 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28240 (generate_image): Use ALIGN_ADDR.
28241
b274d734
VS
282422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28243
28244 Properly create cross-endian images.
28245
28246 * include/grub/types.h (grub_host_to_target_addr): New macro
28247 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28248
82da2062
VS
282492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28250
28251 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28252
7cae4377
VS
282532010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28254
28255 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28256
28257 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28258 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28259 (grub_linux_boot): Divide by 64K when on VESA.
28260
65a533e7
VS
282612010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28262
28263 Support GRUB_GFXPAYLOAD_LINUX.
28264
28265 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28266 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28267
dd01d397
VS
282682010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28269
28270 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28271 to show messages instead of discarding them.
28272 Process errors after executing command and not before. Keep old method
28273 too as precaution.
28274
660960d6
VS
282752010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28276
28277 * configure.ac: Check for ft2build.h.
28278
62509f04
VS
282792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28280
28281 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28282
473df63d
VS
282832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28284
28285 * genkernsyms.sh.in: Use TARGET_CC.
28286
c98d2a13
CW
282872010-02-07 Colin Watson <cjwatson@ubuntu.com>
28288
28289 * NEWS: Update.
28290
6e14234c
VS
282912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28292
28293 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28294 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28295 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28296
b255e9cf
YB
282972010-02-07 Yves Blusseau <blusseau@zetam.org>
28298
6e14234c 28299 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28300
98e6959d
VS
283012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28302
28303 Fix warnings in grub-emu when compiling with maximum warning options.
28304
28305 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28306 (grub_arch_modules_addr): Return 0 and not NULL.
28307 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28308 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28309 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28310 of disk to dsk to avoid shadowing.
74e4934e
VS
28311 (find_free_slot): Fix prototype.
28312 * util/getroot.c (grub_util_is_dmraid): Make static.
28313 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28314 Add missing prototype.
28315 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28316
74e31b5c
VS
283172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28318
28319 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28320 appropriately.
28321
6b2ad14b
VS
283222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28323
28324 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28325 code out.
28326
8f891adc
VS
283272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28328
28329 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28330 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28331 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28332 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28333 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28334 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28335
74b45184
VS
283362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28337
28338 * include/grub/err.h (grub_err_printf): Don't export.
28339
a4bced77
VS
283402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28341
28342 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28343
007d0695
VS
283442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28345
28346 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28347 * kern/misc.c (grub_gettext_dummy): Make static.
28348
b6c0d9c2
VS
283492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28350
28351 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28352 by non-valid ones.
28353 * kern/term.c (grub_putchar): Likewise.
28354
f51a90d0
VS
283552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28356
28357 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28358 buggy hook call and memory leak.
28359
6846cec5
VS
283602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28361
28362 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28363
468d69fe
VS
283642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28365
28366 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28367
51906b8c
VS
283682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28369
28370 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28371 modevar.
28372 Return grub_errno on allocation error.
28373
09706ce5
VS
283742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28375
28376 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28377
911df80c
YB
283782010-02-06 Yves Blusseau <blusseau@zetam.org>
28379
28380 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28381 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28382
3746a6bc
VS
283832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28384
28385 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28386 non-pxe disk.
28387 (grub_pxefs_open): Likewise.
28388
09706ce5
VS
283892010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28390
28391 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28392 * util/grub.d/10_kfreebsd.in: Likewise.
28393 * util/grub.d/10_linux.in: Likewise.
28394
7cc192d9
VS
283952010-02-06 Colin D Bennett <colin@gibibit.com>
28396
28397 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28398 (gfxmenu_mod_SOURCES): New variable.
28399 (gfxmenu_mod_CFLAGS): Likewise.
28400 (gfxmenu_mod_LDFLAGS): Likewise.
28401 * include/grub/term.h (grub_term_set_current_output): Declare
28402 argument as const.
28403 * docs/gfxmenu-theme-example.txt: New file.
28404 * gfxmenu/gfxmenu.c: Likewise.
28405 * gfxmenu/gui_box.c: Likewise.
28406 * gfxmenu/gui_canvas.c: Likewise.
28407 * gfxmenu/gui_circular_progress.c: Likewise.
28408 * gfxmenu/gui_image.c: Likewise.
28409 * gfxmenu/gui_label.c: Likewise.
28410 * gfxmenu/gui_list.c: Likewise.
28411 * gfxmenu/gui_progress_bar.c: Likewise.
28412 * gfxmenu/gui_string_util.c: Likewise.
28413 * gfxmenu/gui_util.c: Likewise.
28414 * gfxmenu/icon_manager.c: Likewise.
28415 * gfxmenu/model.c: Likewise.
28416 * gfxmenu/named_colors.c: Likewise.
28417 * gfxmenu/theme_loader.c: Likewise.
28418 * gfxmenu/view.c: Likewise.
28419 * gfxmenu/widget-box.c: Likewise.
28420 * include/grub/gfxmenu_model.h: Likewise.
28421 * include/grub/gfxmenu_view.h: Likewise.
28422 * include/grub/gfxwidgets.h: Likewise.
28423 * include/grub/gui.h: Likewise.
28424 * include/grub/gui_string_util.h: Likewise.
28425 * include/grub/icon_manager.h: Likewise.
28426
284272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28428
28429 Agglomerate scrolling in gfxterm.
28430
28431 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28432 (grub_virtual_screen_setup): Initialise 'total_screen'.
28433 (write_char): Split to ...
28434 (paint_char): ... this ...
28435 (write_char): ... and this.
28436 (paint_char): Handle delayed scrolling.
28437 (draw_cursor): Likewise.
28438 (scroll_up): Split to ...
28439 (real_scroll): ... this ...
28440 (scroll_up): ... and this.
28441 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28442 characters.
28443 (grub_gfxterm_refresh): Call real_scroll.
28444
284452010-02-06 Colin D Bennett <colin@gibibit.com>
28446
28447 * include/grub/misc.h (grub_iscntrl): New inline function.
28448 (grub_isalnum): Likewise.
28449 (grub_strtol): Likewise.
28450
284512010-02-06 Colin D Bennett <colin@gibibit.com>
28452
28453 * normal/menu_text.c (get_entry_number): Move from here ...
28454 * normal/menu.c (get_entry_number): ... moved here.
28455 * include/grub/menu.h (grub_menu_get_default_entry_index):
28456 New prototype.
28457 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28458 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28459 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28460 (grub_menu_viewer_should_return): Likewise.
28461 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28462 * normal/menu_text.c (run_menu): Enable menu switching.
28463 * normal/menu_viewer.c (should_return): New variable.
28464 (menu_viewer_changed): Likewise.
28465 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28466 (grub_menu_viewer_should_return): New function.
28467 (menuviewer_write_hook): Likewise.
28468 (grub_menu_viewer_init): Likewise.
28469
284702010-02-06 Colin D Bennet <colin@gibibit.com>
284712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28472
28473 Support for gfxterm in a window.
28474
28475 * include/grub/gfxterm.h: New file.
28476 * include/grub/video.h (struct grub_video_rect): New declaration.
28477 (grub_video_rect_t): Likewise.
28478 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28479 (refcount): New variable.
28480 (render_target): Likewise.
28481 (window): Likewise.
28482 (repaint_callback): Likewise.
28483 (grub_virtual_screen_setup): Use 'render_target'.
28484 (init_window): New function.
28485 (grub_gfxterm_init_window): Likewise.
28486 (grub_gfxterm_init): Check reference counter.
28487 Use init_window.
28488 (destroy_window): New function.
28489 (grub_gfxterm_destroy_window): Likewise.
28490 (grub_gfxterm_fini): Check reference counter.
28491 Use destroy_window.
28492 (redraw_screen_rect): Restore viewport.
28493 Use 'render_target' and 'window'.
28494 Call 'repaint_callback'.
28495 (write_char): Use 'render_target'.
28496 (draw_cursor): Likewise.
28497 (scroll_up): Restore viewport.
28498 Use 'render_target' and 'window'.
28499 Call 'repaint_callback'.
28500 (grub_gfxterm_cls): Likewise.
28501 (grub_gfxterm_refresh): Use 'window'.
28502 (grub_gfxterm_set_repaint_callback): New function.
28503 (grub_gfxterm_background_image_cmd): Use 'window'.
28504 (grub_gfxterm_get_term): New function.
28505 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28506
285072010-02-06 Colin D Bennett <colin@gibibit.com>
28508
28509 Bitmap scaling support.
28510
28511 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28512 (bitmap_scale_mod_SOURCES): New variable.
28513 (bitmap_scale_mod_CFLAGS): Likewise.
28514 (bitmap_scale_mod_LDFLAGS): Likewise.
28515 * include/grub/bitmap_scale.h: New file.
28516 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28517 (background_image_cmd_options): New variable.
28518 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28519 (cmd): Rename and change type to ...
28520 (background_image_cmd_handle): ... this. All users updated.
28521 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28522 * video/bitmap_scale.c: New file.
28523
285242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28525
28526 SDL support.
28527
28528 * Makefile.in (LIBSDL): New variable.
28529 (enable_grub_emu_sdl): Likewise.
28530 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28531 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28532 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28533 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28534 * util/sdl.c: New file.
28535
285362010-02-06 Colin D Bennett <colin@gibibit.com>
285372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28538
28539 Double buffering support.
28540
28541 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28542 * include/grub/video.h: Update comment.
28543 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28544 New type.
28545 (grub_video_fb_doublebuf_blit_init): New prototype.
28546 * term/gfxterm.c (scroll_up): Support double buffering.
28547 (grub_gfxterm_refresh): Likewise.
28548 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28549 (grub_video_fb_doublebuf_blit_init): Likewise.
28550 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28551 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28552 'displayed_page', 'render_page' and 'update_screen'.
28553 (grub_video_vbe_fini): Free offscreen buffer.
28554 (doublebuf_pageflipping_commit): New function.
28555 (doublebuf_pageflipping_update_screen): Likewise.
28556 (doublebuf_pageflipping_init): Likewise.
28557 (double_buffering_init): Likewise.
28558 (grub_video_vbe_setup): Enable doublebuffering.
28559 (grub_video_vbe_swap_buffers): Implement.
28560 (grub_video_vbe_set_active_render_target): Handle double buffering.
28561 (grub_video_vbe_get_active_render_target): Likewise.
28562 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28563 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28564 (grub_video_vbe_enable_double_buffering): Likewise.
28565 (grub_video_vbe_swap_buffers): Use update_screen.
28566 (grub_video_set_mode): Use double buffering.
28567
285682010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28569
28570 * maintainance/gentrigtables.py: Remove.
28571 * lib/trig.c: Likewise.
28572
28573 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28574
28575 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28576 `trigtables.c'.
28577 (trigtables.c): New rule.
28578 (gentrigtables): Likewise.
28579 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28580
285812010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28582
28583 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28584 integer constants.
28585
285862010-02-06 Colin D Bennet <colin@gibibit.com>
28587
28588 Trigonometry support.
28589
28590 * include/grub/trig.h: New file.
28591 * lib/trig.c: Likewise.
28592 * maintainance/gentrigtables.py: Likewise.
28593 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28594 (trig_mod_SOURCES): New variable.
28595 (trig_mod_CFLAGS): Likewise.
28596 (trig_mod_LDFLAGS): Likewise.
28597
5562834e
VS
285982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28599
28600 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28601 disk devices.
28602
4f8528fc
VS
286032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28604
28605 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28606 error.
28607
2b4068e9
VS
286082010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28609
28610 * util/hostdisk.c (open_device): Don't use partition device when reading
28611 before the partition.
28612 (grub_util_biosdisk_read): Don't read from partition and before the
28613 partition in single operation.
28614 (grub_util_biosdisk_write): Don't write to partition and before the
28615 partition in single operation.
28616
399f6e4d
TL
286172010-02-03 Torsten Landschoff <torsten@debian.org>
28618
28619 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28620 last sectors.
28621
996649b0
VS
286222010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28623
28624 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28625 CDROM reads.
28626 (grub_biosdisk_write): Refuse to write to CDROM.
28627
3b205d4d
VS
286282010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28629
28630 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28631
61e89d9d
VS
286322010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28633
28634 * font/font.c (find_glyph): Check that bmp_idx is available before
28635 using it.
28636 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28637 with (font == NULL).
28638
bf7fcba2
CS
286392010-01-28 Christian Schmitt <chris@ilovelinux.de>
28640
28641 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28642
f45d2663
BC
286432010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28644
28645 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28646 * util/grub-script-check.c (getline): Fix empty lines case.
28647
ec1444e6
RM
286482010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28649
28650 * Makefile.in (check): Exit with fail status when one of the tests
28651 fails.
28652 * tests/example_functional_test.c (example_test): Fix reversed assert.
28653 * tests/example_unit_test.c (example_test): Likewise.
28654
2e1cb9bb
CW
286552010-01-28 Colin Watson <cjwatson@ubuntu.com>
28656
28657 * util/grub.d/10_linux.in: This script does not use any of the
28658 contents of gettext.sh, only the external command `gettext', so stop
28659 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28660 the same prefix as GRUB.)
28661 * util/grub.d/10_kfreebsd.in: Likewise.
28662
63533ab0
VS
286632010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28664
28665 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28666 of the line.
28667
989e1f93
VS
286682010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28669
28670 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28671 last sectors.
28672
e709ebe2
VS
286732010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28674
28675 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28676 having a 4KiB and not 32KiB buffer size.
28677
27dea7ed
RM
286782010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28679
28680 * util/hostfs.c: Include `<errno.h>'.
28681 (grub_hostfs_read): Handle errors from fseeko() and fread().
28682
67667b9c
RM
286832010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28684
28685 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28686 loop when using read hooks on files whose size isn't sector-aligned.
28687
c294d9d8
RM
286882010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28689
28690 Remove unused parameter.
28691
28692 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28693 (grub_iso9660_open): Remove initialization of `data->length'.
28694
af75a9f1
RM
286952010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28696
28697 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28698 memleak conditions.
28699
254e2ce5 287002010-01-27 Carles Pina i Estany <carles@pina.cat>
28701
28702 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28703 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28704
b510928c 287052010-01-26 Carles Pina i Estany <carles@pina.cat>
28706
28707 * util/bin2h.c (usage): Fix warning (space after backslash).
28708
aa2f9dd2 287092010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28710
28711 * font/font.c: Include `grub/fontformat.h.
28712 Remove font file format constants.
28713 (grub_font_load): Use the new macros.
28714 * include/grub/fontformat.h: New file.
28715 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28716 (write_font_pf2): Use the new macros.
28717
94e7e712
RM
287182010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28719
28720 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28721 does.
28722
3973a59a
RM
287232010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28724
28725 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28726
28727 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28728 (_start): Macroify `0x7F'.
28729
28730 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28731 (make_install_device): Use "(pxe)" as fallback prefix when booting
28732 via PXE.
28733
42e0cba3
GS
287342010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28735
28736 * configure.ac: Reset LIBS after check for libgcc symbols.
28737
847effd8
CW
287382010-01-25 Colin Watson <cjwatson@ubuntu.com>
28739
28740 * util/hostdisk.c (open_device): Add trailing newline to debug
28741 message.
28742
ea4a7e35
GS
287432010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28744
28745 * configure.ac: Check for `limits.h'.
28746 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28747
67951a53
RM
287482010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28749
28750 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28751 capitalize error strings.
28752
c273d4ce
ST
287532010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28754
28755 * util/grub.d/10_hurd.in: Add a recovery mode.
28756
69be5b74
VS
287572010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28758
28759 * configure.ac: Check for libgcc symbols with -nostdlib.
28760
fc9e5810
BC
287612010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28762
28763 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28764
4b358c0a
VS
287652010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28766
28767 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28768 stack since heap may be unavailable at that point.
28769 (grub_ofconsole_gotoxy): Likewise.
28770
454fcd1c
VS
287712010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28772
28773 * configure.ac: Check for _restgpr_14_x.
28774 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28775 and _savegpr_* prototypes.
28776
566863ca
RM
287772010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28778
28779 Use generic grub_reboot() for i386-efi.
28780
28781 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28782 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28783 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28784
bf86e59a
VS
287852010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28786
28787 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28788 presence of "prefix" variable as it breaks when normal.mod is
28789 embedded.
28790
d645e0f8
VS
287912010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28792
28793 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28794 stack since heap is unavailable at that point.
28795
f9ab2e25
VS
287962010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28797
28798 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28799 (grub_freebsd_bootinfo): Rewritten.
28800 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28801
01fc7054
VS
288022010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28803
28804 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28805
caab4fd6
RM
288062010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28807
28808 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28809 domain now.
28810
67eb1427
FZ
288112010-01-20 Felix Zielcke <fzielcke@z-51.de>
28812
28813 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28814 around for handling "/" to the correct fix. Fix a memory leak. Use
28815 xstrdup instead of strdup.
28816
a9ed4ff3
VS
288172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28818
28819 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28820
288212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
28822
28823 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28824
28825 * font/font.c (struct grub_font): New member 'bmp_idx'.
28826 (font_init): Initialise 'bmp_idx'.
28827 (load_font_index): Fill 'bmp_idx'.
28828 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28829
48209f4f
VS
288302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28831
28832 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28833 unnecessary calls.
28834
9f0a4bb7
VS
288352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28836
28837 Move context handling out of the kernel.
28838
28839 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28840 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28841 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28842 * conf/i386-efi.rmk: Likewise.
28843 * conf/i386-ieee1275.rmk: Likewise.
28844 * conf/i386-pc.rmk: Likewise.
28845 * conf/powerpc-ieee1275.rmk: Likewise.
28846 * conf/sparc64-ieee1275.rmk: Likewise.
28847 * conf/x86_64-efi.rmk: Likewise.
28848 * include/grub/env.h: Include grub/menu.h.
28849 (grub_env_var_type): Removed.
28850 (grub_env_var): Replaced field 'type' with 'global'.
28851 (grub_env_find): New prototype.
28852 (grub_env_context_open): Remove EXPORT_FUNC.
28853 (grub_env_context_close): Likewise.
28854 (grub_env_export): Likewise.
28855 (grub_env_set_data_slot): Removed.
28856 (grub_env_get_data_slot): Likewise.
28857 (grub_env_unset_data_slot): Likewise.
28858 (grub_env_unset_menu): New prototype.
28859 (grub_env_set_menu): Likewise.
28860 (grub_env_get_menu): Likewise.
28861 * include/grub/env_private.h: New file.
28862 * include/grub/normal.h (grub_context_init): New prototype.
28863 (grub_context_fini): Likewise.
28864 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28865 * normal/context.c (grub_cmd_export): ... to here.
28866 * kern/env.c: Include env_private.h.
28867 (HASHSZ): Moved to include/grub/env_private.h.
28868 (grub_env_context): Likewise.
28869 (grub_env_sorted_var): Likewise.
28870 (current_context): Renamed from this ...
28871 (grub_current_context): ...to this. 'static' removed. All users updated.
28872 (grub_env_find): Removed 'static'.
28873 (grub_env_context_open): Moved to normal/context.c.
28874 (grub_env_context_close): Likewise.
28875 (grub_env_export): Likewise.
28876 (mangle_data_slot_name): Removed.
28877 (grub_env_set_data_slot): Likewise.
28878 (grub_env_get_data_slot): Likewise.
28879 (grub_env_unset_data_slot): Likewise.
28880 * kern/main.c (grub_set_root_dev): Don't export root.
28881 It will be done later.
28882 (grub_main): Don't export prefix.
28883 It will be done later.
28884 * normal/context.c: New file.
28885 * normal/main.c (free_menu): Use grub_env_unset_menu.
28886 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28887 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28888 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28889 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28890
8dd35b8c
VS
288912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28892
28893 setpci support.
28894
28895 * commands/setpci.c: New file.
28896 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28897 (setpci_mod_SOURCES): New variable.
28898 (setpci_mod_CFLAGS): Likewise.
28899 (setpci_mod_LDFLAGS): Likewise.
28900
449193d5
VS
289012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28902
28903 Byte-addressable PCI configuration space.
28904
28905 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28906 dword address.
28907 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28908 GRUB_PCI_REG_CACHELINE.
28909 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28910 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28911 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28912 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28913 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28914 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28915 grub_pci_make_address.
28916 (lock_rom_area): Likewise.
28917 * commands/lspci.c (grub_lspci_iter): Use macroses
28918 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
28919 of grub_pci_make_address.
28920 * disk/ata.c (grub_ata_pciinit): Likewise.
28921 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
28922 (GRUB_PCI_REG_VENDOR): Likewise.
28923 (GRUB_PCI_REG_DEVICE): Likewise.
28924 (GRUB_PCI_REG_COMMAND): Likewise.
28925 (GRUB_PCI_REG_STATUS): Likewise.
28926 (GRUB_PCI_REG_REVISION): Likewise.
28927 (GRUB_PCI_REG_CLASS): Likewise.
28928 (GRUB_PCI_REG_CACHELINE): Likewise.
28929 (GRUB_PCI_REG_LAT_TIMER): Likewise.
28930 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
28931 (GRUB_PCI_REG_BIST): Likewise.
28932 (GRUB_PCI_REG_ADDRESSES): Likewise.
28933 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28934 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28935 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28936 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28937 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28938 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28939 (GRUB_PCI_REG_CIS_POINTER): Likewise.
28940 (GRUB_PCI_REG_SUBVENDOR): Likewise.
28941 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
28942 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
28943 (GRUB_PCI_REG_CAP_POINTER): Likewise.
28944 (GRUB_PCI_REG_IRQ_LINE): Likewise.
28945 (GRUB_PCI_REG_IRQ_PIN): Likewise.
28946 (GRUB_PCI_REG_MIN_GNT): Likewise.
28947 (GRUB_PCI_REG_MAX_LAT): Likewise.
28948 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
28949 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
28950 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 28951 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
28952 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
28953 space.
28954
96d73208
RM
289552010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28956
28957 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
28958 can be reliably determined to be supported.
28959
d4484482
RM
289602010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28961
28962 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
28963 that VESA is supported.
28964 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
28965 supported.
28966
00308ecf
VS
289672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28968
28969 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
28970
f66924a4
RM
289712010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28972
28973 * util/misc.c (make_system_path_relative_to_its_root): Work around
28974 special-casing of "/", as previous incarnation of this routine did.
28975
cbca0ada
VS
289762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28977
28978 Fix any-emu compilation.
28979
28980 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
28981 * grub_bin2h_SOURCES: New variable.
28982
34a66d99
RM
289832010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28984
28985 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
28986
94fabf58
RM
289872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28988
28989 * util/grub.d/00_header.in: Fix handling of locale_dir.
28990
02cf98ca
VS
289912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28992
28993 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
28994 as possible unifont location (Gentoo).
28995 Reported by: Alexander Brüning
28996
327dbcd7
VS
289972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28998
28999 Don't try to generate lists for kernel.img.
29000
29001 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29002 (pkglib_MODULES): Remove kernel.img.
29003 (kernel_img_EXPORTS): Removed.
29004 (kernel_img_RELOCATABLE): New variable.
29005 * conf/x86_64-efi.rmk: Likewise.
29006 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29007
ca467290
VS
290082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29009
29010 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29011 grub_xasprintf or grub_snprintf.
29012 (grub_vsprintf): Likewise.
29013 (grub_snprintf): New proto.
29014 (grub_vsnprintf): Likewise.
29015 (grub_xasprintf): Likewise.
29016 (grub_xvasprintf): Likewise.
29017 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29018 (grub_sprintf): Removed.
29019 (grub_vsnprintf): New function.
29020 (grub_snprintf): Likewise.
29021 (grub_xvasprintf): Likewise.
29022 (grub_xasprintf): Likewise.
29023 (grub_vsprintf): Renamed to ...
29024 (grub_vsnprintf_real): ...this. New argument max_len.
29025
aca655fd
BC
290262010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29027
29028 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29029 fix grub-script-check warning.
29030
7ee92c32
VS
290312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29032
29033 * include/grub/font.h (grub_font_load): Fix prototype.
29034
f80927ca
VS
290352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29036
29037 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29038
119c50ea
VS
290392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29040
29041 * include/grub/x86_64/at_keyboard.h: New file.
29042
47d5f3c1
VS
290432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29044
29045 * loader/mips/linux.c: Include missing grub/i18n.h.
29046
55ff5266
RM
290472009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29048
29049 * normal/menu.c (notify_execution_failure): Clarify error message.
29050
c893cc87
RM
290512009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29052
29053 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29054 return value (and revert all return statements). Update users.
29055
917dd370
CW
290562010-01-20 Dan Merillat <debian@dan.merillat.org>
29057
29058 * kern/device.c (grub_device_iterate): Allocate new part_ent
29059 structure based on sizeof (*p) rather than sizeof (p->next), to
29060 account for structure padding.
29061
29062 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29063 disk is NULL, which might happen for LVM physical volumes with no
29064 LVM signature.
29065
d4a4ee57
RM
290662009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29067
29068 * loader/mips/linux.c (grub_cmd_initrd)
29069 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29070
290712009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29072
29073 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29074 (grub_video_video_init, grub_video_bitmap_init)
29075 (grub_font_manager_init, grub_term_gfxterm_init)
29076 (grub_at_keyboard_init): New extern declarations.
29077 (grub_machine_init): Initialize gfxterm and at_keyboard.
29078
29079 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29080
29081 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29082 `gfxterm.mod' into core image.
29083
29084 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29085 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29086 (kernel_img_FORMAT): Copy to ...
29087
29088 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29089 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29090 (kernel_img_FORMAT): ... here, and ...
29091
29092 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29093 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29094 (kernel_img_FORMAT): ... here.
29095
29096 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29097 and input (at_keyboard) terminals in kernel.
29098 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29099
29100 (pkglib_MODULES): Remove `pci.mod'.
29101 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29102 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29103 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29104 (at_keyboard_mod_LDFLAGS): Remove variables.
29105
291062010-01-11 Felix Zielcke <fzielcke@z-51.de>
29107
29108 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29109
291102009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29111
29112 * include/grub/mips/libgcc.h: Only export symbols for functions
29113 that libgcc provides.
29114
291152009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29116
29117 MIPS support.
29118
29119 * bus/bonito.c: New file.
29120 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29121 GRUB_PCI_NUM_DEVICES.
29122 * term/i386/pc/serial.c: Move to ...
29123 * term/serial.c: ... here. All users updated.
29124 * util/i386/pc/grub-mkimage.c: Move to ...
29125 * util/grub-mkrawimage.c: ... here. All users updated.
29126 * term/i386/pc/at_keyboard.c: Move to ...
29127 * term/at_keyboard.c: ... here. All users updated.
29128 * conf/mips-qemu-mips.rmk: New file.
29129 * conf/mips-yeeloong.rmk: Likewise.
29130 * conf/mips.rmk: Likewise.
29131 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29132 mipsel-qemu-mips.
29133 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29134 to port addresses.
29135 (grub_ata_pciinit): Support CS5536.
29136 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29137 * font/font_cmd.c (loadfont_command): Open file before passing it to
29138 grub_font_load.
29139 (pseudo_file_read): New function.
29140 (pseudo_file_close): Likewise.
29141 (pseudo_fs): New structure.
29142 (load_font_module): New function.
29143 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29144 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29145 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29146 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29147 * include/grub/i386/at_keyboard.h: Split into ...
29148 * include/grub/at_keyboard.h: ... this ...
29149 * include/grub/i386/at_keyboard.h: ... and this.
29150 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29151 New prototype.
29152 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29153 updated.
29154 (grub_elf64_size): Likewise.
29155 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29156 filename.
29157 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29158 * include/grub/i386/coreboot/serial.h: Rewritten.
29159 * include/grub/i386/ieee1275/serial.h: Include
29160 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29161 * include/grub/i386/pc/serial.h: Moved from here ...
29162 * include/grub/serial.h: ... to here. All users updated.
29163 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29164 (GRUB_PCI_NUM_BUS): Likewise.
29165 (GRUB_PCI_NUM_DEVICES): Likewise.
29166 (grub_pci_device_map_range): Add missing volatile keyword.
29167 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29168 * include/grub/mips/at_keyboard.h: New file.
29169 * include/grub/mips/cache.h: Likewise.
29170 * include/grub/mips/io.h: Likewise.
29171 * include/grub/mips/kernel.h: Likewise.
29172 * include/grub/mips/libgcc.h: Likewise.
29173 * include/grub/mips/pci.h: Likewise.
29174 * include/grub/mips/qemu-mips/boot.h: Likewise.
29175 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29176 * include/grub/mips/qemu-mips/loader.h: Likewise.
29177 * include/grub/mips/qemu-mips/memory.h: Likewise.
29178 * include/grub/mips/qemu-mips/serial.h: Likewise.
29179 * include/grub/mips/qemu-mips/time.h: Likewise.
29180 * include/grub/mips/relocator.h: Likewise.
29181 * include/grub/mips/time.h: Likewise.
29182 * include/grub/mips/types.h: Likewise.
29183 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29184 * include/grub/mips/yeeloong/boot.h: Likewise.
29185 * include/grub/mips/yeeloong/kernel.h: Likewise.
29186 * include/grub/mips/yeeloong/loader.h: Likewise.
29187 * include/grub/mips/yeeloong/memory.h: Likewise.
29188 * include/grub/mips/yeeloong/pci.h: Likewise.
29189 * include/grub/mips/yeeloong/serial.h: Likewise.
29190 * include/grub/mips/yeeloong/time.h: Likewise.
29191 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29192 * kern/elf.c (grub_elf32_size): New parameter. All users
29193 updated.
29194 (grub_elf64_size): Likewise.
29195 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29196 Load modules before saying "Welcome to GRUB!".
29197 Call grub_refresh after saying "Welcome to GRUB!".
29198 * kern/mips/cache.S: New file.
29199 * kern/mips/cache_flush.S: Likewise.
29200 * kern/mips/dl.c: Likewise.
29201 * kern/mips/init.c: Likewise.
29202 * kern/mips/qemu-mips/init.c: Likewise.
29203 * kern/mips/startup.S: Likewise.
29204 * kern/mips/yeeloong/init.c: Likewise.
29205 * kern/term.c (grub_putcode): Handle NULL terminal.
29206 (grub_getcharwidth): Likewise.
29207 (grub_getkey): Likewise.
29208 (grub_checkkey): Likewise.
29209 (grub_getkeystatus): Likewise.
29210 (grub_getxy): Likewise.
29211 (grub_getwh): Likewise.
29212 (grub_gotoxy): Likewise.
29213 (grub_cls): Likewise.
29214 (grub_setcolorstate): Likewise.
29215 (grub_setcolor): Likewise.
29216 (grub_getcolor): Likewise.
29217 (grub_refresh): Likewise.
29218 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29219 (write_jump): Add hatch nop.
29220 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29221 * lib/mips/setjmp.S: New file.
29222 * loader/mips/linux.c: Likewise.
29223 * term/i386/pc/at_keyboard.c: Move from here ...
29224 * term/at_keyboard.c: ... to here.
29225 * term/i386/pc/serial.c: Moved from here ...
29226 * term/serial.c: ... to here. All users updated.
29227 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29228 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29229 (serial_translate_key_sequence): Avoid deadlock.
29230 (grub_serial_getkey): Handle backspace.
29231 (grub_serial_putchar): Fix newline handling.
29232 * util/i386/pc/grub-mkimage.c: Move from here ...
29233 * util/grub-mkrawimage.c: ... to here. All users updated.
29234 (generate_image): New parameters 'font_path' and 'format'.
29235 Support embedding font.
29236 Use grub_host_to_target* instead of grub_cpu_to_le*.
29237 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29238 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29239 (options): New option "--font".
29240 (usage): Likewise.
29241 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29242 (main): Handle "--font".
29243 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29244 (grub_virtual_screen_setup): Set bg_color_display.
29245 (redraw_screen_rect): Use bg_color_display instead of incorrect
29246 bg_color.
29247 (grub_gfxterm_cls): Likewise.
29248 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29249 Support embedding config file.
29250 (add_segments): Likewise.
29251 (options): New option "--config".
29252 (main): Handle "--config".
29253 * video/sm712.c: New file.
29254
25c2b5b3
RM
292552010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29256
29257 Fix parallel builds.
29258
29259 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29260 font.c depend on ascii.h).
29261
292622010-01-12 Carles Pina i Estany <carles@pina.cat>
29263
29264 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29265
292662010-01-11 Carles Pina i Estany <carles@pina.cat>
29267
29268 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29269 By default: disabled.
29270 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29271 parameter.
29272
292732010-01-10 Carles Pina i Estany <carles@pina.cat>
29274
29275 * font/font.c: Update copyright years.
29276 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29277
292782010-01-10 Carles Pina i Estany <carles@pina.cat>
29279
29280 * font/font.c: Include `ascii.h'.
29281 (ASCII_BITMAP_SIZE): New macro.
29282 (ascii_font_glyph): Define.
29283 (ascii_glyph_lookup): New function.
29284 (grub_font_get_string_width): Change comment. If glyph not found, use
29285 ascii_glyph_lookup.
29286 (grub_font_get_glyph_with_fallback): If glyph not available returns
29287 ascii_glyph_lookup.
29288 * util/grub-mkfont.c (file_formats): New enum.
29289 (options): Add `ascii-bitmaps' new option.
29290 (usage): Add `asii-bitmaps' new option.
29291 (write_font_ascii_bitmap): New function.
29292 (write_font): Rename to ...
29293 (write_font_p2): ... this. Remove print_glyphs call.
29294 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29295 used. Call print_glyphs.
29296 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29297
292982010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29299
29300 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29301 (grub_bin2h_SOURCES): New variable.
29302 * util/bin2h.c: New file.
29303
915fc1b8
VS
293042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29305
29306 * include/multiboot.h: Resynced with spec.
29307 * include/multiboot2.h: Likewise.
29308 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29309 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29310
9444b678
RM
293112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29312
29313 * include/grub/term.h (grub_term_register_input,
29314 grub_term_register_output): Check return of terminal init()
29315 routines, and abort if errors are raised.
29316
29317 * commands/terminal.c: Update copyright year.
29318
cba98e8d
RM
293192010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29320
29321 * commands/terminal.c (grub_cmd_terminal_input)
29322 (grub_cmd_terminal_output): Check return of terminal init()
29323 routines, and abort if errors are raised.
29324
6f7db5d6
VS
293252010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29326
29327 * include/grub/i386/bsd.h: Fix include pathes.
29328
262bff8d
VS
293292010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29330
29331 Add missing *BSD copyright headers.
29332
29333 * include/grub/aout.h: Add BSD licence.
29334 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29335 * include/grub/i386/freebsd_linker.h: ... here,
29336 * include/grub/i386/freebsd_reboot.h: ... here,
29337 * include/grub/i386/netbsd_bootinfo.h: ... here,
29338 * include/grub/i386/netbsd_reboot.h: ... here,
29339 * include/grub/i386/openbsd_bootarg.h: ... here,
29340 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29341 licence to each file.
29342
b2cab848
RM
293432010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29344
29345 * acinclude.m4: Remove `nop' assembly instruction; it's not
29346 implemented by all architectures.
29347
2cb6be4b
RM
293482010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29349
29350 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29351 ELILO. This is no longer necessary.
29352
a2eaee15
BC
293532010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29354
29355 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29356
29357 * util/grub-script-check.c: grub-script-check tool.
29358 * conf/common.rmk: Make rules for grub-script-check.
29359
88d17012
RM
293602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29361
29362 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29363 spotting it back in 2008. Shame on me for forgetting he did.
29364
29365 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29366
8040619d
RM
293672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29368
29369 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29370 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29371 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29372 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29373 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29374 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29375
a0c2a0f6
RM
293762010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29377
29378 * include/grub/test.h: Add license header.
29379 * tests/example_functional_test.c: Likewise.
29380 * tests/example_unit_test.c: Likewise.
29381 * tests/lib/functional_test.c: Likewise.
29382 * tests/lib/test.c: Likewise.
29383 * tests/lib/unit_test.c: Likewise.
29384
b0b13907
VS
293852010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29386
29387 Use flag-based instead of hook-based video mode selection and "auto"
29388 keyword.
29389
29390 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29391 (grub_video_set_mode): Changed prototype. All users updated.
29392 (grub_video_check_mode_flag): New inline function.
29393 * video/video.c (parse_modespec): New function.
29394 (grub_video_set_mode): Parse flags and keywords.
29395
ea379330 293962010-01-17 Carles Pina i Estany <carles@pina.cat>
29397
29398 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29399 fprintf call.
29400
e15c215e
FZ
294012010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29402
29403 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29404
409ae1c9 294052010-01-16 Carles Pina i Estany <carles@pina.cat>
29406
29407 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29408 string.
29409 * util/grub-emu.c (usage): Likewise.
29410 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29411 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29412 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29413 * util/i386/pc/grub-setup.c (usage): Likewise.
29414
70a14d3d 294152010-01-16 Carles Pina i Estany <carles@pina.cat>
29416
29417 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29418 the message.
29419 (grub_util_info): Likewise.
29420 (grub_util_error): Likewise.
29421 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29422 and/or new lines in `grub_util_warna', `grub_util_info',
29423 `grub_util_error' calls.
29424 * util/getroot.c: Likewise.
29425 * util/grub-editenv.c: Likewise.
29426 * util/grub-emu.c: Likewise.
29427 * util/grub-fstest.c: Likewise.
29428 * util/grub-mkdevicemap.c: Likewise.
29429 * util/grub-mkfont.c: Likewise.
29430 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29431 * util/grub-mkrelpath.c: Likewise.
29432 * util/grub-pe2elf.c: Likewise.
29433 * util/grub-probe.c: Likewise.
29434 * util/hostdisk.c: Likewise.
29435 * util/i386/efi/grub-mkimage.c: Likewise.
29436 * util/i386/pc/grub-mkimage.c: Likewise.
29437 * util/i386/pc/grub-setup.c: Likewise.
29438 * util/ieee1275/ofpath.c: Likewise.
29439 * util/mkisofs/eltorito.c: Likewise.
29440 * util/mkisofs/rock.c: Likewise.
29441 * util/mkisofs/write.c: Likewise.
29442 * util/raid.c: Likewise.
29443 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29444 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29445
a0b766fc
VS
294462010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29447
29448 Enable multiboot on non-pc.
29449
29450 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29451 multiboot.mod and multiboot2.mod to ...
29452 * conf/i386.rmk (pkglib_MODULES): ... here.
29453 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29454 Moved to ...
29455 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29456 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29457 Moved to ...
29458 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29459 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29460 Moved to ...
29461 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29462 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29463 Moved to ...
29464 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29465 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29466 relocator.mod.
29467 (ata_mod_SOURCES): Removed.
29468 (ata_mod_CFLAGS): Likewise.
29469 (ata_mod_LDFLAGS): Likewise.
29470 (relocator_mod_SOURCES): Removed.
29471 (relocator_mod_CFLAGS): Likewise.
29472 (relocator_mod_ASFLAGS): Likewise.
29473 (relocator_mod_LDFLAGS): Likewise.
29474 Include i386.mk.
29475 * include/grub/x86_64/multiboot.h: New file.
29476 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29477 Terminate EFI.
29478
884ade56
VS
294792010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29480
29481 Video multiboot support.
29482
29483 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29484 New prototype.
29485 * include/multiboot.h: Resynced with multiboot specification.
29486 * include/multiboot2.h: Likewise.
29487 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29488 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29489 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29490 (HAS_VGA_TEXT): Likewise.
29491 (accepts_video): New variable.
29492 (grub_multiboot_set_accepts_video): New function.
29493 (grub_multiboot_get_mbi_size): Account for video structures.
29494 (set_video_mode): New function.
29495 (retrieve_video_parameters): Likewise.
29496 (grub_multiboot_make_mbi): Fill video fields.
29497
0d90e8a6
VS
294982010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29499
29500 Video driver ids.
29501
29502 * include/grub/video.h (grub_video_driver_id): New type.
29503 (grub_video_adapter): New member 'id'. All users updated.
29504 (grub_video_get_driver_id): New proto.
29505 * video/video.c (grub_video_get_driver_id): New function.
29506
5c71db1b 295072010-01-14 Carles Pina i Estany <carles@pina.cat>
29508
29509 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29510 `var=val'.
29511
cca15b52 295122010-01-14 Carles Pina i Estany <carles@pina.cat>
29513
29514 * normal/cmdline.c (print_completion): Gettextizze.
29515
c586fbb2 295162001-01-14 Carles Pina i Estany <carles@pina.cat>
29517
29518 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29519
ba2f6848 295202010-01-14 Carles Pina i Estany <carles@pina.cat>
29521
29522 * gettext/gettext.c (grub_gettext_translate): Push and pop
29523 grub_errno.
29524 (grub_gettext_delete_list): Change comment style.
29525 * kern/err.c (grub_error): Gettextizze.
29526 (grub_fatal): Gettextizze.
29527
0a46429a
RM
295282010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29529
29530 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29531 (grub_linux16_real_boot): ... this.
29532 * kern/i386/loader.S: Likewise.
29533 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29534 (grub_linux16_boot): New function. Switches to text mode and calls
29535 grub_linux16_real_boot().
29536
29537 * loader/i386/bsd.c: Include `<grub/video.h>'.
29538 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29539 text mode before calling grub_unix_real_boot().
29540
29541 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29542 (grub_multiboot_boot): Switch to text mode before calling
29543 grub_relocator32_boot().
29544
29545 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29546 (grub_chainloader_boot): Switch to text mode before calling
29547 grub_chainloader_real_boot().
29548
d6f93a66
RM
295492010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
295502010-01-05 Colin Watson <cjwatson@ubuntu.com>
29551
29552 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29553 non-empty value.
29554
295552010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
295562010-01-05 Colin Watson <cjwatson@ubuntu.com>
29557
29558 * util/grub.d/00_header.in: Define a "savedefault" function for use
29559 in menu entries.
29560 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29561
295622010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
295632010-01-05 Colin Watson <cjwatson@ubuntu.com>
29564
29565 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29566 saved_entry if boot_once is unset.
29567 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29568 previous saved entry (i.e. grub-reboot).
29569
295702009-12-08 Colin Watson <cjwatson@ubuntu.com>
29571
29572 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29573
295742009-12-08 Colin Watson <cjwatson@ubuntu.com>
29575
29576 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29577 `var=val'.
29578 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29579
295802009-12-08 Colin Watson <cjwatson@ubuntu.com>
29581
29582 * util/grub-reboot.in: Fix --version output.
29583 * util/grub-set-default.in: Likewise.
29584
295852009-12-08 Colin Watson <cjwatson@ubuntu.com>
29586
29587 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29588 blocks.
29589
295902009-12-08 Colin Watson <cjwatson@ubuntu.com>
29591
29592 * util/grub.d/00_header.in: Quote the value assigned to `default',
29593 in case it contains spaces.
29594
295952009-12-08 Colin Watson <cjwatson@ubuntu.com>
29596
29597 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29598 `save_default_entry' call from the macosx case to the linux case.
29599
296002009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
296012009-10-25 Colin Watson <cjwatson@ubuntu.com>
29602
29603 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29604 in `chosen' environment variable.
29605 * normal/menu_text.c (get_entry_number): Check if the variable
29606 matches the title of a menu entry.
29607 (run_menu): Pass menu to get_entry_number.
29608
29609 * util/grub-reboot.in: New file.
29610 * util/grub-set-default.in: New file.
29611 * conf/common.rmk (grub-reboot): New utility.
29612 (grub-set-default): New utility.
29613
29614 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29615 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29616 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29617 move it to `saved_entry' for the next boot. Load environment on
29618 initialisation.
29619 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29620 * util/grub.d/10_hurd.in: Likewise.
29621 * util/grub.d/10_linux.in (linux_entry): Likewise.
29622 * util/grub.d/10_windows.in: Likewise.
29623 * util/grub.d/30_os-prober.in: Likewise.
29624
29625 * util/grub-install.in: Create environment block.
29626 * util/i386/efi/grub-install.in: Likewise.
29627 * util/ieee1275/grub-install.in: Likewise.
29628 * util/sparc64/ieee1275/grub-install.in: Likewise.
29629
0934d184
BC
296302010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29631
29632 Unit testing framework for GRUB.
29633
29634 * Makefile.in: Test framework build rules for 'make check'.
29635 * conf/tests.rmk: Build rules for individual tests and framework.
29636
29637 * include/grub/test.h: Header file for whitebox tests.
29638 * tests/lib/functional_test.c: Framework support for whitebox
29639 functional tests.
29640 * tests/lib/test.c: Common whitebox testing code for unit and
29641 functional tests.
29642 * tests/lib/unit_test.c: Framework support for whitebox unit
29643 tests.
29644
29645 * tests/util/grub-shell-tester.in: Support utility for grub-script
29646 tests.
29647 * tests/util/grub-shell.in: Utility to execute grub-script
29648 commands in a Qemu instance.
29649
29650 * tests/example_functional_test.c: Example whitebox functional
29651 test.
29652 * tests/example_grub_script_test.in: Example grub-script test.
29653 * tests/example_scripted_test.in: Example scripted test.
29654 * tests/example_unit_test.c: Example whitebox unit test.
29655
9c4ffeeb
VS
296562010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29657
29658 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29659 Add loader/i386/multiboot_mbi.c.
29660 (multiboot2_mod_SOURCES): Likewise.
29661 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29662 (multiboot2_mod_SOURCES): Likewise.
29663 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29664 (grub_multiboot_make_mbi): Likewise.
29665 (grub_multiboot_free_mbi): Likewise.
29666 (grub_multiboot_init_mbi): Likewise.
29667 (grub_multiboot_add_module): Likewise.
29668 (grub_multiboot_set_bootdev): Likewise.
29669 * loader/i386/multiboot.c (mbi): Removed.
29670 (mbi_dest): Likewise.
29671 (alloc_mbi): New variable.
29672 (grub_multiboot_payload_size): Removed. All users updated.
29673 (grub_multiboot_pure_size): New variable.
29674 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29675 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29676 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29677 (grub_fill_multiboot_mmap): Likewise.
29678 (grub_multiboot_get_bootdev): Likewise.
29679 (grub_multiboot): Use multiboot_mbi functions.
29680 * loader/i386/multiboot_mbi.c: New file.
29681
17383dfe
VS
296822010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29683
29684 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29685 it would result in module crash.
29686
c1f28820
VS
296872010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29688
29689 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29690 (grub_ofconsole_getwh): Split to ...
29691 (grub_ofconsole_getwh): ... this.
29692 (grub_ofconsole_dimensions): ...and this.
29693 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29694
58655a16
RM
296952010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29696
29697 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29698
10891398
VS
296992010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29700
29701 * loader/i386/pc/multiboot2.c: Removed stalled file.
29702
0b8a223c
VS
297032010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29704
29705 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29706 Reported by: Grégoire Sutre
29707
92ab12b0
RM
297082010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29709
29710 * util/misc.c (canonicalize_file_name): New function.
29711 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29712 instead of realpath().
29713
a788afb6
CW
297142010-01-11 Colin Watson <cjwatson@ubuntu.com>
29715
29716 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29717 and make it clearer that it's optional. Based on confusion
29718 witnessed on IRC.
29719
ffa8e3d2
VS
297202010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29721
29722 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29723 in premature implicit newline.
29724
e9060a9d
VS
297252010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29726
29727 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29728 which resulted in garbled command line at the end of screen.
29729
f0d0c0b7
RM
297302010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29731
29732 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29733 initialization with similar approach as with other Linux loaders.
29734
0e60bae7
RM
297352010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29736
29737 Fix i386-ieee1275 build.
29738
29739 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29740 and grub_term_height() for video_{width,height} initialization.
29741
297422010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29743
29744 Fix grub-emu build.
29745
29746 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29747
cdb3f378
RM
297482010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
297492010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29750
29751 Support for multiple terminals.
29752
29753 * Makefile.in (pkglib_DATA): terminal.lst.
29754 (terminal.lst): New target.
29755 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29756 (GRUB_MOD_INIT(handler)): Likewise.
29757 (GRUB_MOD_FINI(handler)): Likewise.
29758 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29759 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29760 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29761 (grub_cmd_sleep): Use grub_term_save_pos.
29762 * commands/terminal.c: New file.
29763 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29764 commands/terminal.c and lib/charset.c.
29765 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29766 (pkglib_MODULES): Add terminal.mod.
29767 (terminal_mod_SOURCES): New variable.
29768 (terminal_mod_CFLAGS): Likewise.
29769 (terminal_mod_LDFLAGS): Likewise.
29770 * genhandlerlist.sh: Don't handle terminals.
29771 * genmk.rb: Generate terminal-*.lst.
29772 * genterminallist.sh: New file.
29773 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29774 (grub_is_valid_utf8): Likewise.
29775 (grub_utf8_to_ucs4_alloc): Likewise.
29776 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29777 (grub_menu_register_viewer): Changed argument.
29778 (grub_menu_try_text): New proto.
29779 (grub_gfxmenu_try_hook): New declaration.
29780 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29781 (grub_menu_init_page): Additional argument term.
29782 (grub_normal_init_page): Likewise.
29783 (grub_cmdline_get): Arguments simplified.
29784 (grub_utf8_to_ucs4_alloc): Removed.
29785 (grub_print_ucs4): Additional argument term.
29786 (grub_getstringwidth): Likewise.
29787 (grub_print_message_indented): Likewise.
29788 (grub_menu_text_register_instances): New proto.
29789 (grub_show_menu): Likewise.
29790 (read_terminal_list): Likewise.
29791 (grub_set_more): Likewise.
29792 * include/grub/parser.h: Include handler.h.
29793 * include/grub/reader.h: Rewritten.
29794 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29795 (GRUB_TERM_WIDTH): Changed to function.
29796 (GRUB_TERM_HEIGHT): Likewise.
29797 (GRUB_TERM_BORDER_WIDTH): Likewise.
29798 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29799 (GRUB_TERM_NUM_ENTRIES): Likewise.
29800 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29801 (GRUB_TERM_CURSOR_X): Likewise.
29802 (grub_term_input_class): Likewise.
29803 (grub_term_output_class): Likewise.
29804 (grub_term_outputs_disabled): New declaration.
29805 (grub_term_inputs_disabled): Likewise.
29806 (grub_term_outputs): Likewise.
29807 (grub_term_inputs): Likewise.
29808 (grub_term_register_input): Rewritten.
29809 (grub_term_register_output): Likewise.
29810 (grub_term_unregister_input): Likewise.
29811 (grub_term_unregister_output): Likewise.
29812 (FOR_ACTIVE_TERM_INPUTS): New macro.
29813 (FOR_DISABLED_TERM_INPUTS): Likewise.
29814 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29815 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29816 * include/grub/terminfo.h: Add oterm argument to all protypes.
29817 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29818 Use grub_rescue_run.
29819 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29820 All users updated.
29821 * kern/reader.c: Removed. All users updated.
29822 * kern/rescue_reader.c (grub_rescue_init): Removed.
29823 (grub_rescue_reader): Likewise.
29824 (grub_register_rescue_reader): Likewise.
29825 (grub_rescue_run): New function based on kern/reader.c.
29826 * kern/term.c: Adapted for multiterm.
29827 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29828 (grub_is_valid_utf8): Likewise.
29829 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29830 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29831 right terminal.
29832 * loader/i386/linux.c (grub_linux_boot): Likewise.
29833 * normal/auth.c (grub_username_get): New function.
29834 (grub_auth_check_authentication): Use grub_username_get.
29835 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29836 * normal/color.c: Adapt for multiterm.
29837 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29838 (grub_normal_init_page): Additional argument term.
29839 (read_lists): Call read_terminal_lists.
29840 (grub_enter_normal_mode): Call grub_cmdline_run.
29841 Handle grub_normal_exit_level.
29842 (grub_cmd_normal): Make reentrant.
29843 (grub_cmd_normal_exit): New function.
29844 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29845 * normal/menu.c: Adapt for multiterm.
29846 * normal/menu_entry.c: Likewise.
29847 * normal/menu_text.c: Likewise.
29848 * normal/menu_viewer.c: Removed. All users updated.
29849 * normal/term.c: New file.
29850 * util/console.c: Change order of includes to workaround a bug in
29851 ncurses headers.
29852 * term/terminfo.c: New argument oterm on all exported functions.
29853 All users updated.
29854 * util/grub-editenv.c (grub_term_input_class): Removed.
29855 (grub_term_output_class): Likewise.
29856
1a064917
RM
298572010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29858
29859 Make loader output a bit more user-friendly.
29860
29861 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29862 is being loaded. Likewise for the Hurd.
29863
29864 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29865 that kernel of FreeBSD ${version} is being loaded.
29866
29867 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29868 grub_dprintf().
29869 (grub_cmd_initrd): Likewise.
29870 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29871 that Linux ${version} is being loaded. Likewise for initrd.
29872
5ce0a83a 298732010-01-09 Carles Pina i Estany <carles@pina.cat>
29874
29875 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29876
809bbfeb 298772010-01-08 Carles Pina i Estany <carles@pina.cat>
29878
29879 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29880 (GRUB_MOD_INIT): Gettextizze.
29881 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29882 (GRUB_MOD_INIT): Gettextizze.
29883 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29884 (grub_cmd_linux): Capitalise Linux.
29885 (GRUB_MOD_INIT): Gettextizze.
29886 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29887 (grub_cmd_linux): Capitalise Linux.
29888 (GRUB_MOD_INIT): Gettextizze.
29889 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29890 (grub_cmd_linux): Capitalise Linux.
29891 (GRUB_MOD_INIT): Gettextizze.
29892 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29893 (GRUB_MOD_INIT): Gettextizze.
29894 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29895 (grub_cmd_linux): Capitalise Linux.
29896 (GRUB_MOD_INIT): Gettextizze.
29897 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29898 (grub_cpu_xnu_init): Gettextizze.
29899 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29900 (GRUB_MOD_INIT): Gettextizze.
29901 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29902 (GRUB_MOD_INIT): Gettextizze.
29903 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29904 (grub_linux_load64): Capitalise Linux.
29905 (GRUB_MOD_INIT): Gettextizze.
29906 * loader/xnu.c: Include `<grub/i18n.h>'.
29907 (GRUB_MOD_INIT): Gettextizze.
29908 * po/POTFILES: Add `loader/efi/appleloader.c',
29909 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29910 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29911 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29912 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29913 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29914 and `loader/xnu.c'.
29915
b394b2ca
RM
299162010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29917
29918 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
29919
299202010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
29921
29922 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
29923 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
29924 * util/mkisofs/mkisofs.c (main): Readjust --version output.
29925
bc8b32b3
RM
299262010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29927
29928 Reset Multiboot 2 support. New loader implements the draft in
29929 /branches/multiboot2 and shares as much code as possible with the
29930 production Multiboot 1 implementation.
29931
29932 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
29933 * loader/multiboot2.c: Likewise.
29934 * loader/i386/multiboot_helper.S: Likewise.
29935 * include/multiboot2.h: Replace with latest version from the draft
29936 in /branches/multiboot2.
29937
29938 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
29939 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
29940 and `loader/multiboot2.c'.
29941 (pkglib_MODULES): Add `multiboot2.mod'.
29942 (multiboot2_mod_SOURCES): New variable.
29943 (multiboot2_mod_LDFLAGS): Likewise.
29944 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
29945
29946 * conf/i386-pc.rmk: Likewise.
29947
29948 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29949 (multiboot_mod_SOURCES): Remove variable.
29950 (multiboot_mod_LDFLAGS): Likewise.
29951 (multiboot_mod_CFLAGS): Likewise.
29952
29953 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
29954 `<multiboot2.h>' instead of `<multiboot.h>'.
29955 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
29956 (MULTIBOOT_HEADER_MAGIC): New macros.
29957
29958 * loader/multiboot_loader.c (module_version_status): Remove variable.
29959 (find_multi_boot2_header): Remove function.
29960 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
29961 logic. Always check for the Multiboot version we're compiling for.
29962 (grub_cmd_module_loader): Likewise.
29963 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
29964 command instead of `multiboot'.
29965
5d2c52b8
RM
299662010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29967
29968 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
29969 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
29970 all users.
29971
53108d92
RM
299722010-01-07 Robert Millan <rmh.grub@aybabtu.com>
299732010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29974
29975 Fix breakage introduced with previous commit.
29976
29977 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
29978 commands.
29979 * normal/handler.c (read_handler_list): Revert part of previous commit
29980 affecting this file.
29981 * normal/main.c (read_lists): Move read_handler_list() call back to ...
29982 (grub_normal_execute): ... here.
29983
e2e936b2
RM
299842010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29985
29986 Merge prefix-redefinition-fix branch.
29987
29988 * normal/autofs.c (read_fs_list): Make function capable of being
29989 run multiple times, gracefuly replacing the previous data
29990 structures.
29991 * normal/dyncmd.c (read_command_list): Likewise.
29992 * normal/handler.c (read_handler_list): Likewise.
29993 * normal/main.c (read_lists): New function. Calls all the
29994 list reading functions.
29995 (grub_normal_execute): Use read_lists() instead of calling all
29996 list reading functions explicitly. Register read_lists() as a
29997 variable hook attached to ${prefix}.
29998
607a3701
VS
299992010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30000
30001 Merge crypto branch.
30002
30003 * Makefile.in (pkglib_DATA): Add crypto.lst.
30004 (crypto.lst): New target.
30005 * commands/hashsum.c: New file.
30006 * commands/password.c (check_password): Use grub_crypto_memcmp.
30007 * commands/password_pbkdf2.c: New file.
30008 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30009 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30010 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30011 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30012 -I$(srcdir)/lib/libgcrypt_wrap.
30013 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30014 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30015 password_pbkdf2.mod.
30016 (crypto_mod_SOURCES): New variable.
30017 (crypto_mod_CFLAGS): Likewise.
30018 (crypto_mod_LDFLAGS): Likewise.
30019 (hashsum_mod_SOURCES): New variable.
30020 (hashsum_mod_CFLAGS): Likewise.
30021 (hashsum_mod_LDFLAGS): Likewise.
30022 (pbkdf2_mod_SOURCES): New variable.
30023 (pbkdf2_mod_CFLAGS): Likewise.
30024 (pbkdf2_mod_LDFLAGS): Likewise.
30025 (password_pbkdf2_mod_SOURCES): New variable.
30026 (password_pbkdf2_mod_CFLAGS): Likewise.
30027 (password_pbkdf2_mod_LDFLAGS): Likewise.
30028 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30029 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30030 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30031 Include conf/gcry.rmk.
30032 * include/grub/auth.h: Rewritten.
30033 * include/grub/crypto.h: New file.
30034 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30035 * include/grub/normal.h (read_crypto_list): New prototype.
30036 * lib/crypto.c: New file.
30037 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30038 * lib/pbkdf2.c: Likewise.
30039 * normal/auth.c (grub_auth_strcmp): Removed.
30040 (grub_iswordseparator): Likewise.
30041 (grub_auth_strword): Likewise.
30042 (is_authenticated): Use grub_strword.
30043 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30044 and grub_strword. Pass entered password to authentication callback.
30045 * normal/crypto.c: New file.
30046 * normal/main.c: Call read_crypto_list.
30047 * util/grub-mkpasswd-pbkdf2.c: New file.
30048 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30049
42841caa
VS
300502010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30051
30052 Fix descent and ascent calculation.
30053
30054 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30055 (options): New option "asce".
30056 (usage): Likewise.
30057 (add_char): Ignore invalid glyphs for descent calculation.
30058 Calculate ascent from actual content.
30059 (print_glyphs): Use 'asce'.
30060 (write_font): Likewise. Allow ascent override.
30061 (main): Handle "asce" option.
30062
e7730de7 300632010-01-06 Carles Pina i Estany <carles@pina.cat>
30064
30065 * kern/err.c: Include `<grub/i18n.h>'.
30066 (grub_print_error): Add full stop. Gettextizze.
30067 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30068 (grub_bsd_load_elf): Capitalise ELF.
30069 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30070 (grub_cmd_freebsd_module): Likewise.
30071 (grub_cmd_freebsd_module_elf): Likewise.
30072 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30073
40e3a41f 300742010-01-06 Carles Pina i Estany <carles@pina.cat>
30075
30076 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30077 * commands/search_file.c (HELP_MESSAGE): New macro.
30078 * commands/search_label.c (HELP_MESSAGE): Likewise.
30079 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30080 * po/POTFILES: Add `commands/search_file.c',
30081 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30082 `commands/search.c'.
30083
83507e68
RM
300842010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30085
30086 * config.rpath: Update from Gnulib.
30087
465c787b
YB
300882010-01-05 Yves Blusseau <blusseau@zetam.org>
30089
30090 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30091
6581dd3a
YB
300922010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30093
30094 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30095
3bff18c5
CW
300962010-01-05 Colin Watson <cjwatson@ubuntu.com>
30097
30098 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30099 arguments to fread so that we get a return value in bytes, rather
30100 than something that will normally be rounded down to 0.
30101 Adjust error handling to avoid producing garbage when size_t is not
30102 the same size as long long.
30103
a1368118
CW
301042010-01-05 Colin Watson <cjwatson@ubuntu.com>
30105
30106 * util/mkisofs/write.c (padblock_write): Check return value of
30107 fread.
30108
7c302978
RM
301092010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30110
30111 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30112 floppy images now.
30113
30114 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30115
e33ace06
RM
301162010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30117
30118 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30119 instead of manual alignment.
30120 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30121 verbose). Avoid attempts to read past end of the device
30122 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30123 but GRUB_DISK_CACHE_SIZE may exceed that).
30124
4b856776
RM
301252010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30126
30127 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30128 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30129 it to upper layer.
30130
52c2d97f
VS
301312010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30132
30133 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30134 New constant.
30135 (grub_efi_piwg_device_path): New structure
30136 (grub_efi_piwg_device_path_t): New type.
30137 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30138 (devpath_1): Transform to a structure. All users updated.
30139 (devpath_2): Likewise.
30140 (devpath_3): Likewise.
30141 (devpath_4): Likewise.
30142 (devpath_5): Likewise.
30143
98ff6a54
VS
301442010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30145
30146 * loader/efi/appleloader.c: Restored. Update all users.
30147
3a73dcb6
RM
301482010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30149
30150 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30151
30152 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30153 (struct boot_blocklist): Move from here ...
30154 * include/grub/i386/pc/boot.h [ASM_FILE]
30155 (struct grub_boot_blocklist): ... to here. Update all users.
30156 (setup): Only initialize `start' member of `first_block'
30157 structure. Add assert() calls to verify the other members.
30158
30159 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30160 (generate_image): Fix broken blocklist length initialization.
30161 Add assert() call to verify blocklist `segment' field.
30162
ab0eeb0c
RM
301632010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30164
30165 * loader/efi/appleloader.c: Remove. Update all users.
30166
58bc8bd5
RM
301672010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30168
30169 * boot/i386/pc/boot.S: Update copyright year.
30170 * boot/i386/pc/cdboot.S: Likewise.
30171 * boot/i386/pc/diskboot.S: Likewise.
30172 * boot/i386/pc/lnxboot.S: Likewise.
30173 * boot/i386/pc/pxeboot.S: Likewise.
30174 * bus/pci.c: Likewise.
30175 * commands/cmp.c: Likewise.
30176 * commands/help.c: Likewise.
30177 * commands/hexdump.c: Likewise.
30178 * commands/i386/pc/halt.c: Likewise.
30179 * commands/i386/pc/play.c: Likewise.
30180 * commands/i386/pc/vbeinfo.c: Likewise.
30181 * commands/ls.c: Likewise.
30182 * commands/test.c: Likewise.
30183 * disk/dmraid_nvidia.c: Likewise.
30184 * disk/i386/pc/biosdisk.c: Likewise.
30185 * disk/ieee1275/nand.c: Likewise.
30186 * disk/ieee1275/ofdisk.c: Likewise.
30187 * disk/lvm.c: Likewise.
30188 * disk/raid.c: Likewise.
30189 * disk/raid6_recover.c: Likewise.
30190 * disk/scsi.c: Likewise.
30191 * fs/affs.c: Likewise.
30192 * fs/cpio.c: Likewise.
30193 * fs/ext2.c: Likewise.
30194 * fs/hfs.c: Likewise.
30195 * fs/iso9660.c: Likewise.
30196 * fs/ntfs.c: Likewise.
30197 * fs/sfs.c: Likewise.
30198 * fs/udf.c: Likewise.
30199 * fs/ufs.c: Likewise.
30200 * fs/xfs.c: Likewise.
30201 * gencmdlist.sh: Likewise.
30202 * genmk.rb: Likewise.
30203 * include/grub/disk.h: Likewise.
30204 * include/grub/efi/api.h: Likewise.
30205 * include/grub/efi/efi.h: Likewise.
30206 * include/grub/efi/pe32.h: Likewise.
30207 * include/grub/elf.h: Likewise.
30208 * include/grub/fs.h: Likewise.
30209 * include/grub/i386/at_keyboard.h: Likewise.
30210 * include/grub/i386/pc/memory.h: Likewise.
30211 * include/grub/i386/pc/vbe.h: Likewise.
30212 * include/grub/i386/pci.h: Likewise.
30213 * include/grub/i386/tsc.h: Likewise.
30214 * include/grub/ieee1275/ieee1275.h: Likewise.
30215 * include/grub/ntfs.h: Likewise.
30216 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30217 * include/grub/sparc64/libgcc.h: Likewise.
30218 * include/grub/symbol.h: Likewise.
30219 * include/grub/types.h: Likewise.
30220 * include/multiboot2.h: Likewise.
30221 * io/gzio.c: Likewise.
30222 * kern/device.c: Likewise.
30223 * kern/disk.c: Likewise.
30224 * kern/efi/efi.c: Likewise.
30225 * kern/efi/mm.c: Likewise.
30226 * kern/elf.c: Likewise.
30227 * kern/file.c: Likewise.
30228 * kern/i386/dl.c: Likewise.
30229 * kern/i386/pc/init.c: Likewise.
30230 * kern/i386/pc/startup.S: Likewise.
30231 * kern/ieee1275/ieee1275.c: Likewise.
30232 * kern/ieee1275/init.c: Likewise.
30233 * kern/main.c: Likewise.
30234 * kern/mm.c: Likewise.
30235 * kern/powerpc/dl.c: Likewise.
30236 * kern/sparc64/dl.c: Likewise.
30237 * kern/x86_64/dl.c: Likewise.
30238 * lib/hexdump.c: Likewise.
30239 * loader/efi/appleloader.c: Likewise.
30240 * loader/i386/ieee1275/linux.c: Likewise.
30241 * loader/i386/pc/chainloader.c: Likewise.
30242 * loader/i386/pc/linux.c: Likewise.
30243 * loader/i386/pc/multiboot2.c: Likewise.
30244 * loader/ieee1275/multiboot2.c: Likewise.
30245 * loader/multiboot2.c: Likewise.
30246 * loader/multiboot_loader.c: Likewise.
30247 * loader/powerpc/ieee1275/linux.c: Likewise.
30248 * normal/completion.c: Likewise.
30249 * normal/menu_entry.c: Likewise.
30250 * partmap/apple.c: Likewise.
30251 * util/grub.d/10_hurd.in: Likewise.
30252 * util/hostfs.c: Likewise.
30253 * video/readers/png.c: Likewise.
30254
e2d70b5c
CW
302552010-01-03 Colin Watson <cjwatson@ubuntu.com>
30256
30257 * include/grub/misc.h (GNUC_PREREQ): New macro.
30258 (ATTRIBUTE_ERROR): New macro.
30259 * include/grub/list.h (grub_bad_type_cast_real): Use
30260 ATTRIBUTE_ERROR.
30261
a173283f 302622010-01-03 Carles Pina i Estany <carles@pina.cat>
30263
30264 * normal/menu_text.c (print_message): Change messages.
30265
7fa7ff74 302662010-01-03 Carles Pina i Estany <carles@pina.cat>
30267
30268 * normal/menu_entry.c (store_completion): Gettextizze.
30269
136d24f6 302702010-01-03 Carles Pina i Estany <carles@pina.cat>
30271
30272 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30273
f936862e 302742010-01-03 Carles Pina i Estany <carles@pina.cat>
30275
30276 * po/POTFILES: Sort correctly.
30277
29c44ad1 302782010-01-03 Carles Pina i Estany <carles@pina.cat>
30279
30280 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30281 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30282 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30283 full stop.
30284 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30285 summary. Gettextizze the strings.
30286 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30287 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30288 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30289 full stop.
30290 (GRUB_MOD_INIT): Remove command name from summary.
30291 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30292 summary.
30293 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30294 * term/i386/pc/serial.c (options): Add full stops.
30295 (GRUB_MOD_INIT): Remove command name from the summary.
30296
77a79592 302972010-01-03 Carles Pina i Estany <carles@pina.cat>
30298
30299 * commands/acpi.c: Gettextizze help strings and/or options. Include
30300 `grub/i18n.h' if needed.
30301 * commands/blocklist.c: Likewise.
30302 * commands/boot.c: Likewise.
30303 * commands/cat.c: Likewise.
30304 * commands/cmp.c: Likewise.
30305 * commands/configfile.c: Likewise.
30306 * commands/crc.c: Likewise.
30307 * commands/date.c: Likewise.
30308 * commands/echo.c: Likewise.
30309 * commands/efi/fixvideo.c: Likewise.
30310 * commands/efi/loadbios.c: Likewise.
30311 * commands/gptsync.c: Likewise.
30312 * commands/halt.c: Likewise.
30313 * commands/handler.c: Likewise.
30314 * commands/hdparm.c: Likewise.
30315 * commands/hexdump.c: Likewise.
30316 * commands/i386/cpuid.c: Likewise.
30317 * commands/i386/pc/drivemap.c: Likewise.
30318 * commands/i386/pc/halt.c: Likewise.
30319 * commands/i386/pc/pxecmd.c: Likewise.
30320 * commands/i386/pc/vbeinfo.c: Likewise.
30321 * commands/i386/pc/vbetest.c: Likewise.
30322 * commands/ieee1275/suspend.c: Likewise.
30323 * commands/keystatus.c: Likewise.
30324 * commands/loadenv.c: Likewise.
30325 * commands/ls.c: Likewise.
30326 * commands/lsmmap.c: Likewise.
30327 * commands/lspci.c: Likewise.
30328 * commands/memrw.c: Likewise.
30329 * commands/minicmd.c: Likewise.
30330 * commands/parttool.c: Likewise.
30331 * commands/password.c: Likewise.
30332 * commands/probe.c: Likewise.
30333 * commands/read.c: Likewise.
30334 * commands/reboot.c: Likewise.
30335 * commands/search.c: Likewise.
30336 * commands/sleep.c: Likewise.
30337 * commands/test.c: Likewise.
30338 * commands/true.c: Likewise.
30339 * commands/usbtest.c: Likewise.
30340 * commands/videotest.c: Likewise.
30341 * commands/xnu_uuid.c: Likewise.
30342 * disk/loopback.c: Likewise.
30343 * hello/hello.c: Likewise.
30344 * loader/i386/bsd.c: Likewise.
30345 * term/i386/pc/serial.c: Likewise.
30346 * po/POTFILES: Add new files.
30347
da8d5c53
CW
303482010-01-02 Colin Watson <cjwatson@ubuntu.com>
30349
30350 * term/i386/pc/at_keyboard.c
30351 (keyboard_controller_wait_untill_ready): Rename to ...
30352 (keyboard_controller_wait_until_ready): ... this. Update all users.
30353
33937904 303542010-01-01 Carles Pina i Estany <carles@pina.cat>
30355
30356 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30357 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30358 string using string width.
30359 * normal/menu_text.c (grub_print_message_indented): Use
30360 grub_print_spaces and not print_spaces.
30361 (print_timeout): Likewise.
30362 (print_spaces): Move to...
30363 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30364
3fd3b8d8
RM
303652010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30366
30367 Import from Gnulib.
30368
30369 * gnulib/getdelim.c: New file.
30370 * gnulib/getline.c: Likewise.
30371
33433555
VS
303722009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30373
30374 * include/grub/list.h (grub_assert_fail): Removed.
30375 (grub_bad_type_cast_real): New function.
30376 (grub_bad_type_cast): New macro.
30377 (GRUB_AS_LIST): Use grub_bad_type_cast.
30378 (GRUB_AS_LIST_P): Likewise.
e44721e8 30379 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30380 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30381 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30382 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30383 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30384
f5a51306
VS
303852009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30386
30387 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30388 Fix syntax error.
30389
90d1e879
RM
303902009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30391
30392 * configure.ac: Check for TARGET_CFLAGS initialization before we
30393 initialize it ourselves (sigh).
30394 Move a few modifications to TARGET_CFLAGS to be unconditional
30395 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30396 eh_frame)
30397
30398 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30399 * term/i386/pc/at_keyboard.c
30400 (keyboard_controller_wait_untill_ready): Likewise.
30401 (keyboard_controller_led): Rename `led_status' paramter to avoid
30402 name conflict.
30403
465b5a81 304042009-12-28 Carles Pina i Estany <carles@pina.cat>
30405
30406 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30407 quotes.
30408
c181849b
VS
304092009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30410
30411 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30412
9c8739a4
VS
304132009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30414
30415 * normal/menu_text.c (grub_print_message_indented): Prevent
30416 past-the-end-of-array dereference.
30417
3e74249c
VS
304182009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30419
30420 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30421 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30422
64fd18ed 304232009-12-27 Carles Pina i Estany <carles@pina.cat>
30424
30425 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30426 * normal/main.c (grub_normal_read_line): Remove a space from the
30427 default prompt.
30428
714af9b9 304292009-12-27 Carles Pina i Estany <carles@pina.cat>
30430
30431 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30432 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30433 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30434 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30435 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30436 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30437 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30438
82f3e412 304392009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30440
30441 * video/readers/jpeg.c (cmd): Declare.
30442 (grub_cmd_jpegtest): Use `grub_command_t' type.
30443 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30444 Assign to `cmd'.
30445 (GRUB_MOD_FINI): Use `cmd' to unregister.
30446 * video/readers/png.c (cmd): Declare.
30447 (grub_cmd_pngtest): Use `grub_command_t' type.
30448 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30449 Assign to `cmd'.
30450 (GRUB_MOD_FINI): Use `cmd' to unregister.
30451 * video/readers/tga.c (cmd): Declare.
30452 (grub_cmd_tgatest): Use `grub_command_t' type.
30453 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30454 Assign to `cmd'.
30455 (GRUB_MOD_FINI): Use `cmd' to unregister.
30456
82f3e412 304572009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30458
30459 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30460 stops.
30461 * kern/corecmd.c (grub_register_core_commands): Likewise.
30462 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30463 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30464 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30465 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30466 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30467 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30468 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30469 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30470 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30471 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30472 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30473 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30474 * normal/handler.c (insert_handler): Likewise.
30475 * normal/main.c (GRUB_MOD_INIT): Likewise.
30476 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30477
fdcdbb66 304782009-12-26 Carles Pina i Estany <carles@pina.cat>
30479
30480 * commands/help.c (grub_cmd_help): Print the command name before the
30481 summary.
30482 (GRUB_MOD_INIT): Remove command name from the summary.
30483 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30484 string as summary.
fdcdbb66 30485 * lib/arg.c (find_long): Print the command name before the summary.
30486 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30487 summary.
30488 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30489 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30490 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30491 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30492 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30493 * commands/date.c (GRUB_MOD_INIT): Likewise.
30494 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30495 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30496 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30497 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30498 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30499 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30500 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30501 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30502 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30503 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30504 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30505 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30506 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30507 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30508 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30509 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30510 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30511 * commands/password.c (GRUB_MOD_INIT): Likewise.
30512 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30513 * commands/read.c (GRUB_MOD_INIT): Likewise.
30514 * commands/search.c (GRUB_MOD_INIT): Likewise.
30515 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30516 * commands/test.c (GRUB_MOD_INIT): Likewise.
30517 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30518 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30519 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30520 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30521 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30522 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30523 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30524 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30525 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30526 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30527 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30528 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30529 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30530 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30531
9c288be2
VS
305322009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30533
30534 Use search command for preliminar UUID search.
30535
30536 * commands/search.c: Split into ...
30537 * commands/search_wrap.c: ...this
30538 * commands/search.c: ...and this.
30539 * commands/search_file.c: New file.
30540 * commands/search_label.c: New file.
30541 * commands/search_uuid.c: New file.
30542 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30543 Add commands/search_wrap.c, commands/search_file.c,
30544 commands/search_label.c and commands/search_uuid.c.
30545 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30546 (search_mod_SOURCES): Set to commands/search_wrap.c.
30547 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30548 search_label.mod.
30549 (search_fs_file_mod_SOURCES): New variable.
30550 (search_fs_file_mod_CFLAGS): Likewise.
30551 (search_fs_file_mod_LDFLAGS): Likewise.
30552 (search_label_mod_SOURCES): Likewise.
30553 (search_label_mod_CFLAGS): Likewise.
30554 (search_label_mod_LDFLAGS): Likewise.
30555 (search_fs_uuid_mod_SOURCES): New variable.
30556 (search_fs_uuid_mod_CFLAGS): Likewise.
30557 (search_fs_uuid_mod_LDFLAGS): Likewise.
30558 (fs_file_mod_SOURCES): Removed.
30559 (fs_file_mod_CFLAGS): Likewise.
30560 (fs_file_mod_LDFLAGS): Likewise.
30561 (fs_uuid_mod_SOURCES): Removed.
30562 (fs_uuid_mod_CFLAGS): Likewise.
30563 (fs_uuid_mod_LDFLAGS): Likewise.
30564 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30565 Set to util/grub-install.in.
30566 * disk/fs_file.c: Removed.
30567 * disk/fs_uuid.c: Likewise.
30568 * include/grub/search.h: New file.
30569 * util/grub-install.in: Handle sparc64.
30570 Create and use load.cfg.
30571 * util/sparc64/ieee1275/grub-install.in: Removed.
30572
db943399
VS
305732009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30574
30575 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30576 Ignore return status if CF is cleared.
30577 (grub_biosdisk_get_diskinfo_standard): Likewise.
30578
3fdae612
RM
305792009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30580
30581 * term/i386/pc/at_keyboard.c
30582 (keyboard_controller_wait_untill_ready): New function.
30583 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30584 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30585 for keyboard polling, rather than duplicate the same loop. This
30586 saves a few bytes in code size.
30587
7ebaa2b4
VS
305882009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30589
30590 Support for (pxe[:server[:gateway]]) syntax and
30591 use environment variable for PXE.
30592
30593 * commands/i386/pc/pxecmd.c (options): Removed.
30594 (print_ip): Removed.
30595 (grub_cmd_pxe): Removed
30596 (grub_cmd_pxe_unload): New function.
30597 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30598 (grub_pxe_your_ip): Made static.
30599 (grub_pxe_default_server_ip): Likewise.
30600 (grub_pxe_default_gateway_ip): Likewise.
30601 (grub_pxe_blksize): Likewise.
30602 (parse_ip): New function.
30603 (grub_pxe_open): Support server and gateway specification.
30604 (grub_pxe_close): Free disk->data.
30605 (grub_pxefs_open): Use disk->data.
30606 (grub_pxefs_read): Likewise.
30607 (grub_env_write_readonly): New function.
30608 (set_mac_env): Likewise.
30609 (set_env_limn_ro): Likewise.
30610 (parse_dhcp_vendor): Likewise.
30611 (grub_pxe_detect): Set the environment variables.
30612 (set_ip_env): New function.
30613 (write_ip_env): Likewise.
30614 (grub_env_write_pxe_default_server): Likewise.
30615 (grub_env_write_pxe_default_gateway): Likewise.
30616 (grub_env_write_pxe_blocksize): Likewise.
30617 (GRUB_MOD_INIT(pxe)): Set environment variables.
30618 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30619 (grub_pxe_mac_addr_t): ... this. All users updated.
30620 (grub_pxe_your_ip): Removed.
30621 (grub_pxe_server_ip): Likewise.
30622 (grub_pxe_gateway_ip): Likewise.
30623 (grub_pxe_blksize): Likewise.
30624
ec5f98ab 306252009-12-25 Carles Pina i Estany <carles@pina.cat>
30626
30627 * commands/help.c: Include `<grub/i18n.h>'.
30628 (grub_cmd_help): Gettextizze.
30629 (GRUB_MOD_INIT): Likewise.
30630 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30631 (GRUB_MOD_INIT): Gettextizze.
30632 * commands/search.c: Include `<grub/i18n.h>'.
30633 (options): Gettextizze.
30634 (GRUB_MOD_INIT): Gettextizze.
30635 * lib/arg.c: Include `<grub/i18n.h>'.
30636 (help_options): Gettextizze.
30637 (find_long): Likewise.
30638 (grub_arg_show_help): Likewise.
30639 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30640 (read_command_list): Gettextizze.
30641 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30642 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30643
22815526
RM
306442009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30645
30646 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30647 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30648 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30649 (led_status): New variable.
30650 (keyboard_controller_led): New function.
30651 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30652 update led status for caps lock, num lock and scroll lock.
30653
0ad46fd7
FZ
306542009-12-25 Felix Zielcke <fzielcke@z-51.de>
30655
30656 * util/hostdisk.c (open_device): Fix a comment.
30657
d0e158c2
RM
306582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30659
30660 * util/grub-install.in (host_os): New variable.
30661 * util/i386/efi/grub-install.in (host_os): Likewise.
30662
401c0ad6
RM
306632009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30664
30665 * util/mkisofs/write.c (padblock_write): Abort when given an
30666 excedingly large embed image, instead of silently truncating it.
30667
d14d3370
RM
306682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30669
30670 * include/multiboot.h: Indentation fixes.
30671
eeed10b4
RM
306722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30673
30674 * include/multiboot.h (struct multiboot_aout_symbol_table)
30675 (struct multiboot_elf_section_header_table): New structure
30676 declarations (stolen from GRUB Legacy).
30677 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30678 table information.
30679
30680 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30681 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30682 type aliases.
30683
681c70ab
RM
306842009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30685
30686 * include/multiboot.h: Make comments src2texi-friendly.
30687
e4d47d8d
RM
306882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30689
30690 For consistency with [multiboot]/docs/boot.S.
30691
30692 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30693 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30694 (MULTIBOOT_MAGIC2): Rename from this ...
30695 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30696
a0b70bda
RM
306972009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30698
30699 * include/multiboot.h: Remove `<grub/types.h>'.
30700 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30701 types. Update all users.
30702
61ba42be 307032009-12-25 Carles Pina i Estany <carles@pina.cat>
30704
30705 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30706 `couldn't' and `can not' by `cannot'.
30707 * commands/i386/pc/drivemap.c: Likewise.
30708 * disk/ata.c: Likewise.
30709 * disk/ieee1275/nand.c: Likewise.
30710 * fs/affs.c: Likewise.
30711 * fs/fat.c: Likewise.
30712 * fs/hfs.c: Likewise.
30713 * fs/hfsplus.c: Likewise.
30714 * fs/iso9660.c: Likewise.
30715 * fs/jfs.c: Likewise.
30716 * fs/minix.c: Likewise.
30717 * fs/reiserfs.c: Likewise.
30718 * fs/sfs.c: Likewise.
30719 * fs/udf.c: Likewise.
30720 * fs/ufs.c: Likewise.
30721 * fs/xfs.c: Likewise.
30722 * loader/powerpc/ieee1275/linux.c: Likewise.
30723 * loader/sparc64/ieee1275/linux.c: Likewise.
30724 * util/grub-probe.c: Likewise.
30725 * util/misc.c: Likewise.
30726
7fd0baee 307272009-12-24 Carles Pina i Estany <carles@pina.cat>
30728
30729 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30730 grub_errno calls.
30731 * commands/acpi.c: Likewise.
30732 * commands/blocklist.c: Likewise.
30733 * commands/efi/loadbios.c: Likewise.
30734 * commands/i386/pc/drivemap.c: Likewise.
30735 * commands/loadenv.c: Likewise.
30736 * commands/memrw.c: Likewise.
30737 * commands/password.c: Likewise.
30738 * commands/videotest.c: Likewise.
30739 * disk/ata.c: Likewise.
30740 * disk/ata_pthru.c: Likewise.
30741 * disk/dmraid_nvidia.c: Likewise.
30742 * disk/ieee1275/nand.c: Likewise.
30743 * disk/ieee1275/ofdisk.c: Likewise.
30744 * disk/loopback.c: Likewise.
30745 * disk/lvm.c: Likewise.
30746 * disk/mdraid_linux.c: Likewise.
30747 * disk/raid.c: Likewise.
30748 * disk/raid6_recover.c: Likewise.
30749 * disk/scsi.c: Likewise.
30750 * efiemu/main.c: Likewise.
30751 * efiemu/mm.c: Likewise.
30752 * efiemu/pnvram.c: Likewise.
30753 * efiemu/symbols.c: Likewise.
30754 * font/font.c: Likewise.
30755 * fs/cpio.c: Likewise.
30756 * fs/hfsplus.c: Likewise.
30757 * fs/iso9660.c: Likewise.
30758 * fs/jfs.c: Likewise.
30759 * fs/minix.c: Likewise.
30760 * fs/ntfs.c: Likewise.
30761 * fs/ntfscomp.c: Likewise.
30762 * fs/reiserfs.c: Likewise.
30763 * fs/ufs.c: Likewise.
30764 * fs/xfs.c: Likewise.
30765 * gettext/gettext.c: Likewise.
30766 * include/grub/auth.h: Likewise.
30767 * kern/elf.c: Likewise.
30768 * kern/file.c: Likewise.
30769 * kern/ieee1275/init.c: Likewise.
30770 * kern/ieee1275/mmap.c: Likewise.
30771 * kern/ieee1275/openfw.c: Likewise.
30772 * kern/powerpc/dl.c: Likewise.
30773 * kern/sparc64/dl.c: Likewise.
30774 * lib/arg.c: Likewise.
30775 * loader/i386/bsd.c: Likewise.
30776 * loader/i386/bsdXX.c: Likewise.
30777 * loader/i386/efi/linux.c: Likewise.
30778 * loader/i386/efi/xnu.c: Likewise.
30779 * loader/i386/ieee1275/linux.c: Likewise.
30780 * loader/i386/linux.c: Likewise.
30781 * loader/i386/multiboot.c: Likewise.
30782 * loader/i386/pc/linux.c: Likewise.
30783 * loader/i386/pc/multiboot2.c: Likewise.
30784 * loader/i386/xnu.c: Likewise.
30785 * loader/ieee1275/multiboot2.c: Likewise.
30786 * loader/macho.c: Likewise.
30787 * loader/machoXX.c: Likewise.
30788 * loader/multiboot2.c: Likewise.
30789 * loader/multiboot_loader.c: Likewise.
30790 * loader/powerpc/ieee1275/linux.c: Likewise.
30791 * loader/sparc64/ieee1275/linux.c: Likewise.
30792 * loader/xnu.c: Likewise.
30793 * loader/xnu_resume.c: Likewise.
30794 * mmap/i386/pc/mmap.c: Likewise.
30795 * normal/menu_viewer.c: Likewise.
30796 * partmap/acorn.c: Likewise.
30797 * partmap/amiga.c: Likewise.
30798 * partmap/apple.c: Likewise.
30799 * script/lexer.c: Likewise.
30800 * term/gfxterm.c: Likewise.
30801 * term/i386/pc/serial.c: Likewise.
30802 * term/i386/pc/vga.c: Likewise.
30803 * term/ieee1275/ofconsole.c: Likewise.
30804 * term/terminfo.c: Likewise.
30805 * video/bitmap.c: Likewise.
30806 * video/efi_gop.c: Likewise.
30807 * video/efi_uga.c: Likewise.
30808 * video/fb/video_fb.c: Likewise.
30809 * video/i386/pc/vbe.c: Likewise.
30810 * video/readers/tga.c: Likewise.
30811 * video/video.c: Likewise.
30812
0ad46fd7 308132009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
30814
30815 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30816 * commands/lspci.c: Likewise.
30817 * commands/probe.c: Likewise.
30818 * commands/xnu_uuid.c: Likewise.
30819 * conf/i386-coreboot.rmk: Likewise.
30820 * conf/i386-efi.rmk: Likewise.
30821 * conf/i386-ieee1275.rmk: Likewise.
30822 * conf/i386-pc.rmk: Likewise.
30823 * conf/powerpc-ieee1275.rmk: Likewise.
30824 * conf/sparc64-ieee1275.rmk: Likewise.
30825 * conf/x86_64-efi.rmk: Likewise.
30826 * fs/i386/pc/pxe.c: Likewise.
30827 * gettext/gettext.c: Likewise.
30828 * include/grub/efi/graphics_output.h: Likewise.
30829 * include/grub/i386/pc/memory.h: Likewise.
30830 * kern/env.c: Likewise.
30831 * kern/i386/qemu/startup.S: Likewise.
30832 * lib/i386/pc/biosnum.c: Likewise.
30833 * lib/i386/relocator.c: Likewise.
30834 * lib/i386/relocator_asm.S: Likewise.
30835 * lib/relocator.c: Likewise.
30836 * loader/i386/bsd.c: Likewise.
30837 * loader/i386/multiboot.c: Likewise.
30838 * loader/i386/pc/chainloader.c: Likewise.
30839 * loader/i386/xnu.c: Likewise.
30840 * loader/xnu.c: Likewise.
30841 * normal/main.c: Likewise.
30842 * normal/menu_text.c: Likewise.
30843 * util/getroot.c: Likewise.
30844 * util/grub-mkconfig_lib.in: Likewise.
30845 * util/grub.d/00_header.in: Likewise.
30846 * util/i386/pc/grub-mkimage.c: Likewise.
30847 * util/mkisofs/eltorito.c: Likewise.
30848 * util/mkisofs/exclude.h: Likewise.
30849 * util/mkisofs/hash.c: Likewise.
30850 * util/mkisofs/iso9660.h: Likewise.
30851 * util/mkisofs/joliet.c: Likewise.
30852 * util/mkisofs/mkisofs.c: Likewise.
30853 * util/mkisofs/mkisofs.h: Likewise.
30854 * util/mkisofs/multi.c: Likewise.
30855 * util/mkisofs/name.c: Likewise.
30856 * util/mkisofs/rock.c: Likewise.
30857 * util/mkisofs/tree.c: Likewise.
30858 * util/mkisofs/write.c: Likewise.
30859 * video/efi_gop.c: Likewise.
30860
009ec743
VS
308612009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30862
30863 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30864 size counting.
30865
0ad46fd7 308662009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
30867
30868 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30869 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30870
d3d30ea0
VS
308712009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30872
30873 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30874 (GRUB_MOD_INIT(memrw)): Update help line.
30875
a34f5c70
VS
308762009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30877
30878 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30879 Use grub_extcmd_t. All users updated.
30880 (options): New variable.
30881 (grub_cmd_read): Restructure for readability. Support "-v" option.
30882 (grub_cmd_write): Restructure for readability.
30883
0ad46fd7 308842009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
30885
30886 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30887
0ad46fd7 308882009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
30889
30890 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30891 with the actual contents of the correspondending make variable.
30892 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30893 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30894 specifying `*.lst' and `efiemu??.o'
30895
0ad46fd7 308962009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
30897
30898 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30899 after function name.
30900 Noticed by Rene Engelhard <rene@debian.org>.
30901
dc77a799
VS
309022009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30903
30904 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30905 (options): New variable.
30906 (iospace): Likewise.
30907 (grub_lspci_iter): List IO spaces if "-i" was given.
30908 (grub_cmd_lspci): Parse options.
30909 (GRUB_MOD_INIT(lspci)): Use extcmd.
30910 (GRUB_MOD_FINI(lspci)): Likewise.
30911
0ad46fd7 309122009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
30913
30914 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30915 `function' keyword.
30916 Patch by Tony Mancill <tmancill@debian.org>.
30917
b5d5993b
VS
309182009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30919
30920 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
30921 (grub_uhci_portstatus): Likewise.
30922 (grub_uhci_portstatus): Add necessary delay.
11d18281 30923 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 30924
941903f2 309252009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 30926
941903f2 30927 * commands/acpi.c (options): Fix capitalizations and/or full stops.
30928 (GRUB_MOD_INIT): Likewise.
30929 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 30930 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
30931 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 30932 * commands/efi/loadbios.c (enable_rom_area): Likewise.
30933 (enable_rom_area): Likewise.
30934 (GRUB_MOD_INIT): Likewise.
30935 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30936 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
30937 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30938 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
30939 * commands/hexdump.c (options): Likewise.
30940 * commands/i386/cpuid.c (options): Likewise.
30941 (GRUB_MOD_INIT): Likewise.
30942 * commands/i386/pc/drivemap.c (options): Likewise.
30943 (GRUB_MOD_INIT): Likewise.
30944 * commands/i386/pc/halt (options): Likewise.
30945 (GRUB_MOD_INIT): Likewise.
30946 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30947 * commands/i386/pc/pxecmd.c (options): Likewise.
30948 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
30949 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
30950 * commands/keystatus.c (options): Likewise.
30951 (GRUB_MOD_INIT): Likewise.
30952 * commands/loadenv.c (options): Likewise.
30953 * commands/ls.c (options): Likewise.
30954 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30955 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30956 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30957 * commands/parttool.c (helpmsg): Likewise.
30958 * commands/probe.c (options): Likewise.
30959 * commands/read.c (GRUB_MOD_INIT): Likewise.
30960 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
30961 * commands/search.c (options): Likewise.
30962 * commands/sleep.c (options): Likewise.
30963 * commands/test.c (GRUB_MOD_INIT): Likewise.
30964 * commands/true.c (GRUB_MOD_INIT): Likewise.
30965 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
30966 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
30967 * lib/arg.c (help_options): Likewise.
e9bbb4e7 30968 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
30969 `$(XGETTEXT)'.
98a50553 30970 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 30971
0ad46fd7 309722009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 30973
ef3c2c3a 30974 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
30975 instead of specifying them explicit.
30976
7922f68b
RM
309772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30978
30979 * NEWS: Add grub-probe support for GNU/Hurd.
30980
537ce47f
RM
309812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30982
30983 * NEWS: gettext was added after 1.97.
30984
9b214e3a
RM
309852009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30986
30987 * util/mkisofs/msdos_partition.h: New file (based on
30988 include/grub/msdos_partition.h).
30989 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
30990 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
30991 (ld_options, main): Recognize --protective-msdos-label.
30992 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
30993 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
30994 (padblock_write): If `use_protective_msdos_label' is set, patch a
30995 protective DOS-style label in the output image.
30996
30997 * util/grub-mkrescue.in: Use --protective-msdos-label.
30998
e9309813
RM
309992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31000
31001 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31002 boot.
31003
0ae56929
RM
310042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31005
31006 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31007 variables.
31008 (ld_options, main): Recognize `--embedded-boot'.
31009 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31010 declarations.
31011 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31012 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31013 (padblock_write): Likewise. Rewrite to support embedded boot image.
31014
31015 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31016 for BIOS-based disk boot instead of only ElTorito.
31017
b15937b1
RM
310182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31019
31020 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31021 build (not needed for bootstrap).
31022
52cc3ce0
RM
310232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31024
31025 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31026 from i386-pc build (not needed for bootstrap).
31027 Rewrite a pair of strings.
31028
36f5ff04
RM
310292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31030
31031 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31032
973c6c85 310332009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
31034
31035 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31036
05d21547
AB
310372009-12-21 Andreas Born <futur.andy@googlemail.com>
31038
31039 * kern/env.c (grub_env_context_open): Mark exported variable for
31040 reexport.
31041
0175d51f
AB
310422009-12-21 Andreas Born <futur.andy@googlemail.com>
31043
31044 * kern/env.c (grub_env_export): Create nonexistent variables before
31045 exporting.
31046
7f39d92f 310472009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 31048
7f39d92f 31049 * include/grub/auth.h: Include `<grub/i18n.h>'.
31050 (GRUB_GET_PASSWORD): Gettextizze string.
31051 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31052 menu_text.c.
31053 (grub_utf8_to_ucs4_alloc): Fix indentation.
31054 (grub_print_ucs4): Likewise.
31055 (grub_getstringwidth): Likewise.
31056 (print_message_indented): New declaration.
31057 * normal/auth.c: Include `<grub/i18n.h>'.
31058 (grub_auth_check_authentication): Gettexttize string.
31059 * normal/cmdline.c: Include `<grub/i18n.h>'.
31060 (grub_cmdline_get): Gettextizze.
31061 * normal/color.c: Include `<grub/i18n.h>'.
31062 (grub_parse_color_name_pair): Gettexttize strings.
31063 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31064 string (use `print_message_indented').
31065 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31066 `include/grub/normal.h'.
31067 (print_message_indented): Renamed to ...
31068 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31069 used in normal/main.c).
31070 (print_message): Use `grub_print_message_indented' instead of
31071 `print_message_indented'.
31072 (print_timeout): Likewise.
31073 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31074 (grub_normal_print_device_info): Gettexttize strings.
31075 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31076
3041d898
VS
310772009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31078
31079 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31080 of arguments. Return number of tokens and not arguments. All users
31081 updated.
31082
de15bf8e
VS
310832009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31084
31085 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31086 non-MSDOS paritions.
31087
e0a6ca52
VS
310882009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31089
31090 * include/grub/types.h (UNUSED): Removed since it conflicts with
31091 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31092 Reported by Grégoire Sutre.
31093
b99518d1 310942009-12-19 Carles Pina i Estany <carles@pina.cat>
31095
31096 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31097 (grub_print_ucs4_alloc): Likewise.
31098 (grub_getstringwidth): Likewise.
31099 * normal/main.c (grub_normal_init_page): Gettextize version string.
31100 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31101 (getstringwidth): Renamed to ...
31102 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31103 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31104 (grub_print_ucs4): Remove `static' qualifer (now used in
31105 normal/main.c).
31106 * po/POTFILES: Add normal/main.c.
31107
bfd5e52b 311082009-12-19 Carles Pina i Estany <carles@pina.cat>
31109
31110 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31111 (print_message_indented): Add `margin_left' and `margin_right'
31112 parameters.
31113 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31114 strings.
31115 (print_timeout): Use `print_message_indented' to print the message.
31116 Deletes `second_stage' parameter.
31117 (run_menu): Update `print_timeout' calls.
31118
5a1ad2b9
VS
311192009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31120
31121 Fix console palette on OpenFirmware.
31122
31123 * term/ieee1275/ofconsole.c (MAX): Removed.
31124 (colors): Redone based on VGA palette.
31125 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31126 colors are supported.
31127 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31128
b045f00a
VS
311292009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31130
31131 Fix potential EfiEmu double prepare.
31132
31133 * efiemu/main.c (prepared): New variable
31134 (grub_efiemu_unload): Set prepare to '0'.
31135 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31136
31137 set_virtual_address_map support.
31138
31139 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31140 prototype.
31141 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31142 prototype.
31143 (grub_efiemu_crc32): Likewise.
31144 (grub_efiemu_crc64): Likewise.
31145 (grub_efiemu_set_virtual_address_map): Likewise.
31146 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31147 New definition.
31148 (grub_autoefi_set_virtual_address_map): Likewise.
31149 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31150 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31151 Restructure flow to accomodate it.
31152 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31153 (grub_efiemu_crc): Recompute CRC32.
31154 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31155 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31156 * efiemu/symbols.c (relocated_handle): New variable.
31157 (grub_efiemu_free_syms): Free relocated_handle.
31158 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31159 (grub_efiemu_write_sym_markers): New function.
31160 (grub_efiemu_set_virtual_address_map): Likewise.
31161
31162 Newer XNU parameters.
31163
31164 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31165 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31166 (grub_xnu_fill_devicetree): New prototype.
31167 (grub_xnu_heap_real_start): New variable.
31168 * loader/xnu.c (get_name_ptr): New function.
31169 (grub_xnu_load_driver): Fill namelen and name.
31170
31171 64-bit xnu support.
31172
31173 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31174 and 'loader/macho64.c'.
31175 * conf/i386-pc.rmk: Likewise.
31176 * conf/x86_64-efi.rmk: Likewise.
31177 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31178 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31179 * include/grub/macho.h (grub_macho_segment64): New structure.
31180 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31181 (grub_macho_size32): ... to this.
31182 (grub_macho32_get_entry_point): Renamed from ...
31183 (grub_macho_get_entry_point32): ... to this.
31184 (grub_macho_contains_macho64): New prototype.
31185 (grub_macho_size64): Likewise.
31186 (grub_macho_get_entry_point64): Likewise.
31187 (grub_macho32_load): Renamed from ...
31188 (grub_macho_load32): ... to this.
31189 (grub_macho32_filesize): Renamed from ...
31190 (grub_macho_filesize32): ... to this.
31191 (grub_macho32_readfile): Renamed from ...
31192 (grub_macho_readfile32): ... to this.
31193 (grub_macho_filesize64): New prototype.
31194 (grub_macho_readfile64): Likewise.
31195 (grub_macho_parse32): Likewise.
31196 (grub_macho_parse64): Likewise.
31197 * loader/macho.c: Split into ...
31198 * loader/machoXX.c: ... and this. Replace 32 with XX.
31199 * loader/macho32.c: New file.
31200 * loader/macho64.c: Likewise.
31201 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31202 (grub_cmd_xnu_kernel): Make 32-bit only.
31203 (grub_cmd_xnu_kernel64): New function.
31204 (grub_xnu_load_driver): Support Mach-O 64.
31205 (grub_cmd_xnu_mkext): Likewise.
31206 * util/grub.d/30_os-prober.in (osx_entry): New function.
31207 Generate entries for 64-bit boot too.
31208
31209 Eliminate ad-hoc tree format in XNU and EfiEmu.
31210
31211 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31212 * efiemu/pnvram.c: Rewritten to use environment variables.
31213 All users updated.
31214
31215 Inline utf16_to_utf8.
31216
31217 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31218 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31219 All users updated.
31220 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31221
31222 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31223 * commands/usbtest.c (grub_usb_get_string): ... move here.
31224 (usb_print_str): Fix error handling.
31225 * include/grub/usb.h (grub_usb_get_string): Remove.
31226
31227 UTF-8 to UTF-16 transformation.
31228
31229 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31230 (charset_mod_SOURCES): New variable.
31231 (charset_mod_CFLAGS): Likewise.
31232 (charset_mod_LDFLAGS): Likewise.
31233 * include/grub/utf.h: New file.
31234 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31235
31236 Support for device properties.
31237
31238 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31239 (grub_xnu_devprop_device_header): Likewise.
31240 (grub_xnu_devprop_device_descriptor): Likewise.
31241 (grub_xnu_devprop_add_device): New prototype.
31242 (grub_xnu_devprop_remove_device): Likewise.
31243 (grub_xnu_devprop_remove_property): Likewise.
31244 (grub_xnu_devprop_add_property_utf8): Likewise.
31245 (grub_xnu_devprop_add_property_utf16): Likewise.
31246 (grub_cpu_xnu_init): Likewise.
31247 (grub_cpu_xnu_fini): Likewise.
31248 (grub_cpu_xnu_unload): Likewise.
31249 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31250 (property_descriptor): Likewise.
31251 (devices): New variable.
31252 (grub_xnu_devprop_remove_property): New function.
31253 (grub_xnu_devprop_add_device): Likewise.
31254 (grub_xnu_devprop_remove_device): Likewise.
31255 (grub_xnu_devprop_add_property): Likewise.
31256 (grub_xnu_devprop_add_property_utf8): Likewise.
31257 (grub_xnu_devprop_add_property_utf16): Likewise.
31258 (hextoval): Likewise.
31259 (grub_cpu_xnu_fill_devprop): Likewise.
31260 (grub_cmd_devprop_load): Likewise.
31261 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31262 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31263 (cmd_devprop_load): New variable.
31264 (grub_cpu_xnu_init): New function.
31265 (grub_cpu_xnu_fini): Likewise.
31266 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31267 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31268 (grub_cmd_xnu_devtree): Likewise.
31269 (hextoval): New function.
31270 (unescape): Likewise.
31271 (grub_xnu_fill_devicetree): Likewise.
31272
31273 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31274 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31275
0945f181
VS
312762009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31277
31278 Workaround for broken ATI VBE.
31279
31280 * video/i386/pc/vbe.c (last_set_mode): New variable.
31281 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31282 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31283 (grub_video_vbe_setup): Don't check for reserved flag.
31284
0ad46fd7 312852009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31286
31287 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31288 the `find' command.
31289
c179ebe4
VS
312902009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31291
31292 UUID support for HFS.
31293
31294 * fs/hfs.c (grub_hfs_uuid): New function.
31295 (grub_hfs_fs): New value .uuid.
31296 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31297
0ad46fd7 312982009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31299
31300 Fix a segfault with parsing unknown long options.
31301
31302 * util/grub-mkrelpath.c (options): Zero terminate it.
31303
c4a3e41a
CPE
313042009-12-13 Carles Pina i Estany <carles@pina.cat>
31305
31306 * include/grub/misc.h (grub_puts): New declaration.
31307 (grub_puts_): Likewise.
a22008a6 31308 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31309 (grub_puts_): Likewise.
31310
2e8a7602
RM
313112009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31312
31313 * util/grub-probe.c (probe): Improve error message.
31314
b50b77b9
RM
313152009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31316
31317 * loader/i386/multiboot_elfxx.c
31318 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31319 initialization.
31320
313212009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31322
31323 Relocator framework
31324
31325 * loader/i386/xnu_helper.S: Removed. All users updated.
31326 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31327 (relocator_mod_SOURCES): New variable.
31328 (relocator_mod_CFLAGS): Likewise.
31329 (relocator_mod_LDFLAGS): Likewise.
31330 (relocator_mod_ASFLAGS): Likewise.
31331 * conf/x86_64.rmk: Likewise.
31332 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31333 (grub_multiboot_payload_entry_offset): Likewise.
31334 (grub_multiboot_forward_relocator): Likewise.
31335 (grub_multiboot_forward_relocator_end): Likewise.
31336 (grub_multiboot_backward_relocator): Likewise.
31337 (grub_multiboot_backward_relocator_end): Likewise.
31338 (grub_multiboot_payload_eip): New variable.
31339 (grub_multiboot_payload_orig): Likewise.
31340 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31341 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31342 * include/grub/i386/memory.h
31343 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31344 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31345 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31346 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31347 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31348 * include/grub/i386/relocator.h: New file.
31349 * include/grub/x86_64/relocator.h: Likewise.
31350 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31351 (XNU_RELOCATOR): New macro.
31352 (grub_xnu_launcher_start): Remove.
31353 (grub_xnu_launcher_end): Likewise.
31354 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31355 (grub_xnu_heap_real_start): Remove.
31356 (grub_xnu_heap_start): Change to void *. All users updated.
31357 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31358 * lib/i386/relocator.c: New file.
31359 * lib/i386/relocator_asm.S: Likewise.
31360 * lib/i386/relocator_backward.S: Likewise.
31361 * lib/mips/relocator.c: Likewise.
31362 * lib/mips/relocator_asm.S: Likewise.
31363 * lib/relocator.c: Likewise.
31364 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31365 (entry): Removed.
31366 (playground): Likewise.
31367 (grub_multiboot_payload_orig): New variable.
31368 (grub_multiboot_payload_dest): Likewise.
31369 (grub_multiboot_payload_size): Likewise.
31370 (grub_multiboot_payload_eip): Likewise.
31371 (grub_multiboot_payload_esp): Likewise.
31372 (grub_multiboot_boot): Use grub_relocator32_boot.
31373 (grub_multiboot_unload): Free relocators.
31374 (grub_multiboot): Setup stack. Use relocators.
31375 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31376 (grub_multiboot_load_elfXX): Use relocators.
31377 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31378 (grub_multiboot_payload_size): Likewise.
31379 (grub_multiboot_payload_dest): Likewise.
31380 (grub_multiboot_payload_entry_offset): Likewise.
31381 (grub_multiboot_forward_relocator): Likewise.
31382 (grub_multiboot_backward_relocator): Likewise.
31383 (grub_multiboot_real_boot): Likewise.
31384 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31385 (grub_xnu_entry_point): Likewise.
31386 (grub_xnu_arg1): Likewise.
31387 (grub_xnu_stack): Likewise.
31388 (grub_xnu_launch): Removed.
31389 (grub_xnu_boot_resume): New function.
31390 (grub_xnu_boot): Use relocators.
31391 * loader/i386/xnu_helper.S: Removed.
31392 * loader/xnu.c (grub_xnu_heap_start): New variable.
31393 (grub_xnu_heap_size): Likewise.
31394 (grub_xnu_heap_malloc): Use relocators.
31395 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31396
29eb90c6
VS
313972009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31398
31399 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31400 anything.
31401
31027430
CPE
314022009-12-13 Carles Pina i Estany <carles@pina.cat>
31403
31404 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31405 GRUB_ERR_NONE before calling grub_env_set.
31406
dc0c71d9
RM
314072009-12-12 Robert Millan <rmh@aybabtu.com>
31408
31409 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31410 * genmk.rb (video): New variable.
31411 (CLEANFILES, VIDEOFILES): Add #{video}.
31412 (#{video}): New target rule.
31413 * genvideolist.sh: New file.
31414 * Makefile.in (pkglib_DATA): Add video.lst.
31415 (video.lst): New target rule.
31416 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31417 `video.lst'.
31418 * util/grub.d/30_os-prober.in: Replace `vbe' with
31419 ${GRUB_VIDEO_BACKEND}.
31420
2a4bfcf0
RM
314212009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31422
31423 * THANKS: Add David Miller.
31424
2a3aa4d5
RM
314252009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31426
31427 libpciaccess support.
31428
31429 * Makefile.in (LIBPCIACCESS): New variable.
31430 (enable_grub_emu_pci): Likewise.
31431 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31432 util/pci.c and commands/lspci.c.
31433 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31434 * configure.ac (grub-emu-pci): New option.
31435 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31436 (grub_pci_device_unmap_range): Likewise.
31437 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31438 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31439 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31440 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31441 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31442 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31443 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31444 * include/grub/pciutils.h: New file.
31445 * util/pci.c: Likewise.
31446
0ad46fd7 314472009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31448
31449 * util/misc.c: Don't include <errno.h> twice.
31450
0ad46fd7 314512009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31452
31453 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31454 name in an error message.
31455 (grub_biosdisk_rw): Likewise.
31456
2e59983c
VS
314572009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31458
31459 Eliminate NTFS 4Gib barrier.
31460
31461 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31462 (read_run_data): Likewise.
31463 (grub_ntfs_read_run_list): Likewise.
31464 (grub_ntfs_read_block): Likewise.
31465 (grub_ntfs_iterate_dir): Likewise.
31466 (read_mft): Likewise.
31467 (read_data): Likewise.
31468 Use COM_LOG_LEN.
31469 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31470 to avoid 64-bit division
31471 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31472 (grub_ntfs_rlst): Use grub_disk_addr_t.
31473
71ee178a
VS
314742009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31475
31476 Eliminate grub-fstest 4Gib barrier.
31477
31478 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31479 (read_file): Fix error reporting.
31480
2520d4b8
VS
314812009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31482
31483 Eliminate hexdump 4Gib barrier.
31484
31485 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31486 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31487
e1f27065
VS
314882009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31489
31490 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31491 Fixes amarsh bug.
31492
1a0f7f45
RM
314932009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31494
31495 Remove miscellaneous files in distclean target.
31496
31497 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31498
c631d9fb
CW
314992009-12-09 Colin Watson <cjwatson@ubuntu.com>
31500
31501 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31502 if they're already set. This resolves the conflict between my
31503 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31504 fixing the --grub-probe option again.
31505 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31506 change on 2009-10-06, so that we now once again source
31507 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31508
7c7b6106
RM
315092009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31510
31511 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31512 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31513 `util/devicemap.c'.
31514
e3069ec1
CPE
315152009-12-08 Carles Pina i Estany <carles@pina.cat>
31516
31517 * include/grub/misc.h (grub_printf_): New declaration.
31518 * kern/misc.c (grub_printf_): New definition.
31519 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31520 instead of `grub_printf' and `_'.
31521 * normal/menu_entry.c (store_completion): Likewise.
31522 (run): Likewise.
31523 (grub_menu_entry_run): Likewise.
31524 * normal/menu_text.c (grub_wait_after_message): Likewise.
31525 (notify_booting): Likewise.
31526 (notify_fallback): Likewise.
31527 (notify_execution_failure): Likewise.
31528
d6ceebf1
CW
315292009-12-07 Colin Watson <cjwatson@ubuntu.com>
31530
31531 * configure.ac: Check for vasprintf.
31532 * util/misc.c (asprintf): Move allocation from here ...
31533 (vasprintf): ... to here. New function.
31534 (xasprintf): New function.
31535 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31536 prototypes.
31537 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31538 * util/grub-mkfont.c (write_font): Likewise.
31539 * util/grub-probe.c (probe): Likewise.
31540 * util/hostdisk.c (make_device_name): Likewise.
31541
de6daa8b
DM
315422009-12-06 David S. Miller <davem@sunset.davemloft.net>
31543
31544 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31545 anything even prefixed with 'cdrom' as a cdrom.
31546
0ad46fd7 315472009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31548
31549 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31550 mount points.
31551
98d3dc02
CPE
315522009-12-05 Carles Pina i Estany <carles@pina.cat>
31553
31554 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31555 grub_gettext_msg_list.
31556 (grub_gettext_gettranslation_from_position): Return const char *
31557 and not char *.
a2c1332b 31558 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31559 returns from the list if existing there.
31560 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31561 (grub_gettext_delete_list): Delete the list.
31562 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31563 lang environment variable is changed.
31564 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31565
b283f108
VS
315662009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31567
31568 Rename kernel.mod to kernel.img.
31569
31570 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31571 (kernel_mod_EXPORTS): Rename to ...
31572 (kernel_img_EXPORTS): ... this.
31573 (kernel_mod_SOURCES): Rename to ...
31574 (kernel_img_SOURCES): ... this.
31575 (kernel_mod_HEADERS): Rename to ...
31576 (kernel_img_HEADERS): ... this. All users updated.
31577 (kernel_mod_CFLAGS): Rename to ...
31578 (kernel_img_CFLAGS): ... this.
31579 (kernel_mod_ASFLAGS): Rename to ...
31580 (kernel_img_ASFLAGS): ... this.
31581 (kernel_mod_LDFLAGS): Rename to ...
31582 (kernel_img_LDFLAGS): ... this.
31583 * conf/x86_64-efi.rmk: Likewise.
31584 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31585 (read_kernel_image): ... this. All users updated.
31586 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31587
69055f8a
CPE
315882009-12-05 Carles Pina i Estany <carles@pina.cat>
31589
31590 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31591 (print_spaces): New function.
31592 (grub_print_ucs4): New function.
31593 (getstringwidth): New function.
31594 (print_message_indented): New function.
31595 (print_message): Gettexttize strings using print_message_indented.
31596 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31597 width.
31598 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31599 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31600 Gettextize.
31601 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31602 string.
31603 (run): Likewise.
31604 (grub_menu_entry_run): Likewise.
31605 * PO/POTFILES: Add normal/menu_entry.c.
31606
f616f51c
VS
316072009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31608
31609 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31610
57bbe3be
CPE
316112009-12-05 Carles Pina i Estany <carles@pina.cat>
31612
31613 * util/grub-install.in: Install gettext .mo files.
31614 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31615
013d67a1
CPE
316162009-12-05 Carles Pina i Estany <carles@pina.cat>
31617
31618 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31619 grub_dprintf.
31620
fb954db0
RM
316212009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31622
31623 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31624 non-firmware-dependant one in realmode.S takes precedence.
31625
6b8474f8
RM
316262009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31627
31628 * commands/halt.c: Replace misc arch-specific headers with
31629 `<grub/misc.h>'.
31630 * commands/reboot.c: Likewise.
31631 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31632 `<grub/misc.h>'.
31633 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31634 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31635 (kernel_img_SOURCES): ... to here.
31636
31637 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31638 * include/grub/i386/pc/init.h: Likewise.
31639 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31640 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31641
31642 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31643
31644 * include/grub/i386/halt.h: Remove.
31645 * include/grub/i386/reboot.h: Likewise.
31646
31647 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31648
4b2e6ca2
DM
316492009-12-03 David S. Miller <davem@sunset.davemloft.net>
31650
31651 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31652 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31653 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31654 "progname.h"
31655 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31656 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31657 (usage): Add missing comma in printf.
31658
5239348f
RM
316592009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31660
31661 Use the same reboot approach on i386 coreboot and qemu as we do on
31662 BIOS.
31663
31664 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31665 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31666 * kern/i386/reboot.c: Remove.
31667 * include/grub/i386/reboot.h (grub_reboot): Export function.
31668 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31669 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31670 0xf000:0xfff0 instead of 0xffff:0x0000.
31671 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31672 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31673
ef34cbd4
RM
316742009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31675
31676 Fix $srcdir != $objdir build.
31677
31678 * Makefile.in (po/%.po): Rewrite as ...
31679 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31680
dc9837ea
ST
316812009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31682
31683 Fix GNU/Hurd grub-install crash.
31684 * util/grub-probe.c (probe): Try to access `path' only when it is not
31685 NULL.
31686
2f857f98
VS
316872009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31688
31689 Correct module naming.
31690
31691 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31692 (GRUB_MOD_INIT(efi_uga)): ... to this
31693 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31694 (GRUB_MOD_FINI(efi_uga)): ... to this
31695 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31696 (GRUB_MOD_INIT(efi_gop)): ... to this
31697 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31698 (GRUB_MOD_FINI(efi_gop)): ... to this
31699
c5448046
RM
317002009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31701
31702 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31703 translatable.
31704 (usage): Translate `arg' strings using gettext().
31705 Thanks to Jordi Mallach for the suggestion.
31706
c85184ad
VS
317072009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31708
31709 GOP support. Based on patch from Bean
31710 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31711
31712 * video/efi_gop.c: New file.
31713 * include/grub/efi/graphics_output.h: Likewise.
31714 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31715 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31716 variables.
31717 * conf/x86_64-efi.rmk: Likewise.
31718
8a4c48d8
VS
317192009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31720
31721 Rename efi_fb to efi_uga.
31722
31723 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31724 'efi_uga.mod'.
31725 (efi_fb_mod_SOURCES): Rename this ...
31726 (efi_uga_mod_SOURCES): ... to this.
31727 (efi_fb_mod_CFLAGS): Rename this ...
31728 (efi_uga_mod_CFLAGS): ... to this.
31729 (efi_fb_mod_LDFLAGS): Rename this ...
31730 (efi_uga_mod_LDFLAGS): ... to this.
31731 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31732 'efi_uga.mod'.
31733 (efi_fb_mod_SOURCES): Rename this ...
31734 (efi_uga_mod_SOURCES): ... to this.
31735 (efi_fb_mod_CFLAGS): Rename this ...
31736 (efi_uga_mod_CFLAGS): ... to this.
31737 (efi_fb_mod_LDFLAGS): Rename this ...
31738 (efi_uga_mod_LDFLAGS): ... to this.
31739 * video/efi_fb.c: Move this ...
31740 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31741
fb6c1a7b
RM
317422009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31743
31744 * po/README: New file. Explain our PO file workflow.
31745
3bc7896c
RM
317462009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31747
31748 * po/ChangeLog: Remove. Move relevant entries back to ...
31749 * ChangeLog: ... here.
31750 * po/ca.po: Remove (now handled by TLP).
31751 * po/id.po: Likewise.
31752 * po/zh_CN.po: Likewise.
31753 * Makefile.in (LINGUAS): Initialize in a way that supports
31754 empty set.
31755
9ed4841d
RM
317562009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31757
31758 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31759 reliing on po/LINGUAS.
31760 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31761 (po/%.po): ... this.
31762
0ad46fd7 317632009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31764
31765 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31766 (main): Use `program_name' instead of nonexistent `progname'.
31767
e30dd392
FZ
317682009-11-26 Felix Zielcke <fzielcke@z-51.de>
31769
31770 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31771 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31772
7656de4f
RM
317732009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31774
31775 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31776 commit.
31777 * conf/i386-efi.rmk: Likewise.
31778 * conf/i386-ieee1275.rmk: Likewise.
31779 * conf/powerpc-ieee1275.rmk: Likewise.
31780 * conf/sparc64-ieee1275.rmk: Likewise.
31781 * conf/x86_64-efi.rmk: Likewise.
31782
db77c4d4
FZ
317832009-11-26 Felix Zielcke <fzielcke@z-51.de>
31784
31785 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31786
a755bb04
FZ
317872009-11-26 Felix Zielcke <fzielcke@z-51.de>
31788
31789 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31790
8a4c07fd
RM
317912009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31792
31793 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31794 (grub_mkdevicemap_SOURCES): New variable.
31795 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31796 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31797 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31798 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31799 (grub_mkdevicemap_SOURCES): Remove.
31800 * conf/i386-efi.rmk: Likewise.
31801 * conf/i386-ieee1275.rmk: Likewise.
31802 * conf/i386-pc.rmk: Likewise.
31803 * conf/powerpc-ieee1275.rmk: Likewise.
31804 * conf/sparc64-ieee1275.rmk: Likewise.
31805 * conf/x86_64-efi.rmk: Likewise.
31806 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31807 (usage): Fix strings to use `program_name'.
31808 (main): Initialize gettext.
31809 * util/grub-editenv.c: Likewise.
31810 * util/grub-emu.c: Likewise.
31811 * util/grub-fstest.c: Likewise.
31812 * util/grub-mkdevicemap.c: Likewise.
31813 * util/grub-mkfont.c: Likewise.
31814 * util/grub-mkrelpath.c: Likewise.
31815 * util/grub-pe2elf.c: Likewise.
31816 * util/grub-probe.c: Likewise.
31817 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31818 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31819 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31820
31821 * util/misc.c: Include `"progname.h"'.
31822 (progname): Remove variable.
31823 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31824
6f61ed55
FZ
318252009-11-25 Felix Zielcke <fzielcke@z-51.de>
31826
31827 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31828 printf and print a newline after the menuentry header line.
31829 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31830
f022876b
FZ
318312009-11-25 Felix Zielcke <fzielcke@z-51.de>
31832
31833 autoconf >= 2.60 support $(localedir).
31834
31835 * INSTALL: Note that autoconf 2.60 is required.
31836 * configure.ac (AC_PREREQ): Bump to 2.60.
31837 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31838 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31839
6717926e
YB
318402009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31841
31842 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31843 aclocal is run.
31844
08806a54
RM
318452009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31846
31847 * normal/main.c (grub_normal_read_line): Fix off-by-one
31848 buffer overflow.
31849
13b33fba
RM
318502009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31851
31852 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31853 "parser.grub" in grub_command_execute() call.
31854
4a8572e9
CPE
318552009-11-24 Carles Pina i Estany <carles@pina.cat>
31856
31857 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31858 * conf/i386-efi.rmk: Likewise.
31859 * conf/i386-ieee1275.rmk: Likewise.
31860 * conf/i386-pc.rmk: Likewise.
31861 * conf/powerpc-ieee1275.rmk: Likewise.
31862 * conf/sparc64-ieee1275.rmk: Likewise.
31863 * conf/x86_64-efi.rmk: Likewise.
31864 * gettext/gettex.c: Include <grub/i18n.h>.
31865 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31866 here ...
31867 * include/grub/i18n.h: ... to here
31868 * include/grub/i18n.h: ... to here.
31869 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 31870 (grub_gettext_dummy): Move above user.
4a8572e9 31871
bee48093
FZ
318722009-11-24 Felix Zielcke <fzielcke@z-51.de>
31873
31874 * util/Makefile.in (install-local): Convert a `for' into a normal
31875 shell expansion.
31876
a031e91c
RM
318772009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31878
31879 * autogen.sh: Add automake call.
31880 * config.guess: Remove.
31881 * config.sub: Likewise.
31882 * install-sh: Likewise.
31883
26bec39d
FZ
318842009-11-24 Felix Zielcke <fzielcke@z-51.de>
31885
31886 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31887
8e2532fd
FZ
318882009-11-24 Felix Zielcke <fzielcke@z-51.de>
31889
31890 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31891 function to a normal shell `for'.
31892
fefa1b7d
FZ
318932009-11-24 Felix Zielcke <fzielcke@z-51.de>
31894
31895 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31896
4501250b
FZ
318972009-11-24 Felix Zielcke <fzielcke@z-51.de>
31898
31899 * util/grub-mkrelpath.c: New file.
31900 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31901 (grub_mkrelpath_SOURCES): New variable.
31902 * include/grub/util/misc.h: New function prototype.
31903 * util/misc.c (make_system_path_relative_to_its_root): New function.
31904
31905 * util/grub-mkconfig_lib.in (bindir): New variable.
31906 (grub_mkrelpath): Likewise.
31907 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31908
31909 * util/probe.c (probe): Make the file path relative to its root.
31910 Change a info message to use the GRUB path. Enable again the
31911 check if we can read the file with GRUB facilities.
31912
31913 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31914 to its root.
31915
11d9778b
FZ
319162009-11-24 Felix Zielcke <fzielcke@z-51.de>
31917
31918 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
31919 platform.
31920
4465287d
FZ
319212009-11-24 Felix Zielcke <fzielcke@z-51.de>
31922
31923 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
31924 strncmp().
31925
62b47f22
FZ
319262009-11-24 Felix Zielcke <fzielcke@z-51.de>
31927
31928 * util/getroot.c (grub_util_is_dmraid): New function.
31929 (grub_util_get_dev_abstraction): Treat dmraid and multipath
31930 devices as normal ones, not as LVM.
31931
1eafb9b9 319322009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
31933
31934 * conf/common.rmk: Add grub-gettext_lib target and updates
31935 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
31936 LDFLAGS.
31937 * gettext/gettext.c: New file. (Reads mo files).
31938 * include/grub/file.h (grub_file_pread): New prototype.
31939 * include/grub/i18n.h (_): New prototype.
31940 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
31941 prototypes.
31942 * kern/misc.c (grub_gettext_dummy): New function.
31943 * normal/menu_text.c: Include <grub/i18n.h>.
31944 * normal/menu_text.c (print_timeout): Gettexttize string.
31945 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
31946 * po/POTFILES: Add `normal/menu_text.c'.
31947 * po/ca.po: Add new translations.
c3ea6bd4
CPE
31948 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
31949 gettext module and defines locale_dir and lang in grub.cfg.
31950 * NEWS: Add gettext support.
31951
0fdb2568
RM
319522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31953
31954 * util/hostdisk.c: Include `<grub/i18n.h>'.
31955 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
31956 (make_device_name): Rewrite using asprintf.
31957 (convert_system_partition_to_system_disk): Replace 0 with NULL.
31958 (find_system_device): If a device is not found, generate one just
31959 by reusing the OS path name.
31960 (read_device_map): Make it permissible for device.map not to exist.
31961
f515aa62
RM
319622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31963
31964 * script/sh/execute.c: Move from here ...
31965 * script/execute.c: ... to here. Update all users.
31966 * script/sh/function.c: Move from here ...
31967 * script/function.c: ... to here. Update all users.
31968 * script/sh/lexer.c: Move from here ...
31969 * script/lexer.c: ... to here. Update all users.
31970 * script/sh/main.c: Move from here ...
31971 * script/main.c: ... to here. Update all users.
31972 * script/sh/parser.y: Move from here ...
31973 * script/parser.y: ... to here. Update all users.
31974 * script/sh/script.c: Move from here ...
31975 * script/script.c: ... to here. Update all users.
31976
f84b481b
RM
319772009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31978
31979 * configure.ac: Detect all `emu' platforms. Define
31980 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
31981 --enable-grub-emu logic. Disable include/grub/machine
31982 symlink on `emu' platforms.
31983
31984 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
31985 * gensymlist.sh.in: Likewise.
31986
31987 * include/grub/i386/coreboot/machine.h: Remove file.
31988 * include/grub/i386/efi/machine.h: Likewise.
31989 * include/grub/i386/ieee1275/machine.h: Likewise.
31990 * include/grub/i386/pc/machine.h: Likewise.
31991 * include/grub/i386/qemu/machine.h: Likewise.
31992 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31993 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31994 * include/grub/x86_64/efi/machine.h: Likewise.
31995
31996 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
31997 * commands/halt.c: Likewise.
31998 * commands/reboot.c: Likewise.
31999 * include/grub/autoefi.h: Likewise.
32000 * include/grub/i386/at_keyboard.h: Likewise.
32001 * include/grub/i386/kernel.h: Likewise.
32002 * include/grub/i386/loader.h: Likewise.
32003 * include/grub/i386/pc/memory.h: Likewise.
32004 * kern/dl.c: Likewise.
32005 * kern/i386/coreboot/init.c: Likewise.
32006 * loader/i386/bsd.c: Likewise.
32007 * loader/i386/linux.c: Likewise.
32008 * loader/multiboot_loader.c: Likewise.
32009 * term/i386/pc/serial.c: Likewise.
32010 * term/usb_keyboard.c: Likewise.
32011
32012 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32013 `<grub/machine/machine.h>'
32014 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32015 * util/misc.c: Remove `<grub/machine/machine.h>' and
32016 `<grub/machine/time.h>'.
32017
32018 * Makefile.in (enable_grub_emu): Remove variable.
32019 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32020
32021 * conf/any-emu.rmk: New file.
32022 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32023 (grub_emu_init.c): Move from here ...
32024 * conf/any-emu.rmk: ... to here.
32025
32026 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32027 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32028 * conf/any-emu.rmk: ... to here.
32029
4efeab03
RM
320302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32031
32032 * include/grub/parser.h (grub_parser_register): Document need
32033 of `name' parameter.
32034 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32035 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32036 "sh" to "grub".
32037
ea1dd8bf
RM
320382009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32039
32040 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32041 `$(XGETTEXT)'.
32042 * include/grub/i18n.h (N_): New macro.
32043 * util/mkisofs/mkisofs.h: Likewise.
32044 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32045 around N_().
32046 (usage): Use gettext() to translate help strings when printing them.
32047
0c140626
RM
320482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32049
32050 Based on patch from Bean
32051 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32052
32053 * video/efi_fb.c: New file.
32054 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32055 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32056 variables.
32057 * conf/x86_64-efi.rmk: Likewise.
32058
87d58298
RM
320592009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32060
32061 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32062 * util/i386/pc/grub-setup.c: Likewise.
32063
994cc3a3
ST
320642009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32065
32066 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32067 <hurd/fs.h>
32068 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32069 file_get_storage_info to implement grub_guess_root_device.
32070
26a61d6a
FZ
320712009-11-21 Felix Zielcke <fzielcke@z-51.de>
32072
32073 * Makefile.in (target): Use make's builtin $(shell) function
32074 instead of calling directly $(SHELL) to create the locale directories,
32075 inside the $(foreach) function.
32076
74ff1dd5
FZ
320772009-11-21 Felix Zielcke <fzielcke@z-51.de>
32078
32079 * util/grub-mkrescue.in: Print an error and usage if output option
32080 has not been given.
32081
0b787d0e
FZ
320822009-11-21 Felix Zielcke <fzielcke@z-51.de>
32083
32084 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32085 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32086 root and /boot are on different devices.
32087
1164b270
RM
320882009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32089
32090 Fix build for srcdir != objdir.
32091
32092 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32093 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32094 $(srcdir).
32095 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32096 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32097 reference for input.
32098
13774a2f
RM
320992009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32100
32101 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32102 or hardlinking it). Remove -J option, Joliet is not compatible with
32103 multiple source directories.
32104
efda854e
RM
321052009-11-21 Carles Pina i Estany <carles@pina.cat>
321062009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32107
32108 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32109 (process_input_dir): New function. Process an arbitrary input
32110 directory.
32111 Misc adjustments to support both "override mode" and system-wide mode.
32112
6c09890c
FZ
321132009-11-20 Felix Zielcke <fzielcke@z-51.de>
32114
32115 * configure.ac (UNIFONT_BDF): Rename to ...
32116 (FONT_SOURCE): ... this. Update all users.
32117
a797824f
FZ
321182009-11-20 Felix Zielcke <fzielcke@z-51.de>
32119
32120 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32121 to the list of unifont files to look for.
32122
cd4f42b0
RM
321232009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32124
32125 Patch from Joe Auricchio <jauricchio@gmail.com>
32126 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32127 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32128 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32129
393c783d
FZ
321302009-11-19 Felix Zielcke <fzielcke@z-51.de>
32131
32132 * Makefile.in (install-local): Add a missing backslash.
32133
b2f1e327
FZ
321342009-11-19 Felix Zielcke <fzielcke@z-51.de>
32135
32136 * include/grub/x86_64/io.h: New file.
32137
f577f7a0
RM
321382009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32139
32140 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32141 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32142 Include `"progname.h"'.
32143 (main): Initialize gettext.
32144 * util/i386/pc/grub-setup.c: Gettexttize.
32145 * util/i386/pc/grub-mkimage.c: Likewise.
32146
32147 * Makefile.in (po/*.po): Redefine as ...
32148 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32149
3bc7896c
RM
32150 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32151
c37943b6
RM
321522009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32153
32154 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32155 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32156 (program_name): Remove.
32157 (main): Initialize gettext support.
6323f705
RM
32158 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32159 Include `<libintl.h>'.
32160 (_): New macro.
c37943b6
RM
32161
32162 * util/mkisofs/eltorito.c: Gettexttize.
32163 * util/mkisofs/joliet.c: Likewise.
32164 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32165 * util/mkisofs/multi.c: Likewise.
32166 * util/mkisofs/rock.c: Likewise.
32167 * util/mkisofs/tree.c: Likewise.
32168 * util/mkisofs/write.c: Likewise.
32169
3bc7896c
RM
32170 * po/POTFILES: Update with new files.
32171
5ce77c6e
RM
321722009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32173
32174 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32175 * util/mkisofs/iso9660.h: Likewise.
32176 * util/mkisofs/joliet.c: Likewise.
32177 * util/mkisofs/mkisofs.c: Likewise.
32178 * util/mkisofs/mkisofs.h: Likewise.
32179 * util/mkisofs/rock.c: Likewise.
32180 * util/mkisofs/tree.c: Likewise.
32181 * util/mkisofs/write.c: Likewise.
32182
32183 * util/mkisofs/eltorito.c (rcsid): Remove.
32184 * util/mkisofs/hash.c: Likewise.
32185 * util/mkisofs/joliet.c: Likewise.
32186 * util/mkisofs/name.c: Likewise.
32187 * util/mkisofs/rock.c: Likewise.
32188 * util/mkisofs/tree.c: Likewise.
32189 * util/mkisofs/write.c: Likewise.
32190
1dabbc77
RM
321912009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32192
32193 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32194 instead of static allocation.
32195 * util/mkisofs/match.h: Likewise.
32196
633877cb
RM
321972009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32198
3bc7896c
RM
32199 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32200 and `util/grub.d/10_linux.in'.
633877cb
RM
32201 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32202 translatable Shell files.
32203
af1c0c85
RM
322042009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32205
32206 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32207
769ae37b
RM
322082009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32209
32210 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32211 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32212 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32213 Add gettext initialization.
32214 (kfreebsd_entry): Make menuentry output translatable.
32215
322162009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32217
32218 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32219 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32220 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32221 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32222 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32223 * po/LINGUAS: New file.
769ae37b
RM
32224
322252009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32226
32227 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32228 other things).
32229 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32230 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32231 bindtextdomain() calls for gettext initialization.
32232
322332009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32234
32235 * gnulib/progname.c: New file (imported from Gnulib).
32236 * gnulib/progname.h: Likewise.
32237 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32238 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32239 (usage): Replace `progname' with `program_name'.
32240 (main): Use set_program_name() for program name initialization.
32241
322422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32243
32244 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32245 from here ...
32246 * Makefile.in (CPPFLAGS): ... to here.
32247
322482009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32249
32250 * aclocal.m4: Move from here ...
32251 * acinclude.m4: ... to here.
32252 * autogen.sh: Add call to `aclocal'.
32253 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32254
322552009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32256
32257 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32258 (LINGUAS): New variable.
32259 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32260 (install-local): Install MO files.
32261 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32262 * include/grub/i18n.h: New file.
3bc7896c
RM
32263 * po/POTFILES: New file.
32264 * po/ca.po: New file.
769ae37b
RM
32265 * util/grub.d/10_linux.in (bindir): New variable.
32266 Add gettext initialization.
32267 (linux_entry): Make menuentry output translatable.
32268 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32269 (usage): Make --help output translatable.
32270 (main): Initialize gettext.
32271
02c0a6ad
RM
322722009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32273
32274 * import_gcry.py: New file (written by Vladimir with minor
32275 adjustments).
32276 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32277 ciphers.
32278 * INSTALL: Document that Python is required for bootstrap.
32279
322802009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32281
32282 Import ciphers from libgcrypt 1.4.4.
32283
32284 * lib/libgcrypt/cipher/ChangeLog
32285 * lib/libgcrypt/cipher/ac.c
32286 * lib/libgcrypt/cipher/arcfour.c
32287 * lib/libgcrypt/cipher/bithelp.h
32288 * lib/libgcrypt/cipher/blowfish.c
32289 * lib/libgcrypt/cipher/camellia-glue.c
32290 * lib/libgcrypt/cipher/camellia.c
32291 * lib/libgcrypt/cipher/camellia.h
32292 * lib/libgcrypt/cipher/cast5.c
32293 * lib/libgcrypt/cipher/cipher.c
32294 * lib/libgcrypt/cipher/crc.c
32295 * lib/libgcrypt/cipher/des.c
32296 * lib/libgcrypt/cipher/dsa.c
32297 * lib/libgcrypt/cipher/ecc.c
32298 * lib/libgcrypt/cipher/elgamal.c
32299 * lib/libgcrypt/cipher/hash-common.c
32300 * lib/libgcrypt/cipher/hash-common.h
32301 * lib/libgcrypt/cipher/hmac-tests.c
32302 * lib/libgcrypt/cipher/md.c
32303 * lib/libgcrypt/cipher/md4.c
32304 * lib/libgcrypt/cipher/md5.c
32305 * lib/libgcrypt/cipher/primegen.c
32306 * lib/libgcrypt/cipher/pubkey.c
32307 * lib/libgcrypt/cipher/rfc2268.c
32308 * lib/libgcrypt/cipher/rijndael-tables.h
32309 * lib/libgcrypt/cipher/rijndael.c
32310 * lib/libgcrypt/cipher/rmd.h
32311 * lib/libgcrypt/cipher/rmd160.c
32312 * lib/libgcrypt/cipher/rsa.c
32313 * lib/libgcrypt/cipher/seed.c
32314 * lib/libgcrypt/cipher/serpent.c
32315 * lib/libgcrypt/cipher/sha1.c
32316 * lib/libgcrypt/cipher/sha256.c
32317 * lib/libgcrypt/cipher/sha512.c
32318 * lib/libgcrypt/cipher/tiger.c
32319 * lib/libgcrypt/cipher/twofish.c
32320 * lib/libgcrypt/cipher/whirlpool.c
32321
af2f93ac
RM
323222009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32323
32324 Fix build for systems without error().
32325
32326 * gnulib/error.c: New file (imported from Gnulib).
32327 * gnulib/error.h: Likewise.
32328 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32329 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32330 (this variable is now used by error()).
32331
73fb3dd5
FZ
323322009-11-16 Felix Zielcke <fzielcke@z-51.de>
32333
814f5e96
FZ
32334 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32335 instead of relying that char is signed.
73fb3dd5 32336
a691ca33
VS
323372009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32338
32339 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32340 blocksize different from specified.
32341 (grub_pxefs_read): Likewise.
32342
2af8f0f4
FZ
323432009-11-16 Felix Zielcke <fzielcke@z-51.de>
32344
32345 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32346
32347 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32348 (grub_ata_readwrite): Likewise. Update 2 format strings.
32349 (grub_atapi_read): Likewise.
32350
32351 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32352 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32353 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32354 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32355 (ata_mod_LDFLAGS): Move from here ...
32356 * conf/i386.rmk: ... to here ...
32357 * conf/x86_64-efi.rmk: ... and here.
32358 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32359 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32360
83bdecaf
RM
323612009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32362
32363 Relicense multiboot.h, with RMS' blessing.
32364
32365 * include/multiboot.h: Change to X11 license.
32366
fd6fd3d7
RM
323672009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32368
32369 Support --version in grub-mkisofs.
32370
32371 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32372 (OPTION_VERSION): New macro.
32373 (ld_options): Recognize --version.
32374 (usage): Move `program_name' from here ...
32375 (program_name): ... to here. Add `static' qualifier.
32376 (main): Recognize `OPTION_VERSION'.
32377
16a88c49
FZ
323782009-11-15 Felix Zielcke <fzielcke@z-51.de>
32379
32380 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32381 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32382
a4158476
RM
323832009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32384
32385 Fix help2man generation for mkisofs.
32386
32387 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32388 (usage): Send output to stdout (rather than stderr).
32389
fc2208b0
RM
323902009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32391
32392 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32393 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32394 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32395 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32396 (bin_SCRIPTS): Add `grub-mkfloppy'.
32397 (grub_mkfloppy_SOURCES): New variable.
32398
32399 * util/grub-mkrescue.in: New file.
32400 * util/i386/pc/grub-mkfloppy.in: New file.
32401
32402 * util/i386/coreboot/grub-mkrescue.in: Remove.
32403 * util/i386/pc/grub-mkrescue.in: Remove.
32404
8d0edf4a
RM
324052009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32406
32407 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32408 from here ...
32409 * include/multiboot.h (struct multiboot_header): ... to here. Update
32410 all users.
32411 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32412 from here ...
32413 * include/multiboot.h (struct multiboot_info): ... to here. Update
32414 all users.
32415 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32416 from here ...
32417 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32418 Update all users.
32419 * include/grub/multiboot.h (struct grub_mod_list): Move
32420 from here ...
32421 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32422 Update all users.
32423
a73f5969
RM
324242009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32425
32426 * include/multiboot2.h (multiboot_word): Rename from this ...
32427 (multiboot2_word): ... to this. Update all users.
32428 (multiboot_header): Rename from this ...
32429 (multiboot2_header): ... to this. Update all users.
32430 (multiboot_tag_header): Rename from this ...
32431 (multiboot2_tag_header): ... to this. Update all users.
32432 (multiboot_tag_start): Rename from this ...
32433 (multiboot2_tag_start): ... to this. Update all users.
32434 (multiboot_tag_name): Rename from this ...
32435 (multiboot2_tag_name): ... to this. Update all users.
32436 (multiboot_tag_module): Rename from this ...
32437 (multiboot2_tag_module): ... to this. Update all users.
32438 (multiboot_tag_memory): Rename from this ...
32439 (multiboot2_tag_memory): ... to this. Update all users.
32440 (multiboot_tag_unused): Rename from this ...
32441 (multiboot2_tag_unused): ... to this. Update all users.
32442 (multiboot_tag_end): Rename from this ...
32443 (multiboot2_tag_end): ... to this. Update all users.
32444
1c8927f0
RM
324452009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32446
32447 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32448 this platform we should support Multiboot1 first.
32449
32450 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32451 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32452 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32453
6e1e0d89
RM
324542009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32455
32456 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32457 of write calls (converting them to fwrite() if they aren't already).
32458 (get_torito_desc): Likewise.
32459 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32460
7f2b34d8
RM
324612009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32462
32463 * util/i386/pc/grub-install.in: Move from here ...
32464 * util/grub-install.in: ... to here. Update all users.
32465
c0ef3311
CW
324662009-11-11 Colin Watson <cjwatson@ubuntu.com>
32467
32468 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32469
e1f240ff
RM
324702009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32471
32472 Support for El Torito without floppy emulation.
32473
32474 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32475 (init_boot_catalog): Improve error handling.
32476 (get_torito_desc): Don't use floppy emulation unless requested by
32477 user. Patch boot information table when requested via
32478 `-boot-info-table'.
32479 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32480 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32481 (use_boot_info_table): New variables.
32482 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32483 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32484 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32485 `--eltorito-emul-floppy'.
32486 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32487 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32488 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32489 (use_boot_info_table, get_731): New prototypes.
32490 * util/mkisofs/write.c (get_731): New function.
32491
af7d4de5
FZ
324922009-11-11 Felix Zielcke <fzielcke@z-51.de>
32493
32494 Fix the generation of the man page.
32495
32496 * util/pc/i386/grub-install.in: Source
32497 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32498
2c55dbc0
RM
324992009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32500
32501 Large file support for grub-mkisofs.
32502
32503 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32504 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32505 (session_start): Upgrade type to `uint64_t'. Update all users.
32506 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32507 (struct directory_entry): Upgrade type of `starting_block' and
32508 `size' to `uint64_t'. Update all users.
32509 (struct deferred): Remove unused structure.
32510 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32511 Update all users.
32512 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32513 file is larger than `UINT32_MAX'.
32514 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32515 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32516 return value.
32517 (struct deferred_write): Upgrade type of `extent' and `size' to
32518 `uint64_t'. Update all users.
32519 (last_extent_written): Upgrade type to `uint64_t'. Update all
32520 users.
32521 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32522 Update all users. Upgrade type of `remain' to `int64_t' and
32523 `use' to `size_t'. Use error() to handle fread() errors.
32524 (write_files): Rely on write_one_file() rather than calling
32525 xfwrite() directly.
32526
6a9cead5
FZ
325272009-11-09 Felix Zielcke <fzielcke@z-51.de>
32528
32529 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32530
4825d790
RM
325312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32532
32533 * util/mkisofs/fnmatch.c: Remove.
32534 * util/mkisofs/getopt1.c: Likewise.
32535 * util/mkisofs/getopt.c: Likewise.
32536 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32537 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32538 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32539 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32540 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32541
32542 * configure.ac: Detect `mingw32msvc' host_os.
32543 Check for lstat(), getuid() and getgid().
32544
32545 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32546 instances of `u_char' with `uint8_t'.
32547
32548 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32549 [!HAVE_GETUID] (getuid): New function (stub).
32550 [!HAVE_GETGID] (getgid): Likewise.
32551 [!HAVE_LSTAT] (lstat): Likewise.
32552 [!S_IROTH] (S_IROTH): New macro (dummy).
32553 [!S_IRGRP] (S_IRGRP): Likewise.
32554
84b860d8
RM
325552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32556
32557 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32558 conditional expression).
32559
66e9b712
RM
325602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32561
32562 Import from Gnulib.
32563
32564 * gnulib/fnmatch.c: New file.
32565 * gnulib/fnmatch.h: Likewise.
32566 * gnulib/fnmatch_loop.c: Likewise.
32567 * gnulib/getopt.c: Likewise.
32568 * gnulib/getopt.h: Likewise.
32569 * gnulib/getopt1.c: Likewise.
32570 * gnulib/getopt_int.h: Likewise.
32571 * gnulib/gettext.h: Likewise.
32572
34f4a5b0
RM
325732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32574
32575 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32576 * normal/handler.c (read_handler_list): Likewise.
32577
ac451143
RM
325782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32579
32580 Misc cleanup.
32581
32582 * kern/command.c (grub_register_command_prio): Use
32583 grub_zalloc() instead of explicitly zeroing data.
32584 * kern/list.c: Include `<grub/mm.h>'.
32585 (grub_named_list_find): Replace `0' with `NULL'.
32586 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32587 (fs_module_list): Change type to `grub_named_list_t'. Update all
32588 users.
32589 * normal/dyncmd.c (read_command_list): Add space between function
32590 call and parenthesis.
32591 * normal/handler.c (read_handler_list): Likewise.
32592
4089b167
RM
325932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32594
32595 * normal/auth.c (punishment_delay): Moved from here ...
32596 (grub_auth_strcmp): ... to here (inside function).
32597
325f5037
RM
325982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32599
32600 * include/grub/list.h (struct grub_named_list): Remove `const'
32601 qualifier from `name'.
32602 (struct grub_prio_list): Likewise.
32603
7aea29a3
RM
326042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32605
32606 * normal/auth.c: Include `<grub/time.h>'.
32607 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32608
3fd6f044
RM
326092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32610
32611 * normal/auth.c (punishment_delay): New variable.
32612 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32613 (grub_auth_check_authentication): Punish failed login attempts with
32614 an incremental (2^N) delay.
32615
a4cd68e4
RM
326162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32617
32618 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32619 path with $(srcdir).
32620
7ad12f43
VS
326212009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32622
32623 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32624
c1129f03
RM
326252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32626
32627 * util/i386/coreboot/grub-mkrescue.in: New file.
32628 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32629 variables.
32630
32631 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32632 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32633 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32634 requirements.
32635 * util/mkisofs/defaults.h: New file.
32636 * util/mkisofs/eltorito.c: Likewise.
32637 * util/mkisofs/exclude.h: Likewise.
32638 * util/mkisofs/fnmatch.c: Likewise.
32639 * util/mkisofs/getopt.c: Likewise.
32640 * util/mkisofs/getopt1.c: Likewise.
32641 * util/mkisofs/hash.c: Likewise.
32642 * util/mkisofs/include/fctldefs.h: Likewise.
32643 * util/mkisofs/include/mconfig.h: Likewise.
32644 * util/mkisofs/include/prototyp.h: Likewise.
32645 * util/mkisofs/include/statdefs.h: Likewise.
32646 * util/mkisofs/iso9660.h: Likewise.
32647 * util/mkisofs/joliet.c: Likewise.
32648 * util/mkisofs/match.c: Likewise.
32649 * util/mkisofs/match.h: Likewise.
32650 * util/mkisofs/mkisofs.c: Likewise.
32651 * util/mkisofs/mkisofs.h: Likewise.
32652 * util/mkisofs/multi.c: Likewise.
32653 * util/mkisofs/name.c: Likewise.
32654 * util/mkisofs/rock.c: Likewise.
32655 * util/mkisofs/tree.c: Likewise.
32656 * util/mkisofs/write.c: Likewise.
32657
ec8bb77d
VS
326582009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32659
32660 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32661 being insecure.
32662
3716b12c
RM
326632009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32664
32665 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32666 `grub-mkimage' (and use $0 when possible).
32667
b97b7b91
RM
326682009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32669
32670 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32671 error message for excessively large memory map.
32672
04114812
RM
326732009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32674
32675 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32676 executable bit.
32677
e4eb2373
RM
326782009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32679
32680 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32681 message for coreboot users.
32682
c926e1d5 326832009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32684
32685 Fix build with GNU gold.
32686
32687 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32688 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32689 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32690 link addresses.
32691 * aclocal.m4: Likewise.
32692
86e5b1db 326932009-11-04 Felix Zielcke <fzielcke@z-51.de>
32694
32695 * configure.ac (AC_PREREQ): Bump to 2.59d.
32696 * INSTALL: Make it more clear when Autoconf and Ruby are
32697 needed and when to run `./autogen.sh'.
32698
246cd78f 326992009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32700
32701 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32702 OSes.
32703
4f9dfb37 327042009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32705
32706 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32707
b82bd5e1 327082009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32709
32710 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32711 giving it to GNU Mach.
32712
ff1a9bca 327132009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32714
32715 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32716 GNU partition number to get internal GRUB partition number.
32717
61697d9c 327182009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32719
32720 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32721 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32722
a50569e1 327232009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32724
32725 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32726 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32727 case.
32728
5b153867 327292009-11-01 Felix Zielcke <fzielcke@z-51.de>
32730
32731 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32732
d9e2cd70 327332009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32734
32735 Fix build problem.
32736
32737 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32738 `-isystem=$(srcdir)/include'.
32739
805111a4 327402009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32741
32742 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32743 checked (grub-install doesn't currently rely on it).
32744
fa6e945f 327452009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32746
32747 Revert SVN r2660.
32748
32749 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32750 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32751 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32752 * conf/i386-ieee1275.rmk: Likewise.
32753 * conf/i386-pc.rmk: Likewise.
32754 * conf/powerpc-ieee1275.rmk: Likewise.
32755 * conf/sparc64-ieee1275.rmk: Likewise.
32756 * conf/x86_64-efi.rmk: Likewise.
32757
cee15086 327582009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32759
32760 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32761
95b9239e 327622009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32763
32764 * include/grub/misc.h: Stop checking for APPLE_CC.
32765
2ed19dfd 327662009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32767
32768 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32769 doesn't cause an infinite call loop.
32770
fdcdde19 327712009-10-28 Felix Zielcke <fzielcke@z-51.de>
32772
32773 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32774 strings.
32775
cefabfe1 327762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32777
32778 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32779 variable.
32780 * Makefile.in: Likewise.
32781
ed96ab6d 327822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32783
32784 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32785
0579b753 327862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32787
32788 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32789
478df409 327902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32791
32792 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32793
083d1679 327942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32795
32796 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32797 from here ...
32798 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32799
5947ae32 328002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32801
32802 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32803 in $(MAKEINFO) invocation. This makes it clear in output that
32804 errors are being ignored.
32805
94180ff6 328062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32807
32808 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32809 from here ...
32810 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32811 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32812 * conf/i386-ieee1275.rmk: Likewise.
32813 * conf/i386-pc.rmk: Likewise.
32814 * conf/powerpc-ieee1275.rmk: Likewise.
32815 * conf/sparc64-ieee1275.rmk: Likewise.
32816 * conf/x86_64-efi.rmk: Likewise.
32817
9031b03a 328182009-10-26 Colin Watson <cjwatson@ubuntu.com>
32819
32820 * util/grub-editenv.c (main): If only a command is given, use
32821 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32822 (usage): FILENAME is now optional and has a default.
32823
e4f6809b 328242009-10-26 Colin Watson <cjwatson@ubuntu.com>
32825
32826 Improve grub-mkconfig performance when there are several menu
32827 entries on a single filesystem.
32828
32829 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32830 prepare_grub_to_access_device.
32831 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32832 * util/grub.d/30_os-prober.in: Likewise.
32833
67937d4d 328342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32835
32836 * util/grub.d/10_freebsd.in: Remove.
32837 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32838 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32839
ee3756cc 328402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32841
5c35048e 32842 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 32843
4dea1c6f 328442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32845
32846 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32847 grub_util_error() call.
32848
042484d7 328492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32850
32851 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32852 `reserved_first_sector' member.
32853 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32854 `reserved_first_sector' to 1.
32855 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32856 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32857 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32858 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32859 filesystems which begin at first sector.
32860 (options): New option --skip-fs-probe.
32861 (main): Handle --skip-fs-probe and pass it to setup().
32862
d64448a7 328632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32864
32865 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32866 (memset): Fix function prototype.
32867
508d42ec 328682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
328692009-10-25 Vasily Averin <vvs@parallels.com>
32870
32871 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32872 `dirent.direntlen == 0'.
32873
b240e30c 328742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32875
32876 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32877 `cpio'.
32878 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32879
346e7fbe 328802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32881
32882 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32883 `__trampoline_setup' and `__ucmpdi2'.
32884 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32885 that libgcc provides.
32886
cdb308b0 328872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32888
32889 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32890 * include/grub/sparc64/libgcc.h (memset): Likewise.
32891 * include/grub/misc.h (memset, memcmp): New function prototypes.
32892
fb26abc2 328932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32894
32895 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32896 `cpio'.
32897 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32898
f6693890 328992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32900
32901 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32902 * docs/grub.cfg: Compensate for recent change in multiboot
32903 loader (since 2009-08-14 it won't pass filename to payload).
32904 * util/grub.d/10_hurd.in: Likewise.
32905
0933cdc0 329062009-10-21 Felix Zielcke <fzielcke@z-51.de>
32907
32908 * config.guess: Update to latest version from config git
32909 repository.
32910 * config.sub: Likewise.
32911
3b2fe8c2 329122009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32913
32914 Fix build on sparc64.
32915
32916 * configure.ac: Perform checks for libgcc symbols before
32917 adding `-nostdlib' to LDFLAGS.
32918
46695a62 329192009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32920
32921 Let user specify OpenBSD root device.
32922
32923 * loader/i386/bsd.c (openbsd_root): New variable.
32924 (openbsd_opts): New option 'root'.
32925 (OPENBSD_ROOT_ARG): New macro.
32926 (grub_openbsd_boot): Use 'openbsd_root'.
32927 (grub_cmd_openbsd): Fill 'openbsd_root'.
32928
d2b6b7fc 329292009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32930
32931 * NEWS: Misc adjustments.
32932
421bd7ac 329332009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32934
32935 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
32936
f1d29d87 329372009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32938
32939 * configure.ac: Bump version to 1.97.
32940
6f3cd880 329412009-10-16 Colin Watson <cjwatson@ubuntu.com>
32942
32943 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
32944 -mno-3dnow on x86 architectures. Some toolchains enable these
32945 features by default, but they rely on registers that aren't enabled
32946 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
32947
035f7122 329482009-10-15 Robert Millan <rmh.grub@aybabtu.com>
32949
32950 Make entry text a bit more readable.
32951
32952 * util/grub.d/10_linux.in: Add `with' before `Linux'.
32953
44998e58 329542009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32955
32956 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
32957
cd2851b3 329582009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32959
32960 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
32961 operations.
32962
c6f3b249 329632009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32964
32965 * configure.ac: Add missing dollar.
32966
6b5886ba 329672009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32968
32969 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
32970
32971 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
32972 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
32973 exports.
32974 * include/grub/sparc64/libgcc.h: Likewise. Use
32975 preprocessor conditionals.
32976
e9d66f6d 329772009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32978
32979 * conf/common.rmk (grub-dumpbios): Remove rule.
32980 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
32981 * util/grub-dumpbios.in: Remove file.
32982
9155bc17 329832009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32984
32985 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
32986 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
32987
32988 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
32989 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
32990 users.
32991
32992 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
32993 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
32994 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
32995 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
32996 users.
32997
bf7f7a18 329982009-10-12 Robert Millan <rmh.grub@aybabtu.com>
32999
33000 * term/tparm.c: Switch to GPLv3.
33001
86564c26 330022009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33003
33004 * include/grub/i386/cpuid.h: Add header protection.
33005
5c936493 330062009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33007
33008 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33009
33010 * include/grub/i386/cpuid.h: New file.
33011 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33012 (has_longmode): Rename to ...
33013 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33014 `static' attribute.
33015 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33016 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33017 on a CPU that doesn't implement AMD64 instruction set.
33018
186e7cf2 330192009-10-06 Colin Watson <cjwatson@ubuntu.com>
33020
33021 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33022 that version.texi is rebuilt on version number changes.
33023
83b65c4a 330242009-10-06 Colin Watson <cjwatson@ubuntu.com>
33025
33026 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33027 Fixes bug #27602.
33028
d244281c 330292009-10-06 Colin Watson <cjwatson@ubuntu.com>
33030
33031 * util/i386/pc/grub-install.in: Source
33032 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33033 that the --grub-probe option will work.
33034 * util/sparc64/ieee1275/grub-install.in: Likewise.
33035
da25306d 330362009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33037
33038 * configure.ac: Bump version to 1.97~beta4.
33039
e8ee83c0 330402009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33041
33042 Resync grub-mkdevicemap in x86_64-efi.
33043
33044 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33045 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33046 `util/devicemap.c'.
33047
50dcabcf 330482009-10-01 Colin Watson <cjwatson@ubuntu.com>
33049
33050 * util/grub-editenv.c (create_envblk_file): Write new block with a
33051 .new suffix and then rename it into place, to ensure atomic
33052 creation.
33053
0e51c3a7 330542009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33055
33056 Do not automatically install headers.
33057
33058 * Makefile.in (include_DATA): Remove. Update all users.
33059
31299a95 330602009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33061
33062 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33063 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33064
33065 * util/osdetect.lua: Remove.
33066 * script/lua/lauxlib.c: Likewise.
33067 * script/lua/ldebug.c: Likewise.
33068 * script/lua/grub_main.c: Likewise.
33069 * script/lua/lauxlib.h: Likewise.
33070 * script/lua/ldebug.h: Likewise.
33071 * script/lua/ltablib.c: Likewise.
33072 * script/lua/liolib.c: Likewise.
33073 * script/lua/lstrlib.c: Likewise.
33074 * script/lua/lualib.h: Likewise.
33075 * script/lua/ldo.c: Likewise.
33076 * script/lua/ldump.c: Likewise.
33077 * script/lua/ldo.h: Likewise.
33078 * script/lua/loslib.c: Likewise.
33079 * script/lua/lundump.c: Likewise.
33080 * script/lua/grub_lib.c: Likewise.
33081 * script/lua/ldblib.c: Likewise.
33082 * script/lua/lundump.h: Likewise.
33083 * script/lua/lmem.c: Likewise.
33084 * script/lua/grub_lib.h: Likewise.
33085 * script/lua/lmathlib.c: Likewise.
33086 * script/lua/lstate.c: Likewise.
33087 * script/lua/ltm.c: Likewise.
33088 * script/lua/lvm.c: Likewise.
33089 * script/lua/lmem.h: Likewise.
33090 * script/lua/lstate.h: Likewise.
33091 * script/lua/ltm.h: Likewise.
33092 * script/lua/ltable.c: Likewise.
33093 * script/lua/lvm.h: Likewise.
33094 * script/lua/llex.c: Likewise.
33095 * script/lua/lgc.c: Likewise.
33096 * script/lua/grub_lua.h: Likewise.
33097 * script/lua/loadlib.c: Likewise.
33098 * script/lua/lfunc.c: Likewise.
33099 * script/lua/lopcodes.c: Likewise.
33100 * script/lua/lparser.c: Likewise.
33101 * script/lua/ltable.h: Likewise.
33102 * script/lua/llex.h: Likewise.
33103 * script/lua/lgc.h: Likewise.
33104 * script/lua/lfunc.h: Likewise.
33105 * script/lua/lbaselib.c: Likewise.
33106 * script/lua/lopcodes.h: Likewise.
33107 * script/lua/lparser.h: Likewise.
33108 * script/lua/lzio.c: Likewise.
33109 * script/lua/linit.c: Likewise.
33110 * script/lua/lobject.c: Likewise.
33111 * script/lua/llimits.h: Likewise.
33112 * script/lua/lstring.c: Likewise.
33113 * script/lua/lzio.h: Likewise.
33114 * script/lua/lapi.c: Likewise.
33115 * script/lua/lcode.c: Likewise.
33116 * script/lua/lua.h: Likewise.
33117 * script/lua/lobject.h: Likewise.
33118 * script/lua/lstring.h: Likewise.
33119 * script/lua/lapi.h: Likewise.
33120 * script/lua/lcode.h: Likewise.
33121 * script/lua/luaconf.h: Likewise.
33122
cb8a2c38 331232009-09-26 Colin Watson <cjwatson@ubuntu.com>
33124
33125 * docs/grub.texi (Command-line and menu entry commands): Document
33126 date and echo commands.
33127
6b9b6276 331282009-09-24 Pavel Roskin <proski@gnu.org>
33129
33130 * include/grub/kernel.h (struct grub_module_header): Remove
33131 `grub_module_header_types'. Make `type' unsigned. Make `size'
33132 32-bit on all platforms.
33133 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33134 8-bit field. Use grub_host_to_target32() for `size'.
33135 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33136 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33137 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33138
4e5a02a7 331392009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33140
33141 Fix "lost keypress" bug in at_keyboard.
33142
33143 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33144 Checks for readyness of input buffer (without flushing it).
33145 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33146 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33147
c6dcedf6 331482009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33149
33150 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33151 size check within GRUB_MACHINE_PCBIOS section.
33152
74c958b1 331532009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33154
33155 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33156 return value.
33157 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33158 KEYBOARD_ISREADY check.
33159 (grub_at_keyboard_checkkey): Rename to ...
33160 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33161 Remove gratuitous cast.
33162
ff420223 331632009-09-23 Colin Watson <cjwatson@ubuntu.com>
33164
33165 * configure.ac: Call AC_PROG_MKDIR_P.
33166 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33167 version.texi in $(builddir) rather than $(srcdir).
33168 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33169 to makeinfo's @include search path.
33170
d96875df 331712009-09-23 Felix Zielcke <fzielcke@z-51.de>
33172
33173 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33174
9b3f8365 331752009-09-23 Felix Zielcke <fzielcke@z-51.de>
33176
33177 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33178 for `*.dpkg-new'.
33179
c44c90db 331802009-09-21 Colin Watson <cjwatson@ubuntu.com>
33181
33182 Build info documentation. Some code borrowed from Automake.
33183
33184 * configure.ac: Check for makeinfo.
33185 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33186 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33187 docs/version.texi.
33188 (MOSTLYCLEANFILES): Add vti.tmp.
33189 (docs/version.texi, docs/stamp-vti): Update automatically.
33190 (docs/grub.info): Build info documentation. Use --force and ignore
33191 errors for now.
33192 (all-local): Add $(INFOS).
33193 (install-local): Install info files.
33194 (uninstall): Uninstall info files.
33195 * docs/version.texi: Remove from revision control. This file is
33196 automatically generated on build now.
33197 * gendistlist.sh: Add `*.info'.
33198
e0b37bb5 331992009-09-21 Felix Zielcke <fzielcke@z-51.de>
33200
33201 * kern/term.c: Fix indentation.
33202
5a78865b 332032009-09-21 Felix Zielcke <fzielcke@z-51.de>
33204
33205 * util/hostdisk.c: Fix a comment.
33206
dace7e8a 332072009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33208
33209 Fix regression introduced in r2539.
33210
33211 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33212 to 0xA1.
33213
a83d079b 332142009-09-19 Colin Watson <cjwatson@ubuntu.com>
33215
33216 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33217 os-prober. Under normal operation, it does not print anything to
33218 stderr; if it does, we need to debug it, and throwing away stderr
33219 makes that excessively difficult.
a83d079b 33220
be94a509 332212009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33222
33223 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33224
63f745e8 332252009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33226
33227 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33228 AC_LANG_PROGRAM from autoconf.
33229 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33230 prototypes (fixes warning).
33231
33232 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33233 `--disable-werror' was used.
33234
bbb2a70f 332352009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33236
33237 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33238 uninitialized `lastaddr'.
33239
77c24f1d 332402009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33241
0f0b8c87 33242 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33243
07197f23 332442009-09-14 Colin Watson <cjwatson@ubuntu.com>
33245
33246 * commands/test.c (get_fileinfo): Return immediately if
33247 grub_fs_probe fails.
33248
dabf1798 332492009-09-14 José Martínez <xosemp@gmail.com>
33250
33251 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33252
d52109a7 332532009-09-14 Colin Watson <cjwatson@ubuntu.com>
33254
33255 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33256 output.
33257
56532179 332582009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33259
33260 * configure.ac: Remove --enable-grub-pe2elf. Only build
33261 grub-pe2elf when needed by the build system itself.
33262 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33263
8ef070f5 332642009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33265
33266 * configure.ac: Bump version to 1.97~beta3.
33267 * docs/version.texi: Likewise.
33268
61229557 332692009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33270
33271 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33272 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33273 from here ...
33274 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33275 (grub_linux_setup_video): ... to here (with some adjustments).
33276
5c9f8d84 332772009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33278
33279 Fix memory corruption issue (spotted by Colin Watson).
33280
33281 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33282 causing returned size to be stored in an incorrect memory location.
33283 Fix use of uninitialized value when storing the returned size.
33284
e8f5d6e9 332852009-09-12 Yves Blusseau <blusseau@zetam.org>
33286
33287 Change clean rules to properly remove files
33288
33289 * genmk.rb: add new clean rules
33290 * Makefile.in (clean): add the new targets
33291 (mostlyclean): likewise
33292
cda2a409 332932009-09-11 Colin Watson <cjwatson@ubuntu.com>
33294
33295 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33296 to grub_uint64_t.
33297 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33298 non-resident files.
33299
86695375 333002009-09-11 Colin Watson <cjwatson@ubuntu.com>
33301
33302 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33303 part of bug #27349.
33304
8aa1541a 333052009-09-10 Felix Zielcke <fzielcke@z-51.de>
33306
33307 * util/grub-mkconfig.in: Make the created config mode 400 and
33308 print a warning if it fails.
33309
48d9bb0a 333102009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33311
33312 * util/grub.d/40_custom.in: Ask user to type custom entries below
33313 comment, rather than below 'exec tail' line.
33314
3b0521be 333152009-09-10 Colin Watson <cjwatson@ubuntu.com>
33316
33317 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33318 visible in grub.cfg.
33319
50051d55 333202009-09-10 Colin Watson <cjwatson@ubuntu.com>
33321
33322 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33323 file.
33324
c0d34387 333252009-09-10 Felix Zielcke <fzielcke@z-51.de>
33326
33327 * docs/grub.cfg: Add an example menu entry for memtest86+.
33328
80a608f3 333292009-09-09 Felix Zielcke <fzielcke@z-51.de>
33330
a2094832 33331 * config.guess: Update to latest version from config git.
80a608f3 33332 * config.sub: Likewise.
33333
99423078 333342009-09-08 Colin Watson <cjwatson@ubuntu.com>
33335
33336 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33337 unknown-command case. Fixes bug #27320.
33338
44454e4c 333392009-09-08 Felix Zielcke <fzielcke@z-51.de>
33340
33341 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33342 `help' if the command exists.
33343
e30d87ad 333442009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33345
33346 * INSTALL: Require GCC 4.1.3 or later.
33347
9a86f1ec 333482009-09-06 Yves Blusseau <blusseau@zetam.org>
33349
33350 * Makefile.in (RMKFILES): add i386-qemu.rmk
33351 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33352 $(srcdir)/stamp-h.in
33353
7f26d466 333542009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33355
33356 * util/grub-probe.c (probe): Comment out buggy codepath, which
33357 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33358 should be re-enabled after 1.97.
33359
3a613259 333602009-09-05 Felix Zielcke <fzielcke@z-51.de>
33361
33362 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33363 find searches for.
33364
197f76c7 333652009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33366
33367 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33368 unnecessary calls to grub_error.
33369
70ba68ce 333702009-09-04 Colin Watson <cjwatson@ubuntu.com>
33371
33372 * NEWS: Mention `keystatus' and Unicode fonts.
33373
4ff0d7a4 333742009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33375
33376 * configure.ac: Bump version to 1.97~beta2.
33377 * docs/version.texi: Likewise.
33378
77c55a87 333792009-09-03 Colin Watson <cjwatson@ubuntu.com>
33380
33381 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33382 containing unwind information in some cases where it previously did
33383 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33384 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33385 discussion.
33386
f79572cd 333872009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33388
33389 Embedding loadenv module into grub-emu
33390
33391 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33392 commands/loadenv.c
33393 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33394 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33395 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33397 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33398 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33399
93a81088 334002009-09-03 Magnus Granberg <zorry@ume.nu>
33401
33402 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33403 include -fPIE in the default specs.
33404 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33405 to TARGET_CFLAGS.
33406
160034b2 334072009-09-03 Felix Zielcke <fzielcke@z-51.de>
33408
33409 * INSTALL: Note that GNU Bison 2.3 or later is required.
33410
087c07c4 334112009-09-03 Colin Watson <cjwatson@ubuntu.com>
33412
33413 * kern/i386/pc/startup.S: Fix typo.
33414
cbf978c0 334152009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33416
33417 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33418 according to GCS.
33419
334202009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33421
33422 * docs/grub.texi (Naming convention): Describe one-based partition
33423 numbering.
33424 (Device syntax): Likewise.
33425 (File name syntax): Likewise.
33426 (Block list syntax): Likewise.
33427 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33428 menu.lst.
33429 (File name syntax): Likewise.
33430 (Command-line and menu entry commands): Document acpi, blocklist,
33431 crc, export, insmod, keystatus, ls, set, and unset commands.
33432
f3e8cdfd 334332009-09-02 Colin Watson <cjwatson@ubuntu.com>
33434
33435 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33436 to avoid implying that only one of --shift, --ctrl, or --alt may be
33437 used.
33438
c0bc232b 334392009-09-02 Colin Watson <cjwatson@ubuntu.com>
33440
33441 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33442 rather than comparing against S_IFREG, which will almost never work.
33443
aa0f752d 334442009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33445
33446 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33447 (write_blocklists): Likewise.
33448
ecb3166a 334492009-09-01 Colin Watson <cjwatson@ubuntu.com>
33450
33451 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33452 argument to grub_printf.
33453
c403a125 334542009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33455
33456 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33457 non GNU test.
31aba781 33458
b5e7312c 334592009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33460
33461 * kern/file.c (grub_file_read): Spelling fix
33462
fe00f472 334632009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33464
33465 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33466 loading of headers in some cases.
33467
cc55302e 334682009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33469
33470 * configure.ac: Bump version to 1.97~beta1.
33471 * docs/version.texi: Likewise.
33472
5c90cdd2 334732009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33474
33475 * include/grub/i386/xnu.h: Add license header.
33476 include grub/err.h explicitly.
33477
c90edae4 334782009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33479
33480 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33481 to `ufs' in the vfs.root.mountfrom kernel parameter.
33482
d8888b5c 334832009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33484
33485 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33486
33487 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33488 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33489
33490 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33491 `ARRAY_SIZE' macro.
33492
6f07b921 334932009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33494
33495 * kern/file.c (grub_file_read): Check offset.
33496 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33497 * fs/jfs.c (grub_jfs_read_file): Likewise.
33498 * fs/ntfs.c (grub_ntfs_read): Likewise.
33499 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33500 * fs/minix.c (grub_minix_read_file): Correct offset check.
33501 * fs/ufs.c (grub_ufs_read_file): Likewise.
33502
b4f34077 335032009-08-28 Colin Watson <cjwatson@ubuntu.com>
33504
33505 * term/i386/pc/console.c (bios_data_area): Cast
33506 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33507
e7c69859 335082009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33509
33510 1-bit optimised blitters.
33511
33512 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33513 prototype.
33514 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33515 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33516 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33517 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33518 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33519 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33520 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33521 function.
33522 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33523 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33524 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33525 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33526 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33527 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33528 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33529 when possible.
33530 * video/video.c (grub_video_get_blit_format): Return
33531 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33532
a57da43f 335332009-08-28 Colin Watson <cjwatson@ubuntu.com>
33534
33535 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33536 the first argument to grub_printf.
33537
4cbe67e5 335382009-08-28 Colin Watson <cjwatson@ubuntu.com>
335392009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33540
33541 Add `getkeystatus' terminal method. Add a new `keystatus' command
33542 to query it.
33543
33544 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33545 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33546 modifier key bitmasks.
33547 (struct grub_term_input): Add `getkeystatus' member.
33548 (grub_getkeystatus): Add prototype.
33549 * kern/term.c (grub_getkeystatus): New function.
33550
33551 * include/grub/i386/pc/memory.h
33552 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33553 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33554 Data Area layout.
33555 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33556 (grub_console_term_input): Set `getkeystatus' member.
33557 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33558 constants.
33559 (grub_usb_keyboard_getreport): Likewise.
33560 (grub_usb_keyboard_checkkey): Likewise.
33561 (grub_usb_keyboard_getkeystatus): New function.
33562 (grub_usb_keyboard_term): Set `getkeystatus' member.
33563
33564 * commands/keystatus.c: New file.
33565 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33566 (keystatus_mod_SOURCES): New variable.
33567 (keystatus_mod_CFLAGS): Likewise.
33568 (keystatus_mod_LDFLAGS): Likewise.
33569 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33570 commands/keystatus.c.
33571 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33572 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33573 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33575 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33576 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33577
6e2a9085 335782009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33579
33580 Split befs.mod and afs.mod into *_be.mod and *.mod
33581
33582 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33583 (grub_fstest_SOURCES): Likewise.
33584 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33585 (afs_be_mod_SOURCES): New variable.
33586 (afs_be_mod_CFLAGS): Likewise.
33587 (afs_be_mod_LDFLAGS): Likewise.
33588 (befs_be_mod_SOURCES): Likewise.
33589 (befs_be_mod_CFLAGS): Likewise.
33590 (befs_be_mod_LDFLAGS): Likewise.
33591 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33592 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33593 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33594 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33595 (grub_emu_SOURCES): Likewise.
33596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33597 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33598 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33599 * fs/afs_be.c: New file.
33600 * fs/befs_be.c: New file.
33601 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33602 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33603 (U16): Replaced with ...
33604 (grub_afs_to_cpu16): ...this. All users updated.
33605 (U32): Replaced with ...
33606 (grub_afs_to_cpu32): ...this. All users updated.
33607 (U64): Replaced with ...
33608 (grub_afs_to_cpu64): ...this. All users updated.
33609 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33610 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33611 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33612 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33613 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33614 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33615 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33616 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33617 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33618 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33619 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33620
32a71655 336212009-08-26 Bean <bean123ch@gmail.com>
33622
33623 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33624 64-bit number.
33625 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33626 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33627 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33628
552bf6c5 336292009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33630
33631 NetBSD memory map support.
33632
33633 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33634 (grub_netbsd_btinfo_mmap_header): New structure.
33635 (grub_netbsd_btinfo_mmap_entry): Likewise.
33636 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33637
1ae2078c 336382009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33639
33640 Enable bsd.mod on coreboot.
33641
33642 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33643 (bsd_mod_SOURCES): New variable.
33644 (bsd_mod_CFLAGS): Likewise.
33645 (bsd_mod_LDFLAGS): Likewise.
33646 (bsd_mod_ASFLAGS): Likewise.
33647 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33648 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33649
beefc598 336502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33651
33652 Cleanup NetBSD root support.
33653
33654 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33655 grub_bsd_get_device.
33656 Fix typo.
33657
3b76e68b 336582009-08-25 Felix Zielcke <fzielcke@z-51.de>
33659
33660 * util/grub.d/00_header.in: Move check for the video backend of
33661 gfxterm from here ...
33662 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33663 a suitable video backend.
33664
aea664ea 336652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33666
33667 Fix breakage in grub-setup.
33668
33669 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33670 "msdos_partition_map".
33671
ff747d50 336722009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33673
33674 Fix breakage in normal/auth.c.
33675
33676 * normal/auth.c (grub_iswordseparator): New function.
33677
e7e1f93f 336782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33679
33680 Authentication support.
33681
33682 * commands/password.c: New file.
33683 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33684 (password_mod_SOURCES): New variable.
33685 (password_mod_CFLAGS): Likewise.
33686 (password_mod_LDFLAGS): Likewise.
33687 (normal_mod_SOURCES): Add normal/auth.c.
33688 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33689 normal/auth.c.
33690 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33691 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33692 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33694 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33695 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33696 * include/grub/auth.h: New file.
33697 * include/grub/err.h (grub_err_t): New enum value
33698 GRUB_ERR_ACCESS_DENIED.
33699 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33700 'users'.
33701 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33702 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33703 users updated.
33704 * normal/auth.c: New file.
33705 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33706 (grub_cmdline_run): Don't allow to go to command line without
33707 authentication.
33708 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33709 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33710 menuentry without superuser rights.
33711 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33712 user isn't a superuser.
33713
70f1161d 337142009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33715
33716 Save space by inlining misc.c functions.
33717
33718 * kern/misc.c (grub_iswordseparator): Made static.
33719 * kern/misc.c (grub_strcat): Moved from here ...
33720 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33721 * kern/misc.c (grub_strncat): Moved from here ...
33722 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33723 * kern/misc.c (grub_strcasecmp): Moved from here ...
33724 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33725 * kern/misc.c (grub_strncasecmp): Moved from here ...
33726 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33727 * kern/misc.c (grub_isalpha): Moved from here ...
33728 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33729 * kern/misc.c (grub_isdigit): Moved from here ...
33730 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33731 * kern/misc.c (grub_isgraph): Moved from here ...
33732 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33733 * kern/misc.c (grub_tolower): Moved from here ...
33734 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33735
48e40bff 337362009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33737
33738 * script/sh/function.c (grub_script_function_find): Cut error message
33739 not to flood terminal.
33740 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33741 limit.
33742 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33743
c385bfc3 337442009-08-24 Colin Watson <cjwatson@ubuntu.com>
33745
33746 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33747 `report' grub_uint8_t *.
33748 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33749 Use a 50-millisecond timeout rather than just repeating
33750 grub_usb_keyboard_getreport 50 times.
33751 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33752
2d21e3e8 337532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33754
33755 Rename *_partition_map to part_*
33756
33757 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33758 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33759 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33760 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33761 All users updated.
33762 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33763 All users updated.
33764 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33765 * util/grub-probe.c (probe_partmap): Don't transform partition name
33766 to get module name.
33767
dd103c4e 337682009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33769
33770 Fix OpenBSD and NetBSD support.
33771
33772 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33773 memory address conflict.
33774 (OPENBSD_MMAP_ACPI): New definition.
33775 (OPENBSD_MMAP_NVS): Likewise.
33776 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33777 and OPENBSD_MMAP_NVS.
33778 Add memory map terminator
33779 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 33780 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 33781
16c84d74 337822009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33783
33784 Let user specify NetBSD root device.
33785
33786 * loader/i386/bsd.c (netbsd_root): New variable.
33787 (netbsd_opts): New option 'root'.
33788 (NETBSD_ROOT_ARG): New macro.
33789 (grub_netbsd_boot): Use 'netbsd_root'.
33790 (grub_bsd_unload): Free 'netbsd_root'.
33791 (grub_cmd_netbsd): Fill 'netbsd_root'.
33792
adb29902 337932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33794
33795 Support for 64-bit NetBSD.
33796
33797 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33798 point when booting non-FreeBSD.
33799
f5ae9f74 338002009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33801
33802 Support --no-smp and --no-acpi for NetBSD.
33803
33804 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33805 (NETBSD_AB_NOACPI): Likewise.
33806 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33807 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33808
de74f136 338092009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33810
33811 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33812 errors.
33813 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33814 errors. Call grub_error when needed.
33815
e9a925da 338162009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33817
33818 * commands/search.c (search_fs): Try searching without autoload first.
33819 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33820 filesystem module explicitly for faster booting.
33821
5174302b 338222009-08-23 Colin Watson <cjwatson@ubuntu.com>
33823
33824 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33825
c8c80635 338262009-08-23 Colin Watson <cjwatson@ubuntu.com>
33827
33828 * util/grub.d/30_os-prober.in: Disable os-prober if
33829 `GRUB_DISABLE_OS_PROBER' was set to true.
33830
71acf5e5 338312009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33832
33833 * partmap/pc.c: Rename to ...
33834 * partmap/msdos.c: ... this. Update all users.
33835 (grub_pc_partition_map): Rename to ...
33836 (grub_msdos_partition_map): ... this. Update all users.
33837
33838 * parttool/pcpart.c: Rename to ...
33839 * parttool/msdospart.c: ... this. Update all users.
33840
33841 * include/grub/pc_partition.h: Rename to ...
33842 * include/grub/msdos_partition.h: ... this. Update all users.
33843 (grub_pc_partition_bsd_entry): Rename to ...
33844 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33845 (grub_pc_partition_disk_label): Rename to ...
33846 (grub_msdos_partition_disk_label): ... this. Update all users.
33847 (grub_pc_partition_entry): Rename to ...
33848 (grub_msdos_partition_entry): ... this. Update all users.
33849 (grub_pc_partition_mbr): Rename to ...
33850 (grub_msdos_partition_mbr): ... this. Update all users.
33851 (grub_pc_partition): Rename to ...
33852 (grub_msdos_partition): ... this. Update all users.
33853 (grub_pc_partition_is_empty): Rename to ...
33854 (grub_msdos_partition_is_empty): ... this. Update all users.
33855 (grub_pc_partition_is_extended): Rename to ...
33856 (grub_msdos_partition_is_extended): ... this. Update all users.
33857 (grub_pc_partition_is_bsd): Rename to ...
33858 (grub_msdos_partition_is_bsd): ... this. Update all users.
33859
33860 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33861 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33862 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33863 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33864 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33865 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33866 (gpt_mod_LDFLAGS): Rename to ...
33867 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33868 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33869 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33870 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33871 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33872 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33873 (part_gpt_mod_LDFLAGS): ... this.
33874 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33875 `pcpart.mod' to `msdospart.mod'.
33876 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33877 to ...
33878 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33879 (msdospart_mod_LDFLAGS): ... this.
33880
c11fded5 338812009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33882
33883 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33884 (openbsd_opts): Likewise.
33885 (netbsd_opts): Likewise.
33886 (freebsd_flags): Added 0 terminator.
33887 (openbsd_flags): Likewise.
33888 (netbsd_flags): Likewise.
33889 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33890 (grub_cmd_freebsd): Transformed into extended command.
33891 (grub_cmd_openbsd): Likewise.
33892 (grub_cmd_netbsd): Likewise.
33893 (cmd_freebsd): Changed type to grub_extcmd_t.
33894 (cmd_openbsd): Likewise.
33895 (cmd_netbsd): Likewise.
33896 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33897 grub_cmd_openbsd as extended commands.
33898 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33899 cmd_netbsd and cmd_openbsd
33900
11d1c769 339012009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33902
33903 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33904
7a9094e5 339052009-08-21 Pavel Roskin <proski@gnu.org>
33906
5496c37e 33907 * Makefile.in (install-local): When checking if a file is in the
33908 build directory, use "test -e" to detect symlinks.
33909
7a9094e5 33910 * Makefile.in (install-local): Remove all files in
33911 $(DESTDIR)$(pkglibdir) before installing new files there.
33912
e53cea11 339132009-08-18 Felix Zielcke <fzielcke@z-51.de>
33914
33915 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33916 grub-mkelfimage.
33917
9aced544 339182009-08-18 Felix Zielcke <fzielcke@z-51.de>
33919
33920 * util/grub-mkconfig.in: Don't use gfxterm by default if not
33921 explicitly specified by the user.
33922
b7da6bab 339232009-08-18 Pavel Roskin <proski@gnu.org>
33924
33925 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
33926 grub_uint8_t pointer for data.
33927 * include/grub/fbutil.h (struct grub_video_fbblit_info):
33928 Likewise.
33929 * video/fb/fbutil.c: Remove unnecessary casts.
33930
19f1b335 339312009-08-17 Michal Suchanek <hramrach@centrum.cz>
33932
33933 VBE cleanup.
33934
33935 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
33936 (grub_vbe_set_video_mode): Save active mode info
33937 only after setting the mode.
33938 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
33939 second argument.
33940
2f467aa9 339412009-08-17 Michal Suchanek <hramrach@centrum.cz>
33942
33943 Rename variables for clarity.
33944
33945 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
33946 (active_vbe_mode_info): ... this. All users updated.
33947 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
33948 All users updated.
33949 (initial_mode): Rename to ...
33950 (initial_vbe_mode): ... this. All users updated.
33951 (mode_in_use): Rename to ..
33952 (vbe_mode_in_use): ... this. All users updated.
33953 (mode_list): Rename to ..
33954 (vbe_mode_list): ... this. All users updated.
33955 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
33956 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
33957 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
33958 'mode_list_size' to 'vbe_mode_list_size'.
33959 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
33960 'best_mode_info' to 'best_vbe_mode_info' and
33961 'best_mode' to 'best_vbe_mode'
33962
6025fcd7 339632009-08-17 Michal Suchanek <hramrach@centrum.cz>
33964
33965 Remove duplicate grub_video_fb_get_video_ptr.
33966
33967 * include/grub/fbutil.h (get_data_ptr): Rename to ...
33968 (grub_video_fb_get_video_ptr): ... this.
33969 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
33970 * video/fb/fbutil.c: Add comment about addressing.
33971 (get_data_ptr): Rename to ...
33972 (grub_video_fb_get_video_ptr): ... this. All users updated.
33973 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
33974
cc8c6faf 339752009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33976
33977 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
33978 grub_dprintf() that was just added.
33979
08aa61f0 339802009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33981
33982 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
33983 (DEFAULT_VIDEO_MODE): Remove macros.
33984 (grub_linux_boot): Remove assumption that Linux has FB support,
33985 and use "text" as default video mode.
33986
7cef4f75 339872009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
33988
33989 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
33990 grub_dprintf.
33991 * fs/fat.c (grub_fat_read_data): Likewise.
33992
e1f39873 339932009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33994
33995 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
33996 payload.
33997 (grub_module): Likewise.
33998
c166d79e 339992009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34000
34001 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34002 mbi->cmdline but free playground.
34003
c60cee8e 340042009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34005
34006 Handle group offset on UFS1.
34007
34008 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34009 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34010
c0d8b5d4 340112009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34012
34013 Split ufs.mod into ufs1.mod and ufs2.mod.
34014
34015 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34016 (grub_fstest_SOURCES): Likewise.
34017 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34018 (ufs_mod_SOURCES): Remove.
34019 (ufs_mod_CFLAGS): Likewise.
34020 (ufs_mod_LDFLAGS): Likewise.
34021 (ufs1_mod_SOURCES): New variable.
34022 (ufs1_mod_CFLAGS): Likewise.
34023 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 34024 (ufs2_mod_SOURCES): New variable.
34025 (ufs2_mod_CFLAGS): Likewise.
34026 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 34027 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34028 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34029 Likewise.
34030 (grub_emu_SOURCES): Likewise.
34031 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34032 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34033 (grub_setup_SOURCES): Likewise.
34034 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34035 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34036 (grub_setup_SOURCES): Likewise.
34037 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34038 Likewise.
34039 * fs/ufs2.c: New file.
34040 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34041
d3539132 340422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34043
34044 Framebuffer split.
34045
34046 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34047 subsystem at the end.
34048 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34049 (video_fb_mod_SOURCES): New variable.
34050 (video_fb_mod_CFLAGS): Likewise.
34051 (video_fb_mod_LDFLAGS): Likewise.
34052 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34053 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34054 * video/i386/pc/vbeblit.c: Moved from here ...
34055 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34056 * video/i386/pc/vbefill.c: Moved from here ...
34057 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34058 * video/i386/pc/vbeutil.c: Moved from here ...
34059 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34060 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34061 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34062 * include/grub/i386/pc/vbefill.h: Moved from here ...
34063 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34064 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34065 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34066 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34067 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34068 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34069 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34070 (grub_video_adapter): Added 'get_info_and_fini'.
34071 (grub_video_get_info_and_fini): New prototype.
34072 (grub_video_set_mode): make modestring const char *.
34073 * loader/i386/linux.c (grub_linux_setup_video): Use
34074 grub_video_get_info_and_fini.
34075 (grub_linux_boot): Move modesetting just before booting.
34076 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34077 grub_video_get_info_and_fini.
34078 * video/i386/pc/vbe.c: Moved framebuffer part ...
34079 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34080 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34081 grub_video_fbstd_colors and grub_video_fb_set_palette.
34082 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34083 grub_video_fb_init.
34084 (grub_video_vbe_fini): Use grub_video_fb_fini.
34085 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34086 render_target and use grub_video_fb_set_active_render_target and
34087 grub_video_fb_set_palette.
34088 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34089 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34090 (grub_video_vbe_adapter): Use framebuffer.
34091 * video/video.c (grub_video_get_info_and_fini): New function.
34092 (grub_video_set_mode): Make modestring const char *.
34093 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34094 values are already initialised.
34095
d404ee56 340962009-08-14 Pavel Roskin <proski@gnu.org>
34097
34098 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34099 ABS and APPLE_CC.
34100 * boot/i386/pc/diskboot.S: Likewise.
34101 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34102 sectors allow compilation on MacOSX.
34103 * conf/i386-pc.rmk: Enable unconditional compilation of
34104 lnxboot.img.
34105
9a10df16 341062009-08-13 Colin Watson <cjwatson@ubuntu.com>
34107
34108 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34109 * util/grub.d/00_header.in: Enter interruptible sleep if
34110 GRUB_HIDDEN_TIMEOUT is set.
34111
be3c9ca7 341122009-08-13 Yves Blusseau <blusseau@zetam.org>
34113
34114 * include/grub/symbol.h: Add the LOCAL macro.
34115 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34116 starting with "L_".
34117
1f9e557e 341182009-08-13 Pavel Roskin <proski@gnu.org>
34119
9ca62843 34120 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34121 any modern compilers we support.
34122
1f9e557e 34123 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34124 Use local labels starting with "L_" so that Apple assembler
34125 knows they are local.
34126
81623db6 341272009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34128
34129 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34130 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34131 (bsd_kernel_types): ... this enum.
34132
34133 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34134 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34135 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34136
34137 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34138 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34139 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34140 messages.
34141
f5d35e7a 341422009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34143
34144 * util/grub-dumpdevtree: Moved from here ...
34145 * util/i386/efi/grub-dumpdevtree: ... to here.
34146 (hexify): New function. Converts a string to its hex version.
34147 Generate hex versions of "efi" and "device-properties" by calling
34148 hexify() on the ASCII strings rather than by hardcoding numbers.
34149
d1e1d527 341502009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34151
34152 * fs/jfs.c: Update copyright year.
34153
1ebbe064 341542009-08-08 Felix Zielcke <fzielcke@z-51.de>
34155
34156 * util/grub.d/00_header.in: Fix a comment.
34157 * util/grub.d/10_linux.in: Likewise.
34158 * util/grub.d/10_windows.in: Likewise.
34159 * util/grub.d/10_hurd.in: Likewise.
34160
a78c8d24 341612009-08-08 Felix Zielcke <fzielcke@z-51.de>
34162
34163 * util/grub-mkconfig.in: Allow the user to specify the used font
34164 with GRUB_FONT.
34165
29a6b9e8 341662009-08-08 Pavel Roskin <proski@gnu.org>
34167
b5f16cc4 34168 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34169 available, xfs.mod needs it now.
34170
2f5cb827 34171 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34172 the "g" modifier in sed when the intention is to strip something
34173 once. This fixes comparison of kernels with multiple dashes.
34174
29a6b9e8 34175 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34176 on it. Add missing space before closing bracket. Fix
34177 misleading formatting.
34178
892a3d98 341792009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34180
34181 * docs/grub.texi: Major overhaul. Remove all sections that are
34182 specific to GRUB Legacy, or mostly composed of Legacy-specific
34183 information.
34184
ed94253f 341852009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34186
34187 * docs/version.texi: New file. Provides version information for
34188 grub.texi.
34189
126d6628 341902009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34191
34192 * docs/grub.texi: Update CVS information to SVN.
34193 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34194
998b5aa9 341952009-08-07 Felix Zielcke <fzielcke@z-51.de>
34196
34197 * util/grub-mkconfig.in: Remove a wrong `fi'.
34198
818e094a 341992009-08-07 Felix Zielcke <fzielcke@z-51.de>
34200
34201 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34202 (grub_jfs_uuid): New function.
34203 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34204
b969c52f 342052009-08-07 Felix Zielcke <fzielcke@z-51.de>
34206
34207 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34208 of it to ...
34209 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34210 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34211
7a4894cc 342122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34213
34214 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34215 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34216 Update all users.
34217
34218 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34219 not just "vmlinu[zx]".
34220 Moved from here ...
34221 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34222 all users.
34223
34224 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34225 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34226 all users.
34227
4e2171f8 342282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34229
34230 * util/grub.d/10_freebsd.in: Use an absolute device path for
34231 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34232
6dcfcb32 342332009-08-06 Felix Zielcke <fzielcke@z-51.de>
34234
34235 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34236 handling of multiple abstraction modules.
34237
f56a8756 342382009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34239
34240 Fix a bug resulting in black screen when loading Linux using a
34241 packed video mode.
34242
34243 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34244 function.
34245
34246 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34247 (grub_vbe_bios_getset_dac_palette_width): New function.
34248 (grub_vbe_bios_get_dac_palette_width)
34249 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34250 grub_vbe_bios_getset_dac_palette_width()).
34251
34252 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34253 check for return status.
34254 (grub_vbe_get_video_mode_info): When getting information for a packed
34255 mode (<= 8 bpp), obtain DAC palette width using
34256 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34257 {red,green,blue}_mark_size.
34258
222671b2 342592009-08-04 Felix Zielcke <fzielcke@z-51.de>
34260
ecb1a6d9 34261 * commands/search.c (options): Fix help output to match actual code.
222671b2 34262
f84114f5 342632009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34264
34265 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34266 of homegrown code.
34267
bd288a20 342682009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34269
34270 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34271 on XFS or ReiserFS.
34272
8aab5e25 342732009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34274
34275 Support Apple partition map with sector size different from 512 bytes.
34276
34277 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34278 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34279 and 'apart.partmap_size'.
34280
6ad6258a 342812009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
342822009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34283
34284 Fix cpuid command.
34285
34286 * commands/i386/cpuid.c (options): New variable.
34287 (grub_cmd_cpuid): Return real error.
34288 (GRUB_MOD_INIT(cpuid)): Declare options.
34289
67459bc6 342902009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34291
34292 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34293 valid.
34294
fbc6ab54 342952009-07-31 Bean <bean123ch@gmail.com>
34296
34297 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34298 log2_inode.
34299 (grub_fshelp_node): Move inode field to the end.
34300 (grub_xfs_data): Remove inode field.
34301 (grub_xfs_inode_block): Calculate inode size using sblock.
34302 (grub_xfs_inode_offset): Likewise.
34303 (grub_xfs_read_inode): Calculate inode size using sblock.
34304 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34305 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34306 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34307 to match inode size.
34308 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34309 not accessible when data is null.
34310 (grub_xfs_open): Likewise.
34311
f45d6cfc 343122009-07-31 Bean <bean123ch@gmail.com>
34313
34314 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34315 Don't change pv->disk if it's already set.
34316
34317 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34318 (grub_raid_register): ... here.
34319 (grub_raid_rescan): Removed.
34320
34321 * include/grub/raid.h (grub_raid_rescan): Removed.
34322
34323 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34324 (fstest): Replace grub_raid_rescan with module fini function followed
34325 by init function.
34326
34327 * util/grub-probe.c: Add include file <grub/raid.h>.
34328 (probe_raid_level): New function.
34329 (probe): Detect abstraction by walking the disk device, support two
34330 level of abstraction (LVM on RAID) when detecting partition map.
34331
24443b5a 343322009-07-31 Pavel Roskin <proski@gnu.org>
34333
34334 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34335 to grub_zalloc(), it was erroneous.
34336 Reported by Bean <bean123ch@gmail.com>
34337
a275d9e7 343382009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34339
34340 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34341 embedding zone, not only the first one.
a275d9e7 34342
56c5a47f 343432009-07-29 Joe Auricchio <jauricchio@gmail.com>
34344
34345 * term/gfxterm.c (clear_char): New function.
34346 (grub_virtual_screen_setup): Use clear_char.
34347 (scroll_up): Likewise.
34348 (grub_virtual_screen_cls): Likewise.
34349
67bb323a 343502009-07-29 Felix Zielcke <fzielcke@z-51.de>
34351
34352 * util/deviceiter.c (get_acceleraid_disk_name): New static
34353 function.
34354 (grub_util_iterate_devices): Handle Accelraid devices.
34355 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34356
388a7c75 343572009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34358
34359 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34360 separator for the suggested gfxpayload string (';' collides with the
34361 parser and needs escaping).
34362
3bb7abcf 343632009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34364
34365 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34366 Clear direction flag before jumping to OS.
34367 (grub_multiboot2_real_boot): Likewise.
34368
2ddd36d7 343692009-07-28 Felix Zielcke <fzielcke@z-51.de>
34370
34371 * util/i386/pc/grub-install: Fix parsing of --disk-module
34372 option.
34373
c521b62b 343742009-07-28 Felix Zielcke <fzielcke@z-51.de>
34375
34376 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34377 when embedding.
34378
880e0a0c 343792009-07-26 Felix Zielcke <fzielcke@z-51.de>
34380
34381 * util/grub-mkconfig.in (package_version): New variable.
34382 Use it do display the version.
34383
2366e356 343842009-07-25 Felix Zielcke <fzielcke@z-51.de>
34385
34386 * kern/file.c (grub_file_open): Revert to previous check with
34387 grub_errno.
34388
7ad8c80e 343892009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34390
34391 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34392 from help line. It's out of sync with code.
34393
72b9658b 343942009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34395
34396 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34397 entries on failed boot.
34398
77435277 343992009-07-25 Felix Zielcke <fzielcke@z-51.de>
34400
34401 * kern/file.c (grub_file_open): Fix an error check.
34402
fcaa8b21 344032009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34404
35d16c74 34405 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34406 partition map couldn't be identified.
fcaa8b21 34407
48904cd1 344082009-07-23 Pavel Roskin <proski@gnu.org>
34409
ef3c317f 34410 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34411 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34412 case of little endian words becomes just an optimization.
34413 Respect const modifier.
ad8ea1f4 34414 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34415
48904cd1 34416 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34417 to avoid loss of upper bits if align is unsigned and shorter
34418 than addr.
34419
260c9a89 344202009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34421
34422 UUID support for UFS
34423
34424 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34425 (grub_ufs_uuid): New function.
34426 (grub_ufs_fs): add .uuid
34427
f76ce889 344282009-07-21 Pavel Roskin <proski@gnu.org>
34429
34430 * kern/dl.c (grub_dl_check_header): Make static.
34431
6a6cbcaf 344322009-07-21 Felix Zielcke <fzielcke@z-51.de>
34433
34434 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34435 add drivemap for Vista. It breaks Windows 7.
34436
cffcddb2 344372009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34438
34439 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34440 128 bytes
34441
1ef44b80 344422009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34443
34444 Add BFS support
34445
34446 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34447 (grub_fstest_SOURCES): Likewise.
34448 (pkglib_MODULES): Add befs.mod.
34449 (befs_mod_SOURCES): New variable.
34450 (befs_mod_CFLAGS): Likewise.
34451 (befs_mod_LDFLAGS): Likewise.
34452 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34453 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34454 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34455 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34456 (grub_setup_SOURCES): Likewise.
34457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34458 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34459 (grub_setup_SOURCES): Likewise.
34460 * fs/befs.c: New file.
34461 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34462 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34463 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34464 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34465 (B_KEY_INDEX_ALIGN): New declaration.
34466 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34467 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34468 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34469 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34470 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34471 (grub_afs_mount) [MODE_BFS]: Likewise.
34472 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34473 (grub_afs_fs): Use GRUB_AFS_FSNAME
34474 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34475 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34476 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34477 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34478
4f253044 344792009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34480
34481 * util/getroot.c (find_root_device): Add support for MacOSX.
34482 * util/hostdisk.c: Likewise.
34483
57a55913 344842009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34485
34486 * font/font.c (find_glyph): Check whether a font is present to avoid
34487 segmentation fault.
75421ca9 34488
344892009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34490
34491 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34492
e98cd0c2 344932009-07-20 Pavel Roskin <proski@gnu.org>
34494
34495 * configure.ac: Trim excessively wordy excuses.
34496
1d2d169a 344972009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34498
34499 Add symlink, mtime and label support to AtheFS.
34500
34501 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34502 (grub_afs_iterate_dir): Handle symlinks.
34503 (grub_afs_open): Use grub_afs_read_symlink.
34504 (grub_afs_dir): Likewise.
34505 Pass mtime.
34506 (grub_afs_label): New function.
34507 (grub_afs_fs): Add grub_afs_label.
34508 (grub_afs_read_symlink): New function.
34509
186f3189 345102009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34511
34512 Fix AtheFS support.
34513
34514 * fs/afs.c: Fix comments style.
34515 (grub_afs_blockrun): Declare as packed.
34516 (grub_afs_datastream): Likewise.
34517 (grub_afs_bnode): Likewise.
34518 (grub_afs_btree): Likewise.
34519 (grub_afs_sblock): Likewise.
34520 Declare `name' as char.
34521 (grub_afs_inode): Declare as packed.
34522 Change void *vnode to grub_uint32_t unused.
34523 (grub_afs_iterate_dir): Check that key_size is positive.
34524 (grub_afs_mount): Don't read superblock twice.
75421ca9 34525 (grub_afs_dir): Don't free node in case of error,
186f3189 34526 grub_fshelp_find_file already handles this.
34527 (grub_afs_open): Likewise.
34528
5680109e 345292009-07-19 Pavel Roskin <proski@gnu.org>
34530
34531 * Makefile.in: Remove LIBLZO and enable_lzo.
34532 * conf/i386-pc.rmk: Remove lzo support.
34533 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34534 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34535 support.
34536 * kern/i386/pc/lzo1x.S: Remove.
34537 * kern/i386/pc/startup.S: Remove lzo support.
34538 * util/i386/pc/grub-mkimage.c: Likewise.
34539
ac70fa32 345402009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34541
34542 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34543 * fs/xfs.c (grub_xfs_dir): Likewise.
34544 * fs/afs.c (grub_afs_dir): Likewise.
34545 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34546 (grub_iso9660_open): Likewise.
34547 * fs/jfs.c (grub_jfs_open): Likewise.
34548 * fs/ext2.c (grub_ext2_dir): Likewise.
34549 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34550 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34551
eab58da2 345522009-07-16 Pavel Roskin <proski@gnu.org>
34553
d2838156 34554 * configure.ac: Never add "-c" to CFLAGS.
34555
55c70904 34556 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34557
43e6200c 34558 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34559 grub_cv_cc_efiemu should be used.
34560
ce7a733d 34561 * configure.ac: Typo fixes.
34562
eab58da2 34563 * kern/mm.c (grub_zalloc): New function.
34564 (grub_debug_zalloc): Likewise.
34565 * include/grub/mm.h: Declare grub_zalloc() and
34566 grub_debug_zalloc().
34567 * util/misc.c (grub_zalloc): New function.
34568 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34569 instead of grub_malloc(), remove unneeded initializations.
34570 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34571 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34572 * commands/parttool.c (grub_cmd_parttool): Likewise.
34573 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34574 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34575 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34576 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34577 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34578 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34579 (grub_cmd_efiemu_pnvram): Likewise.
34580 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34581 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34582 (grub_iso9660_iterate_dir): Likewise.
34583 * fs/jfs.c (grub_jfs_opendir): Likewise.
34584 * fs/ntfs.c (list_file): Likewise.
34585 (grub_ntfs_mount): Likewise.
34586 * kern/disk.c (grub_disk_open): Likewise.
34587 * kern/dl.c (grub_dl_load_core): Likewise.
34588 * kern/elf.c (grub_elf_file): Likewise.
34589 * kern/env.c (grub_env_context_open): Likewise.
34590 (grub_env_set): Likewise.
34591 (grub_env_set_data_slot): Likewise.
34592 * kern/file.c (grub_file_open): Likewise.
34593 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34594 * loader/i386/multiboot.c (grub_module): Likewise.
34595 * loader/xnu.c (grub_xnu_create_key): Likewise.
34596 (grub_xnu_create_value): Likewise.
34597 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34598 (read_config_file): Likewise.
34599 * normal/menu_entry.c (make_screen): Likewise.
34600 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34601 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34602 * script/sh/script.c (grub_script_parse): Likewise.
34603 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34604 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34605 * video/readers/png.c (grub_png_output_byte): Likewise.
34606 (grub_video_reader_png): Likewise.
34607
830afef7 346082009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34609
34610 Enable all targets that can be built by default
34611
830afef7 34612 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34613 grub-mkfont and grub-fstest if they can be built
34614
ee293aee 346152009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34616
34617 Fix hang and segmentation fault in grub-emu-usb
34618
34619 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34620 * util/usb.c (grub_libusb_devices): likewise
34621 (grub_libusb_init): rename to ...
34622 (GRUB_MOD_INIT (libusb)):...this
34623 (grub_libusb_fini): rename to ..
34624 (GRUB_MOD_FINI (libusb)):...this
34625 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34626 * include/grub/disk.h (grub_raid_init): removed, it's useless
34627 (grub_raid_fini): likewise
34628 (grub_lvm_init): likewise
34629 (grub_lvm_fini): likewise
34630 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34631 by grub_init_all
34632
94414221 346332009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34634
34635 Fix libusb
34636
34637 * Makefile.in (LIBUSB): new macro
34638 * genmk.rb (Utility/print_tail): new method
34639 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34640 (top level): call util.print_tail at the end.
34641
59ade63d 346422009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34643
34644 Make FreeBSD accept zpool.cache
34645
34646 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34647 type is /boot/zfs/zpool.cache
34648
a58da8c7 346492009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34650
34651 Fix 64-bit efiemu
34652
34653 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34654 correct wrong typedef
34655 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34656
20591577 346572009-07-15 Pavel Roskin <proski@gnu.org>
34658
560ca572 34659 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34660 * kern/disk.c (struct grub_disk_cache): Likewise.
34661
e8e8e4fd 34662 * commands/probe.c (options): Typo fix.
34663
fde24e10 34664 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34665 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34666 accordingly.
34667 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34668
379c54c1 34669 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34670 the end of "Error" to make the message more readable.
34671
7bd8f5bf 34672 * boot/i386/pc/boot.S (kernel_segment): Remove.
34673 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34674 for destination.
34675
40b132c5 34676 * boot/i386/pc/boot.S (boot_version): Remove.
34677 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34678 Remove.
34679
20591577 34680 * include/grub/i386/pc/boot.h: Sort all offsets.
34681 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34682 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34683 * boot/i386/pc/boot.S: Assert location of every offset listed in
34684 include/grub/i386/pc/boot.h.
34685
2df32b2c 346862009-07-13 Pavel Roskin <proski@gnu.org>
34687
44b5d879 34688 * include/grub/i386/coreboot/machine.h: Rename
34689 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34690 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34691 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34692
17dc3751 34693 * kern/dl.c: Force native word size to suppress warnings when
34694 compiling grub-emu.
34695
2df32b2c 34696 * kern/device.c (grub_device_iterate): Change struct part_ent to
34697 hold the name, not a pointer to it. Use one grub_malloc() per
34698 partition, not two. Free partition_name if grub_malloc() fails.
34699 Set ents to NULL only before grub_partition_iterate() is called.
34700
75c59f59 347012009-07-11 Bean <bean123ch@gmail.com>
34702
34703 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34704 childname.
34705
0ae1bf88 347062009-07-10 Bean <bean123ch@gmail.com>
347072009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34708
34709 * kern/ieee1275/openfw.c (grub_children_iterate)
34710 (grub_devalias_iterate): Fix size evaluation for property or path
34711 strings, which was broken since r2132.
34712
8279cade 347132009-07-07 Pavel Roskin <proski@gnu.org>
34714
7d8a52d3 34715 * commands/search.c (search_file): Merge into ...
34716 (search_fs): ... this. Accept search type as argument.
34717 (grub_cmd_search): Pass search type to search_fs().
34718
25f9a05a 34719 * include/grub/util/console.h: New file.
34720 * util/console.c: Use it instead of grub/machine/console.h.
34721 * util/grub-emu.c: Likewise.
34722
8279cade 34723 * lib/arg.c (find_long_option): Remove.
34724 (find_long): Add `len' argument, make `s' const char *.
34725 (grub_arg_parse): Parse long options in place, not in a
34726 temporary buffer.
34727
4a11b60f 347282009-07-06 Pavel Roskin <proski@gnu.org>
34729
99f68041 34730 * commands/search.c (search_fs): Fix potential NULL pointer
34731 dereference.
34732
4a11b60f 34733 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34734 function pointer.
34735
e110f4de 347362009-07-06 Daniel Mierswa <impulze@impulze.org>
34737
34738 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34739 comparison.
34740
46eeb6a2 347412009-07-05 Pavel Roskin <proski@gnu.org>
34742
bab74958 34743 * include/grub/i386/linux.h (struct linux_kernel_params):
34744 Restore padding3, it's still needed.
34745
46eeb6a2 34746 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34747 FreeBSD.
34748 * util/osdetect.lua: Likewise.
34749
b4a1dc79 347502009-07-05 Bean <bean123ch@gmail.com>
34751
34752 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34753
34754 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34755 (grub_lua_getenv): Likewise.
34756 (grub_lua_setenv): Likewise.
34757 (save_errno): New function.
34758 (push_result): Likewise.
34759 (grub_lua_enum_device): Likewise.
34760 (grub_lua_enum_file): Likewise.
34761 (grub_lua_file_open): Likewise.
34762 (grub_lua_file_close): Likewise.
34763 (grub_lua_file_seek): Likewise.
34764 (grub_lua_file_read): Likewise.
34765 (grub_lua_file_getline): Likewise.
34766 (grub_lua_file_getsize): Likewise.
34767 (grub_lua_file_getpos): Likewise.
34768 (grub_lua_file_eof): Likewise.
34769 (grub_lua_file_exist): Likewise.
34770 (grub_lua_add_menu): Likewise.
34771
34772 * script/lua/grub_lua.h (isupper): New inline function.
34773 (islower): Likewise.
34774 (ispunct): Likewise.
34775 (isxdigit): Likewise.
34776 (strcspn): Change to normal function.
34777 (strpbkr): New function declaration.
34778 (memchr): Likewise.
34779
34780 * script/lua/grub_main.c (scan_str): New function.
34781 (strcspn): Likewise.
34782 (strpbrk): Likewise.
34783 (memchr): Likewise.
34784
34785 * script/lua/linit.c (lualibs): Enable the string library.
34786
34787 * util/osdetect.lua: New file.
34788
2da92295 347892009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34790
34791 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34792 `capabilities' member.
34793
b2582ec9 347942009-07-02 Pavel Roskin <proski@gnu.org>
34795
34796 * genparttoollist.sh: Add missing newline at the end.
34797
32622956 347982009-07-01 Pavel Roskin <proski@gnu.org>
34799
87a7339e 34800 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34801
d23af54e 34802 * util/hostdisk.c (open_device): Remove `const' from
34803 `sysctl_size', as sysctlbyname() can change it (in this case it
34804 doesn't actually happen).
34805
c94b18a9 34806 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34807 using signed long int constants.
34808
c6cd3ef0 34809 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34810 constant to avoid a warning on FreeBSD.
34811
0df63420 34812 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34813 where it's needed.
34814
999577f1 34815 * Makefile.in: Install include/grub/machine symlink.
34816
6f41557f 34817 * Makefile.in: When installing symlinks, use "cp -fR", which
34818 works on FreeBSD and MacOSX.
34819 From Yves Blusseau <cl7m42e02@sneakemail.com>
34820
c8d22988 34821 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34822 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34823
1b96e952 34824 * util/misc.c: Move grub_reboot() and grub_halt() ...
34825 * util/grub-emu.c: ... here. Make main_env static.
34826 * include/grub/util/misc.h: Remove main_env.
34827
2ef0084d 34828 * kern/mm.c: Use correct format to print size_t.
34829
32622956 34830 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34831 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34832 * kern/powerpc/dl.c: Likewise.
34833 * kern/sparc64/dl.c: Likewise.
34834 * kern/x86_64/dl.c: Likewise.
34835
3f7f0cd0 348362009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34837
34838 Fix grub-emu build on sparc64-ieee1275.
34839
75421ca9 34840 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 34841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34842
211d06b5 348432009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34844
34845 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34846 (grub_reboot, grub_halt): New functions.
34847
34848 * util/i386/pc/misc.c: Delete. Update all users.
34849 * util/sparc64/ieee1275/misc.c: Likewise.
34850 * util/powerpc/ieee1275/misc.c: Likewise.
34851
aaf53e3c 348522009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34853
34854 * conf/i386.rmk (setjmp_mod_SOURCES)
34855 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34856 * conf/common.rmk (setjmp_mod_SOURCES)
34857 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34858 to use $(target_cpu).
34859 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34860 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34861 * conf/powerpc-ieee1275.rmk: Likewise.
34862 * conf/sparc64-ieee1275.rmk: Likewise.
34863
34864 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34865 $(target_cpu) for kern/$(target_cpu)/dl.c.
34866 * conf/i386-efi.rmk: Likewise.
34867 * conf/i386-ieee1275.rmk: Likewise.
34868 * conf/x86_64-efi.rmk: Likewise.
34869 * conf/i386-coreboot.rmk: Likewise.
34870 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34871 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34872 kern/$(target_cpu)/cache.S.
34873 * conf/sparc64-ieee1275.rmk: Likewise.
34874
a337130b 348752009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34876
34877 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34878 type to `grub_uint8_t', and adjust `padding9' accordingly.
34879
c6fe4d53 348802009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34881
b09db61d 34882 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34883
c6fe4d53 34884 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34885 assembly in final jump, using register constraints.
34886
b09db61d 34887 (grub_linux_boot): For text mode, initialize `have_vga' using
34888 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34889
34890 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34891 right before the final jump.
34892
34893 Set `video_mode' to 0x3.
34894
34895 Document initialization of `video_page', `video_mode' and
34896 `video_ega_bx'.
34897
28333ad0 348982009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34899
34900 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34901 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 34902 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 34903
02164e1b 349042009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34905
34906 Fix build on Debian / sparc.
34907
34908 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34909
18b6c557 349102009-06-28 Pavel Roskin <proski@gnu.org>
34911
85f2aab6 34912 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34913 fix a warning.
34914
18b6c557 34915 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34916
ad760f81 349172009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34918
34919 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
34920 `err'.
34921
87a4623b 349222009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34923
34924 Revert r2338.
34925
34926 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
34927 file can't be opened. grub_file_open() is already supposed to set
75421ca9 34928 grub_errno / grub_errmsg appropriately.
87a4623b 34929 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34930
8231fb77 349312009-06-27 Pavel Roskin <proski@gnu.org>
349322009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34933
34934 * include/grub/dl.h: Include grub/elf.h.
34935 (struct grub_dl): Add symtab field.
34936 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
34937 GRUB_MODULES_MACHINE_READONLY.
34938 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
34939 of the header for read-only modules.
34940 (grub_dl_unload): Free mod->symtab for read-only modules.
34941 * kern/i386/dl.c: Use mod->symtab.
34942 * kern/powerpc/dl.c: Likewise.
34943 * kern/sparc64/dl.c: Likewise.
34944 * kern/x86_64/dl.c: Likewise.
34945
34946 * conf/i386-qemu.rmk: New file.
34947 * kern/i386/qemu/startup.S: Likewise.
34948 * kern/i386/qemu/mmap.c: Likewise.
34949 * boot/i386/qemu/boot.S: Likewise.
34950 * include/grub/i386/qemu/time.h: Likewise.
34951 * include/grub/i386/qemu/serial.h: Likewise.
34952 * include/grub/i386/qemu/kernel.h: Likewise.
34953 * include/grub/i386/qemu/console.h: Likewise.
34954 * include/grub/i386/qemu/boot.h: Likewise.
34955 * include/grub/i386/qemu/init.h: Likewise.
34956 * include/grub/i386/qemu/machine.h: Likewise.
34957 * include/grub/i386/qemu/loader.h: Likewise.
34958 * include/grub/i386/qemu/memory.h: Likewise.
34959
34960 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
34961 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
34962 [qemu] (pkglib_IMAGES): Add `boot.img'.
34963 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
34964 [qemu] (boot_img_FORMAT): New variables.
34965 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
34966 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
34967 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
34968 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
34969 [qemu] (kernel_img_FORMAT): New variables.
34970
34971 * configure.ac: Recognise `i386-qemu'.
34972
34973 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
34974 (for no compression).
34975 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
34976 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
34977 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
34978 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
34979 ifdefs).
34980
97fe384e 349812009-06-27 Pavel Roskin <proski@gnu.org>
34982
34983 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
34984 read.
34985 * efiemu/prepare32.c: Likewise.
34986 * efiemu/prepare64.c: Likewise.
34987
c402ab17 349882009-06-26 Pavel Roskin <proski@gnu.org>
34989
34990 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
34991 * include/grub/elf.h: Define symbols without "32" or "64" based
34992 on GRUB_TARGET_WORDSIZE.
34993 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
34994 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
34995 ELF definitions.
34996 * efiemu/loadcore64.c: Likewise.
34997 * loader/i386/bsd32.c: Likewise.
34998 * loader/i386/bsd64.c: Likewise.
34999 * kern/dl.c: Remove own ELF definitions.
35000 * util/i386/efi/grub-mkimage.c: Likewise.
35001
9bbdfd4d 350022009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35003
35004 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35005 segment 0x0 unconditionally, because the reference generated by
35006 GAS is an absolute address.
35007
a42ce6e9 350082009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35009
35010 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35011 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35012
c952cf92 350132009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35014
35015 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35016 indexes. Check for -f explicitly.
cc3752ad 35017 (search_file): Improve error message.
35018 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 35019
132a0a59 350202009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35021
35022 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35023 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35024
387a140c 350252009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35026
35027 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35028 * conf/i386-ieee1275.rmk: Likewise.
35029 * conf/i386-coreboot.rmk: Likewise.
35030
35031 * kern/i386/pc/startup.S (grub_stop): Remove function.
35032 * kern/i386/ieee1275/startup.S: Likewise.
35033 * kern/i386/coreboot/startup.S: Likewise.
35034 * kern/i386/misc.S (grub_stop): New function.
35035
41da9665 350362009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35037
35038 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35039 * kern/i386/realmode.S (real_to_prot): ... to here.
35040
bf337234 350412009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35042
35043 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35044 with `kernel.img'.
35045 (kernel_elf_SOURCES): Rename to ...
35046 (kernel_img_SOURCES): ... this.
35047 (kernel_elf_HEADERS): Rename to ...
35048 (kernel_img_HEADERS): ... this. Update all users.
35049 (kernel_elf_ASFLAGS): Rename to ...
35050 (kernel_img_ASFLAGS): ... this.
35051 (kernel_elf_CFLAGS): Rename to ...
35052 (kernel_img_CFLAGS): ... this.
35053 (kernel_elf_LDFLAGS): Rename to ...
35054 (kernel_img_LDFLAGS): ... this.
35055 * conf/i386-coreboot.rmk: Likewise.
35056 * conf/powerpc-ieee1275.rmk: Likewise.
35057
35058 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35059 with "kernel.img".
35060
f52196ff 350612009-06-21 Pavel Roskin <proski@gnu.org>
35062
c3cee413 35063 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35064 to match nested functions.
35065 * loader/sparc64/ieee1275/linux.c: Likewise.
35066
f52196ff 35067 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35068
58750afc 350692009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35070
35071 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35072 all i386 platforms.
35073
15355c7d 350742009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35075
35076 Fix asm file handling on ELF, and remove workarounds.
35077
35078 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35079 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35080 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35081 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35082
3f3ec72b 350832009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35084
35085 Load BSD ELF modules
35086
35087 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35088 and loader/i386/bsd64.c
35089 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35090 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35091 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35092 (grub_freebsd_load_elfmodule32): New declaration
35093 (grub_freebsd_load_elfmoduleobj64): Likewise
35094 (grub_freebsd_load_elf_meta32): Likewise
35095 (grub_freebsd_load_elf_meta64): Likewise
35096 (grub_freebsd_add_meta): Likewise
35097 (grub_freebsd_add_meta_module): Likewise
35098 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35099 (grub_freebsd_add_meta_module): Likewise and move module-specific
35100 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35101 (grub_cmd_freebsd): Add elf-kernel specific parts
35102 based on grub_freebsd_add_meta_module
35103 (grub_cmd_freebsd_module): Add type parsing moved from
35104 grub_freebsd_add_meta_module
35105 (grub_cmd_freebsd_module_elf): New function
35106 (cmd_freebsd_module_elf): New variable
35107 (GRUB_MOD_INIT): Register freebsd_module_elf
35108 * loader/i386/bsd32.c: New file
35109 * loader/i386/bsd64.c: Likewise
35110 * loader/i386/bsdXX.c: Likewise
35111 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35112 (grub_elf64_load): Likewise
35113 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35114 All users updated
35115 (grub_elf64_load_hook_t): Likewise
35116
0db15301 351172009-06-21 Colin Watson <cjwatson@ubuntu.com>
35118
35119 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35120 variable.
35121 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35122 don't write a menu entry for recovery mode.
35123
546796c1 351242009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35125
35126 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35127 after it's no longer needed.
35128
cd7310d5 351292009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35130
35131 * include/grub/i386/loader.h (grub_linux_prot_size)
35132 (grub_linux_tmp_addr, grub_linux_real_addr)
35133 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35134 GRUB_MACHINE_PCBIOS.
35135 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35136 common grub_util_info() call to ...
35137 (generate_image): ... here.
35138 Fix use of uninitialized memory, comparison of signed with
35139 unsigned integers and memory leak.
35140 Remove bogus module address message.
35141
ab32d3b5 351422009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35143
35144 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35145 grub_raid_register
35146 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35147
024ef597 351482009-06-19 Pavel Roskin <proski@gnu.org>
35149
35150 * configure.ac: Remove stray AC_MSG_CHECKING.
35151
3ac72b51 351522009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35153
35154 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35155
e14cd814 351562009-06-18 Pavel Roskin <proski@gnu.org>
35157
35158 * conf/common.rmk: Add fs_file.mod.
35159 * disk/fs_file.c: New file.
35160 * include/grub/disk.h (enum grub_disk_dev_id): Add
35161 GRUB_DISK_DEVICE_FILE_ID.
35162
26586d98 351632009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35164
35165 Fix build with Apple's toolchain. Part 2
35166
35167 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35168 a fake start
35169
26de2bcd 351702009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35171
35172 Fix build with Apple's toolchain. Part 1
35173
35174 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35175 for long calls
35176 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35177 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35178 Apple's toolchain
35179
09b3490b 351802009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35181
35182 Fix warnings
35183
35184 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35185 (decomp_block): initialize ch
35186 use grub_memcpy instead of memcpy
35187
c22a006a 351882009-06-17 Pavel Roskin <proski@gnu.org>
35189
d3638678 35190 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35191 version, use declarations needed to use vga_text as the startup
35192 console.
35193
c22a006a 35194 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35195 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35196 the kernel.
35197 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35198 and grub_at_keyboard_fini(), it's done on module load and
35199 unload.
35200
05b129e0 352012009-06-17 Felix Zielcke <fzielcke@z-51.de>
35202
35203 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35204 file can't be found.
35205 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35206
cf24ed9e 352072009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35208
35209 Fix newline handling
35210
35211 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35212 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35213 (grub_script_yylex): don't segfault on unterminated script
35214 newline terminates command and variable
35215
74aa8e4b 352162009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35217
35218 avoid double grub_adjust_range call. Bug reported by David Simner
35219
35220 * kern/disk.c (grub_disk_write): change to raw disk access before
35221 calling disk_read
35222
1bd265f3 352232009-06-17 Colin Watson <cjwatson@ubuntu.com>
35224
35225 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35226 spaces, for the benefit of help2man.
35227 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35228
a2d08c06 352292009-06-16 Pavel Roskin <proski@gnu.org>
35230
35231 * kern/i386/halt.c: Include grub/machine/init.h.
35232 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35233
b97bcb19 352342009-06-16 Felix Zielcke <fzielcke@z-51.de>
35235
35236 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35237 drivemap menuentry.
35238
0644f96c 352392009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35240
35241 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35242 `echo' command.
35243
3ef17a2e 352442009-06-16 Pavel Roskin <proski@gnu.org>
35245
35246 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35247 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35248 save %dx, we only need %dl and we never change it.
35249 * boot/i386/pc/cdboot.S: Don't set the root drive.
35250 * boot/i386/pc/pxeboot.S: Likewise.
35251 * include/grub/i386/pc/boot.h: Remove
35252 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35253 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35254 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35255 * kern/i386/pc/init.c (make_install_device): Remove references
35256 to grub_root_drive.
35257 * kern/i386/pc/startup.S: Likewise.
35258 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35259
693fe637 352602009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35261
35262 xnu_uuid command
35263
35264 * commands/xnu_uuid.c: new file
35265 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35266 (xnu_uuid_mod_SOURCES): new variable
35267 (xnu_uuid_mod_CFLAGS): likewise
35268 (xnu_uuid_mod_LDFLAGS): likewise
35269 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35270 * conf/i386-ieee1275.rmk: likewise
35271 * conf/i386-pc.rmk: likewise
35272 * conf/powerpc-ieee1275.rmk: likewise
35273 * conf/sparc64-ieee1275.rmk: likewise
35274 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35275
c9da87d0 352762009-06-16 Pavel Roskin <proski@gnu.org>
35277
35278 * configure.ac: Avoid '==' in test command, it's not portable.
35279
9c6f4596 352802009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35281
35282 Probe command
35283
35284 * commands/probe.c: new file
35285 * conf/common.rmk (pkglib_MODULES): add probe.mod
35286 (probe_mod_SOURCES): new variable
35287 (probe_mod_CFLAGS): likewise
35288 (probe_mod_LDFLAGS): likewise
35289 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35290 * conf/i386-ieee1275.rmk: likewise
35291 * conf/i386-pc.rmk: likewise
35292 * conf/powerpc-ieee1275.rmk: likewise
35293 * conf/sparc64-ieee1275.rmk: likewise
35294
70b7f9fd 352952009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35296
35297 Fix handling of string like \"hello\" and "a
35298 b"
35299
35300 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35301 (grub_script_yylex): fix parsing of quoting, escaping and newline
35302
71c79a6b 353032009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35304
dd74360c 35305 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35306 handling
dd74360c 35307
0644f96c 353082009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35309
35310 * util/grub-mkconfig.in: Fix parsing of --output option.
35311
e40893c3 353122009-06-12 Pavel Roskin <proski@gnu.org>
35313
35314 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35315 genmk.rb don't need to be generated or installed.
35316
3a1acfe2 353172009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35318
35319 * commands/i386/pc/drivemap_int13h.S: add more comments
35320
3a4575d4 353212009-06-11 Pavel Roskin <proski@gnu.org>
35322
0658e928 35323 * Makefile.in (uninstall): Uninstall manuals.
35324
ca0388f0 35325 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35326 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35327 and update-grub_lib in two places.
35328 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35329
e3b27c39 35330 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35331 a compiler warning.
35332
3a4575d4 35333 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35334 `entry_lo' to fix variable shadowing.
35335
af1f4f55 353362009-06-11 Christian Franke <franke@computer.org>
35337
35338 * kern/misc.c (__enable_execute_stack): Add missing return type
35339 to prevent gcc warning.
35340
5225e649 353412009-06-11 Felix Zielcke <fzielcke@z-51.de>
35342
35343 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35344
7d83bd47 353452009-06-11 Pavel Roskin <proski@gnu.org>
35346
c1cb63ba 35347 * Makefile.in: Don't rely on any scripts being executable.
35348 Always use $(SHELL) to run shell scripts.
35349
7d83bd47 35350 * configure.ac: Always define ___main if using -nostdlib. This
35351 fixes tests on Cygwin.
35352
948f48e7 353532009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35354
35355 UDF fix
35356
7d83bd47 35357 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35358 is in bytes and not in blocks
7d83bd47 35359
8ada9bc1 353602009-06-11 Pavel Roskin <proski@gnu.org>
35361
35362 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35363 warning.
35364
25ad2323 353652009-06-11 Felix Zielcke <fzielcke@z-51.de>
35366
35367 * util/grub.d/30_os-prober.in: Fix a comment. Source
35368 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35369 to set the root device. Place drivemap command in the generated
35370 chain entry.
35371
e65acb0c 353722009-06-11 Pavel Roskin <proski@gnu.org>
35373
35374 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35375 have long been resolved.
35376
f285fe2d 353772009-06-11 Colin Watson <cjwatson@ubuntu.com>
35378
bd47b0b5 35379 * util/grub.d/10_linux.in: Capitalise "Linux".
35380
f285fe2d 35381 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35382
a0c62e4e 353832009-06-11 Pavel Roskin <proski@gnu.org>
35384
b6783cb2 35385 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35386 fix a gcc warning and ensure that the function won't ever exit.
35387
dde032e8 35388 * kern/i386/ieee1275/init.c: Add missing prototype for
35389 grub_stop_floppy().
35390
22cd079d 35391 * loader/ieee1275/multiboot2.c [__i386__]: Include
35392 grub/cpu/multiboot.h.
35393
a0c62e4e 35394 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35395 casts to short - they are not portable and cause warnings. Fix
35396 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35397
63963d17 353982009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35399
35400 Drivemap fixes
35401
35402 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35403 new function
35404 (grub_get_root_biosnumber_saved): new variable
35405 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35406 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35407 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35408 %dx after the call if necessary
35409 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35410 (boot_mod_SOURCES): remove
35411 (boot_mod_CFLAGS): remove
35412 (boot_mod_LDFLAGS): remove
35413 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35414 (boot_mod_SOURCES): new variable
35415 (boot_mod_CFLAGS): likewise
35416 (boot_mod_LDFLAGS): likewise
35417 * conf/i386-efi.rmk: likewise
35418 * conf/i386-ieee1275.rmk: likewise
35419 * conf/i386-pc.rmk: likewise
35420 * conf/powerpc-ieee1275.rmk: likewise
35421 * conf/sparc64-ieee1275.rmk: likewise
35422 * conf/x86_64-efi.rmk: likewise
35423 * include/grub/i386/pc/biosnum.h: new file
35424 * lib/i386/pc/biosnum.c: likewise
35425 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35426 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35427 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35428
33abf7ae 354292009-06-10 Pavel Roskin <proski@gnu.org>
35430
5ac35b35 35431 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35432 Use separate variables. Read only the file size at the end, but
35433 not the checksum that we don't use.
35434
5c5215d5 35435 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35436 Adjust all callers.
35437
27d5fef7 35438 * kern/ieee1275/openfw.c: Remove libc includes.
35439 * kern/ieee1275/cmain.c: Likewise.
35440 * include/grub/ieee1275/ieee1275.h: Likewise.
35441
33abf7ae 35442 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35443 compiler warnings.
35444
19d50c2b 354452009-06-10 Felix Zielcke <fzielcke@z-51.de>
35446
35447 * Makefile.in: Remove all trailing whitespace.
35448 * conf/i386-pc.rmk: Likewise.
35449 * conf/powerpc-ieee1275.rmk: Likewise.
35450 * conf/sparc64-ieee1275.rmk: Likewise.
35451 * docs/grub.texi: Likewise.
35452 * docs/texinfo.tex: Likewise.
35453 * disk/fs_uuid.c: Likewise.
35454 * disk/lvm.c: Likewise.
35455 * disk/scsi.c: Likewise.
35456 * disk/ata.c: Likewise.
35457 * disk/ieee1275/ofdisk.c: Likewise.
35458 * disk/i386/pc/biosdisk.c: Likewise.
35459 * disk/host.c: Likewise.
35460 * disk/raid.c: Likewise.
35461 * disk/efi/efidisk.c: Likewise.
35462 * disk/usbms.c: Likewise.
35463 * disk/memdisk.c: Likewise.
35464 * disk/loopback.c: Likewise.
35465 * kern/powerpc/dl.c: Likewise.
35466 * kern/device.c: Likewise.
35467 * kern/dl.c: Likewise.
35468 * kern/sparc64/dl.c: Likewise.
35469 * kern/ieee1275/ieee1275.c: Likewise.
35470 * kern/term.c: Likewise.
35471 * kern/fs.c: Likewise.
35472 * kern/i386/dl.c: Likewise.
35473 * kern/i386/pc/startup.S: Likewise.
35474 * kern/i386/pc/init.c: Likewise.
35475 * kern/i386/pc/mmap.c: Likewise.
35476 * kern/i386/pc/lzo1x.S: Likewise.
35477 * kern/i386/ieee1275/init.c: Likewise.
35478 * kern/i386/realmode.S: Likewise.
35479 * kern/i386/tsc.c: Likewise.
35480 * kern/partition.c: Likewise.
35481 * kern/corecmd.c: Likewise.
35482 * kern/file.c: Likewise.
35483 * kern/efi/efi.c: Likewise.
35484 * kern/efi/init.c: Likewise.
35485 * kern/efi/mm.c: Likewise.
35486 * kern/main.c: Likewise.
35487 * kern/err.c: Likewise.
35488 * kern/env.c: Likewise.
35489 * kern/disk.c: Likewise.
35490 * kern/generic/millisleep.c: Likewise.
35491 * kern/generic/rtc_get_time_ms.c: Likewise.
35492 * kern/misc.c: Likewise.
35493 * kern/parser.c: Likewise.
35494 * genmk.rb: Likewise.
35495 * configure.ac: Likewise.
35496 * boot/i386/pc/diskboot.S: Likewise.
35497 * boot/i386/pc/pxeboot.S: Likewise.
35498 * boot/i386/pc/boot.S: Likewise.
35499 * boot/i386/pc/lnxboot.S: Likewise.
35500 * boot/i386/pc/cdboot.S: Likewise.
35501 * parttool/pcpart.c: Likewise.
35502 * video/readers/tga.c: Likewise.
35503 * video/video.c: Likewise.
35504 * video/bitmap.c: Likewise.
35505 * lib/envblk.c: Likewise.
35506 * lib/i386/setjmp.S: Likewise.
35507 * fs/xfs.c: Likewise.
35508 * fs/afs.c: Likewise.
35509 * fs/fat.c: Likewise.
35510 * fs/ntfs.c: Likewise.
35511 * fs/udf.c: Likewise.
35512 * fs/affs.c: Likewise.
35513 * fs/iso9660.c: Likewise.
35514 * fs/hfs.c: Likewise.
35515 * fs/fshelp.c: Likewise.
35516 * fs/ext2.c: Likewise.
35517 * fs/jfs.c: Likewise.
35518 * fs/reiserfs.c: Likewise.
35519 * fs/hfsplus.c: Likewise.
35520 * fs/minix.c: Likewise.
35521 * fs/cpio.c: Likewise.
35522 * fs/sfs.c: Likewise.
35523 * fs/ufs.c: Likewise.
35524 * efiemu/prepare.c: Likewise.
35525 * efiemu/loadcore_common.c: Likewise.
35526 * efiemu/runtime/efiemu.sh: Likewise.
35527 * efiemu/runtime/efiemu.S: Likewise.
35528 * efiemu/runtime/efiemu.c: Likewise.
35529 * efiemu/pnvram.c: Likewise.
35530 * efiemu/main.c: Likewise.
35531 * efiemu/i386/pc/cfgtables.c: Likewise.
35532 * efiemu/i386/loadcore64.c: Likewise.
35533 * efiemu/i386/loadcore32.c: Likewise.
35534 * efiemu/loadcore.c: Likewise.
35535 * efiemu/symbols.c: Likewise.
35536 * efiemu/mm.c: Likewise.
35537 * include/grub/autoefi.h: Likewise.
35538 * include/grub/datetime.h: Likewise.
35539 * include/grub/term.h: Likewise.
35540 * include/grub/hfs.h: Likewise.
35541 * include/grub/lvm.h: Likewise.
35542 * include/grub/i386/tsc.h: Likewise.
35543 * include/grub/i386/linux.h: Likewise.
35544 * include/grub/i386/xnu.h: Likewise.
35545 * include/grub/i386/efiemu.h: Likewise.
35546 * include/grub/i386/pc/biosdisk.h: Likewise.
35547 * include/grub/i386/pc/memory.h: Likewise.
35548 * include/grub/i386/pc/vbe.h: Likewise.
35549 * include/grub/parttool.h: Likewise.
35550 * include/grub/video.h: Likewise.
35551 * include/grub/memory.h: Likewise.
35552 * include/grub/fs.h: Likewise.
35553 * include/grub/partition.h: Likewise.
35554 * include/grub/xnu.h: Likewise.
35555 * include/grub/efi/api.h: Likewise.
35556 * include/grub/efi/pe32.h: Likewise.
35557 * include/grub/efi/memory.h: Likewise.
35558 * include/grub/multiboot.h: Likewise.
35559 * include/grub/usbdesc.h: Likewise.
35560 * include/grub/multiboot2.h: Likewise.
35561 * include/grub/acpi.h: Likewise.
35562 * include/grub/efiemu/efiemu.h: Likewise.
35563 * include/grub/disk.h: Likewise.
35564 * include/grub/ieee1275/ieee1275.h: Likewise.
35565 * include/grub/net.h: Likewise.
35566 * include/grub/machoload.h: Likewise.
35567 * include/grub/macho.h: Likewise.
35568 * include/multiboot.h: Likewise.
35569 * genmoddep.awk: Likewise.
35570 * normal/main.c: Likewise.
35571 * normal/menu_entry.c: Likewise.
35572 * normal/menu_viewer.c: Likewise.
35573 * normal/completion.c: Likewise.
35574 * normal/cmdline.c: Likewise.
35575 * normal/misc.c: Likewise.
35576 * normal/datetime.c: Likewise.
35577 * bus/usb/usbtrans.c: Likewise.
35578 * bus/usb/ohci.c: Likewise.
35579 * bus/usb/uhci.c: Likewise.
35580 * bus/usb/usb.c: Likewise.
35581 * mmap/efi/mmap.c: Likewise.
35582 * mmap/i386/pc/mmap_helper.S: Likewise.
35583 * mmap/i386/pc/mmap.c: Likewise.
35584 * mmap/i386/mmap.c: Likewise.
35585 * mmap/i386/uppermem.c: Likewise.
35586 * mmap/mmap.c: Likewise.
35587 * commands/acpi.c: Likewise.
35588 * commands/echo.c: Likewise.
35589 * commands/blocklist.c: Likewise.
35590 * commands/loadenv.c: Likewise.
35591 * commands/usbtest.c: Likewise.
35592 * commands/boot.c: Likewise.
35593 * commands/parttool.c: Likewise.
35594 * commands/search.c: Likewise.
35595 * commands/cat.c: Likewise.
35596 * commands/i386/pc/play.c: Likewise.
35597 * commands/i386/pc/drivemap.c: Likewise.
35598 * commands/i386/pc/vbeinfo.c: Likewise.
35599 * commands/i386/pc/acpi.c: Likewise.
35600 * commands/i386/pc/vbetest.c: Likewise.
35601 * commands/ls.c: Likewise.
35602 * commands/cmp.c: Likewise.
35603 * commands/test.c: Likewise.
35604 * commands/efi/acpi.c: Likewise.
35605 * commands/gptsync.c: Likewise.
35606 * commands/help.c: Likewise.
35607 * partmap/amiga.c: Likewise.
35608 * partmap/apple.c: Likewise.
35609 * partmap/acorn.c: Likewise.
35610 * partmap/pc.c: Likewise.
35611 * partmap/sun.c: Likewise.
35612 * partmap/gpt.c: Likewise.
35613 * script/sh/lexer.c: Likewise.
35614 * script/sh/function.c: Likewise.
35615 * font/font.c: Likewise.
35616 * font/font_cmd.c: Likewise.
35617 * loader/powerpc/ieee1275/linux.c: Likewise.
35618 * loader/efi/chainloader.c: Likewise.
35619 * loader/multiboot_loader.c: Likewise.
35620 * loader/macho.c: Likewise.
35621 * loader/i386/multiboot.c: Likewise.
35622 * loader/i386/linux.c: Likewise.
35623 * loader/i386/pc/linux.c: Likewise.
35624 * loader/i386/pc/multiboot2.c: Likewise.
35625 * loader/i386/pc/chainloader.c: Likewise.
35626 * loader/i386/pc/xnu.c: Likewise.
35627 * loader/i386/bsd_trampoline.S: Likewise.
35628 * loader/i386/efi/linux.c: Likewise.
35629 * loader/i386/multiboot_elfxx.c: Likewise.
35630 * loader/i386/bsd_helper.S: Likewise.
35631 * loader/i386/bsd.c: Likewise.
35632 * loader/i386/linux_trampoline.S: Likewise.
35633 * loader/i386/xnu_helper.S: Likewise.
35634 * loader/i386/xnu.c: Likewise.
35635 * loader/i386/bsd_pagetable.c: Likewise.
35636 * loader/i386/multiboot_helper.S: Likewise.
35637 * loader/xnu.c: Likewise.
35638 * loader/xnu_resume.c: Likewise.
35639 * io/gzio.c: Likewise.
35640 * term/efi/console.c: Likewise.
35641 * term/terminfo.c: Likewise.
35642 * term/ieee1275/ofconsole.c: Likewise.
35643 * term/i386/pc/serial.c: Likewise.
35644 * term/i386/pc/vesafb.c: Likewise.
35645 * term/i386/pc/vga.c: Likewise.
35646 * term/usb_keyboard.c: Likewise.
35647 * term/gfxterm.c: Likewise.
35648 * aclocal.m4: Likewise.
35649 * util/lvm.c: Likewise.
35650 * util/grub.d/30_os-prober.in: Likewise.
35651 * util/grub.d/10_hurd.in: Likewise.
35652 * util/console.c: Likewise.
35653 * util/grub-macho2img.c: Likewise.
35654 * util/grub-probe.c: Likewise.
35655 * util/hostfs.c: Likewise.
35656 * util/i386/pc/grub-mkimage.c: Likewise.
35657 * util/i386/pc/grub-setup.c: Likewise.
35658 * util/i386/efi/grub-mkimage.c: Likewise.
35659 * util/grub-mkconfig.in: Likewise.
35660 * util/raid.c: Likewise.
35661 * util/resolve.c: Likewise.
35662 * util/grub-mkdevicemap.c: Likewise.
35663 * util/grub-emu.c: Likewise.
35664 * util/getroot.c: Likewise.
35665 * util/hostdisk.c: Likewise.
35666 * util/usb.c: Likewise.
35667 * util/grub-editenv.c: Likewise.
35668 * util/misc.c: Likewise.
35669
d2d49665 356702009-06-10 Felix Zielcke <fzielcke@z-51.de>
35671
35672 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35673 `genparttoollist.sh'.
35674 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35675 Add `*.sh' to the list find searches for and change `mdate.sh'
35676 to `mdate-sh'.
35677
fe052e37 356782009-06-10 Pavel Roskin <proski@gnu.org>
35679
2763ac18 35680 * include/grub/multiboot2.h: Provide compatibility defines for
35681 multiboot2.h.
35682 * include/multiboot2.h: Include stdint.h only if needed, using
35683 angle brackets.
35684 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35685 grub/multiboot2.h.
35686 * loader/ieee1275/multiboot2.c: Likewise.
35687 * loader/multiboot2.c: Likewise.
35688 * loader/multiboot_loader.c: Likewise.
35689
437e6adc 35690 * configure.ac: Use -nostdlib when probing for the target. It
35691 should not be required to have libc for the target.
35692
06a6836c 35693 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35694 they fail without libc headers for the target.
35695 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35696 exports.
35697 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35698 preprocessor conditionals.
35699
fe052e37 35700 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35701 build system doesn't need to be aware of the tar.c internals.
35702
afd22553 357032009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35704
afd22553 35705 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35706
6b787c4f 357072009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35708
35709 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35710 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35711
357122009-06-09 Felix Zielcke <fzielcke@z-51.de>
35713
35714 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35715 aren't available if ata.mod gets used.
6b787c4f 35716
473d1e45 357172009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35718
473d1e45 35719 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35720 initialising controller.
473d1e45 35721 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35722
255a27d4 357232009-06-08 Felix Zielcke <fzielcke@z-51.de>
35724
35725 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35726 to choose between ata and biosdisk module on i386-pc.
35727
473d1e45 357282009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35729
d55842d8 35730 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35731 Subclass and Programming Interface fields in terms of the 3 byte
35732 Class Code register.
35733 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35734
fa5db0b1 35735 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35736 interface is OHCI. Add grub_dprintf for symmetry with
35737 bus/usb/uhci.c.
35738 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35739 interface is UHCI. Add interf variable for programming
35740 interface. Print interface with class/subclass.
35741
c0947beb 35742 * bus/usb/ohci.c: Set interf with correct field.
35743
69da8877 35744 * bus/usb/uhci.c: Remove unneeded doubled lines.
35745 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35746 Remove whitespace inside comment.
35747
9e172e30 357482009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35749
35750 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35751 as fallback an equivalent option without depth.
35752
de65ee2b 357532009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35754
35755 Not fail if unable to retrieve C/H/S on LBA disks
35756
473d1e45 35757 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35758 if unable to retrieve C/H/S on LBA disks
35759
b57ea2c9 357602009-06-08 Pavel Roskin <proski@gnu.org>
35761
35762 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35763 about aliasing.
35764
af361263 357652009-06-08 Felix Zielcke <fzielcke@z-51.de>
35766
35767 * Makefile.in (uninstall): Remove all $lib_DATA files.
35768
4c9ec6b3 357692009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35770
35771 Bugfix: install on partitionless device
35772
35773 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35774 is a whole disk
35775
e76fc924 357762009-06-08 Felix Zielcke <fzielcke@z-51.de>
35777
35778 * Makefile.in (uninstall): Remove all $include_DATA files.
35779
ba5a0d05 357802009-06-08 Felix Zielcke <fzielcke@z-51.de>
35781
35782 * commands/true.c: New file. Implement the true and false commands.
35783 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35784 (true_mod_SOURCES): New variable.
35785 (true_mod_CFLAGS): Likewise.
35786 (true_mod_LDFLAGS): Likewise.
35787
c8048e32 357882009-06-05 Colin D Bennett <colin@gibibit.com>
35789
35790 Optimized font character lookup using binary search instead of linear
35791 search. Fonts now are required to have the character index ordered by
35792 code point.
35793
35794 * font/font.c (load_font_index): Verify that fonts have ordered
35795 character indices.
35796 (find_glyph): Use binary search instead of linear search to find a
35797 character in a font.
35798
408305be 357992009-06-05 Michael Scherer <misc@mandriva.org>
35800
35801 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35802 uses case sensitive btree.
35803 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35804 only for case insensitive filesystems.
35805
8ee1e0d9 358062009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35807
35808 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35809 * conf/common.rmk (search_mod_CFLAGS): likewise
35810
a9966eb1 358112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35812
473d1e45 35813 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 35814 compensate a compiler bug
35815
9e7100fb 358162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35817
473d1e45 35818 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 35819 instead of '\b'
473d1e45 35820
ede21d71 358212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35822
35823 Definitions for creating asm symbols with Apple's CC
35824
35825 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35826 [APPLE_CC] (VARIABLE): likewise
35827
9dbf7653 358282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35829
35830 Disable lnxboot.img when compiled
35831 with Apple's CC
35832
35833 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35834 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35835 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35836 [! APPLE_CC] (CODE_LENG): skip
35837 [! APPLE_CC] (setup_sects): likewise
35838 [! APPLE_CC]: skip filling
473d1e45 35839
e93cdc3d 358402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35841
35842 Address in trampolines based on 32-bit registers when compiled
35843 with Apple's CC
35844
473d1e45 35845 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 35846 for addresses
35847 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35848
6c688477 358492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35850
35851 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35852
35853 * kern/misc.c [APPLE_CC] (memcpy): new function
35854 [APPLE_CC] (memmove): likewise
35855 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 35856 (memcpy): define alias conditionally on !APPLE_CC
6c688477 35857 (memset): likewise
35858 (abort): likewise
35859 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35860 APPLE_CC are defined
35861 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35862 (grub_assert_fail): make prototype conditional
35863
e37ffc5c 358642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35865
35866 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35867
473d1e45 35868 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35869 grub-macho2img
e37ffc5c 35870 (CLEANFILES): add grub-macho2img
35871 (grub_macho2img_SOURCES): new variable
35872 * kern/i386/pc/startup.S (bss_start): new variable
35873 (bss_end): likewise
35874 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35875 * util/grub-macho2img.c: new file
35876
cf00df31 358772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35878
35879 Use objconv when compiling with Apple's CC
35880
35881 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35882 (efiemu64.o): likewise
35883 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35884 when compiling with Apple's CC
35885 (efiemu64_s.o): likewise
35886 * configure.ac: check for objconv when compiling with Apple's CC
35887 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 35888
d119a20c 358892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35890
35891 Define segment as well as section when compiling with
35892 Apple's CC
35893
35894 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35895 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35896 (efiemu_convert_pointer): likewise
35897 (efiemu_set_virtual_address_map): likewise
35898 (efiemu_convert_pointer): likewise
35899 (efiemu_getcrc32): likewise
35900 (init_crc32_table): likewise
35901 (reflect): likewise
35902 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35903 (GRUB_MOD_DEP): likewise
473d1e45 35904
c8600122 359052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35906
35907 Allow a compilation without -mcmodel=large
35908
35909 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35910 when compiled without -mcmodel=large
473d1e45 35911 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 35912 without -mcmodel=large
473d1e45 35913 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 35914 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 35915
e8df1d4e 359162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35917
35918 Remove nested functions in efiemu core
35919
35920 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 35921
cc6c3ac1 359222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35923
35924 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
35925
35926 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
35927 temporary storage
473d1e45 35928 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
35929 using Apple's CC
cc6c3ac1 35930 (grub_cpu_is_tsc_supported): likewise
35931 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 35932
3e325901 359332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35934
35935 Absolute addressing through constant with Apple's cc
35936
35937 * kern/i386/pc/startup.S: Define necessary constants
35938 and address through it when using ABS with Apple's CC
35939 * boot/i386/pc/diskboot.S: likewise
35940 * boot/i386/pc/boot.S: likewise
35941 * boot/i386/pc/lnxboot.S: likewise
35942 * boot/i386/pc/cdboot.S: likewise
35943 * mmap/i386/pc/mmap_helper.S: likewise
35944 * commands/i386/pc/drivemap_int13h.S: likewise
35945
2b167a72 359462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35947
35948 Check if compiler is apple cc
35949
35950 * Makefile.in (ASFLAGS): new variable
35951 (TARGET_ASFLAGS): likewise
35952 (TARGET_MODULE_FORMAT): likewise
35953 (TARGET_APPLE_CC): likewise
35954 (OBJCONV): likewise
35955 (TARGET_IMG_CFLAGS): likewise
35956 (TARGET_CPPFLAGS): add includedir
35957 * configure.ac: call grub_apple_cc and grub_apple_target_cc
35958 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
35959 Check for linker script only if compiler isn't Apple's CC
35960 (TARGET_MODULE_FORMAT): set
35961 (TARGET_APPLE_CC): likewise
35962 (TARGET_ASFLAGS): likewise
35963 (ASFLAGS): likewise
35964 Check for objcopy only if compiler isn't Apple's CC
35965 Check for BSS symbol only if compiler isn't Apple's CC
35966 * genmk.rb: adapt nm options if we use Apple's utils
35967 * aclocal.m4 (grub_apple_cc): new test
35968 (grub_apple_target_cc): likewise
473d1e45 35969
fb14123e 359702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35971
35972 Simplify sed expressions and improve awk
35973
35974 * Makefile.in (install-local): simplify sed expression
35975 * gencmdlist.sh: likewise
35976 * genmoddep.awk: avoid adding module as a dependency of itself
35977
5b889789 359782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35979
35980 Add missing start symbols
35981
35982 * boot/i386/pc/boot.S: add start
fb14123e 35983 * boot/i386/pc/pxeboot.S: likewise
473d1e45 35984
fd2bf2e3 359852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35986
35987 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 35988
35989 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 35990 (relocate_addresses): consider both r_addend and value at offset
35991 (make_mods_section): zerofill modinfo and header
35992 (convert_elf): write prefix here
473d1e45 35993
5389763d 359942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35995
35996 Use .asciz instead of .string
35997
35998 * i386/pc/diskboot.S: use .asciz instead of .string
35999 * i386/pc/boot.S: likewise
36000 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36001 (GRUB_MOD_NAME): likewise
473d1e45 36002
3eb5ed4e 360032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36004
36005 gfxpayload support
36006
36007 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36008 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36009 (grub_video_setup): remove
36010 (grub_video_set_mode): new prototype
36011 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36012 (vid_mode): remove
36013 (linux_vesafb_res): compile only on PCBIOS
36014 (grub_linux_boot): support gfxpayload
36015 * loader/i386/pc/xnu.c (video_hook): new function
36016 (grub_xnu_set_video): support gfxpayload
36017 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36018 (DEFAULT_VIDEO_HEIGHT): likewise
36019 (DEFAULT_VIDEO_FLAGS): likewise
36020 (DEFAULT_VIDEO_MODE): new definition
36021 (video_hook): new function
36022 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 36023 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 36024 loading xnu
36025 * video/video.c (grub_video_setup): removed
473d1e45 36026 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 36027 grub_video_setup
36028
4b0e1143 360292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36030
36031 Avoid calling biosdisk in drivemap
36032
36033 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36034 (revparse_biosdisk): likewise
36035 (list_mappings): derive name from id directly
36036 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 36037
fda6cb98 360382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36039
36040 Script fixes
36041
36042 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36043 (grub_lexer_param): add tokenonhold
36044 (grub_script_create_cmdline): remove cmdline. All callers updated
36045 (grub_script_function_create): make functionname
36046 grub_script_arg. All callers updated
36047 (grub_script_execute_argument_to_string): new prototype
36048 * kern/parser.c (state_transitions): reorder
36049 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 36050 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 36051 make global
36052 (grub_script_execute_cmdline): use new format
36053 * script/sh/function.c (grub_script_function_create): make functionname
36054 grub_script_arg. All callers updated
473d1e45 36055 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36056 (grub_script_yylex): remove
36057 (grub_script_yylex2): renamed to ...
36058 (grub_script_yylex): ...renamed
36059 parse the expressions like a${b}c
36060 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36061 (GRUB_PARSER_TOKEN_VAR): remove
36062 (GRUB_PARSER_TOKEN_NAME): likewise
36063 ("if"): declare as typeless
36064 ("while"): likewise
36065 ("function"): likewise
36066 ("else"): likewise
36067 ("then"): likewise
36068 ("fi"): likewise
36069 (text): remove
36070 (argument): likewise
36071 (script): accept empty scripts and make exit on error
36072 (arguments): use GRUB_PARSER_TOKEN_ARG
36073 (function): likewise
36074 (command): move error handling to script
36075 (menuentry): move grub_script_lexer_ref before
473d1e45 36076 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36077 argument. All callers updated
36078
f4448a07 360792009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36080
36081 Prevent GRUB from probing floppies during boot.
36082
36083 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36084 * commands/search.c (options): Add --no-floppy.
36085 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36086 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36087 --no-floppy when searching for UUIDs.
36088
2bf5885a 360892009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36090
36091 Simplify the code duplication in commands/search.c.
36092
36093 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36094 (search_fs): ... this. Update all users.
36095
f6fd460a 360962009-06-03 Felix Zielcke <fzielcke@z-51.de>
36097
36098 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36099
cbb3c83e 361002009-05-28 Pavel Roskin <proski@gnu.org>
36101
57788cfd 36102 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36103 Remove the original symlink explicitly.
36104
cbb3c83e 36105 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36106 just one slash. That's how grub_fshelp_find_file() does it.
36107
cd0d5e30 361082009-05-26 Pavel Roskin <proski@gnu.org>
36109
f0f8bbe2 36110 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36111 to `str'.
36112
cd0d5e30 36113 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36114 possibly unused.
36115
8c2cab51 361162009-05-25 Christian Franke <franke@computer.org>
36117
36118 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36119 register.
36120 (grub_atapi_identify): Add wait after drive select.
36121 (grub_ata_identify): Do more strict status register check before
36122 calling grub_atapi_identify (). Suppress error message if status
36123 register is 0x00 after command failure. Add status register
36124 check after PIO read to avoid bogus identify due to stuck DRQ.
36125 Thanks to Pavel Roskin for testing.
36126 (grub_device_initialize): Remove unsafe status register check.
36127 Thanks to 'phcoder' for problem report and patch.
36128 Prevent sign extension in debug message.
36129
230c0ad6 361302009-05-23 Colin D Bennett <colin@gibibit.com>
36131
36132 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36133 definition file, and functions defined in `normal/menu.c' have had
36134 their prototypes moved to `include/grub/menu.h' for consistency.
36135
36136 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36137 from normal.h.
36138 (grub_menu_get_entry): Likewise.
36139 (grub_menu_get_timeout): Likewise.
36140 (grub_menu_set_timeout): Likewise.
36141 (grub_menu_execute_entry): Likewise.
36142 (grub_menu_execute_with_fallback): Likewise.
36143 (grub_menu_entry_run): Likewise.
36144
36145 * include/grub/normal.h: Re-ordered and grouped function
36146 prototypes by file that the function is defined in.
36147 (grub_menu_execute_callback): Removed; moved to menu.h.
36148 (grub_menu_get_entry): Likewise.
36149 (grub_menu_get_timeout): Likewise.
36150 (grub_menu_set_timeout): Likewise.
36151 (grub_menu_execute_entry): Likewise.
36152 (grub_menu_execute_with_fallback): Likewise.
36153 (grub_menu_entry_run): Likewise.
36154 (grub_menu_addentry): Renamed from this ...
36155 (grub_normal_add_menu_entry): ... to this.
36156
36157 * normal/main.c (grub_menu_addentry): Renamed from this ...
36158 (grub_normal_add_menu_entry): ... to this.
36159
36160 * script/sh/execute.c (grub_script_execute_menuentry): Update
36161 reference to renamed grub_menu_addentry function.
36162
861f03a5 361632009-05-23 Felix Zielcke <fzielcke@z-51.de>
36164
36165 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36166
96b1619a 361672009-05-22 Pavel Roskin <proski@gnu.org>
36168
bf6a5fb2 36169 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36170 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36171 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36172 compiling for the i386 targets, but not for the utilities.
36173
96b1619a 36174 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36175 to grub_uint8_t.
36176 (grub_root_drive): Likewise.
36177 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36178 remove alignment.
36179 (grub_root_drive): Change size to byte.
36180 (grub_start_addr): Remove.
36181 (grub_end_addr): Likewise.
36182 (grub_apm_bios_info): Likewise.
36183
b729776b 361842009-05-21 Felix Zielcke <fzielcke@z-51.de>
36185
36186 * normal/i386: Remove.
36187 * normal/powerpc: Likewise.
36188 * normal/sparc64: Likewise.
36189 * normal/x86_64: Likewise.
36190
0a15ce80 361912009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36192
36193 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36194 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36195 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36196
33db9015 361972009-05-18 Colin D Bennett <colin@gibibit.com>
36198
d6da58e6 36199 Display error messages when parsing a Lua statement fails.
36200 Previously, executing a syntactically invalid statement like
36201 ")foo" or "bar;" would silently fail.
33db9015 36202
36203 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36204 (grub_lua_parse_line): Improved reporting of Lua parser and
36205 execution errors.
33db9015 36206
46422c89 362072009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36208
36209 Remove -Werror which causes build to fail on some systems
36210
36211 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36212 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36213 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36214
22f53a96 362152009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36216
36217 trampoline for linux on 64-bit platform
36218
18f547ad 36219 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36220 loader/i386/efi/linux_trampoline.S
36221 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36222 declaration
d6da58e6 36223 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36224 here
22f53a96 36225 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36226 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36227 trampoline
22f53a96 36228 (jumpvector): removed
36229 (grub_linux_trampoline_start): new declaration
36230 (grub_linux_trampoline_end): likewise
36231 (grub_linux_boot): use trampoline when on 64-bit platform
36232 * loader/i386/linux.c: likewise
36233
cb5a0f40 362342009-05-16 Pavel Roskin <proski@gnu.org>
36235
36236 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36237 const to avoid a warning.
36238 (grub_lua_setenv): Likewise.
36239 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36240 lmsg to fix a warning.
36241
334f2c28 362422009-05-16 Felix Zielcke <fzielcke@z-51.de>
36243
36244 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36245 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36246 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36247 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36248 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36249 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36250 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36251 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36252
59e5d3ec 362532009-05-16 Felix Zielcke <fzielcke@z-51.de>
36254
36255 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36256
9d87a1ba 362572009-05-16 Bean <bean123ch@gmail.com>
36258
36259 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36260 (lua_mod_SOURCES): New variable.
36261 (lua_mod_CFLAGS): Likewise.
36262 (lua_mod_LDFLAGS): Likewise.
36263
36264 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36265 (setjmp_mod_SOURCES): New variable.
36266 (setjmp_mod_CFLAGS): Likewise.
36267 (setjmp_LDFLAGS): Likewise.
36268
36269 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36270 (setjmp_mod_SOURCES): New variable.
36271 (setjmp_mod_CFLAGS): Likewise.
36272 (setjmp_LDFLAGS): Likewise.
36273
36274 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36275 (setjmp_mod_SOURCES): New variable.
36276 (setjmp_mod_CFLAGS): Likewise.
36277 (setjmp_LDFLAGS): Likewise.
36278
36279 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36280 (setjmp_mod_SOURCES): New variable.
36281 (setjmp_mod_CFLAGS): Likewise.
36282 (setjmp_LDFLAGS): Likewise.
36283
36284 * normal/i386/setjmp.S: Moved from here ...
36285 * lib/i386/setjmp.S: ... Moved here
36286 * normal/x86_64/setjmp.S: Moved from here ...
36287 * lib/x86_64/setjmp.S: ... Moved here
36288 * normal/powerpc/setjmp.S: Moved from here ...
36289 * lib/powerpc/setjmp.S: ... Moved here
36290 * normal/sparc64/setjmp.S: Moved from here ...
36291 * lib/sparc64/setjmp.S: ... Moved here
36292
36293 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36294 returns_twice in mingw.
36295
36296 * script/lua/grub_lib.c: New file.
36297 * script/lua/grub_lib.h: Likewise.
36298 * script/lua/grub_lua.h: Likewise.
36299 * script/lua/grub_main.c: Likewise.
36300 * script/lua/lapi.c: Likewise.
36301 * script/lua/lapi.h: Likewise.
36302 * script/lua/lauxlib.c: Likewise.
36303 * script/lua/lauxlib.h: Likewise.
36304 * script/lua/lbaselib.c: Likewise.
36305 * script/lua/lcode.c: Likewise.
36306 * script/lua/lcode.h: Likewise.
36307 * script/lua/ldblib.c: Likewise.
36308 * script/lua/ldebug.c: Likewise.
36309 * script/lua/ldebug.h: Likewise.
36310 * script/lua/ldo.c: Likewise.
36311 * script/lua/ldo.h: Likewise.
36312 * script/lua/ldump.c: Likewise.
36313 * script/lua/lfunc.c: Likewise.
36314 * script/lua/lfunc.h: Likewise.
36315 * script/lua/lgc.c: Likewise.
36316 * script/lua/lgc.h: Likewise.
36317 * script/lua/linit.c: Likewise.
36318 * script/lua/liolib.c: Likewise.
36319 * script/lua/llex.c: Likewise.
36320 * script/lua/llex.h: Likewise.
36321 * script/lua/llimits.h: Likewise.
36322 * script/lua/lmathlib.c: Likewise.
36323 * script/lua/lmem.c: Likewise.
36324 * script/lua/lmem.h: Likewise.
36325 * script/lua/loadlib.c: Likewise.
36326 * script/lua/lobject.c: Likewise.
36327 * script/lua/lobject.h: Likewise.
36328 * script/lua/lopcodes.c: Likewise.
36329 * script/lua/lopcodes.h: Likewise.
36330 * script/lua/loslib.c: Likewise.
36331 * script/lua/lparser.c: Likewise.
36332 * script/lua/lparser.h: Likewise.
36333 * script/lua/lstate.c: Likewise.
36334 * script/lua/lstate.h: Likewise.
36335 * script/lua/lstring.c: Likewise.
36336 * script/lua/lstring.h: Likewise.
36337 * script/lua/lstrlib.c: Likewise.
36338 * script/lua/ltable.c: Likewise.
36339 * script/lua/ltable.h: Likewise.
36340 * script/lua/ltablib.c: Likewise.
36341 * script/lua/ltm.c: Likewise.
36342 * script/lua/ltm.h: Likewise.
36343 * script/lua/lua.h: Likewise.
36344 * script/lua/luaconf.h: Likewise.
36345 * script/lua/lualib.h: Likewise.
36346 * script/lua/lundump.c: Likewise.
36347 * script/lua/lundump.h: Likewise.
36348 * script/lua/lvm.c: Likewise.
36349 * script/lua/lvm.h: Likewise.
36350 * script/lua/lzio.c: Likewise.
36351 * script/lua/lzio.h: Likewise.
36352
5e898c9d 363532009-05-16 Bean <bean123ch@gmail.com>
36354
36355 * include/grub/kernel.h (grub_module_header_types): Add type
36356 OBJ_TYPE_CONFIG.
36357
36358 * kern/main.c (grub_load_config): New function.
36359 (grub_main): Call grub_load_config to read boot config.
36360
36361 * grub-mkimage (generate_image): New parameter config_path.
36362 (options): New option --config.
36363 (main): Parse --config option, and pass it to generate_image.
36364
cf353a47 363652009-05-14 Christian Franke <franke@computer.org>
36366
36367 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36368 This fixes build on Cygwin.
36369
3834887f 363702009-05-14 Pavel Roskin <proski@gnu.org>
36371
36372 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36373 jump. This saves two bytes, so the typical case of 2 swapped
36374 drives would fit 32 bytes.
36375
8090fc01 363762009-05-13 Pavel Roskin <proski@gnu.org>
36377
ac963883 36378 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36379 grub_uint32_t to avoid a warning.
36380
8090fc01 36381 * loader/i386/linux.c (allocate_pages): When assigning
36382 real_mode_mem, cast through grub_size_t to fix a warning. The
36383 code already makes sure that the value would fit a pointer.
36384 (grub_linux_setup_video): Cast render_target->data to
36385 grub_size_t to fix a warning.
36386
18f547ad 363872009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36388
36389 * commands/i386/pc/drivemap.c: New file - implement drivemap
36390 command.
36391 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36392 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36393
6f6a8b28 363942009-05-13 Pavel Roskin <proski@gnu.org>
36395
36396 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36397 embedding_area_exists.
36398
15fbf4c4 363992009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36400
36401 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36402 it easier to understand / work with.
59978c8a 36403 Improve warning messages for cases where there's no embedding area,
36404 or when it is too small (or core.img too large).
15fbf4c4 36405
238e871f 364062009-05-13 Pavel Roskin <proski@gnu.org>
36407
0ab3a9a4 36408 * loader/i386/pc/multiboot2.c: Add necessary includes for
36409 grub_multiboot2_real_boot().
36410
a2c8c5f8 36411 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36412 PX record is always little-endian. We only need the lower 2
36413 bytes of the mode.
36414
faec96af 36415 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36416 facilitate code reuse.
36417 (grub_cpio_mount): Use "struct head", not a char buffer. This
36418 fixes a warning reported by gcc 4.4.
36419
238e871f 36420 * kernel/disk.c (grub_disk_read): Use void pointer for the
36421 buffer.
36422 (grub_disk_write): Use const void pointer for the buffer.
36423 Adjust all callers. Remove unnecessary casts.
36424
901d2f0c 364252009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36426
36427 * util/i386/pc/grub-install.in: Update copyright year.
36428
18f547ad 364292009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36430
36431 gptsync
36432
36433 * commands/gptsync.c: new file
36434 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36435 (gptsync_mod_SOURCES): new variable
36436 (gptsync_mod_CFLAGS): likewise
36437 (gptsync_mod_LDFLAGS): likewise
18f547ad 36438 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36439 new definition
36440 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36441 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36442 * conf/i386-ieee1275.rmk: likewise
36443 * conf/i386-pc.rmk: likewise
36444 * conf/powerpc-ieee1275.rmk: likewise
36445
b4ba690a 364462009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36447
36448 Fixed grub-emu
36449
36450 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36451 (grub_dl_ref): likewise
36452
317e1a44 364532009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36454
36455 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36456 split in two functions (one for msdos and one for gpt).
36457
041b8094 364582009-05-08 Pavel Roskin <proski@gnu.org>
36459
752473c2 36460 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36461 not modified.
36462
041b8094 36463 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36464 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36465 Initialize them with -1. Add sanity check for bad1. Eliminate
36466 nerr variable.
36467
172800ce 364682009-05-08 David S. Miller <davem@davemloft.net>
36469
36470 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36471
29aa5e81 364722009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36473
36474 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36475 existence.
29aa5e81 36476
96613b62 364772009-05-05 Felix Zielcke <fzielcke@z-51.de>
36478
36479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36480 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36481
eef73c8a 364822009-05-05 David S. Miller <davem@davemloft.net>
36483
36484 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36485
119494b5 364862009-05-05 Pavel Roskin <proski@gnu.org>
36487
36488 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36489 of grub_dl_ref() and grub_dl_unref().
36490 * commands/parttool.c: Remove preprocessor conditionals around
36491 grub_dl_ref() and grub_dl_unref().
36492 * fs/affs.c: Likewise.
36493 * fs/afs.c: Likewise.
36494 * fs/cpio.c: Likewise.
36495 * fs/ext2.c: Likewise.
36496 * fs/fat.c: Likewise.
36497 * fs/hfs.c: Likewise.
36498 * fs/hfsplus.c: Likewise.
36499 * fs/iso9660.c: Likewise.
36500 * fs/jfs.c: Likewise.
36501 * fs/minix.c: Likewise.
36502 * fs/ntfs.c: Likewise.
36503 * fs/reiserfs.c: Likewise.
36504 * fs/sfs.c: Likewise.
36505 * fs/udf.c: Likewise.
36506 * fs/ufs.c: Likewise.
36507 * fs/xfs.c: Likewise.
36508 * include/grub/dl.h: Likewise.
36509 * loader/xnu.c: Likewise.
36510
de5fd76e 365112009-05-04 Pavel Roskin <proski@gnu.org>
36512
36513 * commands/acpi.c: Remove unused variable my_mod.
36514 * partmap/amiga.c: Likewise.
36515 * partmap/apple.c: Likewise.
36516 * partmap/gpt.c: Likewise.
36517 * partmap/pc.c: Likewise.
36518 * partmap/sun.c: Likewise.
36519 * term/gfxterm.c: Likewise.
36520 * term/i386/pc/vesafb.c: Likewise.
36521 * term/i386/pc/vga.c: Likewise.
36522
983598ad 365232009-05-04 David S. Miller <davem@davemloft.net>
36524
36525 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36526 pointer args to grub_ieee1275_get_property().
36527
8aadec43 36528 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36529
9554b15e 36530 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36531 devices, and do not traverse down under controller nodes.
36532
67e23c90 36533 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36534 (grub_ofdisk_open): Use it to un-escape "," characters.
36535 * kern/disk.c (find_part_sep): New.
36536 (grub_disk_open): Use it to find the first non-escaped ','
36537 character in the disk name.
36538 * util/ieee1275/devicemap.c (escape_of_path): New.
36539 (grub_util_emit_devicemap_entry): Use it.
36540 * util/sparc64/ieee1275/grub-install.in: Update script to
36541 strip partition specifiers properly by not triggering on
36542 '\' escaped ',' characters.
36543
74bfdd2f 365442009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36545
36546 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36547 to 0x300.
36548 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36549 resolutions.
36550 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36551 on documentation from Wikipedia).
36552
4241d2b1 365532009-05-04 Pavel Roskin <proski@gnu.org>
36554
36555 * disk/ata.c: Spelling fixes.
36556 * disk/raid.c: Likewise.
36557 * disk/usbms.c: Likewise.
36558 * disk/dmraid_nvidia.c: Likewise.
36559 * kern/ieee1275/openfw.c: Likewise.
36560 * kern/ieee1275/init.c: Likewise.
36561 * kern/ieee1275/cmain.c: Likewise.
36562 * boot/i386/pc/cdboot.S: Likewise.
36563 * video/readers/png.c: Likewise.
36564 * video/i386/pc/vbe.c: Likewise.
36565 * fs/udf.c: Likewise.
36566 * fs/hfs.c: Likewise.
36567 * fs/reiserfs.c: Likewise.
36568 * efiemu/runtime/efiemu.c: Likewise.
36569 * efiemu/main.c: Likewise.
36570 * efiemu/mm.c: Likewise.
36571 * include/grub/elf.h: Likewise.
36572 * include/grub/xnu.h: Likewise.
36573 * include/grub/usbdesc.h: Likewise.
36574 * include/grub/usb.h: Likewise.
36575 * include/grub/script_sh.h: Likewise.
36576 * include/grub/lib/LzmaEnc.h: Likewise.
36577 * include/grub/efiemu/efiemu.h: Likewise.
36578 * include/grub/command.h: Likewise.
36579 * normal/menu.c: Likewise.
36580 * normal/main.c: Likewise.
36581 * normal/datetime.c: Likewise.
36582 * bus/usb/uhci.c: Likewise.
36583 * mmap/i386/uppermem.c: Likewise.
36584 * mmap/mmap.c: Likewise.
36585 * commands/acpi.c: Likewise.
36586 * commands/test.c: Likewise.
36587 * partmap/apple.c: Likewise.
36588 * font/font.c: Likewise.
36589 * loader/sparc64/ieee1275/linux.c: Likewise.
36590 * loader/macho.c: Likewise.
36591 * loader/i386/bsd_trampoline.S: Likewise.
36592 * loader/i386/bsd.c: Likewise.
36593 * loader/xnu.c: Likewise.
36594 * term/i386/pc/vesafb.c: Likewise.
36595 * term/usb_keyboard.c: Likewise.
36596 * util/resolve.c: Likewise.
36597 * util/getroot.c: Likewise.
36598
0cfc0083 365992009-05-04 Felix Zielcke <fzielcke@z-51.de>
36600
36601 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36602
7c1d00cd 366032009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36604
36605 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36606 build error.
36607
b01f0548 366082009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36609
36610 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36611 parameter only available on BIOS.
36612
ecc3eb22 366132009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36614
36615 Removed wrong semicolon in declaration
36616
36617 * grub/misc.h (grub_dprintf): remove semicolon
36618
112972a9 366192009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36620
36621 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36622 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36623 is done by grub_cmd_linux() now).
36624 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36625 restore video to text mode.
36626 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36627 indicates lack of "vga=" parameter. "vga=0" is mapped to
36628 `GRUB_LINUX_VID_MODE_NORMAL'.
36629
afd5c115 366302009-05-04 Felix Zielcke <fzielcke@z-51.de>
36631
36632 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36633 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36634 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36635 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36636 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36637 `grub_script.tab.c'.
36638
36639 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36640 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36642 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36643 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36644
faa517ce 36645 * Makefile.in: Remove duplicated 2008 in Copyright line.
36646
ae0c0bdc 366472009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36648
473d1e45 36649 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36650 unconditionally.
36651 * include/grub/util/misc.h (grub_util_warn): New declaration.
36652
36653 * util/i386/pc/grub-install.in: Understand --force and pass it down
36654 to grub-setup.
36655
36656 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36657 down to setup().
36658 (setup): Improve error messages and add warnings when requested to
36659 install in odd layouts. Refuse to install using blocklists unless
36660 --force was set.
36661
18f547ad 366622009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36663
36664 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36665
6d260daa 366662009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36667
36668 Updated copyright year
36669
36670 * fs/hfsplus.c: updated copyright year
18f547ad 36671
69f853f8 366722009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36673
36674 HFS+ UUID
36675
18f547ad 36676 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36677 in the space previously used by unused3
36678 (grub_hfsplus_uuid): new function
36679 (grub_hfsplus_fs): added uuid field
36680
4c402e73 366812009-05-03 Pavel Roskin <proski@gnu.org>
36682
36683 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36684 suppress warnings. It's no longer needed.
36685 * disk/host.c: Likewise.
36686 * disk/ata_pthru.c: Likewise.
36687 * disk/loopback.c: Likewise.
36688 * hook/datehook.c: Likewise.
36689 * parttool/pcpart.c: Likewise.
36690 * fs/i386/pc/pxe.c: Likewise.
36691 * fs/ntfscomp.c: Likewise.
36692 * efiemu/main.c: Likewise.
36693 * mmap/mmap.c: Likewise.
36694 * commands/crc.c: Likewise.
36695 * commands/hexdump.c: Likewise.
36696 * commands/hdparm.c: Likewise.
36697 * commands/acpi.c: Likewise.
36698 * commands/echo.c: Likewise.
36699 * commands/minicmd.c: Likewise.
36700 * commands/blocklist.c: Likewise.
36701 * commands/memrw.c: Likewise.
36702 * commands/loadenv.c: Likewise.
36703 * commands/usbtest.c: Likewise.
36704 * commands/lsmmap.c: Likewise.
36705 * commands/boot.c: Likewise.
36706 * commands/parttool.c: Likewise.
36707 * commands/configfile.c: Likewise.
36708 * commands/search.c: Likewise.
36709 * commands/ieee1275/suspend.c: Likewise.
36710 * commands/cat.c: Likewise.
36711 * commands/i386/pc/pxecmd.c: Likewise.
36712 * commands/i386/pc/play.c: Likewise.
36713 * commands/i386/pc/halt.c: Likewise.
36714 * commands/i386/pc/vbeinfo.c: Likewise.
36715 * commands/i386/pc/vbetest.c: Likewise.
36716 * commands/lspci.c: Likewise.
36717 * commands/date.c: Likewise.
36718 * commands/handler.c: Likewise.
36719 * commands/ls.c: Likewise.
36720 * commands/test.c: Likewise.
36721 * commands/cmp.c: Likewise.
36722 * commands/efi/loadbios.c: Likewise.
36723 * commands/efi/fixvideo.c: Likewise.
36724 * commands/halt.c: Likewise.
36725 * commands/help.c: Likewise.
36726 * commands/reboot.c: Likewise.
36727 * hello/hello.c: Likewise.
36728 * script/sh/main.c: Likewise.
36729 * loader/xnu.c: Likewise.
36730 * term/terminfo.c: Likewise.
36731 * term/i386/pc/serial.c: Likewise.
36732 * term/usb_keyboard.c: Likewise.
36733
515b5079 367342009-05-03 David S. Miller <davem@davemloft.net>
36735
36736 * normal/menu.c: Include grub/parser.h
36737
dfc31a22 367382009-05-03 Pavel Roskin <proski@gnu.org>
36739
2fee74f1 36740 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36741 not char*.
36742 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36743 Suggested by Javier Martín <lordhabbit@gmail.com>
36744
dfc31a22 36745 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36746 efiemu??.o doesn't exist.
36747 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36748 copying.
36749
18f547ad 367502009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36751
36752 FreeBSD 64-bit support
36753
18f547ad 36754 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36755 and loader/i386/bsd_trampoline.S
36756 (bsd_mod_ASFLAGS): new variable
36757 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36758 (FREEBSD_MODTYPE_KERNEL64): likewise
36759 (grub_bsd64_trampoline_start): likewise
36760 (grub_bsd64_trampoline_end): likewise
36761 (grub_bsd64_trampoline_selfjump): likewise
36762 (grub_bsd64_trampoline_gdt): likewise
36763 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36764 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36765 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36766 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36767 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36768 of "attrib" member
36769 * loader/i386/bsd_pagetable.c: new file
36770 * loader/i386/bsd_trampoline.S: likewise
36771 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36772 (ALIGN_VAR): likewise
36773 (entry_hi): new variable
36774 (kern_end_mdofs): likewise
36775 (is_64bit): likewise
36776 (grub_freebsd_add_meta): use ALIGN_VAR
36777 (grub_e820_mmap): new declaration
36778 (grub_freebsd_add_mmap): new function
36779 (grub_freebsd_add_meta_module): support 64 bit kernels
36780 (grub_freebsd_list_modules): use ALIGN_VAR
36781 (gdt_descriptor): new declaration
36782 (grub_freebsd_boot): support 64 bit kernels
36783 (grub_bsd_elf64_hook): new function
36784 (grub_bsd_load_elf): support elf64
36785
038c5720 367862009-05-03 Bean <bean123ch@gmail.com>
36787
36788 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36789 after we get the result of if statement.
36790
fc45fb58 367912009-05-03 Bean <bean123ch@gmail.com>
36792
36793 * Makefile.in (enable_efiemu): New variable.
36794
36795 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36796 set.
36797 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36798 path.
36799 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36800 path, add -mno-red-zone option.
36801 (efiemu64_s.o): Likewise.
36802 (efiemu64.o): Use macro $^ for source file.
36803
36804 * configure.ac (--enable-efiemu): New option.
36805
bbee0f2b 368062009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36807
36808 xnu support
36809
36810 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36811 (pkglib_MODULES): add xnu.mod
36812 (xnu_mod_SOURCES): new variable
36813 (xnu_mod_CFLAGS): likewise
36814 (xnu_mod_LDFLAGS): likewise
36815 (xnu_mod_ASFLAGS): likewise
36816 * conf/i386-pc.rmk: likewise
36817 * conf/x86_64-efi.rmk: likewise
7dd4a573 36818 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 36819 new declaration
36820 * include/grub/i386/macho.h: new file
36821 * include/grub/i386/xnu.h: likewise
36822 * include/grub/macho.h: likewise
36823 * include/grub/machoload.h: likewise
36824 * include/grub/x86_64/macho.h: likewise
36825 * include/grub/x86_64/xnu.h: likewise
36826 * include/grub/xnu.h: likewise
36827 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36828 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36829 * loader/i386/efi/xnu.c: new file
36830 * loader/i386/pc/xnu.c: likewise
36831 * loader/i386/xnu.c: likewise
36832 * loader/i386/xnu_helper.S: likewise
36833 * loader/macho.c: likewise
36834 * loader/xnu.c: likewise
36835 * loader/xnu_resume.c: likewise
36836 * util/grub-dumpdevtree: likewise
36837 * include/grub/i386/pit.h: include grub/err.h
36838 (grub_pit_wait): export
36839 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 36840
5caf964d 368412009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36842
36843 Efiemu
7dd4a573 36844
5caf964d 36845 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 36846 _linux_efi, linux_efi.
36847 new files in grub-emu
5caf964d 36848 new targets efiemu32.o and efiemu64.o
36849 * loader/linux_normal_efiemu.c: likewise
36850 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 36851 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 36852 files to copy
36853 * include/grub/autoefi.h: new file
7dd4a573 36854 * include/grub/i386/efiemu.h: likewise
5caf964d 36855 * include/grub/i386/pc/efiemu.h: likewise
36856 * include/grub/efi/api.h: add LL suffix when necessary
36857 new definitions relating to tables
36858 * include/grub/efiemu/efiemu.h: new file
36859 * include/grub/efiemu/runtime.h: likewise
36860 * efiemu/prepare.c: likewise
36861 * efiemu/loadcore_common.c: likewise
36862 * efiemu/loadcore64.c: likewise
36863 * efiemu/runtime/efiemu.sh: likewise
36864 * efiemu/runtime/efiemu.S: likewise
36865 * efiemu/runtime/efiemu.c: likewise
36866 * efiemu/runtime/config.h: likewise
36867 * efiemu/prepare32.c: likewise
36868 * efiemu/main.c: likewise
36869 * efiemu/modules/pnvram.c: likewise
36870 * efiemu/modules/i386: likewise
36871 * efiemu/modules/i386/pc: likewise
36872 * efiemu/modules/acpi.c: likewise
36873 * efiemu/i386/pc/cfgtables.c: likewise
36874 * efiemu/i386/loadcore64.c: likewise
36875 * efiemu/i386/loadcore32.c: likewise
36876 * efiemu/prepare64.c: likewise
36877 * efiemu/loadcore.c: likewise
36878 * efiemu/symbols.c: likewise
36879 * efiemu/mm.c: likewise
36880 * efiemu/loadcore32.c: likewise
7dd4a573 36881
368822009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 36883
36884 ACPI spoofing
36885
36886 * commands/acpi.c: new file
36887 * commands/i386/pc/acpi.c: likewise
36888 * commands/efi/acpi.c: likewise
36889 * include/grub/acpi.h: likewise
36890 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36891 (acpi_mod_SOURCES): new variable
36892 (acpi_mod_CFLAGS): likewise
36893 (acpi_mod_LDFLAGS): likewise
36894 * conf/i386-efi.rmk: likewise
36895 * conf/x86_64-efi.rmk: likewise
36896
7dd4a573 368972009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 36898
36899 Missing part from mmap patch
36900
36901 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36902 (grub_mmap_unregister)
36903 (grub_mmap_free_and_unregister): use grub_mmap_register
36904
7dd4a573 369052009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 36906
36907 Mmap services
36908
36909 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36910 * loader/i386/linux.c (find_mmap_size): likewise
36911 (allocate_pages): likewise
36912 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36913 (grub_fill_multiboot_mmap): likewise
36914 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36915 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36916 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
36917 (OPENBSD_MMAP_RESERVED): likewise
36918 * include/grub/i386/pc/memory.h: include grub/memory.h
36919 (grub_lower_mem): removed
36920 (grub_upper_mem): likewise
36921 (GRUB_MACHINE_MEMORY_ACPI): new definition
36922 (GRUB_MACHINE_MEMORY_NVS): likewise
36923 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
36924 (GRUB_MACHINE_MEMORY_HOLE): likewise
36925 (grub_machine_mmap_register): likewise
36926 (grub_machine_mmap_unregister): likewise
36927 (grub_machine_get_upper): likewise
36928 (grub_machine_get_lower): likewise
36929 (grub_machine_get_post64): likewise
36930 * include/grub/i386/efi/memory.h: new file
36931 * include/grub/x86_64/efi/memory.h: likewise
36932 * include/grub/efi/memory.h: likewise
36933 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
36934 (mmap_mod_SOURCES): new variable
36935 (mmap_mod_LDFLAGS): likewise
36936 (mmap_mod_ASFLAGS): likewise
36937 * conf/i386-coreboot.rmk: likewise
36938 * conf/i386-ieee1275.rmk: likewise
36939 * conf/i386-efi.rmk: likewise
36940 * conf/x86_64-efi.rmk: likewise
36941 * include/grub/types.h (UINT_TO_PTR): new macro
36942 (PTR_TO_UINT32): likewise
36943 (PTR_TO_UINT64): likewise
36944 * include/grub/memory.h: new file
36945 * mmap/i386/pc/mmap.c: likewise
36946 * mmap/i386/pc/mmap_helper.S: likewise
36947 * mmap/i386/uppermem.c: likewise
36948 * mmap/mmap.c: likewise
36949 * mmap/efi/mmap.c: likewise
7dd4a573 36950 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 36951 grub_upper_mem
36952 * kern/i386/pc/init.c (grub_lower_mem): removed variable
36953 (grub_upper_mem): likewise
36954 (grub_machine_init): don't use grub_upper_mem,
36955 make grub_lower_mem local
36956 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
36957 grub_mmap_iterate and grub_mmap_get_upper
36958 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
36959
d558e6b5 369602009-05-02 Bean <bean123ch@gmail.com>
36961
36962 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
36963 script/sh/parser.y.
36964 (pkglib_MODULES): Add normal.mod and sh.mod.
36965 (normal_SOURCES): New variable.
36966 (normal_mod_CFLAGS): Likewise.
36967 (normal_mod_LDFLAGS): Likewise.
36968 (sh_mod_SOURCES): Likewise.
36969 (sh_mod_CFLAGS): Likewise.
36970 (sh_mod_LDFLAGS): Likewise.
36971
36972 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
36973 script/sh/lexer.c_DEPENDENCIES.
36974 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
36975 kern/rescue_reader.c and kern/rescue_parser.c.
36976 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
36977 (grub_emu_SOURCES): Change source files.
36978 (pkglib_MODULES): Remove normal.mod.
36979 (normal_SOURCES): Removed.
36980 (normal_mod_CFLAGS): Likewise.
36981 (normal_mod_LDFLAGS): Likewise.
36982 * conf/i386-coreboot.rmk: Likewise.
36983 * conf/i386-efi.rmk: Likewise.
36984 * conf/i386-ieee1276.rmk: Likewise.
36985 * conf/powerpc-ieee1275.rmk: Likewise.
36986 * conf/sparc64-ieee1275.rmk: Likewise.
36987 * conf/x86_64-efi.rmk: Likewise.
36988
36989 * include/grub/command.h (grub_command_execute): New inline function.
36990
36991 * include/grub/menu.h (grub_menu_entry): Removed commands field.
36992
36993 * include/grub/normal.h: Remove <grub/setjmp.h>.
36994 (grub_fs_module_list): Moved to normal/autofs.c.
36995 (grub_exit_env): Removed.
36996 (grub_command_execute): Likewise.
36997 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
36998 parameter script.
36999 (read_command_list): New function declaration.
37000 (read_fs_list): Likewise.
37001
37002 * include/parser.h: Include <grub/reader.h>.
37003 (grub_parser_split_cmdline): Change type of getline parameter.
37004 (grub_parser): New structure.
37005 (grub_parser_class): New variable.
37006 (grub_parser_execute): New function declaration.
37007 (grub_register_rescue_parser): Likewise.
37008 (grub_parser_register): New inline function.
37009 (grub_parser_unregister): Likewise.
37010 (grub_parser_get_current): Likewise.
37011 (grub_parser_set_current): Likewise.
37012
37013 * include/grub/reader.h: New file.
37014 * kern/reader.c: Likewise.
37015 * kern/rescue_parser.c: Likewise.
37016 * kern/rescue_reader.c: Likewise.
37017 * normal/autofs.c: Likewise.
37018 * normal/dyncmd.c: Likewise.
37019
37020 * include/grub/rescue.h: Removed.
37021 * normal/command.h: Likewise.
37022
37023 * include/grub/script.h: Moved to ...
37024 * include/grub/script_sh.h: ... Moved here.
37025 * normal/execute.c: Moved to ...
37026 * script/sh/execute.c: ... Moved here.
37027 * normal/function.c: Moved to ...
37028 * script/sh/function.c: ... Moved here.
37029 * normal/lexer.c: Moved to ...
37030 * script/sh/lexer.c: ... Moved here.
37031 * normal/parser.y: Moved to ...
37032 * script/sh/parser.y: ... Moved here.
37033 * normal/script.c: Moved to ...
37034 * script/sh/script.c: ... Moved here.
37035
37036 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37037 <grub/reader.h>.
37038 (grub_exit_env): Removed.
37039 (fs_module_list): Moved to normal/autofs.c.
37040 (grub_file_getline): Don't handle comment here.
37041 (free_menu): Skip removed field entry->commands.
37042 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37043 script parameter.
37044 (read_config_file): Removed nested parameter, change getline function.
37045 (grub_enter_normal_mode): Removed.
37046 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37047 (read_command_list): Likewise.
37048 (autoload_fs_module): Moved to normal/autofs.c.
37049 (read_fs_list): Likewise.
37050 (reader_nested): New variable.
37051 (grub_normal_execute): Run parser.sh to switch to sh parser.
37052 (grub_cmd_rescue): Removed.
37053 (cmd_normal): Removed.
37054 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37055 rescue command.
37056 (grub_cmdline_run): New function.
37057 (grub_normal_reader_init): Likewise.
37058 (grub_normal_read_line): Likewise.
37059 (grub_env_write_pager): Likewise.
37060 (cmdline): New variable.
37061 (grub_normal_reader): Likewise.
37062 (GRUB_MOD_INIT): Register normal reader and set as current, register
37063 pager hook, register normal command with grub_register_command_prio,
37064 so that it won't show up in command.lst.
37065 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37066 grub_fs_autoload_hook.
37067
37068 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37069 (grub_menu_execute_entry): Replace grub_script_execute with
37070 grub_parser_execute, change parameter to grub_command_execute.
37071
37072 * normal/menu_text.c: Remove <grub/script.h>.
37073
37074 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37075 and <grub/parser.h>.
37076 (run): Change editor_getline to use new parser interface. Change
37077 parameter to grub_command_execute.
37078
37079 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37080 <grub/reader.h> and <grub/parser.h>.
37081 (grub_load_normal_mode): Execute normal command.
37082 (grub_main): Call grub_register_core_commands,
37083 grub_register_rescue_parser and grub_register_rescue_reader, use
37084 grub_reader_loop to enter input loop.
37085
7dd4a573 37086 * kern/parser.c (grub_parser_split_cmdline): Change type of
37087 getline parameter.
d558e6b5 37088 (grub_parser_class): New variable.
37089 (grub_parser_execute): New function.
37090
37091 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37092 * loader/multiboot2.c: Likewise.
37093 * loader/sparc64/ieee1275/linux.c: Likewise.
37094
37095 * util/grub-emu.c (read_command_list): New dummy function.
37096
18db813d 370972009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37098
37099 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37100 count to 16 for CCISS and IDA.
37101
6c67de15 371022009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37103
37104 * normal/menu_text.c (grub_wait_after_message): Print a newline
37105 after waiting for user input.
37106
37107 * loader/i386/linux.c: Include `<grub/normal.h>'.
37108 (grub_cmd_linux): Improve the error message about `ask' mode, by
37109 waiting for user input so it's not missed (we can do this, since
37110 user requested interaction).
37111
d9dc87b0 371122009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37113
37114 Added missing lst to grub-mkrescue
37115
37116 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37117 and ${input_dir}/parttool.lst
37118
ac8a2baa 371192009-04-30 David S. Miller <davem@davemloft.net>
37120
ad22a610 37121 * util/hostdisk.c (device_is_wholedisk): New function.
37122 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37123 zero only if device_is_wholedisk() returns true.
37124
6966215d 37125 * util/hostdisk.c (convert_system_partition_to_system_disk):
37126 Handle virtual disk devices named /dev/vdiskX as found on sparc
37127 and powerpc.
37128
ac8a2baa 37129 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37130 lettered partition specifier is found, convert to numbered.
37131
979b4fb4 371322009-04-29 David S. Miller <davem@davemloft.net>
37133
e2bf39b2 37134 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37135 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37136
3c64e104 37137 * normal/command.c: Add missing newline at end of file.
37138
979b4fb4 37139 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37140 warnings.
37141 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37142 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37143 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37144 ihandles have a 32-bit type but need to be stored in a "void *".
37145
136d9f82 371462009-04-28 Pavel Roskin <proski@gnu.org>
37147
9459c306 37148 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37149 not disk. Adjust all dependencies.
2e08a26a 37150 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37151 grub_disk_close().
37152
136d9f82 37153 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37154 parent's partition, don't copy it by reference, as it gets freed
37155 on close.
37156
7dd4a573 371572009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37158
37159 Preboot hooks support
37160
37161 * commands/boot.c (struct grub_preboot_t): new declaration
37162 (preboots_head): new variable
37163 (preboots_tail): likewise
37164 (grub_loader_register_preboot_hook): new function
37165 (grub_loader_unregister_preboot_hook): likewise
37166 (grub_loader_set): launch preboot hooks
37167 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37168 (grub_loader_register_preboot_hook): new declaration
37169 (grub_loader_unregister_preboot_hook): likewise
37170
5af922b5 371712009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37172
37173 Warning fix
37174
7dd4a573 37175 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37176 calling grub_dprintf
37177
a5562c30 371782009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37179
37180 Bug and warning fixes
37181
7dd4a573 37182 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37183 declaration
37184 * commands/test.c (test_parse): fixed bug with file tests and corrected
37185 declaration of find_file
37186
4006f85c 371872009-04-26 Pavel Roskin <proski@gnu.org>
37188
37189 * Makefile.in: Don't install empty manual pages if help2man is
37190 missing. Use help2man option for output, not shell redirection.
37191
5c77c3de 371922009-04-26 David S. Miller <davem@davemloft.net>
37193
37194 * util/grub-mkdevicemap.c (make_device_map): Add missing
37195 NESTED_FUNC_ATTR to process_device().
37196
033b10a8 371972009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37198
37199 Test command
37200
37201 * commands/test.c: rewritten to use bash-like test
37202
e4343593 372032009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37204
37205 Parttool autoloading and improvements
37206
7dd4a573 37207 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37208 (parttool.lst): new target
37209 * genmk.rb: generate parttool-*
37210 (CLEANFILES): add #{parttool}
37211 (PARTTOOLFILES): new variable
37212 * genparttoollist.sh: new file
7dd4a573 37213 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37214 (grub_pcpart_type): likewise
37215 * commands/parttool.c (helpmsg): new variable
37216 (grub_cmd_parttool): output help if not enough arguments are supplied
37217 autoload modules
37218 (GRUB_MOD_INIT(parttool)): use helpmsg
37219
0d312500 372202009-04-24 David S. Miller <davem@davemloft.net>
37221
7dd4a573 37222 Avoiding opening same device multiple times in device iterator.
0d312500 37223
37224 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37225 and use it to build a list of partitions in iterate_disk() and
0d312500 37226 iterate_partition().
37227
ac20caff 37228 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37229 on disk->data.
37230
0dcf7495 37231 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37232 grub_devalias_iterate() result instead of unconditional 0.
37233 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37234 Also, capture hook return value, either directly or via
37235 grub_children_iterate(), and propagate to caller.
37236 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37237 grub_children_iterate): Return value is now 'int' instead of
37238 'grub_err_t'.
37239 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37240 like a proper iterator, stopping when hooks return non-zero.
37241 (grub_devalias_iterate): Likewise.
37242
c8c08833 372432009-04-23 David S. Miller <davem@davemloft.net>
37244
37245 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37246
f01005a8 372472009-04-22 David S. Miller <davem@davemloft.net>
37248
37249 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37250 is larger than address_cells, use that value for address_cells too.
37251
4e8269da 37252 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37253 IEEE1275_MAX_PATH_LEN): Define.
37254 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37255 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37256 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37257 'devtype'. Explicitly NULL terminate devalias expansion.
37258
a1447506 37259 * util/sparc64/ieee1275/misc.c: New file.
37260 * util/sparc64/ieee1275/grub-setup.c: New file.
37261 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37262 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37263 * util/sparc64/ieee1275/grub-install.in: New file.
37264 * util/ieee1275/ofpath.c: New file.
37265 * util/ieee1275/devicemap.c: New file.
37266 * util/devicemap.c: New file.
37267 * util/deviceiter.c: New file.
37268 * kern/sparc64/ieee1275/init.c: New file.
37269 * include/grub/util/ofpath.h: New file.
37270 * include/grub/util/deviceiter.h: New file.
37271 * util/grub-mkdevicemap.c: Include deviceiter.h.
37272 Implement using grub_util_emit_devicemap_entry and
37273 grub_util_iterate_devices.
37274 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37275 util/devicemap.c into grub-mkdevicemap
37276 * conf/i386-efi.rmk: Likewise.
37277 * conf/i386-ieee1275.rmk: Likewise.
37278 * conf/i386-pc.rmk: Likewise.
37279 * conf/powerpc-ieee1275.rmk: Likewise.
37280 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37281 images and installation utilities. Build kernel as image
37282 instead of as elf binary. Use common rules as much as possible.
37283
7dd4a573 372842009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37285
37286 Correct GPT definition
37287
7dd4a573 37288 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37289 of "attrib" member
37290
c6c5219f 372912009-04-19 Felix Zielcke <fzielcke@z-51.de>
37292
37293 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37294
0552ff9f 372952009-04-19 David S. Miller <davem@davemloft.net>
37296
37297 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37298 (grub_rescue_cmd_linux): Rename to...
37299 (grub_cmd_linux): and fix prototype.
37300 (grub_rescue_cmd_initrd): Rename to...
37301 (grub_cmd_initrd): and fix prototype.
37302 (cmd_linux, cmd_initrd): New.
37303 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37304 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37305
d1a282fc 373062009-04-17 Pavel Roskin <proski@gnu.org>
37307
07c5039f 37308 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37309 format.
37310 (grub_ohci_transfer): Likewise.
37311
b012002d 37312 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37313
1bc09c35 37314 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37315 return without a value. Fix inconsistent indentation.
37316
e0ff9126 37317 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37318 match struct grub_fs.
37319
d1a282fc 37320 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37321 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37322 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37323 * commands/lspci.c (grub_lspci_iter): Likewise.
37324
a96df3f2 373252009-04-16 Bean <bean123ch@gmail.com>
37326
37327 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37328 value.
37329
41bb0fe9 373302009-04-15 Pavel Roskin <proski@gnu.org>
37331
37332 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37333 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37334 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37335 definitions.
37336
596c6970 373372009-04-15 Felix Zielcke <fzielcke@z-51.de>
37338
37339 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37340 that no multiple data or metadata areas are supported and `Unknown
596c6970 37341 metadata header'.
37342
7dd4a573 373432009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37344
37345 Move loader out of the kernel
37346
37347 * kern/loader.c: moved to ...
37348 * commands/boot.c: ... moved here
37349 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37350 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37351 * include/grub/kernel.h (grub_machine_fini): export
37352 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37353 (grub_loader_set): likewise
37354 (grub_loader_unset): likewise
37355 (grub_loader_boot): likewise
37356 * conf/common.rmk: new module boot.mod
37357 (pkglib_MODULES): add boot.mod
37358 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37359 (grub_emu_SOURCES): likewise
37360 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37361 (grub_emu_SOURCES): likewise
37362 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37363 (grub_emu_SOURCES): likewise
37364 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37365 (grub_emu_SOURCES): likewise
37366 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37367 (grub_emu_SOURCES): likewise
7dd4a573 37368 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37369 (grub_emu_SOURCES): likewise
0d5d5653 37370 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37371 (grub_emu_SOURCES): likewise
0d5d5653 37372
7dd4a573 373732009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37374
37375 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37376
5999d619 37377 * kern/misc.c (grub_itoa): Removed function
37378 (grub_ltoa): likewise
37379 (grub_vsprintf): use grub_lltoa
37380
7dd4a573 373812009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37382
37383 Restore grub-emu
37384
37385 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37386 * conf/i386-coreboot.rmk: likewise
37387 * conf/i386-ieee1275.rmk: likewise
37388 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37389
20318222 373902009-04-15 Felix Zielcke <fzielcke@z-51.de>
37391
37392 * INSTALL: Add that `./autogen.sh' needs to be run before
37393 `./configure.'.
37394
d05f0df3 373952009-04-14 Bean <bean123ch@gmail.com>
37396
37397 * Makefile.in (pkglib_DATA): Add handler.lst.
37398 (handler.lst): New rule.
37399
37400 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37401 * conf/i386-coreboot.rmk: Likewise.
37402 * conf/i386-ieee1275.rmk: Likewise.
37403 * conf/i386-efi.rmk: Likewise.
37404 * conf/x86_64-efi.rmk: Likewise.
37405 * conf/powerpc-ieee1275.rmk: Likewise.
37406 * conf/sparc64-ieee1275.rmk: Likewise.
37407
37408 * genhandlerlist.sh: New file.
37409
37410 * genmk.rb: Add rules to generate handler.lst.
37411
37412 * include/grub/normal.h (grub_file_getline): New function definition.
37413 (read_handler_list): Likewise.
37414 (free_handler_list): Likewise.
37415
37416 * include/grub/term.h (grub_term_register_input): Add name parameter
37417 for auto generation of handler.lst.
37418 (grub_term_register_output): Likewise.
37419
37420 * normal/handler.c: New file.
37421
37422 * normal/main.c (get_line): Renamed to grub_file_getline.
37423 (read_config_file): Use the newly renamed grub_file_getline.
37424 (read_command_list): Likewise.
37425 (read_fs_list): Likewise.
37426 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37427 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37428
37429 * term/efi/console.c (grub_console_init): Add name parameter for auto
37430 generation of handler.lst.
37431 * term/gfxterm.c: Likewise.
37432 * term/i386/pc/at_keyboard.c: Likewise.
37433 * term/i386/pc/console.c: Likewise.
37434 * term/i386/pc/serial.c: Likewise.
37435 * term/i386/pc/vesafb.c: Likewise.
37436 * term/i386/pc/vga.c: Likewise.
37437 * term/i386/pc/vga_text.c: Likewise.
37438 * term/ieee1275/ofconsole.c: Likewise.
37439 * term/usb_keyboard.c: Likewise.
37440
33c846be 374412009-04-14 Bean <bean123ch@gmail.com>
37442
37443 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37444 properly with null character.
37445
4484e01e 374462009-04-14 Felix Zielcke <fzielcke@z-51.de>
37447
37448 * configure: Remove.
37449 * config.h.in: Likewise.
f93d668e 37450 * stamp-h.in: Likewise.
4484e01e 37451 * DISTLIST: Likewise.
37452 * conf/common.mk: Likewise.
37453 * conf/i386-coreboot.mk: Likewise.
37454 * conf/i386-efi.mk: Likewise.
37455 * conf/i386-ieee1275.mk: Likewise.
37456 * conf/i386.mk: Likewise.
37457 * conf/i386-pc.mk: Likewise.
37458 * conf/powerpc-ieee1275.mk: Likewise.
37459 * conf/sparc64-ieee1275.mk: Likewise.
37460 * conf/x86_64-efi.mk: Likewise.
37461
37462 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37463 develop on GRUB.
37464
7dd4a573 374652009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37466 David S. Miller <davem@davemloft.net>
37467
37468 * util/hostdisk.c (make_device_name): Fix buffer length
37469 calculations.
37470
e25b5a8c 374712009-04-14 Felix Zielcke <fzielcke@z-51.de>
37472
37473 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37474 <sys/param.h> and <sys/sysctl.h>.
37475 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37476 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37477 opening the device and reset them afterwards.
37478
1f1f580c 374792009-04-13 Pavel Roskin <proski@gnu.org>
37480
37481 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37482 Reported by John Stanley <jpsinthemix@verizon.net>
37483
7ebc2d6b 374842009-04-13 Robert Millan <rmh@aybabtu.com>
37485
37486 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37487 that name for menuentries when appropriate.
7ebc2d6b 37488
d8ba3667 374892009-04-13 Felix Zielcke <fzielcke@z-51.de>
37490
37491 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37492
cba416eb 374932009-04-13 Robert Millan <rmh@aybabtu.com>
37494
37495 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37496 to Linux, simply abort telling the user it's no longer supported.
37497
a547a745 374982009-04-13 Felix Zielcke <fzielcke@z-51.de>
37499
37500 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37501 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37502 `freebsd_loadenv' only when devices.hints exist.
37503
232a769c 375042009-04-13 Pavel Roskin <proski@gnu.org>
37505
37506 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37507
c3012039 375082009-04-13 Felix Zielcke <fzielcke@z-51.de>
37509
37510 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37511 partition number.
37512 (grub_drive): Likewise.
37513
234022fe 375142009-04-13 David S. Miller <davem@davemloft.net>
37515
37516 * kern/sparc64/ieee1275/ieee1275.c: New file.
37517 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37518 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37519 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37520 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37521 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37522 grub_ieee1275_alloc_physmem): Declare new exported functions.
37523
d8e1836c 37524 * include/grub/sparc64/ieee1275/loader.h: New file.
37525 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37526 * include/grub/sparc64/kernel.h: Likewise.
37527 * loader/sparc64/ieee1275/linux.c: Likewise.
37528
96bd81ec 37529 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37530 (grub_fstest_SOURCES): Likewise.
37531
6a4737e5 37532 * util/hostdisk.c (make_device_name): Do not make any assumptions
37533 about the length of drive names.
37534
1d7a72fd 37535 * kern/dl.c (grub_dl_load_file): Close file immediately when
37536 we are done using it.
37537
56bc2471 375382009-04-12 David S. Miller <davem@davemloft.net>
37539
37540 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37541 values. Noticed by Pavel Roskin.
37542
df38d0bb 37543 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37544 target compiler.
7dd4a573 37545
e382e93a 37546 * genmk.rb: Add more flexible image type specification, also
37547 pass --strip-unneeded to objcopy.
37548 * conf/i386-pc.rmk: Use *_FORMAT.
37549 * conf/i386-pc.mk: Rebuilt.
37550
f5dbbca9 37551 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37552 (OFDISK_HASH_SZ): Define.
37553 (ofdisk_hash): New hash table.
37554 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37555 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37556 instead of device phandle which is not unique.
37557
91c88b12 37558 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37559 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37560 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37561 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37562 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37563 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37564 GRUB_KERNEL_MACHINE_DATA_END): Define.
37565 (grub_kernel_image_size, grub_total_module_size): Declare.
37566
5b5d4aa5 375672009-04-12 Pavel Roskin <proski@gnu.org>
37568
7dd4a573 37569 * configure.ac: Change the logic when we check for target tools.
37570 Do it when the target is specified and it's different from the
37571 specified value of the host.
5b5d4aa5 37572
c91e1793 375732009-04-11 Felix Zielcke <fzielcke@z-51.de>
37574
37575 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37576 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37577 GNU/kFreeBSD. Check if a device is a character device. Use
37578 DIOCGMEDIASIZE to get the size.
37579 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37580 support for GNU/kFreeBSD.
37581 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37582 is a character device instead of a block device. Add support for
37583 FreeBSD device names.
37584
37585 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37586 is a character device instead of a block device.
37587
37588 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37589 is a character device instead of a block device.
37590
b1ac8644 375912009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37592
37593 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37594 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37595 FreeBSD. Check if a device is a character device. Use
37596 DIOCGMEDIASIZE to get the size.
37597 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37598 support for FreeBSD.
37599 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37600 is a character device instead of a block device. Add support for
37601 FreeBSD device names.
37602
37603 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37604 a character device instead of a block device.
37605 (grub_util_check_char_device): New function.
37606
37607 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37608 a character device instead of a block device.
37609
37610 * include/grub/util/getroot.h (grub_util_check_char_device): New
37611 prototype.
37612
a3f7515a 376132009-04-11 David S. Miller <davem@davemloft.net>
37614
37615 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37616 static libgcc.
37617 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37618 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37619 function, if present.
37620 (__bswapdi2): Likewise.
37621
0d44993d 37622 * include/grub/sparc64/ieee1275/boot.h: New file.
37623 * boot/sparc64/ieee1275/boot.S: Likewise.
37624 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37625
ed3d2bc2 37626 * kern/misc.c (grub_ltoa): New function.
37627 (grub_vsprintf): Use it to format 'long' integers.
37628
d3bfb59c 376292009-04-10 David S. Miller <davem@davemloft.net>
37630
37631 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37632 slots are of type grub_ieee1275_cell_t.
37633 (grub_nand_read): Likewise.
37634 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37635 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37636 macros are used to compare values in arg/ret block of the call.
37637 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37638 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37639 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37640 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37641 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37642 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37643 grub_ieee1275_close, grub_ieee1275_set_property,
37644 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37645 grub_ieee1275_cell_t.
37646 * kern/ieee1275/openfw.c (grub_map): Likewise.
37647 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37648 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37649
450e2238 37650 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37651 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37652 (grub_devalias_iterate): Likewise.
37653
7dd4a573 376542009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37655
37656 UFS improvements
37657
37658 * fs/ufs.c (INODE_NBLOCKS): new definition
37659 (struct grub_ufs_dirent): added fields for non-BSD dirents
37660 (grub_ufs_get_file_block): fixed double indirect handling
37661 (grub_ufs_lookup_symlink): use more robust way to determine whether
37662 symlink is inline
37663 (grub_ufs_find_file): support for non-BSD dirents
37664 (grub_ufs_dir): support for non-BSD dirents
37665
e7e6862a 376662009-04-10 Bean <bean123ch@gnail.com>
37667
37668 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37669 attribute, otherwise the size would be wrong for i386 platform.
37670
37671 * include/grub/pci.h (grub_pci_read_word): New inline function.
37672 (grub_pci_read_byte): Likewise.
37673 (grub_pci_write): Likewise.
37674 (grub_pci_write_word): Likewise.
37675 (grub_pci_write_byte): Likewise.
37676
37677 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37678
37679 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37680 (find_framebuf): Scan pci to locate the frame buffer address.
37681
37682 * commands/efi/fixvideo.c: New file.
37683
37684 * commands/efi/loadbios.c: Likewise.
37685
37686 * commands/memrw.c: Likewise.
37687
37688 * util/grub-dumpbios.in: Likewise.
37689
37690 * conf/common.rmk (grub-dumpbios): New utility.
37691 (pkglib_MODULES): New module memrw.mod.
37692 (memrw_mod_SOURCE): New macro.
37693 (memrw_mod_CFLAGS): Likewise.
37694 (memrw_mod_LDFLAGS): Likewise.
37695
7dd4a573 37696 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37697 fixvideo.mod.
37698 (loadbios_mod_SOURCE): New macro.
37699 (loadbios_mod_CFLAGS): Likewise.
37700 (loadbios_mod_LDFLAGS): Likewise.
37701 (fixvideo_mod_SOURCE): Likewise.
37702 (fixvideo_mod_CFLAGS): Likewise.
37703 (fixvideo_mod_LDFLAGS): Likewise.
37704
7dd4a573 37705 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37706 fixvideo.mod.
37707 (loadbios_mod_SOURCE): New macro.
37708 (loadbios_mod_CFLAGS): Likewise.
37709 (loadbios_mod_LDFLAGS): Likewise.
37710 (fixvideo_mod_SOURCE): Likewise.
37711 (fixvideo_mod_CFLAGS): Likewise.
37712 (fixvideo_mod_LDFLAGS): Likewise.
37713
af63ada2 377142009-04-08 Felix Zielcke <fzielcke@z-51.de>
37715
37716 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37717
c2cdde70 377182009-04-07 David S. Miller <davem@davemloft.net>
37719
37720 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37721 support for R_SPARC_OLO10 relocations. Fix compile warning for
37722 R_SPARC_WDISP30 case.
ea3f72cf 37723 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37724
761319cf 377252009-04-06 Pavel Roskin <proski@gnu.org>
37726
1007d1f5 37727 * include/grub/misc.h (ARRAY_SIZE): New macro.
37728 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37729 New macro.
37730 * loader/i386/linux.c (allocate_pages): Use free_pages().
37731 (grub_linux_unload): Don't use free_pages().
37732 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37733 wrong index. Treat all other modes as text modes.
37734 (grub_cmd_linux): Initialize vid_mode unconditionally to
37735 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37736
761319cf 37737 * commands/help.c (print_command_help): Use cmd->prio, not
37738 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37739
ea761d40 377402009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37741
ea761d40 37742 Parttool
37743
37744 * parttool/pcpart.c: new file
37745 * commands/parttool.c: likewise
37746 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37747 (parttool_mod_SOURCES): new variable
37748 (parttool_mod_CFLAGS): likewise
37749 (parttool_mod_LDFLAGS): likewise
37750 (pcpart_mod_SOURCES): likewise
37751 (pcpart_mod_CFLAGS): likewise
37752 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37753 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37754 and parttool/pcpart.c
37755 * conf/i386-efi.rmk: likewise
37756 * conf/i386-ieee1275.rmk: likewise
37757 * conf/i386-pc.rmk: likewise
37758 * conf/powerpc-ieee1275.rmk: likewise
37759 * conf/sparc64-ieee1275.rmk: likewise
37760 * conf/x86_64-ieee1275.rmk: likewise
37761
05aaebfb 377622009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37763
37764 Support for mtime and further expandability of dir command
37765
37766 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37767 * include/grub/datetime.h: ... moved here and added
05aaebfb 37768 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37769 * include/grub/fs.h: new syntax for dir and mtime functions in
37770 struct grub_fs
05aaebfb 37771 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37772 and GRUB_FSHELP_FLAGS_MASK
37773 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37774 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37775 (grub_ext2_mtime): new function
37776 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37777 (grub_hfsplus_mtime): new function
37778 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37779 (GRUB_UFS_ATTR_FILE): likewise
37780 (GRUB_UFS_ATTR_LNK): likewise
37781 (struct grub_ufs_sblock): new fields mtime
37782 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37783 all users updated
37784 (grub_ufs_dir): mtime support
37785 (grub_ufs_mtime): new function
37786 * fs/affs.c (grub_affs_dir): use new dir syntax
37787 * fs/afs.c (grub_afs_dir): likewise
37788 * fs/cpio.c (grub_cpio_dir): likewise
37789 * fs/fat.c (grub_fat_find_dir): likewise
37790 * fs/hfs.c (grub_hfs_dir): likewise
37791 * fs/iso9660.c (grub_iso9660_dir): likewise
37792 * fs/jfs.c (grub_jfs_dir): likewise
37793 * fs/minix.c (grub_minix_dir): likewise
37794 * fs/ntfs.c (grub_ntfs_dir): likewise
37795 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37796 * fs/sfs.c (grub_sfs_dir): likewise
37797 * fs/xfs.c (grub_xfs_dir): likewise
37798 * util/hostfs.c (grub_hostfs_dir): likewise
37799 * lib/datetime.c: moved to ...
37800 * normal/datetime.c: ... moved here
37801 (grub_unixtime2datetime): new function
37802 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 37803 * normal/completion.c (iterate_dir): use new dir syntax
37804 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 37805 last modification time of a volume
7dd4a573 37806 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 37807 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 37808 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 37809 (normal_mod_SOURCES): likewise
37810 (datetime_mod_SOURCES): Removed lib/datetime.c
37811 * conf/i386-efi.rmk: likewise
7dd4a573 37812 * conf/i386-ieee1275.rmk: likewise
05aaebfb 37813 * conf/i386-pc.rmk: likewise
37814 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37815 * conf/sparc64-ieee1275.rmk: likewise
37816 * conf/x86_64-efi.rmk: likewise
05aaebfb 37817
8a7e1a14 378182009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37819
37820 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 37821
37822 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 37823 on grub_fat_find_dir
37824 (grub_fat_find_dir): use grub_fat_iterate_dir
37825 (grub_fat_label): likewise
37826
04186a9c 378272009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37828
7dd4a573 37829 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 37830 and command.h
37831 remove extraneous kernel_elf_HEADERS
37832
da4c0bb6 378332009-04-04 Bean <bean123ch@gnail.com>
37834
37835 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37836
37837 * util/misc.c: Likewise.
37838
54ad9555 378392009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37840
37841 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37842 instead of grub_printf.
37843
7a6bf9f2 378442009-04-03 Robert Millan <rmh@aybabtu.com>
37845
37846 * loader/i386/linux.c (grub_linux_setup_video): Fill
37847 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37848 values from `mode info' structure instead of hardcoded
37849 values.
37850
3fcc2083 378512009-04-01 Pavel Roskin <proski@gnu.org>
37852
37853 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37854 unused now.
37855 * genmk.rb: Likewise.
37856 * configure.ac: Likewise.
37857
5ec9740b 378582009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37859
37860 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37861 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37862
5270cec8 378632009-04-01 David S. Miller <davem@davemloft.net>
37864
37865 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 37866 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 37867 (grub_setjmp): Mark with 'returns_twice' attribute.
37868 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37869 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37870 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37871
9c3dd854 378722009-04-01 Robert Millan <rmh@aybabtu.com>
37873
37874 Reapply fix from 2008-07-28 which was accidentally reverted; also
37875 perform the same fix to a similar check in same function.
37876
37877 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37878 with the same number are found, just use issue a warning with
37879 grub_dprintf(), as this error has been reported to be non-fatal.
37880
0d818b7e 378812009-03-31 Pavel Roskin <proski@gnu.org>
37882
37883 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37884 for cross-compilation.
37885
95646d92 378862009-03-30 Robert Millan <rmh@aybabtu.com>
37887
37888 Fix i386-ieee1275 build.
37889
37890 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37891 Remove declaration.
37892
6a003ed1 378932009-03-30 Pavel Roskin <proski@gnu.org>
37894
37895 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37896 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37897 zero-terminated, rely only on the strlen value. Fix comparison
37898 of strings differing in length.
37899
92f33540 379002009-03-30 Robert Millan <rmh@aybabtu.com>
37901
37902 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37903 checking for abi version. Improve error messages on BIOS to notify
37904 user about `linux16' command.
37905
a8c48fd5 379062009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37907
f968172e 37908 Leak fixes
a8c48fd5 37909
f968172e 37910 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37911 in case of collision
37912 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 37913
9c323f09 379142009-03-29 Robert Millan <rmh@aybabtu.com>
37915
37916 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
37917 set `vid_mode' accordingly.
37918 (grub_linux_boot): Process `vid_mode' and set video mode.
37919
ae68f423 379202009-03-29 Robert Millan <rmh@aybabtu.com>
37921
37922 * util/grub.d/10_linux.in (linux_entry): New function.
37923 Factorize generation of Linux boot entries.
37924
5709cfc4 379252009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
37926
37927 Make the format of Environment Block plain text. The boot loader
37928 part is not tested well yet.
7dd4a573 37929
5709cfc4 37930 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
37931 (buffer): Removed.
37932 (envblk): Likewise.
37933 (usage): Remove "info" and "clear". Add "unset". Update the
37934 description of "set", as this does not delete variables any
37935 longer.
37936 (create_envblk_file): Complete rewrite.
37937 (open_envblk_file): Likewise.
37938 (cmd_info): Removed.
37939 (cmd_list): Likewise.
37940 (cmd_set): Likewise.
37941 (cmd_clear): Likewise.
37942 (list_variables): New function.
37943 (write_envblk): Likewise.
37944 (set_variables): Likewise.
37945 (unset_variables): Likewise.
37946 (main): Complete rewrite.
37947
37948 * commands/loadenv.c (buffer): Removed.
37949 (envblk): Likewise.
37950 (open_envblk_file): New function.
37951 (read_envblk_file): Complete rewrite.
37952 (grub_cmd_load_env): Likewise.
37953 (grub_cmd_list_env): Likewise.
37954 (struct blocklist): New struct.
37955 (free_blocklists): New function.
37956 (check_blocklists): Likewise.
37957 (write_blocklists): Likewise.
37958 (grub_cmd_save_env): Complete rewrite.
37959
37960 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
37961 a plain text signature.
37962 (GRUB_ENVBLK_MAXLEN): Removed.
37963 (struct grub_envblk): Complete rewrite.
37964 (grub_envblk_find): Removed.
37965 (grub_envblk_insert): Likewise.
37966 (grub_envblk_open): New prototype.
37967 (grub_envblk_set): Likewise.
37968 (grub_envblk_delete): Put const to VALUE.
37969 (grub_envblk_iterate): Put const to NAME and VALUE.
37970 (grub_envblk_close): New prototype.
37971 (grub_envblk_buffer): New inline function.
37972 (grub_envblk_size): Likewise.
37973
37974 * lib/envblk.c: Include grub/mm.h.
37975 (grub_env_find): Removed.
37976 (grub_envblk_open): New function.
37977 (grub_envblk_close): Likewise.
37978 (escaped_value_len): Likewise.
37979 (find_next_line): Likewise.
37980 (grub_envblk_insert): Removed.
37981 (grub_envblk_set): New function.
37982 (grub_envblk_delete): Complete rewrite.
37983 (grub_envblk_iterate): Likewise.
37984
a9368fd3 379852009-03-28 Robert Millan <rmh@aybabtu.com>
37986
37987 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
37988 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
37989 variables. Use 16-bit loader.
37990 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
37991 loader.
37992 * kern/i386/loader.S (grub_linux_boot): Rename to ...
37993 (grub_linux16_boot): ... this. Update all users.
37994 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
37995 (grub_linux_boot): ... this. Update all users.
37996
37997 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
37998 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
37999 commands to `linux16' and `initrd16'.
38000 (GRUB_MOD_FINI(linux)): Rename to ...
38001 (GRUB_MOD_FINI(linux16)): ... this.
38002
e4dd5a7e 380032009-03-24 Pavel Roskin <proski@gnu.org>
38004
38005 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38006 not just for compilation.
38007
c04d6e05 380082009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38009
38010 Move multiboot helper out of kernel
38011
38012 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38013 `loader/i386/multiboot_helper.S'.
38014 * conf/i386-coreboot.rmk: Likewise
38015 * conf/i386-ieee1275.rmk: Likewise
38016
38017 * kern/i386/loader.S: Move multiboot helpers from here...
38018 * loader/i386/multiboot_helper.S: ...moved here
38019 * include/grub/i386/loader.h: Move declarations of multiboot
38020 helpers from here...
38021 * include/grub/i386/multiboot.h: ...moved here
38022 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38023
42a5b3fc 380242009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38025
38026 * kern/env.c (grub_env_context_open): Added an argument to specify
38027 whether a new context inherits exported variables from current
38028 one. This is useful when making a sandbox to interpret a config
38029 file.
38030 All callers updated.
38031
38032 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38033
b28bbc4e 380342009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38035
38036 * kern/env.c (grub_env_context_close): Fix memory leaks.
38037
f04f02e4 380382009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38039
38040 * normal/main.c (grub_normal_execute): Added an argument
38041 BATCH to specify if an interactive interface should be provided
38042 after reading a config file.
38043 All callers updated.
38044 (read_command_list): Prevent being executed twice.
38045 (read_fs_list): Likewise.
38046
42a5b3fc 38047 * include/grub/normal.h (grub_normal_execute): Updated the
38048 prototype.
f04f02e4 38049
41473ac2 380502009-03-22 Pavel Roskin <proski@gno.org>
38051
fbc00b0c 38052 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38053 _start.
38054 * kern/i386/pc/startup.S: Likewise.
38055 * kern/i386/efi/startup.S: Likewise.
38056 * kern/i386/ieee1275/startup.S: Likewise.
38057 * kern/i386/coreboot/startup.S: Likewise.
38058 * kern/x86_64/efi/startup.S: Likewise.
38059
41473ac2 38060 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38061 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38062 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38063
2274cc8f 380642009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38065
38066 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38067
38068 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38069 limit detection.
38070 Use vaddr of correct segment for entry_point.
38071
b1b797cb 380722009-03-21 Bean <bean123ch@gmail.com>
38073
38074 * commands/blocklist.c: Add include file <grub/command.h>, remove
38075 <grub/normal.h> and <grub/arg.h>.
38076 (grub_cmd_blocklist): Use the new command interface.
38077 (GRUB_MOD_INIT): Likewise.
38078 (GRUB_MOD_FINI): Likewise.
38079 * commands/boot.c: Likewise.
38080 * commands/cat.c: Likewise.
38081 * commands/cmp.c: Likewise.
38082 * commands/configfile.c: Likewise.
38083 * commands/crc.c: Likewise.
38084 * commands/echo.c: Likewise.
38085 * commands/halt.c: Likewise.
38086 * commands/handler.c: Likewise.
38087 * commands/hdparm.c: Likewise.
38088 * commands/help.c: Likewise.
38089 * commands/hexdump.c: Likewise.
38090 * commands/loadenv.c: Likewise.
38091 * commands/ls.c: Likewise.
38092 * commands/lsmmap.c: Likewise.
38093 * commands/lspci.c: Likewise.
38094 * commands/loadenv.c: Likewise.
38095 * commands/read.c: Likewise.
38096 * commands/reboot.c: Likewise.
38097 * commands/search.c: Likewise.
38098 * commands/sleep.c: Likewise.
38099 * commands/test.c: Likewise.
38100 * commands/usbtest.c: Likewise.
38101 * commands/videotest.c: Likewise.
38102 * commands/i386/cpuid.c: Likewise.
38103 * commands/i386/pc/halt.c: Likewise.
38104 * commands/i386/pc/play.c: Likewise.
38105 * commands/i386/pc/pxecmd.c: Likewise.
38106 * commands/i386/pc/vbeinfo.c: Likewise.
38107 * commands/i386/pc/vbetest.c: Likewise.
38108 * commands/ieee1275/suspend.c: Likewise.
38109 * disk/loopback.c: Likewise.
38110 * font/font_cmd.c: Likewise.
38111 * hello/hello.c: Likewise.
38112 * loader/efi/appleloader.c: Likewise.
38113 * loader/efi/chainloader.c: Likewise.
38114 * loader/i386/bsd.c: Likewise.
38115 * loader/i386/efi/linux.c: Likewise.
38116 * loader/i386/ieee1275/linux.c: Likewise.
38117 * loader/i386/linux.c: Likewise.
38118 * loader/i386/pc/chainloader.c: Likewise.
38119 * loader/i386/pc/linux.c: Likewise.
38120 * loader/powerpc/ieee1275/linux.c: Likewise.
38121 * loader/multiboot_loader.c: Likewise.
38122 * term/gfxterm.c: Likewise.
38123 * term/i386/pc/serial.c: Likewise.
38124 * term/terminfo.c: Likewise.
38125
38126 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38127 * term/i386/pc/vga.c: Likewise.
38128 * video/readers/jpeg.c: Likewise.
38129 * video/readers/png.c: Likewise.
38130 * video/readers/tga.c: Likewise.
38131
38132 * util/grub-fstest (cmd_loopback): Removed.
38133 (cmd_blocklist): Likewise.
38134 (cmd_ls): Likewise.
38135 (grub_register_command): Likewise.
38136 (grub_unregister_command): Likewise.
38137 (execute_command): Use grub_command_find to locate command and execute
38138 it.
38139
38140 * include/grub/efi/chainloader.h: Removed.
38141 * loader/efi/chainloader_normal.c: Likewise.
38142 * loader/i386/bsd_normal.c: Likewise.
38143 * loader/i386/pc/chainloader_normal.c: Likewise.
38144 * loader/i386/pc/multiboot_normal.c: Likewise.
38145 * loader/linux_normal.c: Likewise.
38146 * loader/multiboot_loader_normal.c: Likewise.
38147 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38148
38149 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38150 and grub_register_command_p1.
38151
38152 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38153 kern/command.c, lib/arg.c and commands/extcmd.c.
38154 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38155 (minicmd_mod_SOURCES): New variable.
38156 (minicmd_mod_CFLAGS): Likewise.
38157 (minicmd_mod_LDFLAGS): Likewise.
38158 (extcmd_mod_SOURCES): Likewise.
38159 (extcmd_mod_CFLAGS): Likewise.
38160 (extcmd_mod_LDFLAGS): Likewise.
38161 (boot_mod_SOURCES): Removed.
38162 (boot_mod_CFLAGS): Likewise.
38163 (boot_mod_LDFLAGS): Likewise.
38164
38165 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38166 kern/corecmd.c.
38167 (kernel_img_HEADERS): Add command.h.
38168 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38169 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38170 and lib/arg.c.
38171 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38172 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38173 remove the corresponding normal mode command.
38174 (normal_mod_SOURCES): Remove normal/arg.c.
38175 * conf/i386-coreboot.rmk: Likewise.
38176 * conf/i386-efi.rmk: Likewise.
38177 * conf/i386-ieee1275.rmk: Likewise.
38178 * conf/powerpc-ieee1275.rmk: Likewise.
38179 * conf/x86_64-efi.rmk: Likewise.
38180
38181 * include/grub/arg.h: Move from here ...
38182 * include/grub/lib/arg.h: ... to here.
38183
38184 * normal/arg.c: Move from here ...
38185 * lib/arg.c: ... to here.
38186
38187 * commands/extcmd.c: New file.
38188 * commands/minicmd.c: Likewise.
38189 * include/grub/command.h: Likewise.
38190 * include/grub/extcmd.h: Likewise.
38191 * kern/command.c: Likewise.
38192 * kern/corecmd.c: Likewise.
38193
38194 * kern/list.c (grub_list_iterate): Return int instead of void.
38195 (grub_list_insert): New function.
38196 (grub_prio_list_insert): Likewise.
38197
38198 * kern/rescue.c (grub_rescue_command): Removed.
38199 (grub_rescue_command_list): Likewise.
38200 (grub_rescue_register_command): Likewise.
38201 (grub_rescue_unregister_command): Likewise.
38202 (grub_rescue_cmd_boot): Move to minicmd.c
38203 (grub_rescue_cmd_help): Likewise.
38204 (grub_rescue_cmd_info): Likewise.
38205 (grub_rescue_cmd_boot): Likewise.
38206 (grub_rescue_cmd_testload): Likewise.
38207 (grub_rescue_cmd_dump): Likewise.
38208 (grub_rescue_cmd_rmmod): Likewise.
38209 (grub_rescue_cmd_lsmod): Likewise.
38210 (grub_rescue_cmd_exit): Likewise.
38211 (grub_rescue_print_devices): Moved to corecmd.c.
38212 (grub_rescue_print_files): Likewise.
38213 (grub_rescue_cmd_ls): Likewise.
38214 (grub_rescue_cmd_insmod): Likewise.
38215 (grub_rescue_cmd_set): Likewise.
38216 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38217 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38218 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38219 commands, remove grub_rescue_register_command calls.
b1b797cb 38220
7d074e3c 38221 * normal/command.c (grub_register_command): Removed.
b1b797cb 38222 (grub_unregister_command): Likewise.
38223 (grub_command_find): Likewise.
38224 (grub_iterate_commands): Likewise.
38225 (rescue_command): Likewise.
38226 (export_command): Moved to corecmd.c.
38227 (set_command): Removed.
38228 (unset_command): Likewise.
38229 (insmod_command): Likewise.
38230 (rmmod_command): Likewise.
38231 (lsmod_command): Likewise.
38232 (grub_command_init): Likewise.
38233
38234 * normal/completion.c (iterate_command): Use cmd->prio to check for
38235 active command.
38236 (complete_arguments): Use grub_extcmd_t structure to find options.
38237 (grub_normal_do_completion): Change function grub_iterate_commands to
38238 grub_command_iterate.
38239
38240 * normal/execute.c (grub_script_execute_cmd): No need to parse
38241 argument here.
38242
38243 * normal/main.c (grub_dyncmd_dispatcher): New function.
38244 (read_command_list): Register unload commands as dyncmd.
38245 (grub_cmd_normal): Use new command interface, register rescue,
38246 unregister normal at entry, register normal, unregister rescue at exit.
38247
38248 * include/grub/list.h (grub_list_test_t): New type.
38249 (grub_list_iterate): Return int instead of void.
38250 (grub_list_insert): New function.
38251 (GRUB_AS_NAMED_LIST_P): New macro.
38252 (GRUB_AS_PRIO_LIST): Likewise.
38253 (GRUB_AS_PRIO_LIST_P): Likewise.
38254 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38255 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38256 (grub_prio_list): New structure.
38257 (grub_prio_list_insert): New function.
38258 (grub_prio_list_remove): New inline function.
38259
38260 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38261 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38262 (GRUB_COMMAND_FLAG_MENU): Likewise.
38263 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38264 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38265 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38266 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38267 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38268 (grub_command): Likewise.
38269 (grub_register_command): Likewise.
38270 (grub_command_find): Likewise.
38271 (grub_iterate_commands): Likewise.
38272 (grub_command_init): Likewise.
38273 (grub_arg_parse): Likewise.
38274 (grub_arg_show_help): Likewise.
38275
38276 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38277 (grub_rescue_unregister_command): Likewise.
38278
38279 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38280 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38281 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38282
38283 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38284 grub_rescue_cmd_initrd.
38285 * include/grub/i386/loader.h: Likewise.
38286 * include/grub/x86_64/loader.h: Likewise.
38287
38288 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38289
1f4147aa 382902009-03-21 Bean <bean123ch@gmail.com>
38291
38292 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38293 instead of stat in mingw environment.
38294
38295 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38296
38297 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38298
38299 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38300 AC_CONFIG_LINKS.
38301
2156d5ba 383022009-03-21 Bean <bean123ch@gmail.com>
38303
38304 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38305 out of range error.
38306
177b82ca 383072009-03-18 Michel Dänzer <michel@daenzer.net>
38308
38309 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38310 checking inode flags for EXT4_EXTENTS_FLAG.
38311
14aad807 383122009-03-18 Robert Millan <rmh@aybabtu.com>
38313
38314 * loader/i386/linux.c: Include `<grub/video.h>' and
38315 `<grub/i386/pc/vbe.h>'..
38316 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38317 (grub_linux32_boot): Attempt to configure video settings with
38318 grub_linux_setup_video().
38319 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38320 to avoid grub_console_fini() which would step out of graphical mode
38321 unconditionally.
38322
8cf83a27 383232009-03-14 Robert Millan <rmh@aybabtu.com>
38324
38325 Fix build on powerpc.
38326 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38327
40164e75 383282009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38329
38330 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38331 background image command.
38332
c58bc32a 383332009-03-12 Colin D Bennett <colin@gibibit.com>
38334
38335 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38336 (grub_gfxterm_putchar): Extract pairs of identical calls to
38337 draw_cursor out of conditional blocks.
38338
5415144a 383392009-03-11 Pavel Roskin <proski@gnu.org>
38340
38341 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38342 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38343
6394042e 383442009-03-11 Robert Millan <rmh@aybabtu.com>
38345
38346 * loader/i386/multiboot_elfxx.c
38347 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38348
b7b50e5f 383492009-03-11 Felix Zielcke <fzielcke@z-51.de>
38350
38351 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38352 `kern/handler.c'.
38353
1ca7fc96 383542009-03-11 Robert Millan <rmh@aybabtu.com>
38355
38356 * loader/i386/multiboot.c (code_size): New variable.
38357 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38358 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38359 4-byte alignment to MBI and others by increasing
7d074e3c 38360 `boot_loader_name_length' appropriately.
1ca7fc96 38361
38362 * loader/i386/multiboot_elfxx.c
38363 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38364
a83ea1d2 383652009-03-09 Felix Zielcke <fzielcke@z-51.de>
38366
38367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38368 `fs/ext2.c'.
38369
aa9f3bff 383702009-03-08 Robert Millan <rmh@aybabtu.com>
38371
38372 Make loader/i386/linux.c usable on i386-pc again.
38373
38374 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38375 memory to heap.
38376 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38377 `#error' stanza.
38378
d8b3b60e 383792009-03-07 Bean <bean123ch@gmail.com>
38380
38381 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38382 allocation.
38383
b362c9e9 383842009-03-06 Robert Millan <rmh@aybabtu.com>
38385
38386 Fix display issue on terminals with screen size other than 80x25
38387 (e.g. gfxterm with resolution higher than 640x480).
38388
38389 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38390 position relative to the center of the terminal instead of relying
b362c9e9 38391 on a hardcoded offset.
38392
9304eef1 383932009-03-04 Robert Millan <rmh@aybabtu.com>
38394
38395 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38396 installed.
38397
38398 * Makefile.in (host_kernel): New variable.
38399 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38400 scripts instead of just the windows one.
38401 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38402
eabc95fb 384032009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38404
38405 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38406 `kern/handler.c'.
38407 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38408 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38409 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38411 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38412 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38413
ceb1223c 384142009-03-04 Felix Zielcke <fzielcke@z-51.de>
38415
38416 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38417 or if there's no space for the disk label and print the partition number on a
38418 invalid magic.
38419
4910684a 384202009-03-04 Felix Zielcke <fzielcke@z-51.de>
38421
38422 * util/misc.c: Include <time.h>.
38423 (grub_millisleep): New function.
38424
7e9ca17a 384252009-03-04 Bean <bean123ch@gmail.com>
38426
38427 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38428 another option -mno-red-zone.
38429
38430 * commands/handler.c: Change module description.
38431
38432 * kern/handler.c: Add missing space at the end of description line.
38433
38434 * kern/list.c: Likewise.
38435
f501677c 384362009-03-03 Robert Millan <rmh@aybabtu.com>
38437
38438 Move more components to the relocation area, and fix mbi pointer
38439 handling to use the destination rather than the origin (thanks to
38440 Vladimir Serbinenko for spotting).
38441
38442 * loader/i386/multiboot.c (mbi_dest): New variable.
38443 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38444 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38445 relocation area.
38446
9902d047 384472009-03-01 Bean <bean123ch@gmail.com>
38448
50fb7002 38449 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38450 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38451 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38452 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38453
38454 * loader/i386/efi/linux.c (acpi_guid): New variable.
38455 (acpi_guid): Likewise.
38456 (EBDA_SEG_ADDR): New constant.
38457 (LOW_MEM_ADDR): Likewise.
38458 (FAKE_EBDA_SEG): Likewise.
38459 (fake_bios_data): New function.
38460 (grub_linux_boot): Call fake_bios_data.
38461
71b9f361 384622009-03-01 Bean <bean123ch@gmail.com>
38463
38464 * commands/terminal.c: Removed.
38465
38466 * commands/handler.c: New file.
38467
38468 * include/grub/list.h: Likewise.
38469
38470 * include/grub/handler.h: Likewise.
38471
38472 * kern/list.c: Likewise.
38473
38474 * kern/handler.c: Likewise.
38475
38476 * kern/term.h: Include header file <grub/handler.h>.
38477 (grub_term_input): Move next field to the beginning.
38478 (grub_term_output): Likewise.
38479 (grub_term_input_class): New variable.
38480 (grub_term_output_class): Likewise.
38481 (grub_term_register_input): Changed to inline function.
38482 (grub_term_register_output): Likewise.
38483 (grub_term_unregister_input): Likewise.
38484 (grub_term_unregister_output): Likewise.
38485 (grub_term_set_current_input): Likewise.
38486 (grub_term_set_current_output): Likewise.
38487 (grub_term_get_current_input): Likewise.
38488 (grub_term_get_current_output): Likewise.
38489 (grub_term_iterate_input): Removed.
38490 (grub_term_iterate_output): Likewise.
38491
38492 * kern/term.c (grub_term_list_input): Removed.
38493 (grub_term_list_output): Likewise.
38494 (grub_term_input_class): New variable.
38495 (grub_term_output_class): Likewise.
50fb7002 38496 (grub_cur_term_input): Change variable as macro.
71b9f361 38497 (grub_cur_term_output): Likewise.
38498 (grub_term_register_input): Removed.
38499 (grub_term_register_output): Likewise.
38500 (grub_term_unregister_input): Likewise.
38501 (grub_term_unregister_output): Likewise.
38502 (grub_term_set_current_input): Likewise.
38503 (grub_term_set_current_output): Likewise.
38504 (grub_term_iterate_input): Likewise.
38505 (grub_term_iterate_output): Likewise.
38506 (grub_term_get_current_input): Likewise.
38507 (grub_term_get_current_output): Likewise.
38508
38509 * util/grub-editenv.c: Include header file <grub/handler.h>.
38510 (grub_term_get_current_input): Removed.
38511 (grub_term_get_current_output): Likewise.
38512 (grub_term_input_class): New variable.
50fb7002 38513 (grub_term_output_class): Likewise.
71b9f361 38514
38515 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38516 (grub_term_get_current_output): Likewise.
38517 (grub_term_input_class): New variable.
50fb7002 38518 (grub_term_output_class): Likewise.
71b9f361 38519
38520 * util/grub-probe.c (grub_term_get_current_input): Removed.
38521 (grub_term_get_current_output): Likewise.
38522 (grub_term_input_class): New variable.
50fb7002 38523 (grub_term_output_class): Likewise.
71b9f361 38524
38525 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38526 (grub_term_get_current_output): Likewise.
38527 (grub_term_input_class): New variable.
50fb7002 38528 (grub_term_output_class): Likewise.
71b9f361 38529
38530 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38531 (terminal_mod_SOURCES): Likewise.
38532 (terminal_mod_CFLAGS): Likewise.
38533 (terminal_mod_LDFLAGS): Likewise.
38534
38535 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38536 handler.c.
38537 (kernel_img_SOURCES): Add list.c and handler.c.
38538 (kernel_img_HEADERS): Add list.h and handler.h.
38539
38540 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38541 handler.c.
38542 (kernel_mod_SOURCES): Add list.c and handler.c.
38543 (kernel_mod_HEADERS): Add list.h and handler.h.
38544
38545 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38546 handler.c.
38547 (kernel_elf_SOURCES): Add list.c and handler.c.
38548 (kernel_elf_HEADERS): Add list.h and handler.h.
38549
38550 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38551 handler.c.
38552 (kernel_elf_SOURCES): Add list.c and handler.c.
38553 (kernel_elf_HEADERS): Add list.h and handler.h.
38554
38555 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38556 handler.c.
38557 (kernel_mod_SOURCES): Add list.c and handler.c.
38558 (kernel_mod_HEADERS): Add list.h and handler.h.
38559
38560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38561 handler.c.
38562 (kernel_elf_SOURCES): Add list.c and handler.c.
38563 (kernel_elf_HEADERS): Add list.h and handler.h.
38564
8a31787f 385652009-02-27 Robert Millan <rmh@aybabtu.com>
38566
38567 Factorize elf32 / elf64 code in Multiboot loader. This will
38568 prevent it from getting out of sync again.
38569
38570 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38571 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38572 grub_multiboot_load_elf64): Move from here ...
38573 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38574 grub_multiboot_load_elf): ... to here (new file).
38575
51cd3dfc 385762009-02-27 Robert Millan <rmh@aybabtu.com>
38577
38578 * util/grub.d/10_linux.in: Rename "single-user mode" to
38579 "recovery mode".
38580
6e8c9c3a 385812009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38582
38583 Don't leak in SCSI code.
38584 * disk/scsi.c (grub_scsi_close): free `scsi'.
38585
4b6bf4f9 385862009-02-27 Robert Millan <rmh@aybabtu.com>
38587
38588 * loader/i386/pc/multiboot.c: Move from here ...
38589 * loader/i386/multiboot.c: ... to here. Update all users.
38590
b9413424 385912009-02-27 Robert Millan <rmh@aybabtu.com>
38592
38593 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38594 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38595
50fb7002 385962009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38597
38598 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38599 b-tree.
38600
8cc50345 386012009-02-27 Robert Millan <rmh@aybabtu.com>
38602
38603 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38604 `0x' qualifier as 0 when base is specified as parameter).
38605
6e09b8b7 386062009-02-24 Bean <bean123ch@gmail.com>
38607
38608 * configure.ac: Check for -mcmodel=large in x86_64 target.
38609
38610 * include/grub/efi/api.h (efi_call_10): New macro.
38611 (efi_wrap_10): New function.
38612
38613 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38614 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38615 (GRUB_PE32_REL_BASED_LOW): Likewise.
38616 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38617 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38618 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38619 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38620 (GRUB_PE32_REL_BASED_REL): Likewise.
38621 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38622 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38623 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38624
38625 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38626 issue.
38627
38628 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38629 (efi_wrap_10): New function.
38630
38631 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38632
38633 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38634 MB/MBP model (NV chipset).
38635 (devdata_devs): Add devpath_5 to the list.
38636
38637 * load/i386/efi/linux.c (video_base): Remove variable.
38638 (RGB_MASK): New macro.
38639 (RGB_MAGIC): Likewise.
38640 (LINE_MIN): Likewise.
38641 (LINE_MAX): Likewise.
38642 (FBTEST_STEP): Likewise.
38643 (FBTEST_COUNT): Likewise.
38644 (fb_list): New variable.
38645 (grub_find_video_card): Remove function.
38646 (find_framebuf): New function.
38647 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38648 line length.
38649
38650 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38651 problem for x86_64.
38652
74b21bee 386532009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38654
38655 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38656
38657 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38658 coding tool name.
38659
a455f472 386602009-02-22 Robert Millan <rmh@aybabtu.com>
38661
38662 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38663 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38664 in our relocation, instead of using it directly from heap. Also
38665 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38666
6374daf3 386672009-02-21 Robert Millan <rmh@aybabtu.com>
38668
38669 Implement USB keyboard support (based on patch by Marco Gerards)
38670
38671 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38672 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38673 (usb_keyboard_mod_LDFLAGS): New variables.
38674
38675 * term/usb_keyboard.c: New file.
38676
8fa4ea70 386772009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38678
38679 Corrected wrong declaration
38680
38681 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38682
353976ac 386832009-02-14 Christian Franke <franke@computer.org>
38684
38685 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38686 (grub_lspci_iter): Print class code and programming interface byte.
38687
6aa1169b 386882009-02-14 Christian Franke <franke@computer.org>
38689
38690 * gendistlist.sh: Ignore `.svn' directories.
38691
265372ca 386922009-02-14 Felix Zielcke <fzielcke@z-51.de>
38693
38694 * fs/fat.c: Add 2009 to Copyright line.
38695
9ff516f3 386962009-02-14 Christian Franke <franke@computer.org>
38697
38698 * commands/hdparm.c: New file. Provides `hdparm' command
38699 which sends ATA commands via grub_disk_ata_pass_through ().
38700
38701 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38702
38703 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38704 and <grub/cpu/io.h> to include/grub/ata.h.
38705 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38706 (GRUB_CDROM_SECTOR_SIZE): Remove.
38707 (GRUB_ATA_*): Move to include/grub/ata.h.
38708 (GRUB_ATAPI_*): Likewise.
38709 (enum grub_ata_commands): Likewise.
38710 (enum grub_ata_timeout_milliseconds): Likewise.
38711 (struct grub_ata_device): Likewise.
38712 (grub_ata_regset): Likewise.
38713 (grub_ata_regget): Likewise.
38714 (grub_ata_regset2): Likewise.
38715 (grub_ata_regget2): Likewise.
38716 (grub_ata_check_ready): Likewise.
38717 (grub_ata_wait_not_busy): Remove static, exported in
38718 include/grub/ata.h.
38719 (grub_ata_wait_drq): Likewise.
38720 (grub_ata_pio_read): Likewise.
38721
38722 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38723 function for hdparm.mod.
38724
38725 * include/grub/ata.h: New file, contains declarations from
38726 disk/ata.c.
38727 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38728
38729 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38730 (grub_disk_ata_pass_through): New exported variable.
38731
38732 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38733
772e23da 387342009-02-13 Colin D Bennett <colin@gibibit.com>
38735
38736 Support multiple fallback entries, and provide an API to support
38737 executing default+fallback menu entries. Renamed the `terminal' menu
38738 viewer to `text'.
38739
38740 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38741 variable declaration.
38742 (grub_menu_execute_callback): New structure declaration.
38743 (grub_menu_execute_callback_t): New typedef.
38744 (grub_menu_execute_with_fallback): New function declaration.
38745 (grub_menu_get_entry): Likewise.
38746 (grub_menu_get_timeout): Likewise.
38747 (grub_menu_set_timeout): Likewise.
38748
38749 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38750
38751 * normal/menu.c (grub_wait_after_message): Moved to
38752 `normal/menu_text.c'.
38753 (draw_border): Likewise.
38754 (print_message): Likewise.
38755 (print_entry): Likewise.
38756 (print_entries): Likewise.
38757 (grub_menu_init_page): Likewise.
38758 (get_entry_number): Likewise.
38759 (print_timeout): Likewise.
38760 (run_menu): Likewise.
38761 (grub_menu_execute_entry): Likewise.
38762 (show_text_menu): Likewise.
38763 (get_and_remove_first_entry_number): New function.
38764 (grub_menu_execute_with_fallback): Likewise.
38765 (get_entry): Renamed to ...
38766 (grub_menu_get_entry): .. this and made it global.
38767 (get_timeout): Renamed to ...
38768 (grub_menu_get_timeout): ... this and made it global.
38769 (set_timeout): Renamed to ...
38770 (grub_menu_set_timeout): ... this and made it global.
38771 (grub_normal_terminal_menu_viewer): Renamed to ...
38772 (grub_normal_text_menu_viewer): ... this.
38773
38774 * normal/menu_text.c: New file. Extracted text-menu-specific code
38775 from normal/menu.c.
38776
38777 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38778 (normal_mod_SOURCES): Likewise.
38779
38780 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38781 (normal_mod_SOURCES): Likewise.
38782
38783 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38784 (normal_mod_SOURCES): Likewise.
38785
38786 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38787 (normal_mod_SOURCES): Likewise.
38788
38789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38790 (normal_mod_SOURCES): Likewise.
38791
38792 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38793 (normal_mod_SOURCES): Likewise.
38794
38795 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38796 (normal_mod_SOURCES): Likewise.
38797
16ac430e 387982009-02-11 Robert Millan <rmh@aybabtu.com>
38799
38800 * util/grub.d/00_header.in: Update old reference to `font' command.
38801
06ff20fc 388022009-02-10 Felix Zielcke <fzielcke@z-51.de>
38803
38804 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38805
38806 Based on patch from Javier Martín.
38807
96da9407 388082009-02-09 Felix Zielcke <fzielcke@z-51.de>
38809
38810 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 38811 to avoid false positives with FAT.
96da9407 38812 (grub_fstest_SOURCES): Likewise.
38813 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38814 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38815 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38816 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38817 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38818 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38819
6dca6fe4 388202009-02-09 Felix Zielcke <fzielcke@z-51.de>
38821
06ff20fc 38822 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 38823 bpb.version_specific.fat12_or_fat16.fstype and
38824 bpb.version_specific.fat32.fstype.
38825
2550c62f 388262009-02-08 Robert Millan <rmh@aybabtu.com>
38827
be110b30 38828 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 38829
56978920 388302009-02-08 Robert Millan <rmh@aybabtu.com>
38831
38832 * Makefile.in (host_os, host_cpu): New variables.
38833 (target_os): Remove. Update all users.
38834
d64399b5 388352009-02-08 Marco Gerards <marco@gnu.org>
38836
38837 * Makefile.in (enable_grub_emu_usb): New variable.
38838 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38839 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38840 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38841 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38842 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38843 `usbtest.mod' and `usbms.mod'.
38844 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38845 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38846 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38847 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38848 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38849 variables.
38850
38851 * disk/usbms.c: New file.
38852
38853 * include/grub/usb.h: Likewise.
38854
38855 * include/grub/usbtrans.h: Likewise.
38856
38857 * include/grub/usbdesc.h: Likewise.
38858
38859 * bus/usb/usbtrans.c: Likewise.
38860
38861 * bus/usb/ohci.c: Likewise.
38862
38863 * bus/usb/uhci.c: Likewise.
38864
38865 * bus/usb/usbhub.c: Likewise.
38866
38867 * bus/usb/usb.c: Likewise.
38868
38869 * commands/usbtest.c: Likewise.
38870
38871 * util/usb.c: Likewise.
50fb7002 38872
d64399b5 38873 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38874
38875 * configure.ac: Test for libusb presence.
50fb7002 38876
d64399b5 38877 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38878
2b40d6bb 388792009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38880
38881 * kern/mm.c: Add more comments.
38882
73a4ce81 388832009-02-08 Robert Millan <rmh@aybabtu.com>
38884
38885 Patch from Javier Martín.
38886 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38887 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38888
f821ce59 388892009-02-08 Robert Millan <rmh@aybabtu.com>
38890
38891 * fs/cpio.c: Split tar functionality to ...
38892 * fs/tar.c: ... here (new file). Update all users.
38893
aebfc4b0 388942009-02-07 Robert Millan <rmh@aybabtu.com>
38895
38896 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38897 backward-incompatible features.
38898
38899 Based on patch from Javier Martín, with some adjustments.
38900
50fb7002 389012009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 38902
38903 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38904
0bb5115e 389052009-02-07 Robert Millan <rmh@aybabtu.com>
38906
38907 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38908 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38909 after the RAID stuff.
38910
38a0f8e7 389112009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38912
50fb7002 38913 Fixes problem when running vbetest command as reported by
38a0f8e7 38914 Vladimir Serbinenko <phcoder@gmail.com>.
38915
38916 * (grub_vbe_set_video_mode): Fixed problem with text modes.
38917
3143cc1c 389182009-02-04 Felix Zielcke <fzielcke@z-51.de>
38919
38920 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
38921 /dev/md/NpN style mdraid devices.
38922
9cba6fce 389232009-02-03 Felix Zielcke <fzielcke@z-51.de>
38924
38925 * util/unifont2pff.rb: Remove.
38926
e507a2c1 389272009-02-03 Felix Zielcke <fzielcke@z-51.de>
38928
38929 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
38930 `#'.
38931
d2c2b4cd 389322009-02-03 Felix Zielcke <fzielcke@z-51.de>
38933
38934 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
38935 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38936 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38937 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38939 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38940 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38941
b4315fb0 389422009-02-02 Christian Franke <franke@computer.org>
38943
38944 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
38945
de3aa260 389462009-02-01 Felix Zielcke <fzielcke@z-51.de>
38947
7c3ff286 38948 * INSTALL: Note that we now require at least autoconf 2.59 and
38949 that LZO is optional.
de3aa260 38950
825a182b 389512009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38952
38953 Base on patch on bug #24154 created by Tomas Tintera
38954 <trosos@seznam.cz>.
38955
38956 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
38957
a69ef770 389582009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38959
7c3ff286 38960 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 38961 <bero@arklinux.org>.
38962
38963 * normal/parser.y (script_init): Add missing semicolon.
38964
6fa42fa6 389652009-01-31 Colin D Bennett <colin@gibibit.com>
38966
7c3ff286 38967 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 38968 (free_menu_entry_classes): Added.
38969 (grub_normal_menu_addentry): Added class property handling.
38970 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
38971 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
38972
38973 * normal/menu_viewer.c: New file.
38974
38975 * normal/menu.c (run_menu_entry): Renamed to ...
38976 (grub_menu_execute_entry): ... this and made it as global.
38977 (grub_menu_run): Renamed to ...
38978 (show_text_menu): ... this and made it local.
38979 (show_text_menu): Adapt to new function names.
38980 (grub_normal_terminal_menu_viewer): New global variable.
38981
38982 * include/grub/menu.h: New file.
38983
38984 * include/grub/menu_viewer.h: New file.
38985
38986 * include/grub/normal.h: Added include to grub/menu.h.
38987 (grub_menu_entry): Moved to include/grub/menu.h.
38988 (grub_menu_entry_t): Likewise.
38989 (grub_menu): Likewise.
38990 (grub_menu_t): Likewise.
38991 (grub_normal_terminal_menu_viewer): Added.
38992 (grub_menu_execute_entry): Likewise.
38993 (grub_menu_run): Removed.
38994
38995 * DISTLIST: Added include/grub/menu.h.
38996 Added include/grub/menu_viewer.h.
38997 Added normal/menu_viewer.c.
38998
389992009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39000
39001 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39002 arglist for menutitle arguments.
39003
39004 * normal/main.c (grub_normal_menu_addentry): Likewise.
39005
39006 * normal/parser.y (menuentry): Likewise.
39007
39008 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39009
39010 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39011 (grub_script_create_cmdmenu): Likewise.
39012
39013 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39014
39015 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39016 changes.
39017
39018 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39019
39020 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39021
39022 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39023
39024 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39025
39026 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39027
39028 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39029
56192c23 390302009-01-30 Christian Franke <franke@computer.org>
39031
39032 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39033 in option help text.
39034
d72521b3 390352009-01-27 Pavel Roskin <proski@gnu.org>
39036
39037 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39038
994b5e84 390392009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39040
39041 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39042
39043 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39044
39045 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39046 unregister function.
39047
6a7eab2c 390482009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39049
39050 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39051
39052 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39053
39054 * util/grub-mkfont.c (usage): Fix typo.
39055
39056 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39057
1806b56e 390582009-01-26 Daniel Mierswa <impulze@impulze.org>
39059
3fb18f09 39060 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39061
336e1fb9 39062 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39063
1806b56e 39064 * kern/misc.c (grub_strcasecmp): New function.
39065 (grub_strcasecmp): Use grub_size_t instead of int for length.
39066 Fix return value.
39067 * include/grub/misc.h: Update function prototypes.
39068
580b2a0f 390692009-01-26 Robert Millan <rmh@aybabtu.com>
39070
39071 * configure.ac: Fix cross-compilation check.
ef257b36 39072
d31c24f1 390732009-01-22 Christian Franke <franke@computer.org>
39074
39075 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39076 (precision) digit string. Allow `.format2' without `format1' (width).
39077 Limit input chars for `%s' output to `format2' if specified. This is
39078 compatible with standard printf ().
39079
3138b44c 390802009-01-22 Christian Franke <franke@computer.org>
39081
39082 * disk/ata.c (grub_ata_wait_status): Replace by ...
39083 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39084 other status bits may be invalid while BSY is asserted.
39085 (grub_ata_check_ready): New function.
39086 (grub_ata_cmd): Removed.
39087 (grub_ata_wait_drq): New function.
39088 (grub_ata_strncpy): Remove inline.
39089 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39090 and error check now done by grub_ata_wait_drq ().
39091 (grub_ata_pio_write): Likewise.
39092 (grub_atapi_identify): Set DEV before check for !BSY. Use
39093 grub_ata_wait_drq () to wait for data.
39094 (grub_ata_device_initialize): Add status register check to
39095 detect missing SATA slave devices. Add debug messages.
39096 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39097 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39098 transfer loop by grub_ata_pio_write ().
39099 (grub_ata_identify): Set DEV before check for !BSY. Use
39100 grub_ata_wait_drq () to wait for data.
ef257b36 39101 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39102 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39103 read/write in one loop. Fix invalid command on write. Fix incomplete
39104 command on (size % batch) == 0. Add missing error check after write of
39105 last block. Add debug messages.
39106 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39107
59a64ef6 391082009-01-19 Christian Franke <franke@computer.org>
39109
39110 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39111 (GRUB_ATAPI_IREASON_*): Likewise.
39112 (grub_ata_pio_write): Fix timeout error return.
39113 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39114 (grub_atapi_wait_drq): New function.
39115 (grub_atapi_packet): New parameter `size'.
39116 Use grub_atapi_wait_drq () and direct write instead of
39117 grub_ata_pio_write ().
39118 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39119 reads the number of bytes requested by the device for each DRQ
39120 assertion.
39121 (grub_atapi_write): Remove old implementation, return not
39122 implemented instead.
39123
1cfe20b3 391242009-01-19 Christian Franke <franke@computer.org>
39125
39126 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39127 of 512 to calculate data size.
39128 (grub_scsi_read12): Likewise.
39129 (grub_scsi_write10): Likewise.
39130 (grub_scsi_write12): Likewise.
39131 (grub_scsi_read): Adjust size according to blocksize.
39132 Add checks for invalid blocksize and unaligned transfer.
39133
bee5fe5d 391342009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39135
39136 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39137
ef257b36 39138 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39139 width glyphs.
39140
3e643f8c 391412009-01-19 Robert Millan <rmh@aybabtu.com>
39142
39143 * config.guess: Update to latest version from config git.
39144 * config.sub: Likewise.
39145
4fa80998 391462009-01-17 Felix Zielcke <fzielcke@z-51.de>
39147
39148 * Makefile.in: Change font compilation to use new grub-mkfont instead
39149 of java version.
39150
39151 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39152 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39153 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39154 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39155 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39156 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39157 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39158 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39159 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39160
7086085b 391612009-01-16 Christian Franke <franke@computer.org>
39162
39163 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39164 (enum grub_ata_timeout_milliseconds): New enum.
39165 (grub_ata_wait_status): Add parameter milliseconds.
39166 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39167 recovery from timed-out commands.
39168 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39169 return grub_errno instead of REG_ERROR.
39170 (grub_ata_pio_write): Add parameter milliseconds.
39171 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39172 Pass milliseconds to grub_ata_wait_status () and
39173 grub_ata_pio_read ().
39174 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39175 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39176 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39177 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39178 It is not suitable for device detection, because DEV bit is ignored,
39179 the command may run too long, and not all devices set the signature
39180 properly.
39181 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39182 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39183 Fix device selection, DEV bit must be set first to address the registers
39184 of the correct device.
39185 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39186 grub_ata_pio_read/write ().
39187 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39188 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39189
4a412913 391902009-01-13 Carles Pina i Estany <carles@pina.cat>
39191
39192 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39193
7795c55e 391942009-01-13 Bean <bean123ch@gmail.com>
d913988c 39195
39196 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39197
7795c55e 391982009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39199
39200 * Makefile.in: (enable_grub_mkfont): New variable.
39201 (freetype_cflags): Likewise.
39202 (freetype_libs): Likewise.
39203
39204 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39205 (grub_mkfont_SOURCES): New variable.
39206 (grub_mkfont_CFLAGS): Likewise.
39207 (grub_mkfont_LDFLAGS): Likewise.
39208
39209 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39210 library if `--enable-grub-mkfont' is requested.
39211 (enable_grub_mkfont): New variable.
39212 (freetype_cflags): Likewise.
39213 (freetype_libs): Likewise.
39214
39215 * util/grub-mkfont.c: New file.
39216
093af1fe 392172009-01-12 Christian Franke <franke@computer.org>
39218
39219 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39220 mode check. Fix setting of compat_use[].
39221
f36cc108 392222009-01-10 Robert Millan <rmh@aybabtu.com>
39223
39224 Update a few copyright years which we forgot to do in 2008 (only for
39225 files whose changes made in 2008 were copyright-significant)
39226
39227 * Makefile.in: Add 2008 to Copyright line.
39228 * disk/ieee1275/ofdisk.c: Likewise.
39229 * disk/efi/efidisk.c: Likewise.
39230 * kern/dl.c: Likewise.
39231 * kern/sparc64/ieee1275/init.c: Likewise.
39232 * kern/mm.c: Likewise.
39233 * kern/efi/mm.c: Likewise.
39234 * boot/i386/pc/boot.S: Likewise.
39235 * genfslist.sh: Likewise.
39236 * fs/iso9660.c: Likewise.
39237 * fs/hfs.c: Likewise.
39238 * fs/jfs.c: Likewise.
39239 * fs/minix.c: Likewise.
39240 * fs/ufs.c: Likewise.
39241 * gensymlist.sh.in: Likewise.
39242 * genkernsyms.sh.in: Likewise.
39243 * include/grub/misc.h: Likewise.
39244 * include/grub/types.h: Likewise.
39245 * include/grub/symbol.h: Likewise.
39246 * include/grub/elf.h: Likewise.
39247 * include/grub/kernel.h: Likewise.
39248 * include/grub/disk.h: Likewise.
39249 * include/grub/dl.h: Likewise.
39250 * include/grub/i386/linux.h: Likewise.
39251 * include/grub/i386/pc/biosdisk.h: Likewise.
39252 * include/grub/efi/api.h: Likewise.
39253 * include/grub/efi/pe32.h: Likewise.
39254 * include/grub/util/misc.h: Likewise.
39255 * normal/execute.c: Likewise.
39256 * normal/arg.c: Likewise.
39257 * normal/completion.c: Likewise.
39258 * normal/lexer.c: Likewise.
39259 * normal/parser.y: Likewise.
39260 * normal/misc.c: Likewise.
39261 * commands/i386/pc/vbeinfo.c: Likewise.
39262 * commands/hexdump.c: Likewise.
39263 * commands/terminal.c: Likewise.
39264 * commands/ls.c: Likewise.
39265 * commands/help.c: Likewise.
39266 * partmap/pc.c: Likewise.
39267 * loader/efi/chainloader.c: Likewise.
39268 * loader/multiboot_loader.c: Likewise.
39269 * loader/i386/pc/multiboot2.c: Likewise.
39270 * term/efi/console.c: Likewise.
39271 * term/i386/pc/serial.c: Likewise.
39272 * util/lvm.c: Likewise.
39273 * util/console.c: Likewise.
39274 * util/i386/efi/grub-mkimage.c: Likewise.
39275 * util/raid.c: Likewise.
39276
7f02114b 392772009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39278
39279 * commands/videotest.c: Removed include to grub/machine/memory.h.
39280
39281 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39282 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39283 (video_mod_SOURCES): Removed.
39284 (video_mod_CFLAGS): Likewise.
39285 (video_mod_LDFLAGS): Likewise.
39286 (gfxterm_mod_SOURCES): Likewise.
39287 (gfxterm_mod_CFLAGS): Likewise.
39288 (gfxterm_mod_LDFLAGS): Likewise.
39289 (videotest_mod_SOURCES): Likewise.
39290 (videotest_mod_CFLAGS): Likewise.
39291 (videotest_mod_LDFLAGS): Likewise.
39292 (bitmap_mod_SOURCES): Likewise.
39293 (bitmap_mod_CFLAGS): Likewise.
39294 (bitmap_mod_LDFLAGS): Likewise.
39295 (tga_mod_SOURCES): Likewise.
39296 (tga_mod_CFLAGS): Likewise.
39297 (tga_mod_LDFLAGS): Likewise.
39298 (jpeg_mod_SOURCES): Likewise.
39299 (jpeg_mod_CFLAGS): Likewise.
39300 (jpeg_mod_LDFLAGS): Likewise.
39301 (png_mod_SOURCES): Likewise.
39302 (png_mod_CFLAGS): Likewise.
39303 (png_mod_LDFLAGS): Likewise.
39304
39305 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39306 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39307 (video_mod_SOURCES): Added.
39308 (video_mod_CFLAGS): Likewise.
39309 (video_mod_LDFLAGS): Likewise.
39310 (videotest_mod_SOURCES): Likewise.
39311 (videotest_mod_CFLAGS): Likewise.
39312 (videotest_mod_LDFLAGS): Likewise.
39313 (bitmap_mod_SOURCES): Likewise.
39314 (bitmap_mod_CFLAGS): Likewise.
39315 (bitmap_mod_LDFLAGS): Likewise.
39316 (tga_mod_SOURCES): Likewise.
39317 (tga_mod_CFLAGS): Likewise.
39318 (tga_mod_LDFLAGS): Likewise.
39319 (jpeg_mod_SOURCES): Likewise.
39320 (jpeg_mod_CFLAGS): Likewise.
39321 (jpeg_mod_LDFLAGS): Likewise.
39322 (png_mod_SOURCES): Likewise.
39323 (png_mod_CFLAGS): Likewise.
39324 (png_mod_LDFLAGS): Likewise.
39325 (gfxterm_mod_SOURCES): Likewise.
39326 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39327 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39328
39329 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39330 grub/machine/console.h.
39331
644fff97 393322009-01-04 Jerone Young <jerone@gmail.com>
39333
39334 Make on screen instructions clearer
39335
39336 Based on patch created by Jidanni <jidanni@jidanni.org>
39337
39338 * normal/menu.c: print clearer instructions on the screen
39339
1e901a75 393402009-01-02 Colin D Bennett <colin@gibibit.com>
39341
39342 New font engine.
34c44600 39343
1e901a75 39344 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39345 build system and fixed gfxterm.c to work with different sized fonts.
39346
39347 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39348
1e901a75 39349 * configure: Re-generated.
34c44600 39350
1e901a75 39351 * DISTLIST: Removed font/manager.c.
39352 Added font/font.c.
39353 Added font/font_cmd.c.
34c44600 39354
1e901a75 39355 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39356 compilation.
34c44600 39357
1e901a75 39358 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39359
39360 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39361
39362 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39363
1e901a75 39364 * normal/menu.c: Likewise.
34c44600 39365
1e901a75 39366 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39367 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39368
1e901a75 39369 * include/grub/font.h: Replaced with new file.
34c44600 39370
1e901a75 39371 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39372 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39373 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39374 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39375 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39376 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39377 fg_red, fg_green, fg_blue, fg_alpha.
39378 (grub_video_adapter): Removed blit_glyph.
34c44600 39379 (grub_video_blit_glyph): Removed.
39380
1e901a75 39381 * font/manager.c: Removed file.
34c44600 39382
39383 * font/font.c: New file.
39384
1e901a75 39385 * font/font_cmd.c: Likewise.
34c44600 39386
1e901a75 39387 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39388
1e901a75 39389 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39390 (grub_video_vbe_map_rgba): Likewise.
39391 (grub_video_vbe_unmap_color_int): Likewise.
39392 (grub_video_vbe_blit_glyph): Removed.
39393 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39394
1e901a75 39395 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39396 (get_pixel): Likewise.
34c44600 39397 (set_pixel): Likewise.
39398
1e901a75 39399 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39400
1e901a75 39401 * term/gfxterm.c: Adapted to new font engine.
34c44600 39402
1e901a75 39403 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39404
1e901a75 39405 * term/i386/pc/vga.c: Likewise.
34c44600 39406
1e901a75 39407 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39408
1e901a75 39409 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39410
1e901a75 39411 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39412
1e901a75 39413 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39414
1e901a75 39415 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39416
1e901a75 39417 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39418
1e901a75 39419 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39420
1e901a75 39421 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39422
1e901a75 39423 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39424
39425 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39426
1e901a75 39427 * util/grub-mkconfig_lib.in: Changed font extension.
39428
278922e8 394292008-12-28 Felix Zielcke <fzielcke@z-51.de>
39430
39431 * util/getroot.c (grub_util_get_grub_dev): Add support for
39432 /dev/md/dNNpNN style partitionable mdraid devices.
39433
3ced05cf 394342008-12-12 Alex Smith <alex@alex-smith.me.uk>
39435
39436 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39437 at a time limit of the PXE TFTP API correctly.
39438 (grub_pxefs_close): Likewise.
39439
7fd0ee30 394402008-11-29 Robert Millan <rmh@aybabtu.com>
39441
34c44600 39442 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39443 grub_ata_device_initialize() calls.
39444
34c44600 394452008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39446
39447 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39448 iteration failed.
39449 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39450
89313780 394512008-11-28 Robert Millan <rmh@aybabtu.com>
39452
39453 Fix build on powerpc-ieee1275. Based on patch created by
39454 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39455 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39456 `kern/ieee1275/mmap.c'.
39457 * include/grub/powerpc/ieee1275/memory.h: New file.
39458
15257703 39459 Provide grub-install on coreboot.
39460 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39461 (grub_install_SOURCES): New variable.
39462 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39463 usable on coreboot.
39464
9fc5388a 394652008-11-25 Felix Zielcke <fzielcke@z-51.de>
39466
39467 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39468 to `grub_term_input_t'.
39469 (grub_term_get_current_output): Change return type to
39470 `grub_term_output_t'.
39471
bc3a2f31 394722008-11-22 Robert Millan <rmh@aybabtu.com>
39473
34c44600 39474 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39475 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39476 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39477 grub_vga_text_cls().
39478
80fc88f2 39479 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39480 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39481
cbf36fd3 39482 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39483 to 0x200000 (avoids trouble with some OFW implementations, and matches
39484 with the one in Yaboot).
39485 Reported by Manoel Abranches
39486
73e8e268 394872008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39488
39489 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39490 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39491
73e8e268 39492 * util/grub-mkconfig_lib.in (grub_warn): New function.
39493 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39494 warnings, to obtain consistent formatting.
39495 * util/grub.d/00_header.in: Likewise.
39496 * util/update-grub_lib.in: Likewise.
39497
e94045a1 39498 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39499 Move comment text to `#error' stanza.
e94045a1 39500
79d29fd7 39501 Harmonize ieee1275's grub_available_iterate() with the generic
39502 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39503 build problem on i386-ieee1275):
39504 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39505 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39506 parameter `type'. Update all users of this function.
39507 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39508 `kern/ieee1275/mmap.c'.
39509 * kern/ieee1275/init.c
39510 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39511 with ...
39512 (grub_machine_mmap_iterate): ... this.
39513 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39514 return type to `grub_err_t'. Update all implementations of this
39515 function prototype.
39516 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39517 Likewise.
39518
60d6b16e 39519 Add `lsmmap' command (lists firmware-provided memory map):
39520 * commands/lsmmap.c: New file.
39521 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39522 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39523 variables.
39524 * conf/powerpc-ieee1275.rmk: Likewise.
39525 * conf/i386-coreboot.rmk: Likewise.
39526 * conf/i386-ieee1275.rmk: Likewise.
39527
ebaaf49b 395282008-11-19 Robert Millan <rmh@aybabtu.com>
39529
39530 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39531 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39532 constraints to initrd allocation (based on code from
39533 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39534 for Linux to find it.
ebaaf49b 39535
dfab719f 395362008-11-14 Robert Millan <rmh@aybabtu.com>
39537
39538 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39539 order to cope with duplicate slashes.
39540
10fc3eb9 395412008-11-14 Robert Millan <rmh@aybabtu.com>
39542
39543 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39544 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39545 don't want to mess with lower memory, because it is used in the Linux
39546 loader.
39547
39548 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39549 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39550 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39551 is in our heap (probably as a result of it being corrupted during
2f2a3442 39552 decompression). Add #error instance with comment to explain why this
39553 loader isn't currently usable on PC/BIOS.
10fc3eb9 39554
e2e07847 395552008-11-14 Robert Millan <rmh@aybabtu.com>
39556
39557 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39558 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39559
fe8e8d69 395602008-11-12 Robert Millan <rmh@aybabtu.com>
39561
39562 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39563
39564 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39565 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39566 from here ...
39567 * include/grub/i386/pc/memory.h: ... to here.
39568
976b07d0 395692008-11-12 Robert Millan <rmh@aybabtu.com>
39570
39571 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39572 split).
39573
39574 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39575 (grub_console_cur_color, grub_console_real_putchar)
39576 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39577 (grub_console_setcolorstate, grub_console_setcolor)
39578 (grub_console_getcolor): Move from here ...
39579 * include/grub/i386/vga_common.h: ... to here (new file).
39580
39581 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39582 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39583 `<grub/i386/io.h>'.
39584 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39585 `<grub/i386/vga_common.h>'.
39586
76679cd3 395872008-11-12 Robert Millan <rmh@aybabtu.com>
39588
39589 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39590 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39591 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39592 variables.
39593 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39594 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39595
39596 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39597 grub_console_init() with call to grub_vga_text_init().
39598 (grub_machine_fini): Replace call to
39599 grub_console_fini() with call to grub_vga_text_fini() and
39600 grub_at_keyboard_fini().
39601
39602 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39603 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39604 (grub_console_setcolorstate, grub_console_setcolor)
39605 (grub_console_getcolor): New function prototypes.
39606
39607 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39608 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39609 (grub_vga_text_setcursor): Static-ize.
39610 (grub_vga_text_term): New structure.
39611 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39612
39613 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39614 (grub_console_cur_color, grub_console_standard_color)
39615 (grub_console_normal_color, grub_console_highlight_color)
39616 (map_char, grub_console_putchar, grub_console_getcharwidth)
39617 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39618 (grub_console_getcolor): Move from here ...
39619 * term/i386/vga_common.c: ... to here (same function names).
39620
95b841d3 396212008-11-12 Robert Millan <rmh@aybabtu.com>
39622
39623 Use newly-added Multiboot support in coreboot.
39624
39625 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39626 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39627
39628 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39629 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39630 (codestart): Store the MBI in `startup_multiboot_info' when we're
39631 being loaded using Multiboot.
39632
39633 * kern/i386/coreboot/init.c (grub_machine_init): Move
39634 grub_at_keyboard_init() call to beginning of function (useful for
39635 debugging). Call grub_machine_mmap_init() before attempting to use
39636 grub_machine_mmap_iterate().
39637 (grub_lower_mem, grub_upper_mem): Move from here ...
39638 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39639 here (new file).
39640
39641 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39642 function prototype.
39643
761ca975 396442008-11-12 Robert Millan <rmh@aybabtu.com>
39645
39646 Fix a regression introduced by the at_keyboard.mod split. Because
39647 some terminals are default on some platforms and non-default on
39648 others, the first terminal being registered determines which is
39649 going to be default.
39650
39651 * kern/term.c (grub_term_register_input): If this is the first
39652 terminal being registered, set it as the current one.
39653 (grub_term_register_output): Likewise.
39654
39655 * term/efi/console.c (grub_console_init): Do not call
39656 grub_term_set_current_output() or grub_term_set_current_input().
39657 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39658 * term/i386/pc/console.c (grub_console_init): Likewise.
39659 (grub_console_fini): Do not call grub_term_set_current_input()
39660 (but leave grub_term_set_current_output() to restore text mode).
39661
6c529df7 396622008-11-10 Robert Millan <rmh@aybabtu.com>
39663
39664 * util/grub.d/00_header.in: Add backward compatibility check for
39665 versions of terminal.mod that don't understand `terminal_input' or
39666 `terminal_output'.
39667
132e4113 396682008-11-09 Robert Millan <rmh@aybabtu.com>
39669
39670 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39671 `terminal_input' / `terminal_output', not `terminal'.
39672
ac293d50 396732008-11-08 Robert Millan <rmh@aybabtu.com>
39674
39675 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39676 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39677
0025933a 396782008-11-08 Robert Millan <rmh@aybabtu.com>
39679
39680 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39681 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39682 members. Update all users.
39683 * util/console.c (grub_ncurses_term): Split in ...
39684 (grub_ncurses_term_input): ... this, and ...
39685 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39686 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39687
37c86336 396882008-11-08 Robert Millan <rmh@aybabtu.com>
39689
39690 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39691 (PKGDATA): Add $(pkgdata_SRCDIR).
39692 (pkglib_BUILDDIR): New variable.
39693 (pkgdata_SRCDIR): New variable.
39694 (build_env.mk): New target.
39695 (include_DATA): New variable.
39696 (install-local): Install $(include_DATA) files in $(includedir).
39697
b6c15a2d 396982008-11-07 Pavel Roskin <proski@gnu.org>
39699
d99d46f1 39700 * gendistlist.sh: Use C locale for sorting to ensure consistent
39701 output on all systems.
39702
b6c15a2d 39703 * util/grub.d/00_header.in: Remove incorrect space before
39704 "serial".
39705
c32ee8c9 397062008-11-07 Robert Millan <rmh@aybabtu.com>
39707
39708 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39709 per specification.
39710 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39711 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39712 (based on find_multi_boot1_header).
39713 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39714 using find_multi_boot2_header(), and abort if neither Multiboot or
39715 Multiboot headers were found.
39716
651c29b7 397172008-11-07 Robert Millan <rmh@aybabtu.com>
39718
39719 Modularize at_keyboard.mod:
39720
39721 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39722 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39723 (at_keyboard_mod_LDFLAGS): New variables.
39724
39725 Actual terminal split:
39726
39727 * include/grub/term.h (struct grub_term): Split in ...
39728 (struct grub_term_input): ... this, and ...
39729 (struct grub_term_output): ... this. Update all users.
39730 (grub_term_set_current): Split in ...
39731 (grub_term_set_current_input): ... this, and ...
39732 (grub_term_set_current_output): ... this.
39733 (grub_term_get_current): Split in ...
39734 (grub_term_get_current_input): ... this, and ...
39735 (grub_term_get_current_output): ... this.
39736 (grub_term_register): Split in ...
39737 (grub_term_register_input): ... this, and ...
39738 (grub_term_register_output): ... this.
39739 (grub_term_unregister): Split in ...
39740 (grub_term_unregister_input): ... this, and ...
39741 (grub_term_unregister_output): ... this.
39742 (grub_term_iterate): Split in ...
39743 (grub_term_iterate_input): ... this, and ...
39744 (grub_term_iterate_output): ... this.
39745
39746 * kern/term.c (grub_term_list): Split in ...
39747 (grub_term_list_input): ... this, and ...
39748 (grub_term_list_output): ... this. Update all users.
39749 (grub_cur_term): Split in ...
39750 (grub_cur_term_input): ... this, and ...
39751 (grub_cur_term_output): ... this. Update all users.
39752 (grub_term_set_current): Split in ...
39753 (grub_term_set_current_input): ... this, and ...
39754 (grub_term_set_current_output): ... this.
39755 (grub_term_get_current): Split in ...
39756 (grub_term_get_current_input): ... this, and ...
39757 (grub_term_get_current_output): ... this.
39758 (grub_term_register): Split in ...
39759 (grub_term_register_input): ... this, and ...
39760 (grub_term_register_output): ... this.
39761 (grub_term_unregister): Split in ...
39762 (grub_term_unregister_input): ... this, and ...
39763 (grub_term_unregister_output): ... this.
39764 (grub_term_iterate): Split in ...
39765 (grub_term_iterate_input): ... this, and ...
39766 (grub_term_iterate_output): ... this.
39767
39768 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39769 a check for input and one for output (and only attempt to get keys
39770 from user when input works).
39771
39772 * util/grub-probe.c (grub_term_get_current): Split in ...
39773 (grub_term_get_current_input): ... this, and ...
39774 (grub_term_get_current_output): ... this.
39775 * util/grub-fstest.c: Likewise.
39776 * util/i386/pc/grub-setup.c: Likewise.
39777 * util/grub-editenv.c: Likewise.
39778
39779 Portability adjustments:
39780
39781 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39782 `term/i386/pc/at_keyboard.c'.
39783 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39784 grub_keyboard_controller_init() (now handled by terminal .init).
39785 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39786 grub_at_keyboard_init().
39787 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39788 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39789 at_keyboard.mod via input terminal interface).
39790 * include/grub/i386/coreboot/console.h: Convert into a stub for
39791 `<grub/i386/pc/console.h>'.
39792
39793 Migrate full terminals to new API:
39794
39795 * term/efi/console.c (grub_console_term): Split into ...
39796 (grub_console_term_input): ... this, and ...
39797 (grub_console_term_output): ... this. Update all users.
39798 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39799 (grub_ofconsole_init): Split into ...
39800 (grub_ofconsole_init_input): ... this, and ...
39801 (grub_ofconsole_init_output): ... this.
39802 (grub_ofconsole_term): Split into ...
39803 (grub_ofconsole_term_input): ... this, and ...
39804 (grub_ofconsole_term_output): ... this. Update all users.
39805 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39806 (grub_serial_term_input): ... this, and ...
39807 (grub_serial_term_output): ... this. Update all users.
39808 * term/i386/pc/console.c (grub_console_term): Split into ...
39809 (grub_console_term_input): ... this, and ...
39810 (grub_console_term_output): ... this. Update all users.
39811 (grub_console_term_input): Only enable it on PC/BIOS platform.
39812 (grub_console_init): Remove grub_keyboard_controller_init() call.
39813
39814 Migrate input terminals to new API:
39815
39816 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39817 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39818 i386-specific anyway).
39819 (grub_console_checkkey): Rename to ...
39820 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39821 users.
39822 (grub_keyboard_controller_orig): New variable.
39823 (grub_console_getkey): Rename to ...
39824 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39825 users.
39826 (grub_keyboard_controller_init): Static-ize. Save original
39827 controller value so that it can be restored ...
39828 (grub_keyboard_controller_fini): ... here (new function).
39829 (grub_at_keyboard_term): New structure.
39830 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39831 functions.
39832
39833 Migrate output terminals to new API:
39834
39835 * term/i386/pc/vga.c (grub_vga_term): Change type to
39836 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39837 members. Update all users.
39838 * term/gfxterm.c (grub_video_term): Change type to
39839 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39840 members. Update all users.
39841 * include/grub/i386/pc/console.h (grub_console_checkkey)
39842 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39843 etc).
39844
39845 Migrate `terminal' command and userland tools to new API:
39846
39847 * commands/terminal.c (grub_cmd_terminal): Split into ...
39848 (grub_cmd_terminal_input): ... this, and ...
39849 (grub_cmd_terminal_output): ... this.
39850 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39851 `terminal_input' and `terminal_output'.
39852 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39853 `terminal_input' / `terminal_output' API.
39854 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39855 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39856 provided ${GRUB_TERMINAL}, convert it).
39857
96e5d876 398582008-11-04 Robert Millan <rmh@aybabtu.com>
39859
39860 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39861 for FreeBSD.
39862 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39863
556f3775 398642008-11-03 Bean <bean123ch@gmail.com>
39865
39866 * kern/elf.c (grub_elf32_load): Revert to previous code.
39867 (grub_elf64_load): Likewise.
39868
39869 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39870
926b9823 398712008-11-01 Robert Millan <rmh@aybabtu.com>
39872
39873 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39874 (TARGET_CPPFLAGS): Likewise.
39875 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39876
1432e958 398772008-11-01 Carles Pina i Estany <carles@pina.cat>
39878
39879 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39880
dba3f844 398812008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 39882
39883 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39884 addition of objects until the code is not going to be able to fail.
39885
dba3f844 398862008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 39887
39888 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39889 (add a missing NULL check, and correct them by moving the pointer
39890 operations after the actual check).
39891
7ab28c21 398922008-10-29 Robert Millan <rmh@aybabtu.com>
39893
39894 * util/i386/pc/grub-install.in: Handle empty string as output from
39895 make_system_path_relative_to_its_root().
39896
1b7748eb 398972008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39898
39899 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39900 circular metadata worst case scenario. If the metadata is circular
39901 then copy the wrap in place.
39902 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39903 project lib/format_text/layout.h
39904 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39905
c9618ab2 399062008-10-03 Felix Zielcke <fzielcke@z-51.de>
39907
7a36edca 39908 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 39909
bf981c62 399102008-10-03 Felix Zielcke <fzielcke@z-51.de>
39911
39912 * util/update-grub_lib.in: Mention filename in warning message.
39913
6d994591 399142008-09-29 Felix Zielcke <fzielcke@z-51.de>
39915
39916 * NEWS: Update for rename of update-grub to grub-mkconfig.
39917
18ade780 399182008-09-29 Felix Zielcke <fzielcke@z-51.de>
39919
39920 * util/update-grub_lib.in: Copy to ...
39921 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 39922 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 39923 * util/update-grub.in: Rename to ...
39924 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
39925 option. Add `--output' option to allow users to specify the generated
39926 configuration file. Default to stdout.
39927 (update_grub_dir): Rename to ...
39928 (grub_mkconfig_dir): ... this.
39929 (grub_cfg): Default to an empty string.
39930 * conf/common.rmk (update-grub): Rename to ...
39931 (grub-mkconfig): ... this.
39932 (update-grub_lib): Copy to ...
39933 (grub-mkconfig_lib): ... this.
39934 (update-grub_SCRIPTS): Copy to ...
39935 (grub-mkconfig_SCRIPTS): ... this. Update all users.
39936 (update-grub_DATA): Rename to ...
39937 (grub-mkconfig_DATA): ... this.
39938
556ce6ac 399392008-09-28 Robert Millan <rmh@aybabtu.com>
39940
39941 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
39942 to `modified'. Add the real `created' field.
39943 (grub_iso9660_uuid): Use `modified' rather than `created' for
39944 constructing the UUID.
39945
399462008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 39947
39948 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
39949 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
39950
92274e85 399512008-09-28 Bean <bean123ch@gmail.com>
39952
39953 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
39954 Thanks to Christian Franke for finding this bug.
39955
add6f17a 399562008-09-25 Robert Millan <rmh@aybabtu.com>
39957
39958 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
39959 instances of grub_util_get_disk_name() (see previous commit).
39960
d2a367b8 399612008-09-25 Robert Millan <rmh@aybabtu.com>
39962
39963 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
39964 `util/i386/get_disk_name.c'.
39965 * conf/i386-efi.rmk: Likewise.
39966 * conf/x86_64-efi.rmk: Likewise.
39967 * conf/i386-coreboot.rmk: Likewise.
39968 * conf/i386-ieee1275.rmk: Likewise.
39969 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
39970 `util/ieee1275/get_disk_name.c'.
39971 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
39972 * util/ieee1275/get_disk_name.c: Remove file.
39973 * util/i386/get_disk_name.c: Remove file.
39974 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
39975 "hd%d" for device.map entries, rather than using
39976 grub_util_get_disk_name().
39977
81a06771 399782008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 39979
39980 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
39981 warning.
39982 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
39983
5a004279 399842008-09-24 Carles Pina i Estany <carles@pina.cat>
39985
39986 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
39987 Changed to 0x5100.
39988 (GRUB_TERM_PPAGE): Changed to 0x4900.
39989
397093d3 399902008-09-24 Robert Millan <rmh@aybabtu.com>
39991
39992 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
39993 macros (they were i386-pc specific).
39994 * include/grub/sparc64/ieee1275/console.h: Likewise.
39995 * include/grub/efi/console.h: Likewise.
39996
a91b6c7c 399972008-09-22 Bean <bean123ch@gmail.com>
39998
39999 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40000 resident and in attribute list.
40001
40002 * include/grub/ntfs.h (BMP_LEN): Removed.
40003
c40fd116 400042008-09-22 Bean <bean123ch@gmail.com>
40005
81a06771 40006 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 40007 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40008
40009 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40010 error occurs, as grub_disk_open will call grub_disk_close, which will
40011 call p->close (scsi).
40012
81a06771 400132008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 40014
40015 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40016 (AC_PREREQ): Bumped to 2.59.
40017 (AC_TRY_COMPILE): Replace obsolete macro with ...
40018 (AC_COMPILE_IFELSE): ... this.
40019 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40020 (AC_LINK_IFELSE): ... this.
40021
5dc43410 400222008-09-21 Felix Zielcke <fzielcke@z-51.de>
40023
40024 * autogen.sh: Add a call to `gendistlist.sh'.
40025
9035dce4 400262008-09-19 Christian Franke <franke@computer.org>
40027
40028 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40029 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40030 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40031 Export __enable_execute_stack() to modules.
40032 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40033 New function.
40034
7fd75377 400352008-09-09 Felix Zielcke <fzielcke@z-51.de>
40036
040030b3 40037 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40038 Sort the list.
40039
400402008-09-09 Felix Zielcke <fzielcke@z-51.de>
40041
40042 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 40043 #include <grub/util/hostdisk.h>.
40044
89d5ffcf 400452008-09-08 Robert Millan <rmh@aybabtu.com>
40046
40047 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40048 segments when their filesz is zero (grub_file_read() interprets
81a06771 40049 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 40050 Use `lowest_segment' rather than 0 for calculating the current
40051 segment load address.
40052
40da438f 400532008-09-08 Robert Millan <rmh@aybabtu.com>
40054
40055 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40056 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40057 clobbered useful information.
40058
ddbf5556 400592008-09-08 Robert Millan <rmh@aybabtu.com>
40060
40061 * include/grub/util/biosdisk.h: Move to ...
40062 * include/grub/util/hostdisk.h: ... here. Update all users.
40063 * util/biosdisk.c: Move to ...
40064 * util/hostdisk.c: ... here. Update all users.
40065
783d0f48 400662008-09-07 Robert Millan <rmh@aybabtu.com>
40067
40068 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40069 variables.
40070 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40071 and length can be stored directly in the `mbi->mmap_addr' and
40072 `mbi->mmap_length' struct fields.
40073
548e2ea5 400742008-09-07 Robert Millan <rmh@aybabtu.com>
40075
40076 * conf/i386.rmk: New file. Provides declaration for building
40077 `cpuid.mod'.
40078 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40079 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40080 variables.
40081 Include `conf/i386.mk'.
40082 * conf/i386-efi.rmk: Likewise.
40083 * conf/x86_64-efi.rmk: Likewise.
40084 * conf/i386-coreboot.rmk: Likewise.
40085 * conf/i386-ieee1275.rmk: Likewise.
40086
0ea85a37 400872008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40088
40089 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40090 Adds optimization support for BGR based modes.
40091
40092 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40093 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40094 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40095 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40096 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40097 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40098 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40099 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40100 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40101 (grub_video_i386_vbeblit_index_index): Likewise.
40102 (grub_video_i386_vbeblit_replace_directN): Added.
40103 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40104 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40105 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40106 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40107 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40108 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40109 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40110 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40111 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40112 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40113 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40114 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40115 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40116
40117 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40118 (grub_video_i386_vbefill_R8G8B8): Likewise.
40119 (grub_video_i386_vbefill_index): Likewise.
40120 (grub_video_i386_vbefill_direct32): Added.
40121 (grub_video_i386_vbefill_direct24): Likewise.
40122 (grub_video_i386_vbefill_direct16): Likewise.
40123 (grub_video_i386_vbefill_direct8): Likewise.
40124
81a06771 40125 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40126 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40127 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40128 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40129 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40130 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40131
0ea85a37 40132 * video/video.c (grub_video_get_blit_format): Updated to use new
40133 blit formats. Added handling for 16 bit color modes.
81a06771 40134
40135 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40136 fillers.
40137 (common_blitter): Updated to use new blitters.
40138
40139 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40140 Removed.
40141 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40142 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40143 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40144 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40145 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40146 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40147 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40148 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40149 (grub_video_i386_vbeblit_index_index): Likewise.
40150 (grub_video_i386_vbeblit_replace_directN): Added.
40151 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40152 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40153 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40154 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40155 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40156 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40157 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40158 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40159 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40160 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40161 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40162 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40163 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40164
0ea85a37 40165 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40166 (grub_video_i386_vbefill_R8G8B8): Likewise.
40167 (grub_video_i386_vbefill_index): Likewise.
40168 (grub_video_i386_vbefill_direct32): Added.
40169 (grub_video_i386_vbefill_direct24): Likewise.
40170 (grub_video_i386_vbefill_direct16): Likewise.
40171 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40172
0ea85a37 40173 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40174 types.
81a06771 40175
0ea85a37 40176 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40177 types.
81a06771 40178
0ea85a37 40179 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40180 blitter types.
81a06771 40181
0ea85a37 40182 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40183 types.
40184
e8a83df6 401852008-09-06 Felix Zielcke <fzielcke@z-51.de>
40186
40187 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40188 RAID level 1.
40189
6bcd8ee5 401902008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40191
6bcd8ee5 40192 * fs/iso9660.c (grub_iso9660_date): New structure.
40193 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40194 (grub_iso9660_uuid): New function.
c375ae58 40195
59261157 401962008-09-05 Bean <bean123ch@gmail.com>
40197
40198 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40199
40200 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40201 insensitive bit for names in Win32 and Win32 & DOS namespace.
40202
40203 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40204
40205 * include/grub/types.h (LONG_MAX): Likewise.
40206
58b6645a 402072008-09-04 Felix Zielcke <fzielcke@z-51.de>
40208
4ee55921 40209 * util/getroot.c: Include <config.h>.
40210 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40211 add support for /dev/md/N devices and handle LVM double dash escaping.
40212
402132008-09-04 Felix Zielcke <fzielcke@z-51.de>
40214
40215 * config.guess: Update to latest version from config git.
40216 * config.sub: Likewise.
58b6645a 40217
9124f65d 402182008-09-03 Robert Millan <rmh@aybabtu.com>
40219
40220 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40221 `disk->total_sectors'.
40222
81a06771 402232008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40224
40225 * include/grub/normal.h: Fixed incorrect comment for
40226 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40227
81a06771 402282008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40229
40230 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40231 values with defines.
40232
40233 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40234 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40235 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40236 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40237 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40238 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40239 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40240 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40241 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40242 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40243 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40244 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40245 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40246 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40247 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40248 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40249 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40250 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40251 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40252
93d5cbf8 402532008-08-31 Robert Millan <rmh@aybabtu.com>
40254
40255 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40256 declaration.
40257 (grub_multiboot): Fix a few warnings.
40258
21751d50 402592008-08-31 Robert Millan <rmh@aybabtu.com>
40260
40261 * loader/i386/pc/multiboot.c: Update comment not to say that
40262 boot_device support is unimplemented.
40263
e27a75c5 402642008-08-31 Robert Millan <rmh@aybabtu.com>
40265
40266 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40267 or memory map support are unimplemented.
40268
81a06771 402692008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40270
40271 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40272
81a06771 402732008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40274
40275 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40276 total video memory in 'vbeinfo' output; show color format details for
40277 each video mode.
40278
7c5d8d95 402792008-08-30 Pavel Roskin <proski@gnu.org>
40280
40281 * util/genmoddep.c: Remove for real this time.
40282 * DISTLIST: Remove util/genmoddep.c.
40283
4cebd25a 402842008-08-30 Robert Millan <rmh@aybabtu.com>
40285
40286 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40287 as required by Multiboot spec (it was already 4-byte aligned, but
40288 only by chance).
40289
b497a269 402902008-08-29 Pavel Roskin <proski@gnu.org>
40291
e3925185 40292 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40293 * kern/powerpc/ieee1275/startup.S: ... this.
40294 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40295 * DISTLIST: Likewise.
40296
b497a269 40297 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40298 grub/cpu/kernel.h. Add start label for consistency with other
40299 platforms. Add grub_prefix immediately after start. Add jump
40300 to the code after grub_prefix.
40301 * include/grub/powerpc/kernel.h: Provide valid values for
40302 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40303
6e5a42fe 403042008-08-29 Bean <bean123ch@gmail.com>
40305
40306 * configure.ac: Change host_os to cygwin for mingw.
40307 (asprintf): New check for function.
40308
40309 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40310 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40311
40312 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40313 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40314 sync, sleep and grub_util_get_disk_size for mingw.
40315
40316 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40317 to get size in mingw.
40318 (open_device): Use flag O_BINARY if it's defined.
40319 (find_root_device): Add dummy code for mingw.
40320
40321 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40322 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40323 (get_scsi_disk_name): Return 0 for mingw.
40324
40325 * util/hostfs.c: #include <grub/util/misc.h>.
40326 (grub_hostfs_open): Use "rb" flag to open file, use
40327 grub_util_get_disk_size to get disk size for mingw.
40328
40329 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40330 (asprintf): New function if HAVE_ASPRINTF is not set.
40331 (sync): New function for mingw.
40332 (sleep): Likewise.
40333 (grub_util_get_disk_size): Likewise.
40334
ab3f2673 403352008-08-28 Pavel Roskin <proski@gnu.org>
40336
40337 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40338 kern/time.c.
40339
1c282483 403402008-08-28 Robert Millan <rmh@aybabtu.com>
40341
40342 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40343
678e849c 403442008-08-28 Robert Millan <rmh@aybabtu.com>
40345
40346 Change find_grub_drive() syntax so it doesn't prevent it from
40347 detecting NULL names as errors.
40348
40349 * util/biosdisk.c (find_grub_drive): Move free slot search code
40350 from here ...
40351 (find_free_slot): ... to here.
40352 (read_device_map): Use find_free_slot() to search for free slots.
40353
965c75ca 403542008-08-27 Marco Gerards <marco@gnu.org>
40355
40356 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40357 (scsi_mod_SOURCES): New variable.
40358 (scsi_mod_CFLAGS): Likewise
40359 (scsi_mod_LDFLAGS): Likewise.
40360
40361 * disk/scsi.c: New file.
40362
40363 * include/grub/scsi.h: Likewise.
40364
40365 * include/grub/scsicmd.h: Likewise.
40366
40367 * disk/ata.c: Include <grub/scsi.h>.
40368 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40369 instead.
40370 (grub_ata_iterate): Skip ATAPI devices.
40371 (grub_ata_open): Only handle ATAPI devices.
40372 (struct grub_atapi_read): Removed.
40373 (grub_atapi_readsector): Likewise.
40374 (grub_ata_read): No longer handle ATAPI devices.
40375 (grub_ata_write): Likewise.
40376 (grub_atapi_iterate): New function.
40377 (grub_atapi_read): Likewise.
40378 (grub_atapi_write): Likewise.
40379 (grub_atapi_open): Likewise.
40380 (grub_atapi_close): Likewise.
40381 (grub_atapi_dev): New variable.
40382 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40383 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40384
40385 * include/grub/disk.h (enum grub_disk_dev_id): Add
40386 `GRUB_DISK_DEVICE_SCSI_ID'.
40387
c07ae501 403882008-08-26 Robert Millan <rmh@aybabtu.com>
40389
40390 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40391 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40392 descriptive.
40393
5ed20adc 403942008-08-23 Bean <bean123ch@gmail.com>
40395
40396 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40397 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40398 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40399 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40400 dm_nv.mod.
40401 (raid5rec_mod_SOURCES): New macro.
40402 (raid5rec_mod_CFLAGS): Likewise.
40403 (raid5rec_mod_LDFLAGS): Likewise.
40404 (raid6rec_mod_SOURCES): Likewise.
40405 (raid6rec_mod_CFLAGS): Likewise.
40406 (raid6rec_mod_LDFLAGS): Likewise.
40407 (mdraid_mod_SOURCES): Likewise.
40408 (mdraid_mod_CFLAGS): Likewise.
40409 (mdraid_mod_LDFLAGS): Likewise.
40410 (dm_nv_mod_SOURCES): Likewise.
40411 (dm_nv_mod_CFLAGS): Likewise.
40412 (dm_nv_mod_LDFLAGS): Likewise.
40413
40414 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40415 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40416 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40417
40418 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40419 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40420
40421 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40422
40423 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40424
40425 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40426
40427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40428
40429 * disk/raid5_recover.c: New file.
40430
40431 * disk/raid6_recover.c: Likewise.
40432
40433 * disk/mdraid_linux.c: Likewise.
40434
40435 * disk/dmraid_nvidia.c: Likewise.
40436
40437 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40438 ULONG_MAX.
40439
40440 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40441 calculate the size of raid device.
40442 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40443 different layout of raid5.
40444 (grub_raid_scan_device): Remove code specific to mdraid.
40445 (grub_raid_list): New variable.
40446 (free_array): New function.
40447 (grub_raid_register): Likewise.
40448 (grub_raid_unregister): Likewise.
40449 (grub_raid_rescan): Likewise.
40450 (GRUB_MOD_INIT): Don't iterate device here.
40451 (GRUB_MOD_FINI): Use free_array to release resource.
40452
40453 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40454 (grub_raid5_recover_func_t): New function variable type.
40455 (grub_raid6_recover_func_t): Likewise.
40456 (grub_raid5_recover_func): New variable.
40457 (grub_raid6_recover_func): Likewise.
40458 (grub_raid_register): New function.
40459 (grub_raid_unregister): Likewise.
40460 (grub_raid_rescan): Likewise.
40461 (grub_raid_block_xor): Likewise.
40462
40463 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40464 (CMD_CRC): New macro.
40465 (part): Removed.
40466 (read_file): Handle device as well as file.
40467 (cmd_crc): New function.
40468 (fstest): Handle multiple disks.
40469 (options): Remove part, raw and long, add root and diskcount.
40470 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40471 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40472 add handling for the new options, support multiple disks.
40473
40474 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40475
29c18915 404762008-08-23 Bean <bean123ch@gmail.com>
40477
40478 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40479
40480 * genfslist.sh: Ignore kernel.mod.
40481
40482 * genpartmaplist.sh: Likewise.
40483
8415f261 404842008-08-23 Robert Millan <rmh@aybabtu.com>
40485
40486 * util/getroot.c (find_root_device): Skip anything that starts with
40487 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40488
d5a7dc5b 404892008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40490
d5a7dc5b 40491 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40492 * util/grub.d/00_header.in: Allow the administrator to change default
40493 gfxmode via ${GRUB_GFXMODE}.
40494
380cfbb4 404952008-08-21 Felix Zielcke <fzielcke@z-51.de>
40496
40497 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40498
c9baafe7 404992008-08-21 Robert Millan <rmh@aybabtu.com>
40500
40501 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40502 loader.
40503 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40504 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40505
e290bef2 405062008-08-20 Carles Pina i Estany <carles@pina.cat>
40507
40508 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40509 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40510
f9dbfc96 405112008-08-19 Robert Millan <rmh@aybabtu.com>
40512
40513 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40514 (struct grub_virtual_screen): Remove `cursor_color'.
40515 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40516 initialization.
40517 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40518
dd6bd6ab 405192008-08-18 Robert Millan <rmh@aybabtu.com>
40520
40521 Unify (identical) linux_normal.c files.
40522 * loader/i386/efi/linux_normal.c: Move from here ...
40523 * loader/linux_normal.c: ... to here. Update all users.
40524 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40525 * loader/i386/ieee1275/linux_normal.c: Likewise.
40526
7f42f83e 405272008-08-18 Robert Millan <rmh@aybabtu.com>
40528
40529 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40530 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40531 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40532 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40533 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40534 New macros.
40535 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40536 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40537 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40538 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40539 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40540 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40541 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40542 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40543 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40544 portably using grub_getxy().
40545 Replace `-EFI' with `-bzImage' in boot message.
40546
38487ddb 405472008-08-17 Robert Millan <rmh@aybabtu.com>
40548
40549 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40550
deceb3ec 405512008-08-17 Robert Millan <rmh@aybabtu.com>
40552
40553 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40554
40555 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40556 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40557 (grub_machine_mmap_iterate): New function declaration.
40558 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40559 structure.
40560 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40561 macros.
40562
40563 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40564 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40565 Move e820 parsing from here ...
40566 * kern/i386/pc/mmap.c: New file.
40567 (grub_machine_mmap_iterate): ... to here.
40568
40569 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40570 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40571 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40572 (grub_available_iterate): Redeclare to return `void', and redeclare
40573 its hook to use grub_uint64_t as addr and size parameters, and rename
40574 to ...
40575 (grub_machine_mmap_iterate): ... this. Update all users.
40576
40577 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40578 to make it more readable. Rename to ...
40579 (grub_machine_mmap_iterate): ... this.
40580
40581 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40582 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40583 (grub_multiboot): Allocate an extra region after the payload, and fill
40584 it with a Multiboot memory map. Adjust a.out loader to calculate size
40585 with the extra space.
40586 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40587 with the extra space.
40588
f8aa0f43 405892008-08-17 Carles Pina i Estany <carles@pina.cat>
40590
9807deb9 40591 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40592
605f5bb6 405932008-08-17 Felix Zielcke <fzielcke@z-51.de>
40594
40595 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40596 mdate-sh to the list `find' searches for.
40597 * DISTLIST: Regenerated.
40598
210db6c6 405992008-08-16 Felix Zielcke <fzielcke@z-51.de>
40600
40601 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40602 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40603 genmoddep.awk, gensymlist.sh.in.
40604 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40605 * DISTLIST: Regenerated.
48cdbfd4 40606 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40607
1082b929 406082008-08-16 Robert Millan <rmh@aybabtu.com>
40609
40610 * disk/raid.c (grub_raid_init): Handle/report errors set by
40611 grub_device_iterate().
40612 * disk/lvm.c (grub_lvm_init): Likewise.
40613
42ce5170 406142008-08-15 Bean <bean123ch@gmail.com>
40615
40616 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40617 and datehook.mod.
40618 (datetime_mod_SOURCES): New macro.
40619 (datetime_mod_CFLAGS): Likewise.
40620 (datetime_mod_LDFLAGS): Likewise.
40621 (date_mod_SOURCES): Likewise.
40622 (date_mod_CFLAGS): Likewise.
40623 (date_mod_LDFLAGS): Likewise.
40624 (datehook_mod_SOURCES): Likewise.
40625 (datehook_mod_CFLAGS): Likewise.
40626 (datehook_mod_LDFLAGS): Likewise.
40627
40628 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40629 and datehook.mod.
40630 (datetime_mod_SOURCES): New macro.
40631 (datetime_mod_CFLAGS): Likewise.
40632 (datetime_mod_LDFLAGS): Likewise.
40633 (date_mod_SOURCES): Likewise.
40634 (date_mod_CFLAGS): Likewise.
40635 (date_mod_LDFLAGS): Likewise.
40636 (datehook_mod_SOURCES): Likewise.
40637 (datehook_mod_CFLAGS): Likewise.
40638 (datehook_mod_LDFLAGS): Likewise.
40639
40640 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40641 and datehook.mod.
40642 (datetime_mod_SOURCES): New macro.
40643 (datetime_mod_CFLAGS): Likewise.
40644 (datetime_mod_LDFLAGS): Likewise.
40645 (date_mod_SOURCES): Likewise.
40646 (date_mod_CFLAGS): Likewise.
40647 (date_mod_LDFLAGS): Likewise.
40648 (datehook_mod_SOURCES): Likewise.
40649 (datehook_mod_CFLAGS): Likewise.
40650 (datehook_mod_LDFLAGS): Likewise.
40651
40652 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40653 and datehook.mod.
40654 (datetime_mod_SOURCES): New macro.
40655 (datetime_mod_CFLAGS): Likewise.
40656 (datetime_mod_LDFLAGS): Likewise.
40657 (date_mod_SOURCES): Likewise.
40658 (date_mod_CFLAGS): Likewise.
40659 (date_mod_LDFLAGS): Likewise.
40660 (datehook_mod_SOURCES): Likewise.
40661 (datehook_mod_CFLAGS): Likewise.
40662 (datehook_mod_LDFLAGS): Likewise.
40663
40664 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40665 and datehook.mod.
40666 (datetime_mod_SOURCES): New macro.
40667 (datetime_mod_CFLAGS): Likewise.
40668 (datetime_mod_LDFLAGS): Likewise.
40669 (date_mod_SOURCES): Likewise.
40670 (date_mod_CFLAGS): Likewise.
40671 (date_mod_LDFLAGS): Likewise.
40672 (datehook_mod_SOURCES): Likewise.
40673 (datehook_mod_CFLAGS): Likewise.
40674 (datehook_mod_LDFLAGS): Likewise.
40675
40676 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40677
40678 * commands/date.c: New file.
40679
40680 * hook/datehook.c: Likewise.
40681
40682 * include/grub/lib/datetime.h: Likewise.
40683
40684 * include/grub/i386/cmos.h: Likewise.
40685
40686 * lib/datetime.c: Likewise.
40687
40688 * lib/i386/datetime.c: Likewise.
40689
40690 * lib/efi/datetime.c: Likewise.
40691
0e9242da 406922008-08-14 Robert Millan <rmh@aybabtu.com>
40693
40694 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40695 (grub_mkelfimage_SOURCES): New variable.
40696 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40697
40698 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40699 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40700 * conf/powerpc-ieee1275.rmk: Likewise.
40701 * conf/i386-ieee1275.rmk: Likewise.
40702
40703 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40704 * kern/i386/coreboot/init.c: Likewise.
40705
40706 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40707 with `<grub/cpu/kernel.h>'.
40708 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40709 to ...
40710 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40711 * kern/i386/coreboot/startup.S: Likewise.
40712
40713 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40714 (GRUB_MOD_GAP): Remove.
40715 * include/grub/powerpc/kernel.h: New file.
40716 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40717 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40718 * include/grub/i386/kernel.h: New file.
40719 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40720 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40721 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40722
40723 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40724 `grub-mkelfimage'.
40725 Use --directory when invoking grub_mkimage.
40726
40727 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40728 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40729 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40730 and GRUB_KERNEL_CPU_PREFIX.
40731
b86408f8 407322008-08-14 Felix Zielcke <fzielcke@z-51.de>
40733
d5e619ca 40734 * include/grub/err.h (grub_err_printf): New function prototype.
40735 * util/misc.c (grub_err_printf): New function.
40736 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40737 grub_printf.
40738 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40739
7161f0e0 407402008-08-13 Robert Millan <rmh@aybabtu.com>
40741
40742 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40743
a1967522 407442008-08-13 Robert Millan <rmh@aybabtu.com>
40745
40746 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40747 boot entry.
40748
371458b5 407492008-08-12 Robert Millan <rmh@aybabtu.com>
40750
40751 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40752 of the relocation code from here ...
40753 (grub_multiboot): ... to here.
40754 (forward_relocator, backward_relocator): Move from here ...
40755 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40756 (grub_multiboot_backward_relocator): ... to here.
40757 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40758 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40759 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40760 (grub_multiboot_forward_relocator_end)
40761 (grub_multiboot_backward_relocator)
40762 (grub_multiboot_backward_relocator_end): New variables.
40763
05f9452b 407642008-08-12 Bean <bean123ch@gmail.com>
40765
40766 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40767
20024ab0 407682008-08-11 Robert Millan <rmh@aybabtu.com>
40769
40770 * kern/i386/linuxbios/startup.S: Move from here ...
40771 * kern/i386/coreboot/startup.S: ... to here.
40772
40773 * kern/i386/linuxbios/init.c: Move from here ...
40774 * kern/i386/coreboot/init.c: ... to here.
40775
40776 * kern/i386/linuxbios/table.c: Move from here ...
40777 * kern/i386/coreboot/mmap.c: ... to here.
40778
40779 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40780
e352e9cd 407812008-08-11 Robert Millan <rmh@aybabtu.com>
40782
40783 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40784 errors. Leave it to the upper layer to handle them.
40785
2d05bc6a 407862008-08-09 Christian Franke <franke@computer.org>
40787
40788 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40789 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40790 Install `grub.d/10_windows' only on Cygwin.
40791 * configure.ac: Add subst of `target_os'.
40792 Check `target_os' also before setting TARGET_OBJ2ELF.
40793 Add `--enable-grub-pe2elf'.
40794
042bd419 407952008-08-08 Robert Millan <rmh@aybabtu.com>
40796
40797 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40798 (grub_last_time): Change type to grub_uint64_t.
40799 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40800 (grub_disk_close): Likewise.
40801
40802 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40803 (run_menu): Migrate code from to using grub_get_time_ms().
40804
40805 * util/misc.c (grub_get_time_ms): New function.
40806
7f280db5 408072008-08-08 Marco Gerards <marco@gnu.org>
40808
40809 * disk/ata.c (grub_ata_regget): Change return type to
40810 `grub_uint8_t'.
40811 (grub_ata_regget2): Likewise.
40812 (grub_ata_wait_status): New function.
40813 (grub_ata_wait_busy): Removed function, updated all users to use
40814 `grub_ata_wait_status'.
40815 (grub_ata_wait_drq): Likewise.
40816 (grub_ata_cmd): New function.
40817 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40818 error handling.
40819 (grub_ata_pio_write): Add error handling.
40820 (grub_atapi_identify): Likewise.
40821 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40822 handling.
40823 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40824 handling. Actually use the detected registers. Reorder the
40825 detection logic such that it is easier to read.
40826 (grub_ata_pciinit): Do not assign the same ID to each controller.
40827 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40828 handling.
40829 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40830
40831 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40832
1fbc5e66 408332008-08-08 Marco Gerards <marco@gnu.org>
40834
40835 * NEWS: Update.
40836
819ce6c0 408372008-08-07 Bean <bean123ch@gmail.com>
40838
40839 * include/grub/x86_64/pci.h: New file.
40840
5c41d44d 408412008-08-07 Christian Franke <franke@computer.org>
40842
40843 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40844 (TIMER2_GATE): Likewise.
40845 (grub_pit_wait): Add enable/disable of the timer2 gate
40846 bit of port 0x61. This fixes a possible infinite loop.
40847
5ebc275d 408482008-08-07 Bean <bean123ch@gmail.com>
40849
40850 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40851 kern/i386/tsc.c and kern/i386/pit.c.
40852
40853 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40854 x86_64 platform.
40855
40856 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40857 <grub/i386/tsc.h>.
40858
40859 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40860
e383b3d0 408612008-08-07 Bean <bean123ch@gmail.com>
40862
40863 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40864
40865 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40866
40867 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40868 multiple inclusion. Add #include <grub/types.h>.
40869
1cbb58ac 408702008-08-06 Christian Franke <franke@computer.org>
40871
40872 * conf/common.rmk: Build and install `10_windows'.
40873 * util/grub.d/10_windows.in: New script.
40874
337f5a1e 408752008-08-06 Pavel Roskin <proski@gnu.org>
40876
40877 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40878
057bc4ac 408792008-08-06 Robert Millan <rmh@aybabtu.com>
40880
40881 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40882 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40883
2b99f123 408842008-08-06 Bean <bean123ch@gmail.com>
40885
40886 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40887 (grub_pxefs_fs_int): Remove dummy definition.
40888 (grub_pxefs_open): Use data->block_size to store the current block
40889 size setting.
40890 (grub_pxefs_read): Use block size stored in data->block_size. As the
40891 value of grub_pxe_blksize can be changed after the file is opened.
40892
9f0234cb 408932008-08-06 Bean <bean123ch@gmail.com>
40894
40895 * fs/i386/pc/pxe.c (curr_file): new variable.
40896 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40897 require the dummy internal file system anymore.
40898 (grub_pxefs_read): Removed.
40899 (grub_pxefs_close): Likewise.
40900 (grub_pxefs_fs_int): Likewise.
40901 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40902 connection when we switch file.
40903 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40904
a55d42e0 409052008-08-06 Robert Millan <rmh@aybabtu.com>
40906
40907 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40908 `halt.mod'.
40909 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40910 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40911
40912 * kern/i386/halt.c: New file.
40913 * kern/i386/reboot.c: Likewise.
40914 * include/grub/i386/reboot.h: Likewise.
40915 * include/grub/i386/halt.h: Likewise.
40916
40917 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
40918 Include `<grub/cpu/halt.h>'.
40919 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
40920 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
40921
40922 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
40923 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
40924 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
40925 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
40926 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
40927 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
40928 from here ...
40929 * include/grub/i386/at_keyboard.h: ... to here.
40930
24371d26 409312008-08-05 Robert Millan <rmh@aybabtu.com>
40932
40933 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
40934 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
40935 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
40936 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40937 `kern/generic/millisleep.c'.
40938
40939 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
40940 instead of grub_get_rtc().
40941 (grub_tsc_init): Initialize `tsc_boot_time'.
40942
40943 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
40944 (grub_machine_init): Use grub_tsc_init() rather than
40945 installing an RTC-based handler via grub_install_get_time_ms().
40946
40947 * kern/i386/pit.c: New file.
40948 * include/grub/i386/pit.h: Likewise.
40949
9e7007b3 409502008-08-05 Bean <bean123ch@gmail.com>
40951
40952 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
40953
40954 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
40955 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
40956 (pxe_mod_SOURCES): New macro.
40957 (pxe_mod_CFLAGS): Likewise.
40958 (pxe_mod_LDFLAGS): Likewise.
40959 (pxecmd_mod_SOURCES): Likewise.
40960 (pxecmd_mod_CFLAGS): Likewise.
40961 (pxecmd_mod_LDFLAGS): Likewise.
40962
40963 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
40964 (grub_pxe_call): Likewise.
40965
40966 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
40967
40968 * commands/i386/pc/pxecmd.c: New file.
40969
9f0234cb 40970 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 40971
40972 * include/grub/i386/pc/pxe.h: Likewise.
40973
6977d49f 409742008-08-05 Bean <bean123ch@gmail.com>
40975
40976 * util/console.c (grub_console_cur_color): New variable.
40977 (grub_console_standard_color): Likewise.
40978 (grub_console_normal_color): Likewise.
40979 (grub_console_highlight_color): Likewise.
40980 (color_map): Likewise.
40981 (use_color): Likewise.
40982 (NUM_COLORS): New macro.
40983 (grub_ncurses_setcolorstate): Handle color properly.
40984 (grub_ncurses_setcolor): Don't change color here, just remember the
40985 settings, color will be set in grub_ncurses_setcolorstate.
40986 (grub_ncurses_getcolor): New function.
40987 (grub_ncurses_init): Initialize color pairs.
40988 (grub_ncurses_term): New member grub_ncurses_getcolor.
40989
9c2ff3ee 409902008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 40991
9c2ff3ee 40992 High resolution timer support. Implemented for x86 CPUs using TSC.
40993 Extracted generic grub_millisleep() so it's linked in only as needed.
40994 This requires a Pentium compatible CPU; if the RDTSC instruction is
40995 not supported, then it falls back on the generic grub_get_time_ms()
40996 implementation that uses the machine's RTC.
40997
40998 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
40999 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41000 `kern/generic/millisleep.c'.
41001
41002 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41003 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41004
41005 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41006 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41007
41008 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41009
41010 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41011 `kern/generic/millisleep.c'.
41012
41013 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41014
41015 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41016
41017 * kern/generic/rtc_get_time_ms.c: New file.
41018
41019 * kern/generic/millisleep.c: New file.
337f5a1e 41020
9c2ff3ee 41021 * kern/misc.c: Don't include
41022 <kern/time.h> anymore.
41023 (grub_millisleep_generic): Removed.
41024
41025 * commands/sleep.c (grub_interruptible_millisleep): Uses
41026 grub_get_time_ms() instead of grub_get_rtc().
41027
41028 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41029 function.
41030 (grub_cpu_is_cpuid_supported): New inline function.
41031 (grub_cpu_is_tsc_supported): New inline function.
41032 (grub_tsc_init): New function prototype.
41033 (grub_tsc_get_time_ms): New function prototype.
41034
41035 * kern/i386/tsc.c (grub_get_time_ms): New file.
41036
41037 * include/grub/time.h: Include <grub/types.h.
41038 (grub_millisleep_generic): Removed.
41039 (grub_get_time_ms): New prototype.
41040 (grub_install_get_time_ms): New prototype.
41041 (grub_rtc_get_time_ms): New prototype.
41042
41043 * kern/time.c (grub_get_time_ms): New function.
41044 (grub_install_get_time_ms): New function.
41045
41046 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41047 <grub/time.h> anymore.
41048 (grub_millisleep): Removed.
41049 (grub_machine_init): Call grub_tsc_init.
41050
41051 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41052 get_time_ms() implementation.
41053
41054 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41055 (ieee1275_get_time_ms): New function.
41056 (grub_machine_init): Install get_time_ms() implementation.
41057
41058 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41059 (grub_machine_init): Call grub_tsc_init().
41060 (grub_millisleep): Removed.
bf06a93f 41061
9c2ff3ee 41062 * kern/ieee1275/init.c (grub_millisleep): Removed.
41063 (grub_machine_init): Install ieee1275_get_time_ms()
41064 implementation.
41065 (ieee1275_get_time_ms): New function.
41066 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41067 real work.
41068
9ec92aaf 410692008-08-05 Marco Gerards <marco@gnu.org>
41070
41071 * disk/ata.c: Include <grub/pci.h>.
41072 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41073 (grub_ata_initialize): Rewritten.
41074 (grub_ata_device_initialize): New function.
41075
8d23f507 410762008-08-04 Pavel Roskin <proski@gnu.org>
41077
41078 * kern/main.c: Include grub/mm.h.
41079
5e15ee3d 410802008-08-04 Robert Millan <rmh@aybabtu.com>
41081
41082 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41083 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41084 corruption problem).
41085
a9053f8f 410862008-08-04 Robert Millan <rmh@aybabtu.com>
41087
41088 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41089 warnings introduced in my last commit.
41090
dd19c7d7 410912008-08-03 Robert Millan <rmh@aybabtu.com>
41092
41093 Make PCI available on all i386 architectures.
41094
41095 * include/grub/i386/pc/pci.h: Move from here ...
41096 * include/grub/i386/pci.h: ... to here.
41097
41098 * include/grub/i386/pc/pci.h: Remove.
41099 * include/grub/i386/efi/pci.h: Remove.
41100 * include/grub/x86_64/efi/pci.h: Remove.
41101
41102 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41103 `<grub/cpu/pci.h>'.
41104
41105 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41106 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41107 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41108
41109 * conf/i386-ieee1275.rmk: Likewise.
41110
e14a6184 411112008-08-03 Robert Millan <rmh@aybabtu.com>
41112
41113 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41114 (grub_console_setcursor): Make it possible to set cursor off.
41115
52768e37 411162008-08-03 Robert Millan <rmh@aybabtu.com>
41117
41118 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41119 of modules instead of assuming which platform provides what.
41120 * util/update-grub.in: Likewise.
41121
2d52f57f 411222008-08-03 Robert Millan <rmh@aybabtu.com>
41123
41124 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41125 instead of `grub_install_dos_part' to determine whether a drive needs
41126 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41127 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41128
2a5cd121 411292008-08-02 Robert Millan <rmh@aybabtu.com>
41130
41131 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41132
93808428 411332008-08-02 Robert Millan <rmh@aybabtu.com>
41134
41135 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41136 of informational grub_dprintf() calls.
41137
3bd0a12a 411382008-08-02 Robert Millan <rmh@aybabtu.com>
41139
41140 * disk/memdisk.c (memdisk_size): Don't initialize.
41141 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41142
41143 * include/grub/i386/pc/kernel.h
41144 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41145 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41146 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41147 (grub_arch_memdisk_size): Remove.
41148
41149 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41150 field (was only used to transfer a constant). Add `type' field to
41151 support multiple module types.
41152 (grub_module_iterate): New function.
41153
41154 * kern/device.c (grub_device_open): Do not hide error messages
41155 when grub_disk_open() fails. Use grub_print_error() instead.
41156
41157 * kern/i386/pc/init.c (grub_arch_modules_addr)
41158 (grub_arch_memdisk_size): Remove functions.
41159 (grub_arch_modules_addr): Return the module address in high memory
41160 (now that it isn't copied anymore).
41161
41162 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41163 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41164 decompression routine (grub_total_module_size already includes that
41165 now). Don't copy modules back to low memory.
41166
41167 * kern/main.c: Include `<grub/mm.h>'.
41168 (grub_load_modules): Split out (and use) ...
41169 (grub_module_iterate): ... this function, which iterates through
41170 module objects and runs a hook.
41171 Comment out grub_mm_init_region() call, as it would cause non-ELF
41172 modules to be overwritten.
41173
41174 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41175 the memdisk image in its own region, make it part of the module list.
41176 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41177 (main): Parse --memdisk|-m option, and pass user-provided path as
41178 parameter to generate_image().
41179 (add_segments): Pass `memdisk_path' down to load_modules().
41180 (load_modules): Embed memdisk image in module section when requested.
41181 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41182 `header.type' instead of `header.offset'.
41183
41184 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41185 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41186 (memdisk_mod_LDFLAGS): New variables.
41187 * conf/i386-coreboot.rmk: Likewise.
41188 * conf/i386-ieee1275.rmk: Likewise.
41189
a927cc73 411902008-08-02 Robert Millan <rmh@aybabtu.com>
41191
41192 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41193 (backward_relocator): New variables. Used to allocate and relocate
41194 the payload, respectively.
41195 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41196 address, install the appropriate relocator code in each bound of
a927cc73 41197 the payload, and set the entry point such that
41198 grub_multiboot_real_boot() will jump to one of them.
41199
41200 * kern/i386/loader.S (grub_multiboot_payload_size)
41201 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41202 (grub_multiboot_payload_entry_offset): New variables.
41203 (grub_multiboot_real_boot): Set cpu context to what the relocator
41204 expects, and jump to the relocator instead of the payload.
41205
41206 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41207 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41208 (grub_multiboot_payload_entry_offset): Export.
41209
b15d8a0c 412102008-08-01 Bean <bean123ch@gmail.com>
41211
41212 * normal/menu_entry.c (editor_getline): Don't return the original
41213 string as result, as it will be released by lexer once it has done
41214 using it.
41215
cdfb3d22 412162008-08-01 Robert Millan <rmh@aybabtu.com>
41217
41218 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41219 within menuentries, not before them.
41220 util/grub.d/10_hurd.in: Likewise.
41221
9175e93d 412222008-08-01 Bean <bean123ch@gmail.com>
41223
41224 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41225 (bufio_mod_SOURCES): New macro.
41226 (bufio_mod_CFLAGS): Likewise.
41227 (bufio_mod_LDFLAGS): Likewise.
41228
41229 * include/grub/bufio.h: New file.
41230
41231 * io/bufio.c: Likewise.
41232
41233 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41234 (grub_video_reader_png): Use grub_buffile_open to open file.
41235
41236 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41237 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41238
41239 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41240 (grub_video_reader_tga): Use grub_buffile_open to open file.
41241
41242 * font/manager.c: Include <grub/bufio.h>.
41243 (add_font): Use grub_buffile_open to open file.
41244
3d8383e7 412452008-07-31 Robert Millan <rmh@aybabtu.com>
41246
41247 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41248 ELF segments, use a macro for arbitrarily accessing any of them instead
41249 of preparing a pointer that allows access to one at a time.
41250 (grub_multiboot_load_elf64): Likewise.
41251
16e641b6 412522008-07-31 Bean <bean123ch@gmail.com>
41253
41254 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41255 GRUB_KERNEL_MACHINE_DATA_END.
41256
59198b72 412572008-07-30 Robert Millan <rmh@aybabtu.com>
41258
41259 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41260 Increase from 0x50 to 0x60.
41261 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41262 use UUIDs to identify the root drive for them. If that's not
41263 possible, abort.
41264 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41265 check, for cross-disk installs.
41266
ae88bca3 412672008-07-30 Robert Millan <rmh@aybabtu.com>
41268
41269 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41270 is non-empty, use it to set the `prefix' environment variable instead
41271 of the usual approach.
41272 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41273 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41274 environment variable instead of dummy make_install_device().
41275
41276 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41277 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41278 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41279
41280 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41281 New variable reference.
41282 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41283 New macro. Defines offset of `grub_prefix' within startup.S (relative
41284 to `start').
41285 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41286 section within startup.S (relative to `start').
41287 * include/grub/i386/coreboot/kernel.h: Likewise.
41288
41289 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41290 Overwrite grub_prefix with its contents, at the beginning of the
41291 first segment.
41292 (main): Understand -p|--prefix.
41293
14f41dd1 412942008-07-30 Robert Millan <rmh@aybabtu.com>
41295
41296 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41297
4ca049a3 412982008-07-30 Robert Millan <rmh@aybabtu.com>
41299
41300 * term/i386/pc/vga_text.c (grub_console_cls): Use
41301 grub_console_gotoxy() to go back to beginning of the screen.
41302 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41303
2921d337 413042008-07-29 Christian Franke <franke@computer.org>
41305
41306 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41307 Add conversion of emulated mount points on Cygwin.
41308
b609876d 413092008-07-29 Christian Franke <franke@computer.org>
41310
41311 * util/update-grub.in: Add a check for admin
41312 group on Cygwin.
41313 Remove old `grub.cfg.new' before creation.
41314 Add `-f' to `mv' to handle the different filesystem
41315 semantics of Windows.
41316
e93e4679 413172008-07-29 Bean <bean123ch@gmail.com>
41318
41319 * normal/main.c (get_line): Fix buffer overflow bug.
41320
41694fd0 413212008-07-28 Robert Millan <rmh@aybabtu.com>
41322
41323 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41324 (struct grub_apple_header): New struct. Describes the layout of
41325 the partmap header.
41326 (apple_partition_map_iterate): Check the header magic as well as the
41327 partition magic (which was already being checked).
41328
cfd0b4e6 413292008-07-28 Pavel Roskin <proski@gnu.org>
41330
41331 * genmk.rb: Add a warning to the beginning of the output that
41332 it's a generated file and should not be edited.
41333
93cce016 413342008-07-28 Robert Millan <rmh@aybabtu.com>
41335
41336 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41337 with the same number are found, just use issue a warning with
41338 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41339
cd1df915 413402008-07-27 Robert Millan <rmh@aybabtu.com>
41341
41342 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41343 information.
41344
b70a8427 413452008-07-27 Bean <bean123ch@gmail.com>
41346
41347 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41348 (grub_fat_find_dir): Ignore case when comparing filename.
41349
8f5e379f 413502008-07-27 Bean <bean123ch@gmail.com>
41351
41352 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41353 smallino, as it's more descriptive, and i8count can be confused with
41354 the other field count.
41355 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41356 inode type.
41357
a85cd5a0 413582008-07-27 Bean <bean123ch@gmail.com>
41359
41360 * commands/crc.c: New file.
41361
41362 * lib/crc.c: Likewise.
41363
41364 * include/grub/lib/crc.h: Likewise.
41365
41366 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41367
41368 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41369 (hexdump): Move this function to ...
41370
41371 * lib/hexdump.c: ... here.
41372
41373 * include/grub/hexdump.h: Renamed to ...
41374
41375 * include/grub/lib/hexdump.h: ... this.
41376
41377 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41378
41379 * util/grub-editenv.c: Likewise.
41380
41381 * include/envblk.h: Renamed to ...
41382
41383 * include/lib/envblk.h: ... this.
41384
41385 * util/envblk.c: Renamed to ...
41386
41387 * lib/envblk.c: ... this.
41388
41389 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41390 lib/hexdump.c.
41391 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41392 (pkglib_MODULES): Add crc.mod.
41393 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41394 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41395 (crc_mod_SOURCES): New macro.
41396 (crc_mod_CFLAGS): Likewise.
41397 (crc_mod_LDFLAGS): Likewise.
41398
41399 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41400
41401 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41402
41403 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41404
41405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41406
41407 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41408
c298def0 414092008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41410
41411 * commands/help.c: Include <grub/term.h>.
41412 (TERM_WIDTH): Removed. Updated all users.
41413
cc349fb3 414142008-07-27 Pavel Roskin <proski@gnu.org>
41415
41416 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41417 spurious warnings about a comment within a comment.
41418
9051607e 414192008-07-25 Robert Millan <rmh@aybabtu.com>
41420
41421 * util/getroot.c (find_root_device): Skip devices that match
41422 /dev/dm-[0-9]. This lets the real device be found for any type of
41423 abstraction (LVM, EVMS, RAID..).
41424 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41425 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41426 device is found first, find_root_device() will now skip it.
41427
01453bfc 414282008-07-24 Pavel Roskin <proski@gnu.org>
41429
41430 * include/grub/types.h: Use __builtin_bswap32() and
41431 __builtin_bswap64() with gcc 4.3 and newer.
41432
6af9849f 414332008-07-24 Christian Franke <franke@computer.org>
41434
3a0fa256 41435 * util/i386/pc/grub-install.in: If `--debug' is specified,
41436 pass `--verbose' to grub-setup.
41437 Abort script if make_system_path_relative_to_its_root() fails.
41438
7810e747 414392008-07-24 Bean <bean123ch@gmail.com>
41440
41441 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41442 variable `target_platform' should be `platform'.
41443
42290e17 414442008-07-24 Bean <bean123ch@gmail.com>
41445
51cc5193 41446 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41447 (grub_png_init_fixed_block): New function.
41448 (grub_png_decode_image_data): Handle fixed huffman code compression.
41449
2a8a80e4 414502008-07-24 Bean <bean123ch@gmail.com>
41451
41452 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41453 (grub_pe2elf_SOURCES): New macro.
41454 (CLEANFILES): Add grub-pe2elf.
41455
41456 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41457 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41458 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41459 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41460 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41461 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41462 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41463 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41464 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41465 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41466 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41467 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41468 (GRUB_PE32_DT_FUNCTION): Likewise.
41469 (GRUB_PE32_REL_I386_DIR32): Likewise.
41470 (GRUB_PE32_REL_I386_REL32): Likewise.
41471 (grub_pe32_symbol): New structure.
41472 (grub_pe32_reloc): Likewise.
41473
41474 * util/grub-pe2elf.c: New file.
41475
41476 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41477 start symbol in non pc platform.
41478
41479 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41480
41481 The following patches are from Christian Franke.
41482
41483 * include/grub/dl.h: Remove .previous, gas supports this only
41484 for ELF format.
41485
41486 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41487 Remove .type, gas supports this only for ELF format.
41488
41489 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41490 nullbytes in symbol table. This fixes an infinite loop if table is
41491 zero filled.
41492
41493 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41494 TARGET_IMG_LDFLAGS and EXEEXT.
41495
41496 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41497 TARGET_IMG_LDFLAGS_AC.
41498 (grub_CHECK_STACK_ARG_PROBE): New function.
41499
41500 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41501
41502 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41503
41504 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41505 to set TARGET_IMG_LD* accordingly.
41506 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41507 Add call to grub_CHECK_STACK_ARG_PROBE.
41508 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41509
41510 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41511
41512 * genmk.rb: Add EXEEXT to CLEANFILES.
41513
12ccdb75 415142008-07-23 Robert Millan <rmh@aybabtu.com>
41515
41516 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41517 define the codes for arrows and lines used for the menu).
41518 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41519 as well.
41520
41521 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41522 fonts, because the latter are too slow.
41523
18eeaf04 415242008-07-21 Bean <bean123ch@gmail.com>
41525
41526 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41527 a20. Run keyboard test last, as it will cause macbook to halt.
41528
b095e2ad 415292008-07-18 Pavel Roskin <proski@gnu.org>
41530
41531 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41532 load foreign architecture modules correctly anyway. Keep
41533 support for loading host architecture modules, whether we
41534 compile them or not.
41535
737feb35 415362008-07-17 Pavel Roskin <proski@gnu.org>
41537
3f4ce737 41538 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41539 change target_cpu. The compiler default can mismatch target_cpu
41540 in any case.
41541
4ad2d049 41542 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41543 * kern/efi/efi.c: Likewise.
41544
f6130a12 41545 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41546 target compiler is functional.
41547 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41548 are set up.
41549
58393a2d 41550 * configure.ac: Default to efi platform for x86_64-apple. Allow
41551 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41552 adjustments from the rest, only do them if target is not
41553 explicitly given. Merge other adjustments with the final sanity
41554 check. Remove an extraneous check for supported CPU. Be
41555 specific which CPU and which platform is not supported.
41556
737feb35 41557 * configure.ac: Default to pc platform for x86_64.
41558
546f966a 415592008-07-17 Robert Millan <rmh@aybabtu.com>
41560
41561 Partial LinuxBIOS -> Coreboot rename.
41562
41563 * conf/i386-linuxbios.rmk: Renamed to ...
41564 * conf/i386-coreboot.rmk: ... this.
41565 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41566 * configure.ac: Accept "coreboot" as input platform (but maintain
41567 compatibility with "linuxbios").
41568 * include/grub/i386/linuxbios: Renamed to ...
41569 * include/grub/i386/coreboot: ... this.
41570
20011694 415712008-07-17 Bean <bean123ch@gmail.com>
41572
41573 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41574 (appleldr_mod_SOURCE): New variable.
20011694 41575 (appleldr_mod_CFLAGS): Likewise.
41576 (appleldr_mod_LDFLAGS): Likewise.
41577 (pci_mod_SOURCES): Likewise.
41578 (pci_mod_CFLAGS): Likewise.
41579 (pci_mod_LDFLAGS): Likewise.
41580 (lspci_mod_SOURCES): Likewise.
41581 (lspci_mod_CFLAGS): Likewise.
41582 (lspci_mod_LDFLAGS): Likewise.
41583
41584 * conf/x86_64-efi.rmk: New file.
41585
41586 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41587 macro.
41588 (grub_efidisk_write): Likewise.
41589
41590 * include/efi/api.h (efi_call_0): New macro.
41591 (efi_call_1): Likewise.
41592 (efi_call_2): Likewise.
41593 (efi_call_3): Likewise.
41594 (efi_call_4): Likewise.
41595 (efi_call_5): Likewise.
41596 (efi_call_6): Likewise.
41597
41598 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41599 grub_rescue_cmd_chainloader.
41600
41601 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41602 (grub_pe32_optional_header): Change some fields based on i386 or
41603 x86_64 platform.
41604 (GRUB_PE32_PE32_MAGIC): Likewise.
41605
41606 * include/grub/efi/uga_draw.h: New file.
41607
41608 * include/grub/elf.h (STN_ABS): New constant.
41609 (R_X86_64_NONE): Relocation constant for x86_64.
41610 (R_X86_64_64): Likewise.
41611 (R_X86_64_PC32): Likewise.
41612 (R_X86_64_GOT32): Likewise.
41613 (R_X86_64_PLT32): Likewise.
41614 (R_X86_64_COPY): Likewise.
41615 (R_X86_64_GLOB_DAT): Likewise.
41616 (R_X86_64_JUMP_SLOT): Likewise.
41617 (R_X86_64_RELATIVE): Likewise.
41618 (R_X86_64_GOTPCREL): Likewise.
41619 (R_X86_64_32): Likewise.
41620 (R_X86_64_32S): Likewise.
41621 (R_X86_64_16): Likewise.
41622 (R_X86_64_PC16): Likewise.
41623 (R_X86_64_8): Likewise.
41624 (R_X86_64_PC8): Likewise.
41625
41626 * include/grub/i386/efi/pci.h: New file.
41627
41628 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41629 Change it value based on platform.
41630 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41631 (GRUB_E820_RAM): Likewise.
41632 (GRUB_E820_RESERVED): Likewise.
41633 (GRUB_E820_ACPI): Likewise.
41634 (GRUB_E820_NVS): Likewise.
41635 (GRUB_E820_EXEC_CODE): Likewise.
41636 (GRUB_E820_MAX_ENTRY): Likewise.
41637 (grub_e820_mmap): New structure.
41638 (linux_kernel_header): Change the efi field according to different
41639 kernel version, also field from linux_kernel_header.
41640
41641 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41642
41643 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41644 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41645 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41646 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41647 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41648 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41649 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41650 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41651 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41652 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41653
41654 * include/grub/x86_64/efi/kernel.h: New file.
41655
41656 * include/grub/x86_64/efi/loader.h: Likewise.
41657
41658 * include/grub/x86_64/efi/machine.h: Likewise.
41659
41660 * include/grub/x86_64/efi/pci.h: Likewise.
41661
41662 * include/grub/x86_64/efi/time.h: Likewise.
41663
41664 * include/grub/x86_64/linux.h: Likewise.
41665
41666 * include/grub/x86_64/setjmp.h: Likewise.
41667
41668 * include/grub/x86_64/time.h: Likewise.
41669
41670 * include/grub/x86_64/types.h: Likewise.
41671
41672 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41673 GRUB_TARGET_SIZEOF_VOID_P.
41674
41675 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41676 (grub_efi_locate_handle): Likewise.
41677 (grub_efi_open_protocol): Likewise.
41678 (grub_efi_set_text_mode): Likewise.
41679 (grub_efi_stall): Likewise.
41680 (grub_exit): Likewise.
41681 (grub_reboot): Likewise.
41682 (grub_halt): Likewise.
41683 (grub_efi_exit_boot_services): Likewise.
41684 (grub_get_rtc): Likewise.
41685
41686 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41687 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41688 (grub_efi_allocate_pages): Wrap efi calls.
41689 (grub_efi_free_pages): Wrap efi calls.
41690 (grub_efi_get_memory_map): Wrap efi calls.
41691
41692 * kern/x86_64/dl.c: New file.
41693
41694 * kern/x86_64/efi/callwrap.S: Likewise.
41695
41696 * kern/x86_64/efi/startup.S: Likewise.
41697
41698 * loader/efi/appleloader.c: Likewise.
41699
41700 * loader/efi/chainloader.c (cmdline): New variable.
41701 (grub_chainloader_unload): Wrap efi calls.
41702 (grub_chainloader_boot): Likewise.
41703 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41704 command line.
41705
41706 * loader/efi/chainloader_normal.c (chainloader_command):
41707 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41708 command line.
41709
41710 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41711 method.
41712 (grub_e820_add_region): New function.
41713 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41714 booting.
41715 (grub_find_video_card): New function.
41716 (grub_linux_setup_video): New function.
41717 (grub_rescue_cmd_linux): Probe for video information.
41718
41719 * normal/x86_64/setjmp.S: New file.
41720
41721 * term/efi/console.c (map_char): New function.
41722 (grub_console_putchar): Map unicode char.
41723 (grub_console_checkkey): Wrap efi calls.
41724 (grub_console_getkey): Likewise.
41725 (grub_console_getwh): Likewise.
41726 (grub_console_gotoxy): Likewise.
41727 (grub_console_cls): Likewise.
41728 (grub_console_setcolorstate): Likewise.
41729 (grub_console_setcursor): Likewise.
41730
41731 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41732
59652a20 417332008-07-16 Pavel Roskin <proski@gnu.org>
41734
ef294055 41735 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41736 format strings.
41737
59652a20 41738 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41739 pointer, not an integer. This fixes a warning and prevents
41740 precision loss on 64-bit systems.
41741 (relocate_addresses): Remove unneeded cast.
41742
afc3b5d7 417432008-07-15 Pavel Roskin <proski@gnu.org>
41744
506b2b3e 41745 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41746
62ead89c 41747 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41748
c4cd51d7 41749 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41750 Fix comparison between signed and unsigned.
41751
0d3d8f28 41752 * include/grub/i386/ieee1275/console.h: Declare
41753 grub_console_init() and grub_console_fini().
41754
8804b286 41755 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41756 It's empty and unused.
41757
ee01cf35 41758 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41759 beginning to avoid warnings with some compilers.
41760
afc3b5d7 41761 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41762 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41763
e4e8eaa5 417642008-07-14 Pavel Roskin <proski@gnu.org>
41765
407aceb4 41766 * kern/env.c (grub_register_variable_hook): Don't copy empty
41767 string, it leaks memory. Pass "" to grub_env_set(), it should
41768 handle constant strings.
41769
e4e8eaa5 41770 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41771 * commands/cmp.c (grub_cmd_cmp): Likewise.
41772 * kern/dl.c (grub_dl_flush_cache): Likewise.
41773 (grub_dl_load_core): Likewise.
41774 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41775 (grub_elf64_load_phdrs): Likewise.
41776
d4e2dad3 417772008-07-13 Pavel Roskin <proski@gnu.org>
41778
41779 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41780 between signed and unsigned.
41781 (LzmaEnc_Finish): Fix warning about an unused parameter.
41782
aa24b516 417832008-07-13 Bean <bean123ch@gmail.com>
41784
41785 * Makefile.in (enable_lzo): New rule.
41786
41787 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41788
41789 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41790
41791 * boot/i386/pc/lnxboot.S: #include <config.h>.
41792
41793 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 41794 its value according to the compression algorithm used, lzo or lzma.
aa24b516 41795
41796 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41797 compression algorithm according to configure macro.
41798
41799 * kern/i386/pc/startup.S (codestart): Likewise.
41800
41801 * kern/i386/pc/lzma_decode.S: New file.
41802
41803 * include/grub/lib/LzFind.h: Likewise.
41804
41805 * include/grub/lib/LzHash.h: Likewise.
41806
41807 * include/grub/lib/LzmaDec.h: Likewise.
41808
41809 * include/grub/lib/LzmaEnc.h: Likewise.
41810
41811 * include/grub/lib/LzmaTypes.h: Likewise.
41812
41813 * lib/LzFind.c: Likewise.
41814
41815 * lib/LzmaDec.c: Likewise.
41816
41817 * lib/LzmaEnc.c: Likewise.
41818
4ae821ac 418192008-07-13 Bean <bean123ch@gmail.com>
41820
41821 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41822 (grub_ext4_extent_header): New structure.
41823 (grub_ext4_extent): Likewise.
41824 (grub_ext4_extent_idx): Likewise.
41825 (grub_ext4_find_leaf): New function.
41826 (grub_ext2_read_block): Handle extents.
41827
9a745147 418282008-07-12 Robert Millan <rmh@aybabtu.com>
41829
41830 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41831
d49a4cf6 418322008-07-11 Robert Millan <rmh@aybabtu.com>
41833
41834 * util/grub.d/40_custom.in: New file. Example on how to add custom
41835 entries to /etc/grub.d.
41836 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41837 40_custom (implicitly, by merging all the grub.d rules).
41838
947414b4 418392008-07-11 Pavel Roskin <proski@gnu.org>
41840
0059cf6f 41841 * commands/read.c (grub_getline): Fix invalid memory access.
41842 Don't add newline to the variable value.
41843
947414b4 41844 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41845 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41846 (serial_hw_get_port): Check validity of the port number.
41847 (grub_cmd_serial): Check return value of serial_hw_get_port().
41848
62a02d00 418492008-07-07 Pavel Roskin <proski@gnu.org>
41850
41851 * boot/i386/pc/diskboot.S (notification_string): Replace
41852 "Loading kernel" with just "loading". This is shorter, less
41853 confusing and saves a few bytes for possible future changes.
41854
3e5581b0 418552008-07-05 Pavel Roskin <proski@gnu.org>
41856
ea387a48 41857 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41858 size for ATAPI devices, they are undefined. Output sector
41859 number in decimal form.
41860
3e5581b0 41861 * disk/ata.c: Use named constants for status bits.
41862
fdecb8fd 418632008-07-04 Pavel Roskin <proski@gnu.org>
41864
bcd35b90 41865 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41866 grub_addr_t before casting it to the void pointer to fix a
41867 warning. Non-addressable regions are discarded earlier.
41868 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41869 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41870 (check_signature): Don't shadow table_header.
41871 (grub_linuxbios_table_iterate): Cast numeric constants to
41872 grub_linuxbios_table_header_t.
41873 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41874 grub_stop().
41875
af58ab3d 41876 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41877 prevent warnings.
41878
1759aa57 41879 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41880 pointer, which can cause warnings. Support 64-bit addresses.
41881
fdecb8fd 41882 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41883 of sizeof(long). This fixes PowerPC image generation on x86_64.
41884
8516d2a8 418852008-07-04 Robert Millan <rmh@aybabtu.com>
41886
41887 This fixes a performance issue when pc & gpt partmap iterators
41888 didn't abort iteration even after our hook found what it was
fe987087 41889 looking for (often causing expensive probes of non-existent drives).
8516d2a8 41890
41891 Some callers relied on previous buggy behaviour, since they would
34c44600 41892 raise an error when their own hooks caused early abortion of its
8516d2a8 41893 iteration.
41894
41895 * kern/device.c (grub_device_open): Improve error message.
41896 * disk/lvm.c (grub_lvm_open): Likewise.
41897 * disk/raid.c (grub_raid_open): Likewise.
41898
41899 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41900 when hook requests it, independently of grub_errno.
41901 (pc_partition_map_probe): Do not fail when find_func() caused
41902 early abortion of pc_partition_map_iterate().
41903
41904 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41905 when hook requests it, independently of grub_errno.
41906 (gpt_partition_map_probe): Do not fail when find_func() caused
41907 early abortion of gpt_partition_map_iterate().
41908
41909 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41910 when hook requests it, independently of grub_errno. Do not fail when
41911 part_map_iterate_hook() caused early abortion of p->iterate().
41912
41913 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41914 when grub_partition_iterate() returned with non-zero.
41915
277d0de9 419162008-07-03 Pavel Roskin <proski@gnu.org>
41917
41918 * disk/ata.c (grub_ata_pio_write): Check status before writing,
41919 like we do in grub_ata_pio_read().
41920 (grub_ata_readwrite): Always write individual sectors. Fix the
41921 sector count for the remainder.
41922 (grub_ata_write): Enable writing to ATA devices. Correctly
41923 report error for ATAPI devices.
41924
d4c9b428 419252008-07-02 Pavel Roskin <proski@gnu.org>
41926
e43fc690 41927 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
41928 warning.
41929
f707af42 41930 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
41931 for every read sector, we already increment it for the whole
41932 batch. This fixes reading more than 256 sectors at once.
41933
11e16b15 41934 * util/grub-editenv.c (cmd_info): Cast argument to long
41935 explicitly. ptrdiff_t reduces to int on i386.
41936
cbabfdd4 41937 * util/grub-editenv.c (main): Be specific which parameter is
41938 missing.
41939
b8fbce0a 41940 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
41941 (memdisk): Make memdisk_orig_addr a pointer.
41942
c9c8e606 41943 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
41944 for file offsets, use grub_off_t instead. Fix printf format
41945 warnings.
41946
ca62e598 41947 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
41948 there. Real unexpected warnings should not drown in the noise
41949 about known problems.
41950
ce8d1766 41951 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
41952 grub_disk_addr_t for memory addresses.
41953
00c7a56a 41954 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
41955 explicitly to fix a warning.
41956
08d3ef09 41957 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
41958
cb71ba20 41959 * Makefile.in (MODULE_LDFLAGS): New variable.
41960 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
41961 the linker accepts --build-id=none.
41962 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
41963 MODULE_LDFLAGS.
41964 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
41965
d4c9b428 41966 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
41967 those in Linux XFS code. Provide a way to access 64-bit parent
41968 inode.
41969 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
41970 the end of struct grub_xfs_dir_header.
41971
d4156eee 419722008-07-02 Bean <bean123ch@gmail.com>
41973
41974 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
41975 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41976 and GRUB_IEEE1275_FLAG_NO_ANSI.
41977
41978 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
41979 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41980 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
41981
41982 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
41983 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
41984
41985 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
41986 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
41987
41988 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
41989 esc sequence on non ANSI terminal.
41990 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
41991
41992 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
41993 beginning of file.
41994
2270f77b 419952008-07-02 Bean <bean123ch@gmail.com>
41996
41997 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
41998 (grub_editenv_SOURCES): New variable.
41999 (pkglib_MODULES): Add loadenv.mod.
42000 (loadenv_mod_SOURCES): New variable.
42001 (loadenv_mod_CFLAGS): Likewise.
42002 (loadenv_mod_LDFLAGS): Likewise.
42003
42004 * include/grub/envblk.h: New file.
42005
42006 * util/envblk.c: New file.
42007
42008 * util/grub-editenv.c: New file.
42009
42010 * commands/loadenv.c: New file.
42011
0e9e51ec 420122008-07-01 Pavel Roskin <proski@gnu.org>
42013
d89b7634 42014 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42015 not unsigned char. This fixes warnings and is consistent with
42016 other tags.
42017
bf1835b1 42018 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42019
8222a04b 42020 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42021
6a42d99d 42022 * term/tparm.c (analyze): Always set *popcount.
42023
10b159d1 42024 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42025 cast to fix a warning.
42026
b8789f6c 42027 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42028 cast to suppress a warning.
42029
29d7e38a 42030 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42031 grub_fshelp_read_file() expects.
42032
f341f669 42033 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42034 write uuid as a 32-bit value in CPU byte order, so declare and
42035 use it as such.
42036
0e9e51ec 42037 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42038 long if the format specifier expects it.
42039 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42040 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42041 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42042 long to fix a warning.
42043 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42044 grub_dprintf() arguments to fix warnings.
42045
3aefa857 420462008-06-30 Pavel Roskin <proski@gnu.org>
42047
56c7668b 42048 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42049 install_bsd_part immediately before core.img is embedded or
42050 modified on disk. This fixes core.img verification if core.img
42051 cannot be embedded.
42052
3aefa857 42053 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42054 core_path to calculate the blocklist.
42055 Patch from Javier Martín <lordhabbit@gmail.com>
42056
5444088d 420572008-06-29 Robert Millan <rmh@aybabtu.com>
42058
42059 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42060 block to disk block.
42061 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42062 Patch from Niels Böhm <bitbucket@arcor.de>
42063
674835c8 420642008-06-29 Robert Millan <rmh@aybabtu.com>
42065
42066 * util/update-grub_lib.in (font_path): Search for fonts in
42067 /boot/grub first, which is more likely to be readable (we aren't
42068 deciding where fonts live, just looking for them).
42069
f527dbc8 420702008-06-26 Pavel Roskin <proski@gnu.org>
42071
6c2d8df6 42072 * util/biosdisk.c (read_device_map): Don't leave dead map
42073 entries for devices failing stat() check.
42074
f527dbc8 42075 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42076 core_path_dev for the core.img path on the target device.
42077
aebe3d13 420782008-06-26 Robert Millan <rmh@aybabtu.com>
42079
42080 * disk/fs_uuid.c: New file.
42081 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42082 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42083 (fs_uuid_mod_LDFLAGS): New variables.
42084 * include/grub/disk.h (grub_disk_dev_id): Add
42085 `GRUB_DISK_DEVICE_UUID_ID'.
42086 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42087 implement iterate().
42088
37aaf354 420892008-06-26 Robert Millan <rmh@aybabtu.com>
42090
42091 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42092 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42093 Linux image includes no initrd.
42094
25ff262a 420952008-06-21 Javier Martín <lordhabbit@gmail.com>
42096
42097 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42098 call to resolve the core image location that effectively appended the
42099 name twice.
42100
76a2bd44 421012008-06-21 Robert Millan <rmh@aybabtu.com>
42102
42103 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42104 call from here ...
42105
42106 * util/grub.d/10_hurd.in: ... to here ...
42107 * util/grub.d/10_linux.in: ... and here.
42108
650e1c79 421092008-06-19 Robert Millan <rmh@aybabtu.com>
42110
fe987087 42111 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42112 after it has been set by grub_machine_set_prefix().
42113
6ce63911 421142008-06-19 Robert Millan <rmh@aybabtu.com>
42115
42116 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42117 search result when not saving to variable, not the other way around.
42118 When saving to variable, abort iteration as soon as a match is found.
42119
73940cec 421202008-06-19 Robert Millan <rmh@aybabtu.com>
42121
42122 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42123 check for partition that provides /boot/grub. Its logic is flawed,
42124 as it prevents prepare_grub_to_access_device() from being called
42125 multiple times.
42126
3c62a39d 421272008-06-19 Robert Millan <rmh@aybabtu.com>
42128
42129 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42130 "insmod" command directly when abstraction modules are needed,
fe987087 42131 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42132 since it had already been processed).
42133
47395a42 421342008-06-19 Pavel Roskin <proski@gnu.org>
42135
42136 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42137 changed. This is needed in case GRUB_LIBDIR changes.
42138 * conf/i386-ieee1275.rmk: Likewise.
42139 * conf/i386-linuxbios.rmk: Likewise.
42140 * conf/i386-pc.rmk: Likewise.
42141 * conf/powerpc-ieee1275.rmk: Likewise.
42142
a145ac2d 421432008-06-18 Pavel Roskin <proski@gnu.org>
42144
42145 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42146 kernel_elf_symlist.c to symlist.c for consistency with other
42147 architectures. Update all users.
42148 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42149
7847c51e 421502008-06-18 Robert Millan <rmh@aybabtu.com>
42151
42152 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42153 it in prefix.
42154
42155 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42156 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42157 a RAID device, run setup() for all members independently on whether
42158 LVM abstraction is being used.
42159 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42160 If grub-mkimage has set `*install_dos_part == -2', don't override this
42161 value.
42162 Perform *install_dos_part adjustments independently on whether
42163 we're embedding or not.
42164 Clarify error message when image is too big for embedding.
42165 Remove duplicate *install_dos_part stanza.
42166
b23e5644 421672008-06-17 Robert Millan <rmh@aybabtu.com>
42168
42169 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42170 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42171 variables.
42172 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42173 values in grub_ofconsole_normal_color and
42174 grub_ofconsole_highlight_color (they're not directly related to
42175 background and foreground).
42176 (grub_ofconsole_setcolorstate): Extract background and foreground
42177 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42178
0aac2f79 421792008-06-17 Robert Millan <rmh@aybabtu.com>
42180
42181 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42182 /boot/grub for the check in last commit, not /boot (they could be
42183 different partitions).
42184
3cca7ef3 421852008-06-16 Robert Millan <rmh@aybabtu.com>
42186
42187 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42188 asked to setup access for the same partition that provides /boot,
42189 don't bother using UUIDs since our root already has the value we
42190 want.
42191
347396d8 421922008-06-16 Robert Millan <rmh@aybabtu.com>
42193
42194 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42195 I2O devices.
42196 Patch from Sven Mueller <sven@debian.org>.
42197
991477f8 421982008-06-16 Robert Millan <rmh@aybabtu.com>
42199
42200 * util/update-grub.in: Check for $EUID instead of $UID.
42201 Reported by Vincent Zweije.
42202
d31a32a1 422032008-06-16 Bean <bean123ch@gmail.com>
42204
fe987087 42205 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42206 (grub_ext2_read_block): Likewise.
42207 (grub_ext2_read_inode): Likewise.
42208 (grub_ext2_mount): Likewise.
42209 (grub_ext2_close): Likewise.
42210 (grub_ext3_get_journal): Removed.
42211
fe987087 42212 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42213 (grub_reiserfs_read_symlink): Likewise.
42214 (grub_reiserfs_mount): Likewise.
42215 (grub_reiserfs_open): Likewise.
42216 (grub_reiserfs_read): Likewise.
42217 (grub_reiserfs_close): Likewise.
42218 (grub_reiserfs_get_journal): Removed.
42219
42220 * fs/fshelp.c (grub_fshelp_read): Removed.
42221 (grub_fshelp_map_block): Likewise.
42222
42223 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42224 (grub_fshelp_journal): Likewise.
42225 (grub_fshelp_read): Likewise.
42226 (grub_fshelp_map_block): Likewise.
42227
3540a760 422282008-06-16 Pavel Roskin <proski@gnu.org>
42229
42230 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42231 floating point anymore.
42232 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42233
95614c84 422342008-06-15 Pavel Roskin <proski@gnu.org>
42235
42236 * commands/ls.c (grub_ls_list_files): Use integer calculations
42237 for human readable format, avoid floating point use.
42238 * kern/misc.c (grub_ftoa): Remove.
42239 (grub_vsprintf): Remove floating point support.
42240
50465dd6 422412008-06-15 Robert Millan <rmh@aybabtu.com>
42242
fe6b695a 42243 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42244 devices.
42245 Reported by Max Vozeler.
42246
a9207284 422472008-06-15 Robert Millan <rmh@aybabtu.com>
42248
42249 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42250 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42251 skipped later.
42252 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42253 the beginning of the prefix.
42254
42255 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42256 It is assumed that if we have a memdisk, grub-mkimage has set
42257 grub_prefix to include the "(memdisk)" drive in it.
42258
a7cbd45a 422592008-06-15 Robert Millan <rmh@aybabtu.com>
42260
42261 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42262 Initialize keyboard controller after registering the terminal, so that
42263 grub_printf() can be called from grub_keyboard_controller_init().
42264
21cf716a 422652008-06-15 Robert Millan <rmh@aybabtu.com>
42266
42267 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42268 extent-btree which is written as big endian on disk.
42269 Reported by Alain Greppin <al@chilibi.org>.
42270
23a64d8e 422712008-06-14 Robert Millan <rmh@aybabtu.com>
42272
42273 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42274 * util/i386/pc/grub-install.in (modules): Likewise.
42275
d687651c 422762008-06-13 Pavel Roskin <proski@gnu.org>
42277
42278 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42279
dfe9ddd4 422802008-06-13 Bean <bean123ch@gmail.com>
42281
42282 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42283
42284 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42285
42286 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42287 to indicate sparse block.
42288
16ae7781 422892008-06-12 Pavel Roskin <proski@gnu.org>
42290
e6d1a308 42291 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42292 number, grub_fshelp_read() does it for us.
42293
16ae7781 42294 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42295 linear disk read with journal translation.
42296 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42297 * include/grub/fshelp.h: Declare grub_fshelp_read().
42298
40fd3a2b 422992008-06-09 Pavel Roskin <proski@gnu.org>
42300
42301 * fs/minix.c (grub_minix_mount): Handle error reading
42302 superblock.
42303
f5679726 423042008-06-08 Robert Millan <rmh@aybabtu.com>
42305
42306 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42307 don't append the RAID prefix afterwards.
42308 Reported by Clint Adams.
42309
ce525529 423102008-06-08 Robert Millan <rmh@aybabtu.com>
42311
42312 Based on description from Pavel:
42313 * kern/disk.c (grub_disk_check_range): Rename to ...
42314 (grub_disk_adjust_range): ... this. Add a comment explaining the
42315 tasks performed by this function.
42316
ad4936a0 423172008-06-08 Robert Millan <rmh@aybabtu.com>
42318
42319 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42320 `num_serial' (for consistency with other variables).
42321 (struct grub_ntfs_data): Add `uuid' member.
42322 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42323 (grub_ntfs_uuid): New function.
42324 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42325
dc20b0f9 423262008-06-07 Pavel Roskin <proski@gnu.org>
42327
42328 * util/biosdisk.c (open_device): Revert last change to the
42329 function, it broke installation. The sector needs to be
42330 different dependent on which device is opened.
42331
c5e3cfba 423322008-06-06 Robert Millan <rmh@aybabtu.com>
42333
42334 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42335 rest of GRUB, and breakage doesn't happen if its value were modified.
42336
42337 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42338 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42339 a constant (same value).
42340 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42341 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42342
26a1f8c4 423432008-06-06 Robert Millan <rmh@aybabtu.com>
42344
42345 * util/biosdisk.c (open_device): Do not modify sector offset when
42346 accessing a partition. kern/disk.c already handles this for us.
42347
25d6b327 423482008-06-06 Robert Millan <rmh@aybabtu.com>
42349
42350 * util/grub-emu.c (grub_machine_init): Move code in this function from
42351 here ...
42352 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42353 segfault in case grub_printf() is called).
42354
42355 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42356 grub_probe. Update all users not to explicitly add it again.
42357 (grub_device): New variable; contains corresponding device for grubdir.
42358 (fs_module, partmap_module, devabstraction_module): Pass
42359 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42360 every time.
42361
9ece62fb 423622008-06-05 Robert Millan <rmh@aybabtu.com>
42363
42364 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42365 is found, print it (same layout as with labels).
42366
1ad36d37 423672008-06-04 Robert Millan <rmh@aybabtu.com>
42368
42369 * util/biosdisk.c (get_drive): Rename to ...
42370 (find_grub_drive): ... this. Update all users.
42371
42372 (get_os_disk): Rename to ...
42373 (convert_system_partition_to_system_disk): ... this. Update all users.
42374
42375 (find_drive): Rename to ...
42376 (find_system_device): ... this. Update all users.
42377
e6a30859 423782008-06-04 Robert Millan <rmh@aybabtu.com>
42379
42380 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42381 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42382 (make_device_map): Likewise.
42383
00c108a4 423842008-06-01 Robert Millan <rmh@aybabtu.com>
42385
42386 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42387 before dereferencing it.
42388
42389 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42390 union with fat12/fat16-specific ones. Add some new fields, including
42391 `num_serial' for both versions.
42392 (struct grub_fat_data): Add `uuid' member.
42393 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42394 names. Initialize `data->uuid' using `num_serial'.
42395 (grub_fat_uuid): New function.
42396 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42397
42398 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42399 (grub_reiserfs_uuid): New function.
42400 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42401 member.
42402
42403 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42404 (grub_xfs_uuid): New function.
42405 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42406
1385c5bb 424072008-06-01 Robert Millan <rmh@aybabtu.com>
42408
42409 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42410 code that is backward compatible with pre-uuid search command.
42411
c682dfd7 424122008-05-31 Robert Millan <rmh@aybabtu.com>
42413
42414 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42415 floppies after everything else, to ensure floppy drive isn't accessed
42416 unnecessarily (patch from Bean).
42417
b7db5d47 424182008-05-31 Robert Millan <rmh@aybabtu.com>
42419
42420 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42421 not print device names when we were asked to set a variable.
42422
6e037aa9 424232008-05-31 Robert Millan <rmh@aybabtu.com>
42424
42425 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42426 using "cursor-on" and "cursor-off" commands (understood at least by
42427 the Open Firmware flavour on OLPC).
42428
41305bc8 424292008-05-31 Michael Gorven <michael@gorven.za.net>
42430
42431 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42432 on and off sequences.
42433
69ba137e 424342008-05-31 Robert Millan <rmh@aybabtu.com>
42435
42436 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42437 * util/update-grub.in: Likewise.
42438
520ae21b 424392008-05-30 Pavel Roskin <proski@gnu.org>
42440
42441 * util/biosdisk.c (linux_find_partition): Simplify logic and
42442 make the code more universal. Keep special processing for
42443 devfs, but use a simple rule for all other devices. If the
42444 device ends with a number, append 'p' and the partition number.
42445 Otherwise, append only the partition number.
42446
5786569b 424472008-05-30 Robert Millan <rmh@aybabtu.com>
42448
42449 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42450 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42451 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42452 the `root' parameter to Linux.
42453
51500452 424542008-05-30 Robert Millan <rmh@aybabtu.com>
42455
42456 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42457 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42458 --fs_uuid with --fs-uuid.
42459 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42460 all filesystems support them).
42461
811d3878 424622008-05-30 Robert Millan <rmh@aybabtu.com>
42463
42464 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42465 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42466
cab63c95 424672008-05-30 Robert Millan <rmh@aybabtu.com>
42468
42469 * util/grub.d/00_header.in: Remove obsolete comment referencing
42470 convert_system_path_to_grub_path().
42471 * util/update-grub.in: Likewise.
42472 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42473 (convert_system_path_to_grub_path): Add a warning message explaining
42474 that this function is deprecated. Rely on is_path_readable_by_grub()
42475 for the readability checks.
42476 (font_path): Use is_path_readable_by_grub() for the readability
42477 check rather than convert_system_path_to_grub_path().
42478
972e2f7a 424792008-05-30 Robert Millan <rmh@aybabtu.com>
42480
42481 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42482 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42483 converting it first.
42484 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42485 grub.cfg for access to font file, and afterwards call it again to set
42486 the root device.
42487
62191274 424882008-05-30 Robert Millan <rmh@aybabtu.com>
42489
42490 * commands/search.c (options): Add --fs_uuid option.
42491 (search_fs_uuid): New function.
42492 (grub_cmd_search): Fix --set argument passing.
42493 Use search_fs_uuid() when requested via --fs_uuid.
42494 (grub_search_init): Update help message.
42495 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42496 and redeclare it as an array of 16-bit words.
42497 (grub_ext2_uuid): New function.
42498 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42499 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42500 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42501 (GRUB_DEVICE_BOOT_UUID): New variables.
42502 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42503 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42504 whenever possible.
42505 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42506 just assume `root' variable has the right value.
42507 * util/grub.d/10_linux.in: Likewise.
42508 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42509 via PRINT_FS_UUID.
42510 (main): Recognise `-t fs_uuid' argument.
42511
01b73ec8 425122008-05-30 Robert Millan <rmh@aybabtu.com>
42513
42514 * util/biosdisk.c (map): Redefine structure to hold information
42515 about GRUB drive name.
fe6b695a 42516 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42517 drive names.
42518 (call_hook): Remove.
42519 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42520 member. Assume drive has partitions.
42521 (grub_util_biosdisk_open): Access device names via `.device' struct
42522 member.
42523 (open_device): Likewise.
42524 (find_drive): Likewise.
42525 (read_device_map): Adjust map[] usage to match the new struct
42526 definition. Don't check for duplicates (still possible, but not cheap
42527 anymore).
42528 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42529 (make_device_name): Remove assumption of BIOS-like drive names.
42530
22f16596 425312008-05-30 Pavel Roskin <proski@gnu.org>
42532
42533 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42534 compiling execute.c doesn't need grub_script.tab.h anymore.
42535 (normal/command.c_DEPENDENCIES): Likewise.
42536 (normal/function.c_DEPENDENCIES): Likewise.
42537 * conf/i386-ieee1275.rmk: Likewise.
42538 * conf/i386-linuxbios.rmk: Likewise.
42539 * conf/i386-pc.rmk: Likewise.
42540 * conf/powerpc-ieee1275.rmk: Likewise.
42541 * conf/sparc64-ieee1275.rmk: Likewise.
42542
528ad8f2 425432008-05-29 Pavel Roskin <proski@gnu.org>
42544
d1dff95d 42545 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42546 when scanning metadata for volume group name.
42547
528ad8f2 42548 * include/grub/script.h: Don't include grub_script.tab.h. It's
42549 a generated file, which may only be included from the files with
42550 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42551 use union YYSTYPE, as the later allows forward declaration.
42552 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42553
47248e08 425542008-05-29 Robert Millan <rmh@aybabtu.com>
42555
42556 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42557 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42558 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42559 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42560 scan codes.
42561
ee632529 425622008-05-29 Robert Millan <rmh@aybabtu.com>
42563
42564 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42565 control key combinations.
42566
eee96e08 425672008-05-29 Robert Millan <rmh@aybabtu.com>
42568
42569 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42570 * util/ieee1275/grub-install.in: ... to here.
42571 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42572 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42573 (grub_install_SOURCES): Likewise.
42574
da9a6a94 425752008-05-29 Robert Millan <rmh@aybabtu.com>
42576
42577 * fs/affs.c: Update copyright year.
42578 * fs/ext2.c: Likewise.
42579 * fs/fshelp.c: Likewise.
42580 * fs/hfsplus.c: Likewise.
42581 * fs/ntfs.c: Likewise.
42582 * fs/xfs.c: Likewise.
42583 * include/grub/fshelp.h: Likewise.
42584 * util/grub-mkdevicemap.c: Likewise.
42585
12e65f3a 425862008-05-28 Robert Millan <rmh@aybabtu.com>
42587
42588 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42589 might need to be fatfs to support some firmware implementations
42590 (e.g. OFW or EFI).
42591
23023641 425922008-05-28 Robert Millan <rmh@aybabtu.com>
42593
42594 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42595 devices.
42596 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42597 (make_device_map): Likewise.
42598
887d2619 425992008-05-20 Bean <bean123ch@gmail.com>
42600
42601 * fs/fshelp.c (grub_fshelp_map_block): New function.
42602 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42603 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42604
42605 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42606 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42607 (grub_fshelp_journal): New structure.
42608 (grub_fshelp_map_block): New function prototype.
42609 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42610 (grub_fshelp_map_block): Likewise.
42611
42612 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42613 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42614 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42615 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42616 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42617 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42618 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42619 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42620 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42621 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42622 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42623 (grub_ext2_sblock): New members for journal support.
42624 (grub_ext3_journal_header): New structure.
42625 (grub_ext3_journal_revoke_header): Likewise.
42626 (grub_ext3_journal_block_tag): Likewise.
42627 (grub_ext3_journal_sblock): Likewise.
42628 (grub_fshelp_node): New members logfile and journal.
42629 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42630 grub_fshelp_map_block to get real block number.
42631 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42632 number.
42633 (grub_ext2_read_inode): Likewise.
42634 (grub_ext3_get_journal): New function.
42635 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42636 (grub_ext2_close): Release memory used by journal.
42637
42638 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42639 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42640 (grub_reiserfs_transaction_header): Renamed to
42641 grub_reiserfs_description_block, replace field data with real_blocks.
42642 (grub_reiserfs_commit_block): New structure.
42643 (grub_reiserfs_data): New member journal.
42644 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42645 number.
42646 (grub_reiserfs_read_symlink): Likewise.
42647 (grub_reiserfs_iterate_dir): Likewise.
42648 (grub_reiserfs_open): Likewise.
42649 (grub_reiserfs_read): Likewise.
42650 (grub_reiserfs_get_journal): New function.
42651 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42652 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42653 using grub_reiserfs_get_journal.
42654 (grub_reiserfs_close): Release memory used by journal.
42655
42656 * fs/affs.c (grub_affs_read_block): Change block type to
42657 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42658
42659 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42660
42661 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42662
42663 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42664
42665 * fs/udf.c (grub_udf_read_block): Change block type to
42666 grub_disk_addr_t. Use type cast to avoid warning.
42667
42668 * fs/xfs.c (grub_xfs_read_block): Likewise.
42669
b7c6bed5 426702008-05-16 Christian Franke <franke@computer.org>
42671
42672 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42673 to ensure that break with ESC will always work.
42674 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42675 Remove ESC from keyboard queue.
42676
eedf167f 426772008-05-16 Christian Franke <franke@computer.org>
42678
42679 * util/biosdisk.c: [__CYGWIN__] Add includes.
42680 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42681 (get_os_disk): Move variable declarations to OS specific
42682 parts to avoid warning.
42683 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42684 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42685 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42686 Cygwin.
42687 * util/getroot.c: [__CYGWIN__] Add includes.
42688 (strip_extra_slashes): Fix "/" case.
42689 [__CYGWIN__] (get_win32_path): New function.
42690 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42691 [__CYGWIN__] (find_root_device): Disable.
42692 [__CYGWIN__] (get_bootsec_serial): New function.
42693 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42694 [__linux__] (grub_guess_root_device): Add early returns to simplify
42695 structure.
42696 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42697 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42698 check for Linux only.
42699
a079699e 427002008-05-15 Bean <bean123ch@gmail.com>
42701
42702 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42703 keyboard hang problem in apple's intel mac.
42704
1cf4059a 427052008-05-09 Robert Millan <rmh@aybabtu.com>
42706
42707 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42708 devices.
42709 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42710 (make_device_map): Likewise.
42711 Reported by Aurelien Jarno <aurel32@debian.org>
42712
ed759390 427132008-05-07 Ian Campbell <ijc@hellion.org.uk>
42714
42715 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42716 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42717 (make_device_map): Output entries for xvd type disks.
42718
b56c4eaa 427192008-05-07 Robert Millan <rmh@aybabtu.com>
42720
42721 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42722 devices.
42723 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42724 (make_device_map): Likewise.
42725 Reported by Roland Dreier <rdreier@cisco.com>
42726
7f8866ed 427272008-05-07 Robert Millan <rmh@aybabtu.com>
42728
42729 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42730 grub_strstr() call. Correct a few mistakes in failure path handling.
42731
b0346e0f 427322008-05-06 Robert Millan <rmh@aybabtu.com>
42733
42734 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42735 Do not print a trailing slash (therefore, the root directory is an
42736 empty string).
42737 (convert_system_path_to_grub_path): Do not remove trailing slash
42738 from make_system_path_relative_to_its_root() output.
42739
42740 * util/i386/pc/grub-install.in: Add trailing slash to output from
42741 make_system_path_relative_to_its_root().
42742
6cf12cbd 427432008-05-06 Robert Millan <rmh@aybabtu.com>
42744
42745 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42746 ensures that output lines aren't intermangled with those sent to
42747 stderr (via grub_util_info()).
42748 * util/grub-probe.c (grub_refresh): Likewise.
42749 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42750
0fbb3117 427512008-05-05 Christian Franke <franke@computer.org>
42752
42753 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42754 Add Cygwin device names.
42755 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42756 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42757 (check_device): Return error instead of success on empty name.
42758 (make_device_map): Move label inside linux specific code to
42759 prevent compiler warning.
42760
8124cdb7 427612008-04-30 Robert Millan <rmh@aybabtu.com>
42762
42763 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42764 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42765 first boot option.
42766 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42767
094c01d0 427682008-04-29 Robert Millan <rmh@aybabtu.com>
42769
42770 * docs/grub.cfg: New file (example GRUB configuration).
42771
f4b1fc02 427722008-04-26 Robert Millan <rmh@aybabtu.com>
42773
329ce2a5 42774 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42775 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42776 and `disk/ieee1275/nand.c'.
f4b1fc02 42777
25f16ec1 427782008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 42779
25f16ec1 42780 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42781 i386-linuxbios.
42782
42783 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42784 change the buffer size to 4096 for cdrom device.
42785
42786 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42787 and nand.mod.
42788 (_linux_mod_SOURCES): New variable.
42789 (_linux_mod_CFLAGS): Likewise.
42790 (_linux_mod_LDFLAGS): Likewise.
42791 (linux_mod_SOURCES): Likewise.
42792 (linux_mod_CFLAGS): Likewise.
42793 (linux_mod_LDFLAGS): Likewise.
42794 (nand_mod_SOURCES): Likewise.
42795 (nand_mod_CFLAGS): Likewise.
42796 (nand_mod_LDFLAGS): Likewise.
42797
42798 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42799 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42800 type property. (nand device in olpc don't have this property)
42801
42802 * include/grub/disk.h (grub_disk_dev_id): New macro
42803 GRUB_DISK_DEVICE_NAND_ID.
42804
42805 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42806 function prototype.
42807 (grub_rescue_cmd_initrd): Likewise.
42808
42809 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42810 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42811 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 42812
25f16ec1 42813 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42814 GRUB_MACHINE_IEEE1275 is defined.
42815
42816 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42817 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42818
42819 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42820 on nested function heap_init.
42821 (grub_upper_mem): New variable for i386-ieee1275.
42822 (grub_get_extended_memory): New function for i386-ieee1275.
42823 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42824
42825 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42826 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42827 property.
f19dbdb7 42828
25f16ec1 42829 * loader/i386/ieee1275/linux.c: New file.
42830
42831 * loader/i386/ieee1275/linux_normal.c: New file.
42832
42833 * disk/ieee1275/nand.c: New file.
42834
e89d61e9 428352008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42836
42837 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42838 value.
42839 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42840
602566f6 428412008-04-18 Robert Millan <rmh@aybabtu.com>
42842
42843 Restructures early code path on ieee1275 to unify grub_main() as
42844 the first C function that is executed in every platform.
42845
42846 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42847 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42848 cmain().
42849 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42850 * kern/ieee1275/cmain.c (cmain): Rename to ...
42851 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42852 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42853 at the beginning.
42854
57490c2b 428552008-04-18 Robert Millan <rmh@aybabtu.com>
42856
42857 * util/update-grub.in: Fix syntax error when setting
42858 `GRUB_PRELOAD_MODULES'.
42859 Reported by Stephane Chazelas <stephane@artesyncp.com>
42860
1977517d 428612008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42862
42863 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42864 section into account, newer toolchains generate unique build ids
42865 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 42866 we want build ids to be preserved
1977517d 42867 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42868 far from other sections don't cause the raw binary images grow
42869 size
42870
bfb1f1a2 428712008-04-15 Robert Millan <rmh@aybabtu.com>
42872
42873 * disk/lvm.c: Update copyright year.
42874 * kern/misc.c: Likewise.
42875
01979850 428762008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42877
42878 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 42879 there is no memory left for physical volume name.
01979850 42880
0a1150e2 428812008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42882
42883 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42884 volume name mapping to support bigger than 9 character names properly.
42885
82ead3fe 428862008-04-13 Robert Millan <rmh@aybabtu.com>
42887
42888 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42889 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42890
e54a72f5 428912008-04-13 Christian Franke <franke@computer.org>
42892
42893 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42894 to create a floppy emulation boot CD when non emulation mode
42895 does not work.
42896 Enable Joliet CD filesystem extension.
42897
9fe86034 428982008-04-13 Robert Millan <rmh@aybabtu.com>
42899
42900 * kern/misc.c (grub_strncat): Fix off-by-one error.
42901 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42902
42903 * kern/env.c (grub_env_context_close): Clear current context, not
42904 previous one.
42905 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42906
42907 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42908
7ceeee39 429092008-04-13 Robert Millan <rmh@aybabtu.com>
42910
42911 Improve robustness when handling LVM.
42912
42913 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 42914 (and leave `*p' unmodified).
7ceeee39 42915 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42916 through it.
42917 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
42918 iterating through it.
42919 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
42920 through it.
fe6b695a 42921 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 42922 when due) on each grub_lvm_getvalue() or grub_strstr() call.
42923 Don't assume `vg->pvs != NULL' when iterating through it.
42924
58cd3d85 429252008-04-13 Robert Millan <rmh@aybabtu.com>
42926
42927 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
42928 * genmk.rb (partmap): New variable.
42929 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
42930 (#{partmap}): New target rule.
42931 * genpartmaplist.sh: New file.
42932 * Makefile.in (pkglib_DATA): Add partmap.lst.
42933 (partmap.lst): New target rule.
42934 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
42935 modules (including all partition maps), instead of preloading them.
42936
78b51059 429372007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
42938
42939 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
42940 `linux-boot-prober' (if installed) to detect other operating
42941 systems which are installed on the computer and add them to
42942 the boot menu.
42943 * conf/common.rmk: Build and install 30_os-prober.
42944
a91627b4 429452008-04-12 Robert Millan <rmh@aybabtu.com>
42946
42947 * kern/powerpc/ieee1275/init.c: Move from here ...
42948 * kern/ieee1275/init.c: ... to here. Update all users.
42949
42950 * kern/powerpc/ieee1275/cmain.c: Move from here ...
42951 * kern/ieee1275/cmain.c: ... to here. Update all users.
42952
42953 * kern/powerpc/ieee1275/openfw.c: Move from here ...
42954 * kern/ieee1275/openfw.c: ... to here. Update all users.
42955
42956 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
42957 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
42958
322562ea 429592008-04-10 Pavel Roskin <proski@gnu.org>
42960
42961 * configure.ac: Always use "_cv_" in cache variables for
42962 compatibility with Autoconf 2.62.
42963
a02a73c5 429642008-04-07 Robert Millan <rmh@aybabtu.com>
42965
42966 Revert grub/machine/init.h addition by Pavel (since it breaks on
42967 i386-ieee1275 and others):
42968 * util/i386/pc/misc.c: Remove grub/machine/init.h.
42969 * util/powerpc/ieee1275/misc.c: Likewise.
42970
25c024b1 429712008-04-07 Robert Millan <rmh@aybabtu.com>
42972
42973 * util/grub-probe.c (probe): Improve error message.
42974
3cbd2f98 429752008-04-07 Robert Millan <rmh@aybabtu.com>
42976
42977 * util/biosdisk.c (read_device_map): Skip devices that don't exist
42978 (this prevents the presence of a bogus entry from ruining the whole
42979 thing).
42980
87a297bf 429812008-04-06 Pavel Roskin <proski@gnu.org>
42982
36747a62 42983 * util/biosdisk.c: Include grub/util/biosdisk.h.
42984 * util/grub-fstest.c (execute_command): Make static.
42985 * util/grub-mkdevicemap.c (check_device): Likewise.
42986 * util/i386/pc/misc.c: Include grub/machine/init.h.
42987 * util/powerpc/ieee1275/misc.c: Likewise.
42988 * util/lvm.c: Include grub/util/lvm.h.
42989 * util/misc.c: Include grub/kernel.h, grub/misc.h and
42990 grub/cache.h.
42991 * util/raid.c: Include grub/util/raid.h.
42992 (grub_util_getdiskname): Make static.
42993
87a297bf 42994 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
42995 grub_hostfs_fini(), as they are called from grub_init_all() and
42996 grub_fini_all() respectively. This fixes an infinite loop in
42997 grub-fstest due to double registration of hostfs.
42998 Reported by Christian Franke <Christian.Franke@t-online.de>
42999
f6ce7629 430002008-04-05 Pavel Roskin <proski@gnu.org>
43001
43002 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43003 all 8 functions. Otherwise, probe function 0 only.
43004
070e49e4 430052008-04-04 Pavel Roskin <proski@gnu.org>
43006
8b088a4c 43007 * commands/lspci.c (grub_lspci_iter): Print the bus number
43008 correctly.
43009
4f657021 43010 * commands/lspci.c (grub_pci_classes): Fix typos.
43011 (grub_lspci_iter): Don't print func twice. Print vendor ID
43012 before device ID, as it's normally done.
43013
070e49e4 43014 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43015 Fix signedness warnings.
43016 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43017 Likewise.
43018 * util/ieee1275/get_disk_name.c: Include config.h so that
43019 _GNU_SOURCE is defined and getline() is declared. Mark an
43020 unused argument as such. Fix a signedness warning.
43021
ba7328dc 430222008-04-02 Pavel Roskin <proski@gnu.org>
43023
26887f22 43024 * genkernsyms.sh.in: Use more robust assignments for CC and
43025 srcdir. Quote srcdir.
43026 * gensymlist.sh.in: Likewise. Assert at the compile time that
43027 the symbol table is not empty.
43028
ba7328dc 43029 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43030 * fs/cpio.c (grub_cpio_read): Likewise.
43031
0f582c6b 430322008-04-01 Pavel Roskin <proski@gnu.org>
43033
4b6e1995 43034 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43035 * disk/host.c (grub_host_open): Likewise.
43036 * disk/loopback.c (grub_loopback_open): Likewise.
43037 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43038 disk->id as in disk/host.c, not a multi-character constant.
43039
828a2768 43040 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43041 later is obsolete, potentially dangerous and sets a bad example.
43042 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43043 * util/misc.c (grub_util_get_image_size): Likewise.
43044
2bb4fb47 43045 * disk/loopback.c (options): Improve help for "--partitions".
43046
0f582c6b 43047 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43048 options to align them with the short options, e.g. "echo -e".
43049
a33224e0 430502008-03-31 Bean <bean123ch@gmail.com>
43051
43052 * video/reader/png.c (grub_png_data): New member is_16bit and
43053 image_data.
43054 (grub_png_decode_image_header): Detect 16 bit png image.
43055 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43056 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43057 (grub_video_reader_png): Release memory occupied by image_data.
43058
43059 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43060 4096 bytes.
43061 (grub_nfs_mount): Skip the test for sector per cluster.
43062
43063 * include/grub/ntfs.h (MAX_SPC): Removed.
43064
86cb4f54 430652008-03-31 Bean <bean123ch@gmail.com>
43066
43067 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43068 (grub_probe_SOURCES): Add fs/afs.c.
43069 (grub_fstest_SOURCES): Likewise.
43070 (afs_mod_SOURCES): New variable.
43071 (afs_mod_CFLAGS): Likewise.
43072 (afs_mod_LDFLAGS): Likewise.
43073
43074 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43075 (grub_emu_SOURCES): Likewise.
43076
43077 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43078
43079 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43080
43081 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43082
43083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43084
43085 * fs/afs.c: New file.
43086
17c74c21 430872008-03-30 Pavel Roskin <proski@gnu.org>
43088
4cb68e89 43089 * disk/host.c: Include grub/misc.h to fix a warning.
43090 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43091 warnings about implicit declarations.
43092
8790bb04 43093 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43094 variable.
43095 * include/grub/i386/loader.h: Change declaration of
43096 grub_linux_boot() to match what grub_loader_set() expects.
43097 * util/getroot.c (grub_guess_root_device): Return const char* to
43098 fix a warning.
43099 * util/grub-probe.c (probe): Fix a warning about uninitialized
43100 abstraction_name variable.
43101 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43102 second argument as unused to fix a warning.
43103
9a3f3296 43104 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43105 missing grub_error() call.
43106
0ecef90d 43107 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43108 2.60 and newer uses it to define datadir.
43109
0bf6d401 43110 * commands/sleep.c: Fix warning about implicit declaration.
43111 * disk/memdisk.c: Likewise.
43112 * loader/aout.c: Likewise.
43113 * loader/i386/bsd_normal.c: Likewise.
43114 * util/grub-probe.c: Likewise.
43115
7cdacf97 43116 * commands/i386/cpuid.c (has_longmode): Make static.
43117 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43118 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43119
17c74c21 43120 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43121 GDT. This is more robust, as %ds can change.
43122 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43123 calling real_to_prot().
43124 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43125
80a3e68b 431262008-03-28 Pavel Roskin <proski@gnu.org>
43127
43128 * kern/i386/pc/startup.S: Assert that uncompressed functions
43129 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43130 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43131 code, as they push parts of the code (error handlers) beyond
43132 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43133 code as correctness and size.
43134
77bcd272 431352008-03-28 Pavel Roskin <proski@gnu.org>
43136
43137 * kern/i386/pc/startup.S
43138 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43139 data block address to the real mode, keep offset minimal. This
43140 works around a bug in AWARD BIOS on old Athlon systems, which
43141 makes CD detection hang.
43142
c5dfd43b 431432008-03-26 Pavel Roskin <proski@gnu.org>
43144
43145 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43146 const.
43147 * include/grub/normal.h: Add grub_parse_color_name_pair()
43148 declaration.
43149
bf962df2 431502008-03-24 Bean <bean123ch@gmail.com>
43151
43152 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43153 (cd_count): Removed.
43154 (cd_drive): New variable.
43155 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43156 (grub_biosdisk_call_hook): Likewise.
43157 (grub_biosdisk_iterate): Change cdrom detection method.
43158 (grub_biosdisk_open): Replace cd_start with cd_drive.
43159 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43160 detect cdrom device.
43161
43162 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43163 Removed.
43164 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43165 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43166 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43167 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43168 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43169 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43170 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43171 (grub_biosdisk_cdrp): New structure.
43172 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43173
43174 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43175
43176 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43177 device.
43178
43179 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43180 New function.
43181
68e7fc7a 431822008-03-20 Robert Millan <rmh@aybabtu.com>
43183
43184 Remove 2 TiB limit in ata.mod.
43185 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43186 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43187 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43188 grub_uint64_t instead of grub_uint32_t.
43189
38ad2cf5 431902008-03-05 Bean <bean123ch@gmail.com>
43191
43192 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43193 (grub_multiboot): Set boot device.
43194
43195 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43196
2b89344e 431972008-03-02 Bean <bean123ch@gmail.com>
43198
43199 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43200 symlink_buffer.
43201
87a95d1f 432022008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43203
43204 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43205 texinfo.tex.
43206
43207 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43208 modified.
43209
43210 * docs/fdl.texi: New file.
f19dbdb7 43211
87a95d1f 43212 * docs/mdate-sh: New file. Copied from gnulib.
43213 * docs/texinfo.tex: Likewise.
43214
43215 * config.guess: Updated from gnulib.
43216 * install-sh: Likewise.
43217
7dc15d8e 432182008-02-28 Robert Millan <rmh@aybabtu.com>
43219
43220 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43221 (aout_mod_SOURCES): New variable.
43222 (aout_mod_CFLAGS): Likewise.
43223 (aout_mod_LDFLAGS): Likewise.
43224
43225 * conf/i386-ieee1275.rmk: Likewise.
43226
b00ab696 432272008-02-28 Robert Millan <rmh@aybabtu.com>
43228
43229 * util/update-grub.in: Reorganise terminal validity check. Accept
43230 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43231 Based on suggestion by Franklin PIAT.
43232
79ca2d78 432332008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43234
43235 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43236 function.
43237 * util/getroot.c (grub_util_check_block_device): New function that
43238 returns the given argument if it is a block device and returns NULL else.
43239 * util/grub-probe.c (argument_is_device): New variable.
43240 (probe): Promote device_name from a variable to an argument. Receive
43241 device_name from grub_util_check_block_device() if path is NULL and from
43242 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43243 (options): Introduce new parameter '-d, --device'.
79ca2d78 43244 (main): Add description of the new parameter to the help screen.
43245 Rename path variable to argument. Set argument_is_device if the '-d'
43246 option is given. Pass argument to probe() depending on
43247 argument_is_device.
43248
0d16e571 432492008-02-24 Bean <bean123ch@gmail.com>
43250
43251 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43252 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43253 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43254 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43255 (GRUB_ISO9660_VOLDESC_END): Likewise.
43256 (grub_iso9660_primary_voldesc): New member escape.
43257 (grub_iso9660_data): New member joliet.
43258 (grub_iso9660_convert_string): New function.
43259 (grub_iso9660_mount): Detect joliet extension.
43260 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43261 (grub_iso9660_iso9660_label): Likewise.
43262
43263 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43264 (grub_setup_SOURCES): Add fs/udf.c.
43265 (grub_fstest_SOURCES): Likewise.
43266 (udf_mod_SOURCES): New variable.
43267 (udf_mod_CFLAGS): Likewise.
43268 (udf_mod_LDFLAGS): Likewise.
43269
43270 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43271 (grub_emu_SOURCES): Likewise.
43272
43273 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43274
43275 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43276
43277 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43278
43279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43280
43281 * fs/udf.c: New file.
43282
8a594a17 432832008-02-24 Robert Millan <rmh@aybabtu.com>
43284
43285 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43286 (normal/lexer.c_DEPENDENCIES): New variables.
43287 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43288 (normal/lexer.c_DEPENDENCIES): Likewise.
43289 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43290 (normal/lexer.c_DEPENDENCIES): Likewise.
43291 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43292 (normal/lexer.c_DEPENDENCIES): Likewise.
43293 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43294 (normal/lexer.c_DEPENDENCIES): Likewise.
43295 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43296 (normal/lexer.c_DEPENDENCIES): Likewise.
43297
2dc33c03 432982008-02-23 Robert Millan <rmh@aybabtu.com>
43299
43300 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43301 since they were intended to be in hex. This didn't break previously
43302 because of a bug in gpt_partition_map_iterate() (see below).
43303
43304 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43305 when checking the validity of GPT header.
43306 Remove `partno', since it always provides the same information as `i'.
43307
f6f4cfb0 433082008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43309
43310 * include/grub/efi/time.h: Fix a wrong comment.
43311
79ff665f 433122008-02-19 Pavel Roskin <proski@gnu.org>
43313
43314 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43315 message.
43316
d38e24c2 433172008-02-19 Bean <bean123ch@gmail.com>
43318
43319 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43320 (aout_mod_SOURCES): New variable.
43321 (aout_mod_CFLAGS): Likewise.
43322 (aout_mod_LDFLAGS): Likewise.
43323 (_bsd_mod_SOURCES): New variable.
43324 (_bsd_mod_CFLAGS): Likewise.
43325 (_bsd_mod_LDFLAGS): Likewise.
43326 (bsd_mod_SOURCES): New variable.
43327 (bsd_mod_CFLAGS): Likewise.
43328 (bsd_mod_LDFLAGS): Likewise.
43329
43330 * include/grub/aout.h: New file.
43331
43332 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43333
43334 * include/grub/i386/bsd.h: New file.
43335
43336 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43337 to make it public.
43338
43339 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43340 function is called, so that it's possible to change it inside the hook.
43341 (grub_elf64_load): Likewise.
43342 (grub_elf_file): Don't close the file if elf header is not found.
43343 (grub_elf_close): Close the file if grub_elf_file fails (The new
43344 grub_elf_file won't close it).
43345 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43346 (grub_elf64_size): Likewise.
43347
43348 * kern/i386/loader.S (grub_unix_real_boot): New function.
43349
43350 * loader/aout.c: New file.
43351
43352 * loader/i386/bsd.c: New file.
43353
43354 * loader/i386/bsd_normal.c: New file.
43355
43356 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43357
43358 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43359 can test other formats.
d38e24c2 43360
b93bdb0f 433612008-02-19 Robert Millan <rmh@aybabtu.com>
43362
43363 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43364 (grub_gpt_partition_type_empty): Redefine with macro from
43365 `<grub/gpt_partition.h>'.
43366 (gpt_partition_map_iterate): Adjust partition type comparison.
43367
43368 Export `entry' as partmap-specific `part.data' struct.
43369 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43370
43371 * include/grub/gpt_partition.h (grub_gpt_header)
43372 (grub_gpt_partentry): ... to here (new file).
43373
43374 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43375
43376 (grub_gpt_partition_type_bios_boot): New const variable, defined
43377 with macro from `<grub/gpt_partition.h>'.
43378
43379 (setup): Replace `first_start' with `embed_region', which keeps
43380 track of the embed region (and is partmap-agnostic).
43381
43382 Replace find_first_partition_start() with find_usable_region(),
43383 which finds a usable region for embedding using partmap-specific
43384 knowledge (supports PC/MSDOS and GPT).
43385
43386 Fix all assumptions that the embed region start at sector 1, using
43387 `embed_region.start' from now on. Similarly, use `embed_region.end'
43388 rather than `first_start' to calculate available size.
43389
43390 In grub_util_info() message, replace "into after the MBR" with an
43391 indication of the specific sector our embed region starts at.
43392
66cb40f6 433932008-02-19 Robert Millan <rmh@aybabtu.com>
43394
43395 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43396 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43397 `commands/reboot.c'.
43398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43399 (halt_mod_SOURCES): Likewise.
43400 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43401 (halt_mod_SOURCES): Likewise.
43402
b7202015 434032008-02-17 Christian Franke <franke@computer.org>
43404
43405 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43406
32b0fc49 434072008-02-17 Robert Millan <rmh@aybabtu.com>
43408
43409 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43410 set `first_start' to 0 for non-PC/MSDOS partition maps.
43411
aca63502 434122008-02-16 Robert Millan <rmh@aybabtu.com>
43413
43414 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43415 do not assume partition map is PC/MSDOS before performing checks that
43416 are specific to that layout.
43417
0de8be86 434182008-02-13 Robert Millan <rmh@aybabtu.com>
43419
43420 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43421 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43422 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43423
c3db8364 434242008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43425
43426 * configure.ac: Only a cosmetic change on the handling of
43427 -fno-stack-protector.
43428
f714229e 434292008-02-12 Alexandre Boeglin <alex@boeglin.org>
43430
c3db8364 43431 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43432 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43433 reboot.c.
f714229e 43434 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43435 (halt_mod_SOURCES): New variable.
43436 (halt_mod_CFLAGS): Likewise.
43437 (halt_mod_LDFLAGS): Likewise.
43438 (reboot_mod_SOURCES): Likewise.
43439 (reboot_mod_CFLAGS): Likewise.
43440 (reboot_mod_LDFLAGS): Likewise.
43441
c3db8364 43442 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43443 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43444 reboot.c.
f714229e 43445 (halt_mod_SOURCES): Likewise.
43446 (reboot_mod_SOURCES): Likewise.
43447
c3db8364 43448 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43449 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43450 (reboot_mod_SOURCES): Likewise.
43451
43452 * commands/i386/pc/reboot.c: merge this file ...
43453
43454 * commands/ieee1275/reboot.c: ... and this file ...
43455
43456 * commands/reboot.c: ... to this file.
c3db8364 43457 Add some precompiler directive to include the correct header for
43458 each machine.
f714229e 43459
43460 * commands/ieee1275/halt.c: move this file ...
43461
43462 * commands/halt.c: ... to here.
c3db8364 43463 Add some precompiler directive to include the correct header for
43464 each machine.
f714229e 43465
43466 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43467 (grub_halt): Likewise.
43468
43469 * kern/efi/efi.c (grub_reboot): New function.
43470 (grub_halt): Likewise.
43471
c74493e0 434722008-02-12 Robert Millan <rmh@aybabtu.com>
43473
43474 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43475 /dev (like it is done for /dev/mapper). This doesn't provide support
43476 for EVMS, but at least it is now easy to identify the problem when it
43477 arises.
43478
d0db4b04 434792008-02-11 Robert Millan <rmh@aybabtu.com>
43480
43481 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43482 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43483 comparing it with -1, not 0.
43484
bf748642 434852008-02-10 Robert Millan <rmh@aybabtu.com>
43486
43487 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43488 `disk/lvm.c'.
43489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43490 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43491
43492 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43493 `disk/lvm.c' to the end of the list.
43494 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43495 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43496
b5db202a 434972008-02-10 Robert Millan <rmh@aybabtu.com>
43498
43499 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43500 grub_print_error() instead. This will let user know why we're entering
43501 rescue mode.
43502 Based on suggestions from Sam Morris.
43503
83abee31 435042008-02-10 Alexandre Boeglin <alex@boeglin.org>
43505
43506 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43507 on remaining N args, instead of "--" arg N times.
43508
78d5a08b 435092008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43510
43511 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43512 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43513 pattern for unknown glyphs.
43514
68807e5f 435152008-02-09 Robert Millan <rmh@aybabtu.com>
43516
43517 * configure.ac: Probe for `help2man'.
43518 * Makefile.in (builddir): New variable.
43519 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43520 or otherwise add a few flags/options to it.
43521 (install-local): For every executable utility or script that is
43522 installed, invoke $(HELP2MAN) to install a manpage based on --help
43523 output.
43524
43525 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43526 that it doesn't prevent --help from working in build tree.
43527
43528 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43529 with `bug-grub@gnu.org'.
43530 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43531 * util/update-grub.in (usage): New function.
43532 Implement proper argument check, with support for --help and --version
43533 (as well as existing -y).
43534
435352008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43536
43537 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43538 avoid overwriting previous output.
43539 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43540
c1962162 435412008-02-09 Robert Millan <rmh@aybabtu.com>
43542
43543 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43544 drawing the menu.
43545
3dac2e3f 435462008-02-09 Robert Millan <rmh@aybabtu.com>
43547
43548 * commands/sleep.c: New file.
43549 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43550 (sleep_mod_SOURCES): New variable.
43551 (sleep_mod_CFLAGS): Likewise.
43552 (sleep_mod_LDFLAGS): Likewise.
43553
7a634e08 435542008-02-09 Robert Millan <rmh@aybabtu.com>
43555
43556 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43557 situations in which we can deduce the RAID size and the superblock
43558 doesn't match it.
43559
b92f0c18 435602008-02-09 Robert Millan <rmh@aybabtu.com>
43561
43562 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43563 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43564 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43565
43566 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43567 and return a grub_diskmemberlist_t composed of physical array members.
43568 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43569
43570 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43571 prototype.
43572 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43573 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43574 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43575
43576 * util/grub-probe.c (probe): Move partmap probing code from here ...
43577 (probe_partmap): ... to here.
43578 (probe): Use probe_partmap() once for the disk we're probing, and
43579 additionally, when such disk contains a memberlist() struct member,
43580 once for each disk that is contained in the structure returned by
43581 memberlist().
43582
91a4bf68 435832008-02-09 Robert Millan <rmh@aybabtu.com>
43584
43585 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43586 environment variable to 'all' in order to obtain debug output from
43587 non-util/ code.
43588 * util/i386/pc/grub-setup.c (main): Likewise.
43589
a96f9caa 435902008-02-08 Robert Millan <rmh@aybabtu.com>
43591
43592 * disk/raid.c (grub_raid_scan_device): Check for
43593 `array->device[sb.this_disk.number]' rather than for
43594 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43595 guaranteed to be accessible.
a96f9caa 43596
b37a9222 435972008-02-08 Robert Millan <rmh@aybabtu.com>
43598
43599 * disk/raid.c: Update copyright.
43600 * fs/cpio.c: Likewise.
43601 * include/grub/raid.h: Likewise.
43602 * loader/i386/pc/multiboot.c: Likewise.
43603 * util/hostfs.c: Likewise.
43604
5626aee1 436052008-02-08 Robert Millan <rmh@aybabtu.com>
43606
43607 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43608 to a grub_disk_t array.
43609 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43610 `device[x]'.
43611 (grub_raid_scan_device): Replace `device[x].name' accesses with
43612 `device[x]->name'. Simplify initialization of `array->device[x]'.
43613
554f0187 436142008-02-08 Robert Millan <rmh@aybabtu.com>
43615
43616 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43617 grub_dprintf() calls.
43618 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43619 error message.
43620
1ec8425d 436212008-02-07 Christian Franke <franke@computer.org>
43622
43623 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43624 instead of fseek and ftell to support large files.
43625 (grub_hostfs_read): Likewise.
43626
f2156fda 436272008-02-07 Robert Millan <rmh@aybabtu.com>
43628
43629 Patch from Jeroen Dekkers.
43630 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43631 failure, since successfully reading all array members might not be
f2156fda 43632 required.
43633
9216e0e7 436342008-02-06 Robert Millan <rmh@aybabtu.com>
43635
43636 * util/grub-probe.c (probe): Simplify partmap probing (with the
43637 assumption that the first word up to the underscore equals to
43638 the module name).
43639
b0dfd29a 436402008-02-06 Christian Franke <franke@computer.org>
43641
43642 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43643 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43644 last block of a cpio or tar stream.
43645 Check for "TRAILER!!!" instead of any empty data
43646 block to detect last block of a cpio stream.
43647 (grub_cpio_dir): Fix constness of variable np.
43648 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43649 cpio or tar trailer is detected. This fixes a crash
43650 on open of a non existing file.
43651
c32865bf 436522008-02-05 Bean <bean123ch@gmail.com>
43653
43654 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43655 address of entry.
43656 (grub_multiboot_load_elf64): Likewise.
43657 (grub_multiboot): Initialize mbi structure.
43658
43659 * util/grub-fstest.c: Don't include unused header file script.h.
43660
fe6b695a 43661 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43662 of file.
43663 (grub_fstest_SOURCES): Likewise.
43664
409480b7 436652008-02-05 Robert Millan <rmh@aybabtu.com>
43666
43667 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43668 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43669 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43670 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43671
43672 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43673 (translation_table): Replace hardcoded values with macros
43674 provided by `<grub/term.h>'.
43675
43676 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43677 (keyboard_map): Correct/add a few values, with macros provided
43678 by `<grub/term.h>'.
43679 (keyboard_map_shift): Zero values that don't differ from their
43680 `keyboard_map' equivalents.
43681 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43682 Discard the second scan code that is always sent by Caps lock.
43683 Only use `keyboard_map_shift' when it provides a non-zero value,
43684 otherwise fallback to `keyboard_map'.
43685
99fadbaa 436862008-02-04 Bean <bean123ch@gmail.com>
43687
43688 * Makefile.in (enable_grub_fstest): New variable.
43689
43690 * conf/common.rmk (grub_fstest_init.lst): New rule.
43691 (grub_fstest_init.h): Likewise.
43692 (grub_fstest_init.c): Likewise.
43693 (util/grub-fstest.c_DEPENDENCIES): New variable.
43694 (grub_fstest_SOURCES): Likewise.
43695
43696 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43697
43698 * util/grub-fstest.c: New file.
43699
bf567c50 437002008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43701
43702 Make grub-setup handle a separate root device.
f19dbdb7 43703
bf567c50 43704 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43705 so that the root device can be compared with the destination
43706 device.
43707 When embedding the core image, if the root and destination devices
43708 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43709 0xFF.
43710 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43711
9be6b98b 437122008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43713
43714 Add support for having a grub directory in a different drive. This
43715 is still only the data handling part.
f19dbdb7 43716
9be6b98b 43717 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43718 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43719 (grub_root_drive): New variable.
43720
43721 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43722 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43723 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43724 as it was.
43725
43726 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43727
43728 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43729 macro.
43730 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43731
43732 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43733 is bogus, because PXE booting does not specify any drive
43734 correctly.
43735
43736 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43737 am not sure if this is really correct.
43738
43739 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43740 is always identical to the boot drive when booting from a CD.
43741
43742 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43743 longer.
43744 (root_drive): New variable.
43745 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43746 (setup_sectors): Push %dx right after popping it, because %dh will
43747 be modified later.
43748 (copy_buffer): Restore %dx.
43749
e0ca0677 437502008-02-03 Robert Millan <rmh@aybabtu.com>
43751
43752 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43753 use `cdboot.img' for cdrom images.
43754
3b3f6629 437552008-02-03 Robert Millan <rmh@aybabtu.com>
43756
43757 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43758 only setup gfxterm when `font' command has succeeded.
43759
d42b3672 437602008-02-03 Robert Millan <rmh@aybabtu.com>
43761
43762 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43763 (grub_rescue_cmd_multiboot_loader)
43764 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43765
fa370ea6 437662008-02-03 Pavel Roskin <proski@gnu.org>
43767
e0c5dacb 43768 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43769 %edx and %esi from stack only after grub_gate_a20() is called.
43770 grub_gate_a20() clobbers %edx.
43771
f2a76e1d 437722008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43773
43774 * configure.ac (AC_INIT): Bumped to 1.96.
43775
43776 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43777 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43778 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43779 video/readers/png.c.
43780
90fd32d1 437812008-02-03 Bean <bean123ch@gmail.com>
9be665dd 43782
43783 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43784 (cdboot_img_SOURCES): New variable.
43785 (cdboot_img_ASFLAGS): New variable.
43786 (cdboot_img_LDFLAGS): New variable.
43787
43788 * boot/i386/pc/cdboot.S: New file.
43789
43790 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43791 (cd_count): Likewise.
43792 (grub_biosdisk_get_drive): Add support for cd device.
43793 (grub_biosdisk_call_hook): Likewise.
43794 (grub_biosdisk_iterate): Likewise.
43795 (grub_biosdisk_open): Likewise.
43796 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43797 (grub_biosdisk_rw): Support reading from cd device.
43798 (GRUB_MOD_INIT): Iterate cd devices.
43799
43800 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43801 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43802 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43803
43804 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43805
4020aa53 438062008-02-02 Robert Millan <rmh@aybabtu.com>
43807
43808 * commands/read.c: New file.
43809 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43810 (read_mod_SOURCES): New variable.
43811 (read_mod_CFLAGS): Likewise.
43812 (read_mod_LDFLAGS): Likewise.
43813
e03a1132 438142008-02-02 Robert Millan <rmh@aybabtu.com>
43815
43816 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43817 determining whether menu has to be displayed.
43818
58c69220 438192008-02-02 Marco Gerards <marco@gnu.org>
43820
43821 * bus/pci.c: New file.
43822
43823 * include/grub/pci.h: Likewise.
43824
43825 * include/grub/i386/pc/pci.h: Likewise.
43826
43827 * commands/lspci.c: Likewise.
43828
43829 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43830 `lspci.mod'.
43831 (pci_mod_SOURCES): New variable.
43832 (pci_mod_CFLAGS): Likewise.
43833 (pci_mod_LDFLAGS): Likewise.
43834 (lspci_mod_SOURCES): Likewise.
43835 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 43836 (lspci_mod_LDFLAGS): Likewise.
58c69220 43837
c004e1b4 438382008-02-02 Bean <bean123ch@gmail.com>
43839
43840 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43841 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43842
43843 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43844 (grub_xfs_btree_node): New structure.
43845 (grub_xfs_btree_root): New structure.
43846 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43847 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43848 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43849 (GRUB_XFS_EXTENT_SIZE): Likewise.
43850 (grub_xfs_read_block): Support btree format type.
43851 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43852 Use directory block as basic unit.
43853
43854 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43855
43856 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43857 __attribute__ ((__regparm__ (1))).
43858
f95562bf 438592008-02-01 Robert Millan <rmh@aybabtu.com>
43860
43861 Correct a mistake in previous commit.
43862
43863 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43864 top.
43865 (normal/command.c_DEPENDENCIES): New variable.
43866
7d31f41f 438672008-02-01 Robert Millan <rmh@aybabtu.com>
43868
43869 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43870 top.
43871 (normal/command.c_DEPENDENCIES): New variable.
43872 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43873 * conf/i386-ieee1275.rmk: Likewise.
43874 * conf/i386-linuxbios.rmk: Likewise.
43875 * conf/i386-pc.rmk: Likewise.
43876 * conf/sparc64-ieee1275.rmk: Likewise.
43877 * conf/powerpc-ieee1275.rmk: Likewise.
43878 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43879
43880 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43881
60b6be74 438822008-02-01 Robert Millan <rmh@aybabtu.com>
43883
43884 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43885 call at beginning of function.
43886
078522ab 438872008-01-31 Pavel Roskin <proski@gnu.org>
43888
43889 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 43890 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43891 (grub_mkrescue_SOURCES): Likewise.
078522ab 43892 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43893
ccaa8a5f 438942008-01-30 Robert Millan <rmh@aybabtu.com>
43895
43896 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43897 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43898 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43899 (grub_probe_SOURCES): ... to here.
43900
43901 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43902 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43903 * conf/i386-ieee1275.rmk: Likewise.
43904 * conf/i386-linuxbios.rmk: Likewise.
43905 * conf/powerpc-ieee1275.rmk: Likewise.
43906
ae5a9cd7 439072008-01-30 Tristan Gingold <gingold@free.fr>
43908
43909 * kern/rescue.c: Silently accept empty lines.
43910
70bc2ef2 439112008-01-29 Bean <bean123ch@gmail.com>
43912
43913 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43914 (real_code_2): Code cleanup and change comment style.
43915 (move_memory): Avoid using 32-bit address mode.
43916
6a4d50ea 439172008-01-29 Bean <bean123ch@gmail.com>
43918
43919 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
43920 (png_mod_SOURCES): New variable.
43921 (png_mod_CFLAGS): Likewise.
43922 (png_mod_LDFLAGS): Likewise.
43923
43924 * video/readers/png.c: New file.
43925
11cc30ac 439262008-01-28 Robert Millan <rmh@aybabtu.com>
43927
43928 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
43929 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
43930 `ifndef GRUB_MOD_GAP' hack.
43931 * util/elf/grub-mkimage.c (add_segments): Likewise.
43932
3abc589f 439332008-01-27 Robert Millan <rmh@aybabtu.com>
43934
43935 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
43936 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 43937 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 43938
e1907778 439392008-01-27 Robert Millan <rmh@aybabtu.com>
43940
43941 Get grub-emu to build again (including parallel builds).
43942
43943 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
43944 Split into ...
43945 (util/grub-emu.c_DEPENDENCIES): ... this, ...
43946 (normal/execute.c_DEPENDENCIES): ... this, ...
43947 (grub-emu_DEPENDENCIES): ... and this.
43948
43949 * conf/i386-efi.rmk: Likewise.
43950 * conf/i386-linuxbios.rmk: Likewise.
43951 * conf/i386-ieee1275.rmk: Likewise.
43952 * conf/powerpc-ieee1275.rmk: Likewise.
43953 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
43954
2216b101 439552008-01-27 Robert Millan <rmh@aybabtu.com>
43956
43957 * NEWS: Add a few items.
43958
f75172d9 439592008-01-27 Robert Millan <rmh@aybabtu.com>
43960
43961 Fix parallel builds with grub-emu. Based on earlier commit for
43962 grub-probe and grub-setup.
43963
43964 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43965 (util/grub-emu.c_DEPENDENCIES): ... this.
43966 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43967 (util/grub-emu.c_DEPENDENCIES): ... this.
43968 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43969 (util/grub-emu.c_DEPENDENCIES): ... this.
43970 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43971 (util/grub-emu.c_DEPENDENCIES): ... this.
43972 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43973 (util/grub-emu.c_DEPENDENCIES): ... this.
43974
3f51de77 439752008-01-27 Pavel Roskin <proski@gnu.org>
43976
43977 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
43978 to create a gap between _end and the modules added to the image
43979 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
43980 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
43981 * util/elf/grub-mkimage.c (add_segments): Likewise.
43982
2033f53e 439832008-01-26 Pavel Roskin <proski@gnu.org>
43984
43985 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
43986 just return an error.
43987
22da1f6f 439882008-01-26 Bean <bean123ch@gmail.com>
43989
43990 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
43991 (grub_reiserfs_get_item): Save offset of the next item.
43992 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
43993
2a9525e6 439942008-01-25 Robert Millan <rmh@aybabtu.com>
43995
43996 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
43997 make all filesystem sources appear together (possibly fixing omissions
43998 while at it).
43999 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44000 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44001 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44003
44004 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44005 add `kern/file.c'.
44006 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44007 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44008 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44009 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44010
44011 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44012 (probe): Add a sanity check to make sure of our ability to read
44013 requested files when probing for filesystem type.
44014
44015 * genmk.rb: Update copyright year (2007).
44016
44017 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44018 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44019 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44020 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44021 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44022 : Remove function prototypes.
44023
b95f71b5 440242008-01-25 Robert Millan <rmh@aybabtu.com>
44025
44026 Revert my previous commits (based on wrong assumption of how grub_errno
44027 works).
44028
fe6b695a 44029 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 44030 * kern/file.c (grub_file_open): Likewise.
44031
d08bbb49 440322008-01-24 Pavel Roskin <proski@gnu.org>
44033
44034 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44035 that hang if GRUB tries to setup colors.
44036 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44037 colors for firmwares that don't support it.
44038 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44039 Recognize Open Hack'Ware, set flags to work around its
44040 limitations.
44041
605e36ed 440422008-01-24 Robert Millan <rmh@aybabtu.com>
44043
44044 * kern/file.c (grub_file_open): Do not account previous failures of
44045 unrelated functions when grub_errno is checked for.
44046 Reported by Oleg Strikov.
44047
bac332a1 440482008-01-24 Bean <bean123ch@gmail.com>
44049
44050 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44051 (grub_ufs_sblock): New member volume name.
44052 (grub_ufs_find_file): Fix string copy bug.
44053 (grub_ufs_label): Implement this function properly.
44054
44055 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44056 (grub_hfs_iterate_records): Use the correct file number for extents
44057 and catalog file. Fix problem in next index calculation.
44058 (grub_hfs_find_node): Replace recursive function call with loop.
44059 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44060
15c80c09 440612008-01-23 Robert Millan <rmh@aybabtu.com>
44062
44063 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44064 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44065 (grub_multiboot2_real_boot): New function prototype.
44066
44067 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44068 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44069
44070 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44071 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44072
305338fd 440732008-01-23 Robert Millan <rmh@aybabtu.com>
44074
44075 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44076 #ifdef'ed out grub_printf().
44077
3ea52685 440782008-01-23 Robert Millan <rmh@aybabtu.com>
44079
44080 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44081 grub_dprintf calls, since they make "debug=all" mode unusable.
44082 (grub_console_checkkey): Likewise.
44083
5882ae4b 440842008-01-23 Robert Millan <rmh@aybabtu.com>
44085
44086 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44087 `term/i386/pc/at_keyboard.c'.
44088 (pkglib_MODULES): Add `serial.mod'.
44089 (serial_mod_SOURCES): New variable.
44090 (serial_mod_CFLAGS): Likewise.
44091 (serial_mod_LDFLAGS): Likewise.
44092
44093 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44094 `<grub/powerpc/ieee1275/console.h>'.
44095 (grub_keyboard_controller_init): New function prototype.
44096 (grub_console_checkkey): Likewise.
44097 (grub_console_getkey): Likewise.
44098
44099 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44100 keyboard on i386.
44101
44102 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44103 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44104
06ab5303 441052008-01-23 Robert Millan <rmh@aybabtu.com>
44106
44107 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44108 present, "(memdisk)/boot/grub" becomes the default prefix.
44109
44110 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44111 a memdisk tarball with all the modules. Add --overlay=DIR option that
44112 allows users to overlay additional files into the image.
44113
dbb475a4 441142008-01-23 Robert Millan <rmh@aybabtu.com>
44115
44116 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44117 and `machine/memory.h'.
44118 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44119 (_multiboot_mod_SOURCES): New variable.
44120 (_multiboot_mod_CFLAGS): Likewise.
44121 (_multiboot_mod_LDFLAGS): Likewise.
44122 (multiboot_mod_SOURCES): Likewise.
44123 (multiboot_mod_CFLAGS): Likewise.
44124 (multiboot_mod_LDFLAGS): Likewise.
44125
44126 * include/grub/i386/ieee1275/loader.h: New file.
44127
44128 * include/grub/i386/ieee1275/machine.h: Likewise.
44129
44130 * include/grub/i386/ieee1275/memory.h: Likewise.
44131
44132 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44133 variable declaration.
44134 (grub_os_area_size): Likewise.
44135
44136 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44137 (grub_lower_mem, grub_upper_mem): New variables.
44138 (grub_stop_floppy): New function (just to make
44139 grub_multiboot2_real_boot() happy).
44140
44141 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44142 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44143 (grub_stop): New function.
44144 Include `"../realmode.S"' and `"../loader.S"'.
44145
44146 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44147 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44148
44149 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44150 rely on grub_multiboot2_real_boot() for final boot.
44151
25638629 441522008-01-22 Robert Millan <rmh@aybabtu.com>
44153
44154 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44155 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44156 device that doesn't look like an SD card.
44157 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44158 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44159 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44160 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44161 found.
44162
9dad816d 441632008-01-22 Robert Millan <rmh@aybabtu.com>
44164
44165 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44166 avoid claiming over our own code.
44167
34842f2d 441682008-01-22 Bean <bean123ch@gmail.com>
44169
44170 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44171 (jpeg_mod_SOURCES): New variable.
44172 (jpeg_mod_CFLAGS): Likewise.
44173 (jpeg_mod_LDFLAGS): Likewise.
44174
44175 * video/readers/jpeg.c : New file.
44176
44023a28 441772008-01-22 Bean <bean123ch@gmail.com>
44178
44179 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44180 there are no more items.
44181
bc2d8ac6 441822008-01-21 Robert Millan <rmh@aybabtu.com>
44183
44184 * kern/mm.c (grub_mm_init_region): Improve debug message.
44185
261bd4bc 441862008-01-21 Robert Millan <rmh@aybabtu.com>
44187
44188 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44189 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44190 address.
44191 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44192 a C macro.
44193 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44194 Indicates start of upper memory.
44195 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44196 (generate_image): Abort when image size is big enough to corrupt
44197 upper memory.
44198
44199 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44200 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44201 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44202 instead of hardcoding 0xA0000.
44203 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44204 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44205 instead of hardcoding 0xA0000.
44206
f970b55e 442072008-01-21 Robert Millan <rmh@aybabtu.com>
44208
44209 * disk/memdisk.c (memdisk_size): New variable.
44210 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44211 `memdisk_size'.
44212 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44213 image to dynamic memory.
44214 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44215 `memdisk_size'. Free memdisk block.
44216
1a8b0526 442172008-01-21 Robert Millan <rmh@aybabtu.com>
44218
44219 Fix detection of very small filesystems (like tar).
44220
44221 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44222 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44223 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44224 a problem with this disk).
44225
6e9b4aab 442262008-01-21 Robert Millan <rmh@aybabtu.com>
44227
44228 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44229 on grub_biosdisk_rw_standard() error.
44230
0d8837b2 442312008-01-21 Robert Millan <rmh@aybabtu.com>
44232
44233 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44234 recent changes.
44235 * kern/elf.c: Likewise.
44236 * kern/ieee1275/ieee1275.c: Likewise.
44237 * kern/powerpc/ieee1275/openfw.c: Likewise.
44238 * term/ieee1275/ofconsole.c: Likewise.
44239
ffd36e34 442402008-01-21 Robert Millan <rmh@aybabtu.com>
44241
44242 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44243
3f0093d0 44244 * include/grub/kernel.h (grub_arch_memdisk_addr)
44245 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44246
3f0093d0 44247 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44248 (grub_arch_memdisk_size): ... to here.
ffd36e34 44249
6c391b21 442502008-01-21 Robert Millan <rmh@aybabtu.com>
44251
44252 Mostly based on bugfix from Bean.
44253
44254 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44255 attribute with hook() parameter.
44256 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44257 declaration.
44258 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44259 attribute with hook() parameter.
44260 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44261 declaration.
44262
55a581dc 442632008-01-21 Robert Millan <rmh@aybabtu.com>
44264
44265 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44266 (pkglib_MODULES): Add `memdisk.mod'.
44267 (memdisk_mod_SOURCES): New variable.
44268 (memdisk_mod_CFLAGS): Likewise.
44269 (memdisk_mod_LDFLAGS): Likewise.
44270
44271 * disk/memdisk.c: New file.
44272
44273 * include/grub/disk.h (grub_disk_dev_id): Add
44274 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44275
44276 * include/grub/i386/pc/kernel.h
44277 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44278 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44279 (grub_kernel_image_size): New variable declaration.
44280 (grub_total_module_size): Likewise.
44281 (grub_memdisk_image_size): Likewise.
44282
44283 * include/grub/i386/pc/memory.h
44284 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44285
44286 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44287 (grub_arch_memdisk_addr): New variable declaration.
44288 (grub_arch_memdisk_size): Likewise.
44289
44290 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44291 (grub_arch_memdisk_size): Likewise.
44292
44293 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44294 (codestart): Replace hardcoded `0x100000' with
44295 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44296
44297 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44298 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44299 not NULL, append the contents of the file it refers to, at the end of
44300 the compressed kernel image. Initialize `grub_memdisk_image_size'
44301 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44302 (options): Add "memdisk"|'m' option.
44303 (main): Parse --memdisk|-m option, and pass user-provided path as
44304 parameter to generate_image().
44305
3d7f54c9 443062008-01-20 Robert Millan <rmh@aybabtu.com>
44307
44308 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44309 grub_dprintf() calls from here ...
44310 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44311
0bf74728 443122008-01-20 Robert Millan <rmh@aybabtu.com>
44313
44314 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44315
44316 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44317 declaration.
44318 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44319 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44320 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44321 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44322 property).
44323 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44324 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44325
33bf70a7 443262008-01-19 Robert Millan <rmh@aybabtu.com>
44327
fe6b695a 44328 Get rid of confusing function (superseded by
33bf70a7 44329 `grub_ieee1275_get_integer_property')
44330 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44331 prototype.
44332 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44333 function.
44334 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44335 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44336 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44337
e2da7d26 443382008-01-19 Robert Millan <rmh@aybabtu.com>
44339
44340 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44341 command after "shut-down", since implementations differ on which
44342 the command for halt is.
44343
59f1fd8d 443442008-01-19 Robert Millan <rmh@aybabtu.com>
44345
44346 * include/grub/i386/linuxbios/console.h: Add header protection.
44347 (grub_keyboard_controller_init): New function prototype.
44348 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44349 (KEYBOARD_COMMAND_READ): Likewise.
44350 (KEYBOARD_COMMAND_WRITE): Likewise.
44351 (KEYBOARD_SCANCODE_SET1): Likewise.
44352 (grub_keyboard_controller_write): New function.
44353 (grub_keyboard_controller_read): Likewise.
44354 (grub_keyboard_controller_init): Likewise.
44355
44356 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44357 (grub_console_init): On coreboot/LinuxBIOS, call
44358 grub_keyboard_controller_init().
44359
5f5a7c15 443602008-01-19 Robert Millan <rmh@aybabtu.com>
44361
44362 PowerPC changes provided by Pavel Roskin.
44363
44364 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44365 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44366 don't rely on cmain() doing it.
44367 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44368 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44369
1210e168 443702008-01-16 Robert Millan <rmh@aybabtu.com>
44371
44372 * include/grub/i386/linuxbios/memory.h
44373 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44374 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44375 receive `table_header' as argument. Instead, probe for it in the
44376 known memory ranges where it can be present.
44377 (grub_available_iterate): Do not pass a fixed `table_header' address
44378 to grub_linuxbios_table_iterate().
44379
3d04eab8 443802008-01-15 Robert Millan <rmh@aybabtu.com>
44381
44382 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44383 * conf/i386-ieee1275.rmk: New file.
44384 * include/grub/i386/ieee1275/console.h: Likewise.
44385 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44386 * include/grub/i386/ieee1275/kernel.h: Likewise.
44387 * include/grub/i386/ieee1275/time.h: Likewise.
44388 * kern/i386/ieee1275/init.c: Likewise.
44389 * kern/i386/ieee1275/startup.S: Likewise.
44390
d1bc1b73 443912008-01-15 Robert Millan <rmh@aybabtu.com>
44392
44393 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44394 when pointers are 32-bit (but still do set it to one when they are
44395 64-bit).
44396
66a65807 443972008-01-15 Robert Millan <rmh@aybabtu.com>
44398
44399 * include/grub/ieee1275/ieee1275.h
44400 (grub_ieee1275_get_integer_property): New function prototype.
44401
44402 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44403 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44404 grub_ieee1275_get_property() to handle endianness.
66a65807 44405
44406 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44407 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44408 where appropriate.
66a65807 44409 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44410 (grub_map): Likewise.
44411 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44412
a83ccafd 444132008-01-15 Bean <bean123ch@gmail.com>
44414
44415 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44416 (grub_script_execute_cmdline): Reset grub_errno.
44417
44418 * normal/main.c (read_config_file): Reset grub_errno.
44419
44420 * normal/parse.y (script_init): New.
44421 (script): Move function and menuentry here.
44422 (delimiter): New.
44423 (command): Add delimiter at the end of command.
44424 (commands): Adjust to match the new command.
44425 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44426 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44427 (if): Use the new commands.
44428
44429 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44430
df6ecfc6 444312008-01-15 Robert Millan <rmh@aybabtu.com>
44432
44433 * normal/menu.c (run_menu): Move timeout message from here ...
44434 (print_timeout): ... to here.
44435 (run_menu): Use print_timeout() once during initial draw to print
44436 the whole message, and again in every clock tick to update only
44437 the number of seconds.
44438
87ae25eb 444392008-01-15 Robert Millan <rmh@aybabtu.com>
44440
44441 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44442 actual size of `available' from grub_ieee1275_get_property(), and
44443 restrict parsing to that bound.
44444
47bf09a4 444452008-01-15 Christian Franke <franke@computer.org>
44446
44447 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44448 (argp_program_version): Remove variable.
44449 (argp_program_bug_address): Likewise.
44450 (options): Convert from struct argp_option to struct option.
44451 (struct arguments): Remove.
44452 (parse_opt): Remove.
44453 (usage): New function.
44454 (main): Replace struct args members by simple variables.
44455 Replace argp_parse() by getopt_long().
44456 Add switch to evaluate options.
44457 Add missing "(...)" around root_dev in prefix string.
44458
c86f1469 444592008-01-14 Robert Millan <rmh@aybabtu.com>
44460
44461 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44462 for grub_ieee1275_exit(), in order to improve portability.
44463
e622c559 444642008-01-14 Robert Millan <rmh@aybabtu.com>
44465
44466 * util/grub.d/10_linux.in (prefix): Define.
44467 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44468
44cb1ec8 444692008-01-13 Pavel Roskin <proski@gnu.org>
44470
44471 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44472 grub_errno if no errors have been detected.
44473
1eb8c802 444742008-01-12 Robert Millan <rmh@aybabtu.com>
44475
44476 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44477 (grub_util_get_dev_abstraction): New function prototype.
44478
44479 * util/getroot.c: Include `<grub/util/getroot.h>'
44480 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44481 (grub_util_get_dev_abstraction): ... here (new function).
44482
44483 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44484 `PRINT_ABSTRACTION'.
44485 (probe): Probe for abstraction type when requested.
44486 (main): Understand `--target=abstraction'.
44487
44488 * util/i386/efi/grub-install.in: Add abstraction module to core
44489 image when it is found to be necessary.
44490 * util/i386/pc/grub-install.in: Likewise.
44491 * util/powerpc/ieee1275/grub-install.in: Likewise.
44492
44493 * util/update-grub_lib.in (font_path): Return system path without
44494 converting to GRUB path.
44495 * util/update-grub.in: Convert system path returned by font_path()
44496 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44497 abstraction module is needed for loading fonts (if any). Export
44498 that as `GRUB_PRELOAD_MODULES'.
44499 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44500 insmod commands).
44501
52bd3de9 445022008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44503
44504 Remove some unused code from reiserfs.
f19dbdb7 44505
52bd3de9 44506 * fs/reiserfs.c (struct grub_reiserfs_key)
44507 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44508 (struct grub_reiserfs_node_body): Removed.
44509 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44510 Likewise.
44511 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44512 Likewise.
44513 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44514 Likewise.
44515 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44516 Likewise.
44517 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44518 Likewise.
44519 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44520 Likewise.
44521 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44522 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44523 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44524
2f80039d 445252008-01-10 Robert Millan <rmh@aybabtu.com>
44526
44527 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44528 Determines if a file is garbage left by packaging systems, etc.
44529 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44530 for processing /etc/grub.d scripts.
44531 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44532 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44533 as a condition for processing Linux images.
44534
87888032 445352008-01-10 Pavel Roskin <proski@gnu.org>
44536
44537 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44538 to compile reiserfs.c on PowerPC.
44539
7e54fced 445402008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44541
44542 * kern/device.c (grub_device_iterate): Do not abort device iteration
44543 when one of the devices cannot be opened.
44544 * kern/disk.c (grub_disk_open): Do not account previous failures of
44545 unrelated functions when grub_errno is checked for.
44546
5aa541e6 445472008-01-08 Robert Millan <rmh@aybabtu.com>
44548
44549 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44550 `! grub_linux_is_bzimage', change order of address comparison to make
44551 it more intuitive, and improve "too big zImage" error message.
44552
7076340d 445532008-01-08 Robert Millan <rmh@aybabtu.com>
44554
44555 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44556 `$(update-grub_DATA)'.
44557 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44558 targets.
44559
9ca70333 445602008-01-07 Robert Millan <rmh@aybabtu.com>
44561
44562 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44563 which instruction is modified by grub-setup during installation
44564 (since it wasn't obvious by only looking at this file).
44565
38ccf575 445662008-01-07 Robert Millan <rmh@aybabtu.com>
44567
44568 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44569 listing actual TODO items.
44570
f5db4291 445712008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44572
868967cf 44573 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44574 correctly.
44575 (grub_reiserfs_get_key_offset): Likewise.
44576 (grub_reiserfs_set_key_offset): Likewise.
44577 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44578 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44579
44580 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44581 better to remove the bitfield version completely.
f19dbdb7 44582
868967cf 445832008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44584
f5db4291 44585 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44586 allocated from the heap, due to the fshelp implementation.
44587 (grub_reiserfs_dir): Free NODE, due to the same reason.
44588
492e6d9d 445892008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44590
44591 Mostly from Vincent Pelletier:
f19dbdb7 44592
492e6d9d 44593 * fs/reiserfs.c: New file.
f19dbdb7 44594
492e6d9d 44595 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44596 (reiserfs_mod_SOURCES): New variable.
44597 (reiserfs_mod_CFLAGS): Likewise.
44598 (reiserfs_mod_LDFLAGS): Likewise.
44599
44600 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44601 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44602 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44603 normal/color.c.
44604
9ce3e7c1 446052008-01-06 Robert Millan <rmh@aybabtu.com>
44606
44607 * normal/color.c: Remove `<grub/env.h>'.
44608
f3b58148 446092008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44610
44611 * include/grub/normal.h: Include <grub/env.h>.
44612
7ac3bcfa 446132008-01-05 Robert Millan <rmh@aybabtu.com>
44614
44615 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44616 usage example with `(hd0,1)'.
fb358190 44617 Reported by Samuel Thibault.
7ac3bcfa 44618
c8ee99d7 446192008-01-05 Robert Millan <rmh@aybabtu.com>
44620
44621 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44622 (grub_linux_boot_zimage): Rename to ...
44623 (grub_linux_boot): ... this.
44624 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44625 (grub_linux_boot_zimage): Conditionalize zImage copy.
44626
44627 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44628 (grub_linux_boot_bzimage): Remove prototype.
44629 (grub_linux_boot_zimage): Rename to ...
44630 (grub_linux_boot): ... this.
44631
44632 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44633 (grub_linux_boot): Remove function.
44634
0ece25b1 446352008-01-05 Robert Millan <rmh@aybabtu.com>
44636
44637 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44638 (grub_env_write_color_highlight): Likewise.
44639 (grub_wait_after_message): Likewise.
44640
44641 * normal/color.c: New file.
44642
44643 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44644 (normal_mod_DEPENDENCIES): Likewise.
44645
44646 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44647 (normal_mod_DEPENDENCIES): Likewise.
44648
44649 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44650 (normal_mod_DEPENDENCIES): Likewise.
44651
44652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44653 (normal_mod_DEPENDENCIES): Likewise.
44654
44655 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44656 for waiting after a message is printed.
44657 * normal/main.c (read_config_file): Likewise.
44658 (grub_normal_init): Register grub_env_write_color_normal() and
44659 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44660 `color_highlight' variables as global.
44661
44662 * normal/menu.c (grub_wait_after_message): New function.
44663 (grub_color_menu_normal): New variable. Replaces ...
44664 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44665 (grub_color_menu_highlight): New variable. Replaces ...
44666 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44667 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44668 `GRUB_TERM_COLOR_STANDARD'.
44669 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44670 `normal_code' and `highlight_code' to `old_color_normal' and
44671 `old_color_highlight', respectively.
44672 (grub_menu_init_page): Update colors when drawing the menu, based on
44673 `menu_color_normal' and `menu_color_highlight' variables.
44674 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44675 a message is printed.
44676
182dd4e5 446772008-01-05 Robert Millan <rmh@aybabtu.com>
44678
44679 * kern/env.c (grub_env_context_open): Propagate hooks for global
44680 variables to new context.
44681
44682 * kern/main.c (grub_set_root_dev): Export `root' variable.
44683
ddf8f6ad 446842008-01-05 Robert Millan <rmh@aybabtu.com>
44685
44686 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44687 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44688 them.
44689
d8b43d9b 446902008-01-05 Robert Millan <rmh@aybabtu.com>
44691
44692 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44693
2bff2de3 446942008-01-04 Christian Franke <franke@computer.org>
44695
44696 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44697 of eisa_mmap.
44698
97eab917 446992008-01-03 Pavel Roskin <proski@gnu.org>
44700
44701 * kern/i386/linuxbios/init.c: Put "void" to all function
44702 declarations with no arguments.
44703 * kern/powerpc/ieee1275/init.c: Likewise.
44704 * term/i386/pc/at_keyboard.c: Likewise.
44705 * term/i386/pc/vga_text.c: Likewise.
44706 * util/grub-mkdevicemap.c: Likewise.
44707
b9416d00 447082008-01-02 Robert Millan <rmh@aybabtu.com>
44709
44710 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44711 message when loaded image is out of bounds.
44712 (grub_multiboot_load_elf64): Likewise.
44713
92695df9 447142008-01-02 Pavel Roskin <proski@gnu.org>
44715
44716 * util/grub.d/10_linux.in: Try version without ".old" when
44717 looking for initrd. It's better to use initrd from the newer
44718 kernel of the same version than no initrd at all.
44719
d98d9cad 447202008-01-01 Robert Millan <rmh@aybabtu.com>
44721
44722 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44723
dbfdce36 447242008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44725
f19dbdb7 44726 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44727 grub_video_get_active_render_target.
44728 (grub_video_adapter): Added unmap_color and get_active_render_target.
44729
f19dbdb7 44730 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44731 grub_video_get_active_render_target.
44732 (grub_video_get_info): Changed method to accept NULL pointer as an
44733 argument to allow detection of active video adapter.
44734
44735 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44736 grub_video_vbe_unmap_color_int.
44737 Added grub_video_vbe_unmap_color and
44738 grub_video_vbe_get_active_render_target.
44739 (grub_video_vbe_adapter): Added unmap_color and
44740 get_active_render_target.
44741
f19dbdb7 44742 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44743 with grub_video_vbe_unmap_color_int.
44744
44745 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44746 (DEFAULT_NORMAL_COLOR): Likewise.
44747 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44748 (DEFAULT_FG_COLOR): Removed.
44749 (DEFAULT_BG_COLOR): Likewise.
44750 (DEFAULT_CURSOR_COLOR): Changed value.
44751 (grub_virtual_screen): Added standard_color_setting,
44752 normal_color_setting, highlight_color_setting and term_color.
44753 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44754 (bitmap_width): Added.
44755 (bitmap_height): Likewise.
44756 (bitmap): Likewise.
44757 (set_term_color): Likewise.
44758 (grub_virtual_screen_setup): Changed to use new terminal coloring
44759 settings.
44760 (grub_gfxterm_init): Added init for bitmap.
44761 (grub_gfxterm_fini): Added destroy for bitmap.
44762 (redraw_screen_rect): Updated to use background bitmap and new
44763 terminal coloring.
44764 (scroll_up): Added optimization for case when there is no bitmap.
44765 (grub_gfxterm_cls): Fixed to use correct background color.
44766 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44767 coloring.
44768 (grub_virtual_screen_setcolor): Likewise.
44769 (grub_virtual_screen_getcolor): Added.
44770 (grub_gfxterm_background_image_cmd): Likewise.
44771 (grub_video_term): Added setcolor and getcolor.
44772 (MOD_INIT): Added registration of background_image command.
44773 (MOD_TERM): Added unregistration for background_image command.
44774
c3c20931 447752007-12-30 Pavel Roskin <proski@gnu.org>
44776
44777 * loader/multiboot_loader.c: Fix multiboot command
44778 unregistration. Fix all typos in the word "multiboot".
44779
df266716 447802007-12-29 Pavel Roskin <proski@gnu.org>
94239199 44781
44782 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44783 support for initrd names used in Fedora.
44784
fc6e896c 447852007-12-26 Bean <bean123ch@gmail.com>
44786
44787 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44788 (cpio_mod_SOURCES): New variable.
44789 (cpio_mod_CFLAGS): Likewise.
44790 (cpio_mod_LDFLAGS): Likewise.
44791
44792 * fs/cpio.c: New file.
44793
44794 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44795
44796 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44797
44798 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44799
44800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44801
533110ad 448022007-12-25 Robert Millan <rmh@aybabtu.com>
44803
44804 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44805 (grub_getcolor): New function.
44806
44807 * kern/term.c (grub_getcolor): New function.
44808 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44809 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44810 (print_entry): Set normal and highlight colors to
44811 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44812 respectively, before printing and restore them to old
44813 values afterwards.
44814 (grub_menu_init_page): Likewise. Fill an additional colored space
44815 that would otherwise be left blank.
44816
44817 * term/efi/console.c (grub_console_getcolor): New function.
44818 (struct grub_console_term.getcolor): New variable.
44819 * term/i386/pc/console.c (grub_console_getcolor): New function.
44820 (struct grub_console_term.getcolor): New variable.
44821 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44822 (struct grub_console_term.getcolor): New variable.
44823
44824 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44825 (struct grub_console_term.setcolor): Remove variable.
44826 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44827 (struct grub_console_term.setcolor): Remove variable.
44828 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44829 (struct grub_console_term.setcolor): Remove variable.
44830 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44831 (struct grub_console_term.setcolor): Remove variable.
44832
4931827f 448332007-12-25 Robert Millan <rmh@aybabtu.com>
44834
44835 * configure.ac: Search for possible unifont.hex locations, and
44836 define UNIFONT_HEX if found.
44837
44838 * Makefile.in (UNIFONT_HEX): Define variable.
44839 (DATA): Rename to ...
44840 (PKGLIB): ... this. Update all users.
44841 (PKGDATA): New variable.
44842 (pkgdata_IMAGES): Rename to ...
44843 (pkglib_IMAGES): ... this. Update all users.
44844 (pkgdata_MODULES): Rename to ...
44845 (pkglib_MODULES): ... this. Update all users.
44846 (pkgdata_PROGRAMS): Rename to ...
44847 (pkglib_PROGRAMS): ... this. Update all users.
44848 (pkgdata_DATA): Rename to ...
44849 (pkglib_DATA): ... this. Update all users.
44850 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44851 (unicode.pff, ascii.pff): New rules.
44852 (all-local): Add `$(PKGDATA)' dependency.
44853 (install-local): Process `$(PKGDATA)'.
44854
44855 * util/update-grub_lib.in (font_path): Search for *.pff files in
44856 a few more locations, including `${pkgdata}'.
44857
57e57e31 448582007-12-23 Robert Millan <rmh@aybabtu.com>
44859
44860 Patch from Bean <bean123ch@gmail.com>:
44861 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44862 `size'.
44863
4bc72aa9 448642007-12-21 Bean <bean123ch@gmail.com>
44865
44866 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44867 (ntfscomp_mod_SOURCES): New variable.
44868 (ntfscomp_mod_CFLAGS): Likewise.
44869 (ntfscomp_mod_LDFLAGS): Likewise.
44870
44871 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44872 (grub_probe_SOURCES): Likewise.
44873 (grub_emu_SOURCES): Likewise.
44874
44875 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44876 (grub_emu_SOURCES): Likewise.
44877
44878 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44879 (grub_emu_SOURCES): Likewise.
44880
44881 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44882 (grub_emu_SOURCES): Likewise.
44883
44884 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44885 (read_run_list): Renamed to grub_ntfs_read_run_list.
44886 (decomp_nextvcn): Moved to ntfscomp.c.
44887 (decomp_getch): Likewise.
44888 (decomp_get16): Likewise.
44889 (decomp_block): Likewise.
44890 (read_block): Likewise.
44891 (read_data): Partially moved to ntfscomp.c.
44892 (fixup): Change unsigned to grub_uint16_t.
44893 (read_mft): Change unsigned long to grub_uint32_t.
44894 (read_attr): Likewise.
44895 (read_data): Likewise.
44896 (read_run_data): Likewise.
44897 (read_run_list): Likewise.
44898 (read_mft): Likewise.
44899
44900 * fs/ntfscomp.c: New file.
44901
44902 * include/grub/ntfs.h: New file.
44903
af680a87 449042007-12-16 Robert Millan <rmh@aybabtu.com>
44905
44906 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44907 IDE disk check, since Linux is known to support 20 IDE disks.
44908 Reported by Colin Watson.
44909
84be7599 449102007-12-15 Bean <bean123ch@gmail.com>
44911
44912 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44913 (lnxboot_img_SOURCES): New variable.
44914 (lnxboot_img_ASFLAGS): Likewise.
44915 (lnxboot_img_LDFLAGS): Likewise.
44916
44917 * boot/i386/pc/lnxboot.S: New file.
44918
6af9db01 449192007-11-24 Pavel Roskin <proski@gnu.org>
44920
44921 * configure.ac: Test if '--build-id=none' is supported by the
44922 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
44923 objcopy to generate incorrect binary files (binutils
44924 2.17.50.0.18-1 as shipped by Fedora 8).
44925 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
44926 linking, so that build ID doesn't break the test.
44927
7361cfe6 449282007-11-24 Pavel Roskin <proski@gnu.org>
44929
44930 * include/grub/i386/time.h: use "void" in the argument list
44931 of grub_cpu_idle().
44932 * include/grub/powerpc/time.h: Likewise.
44933 * include/grub/sparc64/time.h: Likewise.
44934
1593e10c 449352007-11-18 Christian Franke <franke@computer.org>
44936
44937 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
44938 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
44939 This fixes the problem that function keys did not work in grub-emu.
44940
3b8db1a8 449412007-11-18 Christian Franke <franke@computer.org>
44942
44943 * disk/host.c (grub_host_open): Remove attribute unused from
44944 name parameter. Add check for "host". This fixes the problem
44945 that grub-emu does not find partitions.
44946
2e29408d 449472007-11-18 Christian Franke <franke@computer.org>
44948
44949 * util/hostfs.c (is_dir): New function.
44950 (grub_hostfs_dir): Handle missing dirent.d_type case.
44951 (grub_hostfs_read): Add missing fseek().
44952 (grub_hostfs_label): Clear label pointer. This fixes a crash
44953 of grub-emu on "ls (host)".
44954
398cd047 449552007-11-18 Christian Franke <franke@computer.org>
44956
44957 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
44958 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
44959 to 64 bit boundary by default.
44960
c405c391 449612007-11-18 Bean <bean123ch@gmail.com>
44962
44963 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
44964 (hexdump_mod_SOURCES): New variable.
44965 (hexdump_mod_CFLAGS): Likewise.
44966 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 44967
c405c391 44968 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44969
44970 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44971
44972 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44973
44974 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44975
44976 * include/grub/hexdump.h: New file.
44977
44978 * commands/hexdump.c: New file.
44979
5cced7fd 449802007-11-10 Robert Millan <rmh@aybabtu.com>
44981
44982 * commands/i386/pc/play.c (beep_off): Switch order of arguments
44983 in grub_outb() calls.
44984 (beep_on): Likewise.
44985
8b714eb0 449862007-11-10 Christian Franke <franke@computer.org>
44987
44988 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
44989 (grub_menu_run): Likewise.
44990
ce0f1839 449912007-11-10 Robert Millan <rmh@aybabtu.com>
44992
44993 * include/grub/i386/efi/machine.h: New file.
44994 * include/grub/i386/linuxbios/machine.h: Likewise.
44995 * include/grub/i386/pc/machine.h: Likewise.
44996 * include/grub/powerpc/ieee1275/machine.h: Likewise.
44997 * include/grub/sparc64/ieee1275/machine.h: Likewise.
44998
44999 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45000 (serial_hw_io_addr): New variable.
45001 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45002 instead of `(unsigned short *) 0x400'.
45003
270c237d 450042007-11-10 Bean <bean123ch@gmail.com>
45005
45006 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45007
a87783bf 450082007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45009
45010 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45011 (vga_mod_SOURCES): Added.
45012 (vga_mod_CFLAGS): Likewise.
45013 (vga_mod_LDFLAGS): Likewise.
45014
45015 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45016 grub_outb() calls.
45017 (set_map_mask): Likewise.
45018 (set_read_map): Likewise.
45019 (set_read_address): Likewise.
45020 (vga_font): Removed variable.
45021 (get_vga_glyph): Removed function.
45022 (invalidate_char): Likewise.
45023 (write_char): Changed to use grub_font_get_glyph() for font
45024 information.
45025 (grub_vga_putchar): Likewise.
45026 (grub_vga_getcharwidth): Likewise.
45027
6433b448 450282007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45029
45030 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45031 flags.
45032 (pxeboot_img_LDFLAGS): Likewise.
45033 (diskboot_img_LDFLAGS): Likewise.
45034 (kernel_img_LDFLAGS): Likewise.
45035
49178511 450362007-11-06 Robert Millan <rmh@aybabtu.com>
45037
45038 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45039 in grub_outb() calls.
45040 (serial_hw_init): Likewise.
45041
53b052de 450422007-11-05 Robert Millan <rmh@aybabtu.com>
45043
45044 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45045 spaces. Skip non-regular files.
45046
5ab33bba 450472007-11-05 Robert Millan <rmh@aybabtu.com>
45048
45049 * kern/disk.c (grub_disk_firmware_fini)
45050 (grub_disk_firmware_is_tainted): New variables.
45051
45052 * include/grub/disk.h (grub_disk_firmware_fini)
45053 (grub_disk_firmware_is_tainted): Likewise.
45054
45055 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45056 (grub_disk_biosdisk_fini): ... to here.
45057 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45058 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45059 is set. Register grub_disk_biosdisk_fini() in
45060 `grub_disk_firmware_fini'.
45061
45062 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45063 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45064 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45065 to finish existing firmware disk interface.
45066
45067 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45068 (ata_mod_SOURCES): New variable.
45069 (ata_mod_CFLAGS): Likewise.
45070 (ata_mod_LDFLAGS): Likewise.
45071
0149ab7c 450722007-11-05 Robert Millan <rmh@aybabtu.com>
45073
45074 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45075 (grub_ata_wait): Reimplement using grub_millisleep().
45076
45077 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45078 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45079
be7ac41e 450802007-11-03 Marco Gerards <marco@gnu.org>
45081
45082 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45083 (CRTC_ADDR_PORT): New macro.
45084 (CRTC_DATA_PORT): Likewise.
45085 (CRTC_CURSOR): Likewise.
45086 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45087 (CRTC_CURSOR_ADDR_LOW): Likewise.
45088 (update_cursor): New function.
45089 (grub_console_real_putchar): Call `update_cursor'.
45090 (grub_console_gotoxy): Likewise.
45091 (grub_console_cls): Set the default color when clearing the
45092 screen.
45093 (grub_console_setcursor): Implemented.
45094
bb06ab2e 450952007-11-03 Marco Gerards <marco@gnu.org>
45096
45097 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45098 become activate.
45099 (grub_ata_pio_write): Likewise.
45100
45101 (grub_atapi_identify): Wait after issuing an ATA command.
45102 (grub_atapi_packet): Likewise.
45103 (grub_ata_identify): Likewise.
45104 (grub_ata_readwrite): Likewise.
45105
cf8f780b 451062007-11-03 Marco Gerards <marco@gnu.org>
45107
45108 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45109 (grub_ata_pio_write): Likewise.
45110 (grub_ata_readwrite): Use `grub_error', instead of
45111 returning `grub_errno'.
45112
ed649e54 451132007-11-03 Marco Gerards <marco@gnu.org>
45114
45115 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45116 grub_ata_pio_write once for every single sector, instead of for
45117 multiple sectors.
45118
ca25d8f0 451192007-10-31 Robert Millan <rmh@aybabtu.com>
45120
45121 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45122
45123 * conf/i386-linuxbios.rmk: New file.
45124
45125 * kern/i386/pc/hardware.c: Likewise.
45126 * term/i386/pc/at_keyboard.c: Likewise.
45127 * term/i386/pc/vga_text.c: Likewise.
45128
45129 * include/grub/i386/linuxbios/boot.h: Likewise.
45130 * include/grub/i386/linuxbios/console.h: Likewise.
45131 * include/grub/i386/linuxbios/init.h: Likewise.
45132 * include/grub/i386/linuxbios/kernel.h: Likewise.
45133 * include/grub/i386/linuxbios/loader.h: Likewise.
45134 * include/grub/i386/linuxbios/memory.h: Likewise.
45135 * include/grub/i386/linuxbios/serial.h: Likewise.
45136 * include/grub/i386/linuxbios/time.h: Likewise.
45137
45138 * kern/i386/linuxbios/init.c: Likewise.
45139 * kern/i386/linuxbios/startup.S: Likewise.
45140 * kern/i386/linuxbios/table.c: Likewise.
45141
e911ecc1 451422007-10-31 Marco Gerards <marco@gnu.org>
45143
45144 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45145 (ata_mod_SOURCES): New variable.
45146 (ata_mod_CFLAGS): Likewise.
45147 (ata_mod_LDFLAGS): Likewise.
45148
45149 * disk/ata.c: New file.
45150
45151 * include/grub/disk.h (grub_disk_dev_id): Add
45152 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45153
7f66d0e0 451542007-10-31 Robert Millan <rmh@aybabtu.com>
45155
45156 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45157 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45158
45159 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45160 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45161
45162 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45163 `<grub/types.h>'.
45164
45165 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45166
5cd7dd46 451672007-10-27 Robert Millan <rmh@aybabtu.com>
45168
3236ca65 45169 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45170
2ebfc90f 451712007-10-22 Robert Millan <rmh@aybabtu.com>
45172
45173 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45174 `"../realmode.S"'.
45175 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45176
73fcb0f3 451772007-10-22 Robert Millan <rmh@aybabtu.com>
45178
45179 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45180 (pkgdata_MODULES): Add `biosdisk.mod'.
45181 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45182 variables.
45183
45184 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45185 (grub_biosdisk_init): Replace with ...
45186 (GRUB_MOD_INIT(biosdisk)): ... this.
45187 (grub_biosdisk_fini): Replace with ...
45188 (GRUB_MOD_FINI(biosdisk)): ... this.
45189
45190 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45191 (grub_machine_init): Remove call to grub_biosdisk_init().
45192 (grub_machine_fini): Remove call to grub_machine_fini().
45193
45194 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45195
3381d274 451962007-10-22 Robert Millan <rmh@aybabtu.com>
45197
45198 * include/grub/time.h: New file.
45199 * include/grub/i386/time.h: Likewise.
45200 * include/grub/powerpc/time.h: Likewise.
45201 * include/grub/sparc64/time.h: Likewise.
45202
45203 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45204 instances to ...
45205 (KERNEL_MACHINE_TIME_HEADER): ... this.
45206 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45207 instances to ...
45208 (KERNEL_MACHINE_TIME_HEADER): ... this.
45209 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45210 instances to ...
45211 (KERNEL_MACHINE_TIME_HEADER): ... this.
45212
45213 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45214 (grub_millisleep): New function.
45215 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45216 (grub_millisleep): New function.
45217 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45218 Remove `grub/machine/time.h' include.
45219 (grub_millisleep): New function.
45220 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45221 Remove `grub/machine/time.h' include.
45222 (grub_millisleep): New function.
45223
45224 * include/grub/misc.h (grub_div_roundup): New function.
45225
45226 * kern/misc.c: Include `<grub/time.h>'.
45227 (grub_millisleep_generic): New function.
45228
45229 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45230 Add `time.h'.
45231 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45232 Add `time.h'.
45233 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45234 `machine/time.h'. Add `time.h'.
45235 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45236
a39a0312 452372007-10-21 Robert Millan <rmh@aybabtu.com>
45238
45239 * include/grub/misc.h (grub_max): New function.
45240
2aad70e2 452412007-10-21 Robert Millan <rmh@aybabtu.com>
45242
45243 * util/misc.c (grub_util_info): Call fflush() before returning.
45244
54b71c4b 452452007-10-20 Robert Millan <rmh@aybabtu.com>
45246
45247 * genmk.rb (Image): Copy `extra_flags' from here ...
45248 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45249
45250 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45251 to `argc' and `args' arguments.
45252
a979f513 452532007-10-17 Robert Millan <rmh@aybabtu.com>
45254
45255 * kern/i386/loader.S: New file.
45256
45257 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45258 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45259 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45260 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45261 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45262 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45263 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45264 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45265 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45266 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45267 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45268 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45269 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45270 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45271
45272 * kern/i386/realmode.S: New file.
45273
45274 * kern/i386/pc/startup.S (protstack): Moved from here ...
45275 * kern/i386/realmode.S (protstack)... to here.
45276 * kern/i386/pc/startup.S (gdt): Moved from here ...
45277 * kern/i386/realmode.S (gdt)... to here.
45278 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45279 * kern/i386/realmode.S (prot_to_real)... to here.
45280
45281 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45282 `kern/i386/realmode.S'.
45283
825fc8fd 452842007-10-17 Robert Millan <rmh@aybabtu.com>
45285
45286 * include/grub/i386/loader.h: New file.
45287
45288 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45289 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45290 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45291 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45292 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45293 * include/grub/i386/loader.h (grub_linux_prot_size)
45294 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45295 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45296 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45297 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45298
45299 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45300
e179b2f4 453012007-10-15 Robert Millan <rmh@aybabtu.com>
45302
45303 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45304 filesystem when dev->disk is unset.
45305 Do probe for filesystem even when dev->disk->has_partitions is set.
45306 In case a filesystem is found, always report it.
45307 In case it isn't, if dev->disk->has_partitions is set, report that
45308 a partition table was found instead of reporting that no filesystem
45309 could be identified.
45310
5db82af6 453112007-10-12 Robert Millan <rmh@aybabtu.com>
45312
45313 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45314 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45315
68f6ac74 45316 * include/grub/types.h (grub_host_to_target16): New macro.
45317 (grub_host_to_target32): Likewise.
45318 (grub_host_to_target64): Likewise.
45319 (grub_target_to_host16): Likewise.
45320 (grub_target_to_host32): Likewise.
45321 (grub_target_to_host64): Likewise.
5db82af6 45322
45323 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45324 Renamed from to ...
45325 (GRUB_MOD_ALIGN): ...this. Update all users.
45326
68f6ac74 45327 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45328 grub_host_to_target32.
45329 Replace grub_be_to_cpu32 with grub_target_to_host32.
45330 (load_modules): Likewise.
45331 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45332 Replace grub_be_to_cpu32 with grub_target_to_host32.
45333 Replace grub_cpu_to_be16 with grub_host_to_target16.
45334 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45335
3cf497cc 453362007-10-12 Robert Millan <rmh@aybabtu.com>
45337
45338 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45339 * util/elf/grub-mkimage.c: ... here.
45340
45341 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45342 `util/powerpc/ieee1275/grub-mkimage.c'.
45343
c8cc3692 453442007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45345
c8cc3692 45346 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45347 and make it easier to figure out.
45348 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45349 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45350 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45351 leave us with less than HEAP_MIN_SIZE total heap.
45352 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45353
5c58b791 453542007-10-03 Robert Millan <rmh@aybabtu.com>
45355
45356 * include/grub/i386/io.h: New file.
45357 * commands/i386/pc/play.c (inb): Removed.
45358 (outb): Removed.
45359 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45360 with grub_outb().
afcd2ef8 45361 * term/i386/pc/serial.c (inb): Removed.
45362 (outb): Removed.
45363 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45364 with grub_outb().
45365 * term/i386/pc/vga.c (inb): Removed.
45366 (outb): Removed.
45367 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45368 with grub_outb().
5c58b791 45369
1a477ed6 453702007-10-02 Robert Millan <rmh@aybabtu.com>
45371
45372 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45373 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45374 Reported by Marcin Kurek.
45375
6b5d80fa 453762007-09-07 Robert Millan <rmh@aybabtu.com>
45377
45378 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45379 SmartFirmware version updates (as released by Sven Luther), and avoid
45380 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45381 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45382 known broken.
45383
5618afbf 453842007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45385
45386 From Hitoshi Ozeki:
45387 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45388 when merging two regions.
45389
6139dcd9 453902007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45391
508e39ee 45392 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45393 * normal/completion.c (grub_normal_do_completion): Likewise.
45394 Reported by Hitoshi Ozeki.
45395
453962007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45397
6139dcd9 45398 Do not use devices at boot in chainloading.
f19dbdb7 45399
6139dcd9 45400 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45401 (boot_part_addr): Likewise.
45402 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45403 with BOOT_DRIVE and BOOT_PART_ADDR.
45404 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45405 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45406
38da6516 454072007-08-29 Robert Millan <rmh@aybabtu.com>
45408
45409 Patch from Simon Peter <dn.tlp@gmx.net>:
45410 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45411 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45412 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45413 util/i386/pc/grub-setup.c_DEPENDENCIES.
45414 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45415 util/grub-probe.c_DEPENDENCIES.
45416 * conf/powerpc-ieee1275.rmk: Likewise.
45417
29d0928c 454182007-08-28 Robert Millan <rmh@aybabtu.com>
45419
45420 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45421 to tell grub-mkdevicemap how to name devices.
45422 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45423 feature).
45424
45425 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45426 util/i386/get_disk_name.c.
45427 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45428 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45429 util/ieee1275/get_disk_name.c.
45430
45431 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45432
45433 * DISTLIST: Add util/i386/get_disk_name.c and
45434 util/ieee1275/get_disk_name.c.
45435
45436 * util/grub-mkdevicemap.c: Replace device naming logic with
45437 grub_util_get_disk_name() calls.
45438
5a0d3cca 454392007-08-20 Robert Millan <rmh@aybabtu.com>
45440
45441 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45442 (so that it works for both plural and singular quantities).
45443
8b72db2f 454442007-08-05 Robert Millan <rmh@aybabtu.com>
45445
45446 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45447 so that [xz] isn't taken into account when determining order.
45448
352466bf 454492007-08-02 Marco Gerards <marco@gnu.org>
45450
45451 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45452 `include/multiboot2.h', `include/grub/elfload.h',
45453 `include/multiboot.h', `include/grub/multiboot.h',
45454 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45455 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45456 `kern/elf.c', `loader/multiboot_loader.c',
45457 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45458 `loader/i386/pc/multiboot2.c',
45459 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45460 `util/i386/pc/grub-mkrescue.in'. Remove
45461 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45462 `include/grub/i386/pc/util/biosdisk.h' and
45463 `include/grub/powerpc/ieee1275/multiboot.h'.
45464
8f096014 454652007-08-02 Bean <bean123ch@gmail.com>
45466
45467 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45468 (ntfs_mod_SOURCES): New variable.
45469 (ntfs_mod_CFLAGS): Likewise.
45470 (ntfs_mod_LDFLAGS): Likewise.
45471
45472 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45473 (grub_probe_SOURCES): Likewise.
45474 (grub_emu_SOURCES): Likewise.
45475
45476 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45477 (grub_emu_SOURCES): Likewise.
45478
45479 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45480 (grub_emu_SOURCES): Likewise.
f19dbdb7 45481
8f096014 45482 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45483
45484 * fs/ntfs.c: New file.
45485
9959f7db 454862007-08-02 Bean <bean123ch@gmail.com>
45487
45488 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45489
45490 * file.h (grub_file): Likewise.
45491
45492 * fshelp.h (grub_fshelp_read_file): Likewise.
45493
45494 * util/i386/pc/grub-setup.c (setup): Likewise.
45495 (save_first_sector): Likewise.
45496 (save_blocklists): Likewise.
f19dbdb7 45497
9959f7db 45498 * fs/affs.c (grub_affs_read_file): Likewise.
45499
45500 * fs/ext2.c (grub_ext2_read_file): Likewise.
45501
45502 * fs/fat.c (grub_fat_read_data): Likewise.
45503
45504 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45505
45506 * fs/hfs.c (grub_hfs_read_file): Likewise.
45507
45508 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45509
45510 * fs/jfs.c (grub_jfs_read_file): Likewise.
45511
45512 * fs/minix.c (grub_minix_read_file): Likewise.
45513
45514 * fs/sfs.c (grub_sfs_read_file): Likewise.
45515
45516 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45517
9959f7db 45518 * fs/xfs.c (grub_xfs_read_file): Likewise.
45519
45520 * command/blocklist.c (read_blocklist): Likewise.
45521 (print_blocklist): Likewise.
45522
0a203f83 455232007-08-02 Marco Gerards <marco@gnu.org>
45524
45525 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45526 `util/hostfs.c'.
45527
45528 * disk/host.c: New file.
45529
45530 * util/hostfs.c: Likewise.
45531
45532 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45533 return `GRUB_ERR_BAD_FS'.
45534 * fs/sfs.c (grub_sfs_mount): Likewise.
45535 * fs/xfs.c (grub_xfs_mount): Likewise.
45536
45537 * include/grub/disk.h (enum grub_disk_dev_id): Add
45538 `GRUB_DISK_DEVICE_HOST_ID'.
45539
45540 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45541
e5dfe777 455422007-07-24 Jerone Young <jerone@gmail.com>
45543
f19dbdb7 45544 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45545 modules for compilation.
45546 * conf/powerpc-ieee1275.rmk: Likewise.
45547
45548 * include/multiboot.h: Move multiboot definitions to one file. Rename
45549 many definitions to not get grub specific.
45550 * include/multiboot2.h: Create header with multiboot 2 definitions.
45551 * include/grub/multiboot.h: Header for grub specific function
45552 prototypes and definitions.
45553 * include/grub/multiboot2.h: Likewise.
45554 * include/grub/multiboot_loader.h: Likewise.
45555 * include/grub/i386/pc/multiboot.h: Removed.
45556 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45557
45558 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45559 and 2 to allow for one multiboot and module commands.
45560 * loader/multiboot2.c: Add multiboot2 functionality.
45561 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45562 and definition names.
45563 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45564 2 functions.
45565 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45566 ieee1275 specific multiboot2 code.
45567
45568 * kern/i386/pc/startup.S: Change headers and definition names for
45569 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45570
daf0f0ba 455712007-07-22 Robert Millan <rmh@aybabtu.com>
45572
45573 * geninitheader.sh: Process file specified in first parameter rather
45574 than hardcoding grub_modules_init.lst.
fe6b695a 45575 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45576 than hardcoding grub_modules_init.h.
45577
45578 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45579 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45580 grub_probe_init.[ch] and grub_setup_init.[ch].
45581
45582 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45583 grub_modules_init.h with grub_emu_init.h.
45584 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45585 grub_probe_init.[ch] files.
45586 * conf/i386-efi.rmk: Likewise.
45587 * conf/i386-pc.rmk: Likewise.
45588 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45589 grub_setup_init.[ch] files.
45590
45591 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45592 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45593 to initialize modules rather than a list of hardcoded functions.
45594 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45595 grub_init_all() to initialize modules rather than a list of hardcoded
45596 functions.
45597
54cdc1cc 455982007-07-22 Robert Millan <rmh@aybabtu.com>
45599
45600 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45601 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45602
ad0686cc 456032007-07-22 Robert Millan <rmh@aybabtu.com>
45604
45605 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45606 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45607 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45608 flag when running on SmartFirmware.
45609 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45610 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45611 was set.
45612
45613 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45614 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45615 rather than decreasing it.
45616
45617 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45618 there's not enough space to do it, fail in the same way as when it
45619 can't be done because there are no partitions.
45620
45621 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45622 when nvsetenv failed.
45623
969c02ec 456242007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45625
45626 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45627 because this rule is automatically generated.
45628 (grub-mkrescue): Removed for the same reason as above.
45629
5a79f472 456302007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45631
45632 Migrate to GNU General Public License Version 3.
f19dbdb7 45633
5a79f472 45634 * COPYING: Replaced with the plain text version of GPLv3.
45635
45636 * config.guess: Updated from gnulib.
45637 * config.sub: Likewise.
45638
45639 * geninit.sh: Output a GPLv3 copyright notice.
45640 * geninitheader.sh: Likewise.
45641 * genmodsrc.sh: Likewise.
45642 * gensymlist.sh.in: Likewise.
45643
45644 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45645 * boot/i386/pc/diskboot.S: Likewise.
45646 * boot/i386/pc/pxeboot.S: Likewise.
45647 * commands/blocklist.c: Likewise.
45648 * commands/boot.c: Likewise.
45649 * commands/cat.c: Likewise.
45650 * commands/cmp.c: Likewise.
45651 * commands/configfile.c: Likewise.
45652 * commands/echo.c: Likewise.
45653 * commands/help.c: Likewise.
45654 * commands/ls.c: Likewise.
45655 * commands/search.c: Likewise.
45656 * commands/terminal.c: Likewise.
45657 * commands/test.c: Likewise.
45658 * commands/videotest.c: Likewise.
45659 * commands/i386/cpuid.c: Likewise.
45660 * commands/i386/pc/halt.c: Likewise.
45661 * commands/i386/pc/play.c: Likewise.
45662 * commands/i386/pc/reboot.c: Likewise.
45663 * commands/i386/pc/vbeinfo.c: Likewise.
45664 * commands/i386/pc/vbetest.c: Likewise.
45665 * commands/ieee1275/halt.c: Likewise.
45666 * commands/ieee1275/reboot.c: Likewise.
45667 * commands/ieee1275/suspend.c: Likewise.
45668 * disk/loopback.c: Likewise.
45669 * disk/lvm.c: Likewise.
45670 * disk/raid.c: Likewise.
45671 * disk/efi/efidisk.c: Likewise.
45672 * disk/i386/pc/biosdisk.c: Likewise.
45673 * disk/ieee1275/ofdisk.c: Likewise.
45674 * font/manager.c: Likewise.
45675 * fs/affs.c: Likewise.
45676 * fs/ext2.c: Likewise.
45677 * fs/fat.c: Likewise.
45678 * fs/fshelp.c: Likewise.
45679 * fs/hfs.c: Likewise.
45680 * fs/hfsplus.c: Likewise.
45681 * fs/iso9660.c: Likewise.
45682 * fs/jfs.c: Likewise.
45683 * fs/minix.c: Likewise.
45684 * fs/sfs.c: Likewise.
45685 * fs/ufs.c: Likewise.
45686 * fs/xfs.c: Likewise.
45687 * hello/hello.c: Likewise.
45688 * include/grub/acorn_filecore.h: Likewise.
45689 * include/grub/arg.h: Likewise.
45690 * include/grub/bitmap.h: Likewise.
45691 * include/grub/boot.h: Likewise.
45692 * include/grub/cache.h: Likewise.
45693 * include/grub/device.h: Likewise.
45694 * include/grub/disk.h: Likewise.
45695 * include/grub/dl.h: Likewise.
45696 * include/grub/elfload.h: Likewise.
45697 * include/grub/env.h: Likewise.
45698 * include/grub/err.h: Likewise.
45699 * include/grub/file.h: Likewise.
45700 * include/grub/font.h: Likewise.
45701 * include/grub/fs.h: Likewise.
45702 * include/grub/fshelp.h: Likewise.
45703 * include/grub/gzio.h: Likewise.
45704 * include/grub/hfs.h: Likewise.
45705 * include/grub/kernel.h: Likewise.
45706 * include/grub/loader.h: Likewise.
45707 * include/grub/lvm.h: Likewise.
45708 * include/grub/misc.h: Likewise.
45709 * include/grub/mm.h: Likewise.
45710 * include/grub/net.h: Likewise.
45711 * include/grub/normal.h: Likewise.
45712 * include/grub/parser.h: Likewise.
45713 * include/grub/partition.h: Likewise.
45714 * include/grub/pc_partition.h: Likewise.
45715 * include/grub/raid.h: Likewise.
45716 * include/grub/rescue.h: Likewise.
45717 * include/grub/script.h: Likewise.
45718 * include/grub/setjmp.h: Likewise.
45719 * include/grub/symbol.h: Likewise.
45720 * include/grub/term.h: Likewise.
45721 * include/grub/terminfo.h: Likewise.
45722 * include/grub/tparm.h: Likewise.
45723 * include/grub/types.h: Likewise.
45724 * include/grub/video.h: Likewise.
45725 * include/grub/efi/api.h: Likewise.
45726 * include/grub/efi/chainloader.h: Likewise.
45727 * include/grub/efi/console.h: Likewise.
45728 * include/grub/efi/console_control.h: Likewise.
45729 * include/grub/efi/disk.h: Likewise.
45730 * include/grub/efi/efi.h: Likewise.
45731 * include/grub/efi/pe32.h: Likewise.
45732 * include/grub/efi/time.h: Likewise.
45733 * include/grub/i386/linux.h: Likewise.
45734 * include/grub/i386/setjmp.h: Likewise.
45735 * include/grub/i386/types.h: Likewise.
45736 * include/grub/i386/efi/kernel.h: Likewise.
45737 * include/grub/i386/efi/loader.h: Likewise.
45738 * include/grub/i386/efi/time.h: Likewise.
45739 * include/grub/i386/pc/biosdisk.h: Likewise.
45740 * include/grub/i386/pc/boot.h: Likewise.
45741 * include/grub/i386/pc/chainloader.h: Likewise.
45742 * include/grub/i386/pc/console.h: Likewise.
45743 * include/grub/i386/pc/init.h: Likewise.
45744 * include/grub/i386/pc/kernel.h: Likewise.
45745 * include/grub/i386/pc/loader.h: Likewise.
45746 * include/grub/i386/pc/memory.h: Likewise.
45747 * include/grub/i386/pc/multiboot.h: Likewise.
45748 * include/grub/i386/pc/serial.h: Likewise.
45749 * include/grub/i386/pc/time.h: Likewise.
45750 * include/grub/i386/pc/vbe.h: Likewise.
45751 * include/grub/i386/pc/vbeblit.h: Likewise.
45752 * include/grub/i386/pc/vbefill.h: Likewise.
45753 * include/grub/i386/pc/vbeutil.h: Likewise.
45754 * include/grub/i386/pc/vga.h: Likewise.
45755 * include/grub/ieee1275/ieee1275.h: Likewise.
45756 * include/grub/ieee1275/ofdisk.h: Likewise.
45757 * include/grub/powerpc/libgcc.h: Likewise.
45758 * include/grub/powerpc/setjmp.h: Likewise.
45759 * include/grub/powerpc/types.h: Likewise.
45760 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45761 * include/grub/powerpc/ieee1275/console.h: Likewise.
45762 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45763 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45764 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45765 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45766 * include/grub/powerpc/ieee1275/time.h: Likewise.
45767 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45768 * include/grub/sparc64/libgcc.h: Likewise.
45769 * include/grub/sparc64/setjmp.h: Likewise.
45770 * include/grub/sparc64/types.h: Likewise.
45771 * include/grub/sparc64/ieee1275/console.h: Likewise.
45772 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45773 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45774 * include/grub/sparc64/ieee1275/time.h: Likewise.
45775 * include/grub/util/biosdisk.h: Likewise.
45776 * include/grub/util/getroot.h: Likewise.
45777 * include/grub/util/lvm.h: Likewise.
45778 * include/grub/util/misc.h: Likewise.
45779 * include/grub/util/raid.h: Likewise.
45780 * include/grub/util/resolve.h: Likewise.
45781 * io/gzio.c: Likewise.
45782 * kern/device.c: Likewise.
45783 * kern/disk.c: Likewise.
45784 * kern/dl.c: Likewise.
45785 * kern/elf.c: Likewise.
45786 * kern/env.c: Likewise.
45787 * kern/err.c: Likewise.
45788 * kern/file.c: Likewise.
45789 * kern/fs.c: Likewise.
45790 * kern/loader.c: Likewise.
45791 * kern/main.c: Likewise.
45792 * kern/misc.c: Likewise.
45793 * kern/mm.c: Likewise.
45794 * kern/parser.c: Likewise.
45795 * kern/partition.c: Likewise.
45796 * kern/rescue.c: Likewise.
45797 * kern/term.c: Likewise.
45798 * kern/efi/efi.c: Likewise.
45799 * kern/efi/init.c: Likewise.
45800 * kern/efi/mm.c: Likewise.
45801 * kern/i386/dl.c: Likewise.
45802 * kern/i386/efi/init.c: Likewise.
45803 * kern/i386/efi/startup.S: Likewise.
45804 * kern/i386/pc/init.c: Likewise.
45805 * kern/i386/pc/lzo1x.S: Likewise.
45806 * kern/i386/pc/startup.S: Likewise.
45807 * kern/ieee1275/ieee1275.c: Likewise.
45808 * kern/powerpc/cache.S: Likewise.
45809 * kern/powerpc/dl.c: Likewise.
45810 * kern/powerpc/ieee1275/cmain.c: Likewise.
45811 * kern/powerpc/ieee1275/crt0.S: Likewise.
45812 * kern/powerpc/ieee1275/init.c: Likewise.
45813 * kern/powerpc/ieee1275/openfw.c: Likewise.
45814 * kern/sparc64/cache.S: Likewise.
45815 * kern/sparc64/dl.c: Likewise.
45816 * kern/sparc64/ieee1275/init.c: Likewise.
45817 * kern/sparc64/ieee1275/openfw.c: Likewise.
45818 * loader/efi/chainloader.c: Likewise.
45819 * loader/efi/chainloader_normal.c: Likewise.
45820 * loader/i386/efi/linux.c: Likewise.
45821 * loader/i386/efi/linux_normal.c: Likewise.
45822 * loader/i386/pc/chainloader.c: Likewise.
45823 * loader/i386/pc/chainloader_normal.c: Likewise.
45824 * loader/i386/pc/linux.c: Likewise.
45825 * loader/i386/pc/linux_normal.c: Likewise.
45826 * loader/i386/pc/multiboot.c: Likewise.
45827 * loader/i386/pc/multiboot_normal.c: Likewise.
45828 * loader/powerpc/ieee1275/linux.c: Likewise.
45829 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45830 * normal/arg.c: Likewise.
45831 * normal/cmdline.c: Likewise.
45832 * normal/command.c: Likewise.
45833 * normal/completion.c: Likewise.
45834 * normal/execute.c: Likewise.
45835 * normal/function.c: Likewise.
45836 * normal/lexer.c: Likewise.
45837 * normal/main.c: Likewise.
45838 * normal/menu.c: Likewise.
45839 * normal/menu_entry.c: Likewise.
45840 * normal/misc.c: Likewise.
45841 * normal/parser.y: Likewise.
45842 * normal/script.c: Likewise.
45843 * normal/i386/setjmp.S: Likewise.
45844 * normal/powerpc/setjmp.S: Likewise.
45845 * normal/sparc64/setjmp.S: Likewise.
45846 * partmap/acorn.c: Likewise.
45847 * partmap/amiga.c: Likewise.
45848 * partmap/apple.c: Likewise.
45849 * partmap/gpt.c: Likewise.
45850 * partmap/pc.c: Likewise.
45851 * partmap/sun.c: Likewise.
45852 * term/gfxterm.c: Likewise.
45853 * term/terminfo.c: Likewise.
45854 * term/efi/console.c: Likewise.
45855 * term/i386/pc/console.c: Likewise.
45856 * term/i386/pc/serial.c: Likewise.
45857 * term/i386/pc/vesafb.c: Likewise.
45858 * term/i386/pc/vga.c: Likewise.
45859 * term/ieee1275/ofconsole.c: Likewise.
45860 * util/biosdisk.c: Likewise.
45861 * util/console.c: Likewise.
45862 * util/genmoddep.c: Likewise.
45863 * util/getroot.c: Likewise.
45864 * util/grub-emu.c: Likewise.
45865 * util/grub-mkdevicemap.c: Likewise.
45866 * util/grub-probe.c: Likewise.
45867 * util/lvm.c: Likewise.
45868 * util/misc.c: Likewise.
45869 * util/raid.c: Likewise.
45870 * util/resolve.c: Likewise.
45871 * util/update-grub.in: Likewise.
45872 * util/update-grub_lib.in: Likewise.
45873 * util/grub.d/00_header.in: Likewise.
45874 * util/grub.d/10_hurd.in: Likewise.
45875 * util/grub.d/10_linux.in: Likewise.
45876 * util/i386/efi/grub-install.in: Likewise.
45877 * util/i386/efi/grub-mkimage.c: Likewise.
45878 * util/i386/pc/grub-install.in: Likewise.
45879 * util/i386/pc/grub-mkimage.c: Likewise.
45880 * util/i386/pc/grub-mkrescue.in: Likewise.
45881 * util/i386/pc/grub-setup.c: Likewise.
45882 * util/i386/pc/misc.c: Likewise.
45883 * util/powerpc/ieee1275/grub-install.in: Likewise.
45884 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45885 * util/powerpc/ieee1275/misc.c: Likewise.
45886 * video/bitmap.c: Likewise.
45887 * video/video.c: Likewise.
45888 * video/i386/pc/vbe.c: Likewise.
45889 * video/i386/pc/vbeblit.c: Likewise.
45890 * video/i386/pc/vbefill.c: Likewise.
45891 * video/i386/pc/vbeutil.c: Likewise.
45892 * video/readers/tga.c: Likewise.
45893
3572d015 458942007-07-02 Robert Millan <rmh@aybabtu.com>
45895
45896 * conf/i386-efi.rmk: Replace obsolete reference to
45897 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45898 with util/getroot.c.
45899 * conf/powerpc-ieee1275.rmk: Likewise.
45900 * conf/sparc64-ieee1275.rmk: Likewise.
45901
45902 * util/grub-emu.c (main): Fix unchecked pointer handling.
45903
2c2a681b 459042007-07-02 Robert Millan <rmh@aybabtu.com>
45905
45906 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45907 invocation to fail, in order to support partition-less media.
45908
45909 * util/i386/pc/grub-install.in: Likewise.
45910
45911 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45912 which fs or partmap modules are needed (akin to its sister scripts).
45913
45914 Also use grub-probe to get rid of unportable /proc/mounts check.
45915
45916 Print the same informational message that the other scripts do, before
fe6b695a 45917 exiting.
2c2a681b 45918
6193defe 459192007-06-23 Robert Millan <rmh@aybabtu.com>
45920
fe6b695a 45921 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 45922 a font file can be found and, if so, echo the GRUB path to it.
45923
45924 * util/update-grub.in: Handle multiple terminals depending on user
45925 input, platform availability and font file presence. Propagate
45926 variables of our findings to /etc/grub.d/ children.
45927
45928 * util/grub.d/00_header.in: Handle multiple terminals, based on
45929 environment setup by update-grub.
45930
eface1dc 459312007-06-23 Robert Millan <rmh@aybabtu.com>
45932
ba50d28f 45933 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 45934
bf697e28 459352007-06-21 Robert Millan <rmh@aybabtu.com>
45936
45937 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
45938 indicate end of data section in kernel image.
45939 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
45940 GRUB_KERNEL_MACHINE_DATA_END.
45941
45942 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
45943 space for it.
45944 * kern/i386/efi/startup.S: Likewise.
45945
45946 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
45947 during image generation. Implement --prefix option to override this
45948 patch.
45949 * util/i386/efi/grub-mkimage.c: Likewise.
45950
45951 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
45952 code to make path relative to its root into a separate function.
45953
45954 * util/i386/pc/grub-install.in: Use newly provided
45955 make_system_path_relative_to_its_root() to convert ${grubdir}, then
45956 pass the result to grub-install --prefix.
45957
baa574b4 459582007-06-13 Robert Millan <rmh@aybabtu.com>
45959
45960 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
45961 DEFAULT_DEVICE_MAP.
45962 * util/grub-emu.c: Use above definitions from misc.h instead of
45963 defining them.
45964 * util/grub-mkdevicemap.c: Likewise.
45965 * util/i386/pc/grub-setup.c: Likewise.
45966 * util/grub-probe.c: Likewise.
45967 (probe): Abort with grub_util_error() when either
45968 grub_guess_root_device or grub_util_get_grub_dev fails.
45969
0215dcbf 459702007-06-12 Robert Millan <rmh@aybabtu.com>
45971
45972 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
45973 "pager" assignment.
45974 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
45975 "pcdata".
45976 * util/grub-probe.c (probe): Likewise for "drive_name".
45977
8af2ab7b 459782007-06-11 Robert Millan <rmh@aybabtu.com>
45979
45980 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
45981 not just the cdrom one.
45982
59d31694 459832007-06-11 Robert Millan <rmh@aybabtu.com>
45984
45985 * util/i386/pc/grub-mkrescue.in: Add "set -e".
45986 Add --pkglibdir=DIR option to override pkglibdir.
45987 Mention --image-type=TYPE in help output.
45988 Fix --grub-mkimage (it was a no-op).
fe6b695a 45989 Abort gracefully when no parameter is given.
59d31694 45990
7ee367e4 459912007-06-11 Robert Millan <rmh@aybabtu.com>
45992
45993 * util/i386/pc/grub-mkrescue.in: New file.
45994 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
45995 * Makefile.in: Handle bin_SCRIPTS.
45996
29b0ed46 459972007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
45998
45999 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46000 list of video modes.
46001
c0f90770 460022007-06-06 Robert Millan <rmh@aybabtu.com>
46003
46004 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46005 file doesn't exist, or if it is in a filesystem grub can't read.
46006
46007 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46008 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46009 header comment to fit in 80 columns when the variables are resolved.
46010
46011 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46012 could be identified by update-grub. Remove redundant check for
fe6b695a 46013 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 46014 handles that).
46015
fb36dc26 460162007-06-04 Robert Millan <rmh@aybabtu.com>
46017
46018 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46019
46020 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46021
46022 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46023
0c68c93e 460242007-06-04 Robert Millan <rmh@aybabtu.com>
46025
46026 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46027
46028 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46029 grub_apple_partition_map_fini.
46030
46031 * util/biosdisk.c
46032 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46033 to access >2 TiB disks).
46034
46035 Print disk->total_sectors with %llu instead of %lu, since this
46036 variable is always 64-bit (prevents wrong disk size from being displayed
46037 on either >2 TiB disk or big-endian CPU).
46038
46039 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46040 into a generic case that supports all (sane) partition maps.
46041
46042 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46043 breaks big-endian.
46044
46045 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46046 and grub_apple_partition_map_fini() after that.
46047
0f23eb74 460482007-06-01 Robert Millan <rmh@aybabtu.com>
46049
46050 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46051
46052 * util/grub.d/00_header.in: Only enable gfxterm when
46053 convert_system_path_to_grub_path() succeeds.
46054
42c71976 460552007-05-20 Robert Millan <rmh@aybabtu.com>
46056
46057 * util/update-grub_lib.in: New file.
46058 * DISTLIST: Add update-grub_lib.in.
46059 * conf/common.rmk: Generate update-grub_lib and install it in
46060 $(lib_DATA).
46061 * Makefile.in: Add install routine for $(lib_DATA).
46062
46063 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46064 function provided by update-grub_lib to support arbitrary paths of
46065 unifont.pff.
46066 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46067 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46068
5beb2291 460692007-05-19 Robert Millan <rmh@aybabtu.com>
46070
46071 * commands/i386/cpuid.c: New module.
46072 * DISTLIST: Add it.
46073 * conf/i386-efi.rmk: Enable cpuid.mod.
46074 * conf/i386-pc.rmk: Likewise.
46075
7262eca1 460762007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46077
46078 * kern/disk.c (grub_disk_read): Check return value of
46079 grub_realloc().
46080
260ba823 460812007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46082
46083 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46084 arrays.
46085 * disk/raid.c (grub_raid_open): Likewise.
46086
1ecb6cf2 460872007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46088
46089 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46090 stack instead of on the heap.
46091
46092 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46093 before doing a read on it.
46094
46095 * configure.ac: Only use -fno-stack-protector for the target
46096 environment.
f19dbdb7 46097
21c8cbb1 460982007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46099
46100 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46101 __attribute_ ((unused)) to mode_type argument.
46102
46103 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46104
21c8cbb1 46105 * kern/misc.c (memcmp): Fix prototype.
46106
46107 * include/grub/partition.h [GRUB_UTIL]
46108 (grub_gpt_partition_map_init): Add prototype.
46109 (grub_gpt_partition_map_fini): Likewise.
46110
46111 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46112 at the right place.
46113
46114 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46115 (grub_fat_read_data): Likewise.
46116 (grub_fat_find_dir): Likewise.
46117
46118 * font/manager.c (find_glyph): Make table a const.
46119 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46120
849d55d3 461212007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46122
46123 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46124 code, first search for device in /dev/mapper, then in /dev.
46125 (grub_util_get_grub_dev): New function.
46126 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46127 prototype.
46128 * util/grub-probe.c (probe): Remove check for RAID, call
46129 grub_util_get_grub_dev() instead of
46130 grub_util_biosdisk_get_grub_dev().
46131 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46132 grub_util_biosdisk_get_grub_dev().
46133 * util/i386/pc/grub-setup.c (main): Likewise.
46134
8fff7c2f 461352007-05-16 Robert Millan <rmh@aybabtu.com>
46136
46137 * DISTLIST: Update for the latest changes.
46138 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46139 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46140 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46141 grub/util/biosdisk.h.
46142 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46143 grub/util/biosdisk.h.
46144
48e12b52 461452007-05-16 Robert Millan <rmh@aybabtu.com>
46146
46147 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46148
46b9d128 461492007-05-16 Robert Millan <rmh@aybabtu.com>
46150
46151 * util/i386/efi/grub-install.in: New.
46152 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46153 newly added grub-install.
46154 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46155 include.
46156 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46157 grub/util/biosdisk.h.
46158 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46159 grub/util/biosdisk.h.
46160
2d1a40a9 461612007-05-16 Robert Millan <rmh@aybabtu.com>
46162
46163 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46164 * include/grub/util/biosdisk.h: ... here.
46165 * util/i386/pc/biosdisk.c: Moved to ...
46166 * util/biosdisk.c: ... here.
46167 * util/i386/pc/getroot.c: Moved to ...
46168 * util/getroot.c: ... here.
46169 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46170 * util/grub-mkdevicemap.c: ... here.
46171 * util/i386/pc/grub-probe.c: Moved to ...
46172 * util/grub-probe.c: ... here.
46173
9e26e3bc 461742007-05-15 Robert Millan <rmh@aybabtu.com>
46175
46176 * util/update-grub.in: Remove duplicated line in grub.cfg header
46177 message.
46178
57f96397 461792007-05-13 Robert Millan <rmh@aybabtu.com>
46180
46181 * util/update-grub.in: Fix a few assumptions about the devices holding
46182 /, /boot and /boot/grub being the same.
46183 * util/grub.d/00_header.in: Likewise.
46184 * util/grub.d/10_hurd.in: Likewise.
46185 * util/grub.d/10_linux.in: Likewise.
46186
46187 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46188 patterns. Use that to define the `.old' suffix as older than `'.
46189
46190 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46191
46192 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46193 the grub.cfg header message.
46194
2e610d62 461952007-05-11 Robert Millan <rmh@aybabtu.com>
46196
46197 * util/update-grub.in: Create device.map if it doesn't already exist,
46198 before attempting to run grub-probe.
46199 Check for grub-probe and grub-mkdevicemap with the same code
46200 grub-install is using.
46201 Remove test mode.
46202
3f6a10ef 462032007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46204
46205 * Makefile.in: Add the datarootdir autoconf variable.
46206
02e7b75e 462072007-05-09 Robert Millan <rmh@aybabtu.com>
46208
46209 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46210 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46211
75f396cc 462122007-05-07 Robert Millan <rmh@aybabtu.com>
46213
46214 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46215 determine partition map module.
46216 * util/i386/pc/grub-install.in: Use this feature to decide which
46217 partition module to load, instead of hardcoding pc and gpt.
46218
da65cb36 462192007-05-07 Robert Millan <rmh@aybabtu.com>
46220
46221 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46222 source directory differs from build directory.
46223
b57d6a91 462242007-05-05 Robert Millan <rmh@aybabtu.com>
46225
46226 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46227 initialisation.
46228
509d00f1 462292007-05-05 Robert Millan <rmh@aybabtu.com>
46230
46231 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46232
c48f23ef 462332007-05-05 Robert Millan <rmh@aybabtu.com>
46234
46235 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46236 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46237
20b97658 462382007-05-05 Robert Millan <rmh@aybabtu.com>
46239
46240 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46241 (grub_probe_SOURCES): Likewise.
46242 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46243 GPT and initialize dos_part and bsd_part accordingly.
46244 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46245 install_bsd_part.
46246 (main): Activate gpt module for use during partition identification,
46247 and deactivate it afterwards.
46248 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46249 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46250 partition identification, and deactivate it afterwards.
46251
99123174 462522007-05-05 Robert Millan <rmh@aybabtu.com>
46253
46254 * term/i386/pc/console.c (grub_console_fini): Call
46255 grub_term_set_current() before grub_term_unregister().
46256
ebd97f6e 462572007-05-04 Robert Millan <rmh@aybabtu.com>
46258
46259 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46260 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46261 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46262 and update-grub_DATA.
46263 * conf/common.rmk: Build and install update-grub components.
46264 * conf/common.mk: Regenerate.
46265 * util/update-grub.in: New. Core of update-grub.
46266 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46267 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46268 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46269 * util/grub.d/README: New. Document grub.d directory layout.
46270
b06a264d 462712007-05-01 Robert Millan <rmh@aybabtu.com>
46272
46273 * util/grub-emu.c: Move initialization functions
46274 grub_util_biosdisk_init() and grub_init_all() before
46275 grub_util_biosdisk_get_grub_dev(), which relies on them.
46276
41f0050e 462772007-04-19 Robert Millan <rmh@aybabtu.com>
46278
46279 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46280 it is used later.
46281
04582bb3 462822007-04-18 Jerone Young <jerone@gmail.com>
46283
f19dbdb7 46284 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46285 stanza.
46286
08db4632 462872007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46288
08db4632 46289 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46290 continue on and look for device node with real device name.
46291
801b76be 462922007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46293
fe6b695a 46294 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46295 ability.
46296 * Makefile.in: Add autoconf package transformation code.
46297 * util/i386/pc/grub-install.in: Likewise.
46298 * util/powerpc/ieee1275/grub-install.in: Likewise.
46299
6795c4e1 463002007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46301
46302 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46303 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46304 (EXT2_REVISION): Likewise.
46305 (EXT2_INODE_SIZE): Likewise.
46306 (struct grub_ext2_block_group): Added a missing member
46307 "used_dirs".
46308 (grub_ext2_read_inode): Divide by the inode size in a superblock
46309 instead of 128 to obtain INODES_PER_BLOCK.
46310 Use the macro EXT2_INODE_SIZE instead of directly using
46311 SBLOCK->INODE_SIZE.
46312
d70af616 463132007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46314
46315 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46316 superblock instead of the structure size to compute an
46317 offset. This fixes the problem that GRUB could not read a
46318 filesystem when inode size is different from 128-byte.
46319
3b801603 463202007-03-05 Marco Gerards <marco@gnu.org>
46321
46322 * normal/main.c (read_config_file): When "menu" is not set, create
46323 an initial context.
46324
4785bfe4 463252007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46326
46327 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46328 (HEAP_LIMIT): New macro.
46329 (grub_claim_heap): Claim memory up to `heaplimit'.
46330
a0cbb023 463312007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46332
46333 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46334 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46335 (_start): Likewise.
46336 (grub_arch_modules_addr): Return address after `_end'.
46337 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46338 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46339 (add_segments): Calculate `_end' from phdr size and location.
46340 (ALIGN_UP): Moved to ...
46341 * include/grub/misc.h: here.
46342 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46343 New macro.
46344 (GRUB_IEEE1275_MODULE_BASE): Removed.
46345
fd7d8eba 463462007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46347
46348 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46349 loop boundary.
46350
9b09e6fc 463512007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46352
46353 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46354 All users updated.
46355 (grub_elf64_load_hook_t): Likewise.
46356 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46357 debug output.
46358
3ce27299 463592007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46360
46361 * kern/mm.c: Update copyright.
46362 (grub_mm_debug): Correct syntax error.
46363 (grub_mm_dump_free): New function.
46364 (grub_debug_free): Call `grub_free'.
46365 * include/grub/mm.h: Update copyright.
46366 (grub_mm_dump_free): Add declaration.
46367
077d5fee 463682007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46369
46370 * include/grub/ieee1275/ieee1275.h: Update copyright.
46371 * kern/powerpc/ieee1275/init.c: Likewise.
46372 * kern/powerpc/ieee1275/openfw.c: Likewise.
46373
46374 * loader/powerpc/ieee1275/linux.c: Likewise.
46375 * include/grub/elfload.h: Likewise.
46376 * kern/elf.c: Likewise.
46377 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46378 callers.
46379 (grub_elf64_load): Likewise.
46380 (grub_elf32_load_segment): Move to a nested function.
46381 (grub_elf64_load_segment): Likewise.
46382
dc946850 463832007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46384
46385 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46386 prototype.
46387 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46388 (grub_heap_len): Likewise.
46389 (HEAP_SIZE): New macro.
46390 (grub_claim_heap): New function.
46391 (grub_machine_init): Don't claim heap directly. Call
46392 `grub_claim_heap'.
46393 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46394 (grub_available_iterate): New function.
46395
baa2a121 463962007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46397
46398 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46399 * configure.ac: Use it for testing the HOST and TARGET compilers.
46400
4fe9862e 464012006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46402
46403 * Makefile.in (enable_grub_emu): New variable.
46404 * configure.ac (--enable-grub-emu): New option.
46405 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46406 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46407 * conf/i386-pc.rmk: Likewise.
46408 * conf/powerpc-ieee1275.rmk: Likewise.
46409 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46410
a8aa5762 464112006-12-12 Marco Gerards <marco@gnu.org>
46412
46413 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46414
46415 * kern/env.c (grub_env_unset): Don't free the member `value' when
46416 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46417 pointer.
46418
46419 * normal/main.c (current_menu): Removed.
46420 (free_menu): Unset the `menu' environment variable.
46421 (grub_normal_menu_addentry): Make use of the environment variable
46422 `menu', instead of using the global `current_menu'. Allocate
46423 memory for the sourcecode of this entry.
46424 (read_config_file): New argument `nested', changed all callers.
46425 Only in the case of a new context, initialize a new menu. Set the
46426 `menu' environment variable.
46427 (grub_normal_execute): Don't set and unset the environment
46428 variable `menu' here anymore. Only free the menu when leaving the
46429 context.
46430
46431 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46432 leak.
46433
957b3a3e 464342006-12-11 Marco Gerards <marco@gnu.org>
46435
46436 * normal/menu_entry.c (run): Fix off by one bug so the last line
46437 is executed. Move the loader check to outside the loop.
46438
ef875714 464392006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46440
46441 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46442
4e739985 464432006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46444
46445 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46446 the number of sectors. Reported by Andrey Shuvikov
46447 <mr_hyro@yahoo.com>.
f19dbdb7 46448
790707f2 464492006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46450
46451 * kern/disk.c (grub_disk_read): When there is a read error, always
46452 try to read only the necessary data.
f19dbdb7 46453
790707f2 46454 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46455 disk/raid.c.
46456 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46457 prototype.
46458 [GRUB_UTIL] (grub_raid_fini): Likewise.
46459 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46460 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46461 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46462 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46463 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46464 and grub_raid_fini().
f19dbdb7 46465
03e58196 464662006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46467
46468 * include/grub/types.h (__unused): Rename to UNUSED.
46469 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46470 (grub_elf64_size): Likewise.
f19dbdb7 46471
ae4f23bf 464722006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46473
46474 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46475 grub_error_push and grub_error_pop in the error-handling path.
46476 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46477 length.
46478
2166cc83 464792006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46480
46481 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46482 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46484 (kernel_elf_SOURCES): Likewise.
46485 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46486 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46487 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46488 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46489 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46490 (elf_mod_SOURCES): New variable.
46491 (elf_mod_CFLAGS): Likewise.
46492 (elf_mod_LDFLAGS): Likewise.
46493 * include/grub/types.h (__unused): New macro.
46494 * include/grub/elfload.h: New file.
46495 * kern/elf.c: Likewise.
46496 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46497 (ELF32_LOADMASK): New macro.
46498 (ELF64_LOADMASK): Likewise.
46499 (vmlinux): Removed.
46500 (grub_linux_load32): New function.
46501 (grub_linux_load64): Likewise.
46502 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46503 Use grub_elf_t instead of grub_file_t.
46504
a09d5aa5 465052006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46506
46507 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46508 `catch_result' to struct set_color_args.
46509
d976fc51 465102006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46511
46512 * normal/menu.c: Include grub/script.h.
46513 * normal/menu_entry.c: Likewise.
46514 * include/grub/normal.h: Do not include grub/script.h.
46515
67507549 465162006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46517
46518 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46519
69203a99 465202006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46521
46522 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46523 disk.
46524 (grub_disk_close): Print debug messages when closing a disk.
46525 (grub_disk_read): Print debug messages when disk read fails.
46526 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46527 filesystem type.
46528 * kern/partition.c: Include misc.h.
46529 (grub_partition_iterate): Print debug messages when detecting
46530 partition type.
46531
e2b8278c 465322006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46533
46534 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46535 is negative.
46536 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46537
97b2f2ff 465382006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46539
46540 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46541 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46542
6555d655 465432006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46544
46545 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46546 instead of sizeof(lv). Patch by Michael Guntsche.
46547
4d42b77f 465482006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46549
46550 * disk/lvm.c: Rename VGS to VG_LIST.
46551 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46552 (grub_lvm_open): Likewise.
46553 Thanks to Michael Guntsche for finding this bug.
46554
5d74d927 465552006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46556
46557 * configure.ac (AC_INIT): Bumped to 1.95.
46558
a1bb27e4 465592006-10-14 Robert Millan <rmh@aybabtu.com>
46560
46561 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46562 with "/dev/.static/dev/md".
46563
e0994b8b 465642006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46565
46566 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46567 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46568 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46569 DRIVE_NAME are always freed.
46570
46571 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46572 DOS_PART, as a DOS partition is counted from one instead of zero
46573 now. Reported by Robert Millan.
46574
ddd5cee9 465752006-10-14 Robert Millan <rmh@aybabtu.com>
46576
46577 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46578 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46579 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46580 string returned by grub_guess_root_device.
46581 * util/i386/pc/grub-setup.c: Likewise.
46582 * util/i386/pc/grub-probefs.c: Likewise.
46583
46584 * util/i386/pc/grub-probefs.c: Rename to ...
46585 * util/i386/pc/grub-probe.c: ... this.
46586 * DISTLIST: Remove grub-probefs, add grub-probe.
46587 * conf/i386-efi.rmk: Likewise.
46588 * conf/i386-pc.rmk: Likewise.
46589 * util/i386/pc/grub-install.in: Likewise.
46590
46591 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46592 choose which information we want to print.
46593
2b002173 465942006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46595
46596 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46597 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46598 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46599 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46600 video/readers/tga.c and video/i386/pc/vbeutil.c.
46601
466022006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46603
46604 Added support for RAID and LVM.
f19dbdb7 46605
2b002173 46606 * disk/lvm.c: New file.
46607 * disk/raid.c: Likewise.
46608 * include/grub/lvm.h: Likewise.
f19dbdb7 46609 * include/grub/raid.h: Likewise.
2b002173 46610 * include/grub/util/lvm.h: Likewise.
46611 * include/grub/util/raid.h: Likewise.
46612 * util/lvm.c: Likewise.
46613 * util/raid.c: Likewise.
46614
46615 * include/grub/disk.h (grub_disk_dev_id): Add
46616 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46617 (grub_disk_get_size): New prototype.
46618 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46619 returns a partition.
46620 (grub_disk_get_size): New function.
f19dbdb7 46621
2b002173 46622 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46623 verbatim if grub_install_dos_part is -2.
46624
46625 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46626 and LVM devices.
46627
46628 * util/i386/pc/grub-setup.c (setup): New argument
46629 MUST_EMBED. Force embedding of GRUB when the argument is
46630 true. Close FILE before returning.
46631 (main): Add support for RAID and LVM.
f19dbdb7 46632
2b002173 46633 * conf/common.rmk: Add RAID and LVM modules.
46634 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46635 util/lvm.c.
46636 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46637
46638 * kern/misc.c (grub_strstr): New function.
46639 * include/grub/misc.h (grub_strstr): New prototype.
46640
050548d0 466412006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46642
46643 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46644
da849d2d 466452006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46646
46647 * kern/misc.c (grub_strtoull): Guess the base only if not
46648 specified.
46649
97b2f2ff 466502006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46651
46652 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46653 PowerMac support.
46654
97b2f2ff 466552006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46656
46657 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46658
46659 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46660 Remove `flags' argument. All callers changed.
46661 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46662 (IEEE1275_IHANDLE_INVALID): New variable.
46663 (IEEE1275_CELL_INVALID): New variable.
46664 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46665 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46666 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46667 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46668 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46669 codes from Open Firmware. All callers updated.
46670 (grub_ieee1275_next_property): Directly return Open Firmware return
46671 code.
46672 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46673 Standardize error checking from `grub_ieee1275_get_property'.
46674 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46675 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46676
97b2f2ff 466772006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46678
46679 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46680 `instance_to_package_args' to `instance_to_path_args'.
46681
46682 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46683 `grub_ieee1275_chosen'.
46684
46685 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46686 `grub_ieee1275_interpret'.
46687
97b2f2ff 466882006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46689
46690 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46691
97b2f2ff 466922006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46693
46694 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46695 (__cmpdi): Likewise.
46696
46697 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46698 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46699 `grub_ssize_t'.
46700
02bb8acc 46701 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46702
46703 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46704 to type `grub_ssize_t'.
46705 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46706
7f9a8531 467072006-09-22 Marco Gerards <marco@gnu.org>
46708
46709 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46710 newlines.
46711
b5ef1102 467122006-09-22 Marco Gerards <marco@gnu.org>
46713
46714 * commands/echo.c: New file.
46715
46716 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46717
46718 * conf/common.rmk (echo_mod_SOURCES): New variable.
46719 (echo_mod_CFLAGS): Likewise.
46720 (echo_mod_LDFLAGS): Likewise.
46721
2cff3677 467222006-09-22 Marco Gerards <marco@gnu.org>
46723
46724 * normal/main.c (get_line): Malloc memory instead of using
46725 preallocated memory. Removed the arguments `cmdline' and
46726 `max_len'. Updated all callers.
46727
6ba4688b 467282006-09-22 Marco Gerards <marco@gnu.org>
46729
46730 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46731 (normal_mod_DEPENDENCIES): Likewise.
46732
46733 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46734 (normal_mod_DEPENDENCIES): Likewise.
46735
46736 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46737
e02ac02c 467382006-09-22 Johan Rydberg <jrydberg@gnu.org>
46739
46740 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46741 programs.
46742 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46743 (normal_mod_DEPENDENCIES): Likewise.
46744 * conf/i386-pc.mk: Regenerate.
46745 * conf/i386-efi.mk: Likewise
46746 * conf/common.mk: Likewise.
46747 * conf/powerpc-ieee1275.mk: Likewise.
46748 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46749
8d252e44 467502006-09-22 Robert Millan <rmh@aybabtu.com>
46751
46752 Sync with i386 version.
46753 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46754 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46755
209bf7ac 467562006-09-21 Robert Millan <rmh@aybabtu.com>
46757
46758 Import from GRUB Legacy (lib/device.c):
46759 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46760 (init_device_map) [__linux__]: Add support for I2O devices.
46761
6b146090 467622006-09-14 Marco Gerards <marco@gnu.org>
46763
46764 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46765 `-melf_i386'.
46766
e38600a8 467672006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46768
46769 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46770 /boot/grub/*.lst.
78fa1790 46771
2952da5d 46772 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 46773
2952da5d 46774 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46775 before adding it to device.map.
46776
01b82a64 467772006-08-15 Johan Rydberg <jrydberg@gnu.org>
46778
fe6b695a 46779 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 46780 compiles a file; using the -MD option.
46781 * conf/common.mk: Regenerate.
46782 * conf/i386-pc.mk: Likewise.
46783 * conf/i386-efi.mk: Likewise.
46784 * conf/powerpc-ieee1275.mk: Likewise.
46785 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46786
1064790d 467872006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46788
46789 Move the prototypes of grub_setjmp and grub_longjmp to
46790 cpu/setjmp.h, so that each architecture may specify different
46791 attributes.
f19dbdb7 46792
1064790d 46793 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46794 (grub_longjmp): Likewise.
46795 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46796 (grub_longjmp): Likewise.
46797 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46798 (grub_longjmp): Likewise.
46799
46800 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46801 [!GRUB_UTIL] (grub_longjmp): Removed.
46802
29dda3ed 468032006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46804
46805 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46806 "color!" method does not return any value.
46807
ad2a06ed 468082006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46809
46810 * include/grub/bitmap.h: New file.
46811
46812 * include/grub/i386/pc/vbeutil.h: Likewise.
46813
46814 * video/bitmap.c: Likewise.
46815
46816 * video/readers/tga.c: Likewise.
46817
46818 * video/i386/pc/vbeutil.c: Likewise.
46819
46820 * commands/videotest.c: Code cleanup and updated to reflect to new
46821 video API.
46822
46823 * term/gfxterm.c: Likewise.
46824
46825 * video/video.c: Likewise.
46826
46827 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46828 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46829 (bitmap_mod_SOURCES): New entry.
46830 (bitmap_mod_CFLAGS): Likewise.
46831 (bitmap_mod_LDFLAGS): Likewise.
46832 (tga_mod_SOURCES): Likewise.
46833 (tga_mod_CFLAGS): Likewise.
46834 (tga_mod_LDFLAGS): Likewise.
46835
46836 * include/grub/video.h (grub_video_blit_operators): New enum type.
46837 (grub_video_render_target): Changed as forward declaration and moved
46838 actual definition to be video driver specific.
46839 (grub_video_adapter.blit_bitmap): Added blitting operator.
46840 (grub_video_adapter.blit_render_target): Likewise.
46841 (grub_video_blit_bitmap): Likewise.
46842 (grub_video_blit_render_target): Likewise.
46843
46844 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46845 driver specific render target definition.
46846 (grub_video_vbe_map_rgba): Added driver internal helper.
46847 (grub_video_vbe_unmap_color): Updated to use
46848 grub_video_i386_vbeblit_info.
46849 (grub_video_vbe_get_video_ptr): Likewise.
46850
46851 * include/grub/i386/pc/vbeblit.h
46852 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46853 grub_video_i386_vbeblit_info.
46854 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46855 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46856 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46857 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46858 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46859 (grub_video_i386_vbeblit_index_index): Likewise.
46860 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46861 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46862 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46863 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46864 operator.
46865 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46866 operator.
46867
46868 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46869 include/grub/i386/pc/vbeblit.h.
46870
46871 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46872 Updated to use grub_video_i386_vbeblit_info.
46873 (grub_video_i386_vbefill_R8G8B8): Likewise.
46874 (grub_video_i386_vbefill_index): Likewise.
46875 (grub_video_i386_vbefill): Added generic filler.
46876
46877 * video/i386/pc/vbefill.c: Updated to reflect changes on
46878 include/grub/i386/pc/vbefill.h.
46879
46880 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46881 grub_video_i386_vbeblit_info.
46882 (grub_video_vbe_unmap_color): Likewise.
46883 (grub_video_vbe_blit_glyph): Likewise.
46884 (grub_video_vbe_scroll): Likewise.
46885 (grub_video_vbe_draw_pixel): Removed function.
46886 (grub_video_vbe_get_pixel): Likewise.
46887 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46888 updated code to use it.
46889 (common_blitter): Added common blitter for render target and bitmap.
46890 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46891 (grub_video_vbe_blit_render_target): Likewise.
46892
bc8c036d 468932006-07-30 Johan Rydberg <jrydberg@gnu.org>
46894
46895 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46896 is in text mode if there is no console control protocol instance
46897 available.
46898
684a8eff 468992006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46900
46901 * include/grub/video.h: Code cleanup.
46902
46903 * include/grub/i386/pc/vbe.h: Likewise.
46904
46905 * video/i386/pc/vbe.c: Likewise.
46906
46907 * video/i386/pc/vbeblit.c: Likewise.
46908
46909 * video/i386/pc/vbefill.c: Likewise.
46910
46911 * video/video.c: Likewise. Also added more comments.
46912
5915059b 469132006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46914
46915 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46916 (struct grub_biosdisk_dap): Likewise.
46917
46918 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
46919 linkage settings for all functions.
46920
90ce5d56 469212006-07-12 Marco Gerards <marco@gnu.org>
46922
46923 * configure.ac (--enable-mm-debug): Fix typo.
46924
46925 * genkernsyms.sh.in: Use proper quoting for `CC'.
46926
43e7f879 469272006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
46928
46929 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
46930 (normal_mod_ASFLAGS): Remove "-m32".
46931
4889bdec 469322006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
46933
46934 * util/misc.c: Include config.h.
46935 [!HAVE_MEMALIGN]: Do not include malloc.h.
46936 (grub_memalign): Use posix_memalign, if present. Then, use
46937 memalign, if present. Otherwise, emit an error.
46938
46939 * util/grub-emu.c: Do not include malloc.h.
46940
46941 * include/grub/util/misc.h: Include unistd.h. This is required for
46942 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
46943 D. Eades III <hde@foobar-qux.org>.
46944
46945 * configure.ac (AC_GNU_SOURCE): Added.
46946 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
46947 type.
46948
fd39d4da 469492006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
46950
46951 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
46952 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
46953
b786f3b5 469542006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
46955
46956 * include/grub/types.h (grub_host_addr_t): Rename to
46957 grub_target_addr_t.
46958 (grub_host_off_t): Rename to grub_target_off_t.
46959 (grub_host_size_t): Rename to grub_target_size_t.
46960 (grub_host_ssize_t): Rename to grub_target_ssize_t.
46961 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
46962
46963 * include/grub/kernel.h (struct grub_module_header): Change type
46964 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
46965 (grub_module_info): Likewise.
f19dbdb7 46966
051988bb 469672006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46968
46969 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
46970 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
46971 Velazquez <jesus.velazquez@gmail.com>.
46972
deae281b 469732006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46974
46975 Count partitions from 1 instead of 0 in the string representation
46976 of partitions. Still use 0-based internally.
f19dbdb7 46977
deae281b 46978 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
46979 (sun_partition_map_iterate): Use grub_partition_t instead of
46980 struct grub_partition *. Cast DESC->START_CYLINDER to
46981 grub_uint64_t after converting the endian.
46982 (sun_partition_map_probe): Subtract 1 for PARTNUM.
46983 (sun_partition_map_get_name): Add 1 to P->INDEX.
46984
46985 * partmap/pc.c (grub_partition_parse): Subtract 1 for
46986 PCDATA->DOS_PART.
46987 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
46988
46989 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
46990 zero instead of one.
46991 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
46992 (gpt_partition_map_get_name): Add 1 into P->INDEX.
46993
46994 * partmap/apple.c (apple_partition_map_iterate): Change the type
46995 of POS to unsigned.
46996 (apple_partition_map_probe): Subtract 1 for PARTNUM.
46997 (apple_partition_map_get_name): Add 1 into P->INDEX.
46998
46999 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47000 of POS to unsigned.
47001 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47002 calculate the offset of a partition.
47003 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47004 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47005
47006 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47007 SECTOR to grub_disk_addr_t.
47008 (acorn_partition_map_iterate): Likewise.
47009 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47010 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47011 top.
47012 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47013
47014 * kern/i386/pc/init.c (make_install_device): Add 1 into
47015 GRUB_INSTALL_DOS_PART.
47016
47017 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47018 conditional.
47019
524a1e6a 470202006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47021
47022 Clean up the code to support 64-bit addressing in disks and
47023 files. This change is not enough for filesystems yet.
f19dbdb7 47024
524a1e6a 47025 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47026 type of "start" to grub_uint64_t.
47027 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47028 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47029 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47030 convert addresses.
47031
47032 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47033 to grub_disk_addr_t.
47034
47035 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47036 string.
47037
47038 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47039
47040 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47041 to char *.
47042
47043 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47044
47045 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47046
47047 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47048
47049 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47050 to grub_off_t, to detect an error from grub_file_seek.
47051 (grub_multiboot_load_elf32): Likewise.
47052
47053 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47054 maximum unsigned long value when an overflow is detected.
47055 (grub_strtoull): New function.
47056 (grub_divmod64): Likewise.
47057 (grub_lltoa): use grub_divmod64.
47058
47059 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47060 grub_disk_addr_t.
47061 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47062 the pointer to next character. Use grub_strtoull instead of
47063 grub_strtoul.
47064 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47065 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47066 respectively.
47067
fe6b695a 47068 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47069 return value is signed.
47070 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47071 test if OFFSET is less than zero, as OFFSET is unsigned now.
47072
47073 * kern/disk.c (struct grub_disk_cache): Change the type of
47074 "sector" to grub_disk_addr_t.
47075 (grub_disk_cache_get_index): Change the type of SECTOR to
47076 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47077 unsigned after shifting.
47078 (grub_disk_cache_invalidate): Change the type of SECTOR to
47079 grub_disk_addr_t.
47080 (grub_disk_cache_unlock): Likewise.
47081 (grub_disk_cache_store): Likewise.
47082 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47083 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47084 grub_disk_addr_t and grub_uint64_t, respectively.
47085 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47086 body, as the value of OFFSET is tweaked by
47087 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47088 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47089 respectively.
47090 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47091 body, as the value of OFFSET is tweaked by
47092 grub_disk_check_range. Change the types of LEN and N to
47093 grub_size_t.
47094
47095 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47096 and "saved_offset" to grub_off_t.
47097 (test_header): Cast BUF to char *.
47098 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47099 to char *.
47100 (grub_gzio_read): Change the types of OFFSET and SIZE to
47101 grub_off_t and grub_size_t, respectively.
47102
47103 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47104 Removed.
47105 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47106 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47107 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47108 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47109 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47110
47111 * include/grub/types.h (grub_off_t): Unconditionally set to
47112 grub_uint64_t.
47113 (grub_disk_addr_t): Changed to grub_uint64_t.
47114
47115 * include/grub/partition.h (struct grub_partition): Change the
47116 types of "start", "len" and "offset" to grub_disk_addr_t,
47117 grub_uint64_t and grub_disk_addr_t, respectively.
47118 (grub_partition_get_start): Return grub_disk_addr_t.
47119 (grub_partition_get_len): Return grub_uint64_t.
47120
47121 * include/grub/misc.h (grub_strtoull): New prototype.
47122 (grub_divmod64): Likewise.
47123
47124 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47125 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47126 grub_off_t, respectively.
47127 All callers and references changed.
47128
47129 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47130 grub_size_t in "read".
47131 All callers and references changed.
47132
47133 * include/grub/file.h (struct grub_file): Change the types of
47134 "offset" and "size" to grub_off_t and grub_off_t,
47135 respectively. Change the type of SECTOR to grub_disk_addr_t in
47136 "read_hook".
47137 (grub_file_read): Change the type of LEN to grub_size_t.
47138 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47139 grub_off_t.
47140 (grub_file_size): Return grub_off_t.
47141 (grub_file_tell): Likewise.
47142 All callers and references changed.
47143
47144 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47145 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47146 "write".
47147 (struct grub_disk): Change the type of "total_sectors" to
47148 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47149 "read_hook".
524a1e6a 47150 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47151 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47152 (grub_disk_write): Likewise.
47153 All callers and references changed.
47154
47155 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47156 char * for grub_strncmp to silence gcc.
47157 (grub_iso9660_mount): Likewise.
47158 (grub_iso9660_mount): Likewise.
47159 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47160 return statement.
47161 (grub_iso9660_iterate_dir): Likewise.
47162 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47163
47164 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47165 LEN to grub_disk_addr_t and grub_size_t, respectively.
47166
47167 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47168
47169 * fs/jfs.c (grub_jfs_read_file): Likewise.
47170
47171 * fs/minix.c (grub_jfs_read_file): Likewise.
47172
47173 * fs/sfs.c (grub_jfs_read_file): Likewise.
47174
47175 * fs/ufs.c (grub_jfs_read_file): Likewise.
47176
47177 * fs/xfs.c (grub_jfs_read_file): Likewise.
47178
47179 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47180 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47181 respectively.
47182
47183 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47184 BLKNR to -1 instead of returning GRUB_ERRNO.
47185 (grub_ext2_read_file): Change the types of SECTOR and
47186 LEN to grub_disk_addr_t and grub_size_t, respectively.
47187
47188 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47189 LEN to grub_disk_addr_t and grub_size_t, respectively.
47190
47191 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47192 grub_file_read.
47193
47194 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47195 string. Do not cast SECTOR explicitly.
47196
47197 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47198 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47199 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47200 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47201 over 2TB and LBA mode is not supported, raise an error.
47202 (get_safe_sectors): New function.
47203 (grub_biosdisk_read): Use get_safe_sectors.
47204 (grub_biosdisk_write): Likewise.
47205
47206 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47207 (grub_efidisk_write): Likewise.
47208
47209 * disk/loopback.c (delete_loopback): Cosmetic changes.
47210 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47211 correctly.
47212 (grub_loopback_open): Likewise.
47213 (grub_loopback_read): Likewise. Also, change the type of POS to
47214 grub_off_t, and fix the usage of grub_memset.
47215
47216 * commands/i386/pc/play.c: Include grub/machine/time.h.
47217
47218 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47219 print FILE->SIZE.
47220
47221 * commands/configfile.c: Include grub/env.h.
47222
47223 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47224 GRUB_ERRNO directly instead. Change the type of POS to
47225 grub_off_t. Follow the coding standard.
47226
47227 * commands/blocklist.c: Include grub/partition.h.
47228 (grub_cmd_blocklist): Return an error if the underlying device is
47229 not a disk. Take the starting sector of a partition into account,
47230 if a partition is used.
47231
47232 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47233 a length field.
47234 (lba_mode): Support 64-bit addresses.
47235 (chs_mode): Likewise.
47236 (copy_buffer): Adapted to the new offsets of a length field and a
47237 segment field.
47238 (blocklist_default_start): Allocate 64-bit space.
47239
47240 * boot/i386/pc/boot.S (force_lba): Removed.
47241 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47242 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47243 space.
47244 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47245 is useless.
47246 (lba_mode): Refactored to support a 64-bit address. More size
47247 optimization.
47248 (setup_sectors): Likewise.
47249
53af98ad 472502006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47251
47252 * DISTLIST: Added include/grub/i386/linux.h. Removed
47253 include/grub/i386/pc/linux.h
47254
47255 * configure.ac (AC_INIT): Bumped to 1.94.
47256
47257 * config.guess: Updated from gnulib.
47258 * config.sub: Likewise.
47259 * install-sh: Likewise.
47260 * mkinstalldirs: Likewise.
47261
b4c1940a 472622006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47263
47264 * conf/common.rmk (grub_modules_init.lst): Depended on
47265 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47266 MODSRCFILES.
47267
47268 * genmk.rb (PModule::rule): Reverted the previous change.
47269
cfca1cfd 472702006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47271
47272 * conf/common.rmk (grub_modules_init.lst): Depends on
47273 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47274 that the target does not exist before producing.
47275 (grub_modules_init.h): Remove the target before generating.
47276 (grub_emu_init.c): Likewise.
47277
47278 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47279
aa6d7826 472802006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47281
47282 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47283 for the target-specific tests. Make sure that we also have the
47284 up-to-date target variables for those tests.
47285
26c607b9 472862006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47287
47288 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47289 (PModule::rule): Likewise.
47290
0162321a 472912006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47292
47293 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47294 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47295 target-specific flags should be prefixed.
47296 (PModule::rule): Likewise.
47297
6c826348 472982006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47299
47300 * configure.ac (CMP): Check if cmp is available explicitly.
47301
b977bf01 473022006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47303
47304 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47305 (target_cpu): New variable.
47306 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47307
b977bf01 47308 * util/i386/pc/grub-install.in (host_cpu): Removed.
47309 (target_cpu): New variable.
47310 (pkglibdir): Use target_cpu instead of host_cpu.
47311
47312 * util/genmoddep.c: Removed.
f19dbdb7 47313
b977bf01 47314 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47315 instead of GRUB_HOST_SIZEOF_VOID_P.
47316 * kern/dl.c: Likewise.
47317
47318 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47319 ...
47320 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47321 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47322 (GRUB_TARGET_SIZEOF_LONG): ... this.
47323 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47324 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47325 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47326 to ...
47327 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47328 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47329 (GRUB_TARGET_SIZEOF_LONG): ... this.
47330 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47331 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47332 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47333 to ...
47334 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47335 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47336 (GRUB_TARGET_SIZEOF_LONG): ... this.
47337 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47338 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47339
47340 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47341 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47342 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47343 instead of GRUB_HOST_SIZEOF_LONG.
47344 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47345 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47346 GRUB_CPU_WORDS_BIGENDIAN.
47347 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47348 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47349 grub_host_ssize_t.
47350
47351 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47352 (genmoddep_SOURCES): Likewise.
47353 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47354 (genmoddep_SOURCES): Likewise.
47355 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47356 (genmoddep_SOURCES): Likewise.
47357 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47358 Likewise.
47359 (genmoddep_SOURCES): Likewise.
47360
47361 * genmoddep.awk: New file.
47362
47363 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47364 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47365 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47366 (PModule::rule): Likewise.
47367 (Program::rule): Likewise.
47368 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47369 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47370 respectively.
47371
47372 * configure.ac: Rewritten intensively to use host and target
47373 instead of build and host, respectively.
47374
47375 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47376 (host_cpu): Removed.
47377 (target_cpu): New variable.
47378 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47379 (BUILD_CC): Removed.
47380 (BUILD_CFLAGS): Likewise.
47381 (BUILD_CPPFLAGS): Likewise.
47382 (TARGET_CC): New variable.
47383 (TARGET_CFLAGS): Likewise.
47384 (TARGET_CPPFLAGS): Likewise.
47385 (TARGET_LDFLAGS): Likewise.
47386 (AWK): Likewise.
47387 (include): Use target_cpu instead of host_cpu.
47388 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47389
b977bf01 47390 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47391
f09771a1 473922006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47393
47394 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47395 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47396 field 'false' to 'exec_on_false'.
47397 (grub_script_create_cmdif): Renamed argument names to reflect above
47398 changes.
47399
47400 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47401
47402 * normal/script.c (grub_script_create_cmdif): Likewise.
47403
118f4fb3 474042006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47405
47406 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47407 top.
47408 (grub_hfsplus_btree_recptr): Likewise.
47409 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47410 FILEBLOCK both to pass a block number and store next block
47411 number.
47412 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47413 overflow file correctly. Specify errors appropriately, because
47414 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47415 grub_hfsplus_btree_recptr to get the pointer to a found key.
47416 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47417 is found.
47418
47419 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47420 linux.mod.
47421 (_linux_mod_SOURCES): New variable.
47422 (_linux_mod_CFLAGS): Likewise.
47423 (_linux_mod_LDFLAGS): Likewise.
47424 (linux_mod_SOURCES): Likewise.
47425 (linux_mod_CFLAGS): Likewise.
47426 (linux_mod_LDFLAGS): Likewise.
47427
47428 * DISTLIST: Added loader/i386/efi/linux.c,
47429 loader/i386/efi/linux_normal.c and
47430 include/grub/i386/efi/loader.h.
47431
47432 * loader/i386/efi/linux.c: New file.
47433 * loader/i386/efi/linux_normal.c: Likewise.
47434 * include/grub/i386/efi/loader.h: Likewise.
47435
89a7d726 474362006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47437
47438 * commands/blocklist.c: New file.
47439
47440 * DISTLIST: Added commands/blocklist.c.
47441
47442 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47443 color for the background, and a darker color for the foreground.
89a7d726 47444 (grub_console_checkkey): Return READ_KEY.
47445 (grub_console_cls): Set the background to
47446 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47447
47448 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47449
47450 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47451 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47452
47453 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47454 prototype.
47455
47456 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47457 BG. The spec is wrong again.
47458
47459 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47460 prototype.
47461 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47462
47463 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47464 commands/blocklist.c.
47465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47466
89a7d726 47467 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47468 (blocklist_mod_SOURCES): New variable.
47469 (blocklist_mod_CFLAGS): Likewise.
47470 (blocklist_mod_LDFLAGS): Likewise.
47471
75c8f258 474722006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47473
47474 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47475 duplication.
47476 (lba_mode): Use %eax more intensively to reduce the code size.
47477
da2eb181 474782006-05-20 Marco Gerards <marco@gnu.org>
47479
47480 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47481
47482 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47483 for `menuentry'.
47484 (script): Accept leading newlines.
47485 (newlines): New rule to describe 0 or more newlines.
47486 (commands): Accept `command' with trailing newline. Fixed the
47487 order in which arguments were passed to `grub_script_add_cmd'.
47488 Accept commands separated by newlines.
47489 (function): Changed to accept newlines.
47490 (menuentry) Rewritten.
47491
47492 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47493 front of the list, instead of to the end.
47494
577b4050 474952006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47496
47497 * util/i386/pc/grub-install.in (bindir): New variable.
47498 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47499 Shaver <lbgwjl@gmail.com>.
47500
0d6e1189 475012006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47502
47503 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47504 grub/machine/linux.h
47505 * loader/i386/pc/linux.c: Likewise.
47506
47507 * include/grub/i386/pc/linux.h: Moved to ...
47508 * include/grub/i386/linux.h: ... here.
47509
47510 * include/grub/i386/linux.h (struct linux_kernel_params): New
47511 struct.
f19dbdb7 47512
31b86e9f 475132006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47514
47515 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47516 checking.
47517 (grub_video_vbe_blit_glyph): Likewise.
47518 (grub_video_vbe_blit_bitmap): Likewise.
47519 (grub_video_vbe_blit_render_target): Likewise.
47520
83b984de 475212006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47522
47523 * configure.ac (--with-platform): Properly quote the square
47524 brackets.
47525
5f0413bd 475262006-05-08 Marco Gerards <marco@gnu.org>
47527
47528 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47529 this...
47530 (kernel_elf_HEADERS): ...to this. Updated all users.
47531 (grubof_symlist.c): Renamed from this...
47532 (kernel_elf_symlist.c): ...to this. Updated all users.
47533 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47534 (grubof_SOURCES): Renamed from this...
47535 (kernel_elf_SOURCES): ...to this.
47536 (grubof_HEADERS): Renamed from this...
47537 (kernel_elf_HEADERS): ...to this.
47538 (grubof_CFLAGS): Renamed from this...
47539 (kernel_elf_CFLAGS): ...to this.
47540 (grubof_ASFLAGS): Renamed from this...
47541 (kernel_elf_ASFLAGS): ...to this.
47542 (grubof_LDFLAGS): Renamed from this...
47543 (kernel_elf_LDFLAGS): ...to this.
47544
47545 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47546 this...
47547 (kernel_elf_HEADERS): ...to this. Updated all users.
47548 (grubof_symlist.c): Renamed from this...
47549 (kernel_elf_symlist.c): ...to this. Updated all users.
47550 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47551 (grubof_SOURCES): Renamed from this...
47552 (kernel_elf_SOURCES): ...to this.
47553 (grubof_HEADERS): Renamed from this...
47554 (kernel_elf_HEADERS): ...to this.
47555 (grubof_CFLAGS): Renamed from this...
47556 (kernel_elf_CFLAGS): ...to this.
47557 (grubof_ASFLAGS): Renamed from this...
47558 (kernel_elf_ASFLAGS): ...to this.
47559 (grubof_LDFLAGS): Renamed from this...
47560 (kernel_elf_LDFLAGS): ...to this.
47561
47562 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47563 `kernel.elf' instead of `grubof'.
47564
05568c2e 475652006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47566
47567 Add --with-platform to configure. Use pkglibdir instead of
47568 pkgdatadir. This is reported by Roger Leigh.
47569
47570 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47571 (host_vendor): Likewise.
47572 (host_os): Likewise.
47573 (pkgdatadir): Likewise.
47574 (platform): New variable.
47575 (pkglibdir): Likewise.
47576 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47577
05568c2e 47578 * util/i386/pc/grub-install.in (datadir): Removed.
47579 (host_vendor): Likewise.
47580 (host_os): Likewise.
47581 (pkgdatadir): Likewise.
47582 (platform): New variable.
47583 (pkglibdir): Likewise.
47584 Use PKGLIBDIR instead of PKGDATADIR.
47585
47586 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47587 instead of GRUB_DATADIR.
47588 (main): Likewise.
47589 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47590 (main): Likewise.
47591 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47592 (main): Likewise.
47593
47594 * configure.ac (--with-platform): New option.
47595 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47596
47597 * Makefile.in: Include a makefile based on PLATFORM instead of
47598 HOST_VENDOR.
47599 (pkgdatadir): Not appended by the machine type.
47600 (pkglibdir): Appended by the machine type.
47601 (host_vendor): Removed.
47602 (platform): New variable.
47603 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47604 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47605 (uninstall): Likewise.
47606
4e93851c 476072006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47608
47609 Use the environment context in the menu. Remove the commands
47610 "default" and "timeout", and use variables instead.
f19dbdb7 47611
4e93851c 47612 * normal/menu.c: Include grub/env.h.
47613 (print_entry): Cast TITLE to silence gcc.
47614 (get_timeout): New function.
47615 (set_timeout): Likewise.
47616 (get_entry_number): Likewise.
47617 (run_menu): Use a default entry, a fallback entry and a timeout
47618 in the environment variables "default", "fallback" and
47619 "timeout". Also, tweak the default entry if it is not within the
47620 current menu entries.
47621 (grub_menu_run): Use a fallback entry in the environment variable
47622 "fallback".
47623
47624 * normal/main.c (read_config_file): Do not initialize
47625 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47626 NEWMENU->TIMEOUT.
47627 (grub_normal_execute): Use a data slot to store the menu.
47628
47629 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47630 fallback_entry and timeout.
47631 (struct grub_menu_list): Removed.
47632 (grub_menu_list_t): Likewise.
47633 (struct grub_context): Likewise.
47634 (grub_context_t): Likewise.
47635 (grub_context_get): Likewise.
47636 (grub_context_get_current_menu): Likewise.
47637 (grub_context_push_menu): Likewise.
47638 (grub_context_pop_menu): Likewise.
47639 (grub_default_init): Likewise.
47640 (grub_default_fini): Likewise.
47641 (grub_timeout_init): Likewise.
47642 (grub_timeout_fini): Likewise.
47643
47644 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47645 and timeout.mod.
47646 (normal_mod_SOURCES): Removed normal/context.c.
47647
47648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47649 commands/default.c, commands/timeout.c and normal/context.c.
47650 (normal_mod_SOURCES): Removed normal/context.c.
47651
47652 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47653 commands/timeout.c and normal/context.c.
47654 (normal_mod_SOURCES): Removed normal/context.c.
47655
47656 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47657 commands/default.c, commands/timeout.c and normal/context.c.
47658 (normal_mod_SOURCES): Removed normal/context.c.
47659
47660 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47661 timeout.mod.
47662 (default_mod_SOURCES): Removed.
47663 (default_mod_CFLAGS): Likewise.
47664 (default_mod_LDFLAGS): Likewise.
47665 (timeout_mod_SOURCES): Removed.
47666 (timeout_mod_CFLAGS): Likewise.
47667 (timeout_mod_LDFLAGS): Likewise.
47668
47669 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47670 normal/context.c.
47671
47672 * commands/default.c: Removed.
47673 * commands/timeout.c: Likewise.
47674 * normal/context.c: Likewise.
47675
1eb9cc1d 476762006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47677
47678 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47679
385bd9c1 476802006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47681
47682 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47683 "next" to "prev" for readability.
47684 (struct grub_env_sorted_var): New struct.
47685 (grub_env_context): Renamed to ...
47686 (initial_context): ... this.
47687 (grub_env_var_context): Renamed to ...
47688 (current_context): ... this.
47689 (grub_env_find): Look only at CURRENT_CONTEXT.
47690 (grub_env_context_open): Rewritten to copy exported variables from
47691 previous context.
47692 (grub_env_context_close): Rewritten according to the new
47693 scheme. Also, add an assertion to prevent the initial context from
47694 removed.
47695 (grub_env_insert): Removed the code for the sorted list.
47696 (grub_env_remove): Likewise.
47697 (grub_env_export): Simply mark the variable with
47698 GRUB_ENV_VAR_GLOBAL.
47699 (grub_env_set): A cosmetic change for naming consistency.
47700 (grub_env_get): Likewise.
47701 (grub_env_unset): Likewise.
47702 (grub_env_iterate): Rewritten to sort variables within this
47703 function.
47704 (grub_register_variable_hook): Fixed for naming consistency. Call
47705 grub_env_find again, only if NAME is not found at the first time.
47706 (mangle_data_slot_name): New function.
47707 (grub_env_set_data_slot): Likewise.
47708 (grub_env_get_data_slot): Likewise.
47709 (grub_env_unset_data_slot): Likewise.
47710
47711 * include/grub/env.h (grub_env_var_type): New enum.
47712 (GRUB_ENV_VAR_LOCAL): New constant.
47713 (GRUB_ENV_VAR_GLOBAL): Likewise.
47714 (GRUB_ENV_VAR_DATA): Likewise.
47715 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47716 "type".
47717 (grub_env_set): Replace VAR with NAME for consistency.
47718 (grub_register_variable_hook): Likewise.
47719 (grub_env_export): Specify the name of the argument.
47720 (grub_env_set_data_slot): New prototype.
47721 (grub_env_get_data_slot): Likewise.
47722 (grub_env_unset_data_slot): Likewise.
47723
7f362539 477242006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47725
47726 Extend the loader so that GRUB can accept a loader which comes
47727 back to GRUB when a loaded image exits. Also, this change adds
47728 support for a chainloader on EFI.
f19dbdb7 47729
7f362539 47730 * term/efi/console.c: Include grub/misc.h.
47731 (grub_console_checkkey): Display a scan code on the top for
47732 debugging. This will be removed once the EFI port gets stable.
47733 Correct the scan code mapping.
47734
47735 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47736 allocate memory from larger regions, in order to reduce the number
47737 of allocated regions. Otherwise, the MacOSX loader panics.
47738 (filter_memory_map): Avoid less than 1MB for compatibility with
47739 other loaders.
47740 (add_memory_regions): Allocate from the tail of a region, if
47741 possible, to avoid allocating a region near to 1MB, for the MacOSX
47742 loader.
47743
47744 * kern/efi/init.c (grub_efi_set_prefix): Specify
47745 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47746
47747 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47748 argument IMAGE_HANDLE and specify it to get a loaded image.
47749 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47750 grub_efi_get_loaded_image.
fe6b695a 47751 (grub_efi_get_filename): Divide the length by the size of
7f362539 47752 grub_efi_char16_t.
47753 (grub_efi_get_device_path): New function.
47754 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47755 the length by the size of grub_efi_char16_t for a file path device
47756 path node.
47757
47758 * kern/loader.c (grub_loader_noreturn): New variable.
47759 (grub_loader_set): Accept a new argument NORETURN. Set
47760 GRUB_LOADER_NORETURN to NORETURN.
47761 All callers changed.
47762 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47763 grub_machine_fini.
47764
47765 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47766 prototype.
47767 (grub_efi_get_loaded_image): Take an argument to specify an image
47768 handle.
47769
47770 * include/grub/loader.h (grub_loader_set): Added one more argument
47771 NORETURN.
47772
47773 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47774 instead of grub_efi_open_protocol.
47775 (grub_efidisk_get_device_name): Likewise.
47776 (grub_efidisk_close): Print a newline.
47777 (grub_efidisk_get_device_handle): Fixed to use
47778 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47779 GRUB_EFI_DEVICE_PATH_TYPE.
47780
47781 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47782 * kern/efi/efi.c (device_path_guid): ... here.
47783
47784 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47785 chain.mod.
47786 (kernel_mod_HEADERS): Added efi/disk.h.
47787 (_chain_mod_SOURCES): New variable.
47788 (_chain_mod_CFLAGS): Likewise.
47789 (_chain_mod_LDFLAGS): Likewise.
47790 (chain_mod_SOURCES): Likewise.
47791 (chain_mod_CFLAGS): Likewise.
47792 (chain_mod_LDFLAGS): Likewise.
47793
47794 * DISTLIST: Added include/grub/efi/chainloader.h,
47795 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47796
47797 * include/grub/efi/chainloader.h: New file.
47798 * loader/efi/chainloader.c: Likewise.
47799 * loader/efi/chainloader_normal.c: Likewise.
47800
c0111d6e 478012006-04-30 Marco Gerards <marco@gnu.org>
47802
47803 * commands/configfile.c (grub_cmd_source): New function.
47804 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47805 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47806
df5341da 478072006-04-30 Marco Gerards <marco@gnu.org>
47808
47809 * normal/execute.c (grub_script_execute_cmd): Change the return
47810 type to `grub_err_t'. Correctly return the error.
47811 (grub_script_execute_cmdline): In case a command line is not a
47812 command or a function, try to interpret it as an assignment.
47813
f85934bd 478142006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47815
47816 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47817 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47818 skip a node whose name is obviously invalid as UTF-16,
47819 i.e. contains a NUL character. Stop the iteration when the last
47820 directory entry is found. Instead of using the return value of
47821 grub_hfsplus_btree_iterate_node, store the value in RET and use
47822 it, because the iterator can be stopped by the last directory
47823 entry.
47824
8f8a2cf8 478252006-04-30 Marco Gerards <marco@gnu.org>
47826
47827 * include/grub/env.h (grub_env_export): New prototype. Reported
47828 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47829
a27e84ce 478302006-04-30 Marco Gerards <marco@gnu.org>
47831
47832 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47833 size of the extents in a catalog file record.
47834
eaef0553 478352006-04-29 Marco Gerards <marco@gnu.org>
47836
47837 * commands/configfile.c (grub_cmd_configfile): Execute the
47838 configfile within its own context.
47839
47840 * include/grub/env.h (grub_env_context_open): New prototype.
47841 (grub_env_context_close): Likewise.
47842
47843 * kern/env.c (grub_env): Removed.
47844 (grub_env_sorted): Likewise.
47845 (grub_env_context): New variable.
47846 (grub_env_var_context): Likewise.
47847 (grub_env_find): Search both the active context and the global
47848 context.
47849 (grub_env_context_open): New function.
47850 (grub_env_context_close): Likewise.
47851 (grub_env_insert): Likewise.
47852 (grub_env_remove): Likewise.
47853 (grub_env_export): Likewise.
47854 (grub_env_set): Changed to use helper functions to avoid code
47855 duplication.
47856 (grub_env_iterate): Rewritten so both the current context and the
47857 global context are being used.
47858
47859 * normal/command.c (export_command): New function.
47860 (grub_command_init): Register the `export' function.
47861
7b455f4d 478622006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47863
47864 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47865 explicitly to suppress gcc's warnings.
47866 * fs/fat.c (grub_fat_find_dir): Likewise.
47867 (grub_fat_label): Likewise.
47868 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47869 (grub_xfs_mount): Likewise.
47870 (grub_xfs_label): Likewise.
47871 * fs/affs.c (grub_affs_mount): Likewise.
47872 (grub_affs_label): Likewise.
47873 (grub_affs_iterate_dir): Likewise.
47874 * fs/sfs.c (grub_sfs_mount): Likewise.
47875 (grub_sfs_iterate_dir): Likewise.
47876 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47877 * fs/hfs.c (grub_hfs_mount): Likewise.
47878 (grub_hfs_cmp_catkeys): Likewise.
47879 (grub_hfs_find_dir): Likewise.
47880 (grub_hfs_dir): Likewise.
47881 (grub_hfs_label): Likewise.
47882 * fs/jfs.c (grub_jfs_mount): Likewise.
47883 (grub_jfs_opendir): Likewise.
47884 (grub_jfs_getent): Likewise.
47885 (grub_jfs_lookup_symlink): Likewise.
47886 (grub_jfs_label): Likewise.
47887 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47888 (grub_hfsplus_iterate_dir): Likewise.
47889 (grub_hfsplus_btree_iterate_node): Made static.
47890
47891 * util/grub-emu.c (prefix): New variable.
47892 (grub_machine_set_prefix): New function.
47893 (main): Do not set the environment variable "prefix" here. Only
47894 set PREFIX, which is used later by grub_machine_set_prefix.
47895
47896 * include/grub/video.h: Do not include grub/symbol.h.
47897 (grub_video_register): Not exported. This symbol is not defined in
47898 the kernel.
47899 (grub_video_unregister): Likewise.
47900 (grub_video_iterate): Likewise.
47901 (grub_video_setup): Likewise.
47902 (grub_video_restore): Likewise.
47903 (grub_video_get_info): Likewise.
47904 (grub_video_get_blit_format): Likewise.
47905 (grub_video_set_palette): Likewise.
47906 (grub_video_get_palette): Likewise.
47907 (grub_video_set_viewport): Likewise.
47908 (grub_video_get_viewport): Likewise.
47909 (grub_video_map_color): Likewise.
47910 (grub_video_map_rgb): Likewise.
47911 (grub_video_map_rgba): Likewise.
47912 (grub_video_fill_rect): Likewise.
47913 (grub_video_blit_glyph): Likewise.
47914 (grub_video_blit_bitmap): Likewise.
47915 (grub_video_blit_render_target): Likewise.
47916 (grub_video_scroll): Likewise.
47917 (grub_video_swap_buffers): Likewise.
47918 (grub_video_create_render_target): Likewise.
47919 (grub_video_delete_render_target): Likewise.
47920 (grub_video_set_active_render_target): Likewise.
47921
47922 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
47923 Undefined.
47924 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
47925
47926 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
47927 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47928 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47929 instead of $(srcdir)/genkernsyms.sh.
47930
47931 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
47932 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47933 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47934 instead of $(srcdir)/genkernsyms.sh.
47935
47936 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
47937 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47938 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47939 instead of $(srcdir)/genkernsyms.sh.
47940
47941 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
47942 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47943 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47944 instead of $(srcdir)/genkernsyms.sh.
47945
47946 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
47947 genkernsyms.sh.
47948
47949 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
47950 genkernsyms.sh.
47951 (gensymlist.sh): New target.
47952 (genkernsyms.sh): Likewise.
47953
47954 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
47955 genkernsyms.sh.in and gensymlist.sh.in.
47956
47957 * genkernsyms.sh: Removed.
47958 * gensymlist.sh: Likewise.
f19dbdb7 47959
7b455f4d 47960 * genkernsyms.sh.in: New file.
47961 * gensymlist.sh.in: Likewise.
47962
1885bb27 479632006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47964
47965 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
47966 clobber "prefix", since we may have already set it manually.
47967
71538dff 479682006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47969
47970 * kern/misc.c (abort): New alias for grub_abort.
47971
2965c7cc 479722006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
47973
47974 A new machine-specific function "grub_machine_set_prefix" is
47975 defined. This is called after loading modules, so that a prefix
47976 initialization can use modules. Also, this change adds an
47977 intensive debugging feature for the memory manager via the
47978 configure option "--enable-mm-debug".
f19dbdb7 47979
2965c7cc 47980 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
47981 PART.LEN.
47982
47983 * kern/sparc64/ieee1275/init.c (abort): Removed.
47984 (grub_stop): Likewise.
47985 (grub_exit): New function.
47986 (grub_set_prefix): Renamed to ...
47987 (grub_machine_set_prefix): ... this.
47988 (grub_machine_init): Do not call grub_set_prefix.
47989
47990 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
47991 (grub_machine_set_prefix): ... this.
47992 (grub_machine_init): Do not call grub_set_prefix.
47993
47994 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
47995 (grub_machine_init): Do not set the prefix here.
47996
47997 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
47998
47999 * kern/efi/init.c: Include grub/mm.h.
48000 (grub_efi_set_prefix): New function.
48001
48002 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48003 (grub_efi_get_filename): New function.
48004 (grub_print_device_path): Renamed to ...
48005 (grub_efi_print_device_path): ... this.
48006
48007 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48008 [MM_DEBUG] (grub_realloc): Likewise.
48009 [MM_DEBUG] (grub_free): Likewise.
48010 [MM_DEBUG] (grub_memalign): Likewise.
48011 [MM_DEBUG] (grub_mm_debug): New variable.
48012 [MM_DEBUG] (grub_debug_malloc): New function.
48013 [MM_DEBUG] (grub_debug_free): New function.
48014 [MM_DEBUG] (grub_debug_realloc): New function.
48015 [MM_DEBUG] (grub_debug_memalign): New function.
48016
48017 * kern/misc.c (grub_abort): Print a newline to distinguish
48018 the message.
48019
48020 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48021 grub_set_root_dev after loading modules. This is necessary when
48022 setting a prefix depends on modules.
48023
48024 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48025 (grub_efi_print_device_path): ... this.
48026 (grub_efi_get_filename): New prototype.
48027 (grub_efi_set_prefix): Likewise.
48028
48029 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48030 and grub/disk.h.
48031 (grub_efidisk_get_device_handle): New prototype.
48032 (grub_efidisk_get_device_name): Likewise.
48033
48034 * include/grub/mm.h: Include config.h.
48035 (MM_DEBUG): Removed.
48036 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48037 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48038 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48039 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48040 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48041 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48042 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48043 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48044 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48045
48046 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48047
48048 * disk/efi/efidisk.c: Include grub/partition.h.
48049 (iterate_child_devices): New function.
48050 (add_device): First, compare only last device path nodes, so that
48051 devices are sorted by the types.
48052 (grub_efidisk_get_device_handle): New function.
48053 (grub_efidisk_get_device_name): Likewise.
48054
48055 * configure.ac (--enable-mm-debug): New option to enable the
48056 memory manager debugging feature. This makes the binary much
48057 bigger, so is disabled by default.
48058
9cacaa17 480592006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48060
48061 Use grub_abort instead of grub_stop, and grub_exit must be
48062 define in each architecture now. Also, this change adds support
48063 for EFI disks.
f19dbdb7 48064
9cacaa17 48065 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48066 (grub_getkey): New function.
48067 (grub_term_get_current): Likewise.
48068
48069 * util/i386/pc/grub-setup.c: Include grub/term.h.
48070 (grub_getkey): New function.
48071 (grub_term_get_current): Likewise.
48072
48073 * util/misc.c (grub_stop): Renamed to ...
48074 (grub_exit): ... this.
48075
48076 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48077 (grub_exit): ... this.
48078 (grub_machine_init): Use grub_abort instead of abort.
48079 (grub_stop): Removed.
48080
48081 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48082 abort.
48083
48084 * kern/i386/pc/startup.S (grub_exit): New function.
48085 (cold_reboot): New label.
48086
48087 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48088 (grub_efi_init): Call grub_efidisk_init.
48089 (grub_efi_fini): Call grub_efidisk_fini.
48090
48091 * kern/efi/efi.c: Include grub/mm.h.
48092 (grub_efi_console_control_guid): Renamed to ...
48093 (console_control_guid): ... this.
48094 (grub_efi_loaded_image_guid): Renamed to ...
48095 (loaded_image_guid): ... this.
48096 (grub_efi_locate_handle): New function.
48097 (grub_efi_open_protocol): Likewise.
48098 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48099 GRUB_EFI_CONSOLE_CONTROL_GUID.
48100 (grub_efi_exit): Removed.
48101 (grub_stop): Likewise.
48102 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48103 (grub_exit): New function.
48104 (grub_print_device_path): Likewise.
48105
48106 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48107 (grub_enter_rescue_mode): Register "exit".
48108
48109 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48110 (grub_abort): New function.
48111
48112 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48113
48114 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48115
48116 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48117
48118 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48119 (grub_print_device_path): New prototype.
48120 (grub_efi_locate_handle): Likewise.
48121 (grub_efi_open_protocol): Likewise.
48122
48123 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48124 * disk/efi/efidisk.c: Likewise.
48125
48126 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48127
48128 * include/grub/efi/console_control.h
48129 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48130
48131 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48132 last 8 bytes as an array.
48133 (GRUB_EFI_DISK_IO_GUID): New macro.
48134 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48135 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48136 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48137 grub_uint8_t.
48138 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48139 (struct grub_efi_device_path): Rename the member "sub_type" to
48140 "subtype".
48141 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48142 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48143 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48144 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48145 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48146 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48147 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48148 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48149 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48150 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48151 (struct grub_efi_pci_device_path): New structure.
48152 (grub_efi_pci_device_path_t): New type.
48153 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48154 (struct grub_efi_pccard_device_path): New structure.
48155 (grub_efi_pccard_device_path_t): New type.
48156 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48157 (struct grub_efi_memory_mapped_device_path): New structure.
48158 (grub_efi_memory_mapped_device_path_t): New type.
48159 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48160 (struct grub_efi_vendor_device_path): New structure.
48161 (grub_efi_vendor_device_path_t): New type.
48162 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48163 (struct grub_efi_controller_device_path): New structure.
48164 (grub_efi_controller_device_path_t): New type.
48165 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48166 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48167 (struct grub_efi_acpi_device_path): New structure.
48168 (grub_efi_acpi_device_path_t): New type.
48169 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48170 (struct grub_efi_expanded_acpi_device_path): New structure.
48171 (grub_efi_expanded_acpi_device_path_t): New type.
48172 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48173 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48174 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48175 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48176 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48177 (struct grub_efi_atapi_device_path): New structure.
48178 (grub_efi_atapi_device_path_t): New type.
48179 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48180 (struct grub_efi_fibre_channel_device_path): New structure.
48181 (grub_efi_fibre_channel_device_path_t): New type.
48182 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48183 (struct grub_efi_1394_device_path): New structure.
48184 (grub_efi_1394_device_path_t): New type.
48185 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48186 (struct grub_efi_usb_device_path): New structure.
48187 (grub_efi_usb_device_path_t): New type.
48188 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48189 (struct grub_efi_usb_class_device_path): New structure.
48190 (grub_efi_usb_class_device_path_t): New type.
48191 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48192 (struct grub_efi_i2o_device_path): New structure.
48193 (grub_efi_i2o_device_path_t): New type.
48194 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48195 (struct grub_efi_mac_address_device_path): New structure.
48196 (grub_efi_mac_address_device_path_t): New type.
48197 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48198 (struct grub_efi_ipv4_device_path): New structure.
48199 (grub_efi_ipv4_device_path_t): New type.
48200 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48201 (struct grub_efi_ipv6_device_path): New structure.
48202 (grub_efi_ipv6_device_path_t): New type.
48203 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48204 (struct grub_efi_infiniband_device_path): New structure.
48205 (grub_efi_infiniband_device_path_t): New type.
48206 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48207 (struct grub_efi_uart_device_path): New structure.
48208 (grub_efi_uart_device_path_t): New type.
48209 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48210 (struct grub_efi_vendor_messaging_device_path): New structure.
48211 (grub_efi_vendor_messaging_device_path_t): New type.
48212 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48213 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48214 (struct grub_efi_hard_drive_device_path): New structure.
48215 (grub_efi_hard_drive_device_path_t): New type.
48216 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48217 (struct grub_efi_cdrom_device_path): New structure.
48218 (grub_efi_cdrom_device_path_t): New type.
48219 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48220 (struct grub_efi_vendor_media_device_path): New structure.
48221 (grub_efi_vendor_media_device_path_t): New type.
48222 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48223 (struct grub_efi_file_path_device_path): New structure.
48224 (grub_efi_file_path_device_path_t): New type.
48225 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48226 (struct grub_efi_protocol_device_path): New structure.
48227 (grub_efi_protocol_device_path_t): New type.
48228 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48229 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48230 (struct grub_efi_bios_device_path): New structure.
48231 (grub_efi_bios_device_path_t): New type.
48232 (struct grub_efi_disk_io): New structure.
48233 (grub_efi_disk_io_t): New type.
48234 (struct grub_efi_block_io_media): New structure.
48235 (grub_efi_block_io_media_t): New type.
48236 (struct grub_efi_block_io): New structure.
48237 (grub_efi_block_io_t): New type.
48238
48239 * include/grub/misc.h (grub_stop): Removed.
48240 (grub_exit): New prototype.
48241 (grub_abort): Likewise.
48242
48243 * include/grub/disk.h (enum grub_disk_dev_id): Added
48244 GRUB_DISK_DEVICE_EFIDISK_ID.
48245
48246 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48247 disk/efi/efidisk.c.
48248 (kernel_syms.lst): Remove the target if an error occurs.
48249
49986a9f 482502006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48251
48252 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48253 as it was simply too buggy.
48254
970d3b8a 482552006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48256
48257 * kern/misc.c (grub_lltoa): New function.
48258 (grub_vsprintf): Added support for the long long suffix,
48259 i.e. "ll".
48260
ff04ec24 482612006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48262
48263 * Makefile.in (LDFLAGS): Add variable.
48264 (LD): Remove variable.
48265 * configure.ac: Add -m32 to LDFLAGS.
48266 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48267 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48268 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48269 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48270 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48271 variables.
48272 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48273 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48274 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48275
37e5e1a4 482762006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48277
48278 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48279 length for unknown glyph.
48280
c352d8dd 482812006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48282
2eab1c0d 48283 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48284
2eab1c0d 48285 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48286 completely. Accept one more argument DIR. The caller has changed.
48287
48288 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48289
48290 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48291 (grub_efi_loaded_image_guid): New variable.
48292 (grub_efi_get_loaded_image): New function.
48293 (grub_arch_modules_addr): Likewise.
48294
48295 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48296 prototype.
48297
48298 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48299 (struct grub_efi_loaded_image): New structure.
48300 (grub_efi_loaded_image_t): New type.
48301
483022006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48303
c352d8dd 48304 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48305 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48306 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48307
6d01d6b4 483082006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48309
48310 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48311
976a4ea0 483122006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48313
48314 * DISTLIST: Added include/grub/efi/console.h,
48315 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48316 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48317
48318 * include/grub/efi/console.h: New file.
48319 * include/grub/efi/time.h: Likewise.
48320 * include/grub/i386/efi/kernel.h: Likewise.
48321 * kern/efi/init.c: Likewise.
48322 * kern/efi/mm.c: Likewise.
48323 * term/efi/console.c: Likewise.
f19dbdb7 48324
976a4ea0 48325 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48326 (grub_stop): Removed.
48327 (grub_get_rtc): Likewise.
48328 (grub_machine_init): Simply call grub_efi_init.
48329 (grub_machine_fini): Call grub_efi_fini.
48330
48331 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48332 (grub_efi_output_string): Removed.
48333 (grub_efi_stall): New function.
48334 (grub_stop): Likewise.
48335 (grub_get_rtc): Likewise.
48336
48337 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48338 (grub_efi_stall): New prototype.
48339 (grub_efi_allocate_pages): Likewise.
48340 (grub_efi_free_pages): Likewise.
48341 (grub_efi_get_memory_map): Likewise.
48342 (grub_efi_mm_init): Likewise.
48343 (grub_efi_mm_fini): Likewise.
48344 (grub_efi_init): Likewise.
48345 (grub_efi_fini): Likewise.
48346
48347 * include/grub/i386/efi/time.h: Do not include
48348 grub/symbol.h. Include grub/efi/time.h.
48349 (GRUB_TICKS_PER_SECOND): Removed.
48350 (grub_get_rtc): Likewise.
48351
48352 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48353 Added padding. The EFI spec is buggy.
48354 (GRUB_EFI_BLACK): New macro.
48355 (GRUB_EFI_BLUE): Likewise.
48356 (GRUB_EFI_GREEN): Likewise.
48357 (GRUB_EFI_CYAN): Likewise.
48358 (GRUB_EFI_RED): Likewise.
48359 (GRUB_EFI_MAGENTA): Likewise.
48360 (GRUB_EFI_BROWN): Likewise.
48361 (GRUB_EFI_LIGHTGRAY): Likewise.
48362 (GRUB_EFI_BRIGHT): Likewise.
48363 (GRUB_EFI_DARKGRAY): Likewise.
48364 (GRUB_EFI_LIGHTBLUE): Likewise.
48365 (GRUB_EFI_LIGHTGREEN): Likewise.
48366 (GRUB_EFI_LIGHTCYAN): Likewise.
48367 (GRUB_EFI_LIGHTRED): Likewise.
48368 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48369 (GRUB_EFI_YELLOW): Likewise.
48370 (GRUB_EFI_WHITE): Likewise.
48371 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48372 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48373 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48374 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48375 (GRUB_EFI_BACKGROUND_RED): Likewise.
48376 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48377 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48378 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48379 (GRUB_EFI_TEXT_ATTR): Likewise.
48380
48381 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48382 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48383 (kernel_mod_HEADERS): Added efi/time.h.
48384
83709125 483852006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48386
48387 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48388 include/grub/efi/api.h, include/grub/efi/console_control.h,
48389 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48390 include/grub/i386/efi/time.h, kern/efi/efi.c,
48391 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48392 and util/i386/efi/grub-mkimage.c.
48393
48394 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48395
48396 * genmk.rb (PModule#rule): Do not export symbols if
48397 #{prefix}_EXPORTS is set to "no".
48398
48399 * conf/i386-efi.mk: New file.
48400 * conf/i386-efi.rmk: Likewise.
48401 * include/grub/efi/api.h: Likewise.
48402 * include/grub/efi/console_control.h: Likewise.
48403 * include/grub/efi/efi.h: Likewise.
48404 * include/grub/efi/pe32.h: Likewise.
48405 * include/grub/i386/efi/time.h: Likewise.
48406 * kern/efi/efi.c: Likewise.
48407 * kern/i386/efi/init.c: Likewise.
48408 * kern/i386/efi/startup.S: Likewise.
48409 * util/i386/efi/grub-mkimage.c: Likewise.
48410
484112006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48412
48413 * include/grub/script.h: Include <grub/parser.h> and
48414 "grub_script.tab.h".
48415 (struct grub_lexer_param): New struct.
48416 (struct grub_parser_param): Likewise.
48417 (grub_script_create_arglist): Pass the state in an argument.
48418 (grub_script_add_arglist): Likewise.
48419 (grub_script_create_cmdline): Likewise.
48420 (grub_script_create_cmdblock): Likewise.
48421 (grub_script_create_cmdif): Likewise.
48422 (grub_script_create_cmdmenu): Likewise.
48423 (grub_script_add_cmd): Likewise.
48424 (grub_script_arg_add): Likewise.
48425 (grub_script_lexer_ref): Likewise.
48426 (grub_script_lexer_deref): Likewise.
48427 (grub_script_lexer_record_start): Likewise.
48428 (grub_script_lexer_record_stop): Likewise.
48429 (grub_script_mem_record): Likewise.
48430 (grub_script_mem_record_stop): Likewise.
48431 (grub_script_malloc): Likewise.
48432 (grub_script_yylex): Likewise.
48433 (grub_script_yyparse): Likewise.
48434 (grub_script_yyerror): Likewise.
48435 (grub_script_yylex): Likewise.
48436 (grub_script_lexer_init): Return the state.
48437
48438 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48439 (grub_script_lexer_done): Likewise.
48440 (grub_script_lexer_getline): Likewise.
48441 (grub_script_lexer_refs): Likewise.
48442 (script): Likewise.
48443 (newscript): Likewise.
48444 (record): Likewise.
48445 (recording): Likewise.
48446 (recordpos): Likewise.
48447 (recordlen): Likewise.
48448 (grub_script_lexer_init): Return the state instead of setting
48449 global variables.
48450 (grub_script_lexer_ref): Use the newly added argument for state
48451 instead of globals.
48452 (grub_script_lexer_deref): Likewise.
48453 (grub_script_lexer_record_start): Likewise.
48454 (grub_script_lexer_record_stop): Likewise.
48455 (recordchar): Likewise.
48456 (nextchar): Likewise.
48457 (grub_script_yylex2): Likewise.
48458 (grub_script_yylex): Likewise.
48459 (grub_script_yyerror): Likewise.
48460
48461 * normal/parser.y (func_mem): Removed variable.
48462 (menu_entry): Likewise.
48463 (err): Likewise.
48464 (%lex-param): New parser option.
48465 (%parse-param): Likewise.
48466 (script): Always return the AST.
48467 (argument): Pass the state around.
48468 (arguments): Likewise.
48469 (grubcmd): Likewise.
48470 (commands): Likewise.
48471 (function): Likewise.
48472 (menuentry): Likewise.
48473 (if_statement): Likewise.
48474 (if): Likewise.
48475
48476 * normal/script.c (grub_script_memused): Removed variable.
48477 (grub_script_parsed): Likewise.
48478 (grub_script_malloc): Added a state argument. Use that instead of
48479 global variables.
48480 (grub_script_mem_record): Likewise.
48481 (grub_script_mem_record_stop): Likewise.
48482 (grub_script_arg_add): Likewise.
48483 (grub_script_add_arglist): Likewise.
48484 (grub_script_create_cmdline): Likewise.
48485 (grub_script_create_cmdif): Likewise.
48486 (grub_script_create_cmdmenu): Likewise.
48487 (grub_script_add_cmd): Likewise.
48488 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48489
e2a8c904 484902006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48491
48492 * normal/command.c (grub_command_init): Remove the title command.
48493
48494 * normal/lexer.c (grub_script_yylex): Renamed from this...
48495 (grub_script_yylex2): ... to this.
48496 (grub_script_yylex): New function. Temporary
48497 introduced to filter some tokens.
48498 (grub_script_yyerror): Print a newline.
48499
48500 * normal/main.c (read_config_file): Output information about the
48501 lines that contain errors. Wait for a key after all lines have
48502 been processed. Don't return an empty menu.
48503
48504 * normal/parser.y (func_mem): Don't initialize.
48505 (menu_entry): Likewise.
48506 (err): New variable.
48507 (script): Don't return anything when an error was encountered.
48508 (ws, returns): Removed rules.
48509 (argument): Disabled concatenated variable support.
48510 (arguments): Remove explicit separators.
48511 (grubcmd): Likewise.
48512 (function): Likewise.
48513 (menuentry): Likewise.
48514 (if): Likewise.
48515 (commands): Likewise. Add error handling.
48516
48517 * normal/script.c (grub_script_create_cmdline): If
48518 `grub_script_parsed' is 0, assume the parser encountered an error.
48519
c9a86192 485202006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48521
48522 * configure.ac: Add support for EFI. Fix the typo
48523 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48524
70f3b243 485252006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48526
48527 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48528 foreign multibyte characters should be shown correctly.
48529
65f201ad 485302006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48531
48532 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48533 calculation.
48534 (read_config_file): Made it to close file before returning.
48535
b4b93674 485362006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48537
48538 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48539 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48540 video/i386/pc/vbefill.c.
48541
48542 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48543 video/i386/pc/vbefill.c.
48544
48545 * include/grub/video.h (grub_video_blit_format): New enum.
48546 (grub_video_mode_info): Added new member blit_format.
48547 (grub_video_get_blit_format): New function prototype.
48548
48549 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48550 function prototype.
48551 (grub_video_vbe_map_rgb): Likewise.
48552 (grub_video_vbe_unmap_color): Likewise.
48553
48554 * include/grub/i386/pc/vbeblit.h: New file.
48555
48556 * include/grub/i386/pc/vbefill.h: New file.
48557
48558 * video/video.c (grub_video_get_blit_format): New function.
48559 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48560 (grub_video_vbe_map_rgb): Likewise.
48561 (grub_video_vbe_unmap_color): Likewise.
48562
48563 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48564 optimized fills.
48565 (grub_video_vbe_blit_render_target): Changed to use more optimized
48566 blits.
48567 (grub_video_vbe_setup): Added detection for optimized settings.
48568 (grub_video_vbe_create_render_target): Likewise.
48569
48570 * video/i386/pc/vbeblit.c: New file.
48571
48572 * video/i386/pc/vbefill.c: New file.
48573
c2379b9c 485742006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48575
48576 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48577 here...
48578
48579 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48580 parsing to support both hex and dec ranges. If filename was missing
48581 show usage information.
48582
bd0d7896 485832006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48584
48585 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48586 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48587
48588 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48589 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48590 (video_mod_SOURCES): Added.
48591 (video_mod_CFLAGS): Likewise.
48592 (video_mod_LDFLAGS): Likewise.
48593 (gfxterm_mod_SOURCES): Likewise.
48594 (gfxterm_mod_CFLAGS): Likewise.
48595 (gfxterm_mod_LDFLAGS): Likewise.
48596 (videotest_mod_SOURCES): Likewise.
48597 (videotest_mod_CFLAGS): Likewise.
48598 (videotest_mod_LDFLAGS): Likewise.
48599 (vesafb_mod_SOURCES): Removed.
48600 (vesafb_mod_CFLAGS): Likewise.
48601 (vesafb_mod_LDFLAGS): Likewise.
48602 (vga_mod_SOURCES): Likewise.
48603 (vga_mod_CFLAGS): Likewise.
48604 (vga_mod_LDFLAGS): Likewise.
48605
48606 * commands/videotest.c: New file.
48607
48608 * font/manager.c (fill_with_default_glyph): Modified to use
48609 grub_font_glyph.
48610 (grub_font_get_glyph): Likewise.
48611 (fontmanager): Renamed from this...
48612 (font_manager): ... to this.
48613
48614 * include/grub/font.h (grub_font_glyph): Added new structure.
48615 (grub_font_get_glyph): Modified to use grub_font_glyph.
48616
48617 * include/grub/misc.h (grub_abs): Added as inline function.
48618
48619 * include/grub/video.h: New file.
48620
48621 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48622 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48623 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48624 (grub_vbe_get_controller_info): Renamed from this...
48625 (grub_vbe_bios_get_controller_info): ... to this.
48626 (grub_vbe_get_mode_info): Renamed from this...
48627 (grub_vbe_bios_get_mode_info): ... to this.
48628 (grub_vbe_set_mode): Renamed from this...
48629 (grub_vbe_bios_set_mode): ... to this.
48630 (grub_vbe_get_mode): Renamed from this...
48631 (grub_vbe_bios_get_mode): ... to this.
48632 (grub_vbe_set_memory_window): Renamed from this...
48633 (grub_vbe_bios_set_memory_window): ... to this.
48634 (grub_vbe_get_memory_window): Renamed from this...
48635 (grub_vbe_bios_get_memory_window): ... to this.
48636 (grub_vbe_set_scanline_length): Renamed from this...
48637 (grub_vbe_set_scanline_length): ... to this.
48638 (grub_vbe_get_scanline_length): Renamed from this...
48639 (grub_vbe_bios_get_scanline_length): ... to this.
48640 (grub_vbe_set_display_start): Renamed from this...
48641 (grub_vbe_bios_set_display_start): ... to this.
48642 (grub_vbe_get_display_start): Renamed from this...
48643 (grub_vbe_bios_get_display_start): ... to this.
48644 (grub_vbe_set_palette_data): Renamed from this...
48645 (grub_vbe_bios_set_palette_data): ... to this.
48646 (grub_vbe_set_pixel_rgb): Removed.
48647 (grub_vbe_set_pixel_index): Likewise.
48648
48649 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48650 from this...
48651 (grub_vbe_bios_get_controller_info): ... to this.
48652 (grub_vbe_get_mode_info): Renamed from this...
48653 (grub_vbe_bios_get_mode_info): ... to this.
48654 (grub_vbe_set_mode): Renamed from this...
48655 (grub_vbe_bios_set_mode): ... to this.
48656 (grub_vbe_get_mode): Renamed from this...
48657 (grub_vbe_bios_get_mode): ... to this.
48658 (grub_vbe_set_memory_window): Renamed from this...
48659 (grub_vbe_bios_set_memory_window): ... to this.
48660 (grub_vbe_get_memory_window): Renamed from this...
48661 (grub_vbe_bios_get_memory_window): ... to this.
48662 (grub_vbe_set_scanline_length): Renamed from this...
48663 (grub_vbe_set_scanline_length): ... to this.
48664 (grub_vbe_get_scanline_length): Renamed from this...
48665 (grub_vbe_bios_get_scanline_length): ... to this.
48666 (grub_vbe_set_display_start): Renamed from this...
48667 (grub_vbe_bios_set_display_start): ... to this.
48668 (grub_vbe_get_display_start): Renamed from this...
48669 (grub_vbe_bios_get_display_start): ... to this.
48670 (grub_vbe_set_palette_data): Renamed from this...
48671 (grub_vbe_bios_set_palette_data): ... to this.
48672 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48673 getting corrupted after calling it. Added more pushes and pops.
48674 (grub_vbe_bios_set_mode): Likewise.
48675 (grub_vbe_bios_get_mode): Likewise.
48676 (grub_vbe_bios_get_memory_window): Likewise.
48677 (grub_vbe_bios_set_scanline_length): Likewise.
48678 (grub_vbe_bios_get_scanline_length): Likewise.
48679 (grub_vbe_bios_get_display_start): Likewise.
48680 (grub_vbe_bios_set_palette_data): Likewise.
48681
48682 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48683 (cl_insert): Likewise.
48684 (cl_delete): Likewise.
48685
48686 * term/gfxterm.c: New file.
48687
48688 * term/i386/pc/vesafb.c: Removed file.
48689
48690 * video/video.c: New file.
48691
48692 * video/i386/pc/vbe.c (real2pm): Added new function.
48693 (grub_video_vbe_draw_pixel): Likewise.
48694 (grub_video_vbe_get_video_ptr): Likewise.
48695 (grub_video_vbe_get_pixel): Likewise
48696 (grub_video_vbe_init): Likewise.
48697 (grub_video_vbe_fini): Likewise.
48698 (grub_video_vbe_setup): Likewise.
48699 (grub_video_vbe_get_info): Likewise.
48700 (grub_video_vbe_set_palette): Likewise.
48701 (grub_video_vbe_get_palette): Likewise.
48702 (grub_video_vbe_set_viewport): Likewise.
48703 (grub_video_vbe_get_viewport): Likewise.
48704 (grub_video_vbe_map_color): Likewise.
48705 (grub_video_vbe_map_rgb): Likewise.
48706 (grub_video_vbe_map_rgba): Likewise.
48707 (grub_video_vbe_unmap_color): Likewise.
48708 (grub_video_vbe_fill_rect): Likewise.
48709 (grub_video_vbe_blit_glyph): Likewise.
48710 (grub_video_vbe_blit_bitmap): Likewise.
48711 (grub_video_vbe_blit_render_target): Likewise.
48712 (grub_video_vbe_scroll): Likewise.
48713 (grub_video_vbe_swap_buffers): Likewise.
48714 (grub_video_vbe_create_render_target): Likewise.
48715 (grub_video_vbe_delete_render_target): Likewise.
48716 (grub_video_vbe_set_active_render_target): Likewise.
48717 (grub_vbe_set_pixel_rgb): Remove function.
48718 (grub_vbe_set_pixel_index): Likewise.
48719 (index_color_mode): Remove static variable.
48720 (active_mode): Likewise.
48721 (framebuffer): Likewise.
48722 (bytes_per_scan_line): Likewise.
48723 (grub_video_vbe_adapter): Added new static variable.
48724 (framebuffer): Likewise.
48725 (render_target): Likewise.
48726 (initial_mode): Likewise.
48727 (mode_in_use): Likewise.
48728 (mode_list): Likewise.
48729
5f97350b 487302006-03-10 Marco Gerards <marco@gnu.org>
48731
48732 * configure.ac (AC_INIT): Bumped to 1.93.
48733
48734 * DISTLIST: Added `include/grub/hfs.h'.
48735
a3c5c6f8 487362006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48737
48738 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48739 18H, which might help the BIOS falling back to next boot media.
48740
6de53d26 487412006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48742
48743 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48744 Poe Chen <poe.poechen@gmail.com>.
48745
77c4a393 487462006-01-17 Marco Gerards <marco@gnu.org>
48747
48748 * include/grub/normal.h: Include <grub/script.h>.
48749 (grub_command_list): Removed struct.
48750 (grub_command_list_t): Removed type.
48751 (grub_menu_entry): Remove members `num' and `command_list'. Add
48752 members `commands' and `sourcecode'.
48753 * include/grub/script.h: Add inclusion guards.
48754 (grub_script_cmd_menuentry): New struct.
48755 (grub_script_execute_menuentry): New prototype.
48756 (grub_script_lexer_record_start): Likewise.
48757 (grub_script_lexer_record_stop): Likewise.
48758 * normal/execute.c (grub_script_execute_menuentry): New function.
48759 * normal/lexer.c (record, recording, recordpos, recordlen): New
48760 variables.
48761 (grub_script_lexer_record_start): New function.
48762 (grub_script_lexer_record_stop): Likewise.
48763 (recordchar): Likewise.
48764 (nextchar): Likewise.
48765 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48766 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48767 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48768 (current_menu): New variable.
48769 (free_menu): Mainly rewritten.
48770 (grub_normal_menu_addentry): New function.
48771 (read_config_file): Rewritten.
48772 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 48773 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 48774 the menu entry.
48775 (run): Mainly rewritten.
48776 * normal/parser.y (menu_entry): New variable.
48777 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48778 (menuentry): New rule.
48779 (command): Add `menuentry'.
48780 (if_statement): Allow additional returns before `fi'.
48781 * normal/script.c (grub_script_create_cmdmenu): New function.
48782
144f1f98 487832006-01-03 Marco Gerards <marco@gnu.org>
48784
48785 * INSTALL: GNU Bison is required.
48786 * configure.ac: Rewritten the test to detect Bison.
48787 * Makefile.in (YACC): New variable. Reported by Xun Sun
48788 <xun.sun.cn@gmail.com>.
48789
af4b2d89 487902006-01-03 Marco Gerards <marco@gnu.org>
48791
48792 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48793 the HFS+ filesystem to filesystem blocks.
48794 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48795 GCC warning is silenced.
48796
15643b71 487972006-01-03 Marco Gerards <marco@gnu.org>
48798
48799 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48800 read from disk from big endian to host byte order.
48801
00905879 488022006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48803
48804 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48805 documentation.
48806 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48807 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48808 embedded HFS+ filesystem.
48809 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48810 (grub_hfs_sblock): Move from here...
48811 * include/grub/hfs.h: To here... New file.
48812 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48813 documentation.
48814 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48815 New macros.
48816 (grub_hfsplus_volheader): Change type of member `magic' to
48817 `grub_uint16_t'.
48818 (grub_hfsplus_data): Add new member `embedded_offset'.
48819 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48820 returned block.
48821 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48822 Calculate the offset.
48823
8899bc3e 488242005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48825
48826 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48827 Removed.
48828 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48829
ae8c0277 488302005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48831
48832 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48833 ENV->NAME is NULL after allocating ENV->VALUE.
48834
07084456 488352005-12-25 Marco Gerards <marco@gnu.org>
48836
48837 * kern/env.c (grub_env_set): Rewritten the error handling code.
48838
4750f5f1 488392005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48840
48841 * geninit.sh: Made more robust, and more portable.
48842
50214199 488432005-12-25 Marco Gerards <marco@gnu.org>
48844
48845 Add support for Apple HFS+ filesystems.
f19dbdb7 48846
50214199 48847 * fs/hfsplus.c: New file.
48848
48849 * DISTLIST: Added `fs/hfsplus.c'.
48850
48851 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48852 (hfsplus_mod_SOURCES): New variable.
48853 (hfsplus_mod_CFLAGS): Likewise.
48854 (hfsplus_mod_LDFLAGS): Likewise.
48855 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48856 (grub_setup_SOURCES): Likewise.
48857 (grub_mkdevicemap_SOURCES): Likewise.
48858 (grub_emu_SOURCES): Likewise.
48859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48860
48861 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48862
48863 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48864
befaed6c 488652005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48866
48867 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48868 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48869 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48870 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48871 normal/lexer.c, normal/parser.y, normal/script.c, and
48872 partmap/gpt.c.
48873 Removed kern/sparc64/cache.c.
48874
48875 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48876 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48877 grub_emu_init.c.
48878
48879 * configure.ac (AC_INIT): Bumped to 1.92.
48880
6a124103 488812005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48882
48883 * kern/err.c (grub_error_push): Added new function to support error
48884 stacks.
48885 (grub_error_pop): Likewise.
48886 (grub_error_stack_items): New local variable to support error stacks.
48887 (grub_error_stack_pos): Likewise.
48888 (grub_error_stack_assert): Likewise.
48889 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48890 stack depth.
48891 (grub_print_error): Added support to print errors from error stack.
48892
48893 * include/grub/err.h (grub_error_push): Added function prototype.
48894 (grub_error_pop): Likewise.
48895
be973c1b 488962005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48897
48898 * configure.ac: Accept `powerpc64' as host_cpu.
48899 (amd64): Rename to `biarch32'.
48900
48901 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48902 non-cacheline-aligned addresses.
48903
48904 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48905 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48906 if `size' is non-zero.
48907
b04216ab 489082005-12-03 Marco Gerards <mgerards@xs4all.nl>
48909
48910 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48911 and `cd' to make sure the filename is not prefixed with a
48912 directory name.
48913 (pkgdata_MODULES): Add `gpt.mod'.
48914 (gpt_mod_SOURCES): New variable.
48915 (gpt_mod_CFLAGS): Likewise.
48916 (gpt_mod_LDFLAGS): Likewise.
48917
48918 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
48919
48920 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
48921 New macro.
48922
48923 * partmap/gpt.c: New file.
48924
48925 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
48926 GPT partition map is detected.
48927
41730ed9 489282005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
48929
48930 * commands/i386/pc/play.c: New file.
48931 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
48932 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
48933 macros.
f19dbdb7 48934
95dc3643 489352005-11-27 Marco Gerards <mgerards@xs4all.nl>
48936
48937 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
48938 ((unused))' to silence gcc warning.
48939
1569ec51 489402005-11-26 Hollis Blanchard <hollis@penguinppc.org>
48941
48942 * configure.ac: Correct `AC_PROG_YACC' test.
48943
9abde152 489442005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48945
48946 * util/powerpc/ieee1275/grub-install.in: Run the mount point
48947 check before installing files.
48948
44b83271 489492005-11-22 Mike Small <smallm@panix.com>
48950
48951 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
48952 number regex so multidigit numbers are recognized correctly.
48953
489542005-11-22 Mike Small <smallm@panix.com>
48955
48956 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
48957 debugging message before attempting to claim memory.
48958 (grub_rescue_cmd_initrd): Add a claim debugging message and try
48959 multiple addresses in case of failure.
48960
9c12956b 489612005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48962
48963 * term/tparm.c (get_space): Remove empty `if' statement.
48964
48965 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
48966
48967 * kern/parser.c (check_varstate): Rename `state' to 's'.
48968
aeaf81d9 489692005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48970
48971 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
48972 variable definitions to the beginning of each function. Sort stack
48973 variables by size.
48974 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
48975 `buf' argument to `char *'.
48976
79bbb63f 489772005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48978
48979 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
48980 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48981 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 48982 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48983 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48984 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48985 configfile.mod, search.mod, gzio.mod and test.mod.
48986 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48987 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48988 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48989 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48990 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48991 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48992 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48993 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48994 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48995 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48996 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48997 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48998 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48999 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49000 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49001 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49002 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49003 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49004 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49005 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49006 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49007 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49008 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49009
49010 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49011 `grep --include'.
49012 (pkgdata_MODULES): Add test.mod.
49013
233b1628 490142005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49015
49016 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49017 appending to variables with "+=".
49018 (PModule): Use full pathname to generate *.lst filenames.
49019
49020 * Makefile.in: Fixed list rules moved from genmk.rb.
49021 (.DELETE_ON_ERROR): New special target.
49022 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49023
49024 * conf/i386-pc.rmk: Include conf/common.mk.
49025 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49026 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 49027 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49028 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49029 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49030 configfile.mod, search.mod, gzio.mod and test.mod.
49031 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49032 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49033 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49034 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49035 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49036 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49037 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49038 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49039 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49040 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49041 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49042 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49043 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49044 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49045 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49046 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49047 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49048 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49049 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49050 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49051 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49052 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49053 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49054 here...
49055 * conf/common.rmk: ... to here. New file.
49056
49057 * conf/common.mk: New file.
49058
16f820c8 490592005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49060
49061 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49062 (grub_script.tab.c): ... here.
49063
49064 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49065 (grub_script.tab.c): ... here.
49066
49067 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49068 (grub_script.tab.c): ... here.
49069
49070 * normal/command.c (grub_command_find): Fixed a memory leak of
49071 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49072
63ba1554 490732005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49074
49075 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49076 "@" which marks the start of a comment on ARM.
49077 (VARIABLE): Likewise.
49078
7f67dc13 490792005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49080
79bbb63f 49081 Add support for Linux/ADFS partition tables.
7f67dc13 49082
49083 * partmap/acorn.c: New file.
49084
49085 * include/grub/acorn_filecore.h: Likewise.
49086
49087 * DISTLIST: Added `partmap/acorn.c' and
49088 `include/grub/acorn_filecore.h'.
f19dbdb7 49089
7f67dc13 49090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49091 `partmap/acorn.c'.
49092 (pkgdata_MODULES): Add `acorn.mod'.
49093 (acorn_mod_SOURCES): New variable.
49094 (acorn_mod_CFLAGS): Likewise.
49095
49096 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49097 `partmap/acorn.c'.
49098 (pkgdata_MODULES): Add `acorn.mod'.
49099 (acorn_mod_SOURCES): New variable.
49100 (acorn_mod_CFLAGS): Likewise.
49101
49102 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49103 (pkgdata_MODULES): Add `acorn.mod'.
49104 (acorn_mod_SOURCES): New variable.
49105 (acorn_mod_CFLAGS): Likewise.
49106 (acorn_mod_LDFLAGS): Likewise.
49107
49108 * include/types.h (grub_disk_addr_t): New typedef.
49109
6d099807 491102005-11-13 Marco Gerards <mgerards@xs4all.nl>
49111
49112 * geninit.sh: New file.
49113
49114 * geninitheader.sh: Likewise.
49115
49116 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49117 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49118 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49119 * commands/configfile.c (grub_configfile_init)
49120 (grub_configfile_fini): Likewise.
49121 * commands/default.c (grub_default_init, grub_default_fini):
49122 Likewise.
49123 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49124 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49125 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49126 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49127 Likewise.
49128 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49129 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49130 Likewise.
49131 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49132 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49133 Likewise.
49134 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49135 Likewise.
fe6b695a 49136 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49137 Likewise.
49138 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49139 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49140 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49141 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49142 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49143 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49144 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49145 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49146 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49147 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49148 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49149 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49150 * partmap/amiga.c (grub_amiga_partition_map_init)
49151 (grub_amiga_partition_map_fini): Likewise.
49152 * partmap/apple.c (grub_apple_partition_map_init)
49153 (grub_apple_partition_map_fini): Likewise.
49154 * partmap/pc.c (grub_pc_partition_map_init)
49155 (grub_pc_partition_map_fini): Likewise.
49156 * partmap/sun.c (grub_sun_partition_map_init,
49157 grub_sun_partition_map_fini): Likewise.
49158 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49159 Likewise.
49160
49161 * util/grub-emu.c: Include <grub_modules_init.h>.
49162 (main): Don't initialize and de-initialize any modules directly,
49163 use `grub_init_all' and `grub_fini_all' instead.
49164
49165 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49166 `grub_vesafb_mod_init'.
49167 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49168 all users.
49169 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49170 `grub_vga_mod_init'. Updated all users.
49171 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49172
6d099807 49173 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49174 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49175 rules.
49176
49177 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49178 Generate a function to initialize the module in utilities.
49179 Updated all callers.
49180 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49181 initialize the module in utilities. Updated all callers.
49182
9046bcf0 491832005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49184
49185 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49186 escape sequence and a literal ^L to clear the screen.
49187
49188 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49189 when returning from Open Firmware.
49190
d13ea639 491912005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49192
49193 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49194 (grub_ofconsole_height): Likewise.
49195 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49196 manually insert a '\n'.
49197 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49198 `grub_ofconsole_height'. Return early if these are already set.
49199
a8fcf206 492002005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49201
49202 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49203 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49204 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49205 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49206 and `normal/script.c'.
49207 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49208 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49209 (test_mod_SOURCES): New variable.
49210 (test_mod_CFLAGS): Likewise.
49211 (test_mod_LDFLAGS): Likewise.
49212 (pkgdata_MODULES): Add `test.mod'.
49213 (grub_script.tab.c): New rule.
49214 (grub_script.tab.h): Likewise.
49215
b6b32745 492162005-11-07 Marco Gerards <mgerards@xs4all.nl>
49217
49218 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49219 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49220 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49221 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49222 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49223 (test_mod_SOURCES): New variable.
49224 (test_mod_CFLAGS): Likewise.
49225 (pkgdata_MODULES): Add `test.mod'.
49226 (grub_script.tab.c): New rule.
49227 (grub_script.tab.h): Likewise.
49228
daac212a 492292005-11-06 Marco Gerards <mgerards@xs4all.nl>
49230
49231 Add initial scripting support.
49232
49233 * commands/test.c: New file.
49234 * include/grub/script.h: Likewise.
49235 * normal/execute.c: Likewise.
49236 * normal/function.c: Likewise.
49237 * normal/lexer.c: Likewise.
49238 * normal/parser.y: Likewise.
49239 * normal/script.c: Likewise.
49240
49241 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49242
daac212a 49243 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49244 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49245 `normal/function.c' and `normal/script.c'.
49246 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49247 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49248 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49249 variables.
daac212a 49250 (pkgdata_MODULES): Add `test.mod'.
49251 (grub_script.tab.c): New rule.
49252 (grub_script.tab.h): Likewise.
49253
49254 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49255
49256 * include/grub/normal.h (grub_test_init): New prototype.
49257 (grub_test_fini): Likewise.
f19dbdb7 49258
daac212a 49259 * normal/command.c: Include <grub/script.h>.
49260 (grub_command_execute): Rewritten.
f19dbdb7 49261
daac212a 49262 * util/grub-emu.c (main): Call `grub_test_init' and
49263 `grub_test_fini'.
49264
77500b2b 492652005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49266
49267 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49268 to 0.
49269 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49270 there are no pending characters.
49271
e45deb9e 492722005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49273
49274 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49275 `grub_strndup' to drop device arguments. Replace unnecessary
49276 `grub_strndup' with `grub_strdup'.
49277
4ce32619 492782005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49279
49280 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49281 `debug' environment variable has been set.
49282
492832005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49284
4ce32619 49285 * Makefile.in (install-local): Use $(DATA).
49286 (uninstall): Likewise.
49287 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49288 (sbin_UTILITIES): ... to here.
49289 (sbin_SCRIPTS): New variable.
49290 (grub_install_SOURCES): New variable.
49291 * util/powerpc/ieee1275/grub-install.in: New file.
49292 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49293 variable.
49294 (add_segments): Call `grub_util_get_path'.
49295
25fe6f03 492962005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49297
49298 From Timothy Baldwin:
49299 * commands/ls.c (grub_ls_list_files): Close FILE with
49300 grub_file_close.
49301 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49302
04ccf3ec 493032005-10-24 Marco Gerards <mgerards@xs4all.nl>
49304
49305 * include/grub/parser.h: New file.
49306
49307 * kern/parser.c: Likewise.
49308
49309 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49310 (grub_setup_SOURCES): Likewise.
49311 (grub_probefs_SOURCES): Likewise.
49312 (grub_emu_SOURCES): Likewise.
49313 (kernel_img_HEADERS): Add `parser.h'.
49314
49315 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49316 (grub_emu_SOURCES): Add `kern/parser.c'.
49317 (grubof_SOURCES): Likewise.
49318
49319 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49320 (grubof_SOURCES): Add `kern/parser.c'.
49321
49322 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49323
49324 * kern/misc.c (grub_split_cmdline): Removed function.
49325
49326 * kern/rescue.c: Include <grub/parser.h>.
49327 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49328 of `grub_split_cmdline'.
49329
49330 * normal/command.c: Include <grub/parser.h>.
49331 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49332 of `grub_split_cmdline'.
49333
49334 * normal/completion.c: Include <grub/parser.h>.
49335 (cmdline_state): New variable.
49336 (iterate_dir): End the filename with a quote depending on the
49337 command line state.
49338 (get_state): new function.
49339 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49340 split the arguments and determine the current argument. When the
49341 argument string is not quoted, escape all spaces.
49342
6d8f4b0e 493432005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49344
49345 * normal/sparc64/setjmp.S: New file.
49346
15cf03ed 493472005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49348
49349 * include/grub/sparc64/libgcc.h: New file.
49350 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49351 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49352 normal/sparc64/setjmp.c.
49353
03e8661a 493542005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49355
49356 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49357 * kern/sparc64/cache.S: New file.
49358 * kern/sparc64/cache.c: Removed.
49359 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49360 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49361 -mtune=ultrasparc.
49362 (COMMON_LDFLAGS): Add -melf64_sparc.
49363 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49364 (grubof_SOURCES): Use cache.S instead of cache.c.
49365 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49366 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49367 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49368 commented though.
49369 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49370 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49371 (linux_mod_CFLAGS): Commented out.
49372 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49373 out because module isn't built.
49374 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49375 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49376 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49377 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49378 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49379 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49380 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49381 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49382 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49383 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49384 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49385 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49386 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49387 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49388
34eeec8a 493892005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49390
49391 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49392 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49393 longer, because HFS should not be used on PC.
49394
708367a3 493952005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49396
49397 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49398 consistently within the loop.
49399
6fa1251a 494002005-10-15 Marco Gerards <mgerards@xs4all.nl>
49401
49402 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49403 directory can not be read.
49404
4801580b 494052005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49406
49407 * configure.ac (AC_INIT): Increase the version number to 1.91.
49408
49409 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49410 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49411 term/i386/pc/serial.c.
49412
219ad426 494132005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49414
49415 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49416 file size must be permitted.
49417
49418 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49419 between %ah and %al.
49420
688e5699 494212005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49422
49423 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49424 grub_uint64_t.
49425 Call the hook with a NUL-terminated filename.
49426 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49427 grub_cpu_to_be32.
49428
49429 * kern/term.c (cursor_state): New variable.
49430 (grub_term_set_current): Reset the cursor state on a new
49431 terminal.
49432 (grub_setcursor): Rewritten to use CURSOR_STATE.
49433 (grub_getcursor): New function.
49434
49435 * include/grub/term.h (grub_getcursor): New prototype.
49436
49437 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49438 integers on ARM. Reported by Timothy Baldwin
49439 <T.E.Baldwin99@members.leeds.ac.uk>.
49440
bb34586c 494412005-10-11 Marco Gerards <mgerards@xs4all.nl>
49442
49443 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49444 allocated.
49445 (grub_sfs_dir): Likewise.
49446
9a909877 494472005-10-09 Marco Gerards <mgerards@xs4all.nl>
49448
49449 Add support for the SFS filesystem.
49450
49451 * fs/sfs.c: New file.
49452
49453 * DISTLIST: Added `fs/sfs.c'.
49454
49455 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49456 (grub_probefs_SOURCES): Likewise.
49457 (grub_emu_SOURCES): Likewise.
49458 (pkgdata_MODULES): Add `sfs.mod'.
49459 (sfs_mod_SOURCES): New variable.
49460 (sfs_mod_CFLAGS): Likewise.
49461 (sfs_mod_LDFLAGS): Likewise.
49462
49463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49464 (pkgdata_MODULES): Add `sfs.mod'.
49465 (sfs_mod_SOURCES): New variable.
49466 (sfs_mod_CFLAGS): Likewise.
49467
49468 * util/grub-emu.c (main): Call `grub_sfs_init' and
49469 `grub_sfs_fini'.
49470
49471 * include/grub/fs.h (grub_sfs_init): New prototype.
49472 (grub_sfs_fini): Likewise.
49473
57bdbde3 494742005-10-07 Marco Gerards <mgerards@xs4all.nl>
49475
49476 Add support for the AFFS filesystem.
49477
49478 * fs/affs.c: New file.
49479
49480 * DISTLIST: Added `fs/affs.c'.
49481
49482 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49483 (grub_probefs_SOURCES): Likewise.
49484 (grub_emu_SOURCES): Likewise.
49485 (pkgdata_MODULES): Add `affs.mod'.
49486 (affs_mod_SOURCES): New variable.
49487 (affs_mod_CFLAGS): Likewise.
49488 (affs_mod_LDFLAGS): Likewise.
49489
49490 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49491 (pkgdata_MODULES): Add `affs.mod'.
49492 (affs_mod_SOURCES): New variable.
49493 (affs_mod_CFLAGS): Likewise.
49494
49495 * util/grub-emu.c (main): Call `grub_affs_init' and
49496 `grub_affs_fini'.
49497
49498 * include/grub/fs.h (grub_affs_init): New prototype.
49499 (grub_affs_fini): Likewise.
49500
047b67e0 495012005-10-01 Marco Gerards <mgerards@xs4all.nl>
49502
49503 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49504
59b8208a 495052005-10-01 Marco Gerards <mgerards@xs4all.nl>
49506
49507 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49508 `-m32' to CFLAGS.
49509
49510 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49511 linking.
f19dbdb7 49512
59b8208a 49513 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49514 (COMMON_LDFLAGS): New variable.
49515 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49516 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49517 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49518 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49519 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49520 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49521 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49522 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49523 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49524 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49525 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49526 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49527 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49528 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49529 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49530 variables.
49531 (normal_mod_ASFLAGS): Add `-m32'.
49532
49533 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49534 (grub_host_size_t, grub_host_ssize_t): New types.
49535 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49536 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49537 `GRUB_HOST_SIZEOF_VOID_P'.
49538
49539 * include/grub/kernel.h (struct grub_module_header): Type of
49540 member offset changed to `grub_host_off_t'. Type of member size
49541 changed to `grub_host_size_t'.
49542 (struct grub_module_info): Type of member offset changed to
49543 `grub_host_off_t'. Type of member size changed to
49544 `grub_host_size_t'.
49545
b4093103 495462005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49547
49548 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49549
b4093103 49550 * kern/i386/pc/startup.S (multiboot_header): New label.
49551 (multiboot_entry): Likewise.
49552 (multiboot_trampoline): Likewise.
49553
49554 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49555 Increased to 0x4A0.
49556
49557 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49558 put parentheses after a question mark.
49559 [!GRUB_UTIL] (my_mod): New variable.
49560
49561 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49562
b2499b29 495632005-09-28 Marco Gerards <mgerards@xs4all.nl>
49564
49565 Adds support for the XFS filesystem. Btrees are not supported
49566 yet.
49567
49568 * fs/xfs.c: New file.
49569
49570 * DISTLIST: Added `fs/xfs.c'.
49571
49572 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49573 (grub_probefs_SOURCES): Likewise.
49574 (grub_emu_SOURCES): Likewise.
49575 (pkgdata_MODULES): Add `xfs.mod'.
49576 (xfs_mod_SOURCES): New variable.
49577 (xfs_mod_CFLAGS): Likewise.
49578
49579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49580 (pkgdata_MODULES): Add `xfs.mod'.
49581 (xfs_mod_SOURCES): New variable.
49582 (xfs_mod_CFLAGS): Likewise.
49583
49584 * util/grub-emu.c (main): Call `grub_xfs_init' and
49585 `grub_xfs_fini'.
49586
49587 * include/grub/fs.h (grub_xfs_init): New prototype.
49588 (grub_xfs_fini): Likewise.
49589
f19dbdb7 49590
83d37a62 495912005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49592
49593 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49594 color modes, allow greater than 16 colors to be configured as
49595 a default palette.
49596
47d2d65e 495972005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49598
49599 * normal/completion.c (complete_arguments): Add the qualifier
49600 const into OPTIONS.
49601
49602 From Omniflux <omniflux+lists@omniflux.com>:
49603 * include/grub/terminfo.h: New file.
49604 * include/grub/tparm.h: Likewise.
49605 * include/grub/i386/pc/serial.h: Likewise.
49606 * term/terminfo.c: Likewise.
49607 * term/tparm.c: Likewise.
49608 * term/i386/pc/serial.c: Likewise.
49609 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49610 serial.mod.
49611 (terminfo_mod_SOURCES): New variable.
49612 (terminfo_mod_CFLAGS): Likewise.
49613 (serial_mod_SOURCES): Likewise.
49614 (serial_mod_CFLAGS): Likewise.
49615
48b671ff 496162005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49617
49618 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49619 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49620 and kern/powerpc/ieee1275/cmain.c, respectively.
49621
49622 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49623 * kern/powerpc/ieee1275/crt0.S: ... here.
49624
49625 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49626 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49627
48b671ff 49628 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49629 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49630 instead of boot/powerpc/ieee1275/crt0.S and
49631 boot/powerpc/ieee1275/cmain.c, respectively.
49632
49633 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49634 sectors. It was not used anyway.
49635
09fc77a7 496362005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49637
49638 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49639 `unused parameter' warning.
49640
003789c7 496412005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49642
49643 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49644 function.
49645 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49646 getcharwidth.
49647
67f44c86 496482005-08-28 Marco Gerards <metgerards@student.han.nl>
49649
49650 * include/grub/normal.h (enum grub_completion_type): Added
49651 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49652
49653 * normal/cmdline.c (print_completion): Handle
49654 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49655 * normal/menu_entry.c (store_completion): Likewise.
49656
49657 * normal/completion.c (complete_arguments): New function.
49658 (grub_normal_do_completion): Call `complete_arguments' when the
49659 current words start with a dash.
49660
0b5abe02 496612005-08-27 Marco Gerards <metgerards@student.han.nl>
49662
49663 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49664 `gzio.mod' instead of `io.mod').
49665
d9864ee1 496662005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49667
49668 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49669 (DISTDIRS): Added io and video.
49670 Rewrite the search routine to make an output consistently.
49671
49672 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49673 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49674 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49675 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49676 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49677 util/powerpc/ieee1275/misc.c.
f19dbdb7 49678
d9864ee1 49679 * include/grub/gzio.h: New file.
49680 * io/gzio.c: Likewise.
f19dbdb7 49681
d9864ee1 49682 * kern/file.c (grub_file_close): Call grub_device_close only if
49683 FILE->DEVICE is not NULL.
49684
49685 * include/grub/mm.h [!NULL] (NULL): New macro.
49686
49687 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49688
49689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49690 (pkgdata_MODULES): Added gzio.mod.
49691 (gzio_mod_SOURCES): New variable.
49692 (gzio_mod_CFLAGS): Likewise.
49693
49694 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49695 (pkgdata_MODULES): Added gzio.mod.
49696 (gzio_mod_SOURCES): New variable.
49697 (gzio_mod_CFLAGS): Likewise.
49698
49699 * commands/cat.c: Include grub/gzio.h.
49700 (grub_cmd_cat): Use grub_gzfile_open instead of
49701 grub_file_open.
f19dbdb7 49702
d9864ee1 49703 * commands/cmp.c: Include grub/gzio.h.
49704 (grub_cmd_cmp): Use grub_gzfile_open instead of
49705 grub_file_open.
49706
49707 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49708 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49709 grub_file_open.
49710 (grub_rescue_cmd_module): Likewise.
49711
fa46f4b5 497122005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49713
49714 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49715 kern/sparc64/ieee1275/init.c because it contains _start.
49716 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49717
e9211b5d 497182005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49719
49720 * configure.ac: Add support for sparc64 host with ieee1275
49721 firmware.
49722 * configure: Generated from configure.ac.
49723 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49724 instead of int.
49725 (grub_ofdisk_read): Likewise.
49726 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49727 pointers as (void *) to remove a warning.
49728 (grub_ofdisk_close): Likewise.
49729 (grub_ofdisk_read): Likewise.
49730 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49731 returns, so make it return void to remove a warning.
49732 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49733 Corresponding prototype change.
49734 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49735 values, and cast the pointers as (void *) to remove a warning.
49736 (grub_mm_dump): Likewise.
49737 * conf/sparc64-ieee1275.mk: New file.
49738 * conf/sparc64-ieee1275.rmk: Likewise.
49739 * include/grub/sparc64/setjmp.h: Likewise.
49740 * include/grub/sparc64/types.h: Likewise.
49741 * include/grub/sparc64/ieee1275/console.h: Likewise.
49742 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49743 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49744 * include/grub/sparc64/ieee1275/time.h: Likewise.
49745 * kern/sparc64/cache.c: Likewise.
49746 * kern/sparc64/dl.c: Likewise.
49747 * kern/sparc64/ieee1275/init.c: Likewise.
49748 * kern/sparc64/ieee1275/openfw.c: Likewise.
49749
385c6a92 497502005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49751
49752 * util/console.c (grub_ncurses_putchar): If C is greater than
49753 0x7f, set C to a question mark.
49754 (grub_ncurses_getcharwidth): New function.
49755 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49756 getcharwidth.
49757
49758 * normal/menu.c (print_entry): Made aware of Unicode. First,
49759 convert TITLE to UCS-4, and predict the cursor position by
49760 grub_getcharwidth.
49761
49762 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49763 const to SRC.
49764 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49765
16ccb8b1 497662005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49767
49768 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49769 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49770 grub_strcat.
49771
49772 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49773 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49774 grub_strcpy and grub_strlen. Take it into account that a space
49775 character is inserted as a delimiter.
49776
6a85ce79 497772005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49778
49779 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 49780 invalid magic in the error.
6a85ce79 49781
49782 * commands/search.c: New file.
f19dbdb7 49783
6a85ce79 49784 * util/grub-emu.c (main): Call grub_search_init and
49785 grub_search_fini.
49786
49787 * kern/rescue.c (grub_rescue_print_disks): Removed.
49788 (grub_rescue_print_devices): New function.
49789 (grub_rescue_cmd_ls): Use grub_device_iterate with
49790 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49791 grub_rescue_print_disks.
49792
49793 * kern/partition.c (grub_partition_iterate): Return the result of
49794 PARTMAP->ITERATE instead of GRUB_ERRNO.
49795
49796 * kern/device.c: Include grub/partition.h.
49797 (grub_device_iterate): New function.
49798
49799 * include/grub/partition.h (grub_partition_iterate): Return int
49800 instead of grub_err_t.
49801
49802 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49803 prototype.
49804 [GRUB_UTIL] (grub_search_fini): Likewise.
49805
49806 * include/grub/device.h (grub_device_iterate): New prototype.
49807
49808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49809 commands/search.c.
49810 (pkgdata_MODULES): Added search.mod.
49811 (search_mod_SOURCES): New variable.
49812 (search_mod_CFLAGS): Likewise.
49813
49814 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49815 (pkgdata_MODULES): Added search.mod.
49816 (search_mod_SOURCES): New variable.
49817 (search_mod_CFLAGS): Likewise.
49818
49819 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49820 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49821 All callers changed.
49822
49823 * DISTLIST: Added commands/search.c.
49824
ef095434 498252005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49826
49827 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49828 conversion.
49829 (grub_getcharwidth): New function.
49830
49831 * kern/misc.c (grub_utf8_to_ucs4): New function.
49832
49833 * include/grub/term.h (struct grub_term): Added a new member
49834 "getcharwidth".
49835 (grub_getcharwidth): New prototype.
49836
49837 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49838
49839 * term/i386/pc/console.c (map_char): New function. Segregated from
49840 grub_console_putchar.
49841 (grub_console_putchar): Use map_char.
49842 (grub_console_getcharwidth): New function.
49843 (grub_console_term): Specified grub_console_getcharwidth as
49844 getcharwidth.
49845
49846 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49847 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49848
49849 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49850 GRUB_ERRNO.
49851 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49852 on grub_strtoul completely.
49853 (write_char): Declare local variables in the beginning of the
49854 function.
49855 (grub_vesafb_getcharwidth): New function.
49856 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49857 getcharwidth.
49858
1f0a95e4 498592005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49860
49861 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49862 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49863 commands/i386/pc/vbetest.c.
49864
49865 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49866 call grub_vbe_get_controller_info again, because the returned
49867 information is volatile.
49868 (grub_vbe_set_video_mode): Mostly rewritten.
49869 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49870 grub_vbe_status_t correctly.
49871 (grub_vbe_get_video_mode_info): Likewise.
49872 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49873 several if statements.
49874
49875 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49876 * commands/i386/pc/vbeinfo.c: ... this.
49877
49878 * commands/i386/pc/vbe_test.c: Renamed to ...
49879 * commands/i386/pc/vbetest.c: ... this.
49880
49881 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49882 ...
49883 (grub_cmd_vbeinfo): ... this. Save video modes before
49884 iterating. Skip a video mode, if it is not available, not enough
49885 information is given or it is monochrome. Show the memory
49886 model. Leave the interpretation of MODEVAR to grub_strtoul
49887 completely.
49888 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49889 (GRUB_MOD_FINI): Likewise.
49890
49891 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49892 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49893 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49894 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49895 grub_strtoul completely.
49896 (real2pm): Removed.
49897 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49898 (GRUB_MOD_FINI): Likewise.
49899
49900 * normal/misc.c: Include grub/mm.h.
49901
49902 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49903 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49904 (vbe_list_modes_mod_SOURCES): Removed.
49905 (vbe_list_modes_mod_CFLAGS): Likewise.
49906 (vbe_test_mod_SOURCES): Likewise.
49907 (vbe_test_mod_CFLAGS): Likewise.
49908 (vbeinfo_mod_SOURCES): New variable.
49909 (vbeinfo_mod_CFLAGS): Likewise.
49910 (vbetest_mod_SOURCES): Likewise.
49911 (vbetest_mod_CFLAGS): Likewise.
49912
992ffbbe 499132005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49914
49915 * normal/misc.c: New file.
49916
49917 * DISTLIST: Added normal/misc.c.
f19dbdb7 49918
992ffbbe 49919 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
49920 DISK to HOOK. Call HOOK with DISK.
49921 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49922 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49923 * partmap/sun.c (sun_partition_map_iterate): Likewise.
49924
49925 * normal/menu_entry.c (struct screen): Added a new member
49926 "completion_shown".
49927 (completion_buffer): New global variable.
49928 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
49929 (store_completion): New function.
49930 (complete): Likewise.
49931 (clear_completions): Likewise.
49932 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
49933 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
49934 a tab, call complete.
49935
49936 * normal/completion.c (disk_dev): Removed.
49937 (print_simple_completion): Likewise.
49938 (print_partition_completion): Likewise.
49939 (print_func): New global variable.
49940 (add_completion): Do not take the arguments WHAT or PRINT any
49941 longer. Added a new argument TYPE. Instead of printing directly,
49942 call PRINT_FUNC if not NULL.
49943 All callers changed.
49944 (complete_device): Use a local variable DEV instead of
49945 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
49946 (grub_normal_do_completion): Take a new argument HOOK. Do not
49947 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
49948 empty string, return NULL instead.
49949 All callers changed.
49950
49951 * normal/cmdline.c (print_completion): New function.
49952
49953 * kern/partition.c (grub_partition_iterate): Add an argument DISK
49954 to HOOK.
49955 All callers changed.
49956
49957 * kern/disk.c (grub_print_partinfo): Removed.
49958
49959 * include/grub/partition.h (struct grub_partition_map): Add a new
49960 argument DISK into HOOK of ITERATE.
49961 (grub_partition_iterate): Add a new argument DISK to HOOK.
49962
49963 * include/grub/normal.h (enum grub_completion_type): New enum.
49964 (grub_completion_type_t): New type.
49965 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
49966 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
49967 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
49968 (GRUB_COMPLETION_TYPE_FILE): Likewise.
49969 (grub_normal_do_completion): Added a new argument HOOK.
49970 (grub_normal_print_device_info): New prototype.
49971
49972 * include/grub/disk.h (grub_print_partinfo): Removed.
49973
49974 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
49975 (normal_mod_SOURCES): Likewise.
49976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49977 (normal_mod_SOURCES): Likewise.
49978
49979 * commands/ls.c (grub_ls_list_disks): Use
49980 grub_normal_print_device_info instead of grub_print_partinfo. Free
49981 PNAME.
49982 (grub_ls_list_files): Use grub_normal_print_device_info instead of
49983 duplicating the code.
49984
0bd41162 499852005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49986
49987 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 49988 follow GCS more precisely.
49989 * commands/i386/pc/vbe_test.c: Likewise.
49990 * include/grub/i386/pc/vbe.h: Likewise.
49991 * term/i386/pc/vesafb.c: Likewise.
49992 * video/i386/pc/vbe.c: Likewise.
0bd41162 49993
6323696a 499942005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49995
49996 * DISTLIST: Added term/i386/pc/vesafb.c
49997 DISTLIST: Added video/i386/pc/vbe.c
49998 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
49999 DISTLIST: Added commands/i386/pc/vbe_test.c.
50000 * commands/i386/pc/vbe_list_modes.c: New file.
50001 * commands/i386/pc/vbe_test.c: Likewise.
50002 * term/i386/pc/vesafb.c: Likewise.
50003 * video/i386/pc/vbe.c: Likewise.
50004 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50005 (grub_vbe_probe) Added prototype.
50006 (grub_vbe_set_video_mode) Likewise.
50007 (grub_vbe_get_video_mode) Likewise.
50008 (grub_vbe_get_video_mode_info) Likewise.
50009 (grub_vbe_set_pixel_rgb) Likewise.
50010 (grub_vbe_set_pixel_index) Likewise.
50011 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50012 (pkgdata_MODULES): Added vesafb.mod.
50013 (pkgdata_MODULES): Added vbe_list_modes.mod.
50014 (pkgdata_MODULES): Added vbe_test.mod.
50015 (vbe_mod_SOURCES): Added.
50016 (vbe_mod_CFLAGS): Likewise.
50017 (vesafb_mod_SOURCES): Likewise.
50018 (vesafb_mod_CFLAGS): Likewise.
50019 (vbe_list_modes_mod_SOURCES): Likewise.
50020 (vbe_list_modes_mod_CFLAGS): Likewise.
50021 (vbe_test_mod_SOURCES): Likewise.
50022 (vbe_test_mod_CFLAGS): Likewise.
50023
0a74e62f 500242005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50025
0a74e62f 50026 * normal/command.c (grub_command_execute): If INTERACTIVE is
50027 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50028 CMDLINE. Disable the pager if INTERACTIVE is true.
50029 All callers are changed.
50030
50031 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50032 before reading a config file.
50033 * normal/main.c (read_config_file): Even if a command is not
50034 found, register it if it is within an entry.
50035
50036 * util/grub-emu.c: Include sys/types.h and unistd.h.
50037 (options): Added --hold.
50038 (struct arguments): Added a new member "hold".
50039 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50040 missing.
50041 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50042 cleared by a debugger, if it is not zero.
50043
50044 * include/grub/normal.h (grub_command_execute): Add an argument
50045 INTERACTIVE.
50046
e51f85ae 500472005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50048
50049 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50050
e9c6f39b 500512005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50052
50053 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50054 program with another one, because the old one didn't detect a bug
50055 in gcc-3.4. Always use regparm 2, because the new test is still
50056 not enough for gcc-4.0. Someone must investigate a simple test
50057 case which detects a bug in gcc-4.0.
50058
8de3495c 500592005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50060
50061 * DISTLIST: Added normal/completion.c.
50062
50063 * normal/completion.c: New file.
f19dbdb7 50064
8de3495c 50065 * term/i386/pc/console.c (grub_console_getwh): New function.
50066 (grub_console_term): Assign grub_console_getwh to getwh.
50067
50068 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50069 function is defined in normal/completion.c as
50070 grub_normal_do_completion.
50071 (grub_cmdline_get): Use grub_normal_do_completion instead of
50072 grub_tab_complete.
50073
50074 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50075 returns non-zero, otherwise return 0.
50076 (grub_partition_iterate): First, probe the partition map. Then,
50077 call ITERATE only for this partition map.
50078
50079 * kern/misc.c (grub_strncmp): Rewritten.
50080
50081 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50082 returns non-zero. Otherwise return 0.
50083
50084 * include/grub/partition.h (grub_partition_map_iterate): Return
50085 int instead of void.
50086
50087 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50088
50089 * include/grub/misc.h (grub_strncmp): Change the type of N to
50090 grub_size_t.
50091
50092 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50093 of void.
50094
50095 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50096 unsigned explicitly before comparing it with I.
8de3495c 50097
50098 * kern/main.c (grub_env_write_root): Add the attribute unused into
50099 VAR.
50100
50101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50102 normal/completion.c.
50103 (normal_mod_SOURCES): Likewise.
50104 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50105 (normal_mod_SOURCES): Likewise.
50106
50107 * normal/command.c (grub_iterate_commands): If ITERATE returns
50108 non-zero, return one immediately.
50109
e85e144b 501102005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50111
50112 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50113 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50114 descriptions.
50115 (grub_vbe_get_controller_info): New function.
50116 (grub_vbe_get_mode_info): Likewise.
50117 (grub_vbe_set_mode): Likewise.
50118 (grub_vbe_get_mode): Likewise.
50119 (grub_vbe_set_memory_window): Likewise.
50120 (grub_vbe_get_memory_window): Likewise.
50121 (grub_vbe_set_scanline_length): Likewise.
50122 (grub_vbe_get_scanline_length): Likewise.
50123 (grub_vbe_set_display_start): Likewise.
50124 (grub_vbe_get_display_start): Likewise.
50125 (grub_vbe_set_palette_data): Likewise.
50126 * include/grub/i386/pc/vbe.h: New file.
50127
c46153d2 501282005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50129
50130 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50131 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50132 * DISTLIST: Likewise.
50133 * kern/ieee1275/of.c: Moved to ...
50134 * kern/ieee1275/ieee1275.c: ... here.
50135
0cb90c45 501362005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50137
50138 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50139 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50140 Pass 0 as `end' parameter to grub_strtoul().
50141
a19fb360 501422005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50143
50144 * include/grub/powerpc/ieee1275/console.h: Do not include
50145 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50146 ifdef.
50147 (grub_console_cur_color): Remove i386-specific prototype.
50148 (grub_console_real_putchar): Likewise.
50149 (grub_console_checkkey): Likewise.
50150 (grub_console_getkey): Likewise.
50151 (grub_console_getxy): Likewise.
50152 (grub_console_gotoxy): Likewise.
50153 (grub_console_cls): Likewise.
50154 (grub_console_setcursor): Likewise.
50155 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50156 Include <grub/machine/console.h>.
50157 * term/ieee1275/ofconsole.c: Likewise.
50158
4ac9bd04 501592005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50160
50161 * Makefile.in (LIBLZO): New variable.
50162
50163 * configure.ac: Check for LZO version 2.
50164
50165 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50166 lzo/lzo1x.h instead of lzo1x.h.
50167
50168 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50169 of -llzo.
50170
50171 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50172 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50173
50174 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50175 copying the data from PARTITION to P.
50176
f4917dfd 501772005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50178
50179 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50180 negative, unload the module.
50181
50182 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50183 map is "pc_partition_map" but not "pc".
50184 (usage): Fix the description. The options are --boot-image and
50185 --core-image but not --boot-file or --core-file.
50186 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50187 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50188 DEFAULT_DIRECTORY.
50189
50190 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50191 --core-file. Specify INSTALL_DEVICE as an argument.
50192
50193 * util/console.c: Include config.h.
50194 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50195 [HAVE_NCURSES_H]: Include ncurses.h.
50196 [HAVE_CURSES_H]: Include curses.h.
50197 [!A_NORMAL] (A_NORMAL): Defined as zero.
50198 [!A_STANDOUT] (A_STANDOUT): Likewise.
50199
50200 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50201 -lncurses.
50202 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50203
50204 * configure.ac: Check for curses libraries and headers.
50205
50206 * Makefile.in (LIBCURSES): New variable.
50207
50208 * genmk.rb (Script::rule): Set the executable bits.
50209
50210 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50211 name of the PC partition map is "pc_partition_map" but not "pc".
50212
0e143073 502132005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50214
50215 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50216 (modules): Likewise.
50217 (usage): Added descriptions for --modules and --grub-probefs.
50218 Handle --modules and --grub-probefs. Save the arguments in MODULES
50219 and GRUB_PROBEFS, respectively.
50220 Auto-detect a filesystem module against GRUBDIR. If the result is
50221 empty and modules are not specified explicitly, abort the
50222 installation. Add the result to MODULES.
50223
50224 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50225 disk/powerpc/ieee1275/ofdisk.c,
50226 include/grub/powerpc/ieee1275/init.h and
50227 term/powerpc/ieee1275/ofconsole.c.
50228 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50229 term/ieee1275/ofconsole.c.
50230
50231 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50232
50233 * COPYING: Upgraded to the latest version. Only the address of the
50234 FSF office has changed.
f19dbdb7 50235
efd6e6d5 502362005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50237
50238 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50239 kern/ieee1275.c with kern/ieee1275/of.c.
50240
50241 * kern/ieee1275.c: Moved to ...
50242 * kern/ieee1275/of.c: ... here.
50243
8ceafda2 502442005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50245
50246 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50247 readability.
8ceafda2 50248
50249 * config.guess: Updated to the latest version from gnulib.
50250 * config.sub: Likewise.
50251 * install.sh: Likewise.
50252 * mkinstalldirs: Likewise.
50253
50254 * include/grub/console.h: Removed. This file is arch-specific. Do
50255 not put this in include/grub.
50256
50257 * include/grub/i386/pc/console.h: Resurrected.
50258
50259 * util/console.c: Include grub/machine/console.h instead of
50260 grub/console.h.
50261 * util/grub-emu.c: Likewise.
50262
267f6cd9 502632005-08-04 Marco Gerards <metgerards@student.han.nl>
50264
50265 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50266 hardcoded value.
f19dbdb7 50267
267f6cd9 50268 From Vincent Pelletier <subdino2004@yahoo.fr>
50269 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50270 Redefined to use grub_getwh.
50271 (grub_term): New member named getwh.
50272 (grub_getwh): New prototype.
50273 * kern/term.c (grub_getwh): New function.
50274 * term/i386/pc/console.c (grub_console_getwh): New function.
50275 (grub_console_term): New member `getwh'.
50276 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50277 (grub_vga_term): New member `getwh'.
0b5abe02 50278 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50279 grub_ssize_t.
50280 (grub_ofconsole_getw): New function.
50281 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50282 (grub_ofconsole_term): New field named getwh and new initial
50283 value.
50284
3be7266d 502852005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50286
50287 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50288 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50289 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50290 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50291 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50292 of <grub/machine/ieee1275.h>.
50293 * commands/ieee1275/reboot.c: Likewise.
50294 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50295 * kern/ieee1275.c: ... to here. All users updated. Change all
50296 parameter structs to use new type `grub_ieee1275_cell_t'.
50297 * term/powerpc/ieee1275/ofconsole.c: Move ...
50298 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50299 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50300 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50301 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50302 to return int.
50303 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50304 Remove unused prototypes. All users updated.
50305 * include/grub/powerpc/ieee1275/console.h: Removed.
50306 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50307 `grub_ieee1275_cell_t'.
50308 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50309 Cast comparisons with -1 to the correct type.
50310 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50311 type to match `grub_ieee1275_entry_fn'.
50312
8b5f3938 503132005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50314
50315 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50316
50317 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50318 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50319 partmap/sun.c.
50320 (grub_probefs_SOURCES): New variable.
50321
50322 * util/i386/pc/grub-probefs.c: New file.
50323
50324 * util/i386/pc/grub-setup.c (main): Call
50325 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50326 grub_hfs_init and grub_jfs_init to initialize the system. Call
50327 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50328 grub_pc_partition_map_fini to finish the system.
50329
ea409713 503302005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50331
50332 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50333 function.
50334 (grub_multiboot_load_elf32): Likewise.
50335 (grub_multiboot_is_elf64): Likewise.
50336 (grub_multiboot_load_elf64): Likewise.
50337 (grub_multiboot_load_elf): Likewise.
50338 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50339 an ELF32 or ELF64 file.
50340 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50341
50342 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50343 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50344 NULL before calling FS->LABEL.
50345 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50346 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50347 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50348 before calling FS->LABEL.
50349
141a288b 503502005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50351
50352 * util/i386/pc/grub-install.in (datadir): New variable.
50353 (libdir): Removed.
50354 (pkgdatadir): New variable.
50355 (pkglibdir): Removed.
50356
0d5f8a54 503572005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50358
50359 * DISTLIST: Added util/i386/pc/grub-install.in.
50360
50361 * util/i386/pc/grub-install.in: New file.
50362
50363 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50364 (grub_install_SOURCES): Likewise.
50365
50366 * genmk.rb: Added support for scripts.
50367 (Script): New class.
50368 (scripts): New variable.
50369
50370 * Makefile.in (install-local): Install sbin_SCRIPTS by
50371 INSTALL_SCRIPT.
50372 (uninstall): Remove sbin_SCRIPTS.
50373
50374 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50375 device, try to get a GRUB device by
50376 grub_util_biosdisk_get_grub_dev.
50377 Free DEST_DEV.
50378
50379 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50380 description for --device-map.
50381
5f968e1e 503822005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50383
50384 Change the semantics of variable hooks. They now return strings
50385 instead of error values.
f19dbdb7 50386
5f968e1e 50387 * util/i386/pc/grub-setup.c: Include grub/env.h.
50388 (setup): Use grub_device_set_root instead of grub_env_set.
50389
50390 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50391 grub_env_get instead of grub_device_set_root and
50392 grub_device_get_root, respectively.
50393
50394 * kern/main.c (grub_env_write_root): New function.
50395 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50396 grub_env_set instead of grub_device_set_root.
50397
50398 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50399 many variables.
50400 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50401 rather than calling ENV->WRITE_HOOK afterwards.
50402 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50403 passing a pointer of a pointer.
50404 (grub_register_variable_hook): Change the types of "read_hook" and
50405 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50406 respectively.
50407 Allocate the default empty string on the heap, because this string
50408 may be freed later.
50409
50410 * kern/device.c: Include grub/env.h.
50411 (grub_device_set_root): Removed.
50412 (grub_device_get_root): Likewise.
50413 (grub_device_open): Use grub_env_get instead of
50414 grub_device_get_root.
50415
50416 * include/grub/env.h (grub_env_read_hook_t): New type.
50417 (grub_env_write_hook_t): Likewise.
50418 (grub_env_var): Change the types of "read_hook" and "write_hook"
50419 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50420 (grub_register_variable_hook): Likewise.
50421
50422 * include/grub/device.h (grub_device_set_root): Removed.
50423 (grub_device_set_root): Likewise.
50424
50425 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50426 make sure that DIRNAME terminates with '/', so that
50427 grub_fat_find_dir will fail if PATH is not a directory.
50428
50429 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50430 from DIRNAME.
50431 Use the qualifier auto for print_files and print_files_long.
50432 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50433 as a regular file.
50434 Put a newline only if there is no error.
50435 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50436 used.
50437
896f0afd 504382005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50439
50440 * kern/partition.c (grub_partition_probe): Initialize PART to
50441 NULL. Otherwise, when no partition map is registered, this returns
50442 a garbage.
50443
b28b81b2 504442005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50445
50446 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50447 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50448 valid.
50449
5f3607e0 504502005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50451
50452 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50453 information on each device, if it does not have partitions. Print
50454 "Device" instead of "Disk", because this function is not specific
50455 to disk devices.
50456
50457 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50458 static to ensure that it is put on the memory rather than a
50459 register.
50460
502c87e8 504612005-07-17 Yoshinori Okuji <okuji@enbug.org>
50462
50463 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50464 (grub_cat_init): Likewise.
50465 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50466 (options): Likewise.
50467 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50468 (grub_configfile_init): Likewise.
50469 * font/manager.c (GRUB_MOD_INIT): Likewise.
50470 * commands/help.c (GRUB_MOD_INIT): Likewise.
50471 (grub_help_init): Likewise.
50472 * normal/command.c (grub_command_init): Likewise.
50473 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50474 * disk/loopback.c (grub_loop_init): Likewise.
50475 (GRUB_MOD_INIT): Likewise.
50476 * commands/ls.c (grub_ls_init): Likewise.
50477 (GRUB_MOD_INIT): Likewise.
50478 (options): Likewise.
50479 * commands/boot.c (grub_boot_init): Likewise.
50480 (GRUB_MOD_INIT): Likewise.
50481 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50482 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50483 (GRUB_MOD_INIT): Likewise.
50484 * commands/cmp.c (grub_cmp_init): Likewise.
50485 (GRUB_MOD_INIT): Likewise.
50486
50487 * normal/arg.c: Use <> instead of "" to include header files.
50488 (SHORT_ARG_HELP): New macro.
50489 (SHORT_ARG_USAGE): Likewise.
50490 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50491 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50492 descriptions.
50493 (find_short): Check if C is 'h' or 'u' explicitly.
50494 (grub_arg_show_help): Use space characters instead of tabs. Treat
50495 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50496 are shown with --help and --usage only if they are not used for
50497 the command itself.
50498 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50499 'h' and 'u'.
50500
50501 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50502 const into "longarg". Change the type of "shortarg" to int.
50503
f806d18e 505042005-07-17 Yoshinori Okuji <okuji@enbug.org>
50505
50506 * boot/i386/pc/boot.S (boot_drive_check): New label.
50507
50508 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50509 macro.
50510
50511 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50512 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50513
e293232b 505142005-07-17 Yoshinori Okuji <okuji@enbug.org>
50515
50516 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50517 When turning off Gate A20, skip the check and return immediately,
50518 because this is not fatal usually.
50519
ebedfd00 505202005-07-17 Yoshinori Okuji <okuji@enbug.org>
50521
50522 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50523 be 0x7C00 instead of 0x8000.
50524
50525 * boot/i386/pc/pxeboot.S: Rewritten.
50526
50527 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50528 EXT_C.
50529 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50530 result.
50531
654fc59f 505322005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50533
50534 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50535 robustness. This routine now supports a BIOS call and System
50536 Control Port A to modify the gate A20.
50537
50538 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50539 Increased to 0x440.
50540
09f9923f 505412005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50542
50543 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50544 device path and resulting ihandle.
50545 (grub_ofdisk_close): dprintf the ihandle being closed.
50546 (grub_ofdisk_read): dprintf function parameters.
50547 * kern/mm.c (grub_mm_init_region): Likewise.
50548 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50549 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50550 size, and boot arguments.
50551 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50552 before loading into memory.
50553 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50554 before loading into memory.
50555
7ef504d8 505562005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50557
50558 * kern/mm.c: Added much documentation.
50559 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50560 8, set to 5 instead of 8.
50561
e0f050c2 505622005-07-10 Yoshinori Okuji <okuji@enbug.org>
50563
50564 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50565
50566 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50567 (grub_mkdevicemap_SOURCES): New variable.
50568
50569 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50570 lib/device.c of GRUB Legacy.
50571
7224189a 505722005-07-10 Yoshinori Okuji <okuji@enbug.org>
50573
50574 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50575 instead of PATH is NULL.
50576
68c864eb 505772005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50578
50579 * commands/cmp.c (BUFFER_SIZE): New macro.
50580 (grub_cmd_cmp): Close the right file at the right time. Compare
50581 only data just read. Don't report files of different size as
50582 identical. Dynamically allocate buffers. Move variable
50583 declarations at the beginning of function.
50584
e6f3e614 505852005-07-09 Yoshinori Okuji <okuji@enbug.org>
50586
50587 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50588 reverse.
50589
f8f1559a 505902004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50591
50592 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50593 when backspace is pressed at beginning of line.
50594
39c9d41d 505952005-07-03 Yoshinori Okuji <okuji@enbug.org>
50596
50597 * DISTLIST: Added genfslist.sh.
50598
50599 * normal/main.c (fs_module_list): New variable.
50600 (autoload_fs_module): New function.
50601 (read_fs_list): Likewise.
50602 (grub_normal_execute): Call read_fs_list.
50603
50604 * kern/fs.c (grub_fs_autoload_hook): New variable.
50605 (grub_fs_probe): Added support for auto-loading.
50606
50607 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50608 (grub_fs_module_list_t): New type.
50609
50610 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50611 (grub_fs_autoload_hook): New prototype.
50612
50613 * genfslist.sh: New file.
f19dbdb7 50614
39c9d41d 50615 * genmk.rb: Added a rule to generate a filesystem list.
50616
121c1d83 506172005-06-30 Marco Gerards <metgerards@student.han.nl>
50618
50619 * configure.ac: Fix the test for cross-compiling.
50620
50621 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50622 define GRUB_UTIL anymore.
50623
50624 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50625 so this function works on other systems than just big endian.
50626 (load_modules): Likewise.
50627 (add_segments): Likewise.
50628
e75d76e1 506292005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50630
50631 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50632 contains `l' modifier, get a long from va_arg().
50633
50b5a0a7 506342005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50635
50636 * kern/mm.c (grub_free): If the next free block which is being
50637 merged is the first free block, set the first block to the block
50638 being freed.
50639 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50640
89371b20 506412005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50642
50643 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50644 `grub_ieee1275_chosen'.
50645
168d6e58 506462005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50647
50648 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50649 (grub_ieee1275_chosen): New variable.
50650 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50651 `chosen'.
50652 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50653 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50654 Rename first argument to `phandle' for consistency.
50655 (grub_ieee1275_get_property_length): Likewise.
50656 (grub_ieee1275_next_property): Likewise. Change type of first argument
50657 to grub_ieee1275_phandle_t.
50658 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50659 Move export next to declaration.
50660 (grub_ieee1275_chosen): New variable.
50661 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50662 Correct cosmetic typo.
50663 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50664 `grub_ieee1275_chosen'.
50665 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50666 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50667 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50668 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50669 `grub_ieee1275_chosen'.
50670
ca5baa3f 506712005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50672
50673 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50674 /chosen/bootargs.
50675 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50676 /chosen/bootargs as "variable=value" pairs.
50677
708b345f 506782005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50679
50680 * include/grub/misc.h (grub_dprintf): New macro.
50681 (grub_real_dprintf): New prototype.
50682 (grub_strword): Likewise.
50683 (grub_iswordseparator): Likewise.
50684 * kern/misc.c (grub_real_dprintf): New function.
50685 (grub_strword): Likewise.
50686 (grub_iswordseparator): Likewise.
50687
f4c5e67c 506882005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50689
50690 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50691 (roundup): Remove macro.
50692 (grub_ieee1275_flags): Make static.
50693 (grub_ieee1275_realmode): Remove.
50694 (grub_ieee1275_test_flag): New function.
50695 (grub_ieee1275_set_flag): Likewise.
50696 (find_options): Rename to `grub_ieee1275_find_options'; update
50697 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50698 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50699 (cmain): New prototype.
50700 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50701 `grub_ieee1275_flags' directly.
50702 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50703 machine/biosdisk.h.
50704 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50705 Don't include grub/machine/init.h.
50706 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50707 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50708 Remove prototype.
50709 (grub_ieee1275_realmode): Likewise.
50710 (grub_ieee1275_flag): New enum.
50711 (grub_ieee1275_test_flag): New prototype.
50712 (grub_ieee1275_set_flag): New prototype.
50713 * include/grub/powerpc/ieee1275/init.h: Remove file.
50714 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50715 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50716 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50717 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50718 comment.
50719 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50720 `grub_ieee1275_test_flag'.
50721 (grub_ieee1275_encode_devname): Likewise.
50722
ed16607e 507232005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50724
50725 * include/grub/powerpc/ieee1275/ieee1275.h
50726 (grub_ieee1275_encode_devname): New prototype.
50727 (grub_ieee1275_get_filename): Likewise.
50728 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50729 function.
50730 (grub_set_prefix): Likewise.
50731 (grub_machine_init): Call grub_set_prefix.
50732 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50733 (grub_parse_type): New enum.
50734 (grub_ieee1275_get_devargs): New function.
50735 (grub_ieee1275_get_devname): Likewise.
50736 (grub_ieee1275_parse_args): Likewise.
50737 (grub_ieee1275_get_filename): Likewise.
50738 (grub_ieee1275_encode_devname): Likewise.
50739
be369920 507402005-03-30 Marco Gerards <metgerards@student.han.nl>
50741
50742 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50743 `grub_loader_unset'.
50744
a5ce3a4a 507452005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50746
50747 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50748 instead of grub_ieee1275_interpret.
50749 (grub_halt_init): New function.
50750 (grub_halt_fini): Likewise.
50751 (GRUB_MOD_INIT): Correct message grammar.
50752 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50753 instead of grub_ieee1275_interpret.
50754 (grub_reboot_init): New function.
50755 (grub_reboot_fini): Likewise.
50756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50757 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50758 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50759 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50760 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50761 function.
50762 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50763 Add prototype.
50764 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50765 prototype.
50766 (grub_halt): Likewise.
50767 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50768 (cmain): Remove __attribute__((unused)).
50769 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50770 (grub_heap_len): Likewise.
50771 (grub_machine_fini): New function.
50772 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50773 (grub_halt): Likewise.
50774 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50775 function.
50776 * util/powerpc/ieee1275/misc.c: New file.
50777
0058f771 507782005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50779
50780 * DISTLIST: New file.
50781 * gendistlist.sh: Likewise.
f19dbdb7 50782
0058f771 50783 * Makefile.in (COMMON_DISTFILES): Removed.
50784 (BOOT_DISTFILES): Likewise.
50785 (CONF_DISTFILES): Likewise.
50786 (DISK_DISTFILES): Likewise.
50787 (FS_DISTFILES): Likewise.
50788 (INCLUDE_DISTFILES): Likewise.
50789 (KERN_DISTFILES): Likewise.
50790 (LOADER_DISTFILES): Likewise.
50791 (TERM_DISTFILES): Likewise.
50792 (UTIL_DISTFILES): Likewise.
50793 (DISTFILES): Likewise.
50794 (uninstall): Uninstall files in $(pkgdata_DATA).
50795 (DISTLIST): New target.
50796 (distdir): Use the contents of the file DISTLIST to get a list of
50797 distributed files.
50798
46b3b8a5 507992005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50800
50801 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50802 descriptor. This is ported from GRUB Legacy.
50803
50804 * gencmdlist.sh: Added an extra semicolon to make it work with
50805 old sed versions. Reported by Robert Bihlmeyer
50806 <robbe@orcus.priv.at>.
50807
5822ff87 508082005-03-08 Yoshinori Okuji <okuji@enbug.org>
50809
50810 Automatic loading of commands is supported.
f19dbdb7 50811
5822ff87 50812 * normal/main.c (read_command_list): New function.
50813 (grub_normal_execute): Call read_command_list.
50814
50815 * normal/command.c (grub_register_command): Return zero or CMD.
50816 Allocate CMD->NAME from the heap.
50817 Initialize CMD->MODULE_NAME to zero.
50818 Find the same name as well. If the same command is found and it is
50819 a dummy command, overwrite members. If it is not a dummy command,
50820 return zero.
50821 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50822 (grub_command_find): If a dummy command is found, load a module
50823 and retry to find a command only once.
50824
50825 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50826 make sure that each command is loaded.
50827
50828 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50829 macro.
50830 (struct grub_command): Remove const from the member `name'.
50831 Add a new member `module_name'.
50832 (grub_register_command): Return grub_command_t.
50833
50834 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50835 sure that each command is loaded.
50836
50837 * genmk.rb (PModule::rule): Specify a module name without the
50838 suffix ".mod" to gencmdlist.sh.
50839
7b1f4b57 508402005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50841
50842 * gencmdlist.sh: New file.
f19dbdb7 50843
7b1f4b57 50844 * genmk.rb (PModule::rule): Generate a rule for a command list.
50845 Clean command.lst.
50846 Generate command.lst from $(COMMANDFILES).
50847
50848 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50849 (DATA): Added $(pkgdata_DATA).
50850 (install-local): Install files in $(pkgdata_DATA).
50851
062aaf39 508522005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50853
50854 * term/i386/pc/vga.c (debug_command): Removed.
50855 (GRUB_MOD_INIT): Do not register the command "debug".
50856
50857 From Hollis Blanchard:
50858 * commands/configfile.c: New file.
50859 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50860 commands/configfile.c.
50861 (pkgdata_MODULES): Added configfile.mod.
50862 (configfile_mod_SOURCES): New variable.
50863 (configfile_mod_CFLAGS): Likewise.
50864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50865 commands/configfile.c.
50866 (pkgdata_MODULES): Added configfile.mod.
50867 (configfile_mod_SOURCES): New variable.
50868 (configfile_mod_CFLAGS): Likewise.
50869 * util/grub-emu.c (main): Call grub_configfile_init and
50870 grub_configfile_fini.
50871 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50872 prototype.
50873 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 50874
cee01aa6 508752005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50876
50877 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50878 address.
50879
50880 * commands/help.c (grub_cmd_help): Do not print newlines after
50881 the last command in print_command_help.
50882
93f3a1d8 508832005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50884
50885 * commands/default.h: New file.
50886 * commands/timeout.h: Likewise.
50887 * normal/context.c: Likewise.
f19dbdb7 50888
93f3a1d8 50889 * util/misc.c: Do not include sys/times.h.
50890 Include sys/time.h and grub/machine/time.h.
50891 (grub_get_rtc): Rewritten with gettimeofday.
50892
50893 * util/grub-emu.c (main): Call grub_default_init and
50894 grub_timeout_init before grub_normal_init, and call
50895 grub_timeout_fini and grub_default_fini after grub_main.
50896
50897 * util/console.c (grub_ncurses_checkkey): Return the read
50898 character or -1.
50899
50900 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50901 timeouts.
50902
50903 * normal/main.c (read_config_file): Push MENU. If this fails,
50904 print an error and wait for a user input.
50905 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50906 If a menu is empty or an error occurs, pop MENU.
50907 (grub_normal_execute): Pop and free MENU after grub_menu_run
50908 returns.
50909
50910 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50911
50912 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50913 include time.h.
50914 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50915 without GRUB_UTIL.
50916 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
50917 time.h.
50918 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50919 without GRUB_UTIL.
50920
50921 * include/grub/normal.h (struct grub_menu_list): New struct.
50922 (grub_menu_list_t): New type.
50923 (struct grub_context): New struct.
50924 (grub_context_t): New type.
50925 (grub_register_command): Got rid of EXPORT_FUNC.
50926 (grub_unregister_command): Likewise.
50927 (grub_context_get): New prototype.
50928 (grub_context_get_current_menu): Likewise.
50929 (grub_context_push_menu): Likewise.
50930 (grub_context_pop_menu): Likewise.
50931 [GRUB_UTIL] (grub_default_init): Likewise.
50932 [GRUB_UTIL] (grub_default_fini): Likewise.
50933 [GRUB_UTIL] (grub_timeout_init): Likewise.
50934 [GRUB_UTIL] (grub_timeout_fini): Likewise.
50935
50936 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
50937 commands/timeout.c and normal/context.c.
50938 (pkgdata_MODULES): Added default.mod and timeout.mod.
50939 (normal_mod_SOURCES): Added normal/context.c.
50940 (default_mod_SOURCES): New variable.
50941 (default_mod_CFLAGS): Likewise.
50942 (timeout_mod_SOURCES): Likewise.
50943 (timeout_mod_CFLAGS): Likewise.
50944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
50945 conf/i386-pc.rmk.
50946 (pkgdata_MODULES): Added default.mod and timeout.mod.
50947 (normal_mod_SOURCES): Added normal/context.c.
50948 (default_mod_SOURCES): New variable.
50949 (default_mod_CFLAGS): Likewise.
50950 (timeout_mod_SOURCES): Likewise.
50951 (timeout_mod_CFLAGS): Likewise.
50952
50953 * Makefile.in (all-local): Added $(MKFILES).
50954
4ed2e1dd 509552005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
50956
50957 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
50958 (grub_emu_SOURCES): Likewise.
50959 (pkgdata_MODULES): Add `sun.mod'.
50960 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50962 `partmap/sun.c'.
50963 (pkgdata_MODULES): Add `sun.mod'.
50964 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50965 * include/grub/partition.h (grub_sun_partition_map_init): New
50966 prototype.
50967 (grub_sun_partition_map_fini): Likewise.
50968 * partmap/sun.c: New file.
50969 * util/grub-emu.c (main): Initialize and de-initialize the sun
50970 partitionmap support.
50971
4d4e372e 509722005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
50973
50974 This implements an Emacs-like menu entry editor.
f19dbdb7 50975
4d4e372e 50976 * normal/menu_entry.c: New file.
f19dbdb7 50977
4d4e372e 50978 * util/console.c (grub_ncurses_putchar): Translate some Unicode
50979 characters to ASCII.
50980 (saved_char): New variable.
50981 (grub_ncurses_checkkey): Rewritten completely.
50982 (grub_ncurses_getkey): Likewise.
50983 (grub_ncurses_init): Call raw instead of cbreak.
50984
50985 * normal/menu.c (print_entry): Do not put a space.
50986 (init_page): Renamed to ...
50987 (grub_menu_init_page): ... this. All callers changed.
50988 (edit_menu_entry): Removed.
50989 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
50990
50991 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
50992
50993 * kern/misc.c (grub_vprintf): Call grub_refresh.
50994
50995 * normal/menu.c (DISP_LEFT): Renamed to ...
50996 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
50997 * normal/menu.c (DISP_UP): Renamed to ...
50998 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
50999 * normal/menu.c (DISP_RIGHT): Renamed to ...
51000 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51001 * normal/menu.c (DISP_DOWN): Renamed to ...
51002 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51003 * normal/menu.c (DISP_HLINE): Renamed to ...
51004 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51005 * normal/menu.c (DISP_VLINE): Renamed to ...
51006 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51007 * normal/menu.c (DISP_UL): Renamed to ...
51008 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51009 * normal/menu.c (DISP_UR): Renamed to ...
51010 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51011 * normal/menu.c (DISP_LL): Renamed to ...
51012 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51013 * normal/menu.c (DISP_LR): Renamed to ...
51014 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51015 * normal/menu.c (TERM_WIDTH): Renamed to ...
51016 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51017 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51018 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51019 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51020 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51021 * normal/menu.c (TERM_MARGIN): Renamed to ...
51022 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51023 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51024 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51025 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51026 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51027 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51028 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51029 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51030 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51031 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51032 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51033 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51034 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51035 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51036 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51037 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51038 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51039 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51040 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51041 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51042 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51043 All callers changed.
51044
51045 * include/grub/normal.h: New prototype.
51046
51047 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51048 normal/menu_entry.c.
51049 (normal_mod_SOURCES): Likewise.
51050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51051 (normal_mod_SOURCES): Likewise.
51052
e6b92c8a 510532005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51054
51055 * include/grub/normal.h (grub_halt_init): New prototype.
51056 (grub_halt_fini): Likewise.
51057 (grub_reboot_init): Likewise.
51058 (grub_reboot_fini): Likewise.
51059
51060 * util/grub-emu.c: Include signal.h.
51061 (main_env): New global variable.
51062 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51063 catch C-c.
51064 (grub_machine_fini): New function.
51065 (main): Call grub_halt_init and grub_reboot_init before
51066 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51067 Call setjmp with MAIN_ENV to go back afterwards.
51068 Call grub_machine_fini right before return.
51069
51070 * include/grub/util/misc.h: Include setjmp.h.
51071 (main_env): New prototype.
51072
51073 * include/grub/kernel.h (grub_machine_fini): New prototype.
51074 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51075 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51076
51077 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51078 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51079 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51080
e6b92c8a 51081 * util/i386/pc/misc.c: New file.
f19dbdb7 51082
e6b92c8a 51083 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51084 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51085 commands/i386/pc/reboot.c.
51086
c642636f 510872005-02-14 Guillem Jover <guillem@hadrons.org>
51088
51089 * include/grub/dl.h (grub_dl_check_header): New prototype.
51090 (grub_arch_dl_check_header): Change return type to grub_err_t,
51091 remove size parameter and export function. Update all callers.
51092 * kern/dl.c (grub_dl_check_header): New function.
51093 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51094 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51095 are inside the core.
51096 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51097 independent ELF header checks.
51098 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51099 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51100 `grub_dl_check_header' instead of explicit checks. Check for the
51101 ELF type.
51102 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51103 `grub_dl_check_header' instead of explicit checks. Remove arch
51104 specific ELF header checks.
51105
e6b92c8a 51106 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51107 argument SIZE.
51108
5eabe94b 511092005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51110
51111 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51112 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51113
1b14a681 511142005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51115
51116 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51117 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51118 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51119 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51120 * partmap/amiga.c (amiga_partition_map_iterate): Return
51121 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51122 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51123
aca108aa 511242005-02-01 Guillem Jover <guillem@hadrons.org>
51125
51126 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51127 help info.
51128
c9f9c556 511292005-01-31 Marco Gerards <metgerards@student.han.nl>
51130
51131 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51132 Removed prototype.
51133 (grub_rescue_cmd_linux): New prototype.
51134 (grub_rescue_cmd_initrd): Likewise.
51135 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51136 `bi_rec'.
51137 (grub_linux_release_mem): Release the memory for the initrd.
51138 (grub_load_linux): Renamed from this...
51139 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51140 Changed `entry' not to be static. Loop over memory regions to
51141 find another one when the default fails.
51142 (grub_rescue_cmd_initrd): New function.
51143 (grub_linux_init): Remove function.
51144 (grub_linux_fini): Likewise.
51145 (GRUB_MOD_INIT): Register `initrd'.
51146 (GRUB_MOD_FINI): Unregister `initrd'.
51147 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51148 Function removed.
51149 (grub_linux_normal_fini): Likewise.
51150 (GRUB_MOD_INIT): Register `initrd'.
51151 (GRUB_MOD_FINI): Unregister `initrd'.
51152
990cf3aa 511532005-01-31 Marco Gerards <metgerards@student.han.nl>
51154
51155 * commands/help.c: New file.
51156 * normal/arg.c (show_help): Renamed to...
51157 (grub_arg_show_help): ... this.
51158 * commands/i386/pc/halt.c: New file.
51159 * commands/i386/pc/reboot.c: Likewise.
51160 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51161 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51162 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51163 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51164 variables.
51165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51166 `commands/help.c'.
51167 (pkgdata_MODULES): Add `help.mod'.
51168 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51169 * grub/i386/pc/init.h (grub_reboot): New prototype.
51170 (grub_halt): Likewise.
51171 * include/grub/normal.h (grub_arg_show_help): New prototype.
51172 (grub_help_init): Likewise.
51173 (grub_help_fini): Likewise.
51174 * util/grub-emu.c (main): Initialize and deinitialize the help
51175 command.
51176
51177 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51178
51179 * normal/command.c (grub_command_init): Fixed the description of
51180 the `set' and `unset' commands.
51181
511822005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51183
51184 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51185 function.
51186 * commands/ieee1275/halt.c: New file.
51187 * commands/ieee1275/reboot.c: Likewise.
51188 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51189 `__attribute__ ((unused))'. Some GCS related fixed.
51190 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51191 (grub_suspend_fini): Likewise.
51192 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51193 and `halt.mod'.
51194 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51195 (halt_mod_CFLAGS): New variables.
51196 * include/grub/powerpc/ieee1275/ieee1275.h
51197 (grub_ieee1275_interpret): New prototype.
51198
1ab09cc7 511992005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51200
51201 * include/grub/misc.h (memmove): New prototype.
51202 (memcpy): Likewise.
51203
8b8cbdb2 512042005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51205
51206 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51207 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51208
e3741a27 512092005-01-22 Marco Gerards <metgerards@student.han.nl>
51210
51211 * kern/misc.c (grub_strndup): Function rewritten.
51212
776bd780 512132005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51214
51215 * normal/menu.c (TERM_WIDTH): Macro redefined.
51216 (TERM_TOP_BORDER_Y): Likewise.
51217 (draw_border): Replaced while-loop by a for-loop. Make the number
51218 of lines consistent with the number of lines displayed in
51219 print_entries. Added a margin below the rectangle.
51220 (print_entry): Make the entry fit in the rectangle.
51221 (print_entries): Display the scroll arrows next to the right
51222 border.
51223
78026bce 512242005-01-21 Marco Gerards <metgerards@student.han.nl>
51225
51226 * fs/minix.c (grub_minix_find_file): Reserve more space for
51227 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51228 `grub_strncpy' to copy `path' into it.
51229
67bbaf0f 512302005-01-21 Marco Gerards <metgerards@student.han.nl>
51231
51232 Add the loopback device, a device via which files can be accessed
51233 as devices.
f19dbdb7 51234
67bbaf0f 51235 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51236 (pkgdata_MODULES): Add loopback.mod.
51237 (loopback_mod_SOURCES): New variable.
51238 (loopback_mod_CFLAGS): Likewise.
51239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51240 `disk/loopback.c'.
51241 (pkgdata_MODULES): Add loopback.mod.
51242 (loopback_mod_SOURCES): New variable.
51243 (loopback_mod_CFLAGS): Likewise.
51244 * disk/loopback.c: new file.
51245 * include/grub/normal.h (grub_loop_init): New prototype.
51246 (grub_loop_fini): New prototype.
51247 * util/grub-emu.c (main): Initialize and de-initialize loopback
51248 support.
51249 * include/grub/disk.h (grub_disk_dev_id): Add
51250 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51251
6f1c18bd 512522005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51253
51254 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51255 function.
51256 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51257 (suspend_mod_SOURCES): New variable.
51258 (suspend_mod_CFLAGS): Likewise.
51259 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51260 New prototype.
51261 * commands/ieee1275/suspend.c: New file.
51262
b38551da 512632005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51264
51265 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51266 ((unused))' to `__attribute__ ((used))'.
b38551da 51267 (GRUB_MOD_FINI): Likewise.
51268 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51269 * genmk.rb (PModule): Assign space to common symbols when linking
51270 modules.
51271
777aff39 512722005-01-20 Marco Gerards <metgerards@student.han.nl>
51273
51274 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51275 `unsigned' arguments to `grub_size_t'.
51276 (grub_malloc): Likewise.
51277 (grub_realloc): Likewise.
51278 (grub_memalign): Likewise.
51279 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51280 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51281 * util/misc.c (grub_malloc): Likewise.
51282 (grub_realloc): Likewise.
51283 * kern/mm.c (get_header_from_pointer): Change the casts to
51284 `unsigned' into a cast to `grub_size_t'.
51285
51286 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51287 point to `currnode' when `currnode' is changed.
51288
51289 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51290 Schottelius <nico-linux@schottelius.org>.
51291
d0ff18e1 512922005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51293
51294 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51295 (note_path): Remove variable.
51296 (GRUB_IEEE1275_NOTE_NAME): New macro.
51297 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51298 (grub_ieee1275_note_hdr): New structure.
51299 (grub_ieee1275_note_desc): Likewise.
51300 (grub_ieee1275_note): Likewise.
51301 (load_note): Remove `dir' argument. All callers updated. Remove
51302 `note_img' and `path'. Do not load a file from `note_path'.
51303 Initialize a struct grub_ieee1275_note and write that to `out'.
51304 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51305
4ca7004c 513062005-01-05 Marco Gerards <metgerards@student.han.nl>
51307
51308 * util/misc.c (grub_util_read_image): Revert last change. It
51309 called `grub_util_read_at', which seeks from the beginning of the
51310 file.
51311
0b412211 513122005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51313
51314 * TODO: Add note about endianness in grub-mkimage.
51315 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51316 section.
51317 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51318 (grub_mkimage_SOURCES): New target.
51319 * include/grub/kernel.h (grub_start_addr): Remove variable.
51320 (grub_end_addr): Likewise.
51321 (grub_total_module_size): Likewise.
51322 (grub_kernel_image_size): Likewise.
51323 (GRUB_MODULE_MAGIC): New constant.
51324 (grub_module_info): New structure.
51325 (grub_arch_modules_addr): New prototype.
51326 (grub_get_end_addr): Remove prototype.
51327 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51328 * include/grub/powerpc/ieee1275/kernel.h: New file.
51329 * include/grub/util/misc.h (grub_util_get_fp_size): New
51330 prototype.
51331 (grub_util_read_at): Likewise.
51332 (grub_util_write_image_at): Likewise.
51333 * kern/main.c (grub_get_end_addr): Remove function.
51334 (grub_load_modules): Call grub_arch_modules_addr instead of using
51335 grub_end_addr. Look for a grub_module_info struct in memory. Use
51336 the grub_module_info fields instead of calling grub_get_end_addr
51337 as loop conditions. Move grub_add_unused_region code here.
51338 (grub_add_unused_region): Remove function.
51339 * kern/i386/pc/init.c: Include grub/cache.h.
51340 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51341 one call to add_mem_region.
51342 (grub_arch_modules_addr): New function.
51343 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51344 (grub_total_module_size): Likewise.
51345 Include grub/machine/kernel.h.
51346 (grub_arch_modules_addr): New function.
51347 * util/grub-emu.c (grub_end_addr): Remove variable.
51348 (grub_total_module_size): Likewise.
51349 (grub_arch_modules_addr): New function.
51350 * util/misc.c: Include unistd.h.
51351 (grub_util_get_fp_size): New function.
51352 (grub_util_read_at): Likewise.
51353 (grub_util_write_image_at): Likewise.
51354 (grub_util_read_image): Call grub_util_read_at.
51355 (grub_util_write_image): Call grub_util_write_image_at.
51356 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51357 additional memory in kernel_img for a struct grub_module_info.
51358 Fill in that grub_module_info.
51359 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51360
458786f8 513612005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51362
51363 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51364 New function.
51365 * include/grub/powerpc/ieee1275/ieee1275.h
51366 (grub_ieee1275_milliseconds): New prototype.
51367 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51368 Change to 1000.
51369 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51370 grub_ieee1275_milliseconds.
51371
ac507d1b 513722005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51373
51374 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51375 variable.
51376 (find_options): New function.
51377 (cmain): Call find_options.
51378 * include/grub/powerpc/ieee1275/ieee1275.h
51379 (grub_ieee1275_realmode): New extern variable.
51380 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51381 grub_map if grub_ieee1275_realmode is false.
51382
6b8fd1c4 513832004-12-29 Marco Gerards <metgerards@student.han.nl>
51384
51385 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51386 lines are inserted and make it work like readline. Reported by
51387 Vincent Pelletier <subdino2004@yahoo.fr>.
51388
8514a1e0 513892004-12-28 Marco Gerards <metgerards@student.han.nl>
51390
51391 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51392
51393 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51394 `kern/powerpc/cache.S'.
51395
924b6140 513962004-12-27 Marco Gerards <metgerards@student.han.nl>
51397
51398 * genmk.rb: Handle the `Program' class in the main loop. Written
51399 by Johan Rydberg <jrydberg@gnu.org>.
51400 (Program): New class.
51401 (programs): New variable.
51402 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51403 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51404 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51405 (help_arch): Function removed.
51406 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51407 `powerpc/libgcc.h' and `loader.h'.
51408 (pkgdata_PROGRAMS): New variable.
51409 (sbin_UTILITIES): Variable removed.
51410 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51411 (grubof_SOURCES): Variable re-defined so it only includes the
51412 core functionality.
51413 (grubof_CFLAGS): Remove `-DGRUBOF'.
51414 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51415 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51416 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51417 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51418 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51419 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51420 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51421 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51422 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51423 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51424 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51425 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51426 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51427 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51428 (pc_mod_CFLAGS): New variables.
51429 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51430 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51431 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51432 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51433 Moved from here...
51434 * include/grub/i386/pc/init.h (grub_os_area_addr)
51435 (rub_os_area_size): ... to here.
51436 * include/grub/powerpc/ieee1275/ieee1275.h
51437 (grub_ieee1275_entry_fn): Export symbol.
51438 * include/grub/powerpc/ieee1275/init.h: New file.
51439 * include/grub/powerpc/libgcc.h: Likewise.
51440 * include/grub/cache.h: Likewise.
51441 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51442 <hollis@penguinppc.org>.
51443 * kern/dl.c: Include <grub/cache.h>.
51444 (grub_dl_flush_cache): New function.
51445 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51446 for this module.
51447 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51448 (grub_console_init): Removed prototypes.
51449 (grub_machine_init): Don't initialize the modules anymore.
51450 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51451 static.
51452 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51453 Macro undef removed.
51454 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51455 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51456 relocation `R_PPC_REL32'. Return an error when the relocation is
51457 unknown.
51458 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51459 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51460 * util/misc.c (grub_arch_sync_caches): Likewise.
51461
e4b47e0c 514622004-12-19 Marco Gerards <metgerards@student.han.nl>
51463
51464 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51465 `symlist.c', add `grubof_symlist.c'.
51466 (symlist.c): Variable removed.
51467 (grubof_HEADERS): Variable added.
51468 (grubof_symlist.c): New target.
51469 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51470 `kernel_img_HEADERS'.
51471 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51472 * kern/powerpc/dl.c: New file.
51473 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51474 Function removed.
51475 (grub_arch_dl_relocate_symbols): Likewise.
51476 (grub_register_exported_symbols): Likewise.
51477
4ceb3636 514782004-12-13 Marco Gerards <metgerards@student.han.nl>
51479
51480 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51481 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51482 to fail instead. Reported by Vincent Pelletier
51483 <subdino2004@yahoo.fr>.
51484
51485 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51486 it is not allocated. Reported by Vincent Pelletier
51487 <subdino2004@yahoo.fr>.
51488
51489 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51490 output so the output looks better.
f19dbdb7 51491
3f1578fe 514922004-12-04 Marco Gerards <metgerards@student.han.nl>
51493
51494 Modulize the partition map support and add support for the amiga
51495 partition map.
f19dbdb7 51496
3f1578fe 51497 * commands/ls.c: Include <grub/partition.h> instead of
51498 <grub/machine/partition.h>.
51499 * kern/disk.c: Likewise.
51500 * kern/rescue.c: Likewise.
51501 * loader/i386/pc/chainloader.c: Likewise.
51502 * normal/cmdline.c: Likewise.
51503 * kern/powerpc/ieee1275/init.c: Likewise.
51504 (grub_machine_init): Call `grub_pc_partition_map_init',
51505 `grub_amiga_partition_map_init' and
51506 `grub_apple_partition_map_init'.
51507 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51508 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51509 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51510 `partition.h' and `pc_partition.h'.
51511 (grub_setup_SOURCES): Remove
51512 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51513 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51514 (grub_emu_SOURCES): Likewise.
51515 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51516 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51517 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51519 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51520 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51521 (grubof_SOURCES): Likewise.
51522 * disk/i386/pc/partition.c: File removed.
51523 * disk/powerpc/ieee1275/partition.c: Likewise.
51524 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51525 * include/grub/i386/pc/partition.h: Likewise.
51526 * kern/partition.c: New file.
51527 * partmap/amiga.c: Likewise.
51528 * partmap/apple.c: Likewise.
51529 * partmap/pc.c: Likewise.
51530 * include/grub/partition.h: Likewise..
51531 * include/grub/pc_partition.h: Likewise.
51532 * util/grub-emu.c: Include <grub/partition.h> instead of
51533 <grub/machine/partition.h>.
51534 (main): Call `grub_pc_partition_map_init',
51535 `grub_amiga_partition_map_init' and
51536 `grub_apple_partition_map_init' and deinitialize afterwards.
51537 * util/i386/pc/biosdisk.c: Include `#include
51538 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51539 `<grub/machine/partition.h>'.
51540 * util/i386/pc/grub-setup.c: Likewise.
51541 * util/i386/pc/biosdisk.c: Likewise.
51542 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51543 partition information in case of a PC partition.
51544 * util/i386/pc/grub-setup.c: Include `#include
51545 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51546 `<grub/machine/partition.h>'.
51547 (setup): Only access the PC specific partition information in case
51548 of a PC partition.
51549
0ef4ced9 515502004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51551
0ef4ced9 51552 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51553 (grub_longjmp): Likewise.
51554 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51555 20.
51556 * normal/powerpc/setjmp.S: New file.
51557 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51558 `normal/powerpc/setjmp.S'.
51559 (grubof_CFLAGS): Add `-DGRUBOF'.
51560 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51561 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51562
19950e29 515632004-11-16 Marco Gerards <metgerards@student.han.nl>
51564
51565 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51566 property named `name'. Correctly handle the error returned by
51567 `grub_ieee1275_finddevice' if a device can not be opened.
51568
a2fea427 515692004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51570
51571 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51572 `actual' for negativity.
51573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51574 kern/fshelp.c.
51575
41ea0ea3 515762004-11-01 Marco Gerards <metgerards@student.han.nl>
51577
51578 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51579 (PAGE_OFFSET): New macro.
51580 (CRTC_ADDR_PORT): Likewise.
51581 (CRTC_DATA_PORT): Likewise.
51582 (START_ADDR_HIGH_REGISTER): Likewise.
51583 (START_ADDR_LOW_REGISTER): Likewise.
51584 (GRAPHICS_ADDR_PORT): Likewise.
51585 (GRAPHICS_DATA_PORT): Likewise.
51586 (READ_MAP_REGISTER): Likewise.
51587 (INPUT_STATUS1_REGISTER): Likewise.
51588 (INPUT_STATUS1_VERTR_BIT): Likewise.
51589 (page): New variable.
51590 (wait_vretrace): New function.
51591 (set_read_map): Likewise.
51592 (set_start_address): Likewise.
51593 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51594 the right page.
51595 (check_vga_mem): Take the page into account.
51596 (write_char): Likewise.
51597 (write_cursor): Likewise.
51598 (scroll_up): Likewise. Copy the page to the page that is not
51599 shown and switch between both pages.
51600 (grub_vga_putchar): Fix off by one error.
51601 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51602 account.
51603
ad0bd20b 516042004-11-01 Marco Gerards <metgerards@student.han.nl>
51605
51606 Add support for iso9660 (including rockridge).
f19dbdb7 51607
ad0bd20b 51608 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51609 (iso9660_mod_SOURCES): New variable.
51610 (iso9660_mod_CFLAGS): Likewise.
51611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51612 * include/grub/fs.h (grub_iso9660_init): New prototype.
51613 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51614 * fs/iso9660.c: New file.
51615
51616 * include/grub/misc.h (grub_strncat): New prototype.
51617 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51618
ad0bd20b 51619 * fs/hfs.c (grub_hfs_mount): Translate the error
51620 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51621 * fs/jfs.c (grub_jfs_mount): Likewise.
51622 * fs/ufs.c (grub_ufs_mount): Likewise.
51623
a5477a59 516242004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51625
51626 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51627 which initialized BAT registers.
51628 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51629 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51630 Move from here...
51631 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51632 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51633 ... to here.
51634 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51635 (grub_mapclaim): Likewise.
51636 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51637 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51638 hand.
51639
9304c1f8 516402004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51641
51642 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51643 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51644 -ffreestanding and -msoft-float.
51645
86f4ae25 516462004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51647
51648 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51649 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51650 set in grub_ieee1275_flags.
51651
38912228 516522004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51653
51654 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51655 prototype.
51656 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51657 grub_console_init first.
51658 Change the memory range used for grub_ieee1275_claim and
51659 grub_mm_init_region.
51660 Print an error message if the claim fails.
51661 Include <grub/misc.h>.
51662
d1923dc8 516632004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51664
51665 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51666 Call grub_children_iterate for device nodes of type `scsi',
51667 `ide', or `ata'.
51668 (grub_ofdisk_open): Remove manual device alias resolution.
51669 Fix memory leak when device cannot be opened.
f19dbdb7 51670 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51671 (grub_children_iterate): New prototype.
51672 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51673 New function.
51674 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51675 Return -1 if args.size was -1.
51676
4512e4f3 516772004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51678
51679 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51680 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51681 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51682 Open Firmware's memory for it; claim memory from _start to _end.
51683 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51684 (_end): New extern.
51685 (_start): Zero BSS from __bss_start to _end.
51686 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51687 New extern.
51688 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51689
4d61feb0 516902004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51691
ad0bd20b 51692 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51693 -1 if args.base was -1.
4d61feb0 51694
026fa2f9 516952004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51696
51697 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51698 escape sequence instead of a literal ^L. Also call
51699 grub_ofconsole_gotoxy.
51700
9f2220ef 517012004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51702
51703 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51704 void * arguments to grub_addr_t. All callers updated. Also make
51705 the `result' argument optional.
51706 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51707 All callers updated.
51708
8a572cd7 517092004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51710
51711 * commands/ls.c (grub_ls_list_files): Use the string following the
51712 initial ')', if present, as the filesystem path.
51713 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51714
51715 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51716
18aa81f2 517172004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51718
51719 Make the source code of the menu interface more readable.
f19dbdb7 51720
18aa81f2 51721 * normal/menu.c: Include grub/mm.h.
51722 (TERM_WIDTH): New macro.
51723 (TERM_HEIGHT): Likewise.
51724 (TERM_INFO_HEIGHT): Likewise.
51725 (TERM_MARGIN): Likewise.
51726 (TERM_SCROLL_WIDTH): Likewise.
51727 (TERM_TOP_BORDER_Y): Likewise.
51728 (TERM_LEFT_BORDER_X): Likewise.
51729 (TERM_BORDER_WIDTH): Likewise.
51730 (TERM_MESSAGE_HEIGHT): Likewise.
51731 (TERM_BORDER_HEIGHT): Likewise.
51732 (TERM_NUM_ENTRIES): Likewise.
51733 (TERM_FIRST_ENTRY_Y): Likewise.
51734 (TERM_ENTRY_WIDTH): Likewise.
51735 (TERM_CURSOR_X): Likewise.
51736 (draw_border): Use macros instead of magic numbers.
51737 (print_entry): Likewise.
51738 (print_entries): Likewise.
51739 (run_menu): Likewise. Also, handle the key 'e'.
51740 (run_menu_entry): Ignore empty command lines.
51741 (print_message): Added a new argument EDIT. If EDIT is true,
51742 print a different message.
51743 (init_page): Likewise.
51744 (edit_menu_entry): New function. Not implemented yet.
51745
b47efe30 517462004-09-17 Marco Gerards <metgerards@student.han.nl>
51747
51748 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51749 can be loaded from normal mode.
f19dbdb7 51750
b47efe30 51751 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51752 `multiboot.mod'.
51753 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51754 (multiboot_mod_CFLAGS): New variables.
51755 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51756 * loader/i386/pc/multiboot_normal.c: Likewise.
51757
b47efe30 51758 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51759 attribute `unused'.
f19dbdb7 51760
b47efe30 51761 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51762 `fdiro' to read the mode information from instead of `diro'.
51763
51764 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51765 looking up a symlink.
51766
51767 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51768 macro.
51769 * normal/command.c (grub_command_execute): Don't parse the
51770 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51771 flags of the command.
51772
51773 * normal/menu.c (grub_menu_run): Fix typo.
51774
da75ac71 517752004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51776
51777 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51778
51779 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51780 `y + 1' instead of `y - 1'.
51781
51782 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 51783
062b24c2 517842004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51785
51786 From Hollis Blanchard <hollis@penguinppc.org>:
51787 * kern/misc.c (memmove): New alias for grub_memmove.
51788 (memcmp): New alias for grub_memcmp.
51789 (memset): New alias for grub_memset.
f19dbdb7 51790 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 51791 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 51792 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 51793 (grub_ieee1275_get_property): Likewise.
f19dbdb7 51794
8ddad845 517952004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51796
51797 Added normal mode command `chainloader' as module chain.mod, which
51798 depends on normal.mod and _chain.mod.
f19dbdb7 51799
8ddad845 51800 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51801 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51802 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51803 Deleted prototype.
51804 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51805 but arguments parsing moved to ...
51806 (grub_chainloader_cmd): ... here. New function.
51807 * include/grub/i386/pc/chainloader.h: New file.
51808 * loader/i386/pc/chainloader_normal.c: Likewise.
51809
2c1f4ce3 518102004-09-11 Marco Gerards <metgerards@student.han.nl>
51811
51812 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51813 (grub_mkimage_LDFLAGS): Likewise.
51814 (grub_emu_SOURCES): Likewise.
51815 (kernel_img_HEADERS): Added fshelp.h.
51816 * fs/ext2.c: Include <grub/fshelp.h>.
51817 (FILETYPE_REG): New macro.
51818 (FILETYPE_INO_REG): Likewise.
51819 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51820 Changed all users.
51821 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51822 all users.
51823 (grub_fshelp_node): New struct.
51824 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51825 to a pointer.
51826 (grub_ext2_get_file_block): Removed function.
51827 (grub_ext2_read_block): New function.
51828 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51829 This function was written.
51830 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51831 (grub_ext2_find_file): Removed function.
51832 (grub_ext2_read_symlink): New function.
51833 (grub_ext2_iterate_dir): Likewise.
51834 (grub_ext2_open): Rewritten.
51835 (grub_ext2_dir): Rewritten.
51836 * include/grub/fshelp.h: New file.
51837 * fs/fshelp.c: Likewise.
51838
3c52136a 518392004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51840
51841 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51842 (print_message): Add a missing newline.
51843 (run_menu): Added timeout support.
51844 (run_menu_entry): New local function.
51845 (grub_menu_run): Added support for booting.
51846
51847 * kern/loader.c (grub_loader_is_loaded): New function.
51848
51849 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51850 (grub_get_rtc): Exported.
51851
51852 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51853 (grub_get_rtc): Exported.
51854
51855 * include/grub/normal.h (struct grub_command_list): Remove
51856 constant from the member `command'.
51857
51858 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51859
51860 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51861
51862 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51863
aa033560 518642004-08-28 Marco Gerards <metgerards@student.han.nl>
51865
51866 Add support for the JFS filesystem.
51867
51868 * fs/jfs.c: New file.
51869 * include/grub/fs.h (grub_jfs_init): New prototype.
51870 (grub_jfs_fini): New prototype.
51871 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51872 (grub_emu_SOURCES): Likewise.
51873 (pkgdata_MODULES): Add jfs.mod.
51874 (jfs_mod_SOURCES): New variable.
51875 (jfs_mod_CFLAGS): Likewise.
51876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51877 (grubof_SOURCES): Likewise.
51878 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51879
51880 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51881 endian to the host endian.
51882 (grub_fat_utf16_to_utf8): Move function from there...
51883 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 51884 the endianness of the source string anymore.
aa033560 51885 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51886
94bc45af 518872004-08-24 Marco Gerards <metgerards@student.han.nl>
51888
51889 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51890 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51891 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51892 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 51893
94bc45af 51894 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51895 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51896 for `node_found' and `it_dir'.
51897 (grub_hfs_dir): Add prototype for `dir_hook'.
51898
51899 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51900 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51901 and `indir32' to silence a gcc warning.
51902
51903 * include/grub/fs.h (grub_hfs_init): New prototype.
51904 (grub_hfs_fini): Likewise.
f19dbdb7 51905
51906
97543f08 519072004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51908
51909 Each disk device has its own id now. This is useful to make use
51910 of multiple disk devices.
f19dbdb7 51911
97543f08 51912 * include/grub/disk.h (grub_disk_dev_id): New enum.
51913 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51914 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51915
51916 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
51917 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51918
51919 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
51920 GRUB_DISK_DEVICE_OFDISK_ID as an id.
51921
51922 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
51923 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51924
51925 * include/grub/disk.h (struct grub_disk_dev): Added a new member
51926 "id" which is used by the cache manager.
51927
51928 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
51929 of just "GRUB".
51930
64372eb4 519312004-08-18 Marco Gerards <metgerards@student.han.nl>
51932
51933 * fs/hfs.c: New file.
51934 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
51935 (grub_emu_SOURCES): Likewise.
51936 (pkgdata_MODULES): Add hfs.mod.
51937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
51938 (grubof_SOURCES): Likewise.
51939 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
51940
51941 * include/grub/misc.h (grub_strncasecmp): Add prototype.
51942 * kern/misc.c (grub_strncasecmp): Add function.
51943
cc61b58f 519442004-08-14 Marco Gerards <metgerards@student.han.nl>
51945
51946 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
51947 with parentheses.
51948
51949 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
51950 (grub_ext2_dir): In case the directory entry type is unknown, read
51951 it from the inode.
51952
0ef123f6 519532004-08-02 Peter Bruin <pjbruin@dds.nl>
51954
51955 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
51956 grub_load_linux instead of grub_rescue_cmd_linux as second
51957 argument of grub_rescue_register_command.
51958
51959 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
51960
a447c5df 519612004-07-27 Marco Gerards <metgerards@student.han.nl>
51962
51963 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
51964 function.
51965 * commands/boot.c: Remove the check for `GRUB_UTIL'.
51966 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51967 `loader/powerpc/ieee1275/linux.c',
51968 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
51969 * include/grub/powerpc/ieee1275/ieee1275.h
51970 (grub_ieee1275_release): New prototype.
51971 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
51972 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
51973 normal, boot, linux and linux_normal.
51974 * loader/powerpc/ieee1275/linux.c: New file.
51975 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
51976
5a9e3546 519772004-07-12 Marco Gerards <metgerards@student.han.nl>
51978
51979 * normal/arg.c (grub_arg_parse): Correct error handling after
51980 reallocating the argumentlist (check if `argl' is not null instead
51981 of checking if `args' is not null).
51982 * kern/mm.c (grub_realloc): Return the same pointer when using the
51983 same region, instead of returning the header address.
51984
e15199cb 519852004-07-11 Marco Gerards <metgerards@student.han.nl>
51986
51987 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
51988 one block instead of two when looking for the initial partition.
51989 (grub_partition_probe): Initialize the local variable `p' with 0.
51990 Use base 10 for the grub_strtoul call.
51991 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
51992 need for one local variable.
51993 (grub_strtoul): Don't add the new value to `num', instead of that
51994 just assign it.
51995
020616c2 519962004-07-11 Marco Gerards <metgerards@student.han.nl>
51997
51998 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
51999 (pxeboot_img_SOURCES): New variable.
52000 (pxeboot_img_ASFLAGS): Likewise.
52001 (pxeboot_img_LDFLAGS): Likewise.
52002 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52003 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52004 <lode_leroy@hotmail.com>.
52005
6c51eb64 520062004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52007
52008 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52009 there was no input.
52010
cfb12aff 520112004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52012
52013 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52014 the history buffer logic.
52015
6eabba74 520162004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52017
52018 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52019 (FILETYPE_INO_SYMLINK): New macros.
52020 (grub_ext2_find_file): Check if the node is a directory using the
52021 inode stat information instead of using the filetype in the
52022 dirent. Exclude the first character of an absolute symlink.
52023 (grub_ext2_dir): Mask out the filetype part of the mode member of
52024 the inode.
52025
66e19ef8 520262004-05-24 Marco Gerards <metgerards@student.han.nl>
52027
52028 Add support for UFS version 1 and 2. Add support for the minix
52029 filesystem version 1 and 2, both the variants with 14 and 30 long
52030 filenames.
f19dbdb7 52031
66e19ef8 52032 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52033 fs/minix.c.
52034 (grub_emu_SOURCES): Likewise.
52035 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52036 (ufs_mod_SOURCES): New variable.
52037 (ufs_mod_CFLAGS): Likewise.
52038 (minix_mod_SOURCES): Likewise.
52039 (minix_mod_CFLAGS): Likewise.
52040 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52041 fs/minix.c.
52042 (grubof_SOURCES): Likewise.
52043 * fs/ufs.c: New file.
52044 * fs/minix.c: New file.
52045 * include/grub/fs.h (grub_ufs_init): New prototype.
52046 (grub_ufs_fini): Likewise.
52047 (grub_minix_init): Likewise.
52048 (grub_minix_fini): Likewise.
52049 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52050 minix fs.
52051
cc2e748a 520522004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52053
52054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52055 commands/ls.c, commands/terminal.c, commands/boot.c,
52056 commands/cmp.c and commands/cat.c.
52057 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52058
52059 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52060 "env.h"
52061
4b13b216 520622004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52063
52064 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52065 and grub_, respectively. Because the conversion is trivial and
52066 mechanical, I omit the details here. Please refer to the CVS
52067 if you need more information.
52068
6a142551 520692004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52070
52071 * include/pupa: Renamed to ...
52072 * include/grub: ... this.
52073 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52074 * util/i386/pc/grub-mkimage.c: ... this.
52075 * util/i386/pc/pupa-setup.c: Renamed to ...
52076 * util/i386/pc/grub-setup.c: ... this.
52077 * util/pupa-emu.c: Renamed to ...
52078 * util/grub-emu.c: ... this.
52079
e56cdf21 520802004-03-29 Marco Gerards <metgerards@student.han.nl>
52081
52082 Add support for the newworld apple macintosh (PPC). This has been
52083 tested on the powerbook 2000 only. It only adds support for
52084 generic ieee1275 functions, console and disk support. This should
52085 be easy to port to other architectures with support for Open
52086 Firmware.
f19dbdb7 52087
e56cdf21 52088 * configure.ac: Accept the powerpc as host_cpu. In the case of
52089 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52090 specific tests are only executed while building for the i386.
52091 Inverse test for crosscompile.
52092 * genmk.rb (Utility): Allow assembler files.
52093 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52094 * conf/powerpc-ieee1275.rmk: New file.
52095 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52096 * disk/powerpc/ieee1275/partition.c: Likewise.
52097 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52098 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52099 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52100 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52101 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52102 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52103 * include/pupa/powerpc/ieee1275/loader.h
52104 * include/pupa/powerpc/setjmp.h: Likewise.
52105 * include/pupa/powerpc/types.h: Likewise.
52106 * kern/powerpc/ieee1275/init.c: Likewise.
52107 * kern/powerpc/ieee1275/openfw.c: Likewise.
52108 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52109
52110 These files were written by Johan Rydberg
52111 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52112
e56cdf21 52113 * boot/powerpc/ieee1275/cmain.c: New file.
52114 * boot/powerpc/ieee1275/crt0.S: Likewise.
52115 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52116 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52117
8c8cc205 521182004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52119
52120 * Makefile.in: Update copyright.
52121 * genmodsrc.sh: Likewise.
52122 * gensymlist.sh: Likewise.
52123 * term/i386/pc/vga.c: Indent correctly.
52124
52125 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52126 bugreporting address.
52127 * util/i386/pc/pupa-setup.c (usage): Likewise,
52128 (main): Call pupa_ext2_init and pupa_ext2_fini.
52129
f19dbdb7 52130 * fs/fat.c (log2): Renamed to ...
8c8cc205 52131 (fat_log2): ... this.
52132 All callers changed.
52133 * kern/misc.c (memcpy): Alias to pupa_memmove.
52134 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52135 lvalue cast.
52136 * util/console.c (pupa_ncurses_fini): Return 0.
52137
52138 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52139 Move fail label here.
52140 [__GNU__]: Don't warn when using stat.
52141 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52142 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52143 long int. Use strtol instead of strtoul.
f19dbdb7 52144
db1771cf 521452004-03-14 Marco Gerards <metgerards@student.han.nl>
52146
52147 * commands/boot.c: New file.
52148 * commands/cat.c: Likewise.
52149 * commands/cmp.c: Likewise.
52150 * commands/ls.c: Likewise.
52151 * commands/terminal.c: Likewise.
52152 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52153 (pupa_register_command): Changed interface to match the new
52154 argument parser.
52155 (pupa_command_execute): Changed (almost rewritten) so it uses
52156 pupa_split_command. Added support for setting variables using the
52157 syntax `foo=bar'.
52158 (rescue_command): Changed to work with the new argument parser.
52159 (terminal_command): Moved from here to commands/terminal.c.
52160 (set_command): New function.
52161 (unset_command): New function.
52162 (insmod_command): New function.
52163 (rmmod_command): New function.
52164 (lsmod_command): New function.
52165 (pupa_command_init): Don't initialize the command terminal
52166 anymore. Initialize the commands set, unset, insmod, rmmod and
52167 lsmod.
52168 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52169 (kernel_img_HEADERS): Add arg.h and env.h.
52170 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52171 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52172 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52173 normal/arg.c.
52174 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52175 terminal.mod.
52176 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52177 (boot_mod_SOURCES): New variable.
52178 (terminal_mod_SOURCES): Likewise.
52179 (ls_mod_SOURCES): Likewise.
52180 (cmp_mod_SOURCES): Likewise.
52181 (cat_mod_SOURCES): Likewise.
52182
52183 * normal/arg.c: New file.
52184 * kern/env.c: Likewise.
52185 * include/pupa/arg.h: Likewise.
52186 * include/pupa/env.h: Likewise.
52187 * font/manager.c (font_command): Changed to match argument parsing
52188 interface changes.
52189 (PUPA_MOD_INIT): Likewise.
52190 * hello/hello.c (pupa_cmd_hello): Likewise.
52191 (PUPA_MOD_INIT): Likewise.
52192 * include/pupa/disk.h: Include <pupa/device.h>.
52193 (pupa_print_partinfo): New prototype.
52194 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52195 (pupa_dl_get_prefix): Likewise.
52196 * include/pupa/misc.h: Include <pupa/err.h>.
52197 (pupa_isgraph): New prototype.
52198 (pupa_isdigit): Likewise.
52199 (pupa_split_cmdline): Likewise.
52200 * include/pupa/normal.h: Include <pupa/arg.h>.
52201 (pupa_command): Changed the prototype of the member `func' to
52202 match the argument parsing interface. Added member `options'.
52203 (pupa_register_command): Updated to match function.
52204 (pupa_arg_parse): New prototype.
52205 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52206 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52207 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52208 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52209 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52210 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52211 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52212 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52213 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52214 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52215 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52216 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52217 * kern/disk.c: Include <pupa/file.h>.
52218 (pupa_print_partinfo): New function.
52219 * kern/dl.c: Include <pupa/env.h>.
52220 (pupa_dl_dir): Variable removed.
52221 (pupa_dl_load): Use the environment variable `prefix' instead of
52222 the variable pupa_dl_dir.
52223 (pupa_dl_set_prefix): Function removed.
52224 (pupa_dl_get_prefix): Likewise.
52225 * kern/i386/pc/init.c: Include <pupa/env.h>.
52226 (pupa_machine_init): Use the environment variable `prefix' instead of
52227 using pupa_dl_set_prefix to set the prefix.
52228 * kern/main.c: Include <pupa/env.h>.
52229 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52230 using pupa_dl_get_prefix to get the prefix.
52231 * kern/misc.c: Include <pupa/env.h>.
52232 (pupa_isdigit): New function.
52233 (pupa_isgraph): Likewise.
52234 (pupa_ftoa): Likewise.
52235 (pupa_vsprintf): Added support for printing values of the type
52236 `double'. Make it possible to format variable output when using
52237 formatting like `%1.2%f'.
52238 (pupa_split_cmdline): New function.
52239 * kern/rescue.c: Include <pupa/env.h>.
52240 (next_word): Removed function.
52241 (pupa_rescue_cmd_prefix): Likewise.
52242 (pupa_rescue_cmd_set): New function.
52243 (pupa_rescue_cmd_unset): New function.
52244 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52245 split the command line instead of splitting it here. Added
52246 support for setting variables using the syntax `foo=bar'. Don't
52247 initialize the prefix command anymore. Initialized the set and
52248 unset commands.
52249 * normal/cmdline.c: Include <pupa/env.h>.
52250 (pupa_tab_complete): Added prototypes for print_simple_completion,
52251 print_partition_completion, add_completion, iterate_commands,
52252 iterate_dev, iterate_part and iterate_dir. Moved code to print
52253 partition information from here to kern/disk.c.
fe6b695a 52254 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52255 * normal/main.c: Include <pupa/env.h>.
52256 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52257 instead of using pupa_dl_get_prefix to get the prefix.
52258 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52259 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52260 warning.
52261 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52262 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52263 ((unused))' to silence a gcc warning.
52264 (pupa_vga_setcolor): Likewise.
52265 (debug_command): Changed to match argument parsing
52266 interface changes.
52267 * util/pupa-emu.c: Include <pupa/env.h>.
52268 (options): Added 0's for unused fields to silence a gcc warning.
52269 (argp): Likewise.
52270 (main): Use the environment variable `prefix' instead of using
52271 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52272 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52273 and terminal.
52274
52275 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52276 * util/misc.c: Include <malloc.h>.
52277 (pupa_malloc): Rewritten so errors are correctly reported.
52278 (pupa_realloc): Likewise.
52279 (pupa_memalign): Likewise.
52280 (pupa_mm_init_region): Declare unused variables with
52281 `__attribute__ ((unused))' to silence a gcc warning.
52282 * normal/i386/setjmp.S: Remove tab at the end of the file to
52283 silence a gcc warning.
52284 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52285 variables with `__attribute__ ((unused))' to silence a gcc
52286 warning.
52287 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52288 local variable i unsigned to silence a gcc warning.
52289
52290 * kern/term.c: Include <pupa/misc.h>.
52291 (pupa_more_lines): New variable.
52292 (pupa_more): Likewise.
52293 (pupa_putcode): When the pager is active pause at the end of every
52294 screen.
52295 (pupa_set_more): New function.
52296 * include/pupa/term.h (pupa_set_more): New prototype.
52297
52298
3b1139cb 522992004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52300
52301 Now this project is GRUB 2 rather than PUPA. The location of
52302 the CVS repository was moved to GRUB's.
f19dbdb7 52303
3b1139cb 52304 * configure.ac: Use bug-grub as the reporting address.
52305 Use GRUB instead of PUPA.
52306 Change the version number to 1.90.
52307
8367695c 523082004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52309
52310 * genkernsyms.sh: Updated copyright information.
52311 * genmk.rb: Likewise.
52312 * genmodsrc.sh: Likewise.
52313 * gensymlist.sh: Likewise.
52314 * boot/i386/pc/boot.S: Likewise.
52315 * boot/i386/pc/diskboot.S: Likewise.
52316 * disk/i386/pc/biosdisk.c: Likewise.
52317 * disk/i386/pc/partition.c: Likewise.
52318 * font/manager.c: Likewise.
52319 * fs/ext2.c: Likewise.
52320 * fs/fat.c: Likewise.
52321 * include/pupa/boot.h: Likewise.
52322 * include/pupa/device.h: Likewise.
52323 * include/pupa/disk.h: Likewise.
52324 * include/pupa/dl.h: Likewise.
52325 * include/pupa/elf.h: Likewise.
52326 * include/pupa/err.h: Likewise.
52327 * include/pupa/file.h: Likewise.
52328 * include/pupa/font.h: Likewise.
52329 * include/pupa/fs.h: Likewise.
52330 * include/pupa/kernel.h: Likewise.
52331 * include/pupa/loader.h: Likewise.
52332 * include/pupa/misc.h: Likewise.
52333 * include/pupa/mm.h: Likewise.
52334 * include/pupa/net.h: Likewise.
52335 * include/pupa/normal.h: Likewise.
52336 * include/pupa/rescue.h: Likewise.
52337 * include/pupa/setjmp.h: Likewise.
52338 * include/pupa/symbol.h: Likewise.
52339 * include/pupa/term.h: Likewise.
52340 * include/pupa/types.h: Likewise.
52341 * include/pupa/i386/setjmp.h: Likewise.
52342 * include/pupa/i386/types.h: Likewise.
52343 * include/pupa/i386/pc/biosdisk.h: Likewise.
52344 * include/pupa/i386/pc/boot.h: Likewise.
52345 * include/pupa/i386/pc/console.h: Likewise.
52346 * include/pupa/i386/pc/init.h: Likewise.
52347 * include/pupa/i386/pc/kernel.h: Likewise.
52348 * include/pupa/i386/pc/linux.h: Likewise.
52349 * include/pupa/i386/pc/loader.h: Likewise.
52350 * include/pupa/i386/pc/memory.h: Likewise.
52351 * include/pupa/i386/pc/multiboot.h: Likewise.
52352 * include/pupa/i386/pc/partition.h: Likewise.
52353 * include/pupa/i386/pc/time.h: Likewise.
52354 * include/pupa/i386/pc/vga.h: Likewise.
52355 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52356 * include/pupa/util/getroot.h: Likewise.
52357 * include/pupa/util/misc.h: Likewise.
52358 * include/pupa/util/resolve.h: Likewise.
52359 * kern/device.c: Likewise.
52360 * kern/disk.c: Likewise.
52361 * kern/dl.c: Likewise.
52362 * kern/err.c: Likewise.
52363 * kern/file.c: Likewise.
52364 * kern/fs.c: Likewise.
52365 * kern/loader.c: Likewise.
52366 * kern/main.c: Likewise.
52367 * kern/misc.c: Likewise.
52368 * kern/mm.c: Likewise.
52369 * kern/rescue.c: Likewise.
52370 * kern/term.c: Likewise.
52371 * kern/i386/dl.c: Likewise.
52372 * kern/i386/pc/init.c: Likewise.
52373 * kern/i386/pc/lzo1x.S: Likewise.
52374 * kern/i386/pc/startup.S: Likewise.
52375 * loader/i386/pc/chainloader.c: Likewise.
52376 * loader/i386/pc/linux.c: Likewise.
52377 * loader/i386/pc/multiboot.c: Likewise.
52378 * normal/cmdline.c: Likewise.
52379 * normal/command.c: Likewise.
52380 * normal/main.c: Likewise.
52381 * normal/menu.c: Likewise.
52382 * normal/i386/setjmp.S: Likewise.
52383 * term/i386/pc/console.c: Likewise.
52384 * term/i386/pc/vga.c: Likewise.
52385 * util/console.c: Likewise.
52386 * util/genmoddep.c: Likewise.
52387 * util/misc.c: Likewise.
52388 * util/pupa-emu.c: Likewise.
52389 * util/resolve.c: Likewise.
52390 * util/unifont2pff.rb: Likewise.
52391 * util/i386/pc/biosdisk.c: Likewise.
52392 * util/i386/pc/getroot.c: Likewise.
52393 * util/i386/pc/pupa-mkimage.c: Likewise.
52394 * util/i386/pc/pupa-setup.c: Likewise.
52395
e6eced71 523962004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52397
52398 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52399 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52400 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52401 reading and reset it after reading.
52402 (pupa_ext2_close): Return PUPA_ERR_NONE.
52403
52404 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52405 Correct value.
52406 (struct linux_kernel_header): Add kernel_version and
52407 initrd_addr_max.
52408 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52409 pupa_file_read succeeds.
52410 (pupa_rescue_cmd_initrd): Implement.
52411
5aded270 524122003-12-03 Marco Gerards <metgerards@student.han.nl>
52413
52414 * fs/ext2.c (pupa_ext2_label): New function.
52415 (pupa_ext2_fs): Added label.
52416 * fs/fat.c (pupa_fat_label): New function.
52417 (pupa_fat_fs): Added label.
52418 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52419
52420 * kern/misc.c (pupa_strndup): New function.
52421 * include/pupa/misc.h (pupa_strndup): New prototype.
52422
52423 * include/pupa/normal.h: Include <pupa/err.h>.
52424 (pupa_set_history): New prototype.
52425 (pupa_iterate_commands): New prototype.
52426 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52427 <pupa/disk.h>, <pupa/file.h>.
52428 (hist_size): New variable.
52429 (hist_lines): Likewise.
52430 (hist_end): Likewise.
52431 (hist_used): Likewise.
52432 (pupa_set_history): New function.
52433 (pupa_history_get): Likewise.
52434 (pupa_history_add): Likewise.
52435 (pupa_history_replace): Likewise.
52436 (pupa_tab_complete): Likewise.
52437 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52438 completion shows partitionnames while completing partitions, this
52439 feature was suggested by Jeff Bailey.
52440 * normal/command.c (pupa_iterate_commands): New function.
52441 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52442 (pupa_normal_init): Initialize history buffer.
52443 (PUPA_MOD_INIT): Likewise.
52444 (pupa_normal_fini): Free the history buffer.
52445 (PUPA_MOD_FINI): Likewise.
52446
52447 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52448 key.
52449
52450 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52451 * configure.ac [i386]: Check for regparam bug.
52452 (NESTED_FUNC_ATTR) [! i386]: Defined.
52453
1f7315a3 524542003-11-17 Marco Gerards <metgerards@student.han.nl>
52455
52456 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52457 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52458 (pupa_emu_SOURCES): New variable.
52459 (pupa_emu_LDFLAGS): Likewise.
52460 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52461 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52462 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52463 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52464 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52465 (pupa_jmp_buf): New typedef.
52466 (pupa_setjmp) [PUPA_UTIL]: New macro.
52467 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52468 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52469 (pupa_refresh): New prototype.
52470 * include/pupa/util/getroot.h: New file.
52471 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52472 it.
52473 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52474 (pupa_rescue_cmd_cat): Likewise.
52475 (pupa_rescue_cmd_ls): Likewise.
52476 (pupa_rescue_cmd_testload): Likewise.
52477 (pupa_rescue_cmd_lsmod): Likewise.
52478 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52479 * normal/menu.c (run_menu): Likewise.
52480 * kern/term.c (pupa_cls): Likewise.
52481 (pupa_refresh): New function.
52482 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52483 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52484 * util/console.c: New file.
f19dbdb7 52485
1f7315a3 52486 * util/i386/pc/getroot.c: New file.
52487 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52488 (pupa_putchar): New function.
52489 (pupa_refresh): Likewise.
52490 (xgetcwd): Function moved to ...
52491 (strip_extra_slashes): Likewise.
52492 (get_prefix): Likewise.
f19dbdb7 52493 * util/i386/pc/getroot.c: ... here.
1f7315a3 52494 (find_root_device): Function moved and renamed to...
52495 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52496 Changed all callers.
52497 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52498 and renamed to...
52499 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52500 Changed all callers.
52501 * util/misc.c (pupa_memalign): New function.
52502 (pupa_mm_init_region): Likewise.
52503 (pupa_register_exported_symbols): Likewise.
52504 (pupa_putchar): Function removed.
52505 * util/pupa-emu.c: New file.
52506
9a5c1ade 525072003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52508
52509 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52510 (_multiboot_mod_SOURCES): New variable.
52511 (_multiboot_mod_CFLAGS): Likewise.
52512 * loader/i386/pc/multiboot.c: New file.
52513 * include/pupa/i386/pc/multiboot.h: Likewise.
52514 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52515 (pupa_multiboot_real_boot): New function.
52516 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52517 (pupa_multiboot_real_boot): New prototype.
52518 (pupa_rescue_cmd_multiboot): Likewise
52519 (pupa_rescue_cmd_module): Likewise.
52520
52521 * kern/loader.c (pupa_loader_set): Continue when
52522 pupa_loader_unload_func() fails.
52523 (pupa_loader_unset): New function.
52524 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52525
52526 * kern/misc.c (pupa_stpcpy): New function.
52527 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52528
8e72a9c0 525292003-11-12 Marco Gerards <metgerards@student.han.nl>
52530
52531 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52532 for available extensions.
52533
52534 * include/pupa/i386/pc/time.h: New file.
52535 * kern/disk.c: Include <pupa/machine/time.h>.
52536 (PUPA_CACHE_TIMEOUT): New macro.
52537 (pupa_last_time): New variable.
52538 (pupa_disk_open): Flush the cache when there was a timeout.
52539 (pupa_disk_close): Reset the timer.
52540 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52541 pupa_currticks.
52542 * util/misc.c: Include <sys/times.h>
52543 (pupa_get_rtc): New function.
52544
c4adbd32 525452003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52546
52547 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52548 as blocks.
52549 (pupa_ext2_get_file_block): Use blocks member.
52550
52551 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52552 first block. Return -1 instead of pupa_errno on error.
52553
bfd30f06 525542003-10-27 Marco Gerards <metgerards@student.han.nl>
52555
52556 * README: In the pupa-mkimage example use _chain instead of chain
52557 and ext2 instead of fat.
52558 * TODO: Replace ext2fs with jfs as an example. Add an item for
52559 adding journal playback for ext2fs.
52560 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52561 (pkgdata_MODULES): Added ext2.mod.
52562 (ext2_mod_SOURCES): New variable.
52563 (ext2_mod_CFLAGS): Likewise.
52564 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52565 * include/pupa/misc.h (pupa_strncpy): New prototype.
52566 (pupa_strcat): Likewise.
52567 (pupa_strncmp): Likewise.
52568 * kern/misc.c (pupa_strcat): Enable function.
52569 (pupa_strncpy): New function.
52570 (pupa_strncmp): Likewise.
52571 * fs/ext2.c: New file.
f19dbdb7 52572
bfd30f06 52573 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52574 when the read failed before retrying.
52575 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52576 (_FILE_OFFSET_BITS): Likewise.
52577 * configure.ac: Added AC_SYS_LARGEFILE.
52578
98d15063 525792003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52580
52581 * genmk.rb (PModule#rule): Make sure to get only symbol names
52582 from the output of nm.
59cad637 52583 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52584
18d9c7cd 525852003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52586
52587 I forgot to check in these changes for a long time. This adds
52588 incomplete support for VGA console, and this is still very
52589 buggy. Also, a lot of consideration is required for I18N,
52590 UNICODE, and VGA font issues. Therefore, assume that this is
52591 such that "better than nothing".
f19dbdb7 52592
18d9c7cd 52593 * font/manager.c: New file.
52594 * include/pupa/font.h: Likewise.
52595 * include/pupa/i386/pc/vga.h: Likewise.
52596 * term/i386/pc/vga.c: Likewise.
52597 * util/unifont2pff.rb: Likewise.
52598
52599 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52600 (pkgdata_MODULES): Added vga.mod and font.mod.
52601 (vga_mod_SOURCES): New variables.
52602 (vga_mod_CFLAGS): Likewise.
52603 (font_mod_SOURCES): Likewise.
52604 (font_mod_CFLAGS): Likewise.
52605
52606 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52607
52608 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52609 (struct pupa_term): Added init and fini.
18d9c7cd 52610 Changed the argument of putchar to pupa_uint32_t.
52611
52612 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52613 (pupa_console_real_putchar): New prototype.
52614 (pupa_console_putchar): Removed.
52615 (pupa_console_checkkey): Exported.
52616 (pupa_console_getkey): Likewise.
52617
52618 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52619 characters.
52620
52621 * kern/term.c (pupa_term_set_current): Rewritten.
52622 (pupa_putchar): Likewise.
52623 (pupa_putcode): New function.
52624
52625 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52626 (pupa_console_real_putchar): ... this.
52627 (pupa_vga_set_mode): New function.
52628 (pupa_vga_get_font): Likewise.
52629
52630 * normal/command.c: Include pupa/term.h.
52631 (terminal_command): New function.
52632 (pupa_command_init): Register the command "terminal".
52633
52634 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52635 (DISP_UP): Likewise.
52636 (DISP_RIGHT): Likewise.
52637 (DISP_DOWN): Likewise.
52638 (DISP_HLINE): Likewise.
52639 (DISP_VLINE): Likewise.
52640 (DISP_UL): Likewise.
52641 (DISP_UR): Likewise.
52642 (DISP_LL): Likewise.
52643 (DISP_LR): Likewise.
52644
52645 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52646
977329f5 526472003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52648
52649 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52650 FIX. Reverse the path_list.
52651
52652 * include/pupa/normal.h: Export pupa_register_command and
52653 pupa_unregister_command.
52654
52655 * hello/hello.c (pupa_cmd_hello): New module.
52656 * conf/i386-pc.rmk: Added hello.mod.
52657
1f5ab428 526582003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52659
52660 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52661
1f5ab428 52662 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52663 (compress_kernel): New variable.
52664 (generate_image): Heavily modified to support compressing a
52665 large part of the core image.
52666
52667 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52668 leak.
52669 (pupa_util_load_image): New function.
52670
52671 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52672 (pupa_compressed_size): New variable.
52673 (codestart): Enable Gate A20 here.
52674 Decompress the compressed part of the core image.
52675 Rearrange the code to put functions and variables which are
52676 required for initialization in the non-compressed part.
52677 Include lzo1x.S.
52678
52679 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52680 here.
52681
52682 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52683
f19dbdb7 52684 * include/pupa/i386/pc/kernel.h
1f5ab428 52685 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52686 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52687 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52688 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52689 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52690
52691 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52692
52693 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52694 (Utility#rule): Likewise.
52695
52696 * configure.ac: Check if LZO is available.
52697
ce5bf700 526982003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52699
52700 * include/pupa/normal.h: New file.
52701 * include/pupa/setjmp.h: Likewise.
52702 * include/pupa/i386/setjmp.h: Likewise.
52703 * normal/cmdline.c: Likewise.
52704 * normal/command.c: Likewise.
52705 * normal/main.c: Likewise.
52706 * normal/menu.c: Likewise.
52707 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52708
ce5bf700 52709 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52710 (pupa_rescue_cmd_initrd): Likewise.
52711
52712 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52713 Likewise.
52714
52715 * kern/i386/pc/startup.S (translation_table): New variable.
52716 (translate_keycode): New function.
52717 (pupa_console_getkey): Call translate_keycode.
52718
52719 * kern/rescue.c (attempt_normal_mode): New function.
52720 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52721 it failed, print a message.
52722
52723 * kern/mm.c (pupa_real_malloc): Print more information when a
52724 free magic is broken.
52725 (pupa_free): If the first free header is not free actually, set
52726 it to P.
52727
52728 * kern/main.c (pupa_load_normal_mode): Just load the module
52729 "normal".
52730 (pupa_main): Don't print the message
52731 "Entering into rescue mode..." here.
52732
52733 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52734 Declared.
52735 (pupa_rescue_cmd_initrd): Likewise.
52736 (pupa_rescue_cmd_initrd): Likewise.
52737
52738 * include/pupa/symbol.h (FUNCTION): Specify the type.
52739 (VARIABLE): Likewise.
52740
52741 * include/pupa/err.h (pupa_err_t): Added
52742 PUPA_ERR_UNKNOWN_COMMAND.
52743
52744 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52745 (pupa_dl_get_prefix): Likewise.
52746
52747 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52748 Added _chain.mod and _linux.mod instead of chain.mod and
52749 linux.mod.
52750 (chain_mod_SOURCES): Renamed to ...
52751 (_chain_mod_SOURCES): ... this.
52752 (chain_mod_CFLAGS): Renamed to ...
52753 (_chain_mod_CFLAGS): ... this.
52754 (linux_mod_SOURCES): Renamed to ...
52755 (_linux_mod_SOURCES): ... this.
52756 (linux_mod_CFLAGS): Renamed to ...
52757 (_linux_mod_CFLAGS): ... this.
52758 (normal_mod_SOURCES): New variable.
52759 (normal_mod_CFLAGS): Likewise.
52760 (normal_mod_ASFLAGS): Likewise.
52761
527622003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52763
52764 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52765 possible.
52766
fe6b695a 52767 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52768 recursively.
52769 (pupa_dl_unref): Unrefer depending modules recursively.
52770 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52771 a module is unloaded before one depending on that module is
52772 unloaded.
52773 (pupa_dl_unload): Unload depending modules explicitly,
52774 if possible.
52775
c04da074 527762003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52777
52778 * include/pupa/i386/pc/linux.h: New file.
52779 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 52780
c04da074 52781 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52782 Removed.
52783 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52784 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52785 of PUPA_CHAINLOADER_BOOT_SECTOR.
52786
52787 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52788 (pupa_linux_prot_size): New variable.
52789 (pupa_linux_tmp_addr): Likewise.
52790 (pupa_linux_real_addr): Likewise.
52791 (pupa_linux_boot_zimage): New function.
52792 (pupa_linux_boot_bzimage): Likewise.
52793
52794 * kern/i386/pc/init.c (struct mem_region): New structure.
52795 (MAX_REGIONS): New macro.
52796 (mem_regions): New variable.
52797 (num_regions): Likewise.
52798 (pupa_os_area_addr): Likewise.
52799 (pupa_os_area_size): Likewise.
52800 (pupa_lower_mem): Likewise.
52801 (pupa_upper_mem): Likewise.
52802 (add_mem_region): New function.
52803 (compact_mem_regions): Likewise.
52804 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52805 the size of the conventional memory and that of so-called upper
52806 memory (before the first memory hole).
52807 Instead of adding each found region to free memory, use
52808 add_mem_region and add them after removing overlaps.
52809 Also, add only 1/4 of the upper memory to free memory. The rest
52810 is used for loading OS images. Maybe this is ad hoc, but this
52811 makes it much easier to relocate OS images when booting.
52812
52813 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52814 (pupa_enter_rescue_mode): Don't register initrd and module.
52815
52816 * kern/mm.c: Include pupa/dl.h.
52817
52818 * kern/main.c: Include pupa/file.h and pupa/device.h.
52819
52820 * kern/loader.c (pupa_loader_load_module_func): Removed.
52821 (pupa_loader_load_module): Likewise.
52822
52823 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52824 ``.o''.
52825
52826 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52827 (pupa_linux_tmp_addr): Likewise.
52828 (pupa_linux_real_addr): Likewise.
52829 (pupa_linux_boot_zimage): Likewise.
52830 (pupa_linux_boot_bzimage): Likewise.
52831
52832 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52833 (pupa_upper_mem): Likewise.
52834 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52835 module is too dangerous.
52836
52837 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52838 (pupa_os_area_size): Likewise.
52839 (pupa_loader_set): Remove the first argument. Loader doesn't
52840 manage modules or initrd any longer.
52841 (pupa_loader_load_module): Removed.
52842
52843 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52844 (linux_mod_SOURCES): New variable.
52845 (linux_mod_CFLAGS): Likewise.
52846
a13f9237 528472003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52848
52849 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52850 the length of a blocklist correctly.
52851
52852 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52853 Use ioctl only if the OS file is a block device.
52854 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52855 not very useful for normal files.
52856
52857 * kern/main.c (pupa_set_root_dev): New function.
52858 (pupa_load_normal_mode): Likewise.
52859 (pupa_main): Call those above.
52860
52861 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52862 pupa_uint16_t.
52863
52864 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52865
a5ffe966 528662003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52867
52868 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52869 (setup): Configure the installed partition information and the
52870 dl prefix.
52871
52872 * loader/i386/pc/chainloader.c (my_mod): New variable.
52873 (pupa_chainloader_unload): New function.
52874 (pupa_rescue_cmd_chainloader): Refer itself.
52875 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52876
52877 * kern/i386/pc/startup.S (install_partition): Removed.
52878 (version_string): Likewise.
52879 (config_file): Likewise.
52880 (pupa_install_dos_part): New variable.
52881 (pupa_install_bsd_part): Likewise.
52882 (pupa_prefix): Likewise.
52883 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52884
52885 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52886 and pupa/misc.h.
52887 (make_install_device): New function.
52888 (pupa_machine_init): Set the dl prefix.
52889
52890 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52891 (buf): Renamed to ...
52892 (linebuf): ... this.
52893 (pupa_rescue_cmd_prefix): New function.
52894 (pupa_rescue_cmd_insmod): Likewise.
52895 (pupa_rescue_cmd_rmmod): Likewise.
52896 (pupa_rescue_cmd_lsmod): Likewise.
52897 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52898 rmmod and lsmod.
52899
52900 * kern/mm.c (pupa_memalign): If failed even after invalidating
52901 disk caches, unload unneeded modules and retry.
52902
52903 * kern/misc.c (pupa_memmove): New function.
52904 (pupa_memcpy): Removed.
52905 (pupa_strcpy): New function.
52906 (pupa_itoa): Made static.
52907
52908 * kern/dl.c (pupa_dl_iterate): New function.
52909 (pupa_dl_ref): Likewise.
52910 (pupa_dl_unref): Likewise.
52911 (pupa_dl_unload): Return if succeeded or not.
52912 (pupa_dl_unload_unneeded): New function.
52913 (pupa_dl_unload_all): Likewise.
52914 (pupa_dl_init): Renamed to ...
52915 (pupa_dl_set_prefix): ... this.
52916 (pupa_dl_get_prefix): New function.
52917
52918 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
52919 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
52920 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52921 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52922 (pupa_install_dos_part): Declared.
52923 (pupa_install_bsd_part): Likewise.
52924 (pupa_prefix): Likewise.
52925 (pupa_boot_drive): Likewise.
52926
52927 * include/pupa/types.h: Fix a typo.
52928
52929 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
52930 pupa_memmove.
52931 (pupa_memmove): Declared.
52932 (pupa_strcpy): Likewise.
52933
52934 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
52935 pupa_mod_init takes one argument, its own module.
52936 (pupa_dl_unload_unneeded): Declared.
52937 (pupa_dl_unload_all): Likewise.
52938 (pupa_dl_ref): Likewise.
52939 (pupa_dl_unref): Likewise.
52940 (pupa_dl_iterate): Likewise.
52941 (pupa_dl_init): Renamed to ...
52942 (pupa_dl_set_prefix): ... this.
52943 (pupa_dl_get_prefix): Declared.
52944
52945 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 52946 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 52947 unloaded.
52948 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
52949 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
52950
52951 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
52952 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
52953
012d7999 529542003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52955
52956 * util/i386/pc/pupa-setup.c (setup): Define the internal
52957 function find_first_partition_start at the top level, because GCC
52958 3.0.x cannot compile internal functions in deeper scopes
52959 correctly.
52960 (find_root_device): Use lstat instead of stat.
52961 Don't follow symbolic links.
52962 Fix the path-constructing code.
52963
52964 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
52965 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
52966 by a BLKGETSIZE ioctl first, because block devices don't fill
52967 the member st_mode of the structure stat on Linux.
52968 [__linux__] (linux_find_partition): Use a temporary buffer
52969 REAL_DEV for the working space. Copy it to DEV before returning.
52970 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
52971 buffer cache consistent.
52972 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
52973 strncmp. The previous value was merely wrong.
52974 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
52975
52976 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
52977 FAT size is 12. The previous value was merely wrong.
52978
52979 * kern/main.c (pupa_main): Don't split the starting message from
52980 newlines.
52981
52982 * kern/term.c (pupa_putchar): Put CR after LF instead of before
52983 LF, because BIOS goes crazy about character attributes in this
52984 case.
52985
1cc73a62 529862003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52987
52988 * include/i386/pc/util/biosdisk.h: New file.
52989 * util/i386/pc/biosdisk.c: Likewise.
52990 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 52991
1cc73a62 52992 * Makefile.in (INCLUDE_DISTFILES): Added
52993 include/pupa/i386/pc/util/biosdisk.h.
52994 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
52995 directory util/i386/pc.
52996 (install-local): Added a rule for sbin_UTILITIES.
52997 (uninstall): Likewise.
52998
52999 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53000
53001 * util/misc.c (xrealloc): New function.
53002 (pupa_malloc): Likewise.
53003 (pupa_free): Likewise.
53004 (pupa_realloc): Likewise.
53005 (pupa_stop): Likewise.
53006 (pupa_putchar): Likewise.
53007
53008 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53009
53010 * include/pupa/util/misc.h (xrealloc): Declared.
53011
53012 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53013 macro.
53014 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53015 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53016
53017 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53018 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53019
53020 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53021 way should be implemented.
53022 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53023
53024 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53025 the size of NAME for safety.
53026 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53027 0x88.
53028
53029 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53030 (pupa_setup_SOURCES): Likewise.
53031
53032 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53033
08b70fe8 530342002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53035
53036 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53037 bunch of pushl's from pusha, because this destroys the return
53038 value.
53039
62ddcc8f 530402002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53041
53042 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53043 This means that any missing prototypes could be fatal. Also, you
53044 must take care when writing assembly code. See the comments at
53045 the beginning of startup.S, for more details.
f19dbdb7 53046
62ddcc8f 53047 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53048 compilation mechanism.
53049 (pupa_chainloader_real_boot): Likewise.
53050 (pupa_biosdisk_rw_int13_extensions): Likewise.
53051 (pupa_biosdisk_rw_standard): Likewise.
53052 (pupa_biosdisk_check_int13_extensions): Likewise.
53053 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53054 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53055 (pupa_get_memsize): Likewise.
53056 (pupa_get_mmap_entry): Likewise.
53057 (pupa_console_putchar): Likewise.
53058 (pupa_console_setcursor): Likewise.
53059 (pupa_getrtsecs): Use pushl instead of push.
53060
53061 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53062 memory instead of the stack for a mmap entry, because some
53063 BIOSes may ignore the maximum size and overflow.
53064
53065 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53066
53067 * genmk.rb (PModule#rule): Compile automatically generated
53068 sources with module-specific CFLAGS as well as other sources.
53069
9962ed99 530702002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53071
53072 * configure.ac: Check ld.
53073 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53074 respectively, before checking endianness and sizes.
53075
53076 * Makefile.in (LD): New variable.
f19dbdb7 53077
abdfc3c5 530782002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53079
53080 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53081
6a161fa9 530822002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53083
53084 * Changelog: New file.
53085